{"version":3,"sources":["./src/app/services/services-utils/callback-models/enums/code.enum.ts","./src/app/services/akita/template-schema/template.facade.ts","./src/app/services/akita/base/base.store.ts","./src/app/services/akita/dynamic-content-schema/dynamic-content.service.ts","./src/app/shared/menus/left-menu/left-menu.component.ts","./src/app/shared/field/pipes/get-menu-selected-children-pipe.ts","./src/app/services/akita/page-category-schema/page-category.store.ts","./src/app/services/akita/article-schema/article.query.ts","./src/app/shared/menus/menu/menu.component.html","./src/app/services/akita/page-schema/page.store.ts","./src/app/tools/validation.tool.ts","./src/app/services/akita/menu-item-schema/menu-item.dto.ts","./src/app/services/akita/asset-schema/asset.model.ts","./src/app/services/squidex/services/app-creation.service.ts","./src/app/services/akita/template-schema/template.model.ts","./src/app/services/akita/article-type-schema/article-type.facade.ts","./src/app/shared/menus/menu/menu.component.css","./src/app/services/akita/page-content-schema/page-content.model.ts","./src/app/shared/menus/dynamic-left-menu/dynamic-left-menu.component.ts","./src/app/services/akita/menu-item-schema/menu-item.model.ts","./src/app/shared/menus/top-menu/top-menu.component.html","./src/app/services/akita/claim-schema/claim.store.ts","./src/app/services/akita/language-schema/language.store.ts","./src/app/layout/private/private.component.ts","./src/app/services/akita/section-schema/section.query.ts","./src/app/services/akita/resource-schema/resource.query.ts","./src/app/services/akita/dynamic-schema/dynamic-schema.facade.ts","./src/app/services/akita/base/filter.pagination.ts","./src/app/shared/form-group/form-group-mapper.tool.ts","./src/app/shared/menus/menu-header/menu-header.component.html","./src/app/services/akita/base/base.query.ts","./src/app/models/app-token.ts","./src/app/app-config.provider.ts","./src/app/shared/field-validation/field-validation.component.css","./src/app/services/general/page-title.service.ts","./src/app/shared/field-validation/field-validation.component.ts","./src/app/shared/content/contents-listing/contents-listing.component.ts","./src/app/shared/menus/side-bar/side-bar.component.html","./src/app/services/akita/dynamic-schema/dynamic-schema.query.ts","./src/app/services/akita/site-setting-schema/site-setting.query.ts","./src/app/services/akita/schema-metadata-schema/schema-metadata.query.ts","./src/app/shared/field/upload-field/upload-field.component.html","./src/app/tools/index.ts","./src/app/shared/field-reference-editor/FieldReferenceModel.model.ts","./src/app/services/squidex/models/field-property.model.ts","./src/app/services/akita/layout-schema/layout.facade.ts","./src/app/services/akita/site-setting-schema/site-setting.facade.ts","./src/app/services/akita/dynamic-schema.factory.ts","./src/app/shared/field/tools/fields.tool.ts","./src/app/services/akita/dynamic-content-schema.factory.ts","./src/app/services/akita/schema-metadata-schema/schema-metadata.service.ts","./src/app/shared/menus/assets-left-menu/assets-left-menu.component.html","./src/app/tools/squidex.tool.ts","./src/app/pages/page/page.component.scss","./src/app/shared/field/pipes/get-menu-show-minus-icon-pipe.ts","./src/app/services/akita/page-content-schema/page-content.service.ts","./src/app/app-token.service.ts","./src/app/shared/menus/side-left-bar/side-left-bar.component.css","./src/environments/environment.ts","./src/app/shared/footer/footer-main.component.ts","./src/app/services/akita/section-schema/section.facade.ts","./src/app/services/akita/menu-item-schema/menu-item.facade.ts","./src/app/services/akita/menu-item-schema/menu-item.service.ts","./src/app/pages/pages/pages.component.ts","./src/app/shared/content/contents-listing/contents-listing.component.css","./src/app/shared/field/pipes/get-menu-label.pipe.ts","./src/app/services/akita/resource-schema/resource.facade.ts","./src/app/services/akita/resource-schema/resource.store.ts","./src/app/shared/field/upload-field/upload-field.component.css","./src/app/services/akita/resource-schema/resource.model.ts","./src/app/shared/field-reference-editor/field-reference-editor.component.css","./src/app/shared/header/header-main.component.ts","./src/app/services/squidex/data-parser.ts","./src/app/services/general/ui-notification/ui-notification.service.ts","./src/app/services/akita/article-schema/article.facade.ts","./src/app/pages/advanced-page/advanced-page.component.scss","./src/app/services/akita/resource-schema/resource.service.ts","./src/app/shared/field/tools/field-type.enum.ts","./src/app/services/akita/page-schema/page.query.ts","./src/app/shared/field/pipes/get-culture-name.pipe.ts","./src/app/shared/menus/menu-header/menu-header.component.ts","./src/app/shared/monaco-liquid-editor/monaco-liquid-editor.component.css","./src/app/shared/content/content-edition/pipes/get-validation-msgs.pipe.ts","./src/app/shared/field/pipes/get-localized-field-control-name.pipe.ts","./src/app/shared/menus/menu/menu-item/menu-item.component.html","./src/app/shared/monaco-liquid-editor/monaco-liquid-editor.component.html","./src/app/services/squidex/models/content.model.ts","./src/app/services/squidex/index.ts","./src/app/services/akita/article-type-schema/article-type.query.ts","./src/app/pages/pages/pages.component.css","./src/app/services/akita/page-category-schema/page-category.model.ts","./src/app/shared/menus/side-left-bar/side-left-bar.component.html","./src/app/services/squidex/models/role.model.ts","./src/app/services/general/form-validations/form-validations.service.ts","./src/app/pages/advanced-page/schema-page/schema-page.component.css","./src/app/services/general/persistence-storage/persistence-storage.service.ts","./src/app/services/akita/article-type-schema/article-type.service.ts","./src/app/services/squidex/models/schema-property.model.ts","./src/app/layout/public/public.component.ts","./src/app/services/akita/menu-schema/menu.store.ts","./src/app/shared/menus/top-menu/top-menu.component.ts","./src/app/services/akita/page-category-schema/page-category.query.ts","./src/app/shared/menus/menu-header/menu-header.component.css","./src/app/services/akita/dynamic-content-schema/dynamic-content.facade.ts","./src/app/shared/menus/side-bar/side-bar.component.ts","./src/app/services/akita/asset-directory-schema/asset-directory.model.ts","./src/app/shared/ngx-file-drop/ngx-file-drop.module.ts","./src/app/shared/content/content-edition/content-edition.component.html","./src/app/services/akita/base/base.facade.ts","./src/app/services/squidex/models/asset.model.ts","./src/app/services/akita/article-schema/article.store.ts","./src/app/shared/spinner/spinner.component.scss","./src/app/services/akita/page-schema/page.model.ts","./src/app/shared/index.ts","./src/app/services/akita/menu-schema/menu.model.ts","./src/app/services/akita/user-schema/user.query.ts","./src/app/shared/field/field-control.component.css","./src/app/services/akita/article-category-schema/article-category.query.ts","./src/app/services/squidex/models/schema.model.ts","./src/app/services/akita/site-setting-schema/site-setting.model.ts","./src/app/services/squidex/services/schema.service.ts","./src/app/services/akita/dynamic-content-schema/dynamic-content.store.ts","./src/app/shared/footer/footer-main.component.html","./src/app/services/squidex/models/schema-script.model.ts","./src/app/services/general/auth/authentication.service.ts","./src/app/services/squidex/services/content.service.ts","./src/app/shared/menus/menu/menu-item/menu-item.component.ts","./src/app/services/akita/asset-schema/asset.store.ts","./src/app/shared/menus/menu/menu.component.ts","./src/app/shared/menus/side-bar/side-bar.component.css","./src/app/shared/shared.module.ts","./src/app/services/akita/layout-schema/layout.query.ts","./src/app/services/general/index.ts","./src/app/services/akita/language-schema/language.facade.ts","./src/app/services/akita/asset-directory-schema/asset-directory.store.ts","./src/app/pages/advanced-page/advanced-page.component.html","./src/app/shared/field/pipes/get-value.pipe.ts","./src/app/services/akita/asset-directory-schema/asset-directory.facade.ts","./src/app/services/akita/application-user-schema/application-user.service.ts","./src/app/shared/field/pipes/get-menu-disabled-pipe.ts","./src/app/shared/spinner/spinner.component.html","./src/app/services/squidex/models/schedule-Job.model.ts","./src/app/shared/content/contents-listing/contents-listing.component.html","./src/app/shared/menus/dynamic-left-menu/dynamic-left-menu.component.css","./src/app/services/akita/language-schema/language.query.ts","./src/app/app.component.ts","./src/app/pages/contents/contents.component.css","./src/app/services/akita/user-schema/user.model.ts","./src/app/services/squidex/services/default-field.service.ts","./src/app/shared/field-reference-editor/field-reference-editor.component.ts","./src/app/services/akita/schema-metadata-schema/schema-metadata.model.ts","./src/app/services/squidex/factories/roles.factory.ts","./src/app/services/akita/site-setting-schema/site-setting.service.ts","./src/app/shared/menus/assets-left-menu/assets-left-menu.component.css","./src/app/shared/spinner/spinner.service.ts","./src/app/services/akita/template-schema/template.store.ts","./src/app/services/akita/application-user-schema/application-user.model.ts","./src/app/services/akita/language-schema/language.service.ts","./src/app/services/akita/asset-schema/asset.query.ts","./src/app/services/akita/article-category-schema/article-category.model.ts","./src/app/app.component.html","./src/app/services/akita/schema-page-schema/schema-page.query.ts","./src/app/services/akita/page-content-schema/page-content.store.ts","./src/app/services/akita/page-category-schema/page-category.facade.ts","./src/app/shared/field/pipes/form-group-get-localized.pipe.ts","./src/app/services/akita/site-setting-schema/site-setting.store.ts","./src/app/services/akita/claim-schema/claim.facade.ts","./src/app/services/akita/section-schema/section.service.ts","./src/app/app.module.ts","./src/app/shared/spinner/spinner.module.ts","./src/app/services/akita/schema-page-schema/schema-page.store.ts","./src/app/services/akita/layout-schema/layout.service.ts","./src/app/services/akita/article-type-schema/article-type.model.ts","./src/app/shared/pipes/language/is-default-language.pipe.ts","./src/app/shared/field/pipes/form-group-get.pipe.ts","./src/app/pages/page/page.component.ts","./src/app/services/akita/base/base.service.ts","./src/app/services/akita/schema-page-schema/schema-page.model.ts","./src/app/services/akita/claim-schema/claim.service.ts","./src/app/services/akita/page-schema/page.facade.ts","./src/app/services/akita/base/enum.ts","./src/app/services/akita/page-type/page-type.query.ts","./src/$_lazy_route_resource lazy namespace object","./src/environments/environment.prod.ts","./src/app/services/squidex/services/asset.service.ts","./src/app/tools/string.tool.ts","./src/app/services/akita/schema-page-schema/schema-page.service.ts","./src/app/shared/ngx-file-drop/ngx-file-drop.component.scss","./src/app/shared/field/pipes/get-menu-show-plus-icon-pipe.ts","./src/app/shared/monaco-liquid-editor/monaco-liquid-editor.module.ts","./src/app/services/akita/article-type-schema/article-type.store.ts","./src/app/shared/menus/dynamic-left-menu/dynamic-left-menu.component.html","./src/app/services/akita/application-user-schema/application-user.facade.ts","./src/app/shared/field/pipes/get-date-time-value.pipe.ts","./src/app/shared/field/tools/field-reference-content.service.ts","./src/app/shared/spinner/spinner.component.ts","./src/app/shared/content/content-edition/content-edition.component.ts","./src/app/services/akita/article-category-schema/article-category.facade.ts","./src/app/base/base-component.component.ts","./src/app/services/squidex/models/content-list.model.ts","./src/app/services/akita/menu-item-schema/menu-item.query.ts","./src/app/services/squidex/extensions/squidex-date.extension.ts","./src/app/shared/content/content-edition/content-edition.component.css","./src/app/guards/authorization.guard.ts","./src/app/services/akita/asset-directory-schema/asset-directory.query.ts","./src/app/services/squidex/services/page-internal.service.ts","./src/app/services/akita/asset-schema/asset.facade.ts","./src/app/interceptors/jwt.interceptor.ts","./src/app/shared/menus/left-menu/left-menu.component.html","./src/app/shared/field/pipes/get-compare-value.pipe.ts","./src/app/shared/header/header-main.component.html","./src/app/shared/ngx-file-drop/ngx-file-drop.component.html","./src/app/services/akita/user-schema/user.service.ts","./src/app/services/akita/layout-schema/layout.model.ts","./src/app/shared/field/pipes/get-language-code.pipe.ts","./src/app/shared/field/tools/field-reference-cleaner.ts","./src/app/services/services-utils/callback-models/service-callback-base.model.ts","./src/app/services/squidex/services/roles.service.ts","./src/app/services/akita/application-user-schema/application-user.store.ts","./src/app/services/akita/user-schema/user.facade.ts","./src/app/services/akita/user-schema/user.store.ts","./src/app/services/akita/page-schema/page.service.ts","./src/app/services/akita/page-content-schema/page-content.query.ts","./src/app/services/akita/page-category-schema/page-category.service.ts","./src/app/services/squidex/models/folder.model.ts","./src/app/services/akita/template-schema/template.service.ts","./src/app/services/akita/dynamic-content-schema/dynamic-content.state.ts","./src/app/services/akita/page-type/page-type.facade.ts","./src/app/services/akita/schema-metadata-schema/schema-metadata.store.ts","./src/app/services/akita/schema-metadata-schema/schema-metadata.facade.ts","./src/app/services/akita/article-schema/article.service.ts","./src/app/services/akita/application-user-schema/application-user.query.ts","./src/app/services/squidex/factories/asset.factory.ts","./src/app/services/akita/claim-schema/claim.model.ts","./src/app/pages/contents/contents.component.html","./src/app/shared/ngx-file-drop/ngx-templates.directive.ts","./src/app/services/index.ts","./src/app/services/akita/dynamic-content-schema/dynamic-content.query.ts","./src/app/services/akita/page-type/page-type.store.ts","./src/app/services/akita/page-content-schema/page-content.facade.ts","./src/app/layout/private/private.component.html","./src/app/services/squidex/services/content-internal.service.ts","./src/app/shared/field/pipes/get-date-value.pipe.ts","./src/app/shared/menus/menu/menu-item/menu-item.component.css","./src/app/shared/menus/left-menu/left-menu.component.css","./src/app/shared/monaco-liquid-editor/monaco-liquid-editor.component.ts","./src/app/services/squidex/models/asset-list.model.ts","./src/app/services/squidex/models/field.model.ts","./src/app/shared/menus/side-left-bar/side-left-bar.component.ts","./src/app/pages/contents/contents.component.ts","./src/app/shared/ngx-file-drop/ngx-file-drop-entry.ts","./src/app/shared/form-group/form-group.builder.ts","./src/app/services/akita/dynamic-schema/dynamic-schema.store.ts","./src/app/shared/menus/assets-left-menu/assets-left-menu.component.ts","./src/app/pages/advanced-page/advanced-page.component.ts","./src/app/services/akita/dynamic-schema/dynamic-schema.service.ts","./src/app/services/akita/article-schema/article.model.ts","./src/app/shared/field/field-control.component.ts","./src/app/services/akita/language-schema/language.model.ts","./src/app/shared/content/content-edition/pipes/get-publish-form-group-schedule-job-due-time.pipe.ts","./src/app/shared/field-validation/field-validation.component.html","./src/app/shared/field/field-control.component.html","./src/app/services/squidex/factories/content.factory.ts","./src/app/services/akita/asset-directory-schema/asset-directory.service.ts","./src/app/shared/field-reference-editor/field-reference-editor.component.html","./src/app/services/akita/layout-schema/layout.store.ts","./src/app/services/squidex/factories/schemas.factory.ts","./src/app/services/akita/index.ts","./src/app/shared/ngx-file-drop/ngx-file-drop.component.ts","./src/app/layout/public/public.component.html","./src/app/pages/advanced-page/schema-page/schema-page.component.html","./src/app/services/akita/dynamic-content-schema/dynamic-content.model.ts","./src/app/services/akita/section-schema/section.store.ts","./src/app/pages/page/page.component.html","./src/app/services/akita/dynamic-schema/dynamic-schema.model.ts","./src/app/app-routing.module.ts","./src/app/services/akita/menu-schema/menu.query.ts","./src/app/services/services-utils/index.ts","./src/app/shared/field/pipes/field-pipe.ts","./src/app/services/akita/schema-page-schema/schema-page.facade.ts","./src/app/services/akita/menu-schema/menu.service.ts","./src/app/services/akita/menu-schema/menu.facade.ts","./src/app/shared/field/upload-field/upload-field.component.ts","./src/app/services/akita/section-schema/section.model.ts","./src/app/services/akita/page-type/page-type.service.ts","./src/app/pages/pages/pages.component.html","./src/app/pages/advanced-page/schema-page/schema-page.component.ts","./src/app/services/akita/article-category-schema/article-category.service.ts","./src/app/shared/menus/top-menu/top-menu.component.css","./src/app/services/akita/template-schema/template.query.ts","./src/app/services/akita/article-category-schema/article-category.store.ts","./src/main.ts","./src/app/services/akita/menu-item-schema/menu-item.store.ts","./src/app/services/akita/claim-schema/claim.query.ts"],"names":[],"mappings":"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","file":"main-es2015.js","sourcesContent":["export enum Code {\r\n Success = 200,\r\n NoContent = 204,\r\n ClientError = 400,\r\n NotFound = 404,\r\n ServeurError = 500,\r\n NotImplemented = 501,\r\n InvalidRequest = 600\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { TemplateStore } from './template.store';\r\nimport { TemplateQuery } from './template.query';\r\nimport { BaseFacade } from \"../base/base.facade\";\r\nimport { TemplateService } from './template.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { DynamicSchemaFactory } from '../dynamic-schema.factory';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { TemplateModel } from './template.model';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class TemplateFacade extends BaseFacade {\r\n\r\n constructor(\r\n templateService: TemplateService,\r\n templateStore: TemplateStore,\r\n templateQuery: TemplateQuery,\r\n dynamicSchemaFacto: DynamicSchemaFactory,\r\n translateService: TranslateService) {\r\n super(templateService,\r\n templateStore,\r\n templateQuery,\r\n dynamicSchemaFacto.getDynamicSchemaFacade('template'),\r\n translateService,\r\n 'template-facade'\r\n );\r\n }\r\n\r\n\r\n getTemplatesByCategory(category: string): Observable {\r\n return (this.getService() as TemplateService).getByCategory(category)\r\n .pipe(map(list => list.items));\r\n }\r\n\r\n}\r\n","import { EntityStore, StoreConfig, entitiesToArray } from '@datorama/akita';\r\nimport { Content } from '../../squidex';\r\nimport { IBaseState } from './base.state';\r\nimport { FilterPagination } from './filter.pagination';\r\nconst cloneDeep = require('lodash.clonedeep');\r\n\r\nexport abstract class BaseStore extends EntityStore {\r\n\r\n protected constructor(baseState?: IBaseState, schemaName?: string) {\r\n if (baseState && schemaName) {\r\n super(baseState, { name: schemaName });\r\n } else {\r\n super();\r\n }\r\n }\r\n\r\n hasPaginateContents(filter: FilterPagination): boolean {\r\n const state = this.getValue();\r\n\r\n if (!state.lastFilter\r\n || !state.lastOrderBy\r\n || state.lastFilter !== filter.filter\r\n || state.lastOrderBy !== filter.orderBy) {\r\n this.reset();\r\n return false;\r\n }\r\n\r\n for (let i = filter.from; i < filter.to; i++) {\r\n if (!Object.keys(state.storedIndex)\r\n .some(index => Number.parseInt(index) === i)) {\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n\r\n updatePaginate(contents: Content[], filter: FilterPagination) {\r\n\r\n let storedIndex = cloneDeep(this.getValue().storedIndex);\r\n let i = 0;\r\n\r\n if (!storedIndex) {\r\n storedIndex = {};\r\n }\r\n\r\n for (let j = filter.from; j <= filter.to && i < contents.length; j++ , i++) {\r\n storedIndex[j] = contents[i].id;\r\n }\r\n\r\n this.update({\r\n storedIndex: storedIndex,\r\n lastFilter: filter.filter,\r\n lastOrderBy: filter.orderBy\r\n });\r\n\r\n this.add(contents);\r\n }\r\n\r\n}\r\n","import { ContentFactory } from '../../squidex';\r\nimport { BaseService } from '../base/base.service';\r\n\r\nexport class DynamicContentSchemaService extends BaseService {\r\n constructor(schemaName: string, contentFactory: ContentFactory) {\r\n super(schemaName, contentFactory);\r\n }\r\n}\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { BaseComponent } from '../../../base/base-component.component';\r\nimport { SiteSettingModel, AuthenticationService } from '../../../services';\r\n\r\n@Component({\r\n selector: 'left-menu',\r\n templateUrl: './left-menu.component.html',\r\n styleUrls: ['./left-menu.component.css']\r\n})\r\nexport class LeftMenuComponent extends BaseComponent implements OnInit {\r\n\r\n @Input()\r\n siteSettingModel: SiteSettingModel;\r\n isCage = false;\r\n\r\n userIsOwner: boolean;\r\n userIsDev: boolean;\r\n userIsEditor: boolean;\r\n userIsReadWrite: boolean;\r\n userIsReader: boolean;\r\n\r\n constructor(\r\n translateService: TranslateService,\r\n private authenticationService: AuthenticationService) {\r\n super(translateService);\r\n this.setTranslateContext('LeftMenuComponent');\r\n }\r\n\r\n ngOnInit() {\r\n this.userIsOwner = this.authenticationService.userHasRole(\"Owner\");\r\n this.userIsDev = this.authenticationService.userHasRole(\"Developer\");\r\n this.userIsEditor = this.authenticationService.userHasRole(\"Editor\");\r\n this.userIsReadWrite = this.authenticationService.userHasRole(\"ReadWrite\");\r\n this.userIsReader = this.authenticationService.userHasRole(\"Reader\");\r\n }\r\n\r\n\r\n toggleIt() {\r\n const element: HTMLCollection = document.getElementsByTagName('body');\r\n if (element[0].classList.contains('open_menu')) {\r\n element[0].classList.remove('open_menu');\r\n } else {\r\n element[0].classList.add('open_menu');\r\n }\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { MenuItemDto } from '../../../services/akita/menu-item-schema/menu-item.dto';\r\nimport { DataParser } from \"../../../services\";\r\n\r\n@Pipe({\r\n name: 'getMenuSelectedChildren'\r\n})\r\nexport class GetMenuSelectedChildrenPipe implements PipeTransform {\r\n\r\n transform(menuDto: MenuItemDto, menuDtos: MenuItemDto[]): string {\r\n\r\n let classes = 'on-hover no-drag pl-1 ';\r\n if (menuDto.isCurrentPage) {\r\n const selectedChild = menuDtos.find(m => m.isCurrentPage && menuDto.menuItem.id === m.menuItem.data.parentMenuItem.iv[0]);\r\n if (!selectedChild) {\r\n classes += ' is-selected';\r\n }\r\n }\r\n return classes;\r\n\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { StoreConfig } from '@datorama/akita';\r\nimport { BaseStore } from '../base/base.store';\r\nimport { AppToken } from \"../../../models/app-token\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n@StoreConfig({\r\n name: AppToken.PAGE_CATEGORY_SCHEMA_NAME,\r\n cache: {\r\n ttl: 15000\r\n }\r\n})\r\nexport class PageCategoryStore extends BaseStore {\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","import { ArticleStore } from './article.store';\r\nimport { Injectable } from '@angular/core';\r\nimport { BaseQuery } from \"../base/base.query\";\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ArticleQuery extends BaseQuery {\r\n\r\n constructor(store: ArticleStore) {\r\n super(store);\r\n }\r\n}\r\n","export default \"\\r\\n\\r\\n
\\r\\n
\\r\\n < {{menuTitle}}\\r\\n
\\r\\n
\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\";","import { Injectable } from '@angular/core';\r\nimport { StoreConfig } from '@datorama/akita';\r\nimport { BaseStore } from '../base/base.store';\r\nimport { AppTokenService } from '../../../app-token.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n@StoreConfig({\r\n name: AppTokenService.PAGE_SCHEMA_NAME,\r\n cache: {\r\n ttl: 15000\r\n }\r\n})\r\nexport class PageStore extends BaseStore {\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","export class Validation {\r\n\r\n static isValidGuid(expression: string): boolean {\r\n if (expression != null) {\r\n const guidRegEx = new RegExp('^(\\{{0,1}([0-9a-fA-F]){8}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){12}\\}{0,1})$');\r\n return guidRegEx.test(expression);\r\n }\r\n return false;\r\n }\r\n\r\n static isNullEmptyOrWhiteSpaces(str: string): boolean {\r\n return str === undefined || str === null || str === '' || str.match(/^ *$/) !== null;\r\n }\r\n}\r\n","import { MenuItemModel } from \"./menu-item.model\";\r\n\r\nexport class MenuItemDto {\r\n isCurrentPage: boolean = false;\r\n isVisible: boolean = false;\r\n menuItem: MenuItemModel;\r\n}\r\n\r\n","import { Asset } from \"../../squidex\";\r\nconst cloneDeep = require('lodash.clonedeep');\r\n\r\nexport class AssetModel extends Asset {\r\n constructor(current?: Asset) {\r\n if (current) {\r\n super(cloneDeep(current) as Asset);\r\n } else {\r\n super({});\r\n }\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { Schema } from '../models/schema.model';\r\nimport { Field } from '../models/field.model';\r\nimport { SchemaScript } from '../models/schema-script.model';\r\nimport { SchemaProperty } from '../models/schema-property.model';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class AppCreationService {\r\n\r\n}\r\n","import { Content } from \"../../squidex\";\r\n\r\nexport class TemplateModel extends Content {\r\n\r\n constructor(current?: Content) {\r\n super(current);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ArticleTypeStore } from './article-type.store';\r\nimport { ArticleTypeQuery } from './article-type.query';\r\nimport { BaseFacade } from \"../base/base.facade\";\r\nimport { ArticleTypeService } from './article-type.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { DynamicSchemaFactory } from '../dynamic-schema.factory';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ArticleTypeFacade extends BaseFacade {\r\n constructor(\r\n articleTypeService: ArticleTypeService,\r\n articleTypeStore: ArticleTypeStore,\r\n articleTypeQuery: ArticleTypeQuery,\r\n dynamicSchemaFactory: DynamicSchemaFactory,\r\n translateService: TranslateService) {\r\n super(articleTypeService,\r\n articleTypeStore,\r\n articleTypeQuery,\r\n dynamicSchemaFactory.getDynamicSchemaFacade('article-type'),\r\n translateService,\r\n 'article-type-facade');\r\n }\r\n}\r\n","export default \"a.disabled {\\r\\n pointer-events: none;\\r\\n cursor: default;\\r\\n}\\r\\n.title {\\r\\n font-size: 14px;\\r\\n line-height: 16px;\\r\\n font-weight: 700;\\r\\n color: #f29100;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1lbnUuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLG9CQUFvQjtFQUNwQixlQUFlO0FBQ2pCO0FBQ0E7RUFDRSxlQUFlO0VBQ2YsaUJBQWlCO0VBQ2pCLGdCQUFnQjtFQUNoQixjQUFjO0FBQ2hCIiwiZmlsZSI6Im1lbnUuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbImEuZGlzYWJsZWQge1xyXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gIGN1cnNvcjogZGVmYXVsdDtcclxufVxyXG4udGl0bGUge1xyXG4gIGZvbnQtc2l6ZTogMTRweDtcclxuICBsaW5lLWhlaWdodDogMTZweDtcclxuICBmb250LXdlaWdodDogNzAwO1xyXG4gIGNvbG9yOiAjZjI5MTAwO1xyXG59XHJcbiJdfQ== */\";","import { Content } from \"../../squidex\";\r\n\r\nexport class PageContentModel extends Content {\r\n\r\n constructor(current?: Content) {\r\n super(current);\r\n if (current) {\r\n Object.assign(this, current);\r\n }\r\n }\r\n}\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { DynamicContentSchemaFactory, DynamicContentSchemaFacade, SiteSettingModel } from '../../../services';\r\nimport { DefaultContents } from '../../../models/app-token';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'dynamic-left-menu',\r\n templateUrl: './dynamic-left-menu.component.html',\r\n styleUrls: ['./dynamic-left-menu.component.css']\r\n})\r\nexport class DynamicLeftMenuComponent implements OnInit {\r\n\r\n\r\n @Input()\r\n siteSetting: Observable;\r\n\r\n menuFacade: DynamicContentSchemaFacade;\r\n menuItemFacade: DynamicContentSchemaFacade;\r\n\r\n menuIdDefault: string; // default-menu tree menu\r\n\r\n constructor(\r\n private readonly contentFacadeFactory: DynamicContentSchemaFactory) {\r\n }\r\n\r\n ngOnInit() {\r\n this.menuFacade = this.contentFacadeFactory.getDynamicContentSchemaFacade('menu');\r\n this.menuFacade.getByCode(DefaultContents.DEFAULT_MENU_CODE).subscribe(m => {\r\n this.menuIdDefault = m.id;\r\n })\r\n this.menuItemFacade = this.contentFacadeFactory.getDynamicContentSchemaFacade('menu-item');\r\n }\r\n}\r\n","import { Content } from \"../../squidex\";\r\n\r\nexport class MenuItemModel extends Content {\r\n\r\n constructor(current?: Content) {\r\n super(current);\r\n if (current) {\r\n Object.assign(this, current);\r\n }\r\n }\r\n}\r\n","export default \"
\\r\\n
\\r\\n

{{ pageTitle }}

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\";","import { Injectable } from '@angular/core';\r\nimport { StoreConfig } from '@datorama/akita';\r\nimport { BaseStore } from '../base/base.store';\r\nimport { AppTokenService } from '../../../app-token.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n@StoreConfig({\r\n name: AppTokenService.CLAIM_SCHEMA_NAME,\r\n cache: {\r\n ttl: 15000\r\n }\r\n})\r\nexport class ClaimStore extends BaseStore {\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n}\r\n","import { StoreConfig } from '@datorama/akita';\r\nimport { Injectable } from '@angular/core';\r\nimport { BaseStore } from '../base/base.store';\r\n\r\n@Injectable({ providedIn: 'root' })\r\n@StoreConfig({\r\n name: 'language',\r\n cache: {\r\n ttl: 15000\r\n }\r\n})\r\nexport class LanguageStore extends BaseStore {\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","import { Component, OnInit, } from '@angular/core';\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { SiteSettingFacade } from \"../../services/index\";\r\nimport { BaseComponent } from \"../../base/base-component.component\";\r\nimport { DefaultContents } from \"../../models/app-token\";\r\nimport { PagesComponent } from '../../pages/pages/pages.component';\r\nimport { PageComponent } from '../../pages/page/page.component';\r\nimport { AdvancedPageComponent } from '../../pages/advanced-page/advanced-page.component';\r\n\r\n@Component({\r\n selector: 'private',\r\n templateUrl: './private.component.html'\r\n})\r\nexport class PrivateComponent extends BaseComponent implements OnInit {\r\n\r\n isPages: boolean = false;\r\n\r\n constructor(\r\n private readonly siteSettingFacade: SiteSettingFacade,\r\n translateService: TranslateService) {\r\n super(translateService);\r\n }\r\n\r\n ngOnInit(): void { }\r\n\r\n\r\n\r\n //https://stackoverflow.com/questions/41451375/passing-data-into-router-outlet-child-components/\r\n //TODO handle caveat\r\n onOutletLoaded(component) {\r\n component.siteSetting = this.siteSetting;\r\n if (component instanceof PagesComponent\r\n || component instanceof PageComponent\r\n || component instanceof AdvancedPageComponent) {\r\n this.isPages = true;\r\n } else {\r\n this.isPages = false;\r\n }\r\n if (!component.siteSetting) {\r\n this.siteSetting = this.siteSettingFacade.getByCode(DefaultContents.DEFAULT_SITE_SETTING_CODE);\r\n component.siteSetting = this.siteSetting;\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BaseQuery } from '../base/base.query';\r\nimport { SectionStore } from './section.store';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SectionQuery extends BaseQuery {\r\n\r\n constructor(store: SectionStore) {\r\n super(store);\r\n }\r\n\r\n\r\n}\r\n","import { ResourceStore } from './resource.store';\r\nimport { Injectable } from '@angular/core';\r\nimport { BaseQuery } from \"../base/base.query\";\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ResourceQuery extends BaseQuery {\r\n\r\n constructor(store: ResourceStore) {\r\n super(store);\r\n }\r\n}\r\n","import { DynamicSchemaService } from './dynamic-schema.service';\r\nimport { DynamicSchemaStore } from './dynamic-schema.store';\r\nimport { DynamicSchemaQuery } from './dynamic-schema.query';\r\nimport { Schema } from '../../squidex/models/schema.model';\r\nimport { Field } from '../../squidex/models/field.model';\r\nimport { Observable } from 'rxjs';\r\nimport { DynamicSchemaModel } from './dynamic-schema.model';\r\nimport { SchemasFactory } from '../..';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { SchemaProperty } from '../../squidex';\r\nimport { map } from 'rxjs/operators';\r\n\r\nexport class DynamicSchemaFacade {\r\n service: DynamicSchemaService; //TODO: make it static\r\n store: DynamicSchemaStore; //TODO: make it static\r\n query: DynamicSchemaQuery; //TODO: make it static\r\n\r\n constructor(\r\n private readonly schemaName: string,\r\n private readonly schemasFactory: SchemasFactory,\r\n private readonly translateService: TranslateService) {\r\n this.service = new DynamicSchemaService(schemasFactory.getSchemaService(schemaName));\r\n this.store = new DynamicSchemaStore(schemaName);\r\n this.query = new DynamicSchemaQuery(this.store);\r\n }\r\n\r\n getSchemaDefinition(): Observable {\r\n return this.service.getSchemaDefinition();\r\n }\r\n\r\n fieldExist(fieldName: string): Observable {\r\n return this.getSchemaDefinition().pipe(map(schema => {\r\n return schema.fields.some(field => field.name === fieldName);\r\n }));\r\n }\r\n\r\n createMe(properties: SchemaProperty, category: string, isSingleton: boolean = false): Observable {\r\n const schema = new Schema();\r\n\r\n schema.name = this.schemaName.toLocaleLowerCase();\r\n schema.properties = properties;\r\n schema.isSingleton = isSingleton;\r\n schema.category = category;\r\n\r\n return this.schemasFactory.createSchema(schema);\r\n }\r\n\r\n updateProperties(properties: SchemaProperty): Observable {\r\n return this.service.updateSchemaProperties(properties).pipe(map(schema => {\r\n this.store.update({ properties: schema.properties });\r\n return schema;\r\n }));\r\n }\r\n\r\n addField(field: Field): Observable {\r\n return this.service.addField(field).pipe(map(schema => {\r\n this.store.update({ fields: schema.fields });\r\n return schema;\r\n }));\r\n }\r\n\r\n updateField(field: Field, fieldId?: number): Observable {\r\n // fix for assets\r\n if (field.properties && field.properties.fieldType === 'Assets') {\r\n if (field.properties.minItems == 0) {\r\n field.properties.minItems = 0;\r\n field.properties.maxItems = 1;\r\n }\r\n else {\r\n field.properties.minItems = null;\r\n field.properties.maxItems = null;\r\n }\r\n }\r\n return this.service.updateField(field, fieldId).pipe(map(schema => {\r\n this.store.update({ fields: schema.fields });\r\n return schema;\r\n }));\r\n }\r\n\r\n deleteField(fieldId: number, force: boolean = false): Observable {\r\n //TODO: manage soft & hard delete with force\r\n return this.service.deleteField(fieldId, force).pipe(map(schema => {\r\n this.store.update({ fields: schema.fields });\r\n return schema;\r\n }));\r\n }\r\n\r\n desableField(fieldId: number): Observable {\r\n return this.service.disableField(fieldId).pipe(map(schema => {\r\n this.store.update({ fields: schema.fields });\r\n return schema;\r\n }));\r\n\r\n }\r\n\r\n enableField(fieldId: number): Observable {\r\n return this.service.enableField(fieldId).pipe(map(schema => {\r\n this.store.update({ fields: schema.fields });\r\n return schema;\r\n }));\r\n }\r\n\r\n reorderFields(fieldIds: number[]): Observable {\r\n return this.service.reorderField(fieldIds).pipe(map(schema => {\r\n this.store.update({ fields: schema.fields });\r\n return schema;\r\n }));\r\n }\r\n\r\n getSchemaName() {\r\n return this.schemaName;\r\n }\r\n}\r\n","export class FilterPagination {\r\n\r\n constructor(\r\n public from?: number,\r\n public to?: number,\r\n public orderBy?: string,\r\n public filter?: string,\r\n public filterObject?: {}\r\n ) { }\r\n\r\n getODataQuery(): string {\r\n this.setDefault();\r\n return `?\\$filter=${this.filter}&\\$top=${this.to}&\\$skip=${this.from}&\\$orderby=${this.orderBy}`;\r\n }\r\n\r\n private setDefault() {\r\n if (!this.from) {\r\n this.from = 0;\r\n }\r\n if (!this.to) {\r\n this.from = 24;\r\n }\r\n if (!this.orderBy) {\r\n this.orderBy = 'data/code/iv';\r\n }\r\n if (!this.filter) {\r\n this.filter = 'data/deleted/iv ne true';\r\n }\r\n }\r\n}\r\n","import { FormGroup } from '@angular/forms';\r\nimport { Schema, Content, LanguageModel, SquidexDate, Field } from '../../services';\r\nimport { Validation } from '../../tools';\r\ndeclare var CKEDITOR: any;\r\n\r\nexport class FormGroupMapper {\r\n\r\n public static GetContentFromFormGroup(\r\n formGroup: FormGroup,\r\n content: Content,\r\n schema: Schema,\r\n availableLanguages: LanguageModel[]): Content {\r\n\r\n if (!content.data) {\r\n content.data = {};\r\n }\r\n\r\n for (const schemaField of schema.fields) {\r\n let formGroupValue = formGroup.value[schemaField.name];\r\n\r\n if (schemaField.partitioning !== 'language' && typeof (formGroupValue) !== 'undefined') {\r\n if (!content.data[schemaField.name]) {\r\n content.data[schemaField.name] = {};\r\n }\r\n if (schemaField.properties.fieldType === 'References') {\r\n if (schemaField.properties.editor === 'Checkboxes' ||\r\n schemaField.properties.editor === 'Tags' ||\r\n schemaField.properties.editor === 'Dropdown') {\r\n\r\n if (formGroupValue instanceof Array) {\r\n\r\n if (formGroupValue[0] && formGroupValue[0].item_id) {\r\n\r\n content.data[schemaField.name]['iv'] = formGroupValue.map(v => {\r\n if (v.item_id) {\r\n return v.item_id;\r\n }\r\n return v;\r\n });\r\n } else {\r\n content.data[schemaField.name]['iv'] = formGroupValue;\r\n }\r\n\r\n // TODO: Cleaning needed here\r\n } else if (Validation.isValidGuid(formGroupValue)) {\r\n content.data[schemaField.name]['iv'] = [formGroupValue];\r\n }\r\n } else if (formGroupValue instanceof Array) {\r\n content.data[schemaField.name]['iv'] = formGroupValue;\r\n } else if (Validation.isValidGuid(formGroupValue)) {\r\n content.data[schemaField.name]['iv'] = [formGroupValue];\r\n } else {\r\n content.data[schemaField.name]['iv'] = [];\r\n }\r\n } else if (schemaField.properties.fieldType === 'Boolean') {\r\n content.data[schemaField.name]['iv'] = formGroupValue === \"\" ? false : formGroupValue;\r\n } else if (schemaField.properties.editor === \"Date\" && schemaField.properties.fieldType === 'DateTime') {\r\n if (formGroupValue !== \"\") {\r\n const dateValue = new SquidexDate(formGroupValue).formatWithoutTime();\r\n if (dateValue === '') {\r\n content.data[schemaField.name]['iv'] = null;\r\n } else {\r\n content.data[schemaField.name]['iv'] = dateValue;\r\n }\r\n }\r\n }\r\n else if (schemaField.properties.fieldType === 'DateTime') {\r\n if (formGroupValue !== \"\") {\r\n const dateValue = new SquidexDate(formGroupValue).format();\r\n if (dateValue === '') {\r\n content.data[schemaField.name]['iv'] = null;\r\n } else {\r\n content.data[schemaField.name]['iv'] = dateValue;\r\n }\r\n }\r\n }\r\n else if (schemaField.properties.fieldType === \"Number\") {\r\n content.data[schemaField.name]['iv'] = Number(formGroupValue);\r\n } else if (schemaField.properties.fieldType === \"Assets\") {\r\n if (formGroupValue instanceof Array) {\r\n content.data[schemaField.name]['iv'] = formGroupValue;\r\n } else {\r\n content.data[schemaField.name]['iv'] = [];\r\n }\r\n\r\n } else if (schemaField.properties.editor === 'TextArea' && typeof CKEDITOR !== \"undefined\" && CKEDITOR && CKEDITOR.instances) {\r\n for (const instance in CKEDITOR.instances) {\r\n let textLang: string = CKEDITOR.instances[instance].element.$.nodeName;\r\n if (textLang.toLowerCase() === (schemaField.name).toLowerCase()) {\r\n content.data[schemaField.name]['iv'] = CKEDITOR.instances[instance].getData();\r\n }\r\n }\r\n } else {\r\n content.data[schemaField.name]['iv'] = formGroupValue;\r\n }\r\n\r\n } else if (schemaField.partitioning === 'language') {\r\n if (!content.data[schemaField.name]) {\r\n content.data[schemaField.name] = {};\r\n }\r\n\r\n availableLanguages.map(language => language.data.code.iv).forEach(language => {\r\n if (formGroup.value[`${schemaField.name}_${language}`] || formGroup.value[`${schemaField.name}_${language}`] == \"\") {\r\n if (schemaField.properties.fieldType === 'References' || (schemaField.properties.fieldType === 'String' && schemaField.properties.allowedValues && schemaField.properties.allowedValues.length > 0)) {\r\n if (formGroupValue instanceof Array) {\r\n content.data[schemaField.name][language] = formGroup.value[`${schemaField.name}_${language}`];\r\n } else if (Validation.isValidGuid(formGroup.value[`${schemaField.name}_${language}`])) {\r\n content.data[schemaField.name][language] = [formGroup.value[`${schemaField.name}_${language}`]];\r\n } else {\r\n content.data[schemaField.name][language] = [];\r\n }\r\n } else if (schemaField.properties.editor === 'TextArea' && typeof CKEDITOR !== \"undefined\" && CKEDITOR && CKEDITOR.instances) {\r\n for (const instance in CKEDITOR.instances) {\r\n let textLang: string = CKEDITOR.instances[instance].element.$.nodeName;\r\n if (textLang.toLowerCase() === (schemaField.name + '_' + language).toLowerCase()) {\r\n const val = content.data[schemaField.name][language];\r\n content.data[schemaField.name][language] = this.getTextAreaValueLocal(schemaField.name, language, val);\r\n }\r\n }\r\n } else {\r\n\r\n content.data[schemaField.name][language] = formGroup.value[`${schemaField.name}_${language}`];\r\n }\r\n }\r\n });\r\n }\r\n }\r\n return content;\r\n }\r\n\r\n static getTextAreaValueLocal(fieldName: string, language: string, value: string) {\r\n if (typeof CKEDITOR !== \"undefined\" && CKEDITOR && CKEDITOR.instances) {\r\n let fname = fieldName;\r\n\r\n if (language) {\r\n fname += '_' + language;\r\n }\r\n\r\n for (const instance in CKEDITOR.instances) {\r\n let textLang: string = CKEDITOR.instances[instance].element.$.nodeName;\r\n if (textLang.toLowerCase() === fname.toLowerCase()) {\r\n return CKEDITOR.instances[instance].getData();\r\n }\r\n }\r\n } else if (value) {\r\n return value;\r\n } else {\r\n return '';\r\n }\r\n return null;\r\n }\r\n\r\n\r\n\r\n\r\n}\r\n","export default \"\\r\\n \\r\\n
\\r\\n \\\"icon-4-black\\\"\\r\\n
\\r\\n
\\r\\n

{{ t(\\\"DASHBOARD_TITLE\\\") | async }}

\\r\\n

{{ siteName }}

\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\\"icon-4-black\\\"\\r\\n
\\r\\n
\\r\\n

{{ t(\\\"DASHBOARD_TITLE\\\") | async }}

\\r\\n

{{ siteName }}

\\r\\n
\\r\\n
\\r\\n\";","import { QueryEntity } from '@datorama/akita';\r\nimport { Content } from '../../squidex';\r\nimport { IBaseState } from './base.state';\r\nimport { BaseStore } from './base.store';\r\nimport { FilterPagination } from './filter.pagination';\r\nimport { Observable, of } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport internal from 'node:stream';\r\n\r\nexport abstract class BaseQuery extends QueryEntity {\r\n\r\n protected constructor(protected store: BaseStore) {\r\n super(store);\r\n }\r\n\r\n getPaginateData(filter: FilterPagination): Observable {\r\n const index = this.getValue().storedIndex;\r\n const contents = [];\r\n\r\n return this.selectAll()\r\n .pipe(map(entities => {\r\n for (let i = filter.from; i < filter.to; i++) {\r\n if (entities.some(content => content.id === index[i])) {\r\n contents.push(entities.find(content => content.id === index[i]));\r\n }\r\n }\r\n return contents;\r\n }));\r\n }\r\n\r\n}\r\n","export class AppToken {\r\n static readonly MENU_SCHEMA_NAME = 'menu';\r\n static readonly MENU_ITEM_SCHEMA_NAME = 'menu-item';\r\n static readonly SITE_SETTING_SCHEMA_NAME = 'sitesetting';\r\n static readonly PAGE_CATEGORY_SCHEMA_NAME = 'pagecategory';\r\n static readonly PAGE_TYPE_SCHEMA_NAME = 'page-type';\r\n static readonly PAGE_SCHEMA_NAME = 'page';\r\n static readonly PAGE_CONTENT_SCHEMA_NAME = 'page-content';\r\n static readonly SCHEMA_PAGE_SCHEMA_NAME = 'schema-page';\r\n static readonly PAGE_FILTER_SCHEMA_NAME = 'page-filter';\r\n static readonly LAYOUT_SCHEMA_NAME = 'layout';\r\n static readonly RESOURCE_SCHEMA_NAME = 'resource';\r\n static readonly DEFAULT_LAYOUT_NAME = 'default';\r\n static readonly TEMPLATE_SCHEMA_NAME = 'template';\r\n static readonly SECTION_SCHEMA_NAME = 'section';\r\n static readonly SCRIPT_SCHEMA_NAME = 'html-script';\r\n static readonly STYLE_SCHEMA_NAME = 'html-style';\r\n static readonly REDIRECTION_SCHEMA_NAME = 'redirection';\r\n static readonly USER_SAVE_CULTURE_CODE: string = 'USER_SAVE_CULTURE_CODE';\r\n static readonly ENGLISH_CULTURE_CODE: string = 'en-CA';\r\n static readonly FRENCH_CULTURE_CODE: string = 'fr-CA';\r\n static readonly INPUT_DELAY_TIMESPAN: number = 1000;\r\n static readonly ISO_DATES_YEAR_MONTH: string = 'yyyy-MM';\r\n static readonly ISO_DATES_DATE: string = 'yyyy-MM-dd';\r\n static readonly ISO_DATES_DATE_TIME: string = 'yyyy-MM-dd hh:mm:ss';\r\n static readonly ISO_DATES_DATE_TIME_UPDATE: string = 'YYYY/MM/DD HH:mm:ss';\r\n static readonly ISO_DATES_TIME: string = 'hh:mm:ss';\r\n static readonly PAGES_PUBLISHED_ITEMS_PER_PAGE: number = 12;\r\n static readonly PAGES_PUBLISHED_CONTENTS_ITEMS_PER_PAGE: number = 12;\r\n static readonly PAGES_PUBLISHED_ITEMS_PER_PAGE_LIST: number = 10;\r\n static readonly PAGES_PUBLISHED_CONTENTS_ITEMS_PER_PAGE_LIST: number = 10;\r\n static readonly PAGES_UNPUBLISHED_ITEMS_PER_PAGE: number = 6;\r\n static readonly PAGES_UNPUBLISHED_CONTENTS_ITEMS_PER_PAGE: number = 6;\r\n static readonly ARTICLES_PUBLISHED_ITEMS_PER_PAGE: number = 9;\r\n static readonly ARTICLES_UNPUBLISHED_ITEMS_PER_PAGE: number = 3;\r\n static readonly CONTENTS_ITEMS_PER_REQUEST: number = 300;\r\n static readonly CONTENTS_ITEMS_PER_PAGE: number = 10000;\r\n static readonly SCHEMA_NAME_MAX_LEGTH: number = 40;\r\n static readonly ARTICLE_PAGE_SCHEMA_NAME = 'articlepage';\r\n static readonly APPLICATION_CURRENT_USER = 'current-user';\r\n}\r\n\r\nexport class AppSchemaCategory {\r\n static readonly SYSTEM_SCHEMAS = 'System-schemas';\r\n //static readonly GENERAL_SCHEMAS = 'general-schema';\r\n static readonly CONTACT_FORMS = 'Contact-forms';\r\n static readonly DEFAULT_SCHEMAS = 'Default-schemas';\r\n static readonly CONTENT_SCHEMAS = 'Content-schemas';\r\n static readonly SCHEMA_AS_A_PAGE = 'Schema-as-a-page';\r\n}\r\n\r\nclass Status {\r\n name: string;\r\n color: string;\r\n}\r\n\r\nexport class Statuses {\r\n static readonly PUBLISHED: Status = { name: 'Published', color: '#4bb958' }\r\n static readonly DRAFT: Status = { name: 'Draft', color: '#8091a5' }\r\n static readonly ARCHIVED: Status = { name: 'Archived', color: '#eb3142' }\r\n}\r\n\r\n\r\nexport class PreviewDevices {\r\n static readonly DESKTOP = { name: 'DESKTOP', width: 1080, height: 1920 }\r\n static readonly TABLET = { name: 'TABLET', width: 960, height: 1024 }\r\n static readonly PHONE = { name: 'PHONE', width: 640, height: 960 }\r\n}\r\n\r\nexport class FieldsName {\r\n static readonly CODE = 'code';\r\n static readonly ID = 'id';\r\n static readonly NAME = 'name';\r\n static readonly INDEX = 'index';\r\n static readonly PUBLISH_DATE_TIME = 'publishdatetime';\r\n static readonly DELETE_DATE_TIMEDE = 'deletedatetime';\r\n static readonly DELETED = 'deleted';\r\n static readonly PAGE_ID = 'pageid';\r\n static readonly PAGE = 'page';\r\n static readonly PAGE_TYPE = 'pageType';\r\n static readonly MENU_ITEMS = 'menuItems';\r\n static readonly TEMPLATE = 'template';\r\n static readonly BODY = 'body';\r\n static readonly CONTENT_TYPE = 'contenttype';\r\n static readonly CONTENT_ID = 'contentid';\r\n static readonly ISMODIFIED = 'ismodified';\r\n static readonly METATITLE = 'metatitle';\r\n static readonly TITLE = 'title';\r\n static readonly DESCRIPTION = 'description';\r\n static readonly ISSECURE = 'issecure';\r\n static readonly ISNOINDEX = 'isnoindex';\r\n static readonly ISACTIVE = 'isactive';\r\n static readonly PAGE_NAME = 'pageName';\r\n static readonly LAYOUT = 'layout';\r\n static readonly URL = 'url';\r\n static readonly PARENT_ID = 'parentid';\r\n static readonly META_DESCRIPTION = 'metaDescription';\r\n static readonly META_KEYWORDS = 'metaKeywords';\r\n static readonly THUMBNAIL = 'thumbnail';\r\n static readonly PRIORITY = 'priority';\r\n static readonly SCHEMA_NAME = 'schemaname';\r\n static readonly PARENT_MENU_ITEM = 'parentMenuItem'\r\n}\r\n\r\nexport class DefaultContents {\r\n static readonly DEFAULT_PAGE_TYPE_CODE = 'default';\r\n static readonly DEFAULT_MENU_CODE = 'default-menu';\r\n static readonly DEFAULT_SITE_SETTING_CODE = 'default';\r\n}\r\n\r\nexport class ClaimTypes {\r\n static readonly BOOL = 'bool';\r\n static readonly STRING = 'string';\r\n static readonly NUMBER = 'number';\r\n}\r\n\r\nexport class UserRoles {\r\n static readonly DEVELOPER = 'DEVELOPER';\r\n static readonly EDITOR = 'EDITOR';\r\n static readonly OWNER = 'OWNER';\r\n static readonly READER = 'READER';\r\n static readonly READWRITE = 'READWRITE';\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { AppToken } from './models/app-token';\r\nimport { config } from 'rxjs';\r\n\r\n// This represents our raw config from the server.\r\n// We could define a strongly-typed config class\r\n// that wraps the values from the server, but for\r\n// this simple demo, we won't bother with that.\r\nexport declare interface AppConfig { [key: string]: { [key: string]: any } }\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AppConfigProvider {\r\n private config: AppConfig;\r\n\r\n constructor(\r\n private readonly httpClient: HttpClient) { }\r\n\r\n loadConfig(): Promise {\r\n if (this.config) {\r\n return Promise.resolve(this.config);\r\n }\r\n const promise = this.httpClient.post('/api/o/config', {})\r\n .toPromise()\r\n .then(configUpdated => {\r\n this.config = configUpdated;\r\n return config;\r\n });\r\n return promise;\r\n }\r\n\r\n squidexAppIsCreated(): boolean {\r\n if (this.config) {\r\n return this.config.tenantData.isSquidexAppCreated as boolean;\r\n }\r\n throw (Error('app config is undefined'));\r\n }\r\n\r\n authIsEnabled(): boolean {\r\n if (this.config && typeof this.config.tenantData.authIsEnabled === \"boolean\") {\r\n return this.config.tenantData.authIsEnabled;\r\n }\r\n\r\n throw (Error('app config is undefined'));\r\n }\r\n\r\n publishVersion(): string {\r\n if (this.config && this.config.goLive.version) {\r\n return this.config.goLive.version;\r\n }\r\n\r\n throw (Error('golive version is undefined in appsetting'));\r\n }\r\n\r\n publishDate(): string {\r\n if (this.config && this.config.goLive.date) {\r\n return this.config.goLive.date;\r\n }\r\n\r\n throw (Error('golive date is undefined in appsetting'));\r\n }\r\n\r\n\r\n squidexDefaultSchemaIsCreated(): boolean {\r\n if (this.config) {\r\n return this.squidexAppIsCreated() && this.config.tenantData.isSquidexDefaultSchemaCreated as boolean;\r\n }\r\n throw (Error('app config is undefined'));\r\n }\r\n\r\n getAvailableLanguagesNames(): {} {\r\n const langNames = {};\r\n langNames[AppToken.ENGLISH_CULTURE_CODE] = 'English';\r\n langNames[AppToken.FRENCH_CULTURE_CODE] = 'Français';\r\n return langNames;\r\n }\r\n\r\n getAvailableLanguages(): string[] {\r\n return [AppToken.ENGLISH_CULTURE_CODE, AppToken.FRENCH_CULTURE_CODE];\r\n }\r\n\r\n getInfoTenantNotifications(languageCode: string): any {\r\n if (this.config && this.config.tenantNotificationData.infoNotification) {\r\n if (languageCode === AppToken.FRENCH_CULTURE_CODE) {\r\n return this.config.tenantNotificationData.infoNotification.tenantNotifications_fr;\r\n } else if (languageCode === AppToken.ENGLISH_CULTURE_CODE) {\r\n return this.config.tenantNotificationData.infoNotification.tenantNotifications_en;\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n getAlertTenantNotifications(languageCode: string): any {\r\n if (this.config && this.config.tenantNotificationData.alertNotification) {\r\n if (languageCode === AppToken.FRENCH_CULTURE_CODE) {\r\n return this.config.tenantNotificationData.alertNotification.tenantNotifications_fr;\r\n } else if (languageCode === AppToken.ENGLISH_CULTURE_CODE) {\r\n return this.config.tenantNotificationData.alertNotification.tenantNotifications_en;\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n getAccessTokenGoogleAnalytics() {\r\n if (this.config && this.config.googleAnalyticAccessToken.result) {\r\n return this.config.googleAnalyticAccessToken;\r\n }\r\n return null;\r\n //throw (Error('googleAnalyticAccessToken is undefined'));\r\n }\r\n\r\n getDefaultCulture(): string {\r\n if (this.config) {\r\n return this.config.tenantData.defaultCulture;\r\n }\r\n throw (Error('app config is undefined'));\r\n }\r\n\r\n getBearerToken(): string {\r\n if (this.config) {\r\n return this.config.tenantData.bearerToken;\r\n }\r\n throw (Error('app config is undefined'));\r\n }\r\n\r\n getApiEndpoint(): string {\r\n if (this.config) {\r\n return this.config.tenantData.endPoint;\r\n }\r\n throw (Error('app config is undefined'));\r\n }\r\n\r\n getEndpointAppName(): string {\r\n if (this.config) {\r\n return this.config.tenantData.endPointAppName;\r\n }\r\n throw (Error('app config is undefined'));\r\n }\r\n\r\n getAssetsBaseUrl(): string {\r\n return `${this.getApiEndpoint().toLowerCase()}/api/apps/${this.getEndpointAppName().toLowerCase()}/assets`;\r\n }\r\n\r\n getContentBaseUrl(): string {\r\n return `${this.getApiEndpoint().toLowerCase()}/api/content/${this.getEndpointAppName().toLowerCase()}`;\r\n }\r\n\r\n // Asset path when updating\r\n getSchemaBaseUrl(): string {\r\n return `${this.getApiEndpoint().toLowerCase()}/api/apps/${this.getEndpointAppName().toLowerCase()}`;\r\n }\r\n\r\n // Asset path when displaying in HTML page\r\n getAssetsPathUrl(): string {\r\n return `${this.getApiEndpoint().toLowerCase()}/api/assets/${this.getEndpointAppName().toLowerCase()}`;\r\n }\r\n\r\n // All languages path\r\n getLanguagePathUrl(): string {\r\n return `${this.getApiEndpoint().toLowerCase()}/api/languages/`;\r\n }\r\n\r\n\r\n // Roles path\r\n getRolesPathUrl(): string {\r\n return `${this.getApiEndpoint().toLowerCase()}/api/apps/${this.getEndpointAppName().toLowerCase()}/roles/`;\r\n }\r\n\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJmaWVsZC12YWxpZGF0aW9uLmNvbXBvbmVudC5jc3MifQ== */\";","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PageTitleService {\r\n\r\n private title = new BehaviorSubject(null);\r\n\r\n public key: string;\r\n\r\n setTitle(value: string) {\r\n this.title.next(value);\r\n }\r\n\r\n getTitle(): Observable {\r\n return this.title;\r\n }\r\n\r\n\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { BaseComponent } from '../../base/base-component.component';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'field-validation',\r\n templateUrl: './field-validation.component.html',\r\n styleUrls: ['./field-validation.component.css']\r\n})\r\nexport class FieldValidation extends BaseComponent implements OnInit {\r\n\r\n @Input() control: FormControl;\r\n @Input() name: string;\r\n\r\n constructor(translateService: TranslateService) {\r\n super(translateService);\r\n this.setTranslateContext('FieldValidation');\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n}\r\n","import { Component, OnInit, Input, OnChanges, Output, EventEmitter, ViewChild, ElementRef } from '@angular/core';\r\nimport { BaseComponent } from '../../../base/base-component.component';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Schema, Content, PersistenceStorageService, FilterPagination, DynamicContentSchemaFactory, AuthenticationService } from '../../../services';\r\nimport { FormGroup, FormControl } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { Observable, EMPTY, forkJoin } from 'rxjs';\r\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators';\r\nimport { AppToken } from '../../../models/app-token';\r\n\r\n/**\r\n * If this component has to become more complex (example: you need a lazy loading process for the listings)\r\n * Advice: make a smart component of this, then create 2 render component for each listing\r\n * It will make you an easier futur\r\n */\r\n\r\n@Component({\r\n selector: 'app-contents-listing',\r\n templateUrl: './contents-listing.component.html',\r\n styleUrls: ['./contents-listing.component.css']\r\n})\r\nexport class ContentsListingComponent extends BaseComponent implements OnInit, OnChanges {\r\n\r\n @Input()\r\n schemaDefinition: Schema;\r\n\r\n @Input()\r\n selectedContent: string;\r\n\r\n @Input()\r\n selectableContents: Content[];\r\n\r\n @Input()\r\n baseUrl: string;\r\n\r\n @Input()\r\n filter: string;\r\n\r\n @Input()\r\n contentCount: number;\r\n\r\n @Input()\r\n currentPageNumber: number;\r\n\r\n @Input()\r\n paginateSize: number;\r\n\r\n @Input()\r\n maxSize: number;\r\n\r\n @Input()\r\n orderBySwitch: boolean;\r\n\r\n @Output()\r\n searchFilter: EventEmitter = new EventEmitter();\r\n\r\n alphaOrder = false;\r\n allContents = false;\r\n reverseOrder = false;\r\n\r\n @ViewChild(\"searchbar\", null)\r\n searchBar: ElementRef;\r\n\r\n alphabet = [\r\n '0', '1', '2',\r\n '3', '4', '5',\r\n '6', '7', '8',\r\n '9',\r\n 'a', 'b', 'c',\r\n 'd', 'e', 'f',\r\n 'g', 'h', 'i',\r\n 'j', 'k', 'l',\r\n 'm', 'n', 'o',\r\n 'p', 'q', 'r',\r\n 's', 't', 'u',\r\n 'v', 'w', 'x',\r\n 'y', 'z'\r\n ];\r\n\r\n paginateListContents: Content[] = [];\r\n\r\n contentDictionary = {};\r\n\r\n searchFormGroup: FormGroup;\r\n isSearching = false;\r\n\r\n searchResult: Content[] = [];\r\n\r\n alphaOrderKey: string;\r\n\r\n filterValue: string = '';\r\n\r\n userIsOwner: boolean;\r\n userIsDev: boolean;\r\n userIsEditor: boolean;\r\n userIsReadWrite: boolean;\r\n userIsReader: boolean;\r\n\r\n\r\n constructor(\r\n private readonly route: ActivatedRoute,\r\n readonly router: Router,\r\n translateService: TranslateService,\r\n private readonly contentFacadeFactory: DynamicContentSchemaFactory,\r\n private readonly persistenceStorageService: PersistenceStorageService,\r\n private readonly authenticationService: AuthenticationService\r\n ) {\r\n super(translateService);\r\n this.setTranslateContext('ContentsListingComponent');\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.userIsOwner = this.authenticationService.userHasRole(\"Owner\");\r\n this.userIsDev = this.authenticationService.userHasRole(\"Developer\");\r\n this.userIsEditor = this.authenticationService.userHasRole(\"Editor\");\r\n this.userIsReadWrite = this.authenticationService.userHasRole(\"ReadWrite\");\r\n this.userIsReader = this.authenticationService.userHasRole(\"Reader\");\r\n\r\n if (!this.paginateSize) {\r\n this.paginateSize = AppToken.CONTENTS_ITEMS_PER_PAGE;\r\n }\r\n\r\n this.initSearchFormGroup();\r\n\r\n this.alphaOrderKey = JSON.stringify(this.baseUrl + 'alphaOrder');\r\n\r\n const storedOrder = this.persistenceStorageService.get(this.alphaOrderKey);\r\n\r\n this.updateStoredOrderList();\r\n\r\n if (storedOrder) {\r\n this.alphaOrder = true;\r\n }\r\n if (this.alphaOrder) {\r\n this.listToggle(this.alphaOrder);\r\n }\r\n }\r\n\r\n updateStoredOrderList() {\r\n this.contentDictionary = {};\r\n this.selectableContents.forEach(content => {\r\n const firstLetter = content.data.code.iv[0].toLowerCase();\r\n if (!this.contentDictionary[firstLetter]) {\r\n this.contentDictionary[firstLetter] = [];\r\n }\r\n this.contentDictionary[firstLetter].push(content);\r\n });\r\n\r\n //sort alphabetically each letter\r\n for (const letter in this.contentDictionary) {\r\n this.contentDictionary[letter].sort((a, b) => {\r\n if (a.data.code.iv.toUpperCase() < b.data.code.iv.toUpperCase()) {\r\n return -1;\r\n }\r\n if (a.data.code.iv.toUpperCase() > b.data.code.iv.toUpperCase()) {\r\n return 1;\r\n }\r\n return 0;\r\n });\r\n }\r\n\r\n }\r\n\r\n getContents(contentFromPage: number, contentCount: number | null) {\r\n this.currentPageNumber = contentFromPage;\r\n this.paginateSize = contentCount;\r\n this.launchResearch();\r\n }\r\n\r\n ngAfterViewInit() {\r\n if (this.filter) {\r\n this.searchBar.nativeElement.value = this.filter;\r\n this.filterValue = this.filter;\r\n }\r\n this.router.routeReuseStrategy.shouldReuseRoute = () => false;\r\n }\r\n\r\n ngOnChanges() {\r\n this.selectedContent = this.route.snapshot.paramMap.get('code');\r\n this.router.routeReuseStrategy.shouldReuseRoute = () => false;\r\n }\r\n\r\n //getContentDefinition(contentName: string): Observable {\r\n // return this.dynamicContentFacto.getDynamicContentFacade(contentName).getContentDefinition();\r\n //}\r\n\r\n isOpenLetter(letter: string): boolean {\r\n if (this.selectedContent && this.selectedContent.length > 0 && this.selectedContent.charAt(0).toLowerCase() === letter) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n initSearchFormGroup() {\r\n const formControl = new FormControl();\r\n const subscription = formControl\r\n .valueChanges\r\n .pipe(debounceTime(AppToken.INPUT_DELAY_TIMESPAN))\r\n .pipe(distinctUntilChanged())\r\n .subscribe(result => {\r\n const t = result as string;\r\n this.launchResearch(t.toLowerCase());\r\n });\r\n this.searchFormGroup = new FormGroup({ search: formControl });\r\n //test\r\n this.subscriptions.push(subscription);\r\n }\r\n\r\n launchResearch(filterValue?: string): void {\r\n\r\n if (filterValue) {\r\n this.currentPageNumber = 1;\r\n }\r\n\r\n const filter = new FilterPagination();\r\n\r\n if (this.paginateSize) {\r\n filter.from = (this.currentPageNumber - 1) * this.paginateSize;\r\n filter.to = filter.from + this.paginateSize;\r\n } else {\r\n filter.from = 0;\r\n filter.to = null;\r\n }\r\n\r\n const ordering = this.reverseOrder ? 'descending' : 'ascending';\r\n filter.orderBy = `data.index.iv ascending,data.code.iv ${ordering}`\r\n filter.filterObject = this.getSearchObject();\r\n\r\n this.filterValue = filterValue;\r\n\r\n this.searchFilter.emit(filter);\r\n }\r\n\r\n getSearchObject(): object {\r\n const filter = (this.searchBar !== undefined && this.searchBar.nativeElement !== undefined && this.searchBar.nativeElement.value !== null) ? this.searchBar.nativeElement.value : EMPTY;\r\n const oSearch = {\r\n or:\r\n [\r\n {\r\n path: 'data.code.iv',\r\n op: 'contains',\r\n value: filter\r\n }\r\n ]\r\n\r\n }\r\n return oSearch;\r\n }\r\n\r\n redirect(contentName: string) {\r\n if (!this.searchBar.nativeElement.value && this.currentPageNumber <= 1) {\r\n this.router.navigateByUrl(`${this.baseUrl}/${contentName}`);\r\n } else {\r\n this.router.navigate([`${this.baseUrl}/${contentName}`, { filter: this.searchBar.nativeElement.value, page: this.currentPageNumber }]);\r\n }\r\n }\r\n\r\n redirectBase() {\r\n if (this.baseUrl === '/app-resource') {\r\n this.router.navigateByUrl('resource');\r\n } else {\r\n this.router.navigateByUrl(`${this.baseUrl}`);\r\n }\r\n }\r\n\r\n listToggle(isAlpha: boolean) {\r\n this.alphaOrder = isAlpha;\r\n\r\n this.persistenceStorageService.set(this.alphaOrderKey, this.alphaOrder);\r\n\r\n if (this.alphaOrder) {\r\n this.getContents(1, AppToken.CONTENTS_ITEMS_PER_REQUEST);\r\n this.updateStoredOrderList();\r\n } else {\r\n this.getContents(1, AppToken.CONTENTS_ITEMS_PER_PAGE);\r\n }\r\n\r\n }\r\n\r\n toggleAll(allContents: boolean) {\r\n this.allContents = allContents;\r\n\r\n this.reverseOrder = !this.reverseOrder\r\n\r\n if (this.allContents) {\r\n this.getContents(1, AppToken.CONTENTS_ITEMS_PER_REQUEST);\r\n } else {\r\n this.getContents(1, AppToken.CONTENTS_ITEMS_PER_PAGE);\r\n }\r\n }\r\n\r\n updatePaginateList($event: any): void {\r\n this.currentPageNumber = $event.page;\r\n this.paginateSize = $event.itemsPerPage;\r\n this.launchResearch();\r\n }\r\n\r\n //When you drop an elelemnt of the list, come here\r\n pageContentDrop(event) {\r\n if (this.filterValue === \"\" && !this.alphaOrder) {\r\n if (this.orderBySwitch == null) {\r\n console.warn(\"orderBySwitch is not set, using normal ordering by default\");\r\n this.normalReorder(event);\r\n } else if (!this.orderBySwitch) {\r\n this.normalReorder(event);\r\n } else {\r\n this.reorderBySwitch(event);\r\n }\r\n }\r\n }\r\n\r\n normalReorder(event) {\r\n const temp: Content[] = this.clone(this.selectableContents);\r\n const contentFacade = this.contentFacadeFactory.getDynamicContentSchemaFacade(this.schemaDefinition.name);\r\n const maxIndex = event['previousIndex'] > event['currentIndex'] ? event['previousIndex'] : event['currentIndex'];\r\n const minIndex = event['previousIndex'] < event['currentIndex'] ? event['previousIndex'] : event['currentIndex'];\r\n const obsList: Observable[] = [];\r\n\r\n //update content pos in list\r\n this.selectableContents = this.moveArray(this.selectableContents, event['previousIndex'], event['currentIndex']);\r\n\r\n //Get content tu update\r\n for (let i = minIndex; i < maxIndex; i++) {\r\n const contentId = temp[i].id;\r\n obsList.push(contentFacade.get(contentId, true));\r\n }\r\n\r\n //update contents in squidex\r\n this.subscriptions = this.subscriptions.concat(forkJoin(obsList).subscribe(() => {\r\n for (let i = minIndex; i <= maxIndex; i++) {\r\n const pc = this.selectableContents[i];\r\n const pcData = this.clone(pc.data);\r\n this.dParser.putData(pcData, 'index', i);\r\n contentFacade.update(pc.id, pcData).subscribe();\r\n }\r\n }));\r\n }\r\n\r\n cancelResearch() {\r\n this.isSearching = false;\r\n this.searchBar.nativeElement.value = \"\";\r\n this.listToggle(false);\r\n }\r\n\r\n //https://stackoverflow.com/questions/5306680/move-an-array-element-from-one-array-position-to-another\r\n // Maybe create a tool script for arrays ?\r\n moveArray(array: any[], from: number, to: number): any[] {\r\n array.splice(to, 0, array.splice(from, 1)[0]);\r\n return array;\r\n }\r\n\r\n //[a,b,c,d] if you move a => c become [c,b,a,d]\r\n //Can be call defining [orderBySwitch] = \"false\"\r\n reorderBySwitch(event) {\r\n const contentsOrdered: Content[] = this.clone(this.selectableContents);\r\n const temp = contentsOrdered[event['previousIndex']];\r\n contentsOrdered[event['previousIndex']] = contentsOrdered[event['currentIndex']];\r\n contentsOrdered[event['currentIndex']] = temp;\r\n this.selectableContents = contentsOrdered;\r\n const contentFacade = this.contentFacadeFactory.getDynamicContentSchemaFacade(this.schemaDefinition.name);\r\n\r\n // TODO: this has to be improve, there is no point to update every content here, just update the 2 that just changed\r\n for (let i = 0; i < contentsOrdered.length; i++) {\r\n const contentId = contentsOrdered[i].id;\r\n const sub = contentFacade.get(contentId, true).subscribe(pc => {\r\n const pcData = this.clone(pc.data);\r\n this.dParser.putData(pcData, 'index', i);\r\n contentFacade.update(contentId, pcData).subscribe();\r\n this.subscriptions.push(sub);\r\n });\r\n }\r\n }\r\n}\r\n","export default \"
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\";","import { DynamicSchemaModel } from './dynamic-schema.model';\r\nimport { Query } from '@datorama/akita';\r\nimport { DynamicSchemaStore } from './dynamic-schema.store';\r\n\r\nexport class DynamicSchemaQuery extends Query {\r\n constructor(store: DynamicSchemaStore) {\r\n super(store);\r\n\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BaseQuery } from '../base/base.query';\r\nimport { SiteSettingStore } from './site-setting.store';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SiteSettingQuery extends BaseQuery {\r\n\r\n constructor(store: SiteSettingStore) {\r\n super(store);\r\n }\r\n\r\n\r\n}\r\n","import { SchemaMetadataStore } from './schema-metadata.store';\r\nimport { Injectable } from '@angular/core';\r\nimport { BaseQuery } from '../base/base.query';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class SchemaMetadataQuery extends BaseQuery {\r\n constructor(store: SchemaMetadataStore) {\r\n super(store);\r\n }\r\n}\r\n","export default \"
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\\"image\\\"\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n {{ t(\\\"DRAG_DROP\\\") | async }}
\\r\\n {{ t(\\\"ADD_FILE\\\") | async }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\";","export { Validation } from './validation.tool';\r\nexport { SquidexTool } from './squidex.tool';\r\nexport { StringTool } from './string.tool';\r\n","import { Field, Schema } from \"../../services/squidex/index\";\r\nimport { SchemaMetadataModel } from \"../../services/akita/schema-metadata-schema/schema-metadata.model\";\r\n\r\nexport class FieldReferenceModel {\r\n field: Field;\r\n schemaId : string;\r\n schemaDefinition: Schema;\r\n schemaMetadata: SchemaMetadataModel;\r\n selectedValue : any;\r\n referenceFieldValues: any;\r\n selectedContent: any;\r\n control : any;\r\n}\r\n","export class FieldProperty {\r\n defaultValue: string;\r\n editor: string;\r\n editorUrl: string;\r\n fieldType: string;\r\n hints: string;\r\n inlineEditable: boolean;\r\n isListField: boolean;\r\n isReferenceField: boolean;\r\n isRequired: boolean;\r\n isUnique: boolean;\r\n label: string;\r\n maxLength: number;\r\n minLength: number;\r\n pattern: string;\r\n patternMessage: string;\r\n placeholder: string;\r\n mustBeImage: boolean;\r\n allowedExtensions: string[];\r\n allowDuplicates: boolean;\r\n resolveFirst: boolean;\r\n resolveImage: boolean;\r\n minItems: number;\r\n maxItems: number;\r\n allowedValues: string[];\r\n \r\n schemaIds: string[];\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BaseFacade } from '../base/base.facade';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { DynamicSchemaFactory } from '../dynamic-schema.factory';\r\nimport { AppToken } from '../../../models/app-token';\r\nimport { LayoutService } from './layout.service';\r\nimport { LayoutStore } from './layout.store';\r\nimport { LayoutQuery } from './layout.query';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class LayoutFacade extends BaseFacade {\r\n\r\n constructor(\r\n private readonly layoutService: LayoutService,\r\n layoutStore: LayoutStore,\r\n layoutQuery: LayoutQuery,\r\n dynamicSchemaFacto: DynamicSchemaFactory,\r\n translateService: TranslateService) {\r\n super(layoutService,\r\n layoutStore,\r\n layoutQuery,\r\n dynamicSchemaFacto.getDynamicSchemaFacade(AppToken.LAYOUT_SCHEMA_NAME),\r\n translateService,\r\n AppToken.LAYOUT_SCHEMA_NAME + '-facade'\r\n );\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BaseFacade } from '../base/base.facade';\r\nimport { SiteSettingStore } from './site-setting.store';\r\nimport { SiteSettingQuery } from './site-setting.query';\r\nimport { Observable, forkJoin, of } from 'rxjs';\r\nimport { SiteSettingService } from './site-setting.service';\r\nimport { map, flatMap, find } from 'rxjs/operators';\r\nimport { SiteSettingModel } from './site-setting.model';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { DynamicSchemaFactory } from '../dynamic-schema.factory';\r\nimport { AppToken } from \"../../../models/app-token\";\r\nimport { LanguageModel } from \"../language-schema/language.model\";\r\nimport { LanguageFacade } from '../language-schema/language.facade';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class SiteSettingFacade extends BaseFacade {\r\n\r\n constructor(\r\n private readonly siteSettingService: SiteSettingService,\r\n siteSettingStore: SiteSettingStore,\r\n siteSettingQuery: SiteSettingQuery,\r\n dynamicSchemaFacto: DynamicSchemaFactory,\r\n private languageFacade: LanguageFacade,\r\n translateService: TranslateService) {\r\n super(siteSettingService,\r\n siteSettingStore,\r\n siteSettingQuery,\r\n dynamicSchemaFacto.getDynamicSchemaFacade(AppToken.SITE_SETTING_SCHEMA_NAME),\r\n translateService,\r\n AppToken.SITE_SETTING_SCHEMA_NAME + '-facade'\r\n );\r\n }\r\n\r\n private initializeSiteSetting(): Observable {\r\n return forkJoin(\r\n this.siteSettingService.getFirstContent(),\r\n this.getSchema())\r\n .pipe(\r\n map(([firstContent, schema]) => {\r\n this.getStore().add(firstContent);\r\n this.getStore().update({ totalCount: 1 });\r\n this.getStore().update({ schema: schema });\r\n return firstContent;\r\n })\r\n );\r\n }\r\n\r\n selectFirst(): Observable {\r\n if (!this.getQuery().hasEntity()) {\r\n return this.initializeSiteSetting();\r\n } else {\r\n return this.getQuery().selectFirst();\r\n }\r\n }\r\n\r\n getSiteLanguages(siteSettingModel: SiteSettingModel = null): Observable {\r\n if (siteSettingModel) {\r\n return this.languageFacade.getLanguages(siteSettingModel.data.language.iv, 'data/index/iv');\r\n }\r\n const languages$ = this.getValidLanguage();\r\n return languages$.pipe(flatMap(languages => {\r\n return this.languageFacade.getLanguages(languages, 'data/index/iv');\r\n }));\r\n }\r\n\r\n getValidLanguage(): Observable {\r\n return this.selectFirst().pipe(map(siteSetting => {\r\n return siteSetting.data.language.iv;\r\n }));\r\n }\r\n\r\n getSiteDefaultLanguage(): Observable {\r\n return this.getSiteLanguages()\r\n .pipe(map(languages => languages\r\n .find(language => language.data.isdefault && language.data.isdefault.iv === true)));\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { DynamicSchemaFacade } from './dynamic-schema/dynamic-schema.facade';\r\nimport { SchemasFactory, Schema } from '../squidex';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class DynamicSchemaFactory {\r\n\r\n constructor(\r\n public readonly schemasFactory: SchemasFactory,\r\n private readonly translateService: TranslateService) { }\r\n\r\n getDynamicSchemaFacade(schemaName: string): DynamicSchemaFacade {\r\n return new DynamicSchemaFacade(schemaName, this.schemasFactory, this.translateService);\r\n }\r\n\r\n hardDeleteSchema(id: string): Promise {\r\n return this.schemasFactory.hardDeleteSchema(id).then(d => {\r\n this.schemasFactory.reloadSchemas = true;\r\n });\r\n }\r\n\r\n getAllSchemaMetaData(): Observable {\r\n return this.schemasFactory.getAllSchemas();\r\n }\r\n\r\n getSchemasMetadataByCategory(category: string): Observable {\r\n return this.schemasFactory.getAllSchemas()\r\n .pipe(\r\n map(schemas => schemas.filter(schema => schema.category === category))\r\n );\r\n }\r\n}\r\n","import { EFieldType } from './field-type.enum';\r\nimport { Field } from '../../../services';\r\n\r\nexport class FieldTool {\r\n\r\n static readonly basicLocalizableProperties = ['label', 'isRequiredMessage'];\r\n static readonly basicUnlocalizableProperties = ['isRequired'];\r\n\r\n\r\n static readonly inputLocalizableProperties = ['isUniqueMessage',\r\n 'isMinLengthMessage',\r\n 'isMaxLengthMessage',\r\n 'patternMessage',\r\n 'placeholder',\r\n 'defaultValue'];\r\n static readonly inputUnlocalizableProperties = ['isUnique', 'minLength', 'maxLength', 'pattern'];\r\n\r\n static readonly fileLocalizableProperties = ['mustBeImageMessage', 'allowedExtensionMessage'];\r\n static readonly fileUnlocalizableProperties = ['mustBeImage', 'allowedExtensions', 'minItems', 'maxItems'];\r\n\r\n static readonly textAreaLocalizableProperties = ['placeholder', 'defaultValue'];\r\n static readonly textAreaUnlocalizableProperties = [];\r\n\r\n\r\n static readonly mailLocalizableProperties = ['placeholder'];\r\n static readonly mailUnlocalizableProperties = [];\r\n\r\n static readonly radioLocalizableProperties = [];\r\n static readonly radioUnlocalizableProperties = ['schemaIds'];\r\n\r\n static readonly selectLocalizableProperties = [];\r\n static readonly selectUnlocalizableProperties = ['schemaIds'];\r\n\r\n static readonly validPatterns = {\r\n 'email': '^[a-zA-Z0-9.!#$%\\u0026\\u2019*\\u002B\\\\/=?^_\\u0060{|}~-]\\u002B@[a-zA-Z0-9-]\\u002B(?:.[a-zA-Z0-9-]\\u002B)*$',\r\n\r\n 'phone': '^\\\\(*\\\\\\u002B*[1-9]{0,3}\\\\)*-*[1-9]{0,3}[-. /]*\\\\(*[2-9]\\\\d{2}\\\\)*[-. /]*\\\\d{3}[-. /]*\\\\d{4} *e*x*t*\\\\.* *\\\\d{0,4}$',\r\n\r\n 'slug': '^[a-z0-9]\\u002B(\\\\-[a-z0-9]\\u002B)*$',\r\n\r\n 'url': '^(?:http(s)?:\\\\/\\\\/)?[\\\\w.-]\\u002B(?:\\\\.[\\\\w\\\\.-]\\u002B)\\u002B[\\\\w\\\\-\\\\._~:\\\\/?#%[\\\\]@!\\\\$\\u0026\\u0027\\\\(\\\\)\\\\*\\\\\\u002B,;=.]\\u002B$',\r\n }\r\n\r\n static generateSquidexValidField(fieldType: EFieldType, isLocalized = false): Field {\r\n const field = new Field();\r\n\r\n switch (fieldType) {\r\n case EFieldType.INPUT:\r\n field.properties.fieldType = 'String';\r\n field.properties.editor = 'Input';\r\n break;\r\n case EFieldType.FILE:\r\n field.properties.fieldType = 'Assets';\r\n field.properties.editor = 'Import';\r\n break;\r\n case EFieldType.TEXTAREA:\r\n field.properties.fieldType = 'String';\r\n field.properties.editor = 'TextArea';\r\n break;\r\n case EFieldType.CHECKBOX:\r\n field.properties.fieldType = 'Boolean';\r\n field.properties.editor = 'Checkbox';\r\n break;\r\n case EFieldType.RADIO:\r\n field.properties.fieldType = 'References';\r\n field.properties.editor = 'List';\r\n break;\r\n case EFieldType.SELECT:\r\n field.properties.fieldType = 'References';\r\n field.properties.editor = 'Dropdown';\r\n break;\r\n case EFieldType.SELECT_MULTIPLE:\r\n field.properties.fieldType = 'References';\r\n field.properties.editor = 'Checkboxes';\r\n break;\r\n case EFieldType.DATE:\r\n field.properties.fieldType = 'DateTime';\r\n field.properties.editor = 'Date';\r\n break;\r\n case EFieldType.MAIL:\r\n field.properties.pattern = '^[a-zA-Z0-9.!#$%&’*+\\/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:.[a-zA-Z0-9-]+)*$';\r\n field.properties.fieldType = 'String';\r\n field.properties.editor = 'Input';\r\n break;\r\n case EFieldType.ORDONNABLE_SELECT_MULTIPLE:\r\n field.properties.fieldType = 'References';\r\n field.properties.editor = 'Tags';\r\n break;\r\n }\r\n\r\n field.properties.inlineEditable = false;\r\n field.properties.isRequired = false;\r\n field.properties.isUnique = false;\r\n\r\n if (isLocalized) {\r\n field.partitioning = 'language';\r\n } else {\r\n field.partitioning = 'invariant';\r\n }\r\n\r\n return field;\r\n }\r\n\r\n static getUnlocalizableFieldProperties(fieldType: EFieldType): string[] {\r\n let unlocalizableProperties = this.basicUnlocalizableProperties;\r\n\r\n switch (fieldType) {\r\n case EFieldType.INPUT:\r\n unlocalizableProperties = unlocalizableProperties.concat(this.inputUnlocalizableProperties);\r\n break;\r\n case EFieldType.FILE:\r\n unlocalizableProperties = unlocalizableProperties.concat(this.fileUnlocalizableProperties);\r\n break;\r\n case EFieldType.RADIO:\r\n unlocalizableProperties = unlocalizableProperties.concat(this.radioUnlocalizableProperties);\r\n break;\r\n case EFieldType.SELECT:\r\n unlocalizableProperties = unlocalizableProperties.concat(this.selectUnlocalizableProperties);\r\n break;\r\n case EFieldType.SELECT_MULTIPLE:\r\n unlocalizableProperties = unlocalizableProperties.concat(this.selectUnlocalizableProperties);\r\n break;\r\n case EFieldType.ORDONNABLE_SELECT_MULTIPLE:\r\n unlocalizableProperties = unlocalizableProperties.concat(this.selectUnlocalizableProperties);\r\n break;\r\n\r\n }\r\n\r\n return unlocalizableProperties;\r\n }\r\n\r\n\r\n static getLocalizableFieldProperties(fieldType: EFieldType): string[] {\r\n let properties = this.basicLocalizableProperties;\r\n\r\n switch (fieldType) {\r\n case EFieldType.INPUT:\r\n properties = properties.concat(this.inputLocalizableProperties);\r\n break;\r\n\r\n case EFieldType.TEXTAREA:\r\n properties = properties.concat(this.textAreaLocalizableProperties);\r\n break;\r\n\r\n case EFieldType.FILE:\r\n properties = properties.concat(this.fileLocalizableProperties);\r\n break;\r\n\r\n case EFieldType.MAIL:\r\n properties = properties.concat(this.mailLocalizableProperties);\r\n break;\r\n }\r\n\r\n return properties;\r\n }\r\n\r\n\r\n static getTypeFromField(field: Field): EFieldType {\r\n\r\n if (field.properties.fieldType === 'Assets') {\r\n return EFieldType.FILE;\r\n }\r\n\r\n switch (field.properties.editor) {\r\n case 'Input':\r\n if (field.properties.pattern === '^[a-zA-Z0-9.!#$%&’*+\\/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:.[a-zA-Z0-9-]+)*$') {\r\n return EFieldType.MAIL;\r\n }\r\n else {\r\n return EFieldType.INPUT;\r\n }\r\n case 'TextArea':\r\n return EFieldType.TEXTAREA;\r\n case 'Checkbox':\r\n return EFieldType.CHECKBOX;\r\n case 'List':\r\n return EFieldType.RADIO;\r\n case 'Dropdown':\r\n if(field.properties.fieldType == \"String\" && field.properties.allowedValues && field.properties.allowedValues.length > 0) {\r\n return EFieldType.STRING_SELECT;\r\n }\r\n return EFieldType.SELECT;\r\n case 'Checkboxes':\r\n return EFieldType.SELECT_MULTIPLE;\r\n case 'Date':\r\n return EFieldType.DATE;\r\n case 'Tags':\r\n return EFieldType.ORDONNABLE_SELECT_MULTIPLE;\r\n case 'Html':\r\n return EFieldType.MONACO_HTML;\r\n default:\r\n return EFieldType.DATE;\r\n }\r\n }\r\n\r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { ContentFactory } from '../squidex/factories/content.factory';\r\nimport { DynamicContentSchemaFacade } from './dynamic-content-schema/dynamic-content.facade';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { DynamicSchemaFactory } from './dynamic-schema.factory';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class DynamicContentSchemaFactory {\r\n\r\n constructor(\r\n private readonly contentFactory: ContentFactory,\r\n private readonly dynamicSchemaFacto: DynamicSchemaFactory,\r\n private readonly translateService: TranslateService) { }\r\n\r\n getDynamicContentSchemaFacade(schemaName: string): DynamicContentSchemaFacade {\r\n return new DynamicContentSchemaFacade(schemaName,\r\n this.contentFactory,\r\n this.dynamicSchemaFacto,\r\n this.translateService);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BaseService } from '../base/base.service';\r\nimport { ContentFactory, ContentList } from '../../squidex';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class SchemaMetadataService extends BaseService {\r\n constructor(contentFactory: ContentFactory) {\r\n super('schemametadata', contentFactory);\r\n }\r\n\r\n getByCategory(category: string): Observable {\r\n this.initialize();\r\n return this.contentService.findContent(`?$filter=data/deleted/iv ne true and data/category/iv eq '${category}'`);\r\n }\r\n\r\n\r\n getAll(): Observable {\r\n this.initialize();\r\n return this.contentService.findContent(``);\r\n }\r\n\r\n\r\n getBySchemaId(id: string): Observable {\r\n this.initialize();\r\n return this.contentService.findContent(`?$filter=data/schemaid/iv eq '${id}'`);\r\n }\r\n}\r\n","export default \"
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
{{ tc(\\\"MEDIATECH\\\") | async }}
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\";","import { SquidexDate } from \"../services\";\r\n\r\nexport class SquidexTool {\r\n\r\n public sanitizeForUniqueName(name: string) {\r\n return this.cleanString(name);\r\n }\r\n\r\n public firstUpperSnakeCase(str: string) {\r\n if (!str) {\r\n return '';\r\n } else {\r\n let result = str\r\n .match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g)\r\n .map(x => x.toLowerCase())\r\n .join('_');\r\n return str.charAt(0).toUpperCase() + result.slice(1);\r\n }\r\n }\r\n\r\n // force lowercase and allow hyphen (or not)\r\n public makeSlug(str: string, noHyphen: boolean = false) {\r\n str = str.toLowerCase();\r\n const replaceChar = noHyphen ? '' : '-';\r\n str = str.replace(/[^a-z0-9]+/g, replaceChar);\r\n str = str.replace(/^-+|-+$/g, '');\r\n return str;\r\n }\r\n\r\n // uppercase 1st char, remove spaces and unnecessary characters. don't force underscore but allow it\r\n public cleanString(str: string) {\r\n if (!str) {\r\n return '';\r\n } else {\r\n let result = str.replace(/[^a-zA-Z0-9_]+/g, \"\");\r\n return result.charAt(0).toUpperCase() + result.slice(1);\r\n }\r\n }\r\n\r\n public dateStringToUtc(date: string) {\r\n const dt = new Date(date);\r\n return new SquidexDate(dt).formatUtc().slice(0,-5) + 'Z';\r\n }\r\n\r\n public utcToDateString(date: string) {\r\n const dt = new Date(date);\r\n\r\n return dt.getFullYear() +\r\n '-' + this.pad(dt.getMonth() + 1) +\r\n '-' + this.pad(dt.getDate()) +\r\n 'T' + this.pad(dt.getHours()) +\r\n ':' + this.pad(dt.getMinutes()) +\r\n ':' + this.pad(dt.getSeconds()) +\r\n 'Z';\r\n }\r\n\r\n private pad(number) {\r\n if (number < 10) {\r\n return '0' + number;\r\n }\r\n return number;\r\n }\r\n\r\n}\r\n","export default \".btn-secondary {\\n color: #fff;\\n background-color: #bababa !important;\\n border-color: #bababa !important;\\n}\\n\\n.btn-secondary:hover {\\n background-color: #a3a3a3 !important;\\n}\\n\\n.show > .btn-secondary.dropdown-toggle {\\n color: #fff;\\n background-color: #bababa !important;\\n border-color: #bababa !important;\\n}\\n\\n.show > .btn-secondary.dropdown-toggle:hover {\\n background-color: #a3a3a3 !important;\\n}\\n\\n.btn-group > .btn-group:not(:first-child) {\\n margin-left: -2px;\\n /*width: 151px;*/\\n height: 45px;\\n cursor: pointer;\\n}\\n\\n.dropdown-item {\\n padding: .25rem 0 !important;\\n}\\n\\n.mode-draft-checkbox {\\n height: 10px;\\n margin-left: auto !important;\\n padding: 0;\\n position: relative;\\n bottom: 40px;\\n}\\n\\n.mode-draft-checkbox label {\\n color: white;\\n}\\n\\n.action-controls button {\\n /*width: 151px;*/\\n height: 45px;\\n background-color: #bababa !important;\\n border-color: #bababa !important;\\n}\\n\\n.action-controls button:hover {\\n background-color: #a3a3a3 !important;\\n}\\n\\n.action-controls ul li {\\n margin: 10px 0;\\n}\\n\\n.text-right {\\n text-align: right !important;\\n}\\n\\n.text-right button {\\n margin: 18px;\\n width: 200px;\\n height: 45px;\\n color: black;\\n}\\n\\n.notification {\\n background-color: #3F93F1;\\n color: white;\\n padding: 8px;\\n border-radius: 20px;\\n top: 23px;\\n position: relative;\\n}\\n\\n.badge-type {\\n border: solid lightgray 1px;\\n border-radius: 10px;\\n padding: 4px 5px 2px;\\n font-size: 10px;\\n font-style: italic;\\n text-transform: uppercase;\\n margin-right: 3px;\\n}\\n\\n.b-red {\\n border-color: red;\\n color: red;\\n}\\n\\n.b-blue {\\n border-color: blue;\\n color: blue;\\n}\\n\\n.b-violet {\\n border-color: blueviolet;\\n color: blueviolet;\\n}\\n\\n.b-green {\\n border-color: green;\\n color: green;\\n}\\n\\n.b-orangium {\\n border-color: #f19100;\\n color: #f19100;\\n}\\n\\n.b-gray {\\n border: none !important;\\n color: #343a40;\\n background-color: lightgray;\\n}\\n\\n.switch {\\n position: relative;\\n display: inline-block;\\n width: 60px;\\n height: 34px;\\n}\\n\\n.switch input {\\n opacity: 0;\\n width: 0;\\n height: 0;\\n}\\n\\n.slider {\\n position: absolute;\\n cursor: pointer;\\n top: 0;\\n left: 0;\\n right: 0;\\n bottom: 0;\\n background-color: #ccc;\\n transition: .4s;\\n}\\n\\n.slider:before {\\n position: absolute;\\n content: \\\"\\\";\\n height: 26px;\\n width: 26px;\\n left: 4px;\\n bottom: 4px;\\n background-color: white;\\n transition: .4s;\\n}\\n\\ninput:checked + .slider {\\n background-color: #f19100;\\n}\\n\\ninput:focus + .slider {\\n box-shadow: 0 0 1px #f19100;\\n}\\n\\ninput:checked + .slider:before {\\n transform: translateX(26px);\\n}\\n\\n/* Rounded sliders */\\n\\n.slider.round {\\n border-radius: 34px;\\n}\\n\\n.slider.round:before {\\n border-radius: 50%;\\n}\\n\\n.btn-delete-orangium {\\n position: relative;\\n text-align: center;\\n line-height: 40px;\\n}\\n\\n.btn-delete-orangium a {\\n background-color: #CD0000;\\n height: 45px;\\n color: white;\\n cursor: pointer;\\n}\\n\\n.btn-delete-orangium img {\\n position: relative;\\n left: 15px;\\n}\\n\\n.btn-publish-orangium, .btn-save-orangium {\\n text-align: center;\\n line-height: 40px;\\n margin-right: 10px;\\n}\\n\\n.btn-publish-orangium a {\\n /*width: 151px;*/\\n height: 45px;\\n}\\n\\n.btn-publish-orangium img, .btn-save-orangium img {\\n position: relative;\\n height: 25px;\\n width: 25px;\\n}\\n\\n.btn-save-orangium a {\\n /*width: 151px;*/\\n height: 45px;\\n cursor: pointer;\\n}\\n\\npublish-orangium {\\n background-color: green !important;\\n}\\n\\ncreate-draft-orangium {\\n background-color: #bababa !important;\\n}\\n\\ncreate-draft-orangium:hover {\\n background-color: #a3a3a3 !important;\\n}\\n\\ndelete-draft-orangium {\\n background-color: #bd2130 !important;\\n}\\n\\n.bubble-content-left, .bubble-content-right, .bubble-content {\\n background-color: #ececec;\\n margin-top: 15px;\\n padding: 50px;\\n overflow: unset !important;\\n z-index: 99 !important;\\n}\\n\\n.bubble-content-right::before {\\n content: \\\"\\\";\\n border-left: 30px solid transparent;\\n border-right: 30px solid transparent;\\n border-bottom: 70px solid #ececec;\\n float: right;\\n width: 20px;\\n margin-top: -70px;\\n margin-left: 80px;\\n}\\n\\n.bubble-content-left::before {\\n content: \\\"\\\";\\n border-left: 30px solid transparent;\\n border-right: 30px solid transparent;\\n border-bottom: 70px solid #ececec;\\n float: right;\\n width: 20px;\\n margin-top: -70px;\\n position: absolute;\\n margin-left: 80px;\\n}\\n\\n.bubble-content-context::after {\\n content: \\\"\\\";\\n border-left: 30px solid transparent;\\n border-right: 30px solid transparent;\\n border-bottom: 70px solid #ececec;\\n float: right;\\n width: 20px;\\n margin-top: -70px;\\n position: absolute;\\n margin-left: 80px;\\n}\\n\\n.btn-orangium-save {\\n width: 120px;\\n height: 30px;\\n line-height: 0.5;\\n color: black;\\n background-color: #F29100;\\n}\\n\\n.btn-orangium-cancel {\\n width: 120px;\\n height: 45px;\\n color: black;\\n line-height: 0.5;\\n margin-right: 2.5rem !important;\\n}\\n\\n.section-lt {\\n text-align: right;\\n width: unset;\\n margin-right: 20px;\\n margin-top: 20px;\\n}\\n\\n.section-lt .folder-blk {\\n border-bottom: none !important;\\n}\\n\\n.btn-clone-orangium img {\\n position: relative;\\n height: 25px;\\n width: 25px;\\n}\\n\\n.btn-clone-orangium {\\n text-align: center;\\n line-height: 40px;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uXFwuLlxcLi5cXC4uXFxwYWdlLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsV0FBVztFQUNYLG9DQUFvQztFQUNwQyxnQ0FBZ0M7QUFDbEM7O0FBRUE7RUFDRSxvQ0FBb0M7QUFDdEM7O0FBRUE7RUFDRSxXQUFXO0VBQ1gsb0NBQW9DO0VBQ3BDLGdDQUFnQztBQUNsQzs7QUFFQTtFQUNFLG9DQUNGO0FBQUE7O0FBRUE7RUFDRSxpQkFBaUI7RUFDakIsZ0JBQUE7RUFDQSxZQUFZO0VBQ1osZUFBZTtBQUNqQjs7QUFFQTtFQUNFLDRCQUE0QjtBQUM5Qjs7QUFFQTtFQUNFLFlBQVk7RUFDWiw0QkFBNEI7RUFDNUIsVUFBVTtFQUNWLGtCQUFrQjtFQUNsQixZQUFZO0FBQ2Q7O0FBRUE7RUFDRSxZQUFZO0FBQ2Q7O0FBRUE7RUFDRSxnQkFBQTtFQUNBLFlBQVk7RUFDWixvQ0FBb0M7RUFDcEMsZ0NBQWdDO0FBQ2xDOztBQUVBO0VBQ0Usb0NBQW9DO0FBQ3RDOztBQUVBO0VBQ0UsY0FBYztBQUNoQjs7QUFFQTtFQUNFLDRCQUE0QjtBQUM5Qjs7QUFFQTtFQUNFLFlBQVk7RUFDWixZQUFZO0VBQ1osWUFBWTtFQUNaLFlBQVk7QUFDZDs7QUFFQTtFQUNFLHlCQUF5QjtFQUN6QixZQUFZO0VBQ1osWUFBWTtFQUNaLG1CQUFtQjtFQUNuQixTQUFTO0VBQ1Qsa0JBQWtCO0FBQ3BCOztBQUVBO0VBQ0UsMkJBQTJCO0VBQzNCLG1CQUFtQjtFQUNuQixvQkFBb0I7RUFDcEIsZUFBZTtFQUNmLGtCQUFrQjtFQUNsQix5QkFBeUI7RUFDekIsaUJBQWlCO0FBQ25COztBQUVBO0VBQ0UsaUJBQWlCO0VBQ2pCLFVBQVU7QUFDWjs7QUFFQTtFQUNFLGtCQUFrQjtFQUNsQixXQUFXO0FBQ2I7O0FBRUE7RUFDRSx3QkFBd0I7RUFDeEIsaUJBQWlCO0FBQ25COztBQUVBO0VBQ0UsbUJBQW1CO0VBQ25CLFlBQVk7QUFDZDs7QUFFQTtFQUNFLHFCQUFxQjtFQUNyQixjQUFjO0FBQ2hCOztBQUVBO0VBQ0UsdUJBQXVCO0VBQ3ZCLGNBQWM7RUFDZCwyQkFBMkI7QUFDN0I7O0FBR0E7RUFDRSxrQkFBa0I7RUFDbEIscUJBQXFCO0VBQ3JCLFdBQVc7RUFDWCxZQUFZO0FBQWQ7O0FBR0E7RUFDRSxVQUFVO0VBQ1YsUUFBUTtFQUNSLFNBQVM7QUFBWDs7QUFHQTtFQUNFLGtCQUFrQjtFQUNsQixlQUFlO0VBQ2YsTUFBTTtFQUNOLE9BQU87RUFDUCxRQUFRO0VBQ1IsU0FBUztFQUNULHNCQUFzQjtFQUV0QixlQUFlO0FBQWpCOztBQUdBO0VBQ0Usa0JBQWtCO0VBQ2xCLFdBQVc7RUFDWCxZQUFZO0VBQ1osV0FBVztFQUNYLFNBQVM7RUFDVCxXQUFXO0VBQ1gsdUJBQXVCO0VBRXZCLGVBQWU7QUFBakI7O0FBR0E7RUFDRSx5QkFBeUI7QUFBM0I7O0FBR0E7RUFDRSwyQkFBMkI7QUFBN0I7O0FBR0E7RUFHRSwyQkFBMkI7QUFBN0I7O0FBR0Esb0JBQUE7O0FBQ0E7RUFDRSxtQkFBbUI7QUFBckI7O0FBR0E7RUFDRSxrQkFBa0I7QUFBcEI7O0FBSUE7RUFDRSxrQkFBa0I7RUFDbEIsa0JBQWtCO0VBQ2xCLGlCQUFpQjtBQURuQjs7QUFLQTtFQUNFLHlCQUF5QjtFQUN6QixZQUFZO0VBQ1osWUFBWTtFQUNaLGVBQWU7QUFGakI7O0FBS0E7RUFDRSxrQkFBa0I7RUFDbEIsVUFBVTtBQUZaOztBQUtBO0VBQ0Usa0JBQWtCO0VBQ2xCLGlCQUFpQjtFQUNqQixrQkFBa0I7QUFGcEI7O0FBS0E7RUFDRSxnQkFBQTtFQUNBLFlBQVk7QUFGZDs7QUFLQTtFQUNFLGtCQUFrQjtFQUNsQixZQUFZO0VBQ1osV0FBVztBQUZiOztBQUtBO0VBQ0UsZ0JBQUE7RUFDQSxZQUFZO0VBQ1osZUFBZTtBQUZqQjs7QUFLQTtFQUNFLGtDQUFrQztBQUZwQzs7QUFLQTtFQUNFLG9DQUFvQztBQUZ0Qzs7QUFNQTtFQUNFLG9DQUFvQztBQUh0Qzs7QUFNQTtFQUNFLG9DQUFvQztBQUh0Qzs7QUFNQTtFQUNFLHlCQUF5QjtFQUN6QixnQkFBZ0I7RUFDaEIsYUFBYTtFQUNiLDBCQUEwQjtFQUMxQixzQkFBc0I7QUFIeEI7O0FBTUE7RUFDRSxXQUFXO0VBQ1gsbUNBQW1DO0VBQ25DLG9DQUFvQztFQUNwQyxpQ0FBaUM7RUFDakMsWUFBWTtFQUNaLFdBQVc7RUFDWCxpQkFBaUI7RUFDakIsaUJBQWlCO0FBSG5COztBQU1BO0VBQ0UsV0FBVztFQUNYLG1DQUFtQztFQUNuQyxvQ0FBb0M7RUFDcEMsaUNBQWlDO0VBQ2pDLFlBQVk7RUFDWixXQUFXO0VBQ1gsaUJBQWlCO0VBQ2pCLGtCQUFrQjtFQUNsQixpQkFBaUI7QUFIbkI7O0FBTUE7RUFDRSxXQUFXO0VBQ1gsbUNBQW1DO0VBQ25DLG9DQUFvQztFQUNwQyxpQ0FBaUM7RUFDakMsWUFBWTtFQUNaLFdBQVc7RUFDWCxpQkFBaUI7RUFDakIsa0JBQWtCO0VBQ2xCLGlCQUFpQjtBQUhuQjs7QUFRQTtFQUNFLFlBQVk7RUFDWixZQUFZO0VBQ1osZ0JBQWdCO0VBQ2hCLFlBQVk7RUFDWix5QkFBeUI7QUFMM0I7O0FBUUE7RUFDRSxZQUFZO0VBQ1osWUFBWTtFQUNaLFlBQVk7RUFDWixnQkFBZ0I7RUFDaEIsK0JBQStCO0FBTGpDOztBQVFBO0VBQ0UsaUJBQWlCO0VBQ2pCLFlBQVk7RUFDWixrQkFBa0I7RUFDbEIsZ0JBQWdCO0FBTGxCOztBQVFBO0VBQ0UsOEJBQThCO0FBTGhDOztBQVVBO0VBQ0Usa0JBQWtCO0VBQ2xCLFlBQVk7RUFDWixXQUFXO0FBUGI7O0FBV0E7RUFDRSxrQkFBa0I7RUFDbEIsaUJBQWlCO0FBUm5CIiwiZmlsZSI6InBhZ2UuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuYnRuLXNlY29uZGFyeSB7XHJcbiAgY29sb3I6ICNmZmY7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2JhYmFiYSAhaW1wb3J0YW50O1xyXG4gIGJvcmRlci1jb2xvcjogI2JhYmFiYSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uYnRuLXNlY29uZGFyeTpob3ZlciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2EzYTNhMyAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uc2hvdyA+IC5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZSB7XHJcbiAgY29sb3I6ICNmZmY7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2JhYmFiYSAhaW1wb3J0YW50O1xyXG4gIGJvcmRlci1jb2xvcjogI2JhYmFiYSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uc2hvdyA+IC5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZTpob3ZlciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2EzYTNhMyAhaW1wb3J0YW50XHJcbn1cclxuXHJcbi5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpIHtcclxuICBtYXJnaW4tbGVmdDogLTJweDtcclxuICAvKndpZHRoOiAxNTFweDsqL1xyXG4gIGhlaWdodDogNDVweDtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5kcm9wZG93bi1pdGVtIHtcclxuICBwYWRkaW5nOiAuMjVyZW0gMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ubW9kZS1kcmFmdC1jaGVja2JveCB7XHJcbiAgaGVpZ2h0OiAxMHB4O1xyXG4gIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgcGFkZGluZzogMDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgYm90dG9tOiA0MHB4O1xyXG59XHJcblxyXG4ubW9kZS1kcmFmdC1jaGVja2JveCBsYWJlbCB7XHJcbiAgY29sb3I6IHdoaXRlO1xyXG59XHJcblxyXG4uYWN0aW9uLWNvbnRyb2xzIGJ1dHRvbiB7XHJcbiAgLyp3aWR0aDogMTUxcHg7Ki9cclxuICBoZWlnaHQ6IDQ1cHg7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2JhYmFiYSAhaW1wb3J0YW50O1xyXG4gIGJvcmRlci1jb2xvcjogI2JhYmFiYSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uYWN0aW9uLWNvbnRyb2xzIGJ1dHRvbjpob3ZlciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2EzYTNhMyAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uYWN0aW9uLWNvbnRyb2xzIHVsIGxpIHtcclxuICBtYXJnaW46IDEwcHggMDtcclxufVxyXG5cclxuLnRleHQtcmlnaHQge1xyXG4gIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi50ZXh0LXJpZ2h0IGJ1dHRvbiB7XHJcbiAgbWFyZ2luOiAxOHB4O1xyXG4gIHdpZHRoOiAyMDBweDtcclxuICBoZWlnaHQ6IDQ1cHg7XHJcbiAgY29sb3I6IGJsYWNrO1xyXG59XHJcblxyXG4ubm90aWZpY2F0aW9uIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM0Y5M0YxO1xyXG4gIGNvbG9yOiB3aGl0ZTtcclxuICBwYWRkaW5nOiA4cHg7XHJcbiAgYm9yZGVyLXJhZGl1czogMjBweDtcclxuICB0b3A6IDIzcHg7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4uYmFkZ2UtdHlwZSB7XHJcbiAgYm9yZGVyOiBzb2xpZCBsaWdodGdyYXkgMXB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgcGFkZGluZzogNHB4IDVweCAycHg7XHJcbiAgZm9udC1zaXplOiAxMHB4O1xyXG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gIG1hcmdpbi1yaWdodDogM3B4O1xyXG59XHJcblxyXG4uYi1yZWQge1xyXG4gIGJvcmRlci1jb2xvcjogcmVkO1xyXG4gIGNvbG9yOiByZWQ7XHJcbn1cclxuXHJcbi5iLWJsdWUge1xyXG4gIGJvcmRlci1jb2xvcjogYmx1ZTtcclxuICBjb2xvcjogYmx1ZTtcclxufVxyXG5cclxuLmItdmlvbGV0IHtcclxuICBib3JkZXItY29sb3I6IGJsdWV2aW9sZXQ7XHJcbiAgY29sb3I6IGJsdWV2aW9sZXQ7XHJcbn1cclxuXHJcbi5iLWdyZWVuIHtcclxuICBib3JkZXItY29sb3I6IGdyZWVuO1xyXG4gIGNvbG9yOiBncmVlbjtcclxufVxyXG5cclxuLmItb3JhbmdpdW0ge1xyXG4gIGJvcmRlci1jb2xvcjogI2YxOTEwMDtcclxuICBjb2xvcjogI2YxOTEwMDtcclxufVxyXG5cclxuLmItZ3JheSB7XHJcbiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICMzNDNhNDA7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRncmF5O1xyXG59XHJcblxyXG5cclxuLnN3aXRjaCB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB3aWR0aDogNjBweDtcclxuICBoZWlnaHQ6IDM0cHg7XHJcbn1cclxuXHJcbi5zd2l0Y2ggaW5wdXQge1xyXG4gIG9wYWNpdHk6IDA7XHJcbiAgd2lkdGg6IDA7XHJcbiAgaGVpZ2h0OiAwO1xyXG59XHJcblxyXG4uc2xpZGVyIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIGJvdHRvbTogMDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogLjRzO1xyXG4gIHRyYW5zaXRpb246IC40cztcclxufVxyXG5cclxuLnNsaWRlcjpiZWZvcmUge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBjb250ZW50OiBcIlwiO1xyXG4gIGhlaWdodDogMjZweDtcclxuICB3aWR0aDogMjZweDtcclxuICBsZWZ0OiA0cHg7XHJcbiAgYm90dG9tOiA0cHg7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAuNHM7XHJcbiAgdHJhbnNpdGlvbjogLjRzO1xyXG59XHJcblxyXG5pbnB1dDpjaGVja2VkICsgLnNsaWRlciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YxOTEwMDtcclxufVxyXG5cclxuaW5wdXQ6Zm9jdXMgKyAuc2xpZGVyIHtcclxuICBib3gtc2hhZG93OiAwIDAgMXB4ICNmMTkxMDA7XHJcbn1cclxuXHJcbmlucHV0OmNoZWNrZWQgKyAuc2xpZGVyOmJlZm9yZSB7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjZweCk7XHJcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyNnB4KTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjZweCk7XHJcbn1cclxuXHJcbi8qIFJvdW5kZWQgc2xpZGVycyAqL1xyXG4uc2xpZGVyLnJvdW5kIHtcclxuICBib3JkZXItcmFkaXVzOiAzNHB4O1xyXG59XHJcblxyXG4uc2xpZGVyLnJvdW5kOmJlZm9yZSB7XHJcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG59XHJcblxyXG5cclxuLmJ0bi1kZWxldGUtb3JhbmdpdW0ge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgbGluZS1oZWlnaHQ6IDQwcHg7XHJcbiAgLy8gbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG59XHJcblxyXG4uYnRuLWRlbGV0ZS1vcmFuZ2l1bSBhIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQ0QwMDAwO1xyXG4gIGhlaWdodDogNDVweDtcclxuICBjb2xvcjogd2hpdGU7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uYnRuLWRlbGV0ZS1vcmFuZ2l1bSBpbWcge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBsZWZ0OiAxNXB4O1xyXG59XHJcblxyXG4uYnRuLXB1Ymxpc2gtb3JhbmdpdW0sIC5idG4tc2F2ZS1vcmFuZ2l1bSB7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGxpbmUtaGVpZ2h0OiA0MHB4O1xyXG4gIG1hcmdpbi1yaWdodDogMTBweDtcclxufVxyXG5cclxuLmJ0bi1wdWJsaXNoLW9yYW5naXVtIGEge1xyXG4gIC8qd2lkdGg6IDE1MXB4OyovXHJcbiAgaGVpZ2h0OiA0NXB4O1xyXG59XHJcblxyXG4uYnRuLXB1Ymxpc2gtb3JhbmdpdW0gaW1nLCAuYnRuLXNhdmUtb3JhbmdpdW0gaW1nIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgaGVpZ2h0OiAyNXB4O1xyXG4gIHdpZHRoOiAyNXB4O1xyXG59XHJcblxyXG4uYnRuLXNhdmUtb3JhbmdpdW0gYSB7XHJcbiAgLyp3aWR0aDogMTUxcHg7Ki9cclxuICBoZWlnaHQ6IDQ1cHg7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG5wdWJsaXNoLW9yYW5naXVtIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbiAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5jcmVhdGUtZHJhZnQtb3JhbmdpdW0ge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNiYWJhYmEgIWltcG9ydGFudDtcclxufVxyXG5cclxuXHJcbmNyZWF0ZS1kcmFmdC1vcmFuZ2l1bTpob3ZlciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2EzYTNhMyAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5kZWxldGUtZHJhZnQtb3JhbmdpdW0ge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNiZDIxMzAgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmJ1YmJsZS1jb250ZW50LWxlZnQsIC5idWJibGUtY29udGVudC1yaWdodCwgLmJ1YmJsZS1jb250ZW50IHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlY2VjO1xyXG4gIG1hcmdpbi10b3A6IDE1cHg7XHJcbiAgcGFkZGluZzogNTBweDtcclxuICBvdmVyZmxvdzogdW5zZXQgIWltcG9ydGFudDtcclxuICB6LWluZGV4OiA5OSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uYnViYmxlLWNvbnRlbnQtcmlnaHQ6OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcIjtcclxuICBib3JkZXItbGVmdDogMzBweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICBib3JkZXItcmlnaHQ6IDMwcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyLWJvdHRvbTogNzBweCBzb2xpZCAjZWNlY2VjO1xyXG4gIGZsb2F0OiByaWdodDtcclxuICB3aWR0aDogMjBweDtcclxuICBtYXJnaW4tdG9wOiAtNzBweDtcclxuICBtYXJnaW4tbGVmdDogODBweDtcclxufVxyXG5cclxuLmJ1YmJsZS1jb250ZW50LWxlZnQ6OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcIjtcclxuICBib3JkZXItbGVmdDogMzBweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICBib3JkZXItcmlnaHQ6IDMwcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyLWJvdHRvbTogNzBweCBzb2xpZCAjZWNlY2VjO1xyXG4gIGZsb2F0OiByaWdodDtcclxuICB3aWR0aDogMjBweDtcclxuICBtYXJnaW4tdG9wOiAtNzBweDtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgbWFyZ2luLWxlZnQ6IDgwcHg7XHJcbn1cclxuXHJcbi5idWJibGUtY29udGVudC1jb250ZXh0OjphZnRlciB7XHJcbiAgY29udGVudDogXCJcIjtcclxuICBib3JkZXItbGVmdDogMzBweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICBib3JkZXItcmlnaHQ6IDMwcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyLWJvdHRvbTogNzBweCBzb2xpZCAjZWNlY2VjO1xyXG4gIGZsb2F0OiByaWdodDtcclxuICB3aWR0aDogMjBweDtcclxuICBtYXJnaW4tdG9wOiAtNzBweDtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgbWFyZ2luLWxlZnQ6IDgwcHg7XHJcbn1cclxuXHJcblxyXG5cclxuLmJ0bi1vcmFuZ2l1bS1zYXZlIHtcclxuICB3aWR0aDogMTIwcHg7XHJcbiAgaGVpZ2h0OiAzMHB4O1xyXG4gIGxpbmUtaGVpZ2h0OiAwLjU7XHJcbiAgY29sb3I6IGJsYWNrO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNGMjkxMDA7XHJcbn1cclxuXHJcbi5idG4tb3JhbmdpdW0tY2FuY2VsIHtcclxuICB3aWR0aDogMTIwcHg7XHJcbiAgaGVpZ2h0OiA0NXB4O1xyXG4gIGNvbG9yOiBibGFjaztcclxuICBsaW5lLWhlaWdodDogMC41O1xyXG4gIG1hcmdpbi1yaWdodDogMi41cmVtICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5zZWN0aW9uLWx0IHtcclxuICB0ZXh0LWFsaWduOiByaWdodDtcclxuICB3aWR0aDogdW5zZXQ7XHJcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG4gIG1hcmdpbi10b3A6IDIwcHg7XHJcbn1cclxuXHJcbi5zZWN0aW9uLWx0IC5mb2xkZXItYmxrIHtcclxuICBib3JkZXItYm90dG9tOiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcblxyXG5cclxuLmJ0bi1jbG9uZS1vcmFuZ2l1bSBpbWcge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBoZWlnaHQ6IDI1cHg7XHJcbiAgd2lkdGg6IDI1cHg7XHJcbn1cclxuXHJcblxyXG4uYnRuLWNsb25lLW9yYW5naXVtIHtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgbGluZS1oZWlnaHQ6IDQwcHg7XHJcbn1cclxuIl19 */\";","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { MenuItemDto } from '../../../services/akita/menu-item-schema/menu-item.dto';\r\nimport { DataParser } from \"../../../services\";\r\n\r\n@Pipe({\r\n name: 'getMenuShowMinusIcon'\r\n})\r\nexport class GetMenuShowMinusIconPipe implements PipeTransform {\r\n\r\n protected dParser: DataParser;\r\n\r\n transform(menuDto: MenuItemDto, menuDtos: MenuItemDto[]): string {\r\n\r\n let classes = 'fa fa-minus pb-2 pt-2';\r\n\r\n if (menuDto.isCurrentPage) {\r\n const selectedChild = menuDtos.find(m => m.isCurrentPage && menuDto.menuItem.id === m.menuItem.data.parentMenuItem.iv[0]);\r\n if (!selectedChild) {\r\n classes += ' text-white';\r\n }\r\n }\r\n\r\n let showIcon = ' d-inline';\r\n if (!menuDto.isVisible && !menuDto.isCurrentPage) {\r\n showIcon = ' d-none';\r\n }\r\n\r\n return classes + showIcon;\r\n\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BaseService } from '../base/base.service';\r\nimport { SchemasFactory, ContentFactory, Content } from '../../squidex';\r\nimport { Observable } from 'rxjs';\r\nimport { AppToken } from '../../../models/app-token';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PageContentService extends BaseService {\r\n\r\n constructor(schemasFactory: SchemasFactory,\r\n contentFactory: ContentFactory) {\r\n super(AppToken.PAGE_CONTENT_SCHEMA_NAME, contentFactory);\r\n }\r\n\r\n getFirstContent(): Observable {\r\n this.initialize();\r\n return this.contentService.getFirstContent();\r\n }\r\n\r\n\r\n\r\n\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AppTokenService {\r\n readonly DEFAULT_SITE_SETTING_NAME = 'default-site-setting';\r\n readonly DEFAULT_PAGE_CATEGORY_NAME = 'default-page-category';\r\n readonly DEFAULT_MENU_NAME = 'default-menu';\r\n static readonly SITE_SETTING_SCHEMA_NAME = 'sitesetting';\r\n static readonly PAGE_CATEGORY_SCHEMA_NAME = 'page-category';\r\n static readonly MENU_SCHEMA_NAME = 'menu';\r\n static readonly MENU_ITEM_SCHEMA_NAME = 'menu-item';\r\n static readonly PAGE_SCHEMA_NAME = 'page';\r\n static readonly CLAIM_SCHEMA_NAME = 'claim';\r\n readonly USER_SAVE_CULTURE_CODE: string = 'USER_SAVE_CULTURE_CODE';\r\n readonly ENGLISH_CULTURE_CODE: string = 'en-CA';\r\n readonly FRENCH_CULTURE_CODE: string = 'fr-CA';\r\n readonly INPUT_DELAY_TIMESPAN: number = 600;\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzaWRlLWxlZnQtYmFyLmNvbXBvbmVudC5jc3MifQ== */\";","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build ---prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n production: false\r\n};\r\n\r\n/*\r\n * In development mode, to ignore zone related error stack frames such as\r\n * `zone.run`, `zoneDelegate.invokeTask` for easier debugging, you can\r\n * import the following file, but please comment it out in production mode\r\n * because it will have performance impact when throw error\r\n */\r\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\r\n","import { Component } from '@angular/core';\r\nimport { BaseComponent } from \"../../base/base-component.component\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { AppConfigProvider } from '../../app-config.provider';\r\n\r\n@Component({\r\n selector: 'footer-main',\r\n templateUrl: './footer-main.component.html',\r\n})\r\nexport class FooterMainComponent extends BaseComponent {\r\n\r\n lastUpdateDays: number;\r\n goLiveVersion: string;\r\n goLiveDate: string;\r\n\r\n constructor(\r\n protected readonly translateService: TranslateService,\r\n private readonly appConfigProvider: AppConfigProvider) {\r\n super(translateService);\r\n this.setTranslateContext('FooterMainComponent');\r\n this.goLiveVersion = this.appConfigProvider.publishVersion();\r\n this.goLiveDate = this.appConfigProvider.publishDate();\r\n this.lastUpdateDays = this.getNumberOfDays(new Date(this.goLiveDate));\r\n if (this.lastUpdateDays === 0) {\r\n this.lastUpdateDays = 1;\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BaseFacade } from '../base/base.facade';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { DynamicSchemaFactory } from '../dynamic-schema.factory';\r\nimport { AppToken } from '../../../models/app-token';\r\nimport { SectionService } from './section.service';\r\nimport { SectionStore } from './section.store';\r\nimport { SectionQuery } from './section.query';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class SectionFacade extends BaseFacade {\r\n\r\n constructor(\r\n private readonly sectionService: SectionService,\r\n sectionStore: SectionStore,\r\n sectionQuery: SectionQuery,\r\n dynamicSchemaFacto: DynamicSchemaFactory,\r\n translateService: TranslateService) {\r\n super(sectionService,\r\n sectionStore,\r\n sectionQuery,\r\n dynamicSchemaFacto.getDynamicSchemaFacade(AppToken.SECTION_SCHEMA_NAME),\r\n translateService,\r\n AppToken.SECTION_SCHEMA_NAME + '-facade'\r\n );\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BaseFacade } from '../base/base.facade';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\nimport { DynamicSchemaFactory } from '../dynamic-schema.factory';\r\nimport { AppTokenService } from '../../../app-token.service';\r\nimport { MenuItemService } from './menu-item.service';\r\nimport { MenuItemStore } from './menu-item.store';\r\nimport { MenuItemQuery } from './menu-item.query';\r\nimport { Observable, of } from 'rxjs';\r\nimport { MenuItemModel } from './menu-item.model';\r\nimport { map } from 'rxjs/operators';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class MenuItemFacade extends BaseFacade {\r\n\r\n constructor(\r\n private readonly menuItemService: MenuItemService,\r\n menuItemStore: MenuItemStore,\r\n menuItemQuery: MenuItemQuery,\r\n dynamicSchemaFacto: DynamicSchemaFactory,\r\n translateService: TranslateService) {\r\n super(menuItemService,\r\n menuItemStore,\r\n menuItemQuery,\r\n dynamicSchemaFacto.getDynamicSchemaFacade(AppTokenService.MENU_ITEM_SCHEMA_NAME),\r\n translateService,\r\n AppTokenService.MENU_ITEM_SCHEMA_NAME + '-facade'\r\n );\r\n }\r\n\r\n getMenuItemsByParentId(id: string): Observable {\r\n return this.menuItemService.getByParentId(id, 'parentMenuItem', 'data/index/iv').pipe(map((contentList) => {\r\n return contentList.items;\r\n }));\r\n\r\n }\r\n\r\n getMenuItemsByPageId(id: string): Observable {\r\n return this.menuItemService.getByParentId(id, 'page', 'data/index/iv').pipe(map((contentList) => {\r\n return contentList.items;\r\n }));\r\n }\r\n\r\n getMenuItemsOrdered(ids: string[], orderBy: string): Observable {\r\n return this.getService().getContentByIds(ids, orderBy);\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BaseService } from '../base/base.service';\r\nimport { SchemasFactory, ContentFactory, Content } from '../../squidex';\r\nimport { Observable, of } from 'rxjs';\r\nimport { AppTokenService } from '../../../app-token.service';\r\nimport { MenuItemModel } from './menu-item.model';\r\nimport { map } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MenuItemService extends BaseService {\r\n\r\n constructor(schemasFactory: SchemasFactory,\r\n contentFactory: ContentFactory) {\r\n super(AppTokenService.MENU_ITEM_SCHEMA_NAME, contentFactory);\r\n }\r\n\r\n}\r\n","declare var $: any;\r\nimport {\r\n Component,\r\n OnInit,\r\n TemplateRef,\r\n AfterViewInit,\r\n ViewChild\r\n} from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { BaseComponent } from '../../base/base-component.component';\r\nimport {\r\n PageModel,\r\n PageFacade,\r\n UiNotificationService,\r\n LanguageModel,\r\n FilterPagination,\r\n FormValidationsService,\r\n Schema,\r\n DynamicSchemaFactory,\r\n AuthenticationService\r\n} from '../../services';\r\nimport { PageInternalService } from '../../services/squidex/services/page-internal.service';\r\nimport {\r\n Field,\r\n DataParser\r\n} from '../../services/squidex';\r\nimport { combineLatest, Observable } from 'rxjs';\r\nimport { BsModalRef } from 'ngx-bootstrap/modal/bs-modal-ref.service';\r\nimport { BsModalService } from 'ngx-bootstrap/modal';\r\nimport { BsDatepickerModule } from 'ngx-bootstrap/datepicker';\r\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\r\nimport { BsDatepickerConfig } from 'ngx-bootstrap/datepicker';\r\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators';\r\nimport { AppToken, DefaultContents, FieldsName, Statuses, AppSchemaCategory } from '../../models/app-token';\r\nimport {\r\n SiteSettingFacade,\r\n LayoutModel,\r\n TemplateModel,\r\n LayoutFacade,\r\n TemplateFacade,\r\n PageContentFacade,\r\n MenuFacade,\r\n MenuItemFacade,\r\n DynamicContentSchemaFactory\r\n} from '../../services/akita/index';\r\nimport { PageTitleService } from '../../services/general/page-title.service';\r\nimport { Validation } from '../../tools';\r\nimport { ESchemaContentStatus } from '../../services/akita/base/enum';\r\nimport { PageTypeFacade } from \"../../services/akita/page-type/page-type.facade\";\r\nimport { SpinnerService } from '../../shared/spinner/spinner.service';\r\nimport { Router } from '@angular/router';\r\nimport { ContentInternalService } from '../../services/squidex/services/content-internal.service';\r\nconst EMPTY = '';\r\n\r\n@Component({\r\n selector: 'pages',\r\n templateUrl: './pages.component.html',\r\n styleUrls: ['./pages.component.css'],\r\n})\r\nexport class PagesComponent extends BaseComponent implements OnInit, AfterViewInit {\r\n\r\n public paginationSize = 12;\r\n public publishCount: number;\r\n public currentPage = 1;\r\n\r\n\r\n public paginationSizeContents = 12;\r\n public publishCountContents: number;\r\n public currentPageContents = 1;\r\n\r\n\r\n private filter: FilterPagination;\r\n\r\n\r\n selectedLanguage: string;\r\n selectedSort: string;\r\n selectedSortIndex: string;\r\n\r\n pages: PageModel[];\r\n contentsAsPage: PageModel[];\r\n schemas: Schema[];\r\n publishedPages: PageModel[];\r\n unpublishedPages: PageModel[];\r\n\r\n private availableLanguages: LanguageModel[];\r\n\r\n listView = true;\r\n hiddenFields: string[] = [];\r\n\r\n formGroup: FormGroup;\r\n fields: Field[] = [];\r\n creationFields: Field[] = [];\r\n searchControl: FormControl;\r\n\r\n modalRef: BsModalRef;\r\n datePicker: BsDatepickerModule;\r\n bsConfig: Partial;\r\n\r\n private pageSelected: PageModel;\r\n private pageLayouts: LayoutModel[];\r\n private pageTemplates: TemplateModel[];\r\n\r\n private placeholderPageType: any;\r\n\r\n isCollapsed = true;\r\n\r\n collapseControlsEditTemplate: any = {};\r\n\r\n private readonly dataParser: DataParser;\r\n languageCustomClass = 'language-nav-tabs';\r\n\r\n cloneNgModel: any = {};\r\n cloneSubmited: boolean = false;\r\n selectedPageIsContent: boolean = false;\r\n\r\n @ViewChild('cloneTemplate', { static: true })\r\n cloneTemplate: TemplateRef;\r\n\r\n @ViewChild('deleteTemplate', { static: true })\r\n deleteTemplate: TemplateRef;\r\n\r\n @ViewChild('formTemplate', { static: true })\r\n formTemplate: TemplateRef;\r\n\r\n maxSize: number = 33;\r\n\r\n userIsOwner: boolean;\r\n userIsDev: boolean;\r\n userIsEditor: boolean;\r\n userIsReadWrite: boolean;\r\n userIsReader: boolean;\r\n\r\n constructor(translateService: TranslateService,\r\n private readonly pageTitleService: PageTitleService,\r\n private readonly pageFacade: PageFacade,\r\n private readonly layoutFacade: LayoutFacade,\r\n private readonly templateFacade: TemplateFacade,\r\n private readonly pageContentFacade: PageContentFacade,\r\n private readonly menuFacade: MenuFacade,\r\n private readonly menuItemFacade: MenuItemFacade,\r\n private readonly contentFacadeFactory: DynamicContentSchemaFactory,\r\n private readonly schemaFacadeFactory: DynamicSchemaFactory,\r\n private readonly modalService: BsModalService,\r\n private readonly uiNotificationService: UiNotificationService,\r\n private readonly siteSettingFacade: SiteSettingFacade,\r\n private readonly pageTypeFacade: PageTypeFacade,\r\n private readonly formValidationService: FormValidationsService,\r\n private readonly spinnerService: SpinnerService,\r\n readonly router: Router,\r\n private readonly pageInternalService: PageInternalService,\r\n private authenticationService: AuthenticationService,\r\n private readonly contentInternalService: ContentInternalService\r\n ) {\r\n super(translateService);\r\n this.setTranslateContext('PagesComponent');\r\n this.hiddenFields = ['deleted', 'publishdatetime',\r\n 'deletedatetime', 'metatitle',\r\n 'metaDescription', 'metaKeywords',\r\n 'pageType', 'thumbnail'];\r\n this.dataParser = new DataParser(null);\r\n this.searchControl = new FormControl();\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n this.userIsOwner = this.authenticationService.userHasRole(\"Owner\");\r\n this.userIsDev = this.authenticationService.userHasRole(\"Developer\");\r\n this.userIsEditor = this.authenticationService.userHasRole(\"Editor\");\r\n this.userIsReadWrite = this.authenticationService.userHasRole(\"ReadWrite\");\r\n this.userIsReader = this.authenticationService.userHasRole(\"Reader\");\r\n\r\n if (!this.userIsOwner && !this.userIsDev && !this.userIsEditor && !this.userIsReadWrite && !this.userIsReader) {\r\n this.router.navigateByUrl('/');\r\n return;\r\n }\r\n\r\n this.spinnerService.hide();\r\n const subscription = this.tc().subscribe(v => {\r\n this.pageTitleService.setTitle(v['TITLE']);\r\n this.pageTitleService.key = 'PAGES.TITLE';\r\n });\r\n\r\n this.subscriptions.push(subscription);\r\n this.filter = new FilterPagination(0, this.paginationSize, 'lastModified descending');\r\n this.language = this.pageFacade.getCurrentLanguage();\r\n this.bsConfig = Object.assign({}, { containerClass: 'theme-orange', dateInputFormat: 'YYYY/MM/DD HH:mm' });\r\n\r\n this.initializeData();\r\n this.initializeSearch();\r\n this.selectedSort = 'Date de modification';\r\n this.selectedSortIndex = '0';\r\n\r\n this.maxSize = Math.floor(window.innerWidth * .017) + 1\r\n }\r\n\r\n ngAfterViewInit() {\r\n }\r\n\r\n\r\n createForm(schemaFields: Field[], page: PageModel = null): void {\r\n const formGroup = this.generateFormGroup(this.pageFacade, schemaFields, this.hiddenFields, page, false, this.formValidationService);\r\n\r\n let statusControl: any;\r\n\r\n if (page) {\r\n statusControl = new FormControl(page.status === this.statusPublished);\r\n }\r\n else {\r\n statusControl = new FormControl(false);\r\n }\r\n\r\n formGroup[\"status\"] = statusControl;\r\n\r\n this.formGroup = new FormGroup(formGroup);\r\n //add requered to url in all lang\r\n for (const language of this.availableLanguages.map(languages => languages.data.code.iv)) {\r\n this.formGroup.get('url_' + language).setValidators(Validators.required);\r\n }\r\n }\r\n\r\n submitForm() {\r\n if (!this.formGroup.valid || !this.formGroup.dirty) {\r\n this.formGroup.markAllAsTouched();\r\n return;\r\n }\r\n\r\n const values = this.formGroup.value;\r\n\r\n let newPageData: any = {};\r\n\r\n for (let field of this.creationFields) {\r\n if (field.partitioning === 'language') {\r\n for (const language of this.availableLanguages.map(languages => languages.data.code.iv)) {\r\n newPageData = this.dataParser.setData(newPageData, field, values[field.name + '_' + language], language);\r\n }\r\n } else {\r\n newPageData = this.dataParser.setData(newPageData, field, values[field.name]);\r\n }\r\n }\r\n\r\n const urls = new Array();\r\n for (const language of this.availableLanguages.map(languages => languages.data.code.iv)) {\r\n urls.push(newPageData['url'][language]);\r\n }\r\n\r\n const urlsDistinct = [...new Set(urls)];\r\n if (urls > urlsDistinct) {\r\n this.pageFacade.translate('T').subscribe(c => {\r\n this.uiNotificationService.error(c.URL_NOT_DISTINCT, c.FAILED_TITLE, 10000);\r\n });\r\n return;\r\n }\r\n let startWithSlash: boolean = true;\r\n urls.forEach(url => {\r\n if (!url.trim().startsWith('/')) {\r\n startWithSlash = false;\r\n return;\r\n }\r\n })\r\n\r\n if (!startWithSlash) {\r\n this.pageFacade.translate('T').subscribe(c => {\r\n this.uiNotificationService.error(c.URL_START_SLASH, c.FAILED_TITLE, 10000);\r\n });\r\n return false;\r\n }\r\n\r\n const allVersionParm = new FilterPagination();\r\n allVersionParm.from = 0;\r\n allVersionParm.to = 1;\r\n allVersionParm.filter = '';\r\n allVersionParm.orderBy = 'lastModified descending';\r\n\r\n let filterList: object[] = new Array();\r\n for (const lg of this.availableLanguages.map(languages => languages.data.code.iv)) {\r\n\r\n for (const language of this.availableLanguages.map(languages => languages.data.code.iv)) {\r\n let data: any = {};\r\n data = {\r\n path: `data.url.${lg}`,\r\n op: 'eq',\r\n value: newPageData['url'][language]\r\n };\r\n\r\n filterList.push(data);\r\n }\r\n }\r\n let orFilter: any = {};\r\n orFilter = {\r\n or: filterList\r\n }\r\n\r\n this.pageFacade.validateUrl(allVersionParm, ESchemaContentStatus.All, orFilter, this.pageSelected).subscribe(total => {\r\n if (total > 0) {\r\n this.pageFacade.translate('T').subscribe(c => {\r\n this.uiNotificationService.error(c.URL_TAKEN, c.FAILED_TITLE, 10000);\r\n });\r\n return;\r\n }\r\n\r\n if (this.pageSelected) {\r\n this.pageFacade\r\n .update(this.pageSelected.id, newPageData)\r\n .subscribe(v => {\r\n if (v) {\r\n\r\n const index = this.pages.map(p => { return p.id; }).indexOf(this.pageSelected.id);\r\n if (index !== -1) {\r\n this.pages[index] = v;\r\n }\r\n this.setStatus(this.pageSelected.id, values.status)\r\n this.pageFacade.translate('T').subscribe(c => {\r\n this.uiNotificationService.success(c.UPDATE_SUCCESS, c.SUCCESS_TITLE);\r\n this.closeModal();\r\n });\r\n }\r\n });\r\n } else {\r\n const pageTypeFacade = this.contentFacadeFactory.getDynamicContentSchemaFacade(AppToken.PAGE_TYPE_SCHEMA_NAME);\r\n let isExcutedPType = false;\r\n pageTypeFacade.getByCode(DefaultContents.DEFAULT_PAGE_TYPE_CODE).subscribe(pType => {\r\n if (!isExcutedPType) {\r\n newPageData = this.dataParser.setData(newPageData, this.fields.find(field => field.name === FieldsName.PAGE_TYPE), pType.id);\r\n this.pageFacade.create(newPageData).subscribe(v => {\r\n let newPage = this.clone(v);\r\n let newMenuItemData: any = {};\r\n let ids: string[] = [];\r\n ids.push(newPage.id);\r\n this.dataParser.putData(newMenuItemData, FieldsName.CODE, this.dataParser.pullData(newPage, FieldsName.CODE));\r\n this.dataParser.putData(newMenuItemData, FieldsName.PAGE, newPage.id);\r\n this.dataParser.putData(newMenuItemData, FieldsName.INDEX, 0);\r\n let isExcuted = false;\r\n this.menuItemFacade.createAsPublished(newMenuItemData).subscribe(menuItem => {\r\n this.menuFacade.getByCode(DefaultContents.DEFAULT_MENU_CODE).subscribe(menu => {\r\n if (!isExcuted) {\r\n let menuData = this.clone(menu.data);\r\n let menuItems = menuData.menuItems.iv as string[];\r\n menuItems.push(menuItem.id);\r\n this.dataParser.putData(menuData, FieldsName.MENU_ITEMS, menuItems);\r\n this.menuFacade.update(menu.id, menuData).subscribe();\r\n\r\n const index = this.pages.map(p => { return p.id; }).indexOf(newPage.id);\r\n if (index === -1) {\r\n this.pages.push(newPage);\r\n }\r\n\r\n isExcuted = true;\r\n }\r\n });\r\n });\r\n\r\n this.pageFacade.translate('T').subscribe(c => {\r\n this.uiNotificationService.success(c.UPDATE_SUCCESS, c.SUCCESS_TITLE);\r\n this.closeModal();\r\n const stat = values.status ? Statuses.PUBLISHED.name : Statuses.DRAFT.name;\r\n if (newPage.status !== stat) {\r\n this.setStatusNew(newPage.id, values.status);\r\n }\r\n });\r\n\r\n let templateData: any = {};\r\n this.dataParser.putData(templateData, FieldsName.CODE, this.dataParser.pullData(newPage, FieldsName.CODE) + '-template');\r\n this.dataParser.putData(templateData, FieldsName.BODY, 'page template');\r\n this.dataParser.putData(templateData, 'category', 'page');\r\n\r\n this.templateFacade.createAsPublished(templateData).subscribe(newTemplate => {\r\n ids = [];\r\n ids.push(newTemplate.id);\r\n this.dataParser.putData(newPage.data, FieldsName.TEMPLATE, ids);\r\n this.pageFacade.update(newPage.id, newPage.data).subscribe();\r\n });\r\n\r\n this.initializeData();\r\n });\r\n isExcutedPType = true;\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n setStatus(id: string, status: boolean) {\r\n let newStatus = (status ? Statuses.PUBLISHED.name : Statuses.DRAFT.name);\r\n if (!this.pageSelected || this.pageSelected.status !== newStatus) {\r\n this.pageFacade.updateStatus(id, newStatus, null).subscribe(v => {\r\n\r\n const index = this.pages.map(p => { return p.id; }).indexOf(this.pageSelected.id);\r\n if (index !== -1) {\r\n this.pages[index] = v;\r\n }\r\n this.pageSelected = null;\r\n });\r\n this.initializeData();\r\n }\r\n }\r\n\r\n setStatusNew(id: string, status: boolean) {\r\n let newStatus = (status ? Statuses.PUBLISHED.name : Statuses.DRAFT.name)\r\n this.pageFacade.updateStatus(id, newStatus, null).subscribe(newPage => {\r\n const index = this.pages.map(p => { return p.id; }).indexOf(newPage.id);\r\n if (index === -1) {\r\n this.pages.push(newPage);\r\n }\r\n this.pageSelected = null;\r\n });\r\n }\r\n\r\n openModal(page: PageModel = null, isCreation: boolean = false,) {\r\n\r\n if (isCreation) {\r\n this.creationFields = this.fields.filter(field => !this.hiddenFields.includes(field.name));\r\n this.collapseAllEditForm();\r\n this.pageSelected = null;\r\n this.creationFields = this.creationFields.filter(field => field.name !== FieldsName.TEMPLATE);\r\n this.isCollapsed = !this.isCollapsed;\r\n this.createForm(this.creationFields, page);\r\n } else {\r\n let url = `/page/${this.dataParser.pullData(page, FieldsName.CODE)}`;\r\n this.router.navigateByUrl(url);\r\n }\r\n }\r\n\r\n private collapseAllEditForm() {\r\n const desc = this.collapseControlsEditTemplate;\r\n Object.keys(desc).forEach(key => {\r\n if (desc)\r\n desc[key]['isCollapsed'] = true;\r\n });\r\n this.collapseControlsEditTemplate = desc;\r\n this.isCollapsed = true;\r\n let container = document.querySelectorAll('.last_modify-inner');\r\n container.forEach(item => {\r\n item.classList.remove('bubble-content-context');\r\n });\r\n }\r\n\r\n closeModal() {\r\n this.collapseAllEditForm();\r\n if (this.modalRef) {\r\n this.modalRef.hide();\r\n }\r\n }\r\n\r\n openCloneModal(event: { pageModel: PageModel, isContent: boolean }) {\r\n this.pageSelected = event.pageModel;\r\n\r\n this.selectedPageIsContent = event.isContent;\r\n\r\n this.modalRef = this.modalService.show(this.cloneTemplate);\r\n }\r\n\r\n openDeleteModal(page: PageModel) {\r\n this.pageSelected = page;\r\n this.modalRef = this.modalService.show(this.deleteTemplate);\r\n }\r\n\r\n confirmClone() {\r\n let name = this.cloneNgModel['name'];\r\n\r\n if (Validation.isNullEmptyOrWhiteSpaces(name)) {\r\n this.uiNotificationService.error('Name is required', 'Error');\r\n return;\r\n }\r\n\r\n let urls = {};\r\n\r\n this.availableLanguages.forEach(lang => {\r\n let langCode = lang.data.code.iv;\r\n let url = this.cloneNgModel[`url_${langCode}`];\r\n\r\n if (Validation.isNullEmptyOrWhiteSpaces(url)) {\r\n this.uiNotificationService.error(`Url ${langCode} is required`, 'Error');\r\n return;\r\n }\r\n\r\n urls[langCode] = url;\r\n });\r\n\r\n //TODO: validate urls are unique and begin with /\r\n this.pageInternalService.clonePage(this.pageSelected.id, name, urls, this.selectedPageIsContent).subscribe(callback => {\r\n this.modalRef.hide();\r\n this.pageSelected = null;\r\n if (callback.isSuccess()) {\r\n this.initializeData();\r\n return;\r\n }\r\n\r\n this.uiNotificationService.error(callback.getMessage(), 'Error');\r\n });\r\n }\r\n\r\n confirmDelete() {\r\n\r\n if (Validation.isValidGuid(this.pageSelected.id)) {\r\n\r\n //remove all section relation from page\r\n this.pageContentFacade.getPageContentsByPageId(this.pageSelected.id).subscribe(pageContents => {\r\n if (pageContents.length > 0) {\r\n pageContents.forEach(pageContent => {\r\n this.pageContentFacade.remove(pageContent.id).subscribe();\r\n })\r\n }\r\n });\r\n\r\n //remove all content relation from page\r\n const schemaPageFacade = this.contentFacadeFactory.getDynamicContentSchemaFacade(AppToken.SCHEMA_PAGE_SCHEMA_NAME);\r\n schemaPageFacade.getByParentId(this.pageSelected.id, FieldsName.PAGE_ID, FieldsName.ID, true).subscribe(\r\n schemaPages => {\r\n if (schemaPages.length > 0) {\r\n schemaPages.forEach(sPage => {\r\n schemaPageFacade.remove(sPage.id).subscribe();\r\n });\r\n }\r\n });\r\n\r\n //remove all page filter\r\n const pageFilterFacade = this.contentFacadeFactory.getDynamicContentSchemaFacade(AppToken.PAGE_FILTER_SCHEMA_NAME);\r\n schemaPageFacade.getByParentId(this.pageSelected.id, FieldsName.PAGE_ID, FieldsName.ID, true).subscribe(\r\n pageFilter => {\r\n if (pageFilter.length > 0) {\r\n pageFilter.forEach(pFilter => {\r\n pageFilterFacade.remove(pFilter.id).subscribe();\r\n });\r\n }\r\n });\r\n\r\n const templateId = this.dataParser.pullData(this.pageSelected, FieldsName.TEMPLATE)[0];\r\n if (templateId) {\r\n //remove template related to page\r\n this.templateFacade.remove(templateId).subscribe();\r\n }\r\n\r\n //remove menuItem from menu then remove it\r\n this.menuItemFacade.getMenuItemsByPageId(this.pageSelected.id).subscribe(menuItems => {\r\n if (menuItems.length > 0) {\r\n menuItems.forEach(menuItem => {\r\n let isExcuted = false;\r\n this.menuFacade.getByParentId(menuItem.id, FieldsName.MENU_ITEMS, FieldsName.ID, true).subscribe(menus => {\r\n if (!isExcuted) {\r\n menus.forEach(menu => {\r\n let menuData = this.clone(menu.data);\r\n let menuItems = menuData.menuItems.iv as string[];\r\n const index = menuItems.indexOf(menuItem.id);\r\n if (index !== -1) {\r\n menuItems.splice(index, 1);\r\n }\r\n this.dataParser.putData(menuData, FieldsName.MENU_ITEMS, menuItems);\r\n this.menuFacade.update(menu.id, menuData).subscribe();\r\n isExcuted = true;\r\n });\r\n }\r\n });\r\n this.menuItemFacade.remove(menuItem.id).subscribe();\r\n });\r\n }\r\n });\r\n\r\n //remove this page from pages array\r\n let draftmode = false;\r\n if (this.pageSelected.status === 'Draft') {\r\n draftmode = true;\r\n }\r\n\r\n if (this.pageSelected.schemaName === 'page') {\r\n this.pageFacade.remove(this.pageSelected.id, draftmode).subscribe(v => {\r\n const index = this.pages.map(p => { return p.id; }).indexOf(this.pageSelected.id);\r\n if (index !== -1) {\r\n this.pages.splice(index, 1);\r\n }\r\n this.pageSelected = null;\r\n this.pageFacade.translate('T').subscribe(c => {\r\n this.uiNotificationService.success(c.DELETE_SUCCESS, c.SUCCESS_TITLE);\r\n });\r\n this.modalRef.hide();\r\n });\r\n } else {\r\n const currentFacade = this.contentFacadeFactory.getDynamicContentSchemaFacade(this.pageSelected.schemaName);\r\n currentFacade.remove(this.pageSelected.id, draftmode).subscribe(v => {\r\n\r\n const index = this.contentsAsPage.map(p => { return p.id; }).indexOf(this.pageSelected.id);\r\n if (index !== -1) {\r\n this.contentsAsPage.splice(index, 1);\r\n }\r\n this.pageSelected = null;\r\n this.pageFacade.translate('T').subscribe(c => {\r\n this.uiNotificationService.success(c.DELETE_SUCCESS, c.SUCCESS_TITLE);\r\n });\r\n this.modalRef.hide();\r\n });\r\n\r\n\r\n }\r\n\r\n\r\n\r\n }\r\n }\r\n\r\n getPublished(): Array {\r\n return this.pages.filter(v => this.isPublishedContent(v)).slice(0, this.paginationSize);\r\n }\r\n\r\n getUnpublished(): Array {\r\n let unPublishedContentsAndPages: Array = new Array();\r\n unPublishedContentsAndPages = unPublishedContentsAndPages.concat(this.contentsAsPage.filter(v => !this.isPublishedContent(v)).slice(0, AppToken.PAGES_UNPUBLISHED_ITEMS_PER_PAGE));\r\n unPublishedContentsAndPages = unPublishedContentsAndPages.concat(this.pages.filter(v => !this.isPublishedContent(v)).slice(0, AppToken.PAGES_UNPUBLISHED_CONTENTS_ITEMS_PER_PAGE));\r\n return unPublishedContentsAndPages;\r\n }\r\n\r\n getPublishedContents(): Array {\r\n let end = (this.currentPageContents) * this.paginationSizeContents;\r\n if (end >= this.publishCountContents) {\r\n end = this.publishCountContents;\r\n }\r\n return this.contentsAsPage.filter(v => this.isPublishedContent(v)).slice((this.currentPageContents - 1) * this.paginationSizeContents, end);\r\n }\r\n\r\n getUnpublishedContents(): Array {\r\n return this.contentsAsPage.filter(v => !this.isPublishedContent(v)).slice(0, AppToken.PAGES_UNPUBLISHED_CONTENTS_ITEMS_PER_PAGE);\r\n }\r\n\r\n initializeData(): void {\r\n this.pages = [];\r\n this.contentsAsPage = [];\r\n\r\n this.schemaFacadeFactory.getSchemasMetadataByCategory(AppSchemaCategory.SCHEMA_AS_A_PAGE).subscribe(schemas => {\r\n this.schemas = schemas;\r\n this.schemas.forEach(sc => {\r\n this.contentFacadeFactory.getDynamicContentSchemaFacade(sc.name).getAll().subscribe(cts => {\r\n cts.forEach((ct, index) => {\r\n let p = new PageModel(ct);\r\n let temp = this.clone(p);\r\n temp.data = this.dataParser.putData(temp.data, 'code', sc.name + '/' + this.dataParser.pullData(ct, 'code'), 'iv');\r\n this.contentsAsPage.push(temp);\r\n if (index === cts.length - 1) {\r\n this.sortChangeContents();\r\n }\r\n });\r\n this.publishCountContents = this.contentsAsPage.length - AppToken.PAGES_PUBLISHED_CONTENTS_ITEMS_PER_PAGE;\r\n });\r\n });\r\n });\r\n this.getPages();\r\n }\r\n\r\n\r\n getPages() {\r\n this.unpublishedPages = [];\r\n this.publishedPages = [];\r\n\r\n if (this.listView) {\r\n this.paginationSize = AppToken.PAGES_PUBLISHED_ITEMS_PER_PAGE_LIST;\r\n this.paginationSizeContents = AppToken.PAGES_PUBLISHED_CONTENTS_ITEMS_PER_PAGE_LIST;\r\n } else {\r\n this.paginationSize = AppToken.PAGES_PUBLISHED_ITEMS_PER_PAGE;\r\n this.paginationSizeContents = AppToken.PAGES_PUBLISHED_CONTENTS_ITEMS_PER_PAGE;\r\n }\r\n\r\n const draftParm = new FilterPagination();\r\n draftParm.from = 0;\r\n draftParm.to = AppToken.PAGES_UNPUBLISHED_ITEMS_PER_PAGE;\r\n draftParm.filter = this.searchControl.value == null ? EMPTY : this.searchControl.value;\r\n draftParm.orderBy = 'lastModified descending';\r\n\r\n this.filter.from = (this.currentPage - 1) * this.paginationSize;\r\n this.filter.to = this.filter.from + this.paginationSize;\r\n this.filter.orderBy = this.getOrderBy();\r\n let advancedFilter = this.getSearchObject();\r\n\r\n const countParm = new FilterPagination();\r\n countParm.from = 0;\r\n countParm.to = 1000;\r\n countParm.orderBy = 'lastModified descending';\r\n let finalFilter = [];\r\n\r\n finalFilter.push(advancedFilter);\r\n\r\n const sub1 = this.pageTypeFacade.getPlaceholderPageType().subscribe(pageType => {\r\n this.placeholderPageType = pageType;\r\n\r\n if (this.placeholderPageType) {\r\n let oFilterPlaceHolder = {\r\n path: \"data.pageType.iv\",\r\n op: 'ne',\r\n value: this.placeholderPageType.id\r\n }\r\n finalFilter.push(oFilterPlaceHolder);\r\n }\r\n const subscription = combineLatest(\r\n this.pageFacade.getFilteredPagination(draftParm, ESchemaContentStatus.Draft, finalFilter),\r\n this.pageFacade.getFilteredPagination(this.filter, ESchemaContentStatus.Published, finalFilter),\r\n this.pageFacade.getSchema(),\r\n this.siteSettingFacade.getSiteLanguages(),\r\n this.layoutFacade.getAllOrdered(),\r\n this.templateFacade.getAllOrdered(),\r\n this.pageFacade.getFilteredPagination(countParm, ESchemaContentStatus.Published, finalFilter)\r\n ).subscribe(([unpublished, published, schema, languages, layouts, templates, pageCount]) => {\r\n this.pageLayouts = layouts;\r\n this.pageTemplates = templates;\r\n\r\n published.forEach(page => {\r\n const index = this.pages.map(p => { return p.id; }).indexOf(page.id);\r\n if (index === -1) {\r\n this.pages.push(page);\r\n this.publishedPages.push(page);\r\n }\r\n });\r\n\r\n unpublished.forEach(page => {\r\n const index = this.pages.map(p => { return p.id; }).indexOf(page.id);\r\n if (index === -1) {\r\n this.pages.push(page);\r\n this.unpublishedPages.push(page);\r\n }\r\n });\r\n\r\n if (languages.length <= 1) {\r\n this.languageCustomClass = 'hide-nav-tabs';\r\n }\r\n\r\n this.availableLanguages = languages;\r\n\r\n //init collapseControls EditTemplate\r\n this.pages.forEach(page => {\r\n const data: any = {\r\n isCollapsed: true,\r\n };\r\n this.collapseControlsEditTemplate[page.id] = data;\r\n });\r\n\r\n this.publishCount = pageCount.length;\r\n this.fields = schema.fields;\r\n });\r\n this.subscriptions.push(subscription);\r\n });\r\n\r\n this.subscriptions.push(sub1);\r\n\r\n }\r\n\r\n\r\n initializeSearch(): void {\r\n const subscription = this.searchControl\r\n .valueChanges\r\n .pipe(debounceTime(AppToken.INPUT_DELAY_TIMESPAN))\r\n .pipe(distinctUntilChanged())\r\n .subscribe(result => {\r\n if (result) {\r\n this.search(result);\r\n } else {\r\n this.initializeData();\r\n }\r\n });\r\n this.subscriptions.push(subscription);\r\n }\r\n\r\n search(filter?: string, lightRefresh: boolean = false): void {\r\n if (lightRefresh) {\r\n const drafts = this.pages.filter(a => a.status === 'Draft');\r\n this.pages = [];\r\n this.publishedPages = [];\r\n this.pages = drafts;\r\n } else {\r\n this.pages = [];\r\n this.unpublishedPages = [];\r\n this.publishedPages = [];\r\n }\r\n\r\n if (!filter) {\r\n filter = this.searchControl.value === null ? '' : this.searchControl.value;\r\n }\r\n\r\n const countParm = new FilterPagination();\r\n countParm.from = 0;\r\n countParm.to = 1000;\r\n countParm.orderBy = 'lastModified descending';\r\n\r\n const draftParm = new FilterPagination();\r\n draftParm.from = 0;\r\n draftParm.to = AppToken.PAGES_UNPUBLISHED_ITEMS_PER_PAGE;\r\n draftParm.orderBy = 'lastModified descending';\r\n\r\n this.filter.from = (this.currentPage - 1) * this.paginationSize;\r\n this.filter.to = this.filter.from + this.paginationSize;\r\n this.filter.orderBy = this.getOrderBy();\r\n const advancedSearch = this.getSearchObject();\r\n\r\n let finalFilter = [];\r\n\r\n finalFilter.push(advancedSearch);\r\n\r\n const subscription = this.pageTypeFacade.getPlaceholderPageType().subscribe(pageType => {\r\n this.placeholderPageType = pageType;\r\n\r\n if (this.placeholderPageType) {\r\n let oFilterPlaceHolder = {\r\n path: \"data.pageType.iv\",\r\n op: 'ne',\r\n value: this.placeholderPageType.id\r\n }\r\n finalFilter.push(oFilterPlaceHolder);\r\n }\r\n\r\n if (!lightRefresh) {\r\n const subscriptionCount =\r\n this.pageFacade.getFilteredPagination(countParm, ESchemaContentStatus.Published, finalFilter)\r\n .subscribe(p => {\r\n this.publishCount = p.length;\r\n\r\n });\r\n\r\n const subscriptionUnpublished =\r\n this.pageFacade.getFilteredPagination(draftParm, ESchemaContentStatus.Draft, finalFilter)\r\n .subscribe(unpublished => {\r\n unpublished.forEach(a => {\r\n this.pages.push(a);\r\n this.unpublishedPages.push(a);\r\n const data: any = { isCollapsed: true };\r\n this.collapseControlsEditTemplate[a.id] = data;\r\n });\r\n });\r\n this.subscriptions.push(subscriptionCount);\r\n this.subscriptions.push(subscriptionUnpublished);\r\n }\r\n\r\n const subscriptionPublished =\r\n this.pageFacade.getFilteredPagination(this.filter, ESchemaContentStatus.Published, finalFilter)\r\n .subscribe(published => {\r\n published.forEach(a => {\r\n this.pages.push(a);\r\n this.publishedPages.push(a);\r\n const data: any = { isCollapsed: true };\r\n this.collapseControlsEditTemplate[a.id] = data;\r\n });\r\n });\r\n\r\n this.subscriptions.push(subscriptionPublished);\r\n });\r\n this.subscriptions.push(subscription);\r\n\r\n }\r\n\r\n sortChange(sender: any): boolean {\r\n if (!sender) {\r\n this.selectedSort = 'Date de modification';\r\n this.selectedSortIndex = '0';\r\n this.search(null, true);\r\n } else {\r\n if (sender.target.text) {\r\n this.selectedSort = sender.target.innerHTML;\r\n this.selectedSortIndex = sender.target.attributes[3].value;\r\n this.search(null, true);\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n sortChangeContents(sender?: any): boolean {\r\n if (!sender) {\r\n this.selectedSort = 'Date de modification';\r\n this.selectedSortIndex = '0';\r\n\r\n\r\n } else {\r\n if (sender.target.text) {\r\n this.selectedSort = sender.target.innerHTML;\r\n this.selectedSortIndex = sender.target.attributes[3].value;\r\n }\r\n }\r\n\r\n if (this.selectedSortIndex === '1') {\r\n\r\n this.contentsAsPage = this.contentsAsPage.sort((one, two) =>\r\n (this.dataParser.pullData(one, 'pageName') <= this.dataParser.pullData(two, 'pageName') ? -1 : 1));\r\n } else if (this.selectedSortIndex === '2') {\r\n\r\n this.contentsAsPage = this.contentsAsPage.sort((one, two) =>\r\n (this.dataParser.pullData(one, 'pageName') >= this.dataParser.pullData(two, 'pageName') ? -1 : 1));\r\n } else {\r\n\r\n this.contentsAsPage = this.contentsAsPage.sort((one, two) => { return (new Date(two.lastModified).getTime() - new Date(one.lastModified).getTime()) });\r\n\r\n }\r\n return false;\r\n }\r\n\r\n getOrderBy() {\r\n if (this.selectedSortIndex === '1') {\r\n return `data.pageName.iv ascending`;\r\n } else if (this.selectedSortIndex === '2') {\r\n return `data.pageName.iv descending`;\r\n } else {\r\n return 'lastModified descending';\r\n }\r\n }\r\n\r\n getSearchObject(): object {\r\n const filter = this.searchControl.value == null ? EMPTY : this.searchControl.value;\r\n\r\n let oSearch = {\r\n or:\r\n [\r\n {\r\n path: `data.pageName.iv`,\r\n op: 'contains',\r\n value: filter\r\n },\r\n {\r\n path: `data.metatitle.${this.language}`,\r\n op: 'contains',\r\n value: filter\r\n },\r\n {\r\n path: `data.metaDescription.${this.language}`,\r\n op: 'contains',\r\n value: filter\r\n },\r\n {\r\n path: `data.code.iv`,\r\n op: 'contains',\r\n value: filter\r\n }\r\n ]\r\n }\r\n\r\n this.contentsAsPage = this.contentsAsPage.filter(p =>\r\n (this.dataParser.pullData(p, 'code', 'iv').toUpperCase().indexOf(filter.toUpperCase()) !== -1) ||\r\n (this.dataParser.pullData(p, 'pageName', 'iv').toUpperCase().indexOf(filter.toUpperCase()) !== -1) ||\r\n (this.dataParser.pullData(p, 'metaDescription', this.language).toUpperCase().indexOf(filter.toUpperCase()) !== -1) ||\r\n (this.dataParser.pullData(p, 'metatitle', this.language).toUpperCase().indexOf(filter.toUpperCase()) !== -1));\r\n\r\n return oSearch;\r\n }\r\n\r\n changeView() {\r\n this.listView = !this.listView;\r\n if (this.listView) {\r\n this.paginationSize = AppToken.PAGES_PUBLISHED_ITEMS_PER_PAGE;\r\n this.paginationSizeChanged(this.paginationSize);\r\n this.paginationSizeContents = AppToken.PAGES_PUBLISHED_CONTENTS_ITEMS_PER_PAGE;\r\n this.paginationSizeChangedContents(this.paginationSizeContents);\r\n } else {\r\n this.paginationSize = AppToken.PAGES_PUBLISHED_ITEMS_PER_PAGE;\r\n this.paginationSizeContents = AppToken.PAGES_PUBLISHED_CONTENTS_ITEMS_PER_PAGE;\r\n }\r\n this.initializeData();\r\n return false;\r\n }\r\n\r\n paginationSizeChanged(newSize: number) {\r\n if (this.listView) {\r\n this.paginationSize = newSize;\r\n } else {\r\n this.paginationSize = AppToken.PAGES_PUBLISHED_ITEMS_PER_PAGE;\r\n }\r\n this.filter.to = this.filter.from + this.paginationSize;\r\n this.initializeData();\r\n }\r\n\r\n paginationSizeChangedContents(newSize: number) {\r\n if (this.listView) {\r\n this.paginationSizeContents = newSize;\r\n } else {\r\n this.paginationSizeContents = AppToken.PAGES_PUBLISHED_CONTENTS_ITEMS_PER_PAGE;\r\n }\r\n }\r\n\r\n pageChanged($event) {\r\n this.currentPage = $event.page;\r\n this.search(null, true);\r\n }\r\n\r\n pageChangedContents($event) {\r\n this.currentPageContents = $event.page;\r\n this.search(null, true);\r\n }\r\n\r\n showPagination(publishCount: number, paginationSize: number) {\r\n if (publishCount) {\r\n if (publishCount > paginationSize) {\r\n return 'visible';\r\n }\r\n }\r\n return 'hidden';\r\n }\r\n\r\n updateListing() {\r\n this.filter.from = 0;\r\n this.filter.to = this.paginationSize;\r\n\r\n this.initializeData();\r\n }\r\n\r\n changeLanguage(event, languageCode) {\r\n this.dataParser.changeLanguage(languageCode);\r\n $(event.currentTarget).parent().parent().find('li').removeClass('active');\r\n $(event.currentTarget).parent().addClass('active');\r\n }\r\n\r\n}\r\n\r\n","export default \".selector {\\r\\n display: flex;\\r\\n background-color: #aeaeae;\\r\\n min-height: 100vh;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n}\\r\\n\\r\\n::ng-deep .panel-orangium-contents {\\r\\n border-radius: 0px;\\r\\n margin: 0px;\\r\\n border: none;\\r\\n}\\r\\n\\r\\n::ng-deep .panel-orangium-contents > .panel-heading {\\r\\n background-color: #aeaeae;\\r\\n border-radius: 0px;\\r\\n border: solid white 1px;\\r\\n border-left: none;\\r\\n border-right: none;\\r\\n border-bottom: none;\\r\\n margin: 0px;\\r\\n color: white;\\r\\n }\\r\\n\\r\\n.borderless {\\r\\n border: none !important;\\r\\n border-color: transparent;\\r\\n border-style: none;\\r\\n}\\r\\n\\r\\n.borderless:focus {\\r\\n outline: none;\\r\\n }\\r\\n\\r\\n.rounded-input {\\r\\n border-radius: 25px;\\r\\n}\\r\\n\\r\\n::ng-deep\\r\\n.panel-orangium-contents > .panel-heading > .panel-title > .accordion-toggle > button {\\r\\n color: black;\\r\\n}\\r\\n\\r\\n::ng-deep .panel-open > .panel-orangium-contents > .panel-heading {\\r\\n background-color: #f29100 !important;\\r\\n}\\r\\n\\r\\n::ng-deep\\r\\n .panel-open > .panel-orangium-contents > .panel-heading > .panel-title > .accordion-toggle > button {\\r\\n color: #313131;\\r\\n }\\r\\n\\r\\n::ng-deep .panel-open > .panel-orangium-contents > .panel-collapse {\\r\\n background-color: #4d4d4d;\\r\\n color: white;\\r\\n}\\r\\n\\r\\n::ng-deep\\r\\n .panel-open > .panel-orangium-contents > .panel-collapse > .panel-body\\r\\n div\\r\\n a {\\r\\n color: black;\\r\\n }\\r\\n\\r\\n::ng-deep .panel-orangium-contents > .panel-collapse {\\r\\n background-color: #4d4d4d;\\r\\n color: white;\\r\\n}\\r\\n\\r\\n::ng-deep .panel-orangium-contents > .panel-collapse > .panel-body div a {\\r\\n color: black;\\r\\n }\\r\\n\\r\\n.panel-body {\\r\\n padding: 0px;\\r\\n}\\r\\n\\r\\n.c-white {\\r\\n color: white;\\r\\n}\\r\\n\\r\\n.name-field {\\r\\n margin-top: 10px;\\r\\n margin-bottom: 5px;\\r\\n}\\r\\n\\r\\n.search-group {\\r\\n background-color: #aeaeae;\\r\\n padding: 8px 8px;\\r\\n color: black;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.selected-content {\\r\\n background-color: #303130;\\r\\n border-left: #f29100 solid 5px;\\r\\n color: #f29100 !important;\\r\\n}\\r\\n\\r\\n.cursor {\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.content-selectable {\\r\\n width: 100%;\\r\\n display: inline-block;\\r\\n font-weight: 400;\\r\\n vertical-align: middle;\\r\\n cursor: pointer;\\r\\n -webkit-user-select: none;\\r\\n -moz-user-select: none;\\r\\n -ms-user-select: none;\\r\\n user-select: none;\\r\\n padding: 0.7rem 1rem;\\r\\n font-size: 1rem;\\r\\n line-height: 1.5;\\r\\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\\r\\n}\\r\\n\\r\\n.list-opt-border {\\r\\n border: solid #4d4d4d 2px;\\r\\n border-radius: 25px;\\r\\n padding: 5px;\\r\\n background-color: #ececec;\\r\\n}\\r\\n\\r\\n.top-left-radius {\\r\\n border-bottom-left-radius: 0px;\\r\\n border-bottom-right-radius: 0px;\\r\\n border-top-right-radius: 0px;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .page-item.active .page-link {\\r\\n background-color: #f29100;\\r\\n border-color: #e28100;\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n@media screen and (min-height:1000px) {\\r\\n .max-height {\\r\\n max-height: 678px;\\r\\n }\\r\\n}\\r\\n\\r\\n.on-hover:hover {\\r\\n transition: all .2s ease-in;\\r\\n background-color: #f29100;\\r\\n color: black !important;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbnRlbnRzLWxpc3RpbmcuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGFBQWE7RUFDYix5QkFBeUI7RUFDekIsaUJBQWlCO0VBQ2pCLGFBQWE7RUFDYixzQkFBc0I7QUFDeEI7O0FBRUE7RUFDRSxrQkFBa0I7RUFDbEIsV0FBVztFQUNYLFlBQVk7QUFDZDs7QUFFRTtJQUNFLHlCQUF5QjtJQUN6QixrQkFBa0I7SUFDbEIsdUJBQXVCO0lBQ3ZCLGlCQUFpQjtJQUNqQixrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLFdBQVc7SUFDWCxZQUFZO0VBQ2Q7O0FBRUY7RUFDRSx1QkFBdUI7RUFDdkIseUJBQXlCO0VBQ3pCLGtCQUFrQjtBQUNwQjs7QUFFRTtJQUNFLGFBQWE7RUFDZjs7QUFFRjtFQUNFLG1CQUFtQjtBQUNyQjs7QUFFQTs7RUFFRSxZQUFZO0FBQ2Q7O0FBRUE7RUFDRSxvQ0FBb0M7QUFDdEM7O0FBRUU7O0lBRUUsY0FBYztFQUNoQjs7QUFFRjtFQUNFLHlCQUF5QjtFQUN6QixZQUFZO0FBQ2Q7O0FBRUU7Ozs7SUFJRSxZQUFZO0VBQ2Q7O0FBRUY7RUFDRSx5QkFBeUI7RUFDekIsWUFBWTtBQUNkOztBQUVFO0lBQ0UsWUFBWTtFQUNkOztBQUVGO0VBQ0UsWUFBWTtBQUNkOztBQUVBO0VBQ0UsWUFBWTtBQUNkOztBQUVBO0VBQ0UsZ0JBQWdCO0VBQ2hCLGtCQUFrQjtBQUNwQjs7QUFFQTtFQUNFLHlCQUF5QjtFQUN6QixnQkFBZ0I7RUFDaEIsWUFBWTtFQUNaLG1CQUFtQjtBQUNyQjs7QUFFQTtFQUNFLHlCQUF5QjtFQUN6Qiw4QkFBOEI7RUFDOUIseUJBQXlCO0FBQzNCOztBQUVBO0VBQ0UsZUFBZTtBQUNqQjs7QUFFQTtFQUNFLFdBQVc7RUFDWCxxQkFBcUI7RUFDckIsZ0JBQWdCO0VBQ2hCLHNCQUFzQjtFQUN0QixlQUFlO0VBQ2YseUJBQXlCO0VBQ3pCLHNCQUFzQjtFQUN0QixxQkFBcUI7RUFDckIsaUJBQWlCO0VBQ2pCLG9CQUFvQjtFQUNwQixlQUFlO0VBQ2YsZ0JBQWdCO0VBRWhCLHFJQUFxSTtBQUN2STs7QUFFQTtFQUNFLHlCQUF5QjtFQUN6QixtQkFBbUI7RUFDbkIsWUFBWTtFQUNaLHlCQUF5QjtBQUMzQjs7QUFFQTtFQUNFLDhCQUE4QjtFQUM5QiwrQkFBK0I7RUFDL0IsNEJBQTRCO0FBQzlCOztBQUVBO0VBQ0UseUJBQXlCO0VBQ3pCLHFCQUFxQjtFQUNyQixXQUFXO0FBQ2I7O0FBRUE7RUFDRTtJQUNFLGlCQUFpQjtFQUNuQjtBQUNGOztBQUVBO0VBSUUsMkJBQTJCO0VBQzNCLHlCQUF5QjtFQUN6Qix1QkFBdUI7QUFDekIiLCJmaWxlIjoiY29udGVudHMtbGlzdGluZy5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLnNlbGVjdG9yIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNhZWFlYWU7XHJcbiAgbWluLWhlaWdodDogMTAwdmg7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG59XHJcblxyXG46Om5nLWRlZXAgLnBhbmVsLW9yYW5naXVtLWNvbnRlbnRzIHtcclxuICBib3JkZXItcmFkaXVzOiAwcHg7XHJcbiAgbWFyZ2luOiAwcHg7XHJcbiAgYm9yZGVyOiBub25lO1xyXG59XHJcblxyXG4gIDo6bmctZGVlcCAucGFuZWwtb3JhbmdpdW0tY29udGVudHMgPiAucGFuZWwtaGVhZGluZyB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWVhZWFlO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMHB4O1xyXG4gICAgYm9yZGVyOiBzb2xpZCB3aGl0ZSAxcHg7XHJcbiAgICBib3JkZXItbGVmdDogbm9uZTtcclxuICAgIGJvcmRlci1yaWdodDogbm9uZTtcclxuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XHJcbiAgICBtYXJnaW46IDBweDtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICB9XHJcblxyXG4uYm9yZGVybGVzcyB7XHJcbiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICBib3JkZXItc3R5bGU6IG5vbmU7XHJcbn1cclxuXHJcbiAgLmJvcmRlcmxlc3M6Zm9jdXMge1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICB9XHJcblxyXG4ucm91bmRlZC1pbnB1dCB7XHJcbiAgYm9yZGVyLXJhZGl1czogMjVweDtcclxufVxyXG5cclxuOjpuZy1kZWVwXHJcbi5wYW5lbC1vcmFuZ2l1bS1jb250ZW50cyA+IC5wYW5lbC1oZWFkaW5nID4gLnBhbmVsLXRpdGxlID4gLmFjY29yZGlvbi10b2dnbGUgPiBidXR0b24ge1xyXG4gIGNvbG9yOiBibGFjaztcclxufVxyXG5cclxuOjpuZy1kZWVwIC5wYW5lbC1vcGVuID4gLnBhbmVsLW9yYW5naXVtLWNvbnRlbnRzID4gLnBhbmVsLWhlYWRpbmcge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmMjkxMDAgIWltcG9ydGFudDtcclxufVxyXG5cclxuICA6Om5nLWRlZXBcclxuICAucGFuZWwtb3BlbiA+IC5wYW5lbC1vcmFuZ2l1bS1jb250ZW50cyA+IC5wYW5lbC1oZWFkaW5nID4gLnBhbmVsLXRpdGxlID4gLmFjY29yZGlvbi10b2dnbGUgPiBidXR0b24ge1xyXG4gICAgY29sb3I6ICMzMTMxMzE7XHJcbiAgfVxyXG5cclxuOjpuZy1kZWVwIC5wYW5lbC1vcGVuID4gLnBhbmVsLW9yYW5naXVtLWNvbnRlbnRzID4gLnBhbmVsLWNvbGxhcHNlIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGQ0ZDRkO1xyXG4gIGNvbG9yOiB3aGl0ZTtcclxufVxyXG5cclxuICA6Om5nLWRlZXBcclxuICAucGFuZWwtb3BlbiA+IC5wYW5lbC1vcmFuZ2l1bS1jb250ZW50cyA+IC5wYW5lbC1jb2xsYXBzZSA+IC5wYW5lbC1ib2R5XHJcbiAgZGl2XHJcbiAgYSB7XHJcbiAgICBjb2xvcjogYmxhY2s7XHJcbiAgfVxyXG5cclxuOjpuZy1kZWVwIC5wYW5lbC1vcmFuZ2l1bS1jb250ZW50cyA+IC5wYW5lbC1jb2xsYXBzZSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzRkNGQ0ZDtcclxuICBjb2xvcjogd2hpdGU7XHJcbn1cclxuXHJcbiAgOjpuZy1kZWVwIC5wYW5lbC1vcmFuZ2l1bS1jb250ZW50cyA+IC5wYW5lbC1jb2xsYXBzZSA+IC5wYW5lbC1ib2R5IGRpdiBhIHtcclxuICAgIGNvbG9yOiBibGFjaztcclxuICB9XHJcblxyXG4ucGFuZWwtYm9keSB7XHJcbiAgcGFkZGluZzogMHB4O1xyXG59XHJcblxyXG4uYy13aGl0ZSB7XHJcbiAgY29sb3I6IHdoaXRlO1xyXG59XHJcblxyXG4ubmFtZS1maWVsZCB7XHJcbiAgbWFyZ2luLXRvcDogMTBweDtcclxuICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbn1cclxuXHJcbi5zZWFyY2gtZ3JvdXAge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNhZWFlYWU7XHJcbiAgcGFkZGluZzogOHB4IDhweDtcclxuICBjb2xvcjogYmxhY2s7XHJcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxufVxyXG5cclxuLnNlbGVjdGVkLWNvbnRlbnQge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMzMDMxMzA7XHJcbiAgYm9yZGVyLWxlZnQ6ICNmMjkxMDAgc29saWQgNXB4O1xyXG4gIGNvbG9yOiAjZjI5MTAwICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5jdXJzb3Ige1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLmNvbnRlbnQtc2VsZWN0YWJsZSB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcclxuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xyXG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcclxuICB1c2VyLXNlbGVjdDogbm9uZTtcclxuICBwYWRkaW5nOiAwLjdyZW0gMXJlbTtcclxuICBmb250LXNpemU6IDFyZW07XHJcbiAgbGluZS1oZWlnaHQ6IDEuNTtcclxuICAtd2Via2l0LXRyYW5zaXRpb246IGNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgMC4xNXMgZWFzZS1pbi1vdXQ7XHJcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAwLjE1cyBlYXNlLWluLW91dDtcclxufVxyXG5cclxuLmxpc3Qtb3B0LWJvcmRlciB7XHJcbiAgYm9yZGVyOiBzb2xpZCAjNGQ0ZDRkIDJweDtcclxuICBib3JkZXItcmFkaXVzOiAyNXB4O1xyXG4gIHBhZGRpbmc6IDVweDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlY2VjO1xyXG59XHJcblxyXG4udG9wLWxlZnQtcmFkaXVzIHtcclxuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwcHg7XHJcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDBweDtcclxuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMHB4O1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLnBhZ2UtaXRlbS5hY3RpdmUgLnBhZ2UtbGluayB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyOTEwMDtcclxuICBib3JkZXItY29sb3I6ICNlMjgxMDA7XHJcbiAgY29sb3I6ICNmZmY7XHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4taGVpZ2h0OjEwMDBweCkge1xyXG4gIC5tYXgtaGVpZ2h0IHtcclxuICAgIG1heC1oZWlnaHQ6IDY3OHB4O1xyXG4gIH1cclxufVxyXG5cclxuLm9uLWhvdmVyOmhvdmVyIHtcclxuICAtbW96LXRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbjtcclxuICAtby10cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW47XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW47XHJcbiAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLWluO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmMjkxMDA7XHJcbiAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XHJcbn1cclxuIl19 */\";","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { MenuItemDto } from '../../../services/akita/menu-item-schema/menu-item.dto';\r\nimport { DataParser } from \"../../../services\";\r\n\r\n@Pipe({\r\n name: 'getMenuLabel'\r\n})\r\nexport class GetMenuLabelPipe implements PipeTransform {\r\n\r\n protected dParser: DataParser;\r\n\r\n transform(menuDto: MenuItemDto, languageCode: string = 'iv', pages: any): string {\r\n\r\n this.dParser = new DataParser(null);\r\n\r\n const page = this.dParser.pullData(menuDto.menuItem, 'page');\r\n const pageObj = pages.find(p => p.id === page);\r\n\r\n let label = this.dParser.pullData(pageObj, 'pageName');\r\n\r\n if (!label) {\r\n label = this.dParser.pullData(menuDto.menuItem, 'label', languageCode);\r\n }\r\n\r\n if (!label) {\r\n label = this.dParser.pullData(menuDto.menuItem, 'code');\r\n }\r\n\r\n return label;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ResourceStore } from './resource.store';\r\nimport { ResourceQuery } from './resource.query';\r\nimport { BaseFacade } from '../base/base.facade';\r\nimport { ResourceService } from './resource.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { DynamicSchemaFactory } from '../dynamic-schema.factory';\r\nimport { Content } from '../../squidex/models/content.model';\r\nimport { Observable, of, from } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ResourceFacade extends BaseFacade {\r\n private static resources: Content[] = [];\r\n resourcesLoad: Promise = this.reloadResources();\r\n private static lastCheck:Date = new Date();\r\n private static minutesToWait: number = 15;\r\n\r\n\r\n constructor(\r\n appResourceService: ResourceService,\r\n appResourceStore: ResourceStore,\r\n appResourceQuery: ResourceQuery,\r\n dynamicSchemaFactory: DynamicSchemaFactory,\r\n translateService: TranslateService) {\r\n super(appResourceService,\r\n appResourceStore,\r\n appResourceQuery,\r\n dynamicSchemaFactory.getDynamicSchemaFacade('resource'),\r\n translateService,\r\n 'resource-facade'\r\n );\r\n\r\n }\r\n\r\n existLocally(code: string): boolean {\r\n return ResourceFacade.resources.find(r => r.data.code.iv === code) !== undefined;\r\n }\r\n\r\n getByCode(code: string, draftMode: boolean = false, forceReolad: boolean = false): Observable {\r\n if (ResourceFacade.lastCheck.getTime() + 1000 * 60 * ResourceFacade.minutesToWait < new Date().getTime() || forceReolad) {\r\n this.resourcesLoad = this.reloadResources();\r\n ResourceFacade.lastCheck = new Date();\r\n }\r\n\r\n if(ResourceFacade.resources.length > 0) {\r\n let resource = ResourceFacade.resources.find(r => r.data.code.iv === code);\r\n if(resource) {\r\n return of(resource);\r\n }\r\n }\r\n\r\n return from(this.resourcesLoad.then(r => {\r\n return r.find(r => r.data.code.iv === code);\r\n }));\r\n }\r\n\r\n private reloadResources(): Promise {\r\n return this.getService().getAll().pipe(map(r => {\r\n ResourceFacade.resources = r.items;\r\n return r.items;\r\n })).toPromise();\r\n }\r\n\r\n flushResources(): void {\r\n ResourceFacade.resources = [];\r\n ResourceFacade.lastCheck = new Date();\r\n this.resourcesLoad = this.reloadResources();\r\n }\r\n}\r\n","import { StoreConfig } from '@datorama/akita';\r\nimport { Injectable } from '@angular/core';\r\nimport { BaseStore } from '../base/base.store';\r\n\r\n@Injectable({ providedIn: 'root' })\r\n@StoreConfig({ name: 'resource' })\r\nexport class ResourceStore extends BaseStore {\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","export default \".drop-area {\\r\\n background-color: whitesmoke;\\r\\n border: dashed #464746 3px;\\r\\n border-radius: 15px;\\r\\n padding: 25px;\\r\\n}\\r\\n\\r\\n.thumbnail-image {\\r\\n max-height: 200px !important;\\r\\n max-width: 200px !important;\\r\\n}\\r\\n\\r\\n.thumbnail-area {\\r\\n max-height: 300px;\\r\\n overflow-y:auto;\\r\\n}\\r\\n\\r\\n.align-items {\\r\\n float: left;\\r\\n z-index: 100;\\r\\n\\r\\n}\\r\\n\\r\\n.fa-trash {\\r\\n color: #F29100;\\r\\n font-size: initial;\\r\\n}\\r\\n\\r\\n/* Container needed to position the overlay. Adjust the width as needed */\\r\\n\\r\\n.container {\\r\\n position: relative;\\r\\n width: 100%;\\r\\n max-width: 220px;\\r\\n}\\r\\n\\r\\n/* Make the image to responsive */\\r\\n\\r\\n.image {\\r\\n width: 100%;\\r\\n height: auto;\\r\\n}\\r\\n\\r\\n/* The overlay effect (full height and width) - lays on top of the container and over the image */\\r\\n\\r\\n.overlay {\\r\\n position: absolute;\\r\\n top: 0;\\r\\n bottom: 0;\\r\\n left: 15px;\\r\\n right: 0;\\r\\n max-height: 200px !important;\\r\\n max-width: 350px !important;\\r\\n min-height: 40px !important;\\r\\n opacity: 0;\\r\\n transition: .3s ease;\\r\\n border-style: solid;\\r\\n border-color: #F29100;\\r\\n}\\r\\n\\r\\n/* When you mouse over the container, fade in the overlay icon*/\\r\\n\\r\\n.container:hover .overlay {\\r\\n opacity: 1;\\r\\n}\\r\\n\\r\\n/* The icon inside the overlay is positioned in the middle vertically and horizontally */\\r\\n\\r\\n.icon {\\r\\n color: white;\\r\\n font-size: 100px;\\r\\n position: absolute;\\r\\n top: 50%;\\r\\n left: 50%;\\r\\n transform: translate(-50%, -50%);\\r\\n -ms-transform: translate(-50%, -50%);\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n/* When you move the mouse over the icon, change color */\\r\\n\\r\\n/*.fa-user:hover {\\r\\n color: #eee;\\r\\n}*/\\r\\n\\r\\n.label-image {\\r\\n width:100%;\\r\\n margin-top: 10px;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVwbG9hZC1maWVsZC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsNEJBQTRCO0VBQzVCLDBCQUEwQjtFQUMxQixtQkFBbUI7RUFDbkIsYUFBYTtBQUNmOztBQUVBO0VBQ0UsNEJBQTRCO0VBQzVCLDJCQUEyQjtBQUM3Qjs7QUFHQTtJQUNJLGlCQUFpQjtJQUNqQixlQUFlO0FBQ25COztBQUVBO0VBQ0UsV0FBVztFQUNYLFlBQVk7O0FBRWQ7O0FBRUE7RUFDRSxjQUFjO0VBQ2Qsa0JBQWtCO0FBQ3BCOztBQUlBLHlFQUF5RTs7QUFDekU7RUFDRSxrQkFBa0I7RUFDbEIsV0FBVztFQUNYLGdCQUFnQjtBQUNsQjs7QUFFQSxpQ0FBaUM7O0FBQ2pDO0VBQ0UsV0FBVztFQUNYLFlBQVk7QUFDZDs7QUFFQSxpR0FBaUc7O0FBQ2pHO0VBQ0Usa0JBQWtCO0VBQ2xCLE1BQU07RUFDTixTQUFTO0VBQ1QsVUFBVTtFQUNWLFFBQVE7RUFDUiw0QkFBNEI7RUFDNUIsMkJBQTJCO0VBQzNCLDJCQUEyQjtFQUMzQixVQUFVO0VBQ1Ysb0JBQW9CO0VBQ3BCLG1CQUFtQjtFQUNuQixxQkFBcUI7QUFDdkI7O0FBRUEsK0RBQStEOztBQUMvRDtFQUNFLFVBQVU7QUFDWjs7QUFFQSx3RkFBd0Y7O0FBQ3hGO0VBQ0UsWUFBWTtFQUNaLGdCQUFnQjtFQUNoQixrQkFBa0I7RUFDbEIsUUFBUTtFQUNSLFNBQVM7RUFDVCxnQ0FBZ0M7RUFDaEMsb0NBQW9DO0VBQ3BDLGtCQUFrQjtBQUNwQjs7QUFFQSx3REFBd0Q7O0FBQ3hEOztFQUVFOztBQUNGO0VBQ0UsVUFBVTtFQUNWLGdCQUFnQjtBQUNsQiIsImZpbGUiOiJ1cGxvYWQtZmllbGQuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5kcm9wLWFyZWEge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlc21va2U7XHJcbiAgYm9yZGVyOiBkYXNoZWQgIzQ2NDc0NiAzcHg7XHJcbiAgYm9yZGVyLXJhZGl1czogMTVweDtcclxuICBwYWRkaW5nOiAyNXB4O1xyXG59XHJcblxyXG4udGh1bWJuYWlsLWltYWdlIHtcclxuICBtYXgtaGVpZ2h0OiAyMDBweCAhaW1wb3J0YW50O1xyXG4gIG1heC13aWR0aDogMjAwcHggIWltcG9ydGFudDtcclxufVxyXG5cclxuXHJcbi50aHVtYm5haWwtYXJlYSB7XHJcbiAgICBtYXgtaGVpZ2h0OiAzMDBweDtcclxuICAgIG92ZXJmbG93LXk6YXV0bztcclxufVxyXG5cclxuLmFsaWduLWl0ZW1zIHtcclxuICBmbG9hdDogbGVmdDtcclxuICB6LWluZGV4OiAxMDA7XHJcblxyXG59XHJcblxyXG4uZmEtdHJhc2gge1xyXG4gIGNvbG9yOiAjRjI5MTAwO1xyXG4gIGZvbnQtc2l6ZTogaW5pdGlhbDtcclxufVxyXG5cclxuXHJcblxyXG4vKiBDb250YWluZXIgbmVlZGVkIHRvIHBvc2l0aW9uIHRoZSBvdmVybGF5LiBBZGp1c3QgdGhlIHdpZHRoIGFzIG5lZWRlZCAqL1xyXG4uY29udGFpbmVyIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgbWF4LXdpZHRoOiAyMjBweDtcclxufVxyXG5cclxuLyogTWFrZSB0aGUgaW1hZ2UgdG8gcmVzcG9uc2l2ZSAqL1xyXG4uaW1hZ2Uge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogYXV0bztcclxufVxyXG5cclxuLyogVGhlIG92ZXJsYXkgZWZmZWN0IChmdWxsIGhlaWdodCBhbmQgd2lkdGgpIC0gbGF5cyBvbiB0b3Agb2YgdGhlIGNvbnRhaW5lciBhbmQgb3ZlciB0aGUgaW1hZ2UgKi9cclxuLm92ZXJsYXkge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7XHJcbiAgYm90dG9tOiAwO1xyXG4gIGxlZnQ6IDE1cHg7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgbWF4LWhlaWdodDogMjAwcHggIWltcG9ydGFudDtcclxuICBtYXgtd2lkdGg6IDM1MHB4ICFpbXBvcnRhbnQ7XHJcbiAgbWluLWhlaWdodDogNDBweCAhaW1wb3J0YW50O1xyXG4gIG9wYWNpdHk6IDA7XHJcbiAgdHJhbnNpdGlvbjogLjNzIGVhc2U7XHJcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICBib3JkZXItY29sb3I6ICNGMjkxMDA7XHJcbn1cclxuXHJcbi8qIFdoZW4geW91IG1vdXNlIG92ZXIgdGhlIGNvbnRhaW5lciwgZmFkZSBpbiB0aGUgb3ZlcmxheSBpY29uKi9cclxuLmNvbnRhaW5lcjpob3ZlciAub3ZlcmxheSB7XHJcbiAgb3BhY2l0eTogMTtcclxufVxyXG5cclxuLyogVGhlIGljb24gaW5zaWRlIHRoZSBvdmVybGF5IGlzIHBvc2l0aW9uZWQgaW4gdGhlIG1pZGRsZSB2ZXJ0aWNhbGx5IGFuZCBob3Jpem9udGFsbHkgKi9cclxuLmljb24ge1xyXG4gIGNvbG9yOiB3aGl0ZTtcclxuICBmb250LXNpemU6IDEwMHB4O1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDUwJTtcclxuICBsZWZ0OiA1MCU7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLyogV2hlbiB5b3UgbW92ZSB0aGUgbW91c2Ugb3ZlciB0aGUgaWNvbiwgY2hhbmdlIGNvbG9yICovXHJcbi8qLmZhLXVzZXI6aG92ZXIge1xyXG4gIGNvbG9yOiAjZWVlO1xyXG59Ki9cclxuLmxhYmVsLWltYWdlIHtcclxuICB3aWR0aDoxMDAlO1xyXG4gIG1hcmdpbi10b3A6IDEwcHg7XHJcbn1cclxuIl19 */\";","import { Content } from \"../../squidex\";\r\n\r\nexport class ResourceModel extends Content {\r\n\r\n constructor(current?: Content) {\r\n super(current);\r\n }\r\n}\r\n","export default \"::ng-deep .control-language-parent > ul {\\r\\n float: right !important;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .ck-sticky-panel__content {\\r\\n margin-top: 0.25rem !important;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .cke {\\r\\n margin-top: 10px;\\r\\n}\\r\\n\\r\\n/* Rounded sliders */\\r\\n\\r\\n.slider.round {\\r\\n border-radius: 34px;\\r\\n}\\r\\n\\r\\n.slider.round:before {\\r\\n border-radius: 50%;\\r\\n }\\r\\n\\r\\ninput.large-checkbox {\\r\\n width: 30px;\\r\\n height: 30px;\\r\\n}\\r\\n\\r\\nlabel.larger {\\r\\n padding: .5rem .5rem .5rem 1rem !important;\\r\\n}\\r\\n\\r\\n.large-container {\\r\\n margin:1rem 1rem 1rem 0rem !important;\\r\\n} \\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZpZWxkLXJlZmVyZW5jZS1lZGl0b3IuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLHVCQUF1QjtBQUN6Qjs7QUFFQTtFQUNFLDhCQUE4QjtBQUNoQzs7QUFFQTtFQUNFLGdCQUFnQjtBQUNsQjs7QUFFQSxvQkFBb0I7O0FBQ3BCO0VBQ0UsbUJBQW1CO0FBQ3JCOztBQUVFO0lBQ0Usa0JBQWtCO0VBQ3BCOztBQUVGO0VBQ0UsV0FBVztFQUNYLFlBQVk7QUFDZDs7QUFDQTtFQUNFLDBDQUEwQztBQUM1Qzs7QUFDQTtJQUNJLHFDQUFxQztBQUN6QyIsImZpbGUiOiJmaWVsZC1yZWZlcmVuY2UtZWRpdG9yLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6Om5nLWRlZXAgLmNvbnRyb2wtbGFuZ3VhZ2UtcGFyZW50ID4gdWwge1xyXG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLmNrLXN0aWNreS1wYW5lbF9fY29udGVudCB7XHJcbiAgbWFyZ2luLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLmNrZSB7XHJcbiAgbWFyZ2luLXRvcDogMTBweDtcclxufVxyXG5cclxuLyogUm91bmRlZCBzbGlkZXJzICovXHJcbi5zbGlkZXIucm91bmQge1xyXG4gIGJvcmRlci1yYWRpdXM6IDM0cHg7XHJcbn1cclxuXHJcbiAgLnNsaWRlci5yb3VuZDpiZWZvcmUge1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gIH1cclxuXHJcbmlucHV0LmxhcmdlLWNoZWNrYm94IHtcclxuICB3aWR0aDogMzBweDtcclxuICBoZWlnaHQ6IDMwcHg7XHJcbn1cclxubGFiZWwubGFyZ2VyIHtcclxuICBwYWRkaW5nOiAuNXJlbSAuNXJlbSAuNXJlbSAxcmVtICFpbXBvcnRhbnQ7XHJcbn1cclxuLmxhcmdlLWNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW46MXJlbSAxcmVtIDFyZW0gMHJlbSAhaW1wb3J0YW50O1xyXG59IFxyXG4iXX0= */\";","import { Component, Input } from '@angular/core';\r\nimport { SiteSettingModel } from \"../../services/akita/site-setting-schema/site-setting.model\";\r\n\r\n@Component({\r\n selector: 'header-main',\r\n templateUrl: './header-main.component.html',\r\n})\r\nexport class HeaderMainComponent {\r\n\r\n @Input()\r\n siteSetting: SiteSettingModel;\r\n\r\n whenLanguageChange($event): void {\r\n\r\n }\r\n}\r\n","declare var $: any;\r\nimport { Content } from './models/content.model';\r\nimport { Field } from './models/field.model';\r\nimport { SquidexDate } from './extensions/squidex-date.extension';\r\nimport { LanguageModel } from '../akita';\r\n\r\nconst EMPTY = '';\r\n\r\nexport class DataParser {\r\n\r\n currentLanguageCode: string;\r\n\r\n constructor(public readonly siteLanguages: LanguageModel[] = null) {\r\n if (this.siteLanguages) {\r\n if (!this.currentLanguageCode) {\r\n this.currentLanguageCode = this.getLanguageCode(this.findDefaultLanguage());\r\n }\r\n }\r\n }\r\n\r\n getData(content: Content, field: Field, language: string = 'iv'): any {\r\n return this.pullData(content, field.name, language);\r\n }\r\n\r\n /*\r\n * @description same as getData, with different signature, get and put are synonyms\r\n */\r\n pullData(content: Content, key: string, language: string = 'iv'): any {\r\n if (!content || !content.data || !key) {\r\n return EMPTY;\r\n }\r\n\r\n let d = content.data[key];\r\n\r\n let data: any;\r\n\r\n if (d) {\r\n data = d[language];\r\n } else {\r\n data = EMPTY;\r\n }\r\n\r\n return data;\r\n }\r\n\r\n setContent(content: Content, field: Field, newValue: string, languageCode: string = 'iv'): any {\r\n newValue = this.fixFieldValue(field.properties.editor, newValue, field.properties.fieldType);\r\n return this.setData(content.data, field, newValue, languageCode);\r\n }\r\n\r\n setData(data: any, field: Field, newValue: string, languageCode: string = 'iv'): any {\r\n newValue = this.fixFieldValue(field.properties.editor, newValue, field.properties.fieldType);\r\n return this.putData(data, field.name, newValue, languageCode, field);\r\n }\r\n\r\n // same as setData, with different signature, set and pull are synonyms\r\n putData(data: any, key: string, newValue: any, languageCode: string = 'iv', field?: Field): any {\r\n if (!data || !key) {\r\n return null;\r\n }\r\n\r\n if (field && field.properties.fieldType === 'Assets') {\r\n if (!data[key]) {\r\n data[key] = { 'iv': [] };\r\n }\r\n if (data[key].iv.length === 0) {\r\n data[key].iv = [];\r\n }\r\n if (Array.isArray(newValue)) {\r\n newValue.forEach(val => {\r\n if (!data[key].iv.includes(val)) {\r\n data[key].iv.push(val);\r\n }\r\n });\r\n } else {\r\n if (newValue) {\r\n data[key].iv.push(newValue);\r\n }\r\n }\r\n\r\n } else {\r\n if (field && field.properties.fieldType === 'Boolean') {\r\n if (newValue === '') {\r\n newValue = false;\r\n }\r\n }\r\n if (!data[key]) {\r\n data[key] = {};\r\n }\r\n\r\n if (!(Array.isArray(newValue) && newValue.length === 1 && newValue[0] === '')) {\r\n data[key][languageCode] = newValue;\r\n }\r\n }\r\n return data;\r\n\r\n }\r\n\r\n private fixFieldValue(editor: string, value: any, type: string): any {\r\n if (editor === 'DateTime') {\r\n return new SquidexDate(value).format();\r\n } else if ((editor === 'Dropdown' || editor === 'List') && !Array.isArray(value)) {\r\n return [value];\r\n } else if (type === 'Assets') {\r\n if (!value || value === \"\") {\r\n return [];\r\n } else if (Array.isArray(value)) {\r\n return value;\r\n } else {\r\n return [value];\r\n }\r\n } else if (type === 'Number') {\r\n return +value; // simple way to parse to number\r\n } else if (type === 'References') {\r\n\r\n if (!(value instanceof Array)) {\r\n value = [value];\r\n }\r\n\r\n if (value[0] && value[0].item_id) {\r\n\r\n value = value.map(v => {\r\n if (v.item_id) {\r\n return v.item_id;\r\n }\r\n return v;\r\n });\r\n\r\n }\r\n\r\n return value;\r\n\r\n } else {\r\n return value;\r\n }\r\n\r\n }\r\n\r\n findDefaultLanguage(): LanguageModel {\r\n return this.siteLanguages.find(language => language.data.isdefault && language.data.isdefault.iv === true);\r\n }\r\n\r\n isDefaultLanguage(languageModel: LanguageModel): boolean {\r\n if (languageModel.data.isdefault && languageModel.data.isdefault.iv === true) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n getLanguageName(languageModel: LanguageModel): string {\r\n if (!languageModel || !languageModel.data) return '';\r\n return languageModel.data.name.iv;\r\n }\r\n\r\n getLanguageCode(languageModel: LanguageModel): string {\r\n if (!languageModel || !languageModel.data) return '';\r\n return languageModel.data.code.iv;\r\n }\r\n\r\n changeLanguage(langCode) {\r\n this.currentLanguageCode = langCode;\r\n }\r\n\r\n getCurrentDateTime() {\r\n const tzoffset = (new Date()).getTimezoneOffset() * 60000; //offset in milliseconds\r\n const localISOTime = (new Date(Date.now() - tzoffset)).toISOString().slice(0, 19).replace('T', ' ');\r\n return localISOTime;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { Observable, Subscription, of, forkJoin } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UiNotificationService {\r\n\r\n constructor(private readonly toastr: ToastrService) { }\r\n\r\n successWithHtml(message: string, title: string = 'Success'): void {\r\n this.toastr.success(message,\r\n title,\r\n {\r\n enableHtml: true\r\n });\r\n }\r\n\r\n success(message: string, title: string = 'Success', timespan: number = 3000): void {\r\n this.toastr.success(message,\r\n title,\r\n {\r\n timeOut: timespan\r\n });\r\n }\r\n\r\n successAsync(message: Observable, title: Observable, timespan: number = 3000): Subscription {\r\n return message.subscribe(msg => {\r\n title.subscribe(tl => {\r\n this.toastr.success(msg.toString(),\r\n tl.toString(),\r\n {\r\n timeOut: timespan\r\n });\r\n });\r\n });\r\n }\r\n\r\n error(message: string, title: string = 'Error', timespan: number = 3000): void {\r\n this.toastr.error(message,\r\n title,\r\n {\r\n timeOut: timespan\r\n });\r\n }\r\n\r\n\r\n errorAsync(message: Observable, title: Observable, timespan: number = 3000): Subscription {\r\n return message.subscribe(msg => {\r\n title.subscribe(tl => {\r\n this.toastr.error(msg.toString(),\r\n tl.toString(),\r\n {\r\n timeOut: timespan\r\n });\r\n });\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ArticleStore } from './article.store';\r\nimport { ArticleQuery } from './article.query';\r\nimport { BaseFacade } from \"../base/base.facade\";\r\nimport { ArticleService } from './article.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { DynamicSchemaFactory } from '../dynamic-schema.factory';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ArticleFacade extends BaseFacade {\r\n\r\n constructor(\r\n articleService: ArticleService,\r\n articleStore: ArticleStore,\r\n articleQuery: ArticleQuery,\r\n dynamicSchemaFacto: DynamicSchemaFactory,\r\n translateService: TranslateService) {\r\n super(articleService,\r\n articleStore,\r\n articleQuery,\r\n dynamicSchemaFacto.getDynamicSchemaFacade('article'),\r\n translateService,\r\n 'article-facade');\r\n }\r\n}\r\n","export default \".btn-publish-orangium-hover:hover {\\n background-color: #07c700 !important;\\n}\\n\\n.btn-secondary {\\n color: #fff;\\n background-color: #bababa !important;\\n border-color: #bababa !important;\\n}\\n\\n.btn-secondary:hover {\\n background-color: #a3a3a3 !important;\\n}\\n\\n.show > .btn-secondary.dropdown-toggle {\\n color: #fff;\\n background-color: #bababa !important;\\n border-color: #bababa !important;\\n}\\n\\n.show > .btn-secondary.dropdown-toggle:hover {\\n background-color: #a3a3a3 !important;\\n}\\n\\n.btn-group > .btn-group:not(:first-child) {\\n margin-left: -2px;\\n /*width: 151px;*/\\n height: 45px;\\n cursor: pointer;\\n}\\n\\n.dropdown-item {\\n padding: .25rem 0 !important;\\n}\\n\\n.mode-draft-checkbox {\\n height: 10px;\\n margin-left: auto !important;\\n padding: 0;\\n position: relative;\\n bottom: 40px;\\n}\\n\\n.mode-draft-checkbox label {\\n color: white;\\n}\\n\\n.action-controls button {\\n /*width: 151px;*/\\n height: 45px;\\n background-color: #bababa !important;\\n border-color: #bababa !important;\\n}\\n\\n.action-controls button:hover {\\n background-color: #a3a3a3 !important;\\n}\\n\\n.action-controls ul li {\\n margin: 10px 0;\\n}\\n\\n.text-right {\\n text-align: right !important;\\n}\\n\\n.text-right button {\\n margin: 18px;\\n width: 200px;\\n height: 45px;\\n color: black;\\n}\\n\\n.notification {\\n background-color: #3F93F1;\\n color: white;\\n padding: 8px;\\n border-radius: 20px;\\n top: 23px;\\n position: relative;\\n}\\n\\n.badge-type {\\n border: solid lightgray 1px;\\n border-radius: 10px;\\n padding: 4px 5px 2px;\\n font-size: 10px;\\n font-style: italic;\\n text-transform: uppercase;\\n margin-right: 3px;\\n}\\n\\n.b-red {\\n border-color: red;\\n color: red;\\n}\\n\\n.b-blue {\\n border-color: blue;\\n color: blue;\\n}\\n\\n.b-violet {\\n border-color: blueviolet;\\n color: blueviolet;\\n}\\n\\n.b-green {\\n border-color: green;\\n color: green;\\n}\\n\\n.b-orangium {\\n border-color: #f19100;\\n color: #f19100;\\n}\\n\\n.b-gray {\\n border: none !important;\\n color: #343a40;\\n background-color: lightgray;\\n}\\n\\n.switch {\\n position: relative;\\n display: inline-block;\\n width: 60px;\\n height: 34px;\\n}\\n\\n.switch input {\\n opacity: 0;\\n width: 0;\\n height: 0;\\n}\\n\\n.slider {\\n position: absolute;\\n cursor: pointer;\\n top: 0;\\n left: 0;\\n right: 0;\\n bottom: 0;\\n background-color: #ccc;\\n transition: .4s;\\n}\\n\\n.slider:before {\\n position: absolute;\\n content: \\\"\\\";\\n height: 26px;\\n width: 26px;\\n left: 4px;\\n bottom: 4px;\\n background-color: white;\\n transition: .4s;\\n}\\n\\ninput:checked + .slider {\\n background-color: #f19100;\\n}\\n\\ninput:focus + .slider {\\n box-shadow: 0 0 1px #f19100;\\n}\\n\\ninput:checked + .slider:before {\\n transform: translateX(26px);\\n}\\n\\n/* Rounded sliders */\\n\\n.slider.round {\\n border-radius: 34px;\\n}\\n\\n.slider.round:before {\\n border-radius: 50%;\\n}\\n\\n.btn-delete-orangium {\\n position: relative;\\n text-align: center;\\n line-height: 40px;\\n}\\n\\n.btn-delete-orangium a {\\n background-color: #CD0000;\\n cursor: pointer;\\n height: 45px;\\n color: white;\\n}\\n\\n.btn-delete-orangium img {\\n position: relative;\\n left: 15px;\\n}\\n\\n.btn-publish-orangium, .btn-save-orangium {\\n text-align: center;\\n line-height: 40px;\\n margin-right: 10px;\\n}\\n\\n.btn-publish-orangium a {\\n /*width: 151px;*/\\n height: 45px;\\n}\\n\\n.btn-publish-orangium img, .btn-save-orangium img {\\n position: relative;\\n height: 25px;\\n width: 25px;\\n}\\n\\n.btn-save-orangium a {\\n /*width: 151px;*/\\n height: 45px;\\n cursor: pointer;\\n}\\n\\n.bubble-content-left, .bubble-content-right, .bubble-content {\\n background-color: #ececec;\\n margin-top: 15px;\\n padding: 50px;\\n overflow: unset !important;\\n z-index: 99 !important;\\n}\\n\\n.bubble-content-right::before {\\n content: \\\"\\\";\\n border-left: 30px solid transparent;\\n border-right: 30px solid transparent;\\n border-bottom: 70px solid #ececec;\\n float: right;\\n width: 20px;\\n margin-top: -70px;\\n margin-left: 80px;\\n}\\n\\n.bubble-content-left::before {\\n content: \\\"\\\";\\n border-left: 30px solid transparent;\\n border-right: 30px solid transparent;\\n border-bottom: 70px solid #ececec;\\n float: right;\\n width: 20px;\\n margin-top: -70px;\\n position: absolute;\\n margin-left: 80px;\\n}\\n\\n.bubble-content-context::after {\\n content: \\\"\\\";\\n border-left: 30px solid transparent;\\n border-right: 30px solid transparent;\\n border-bottom: 70px solid #ececec;\\n float: right;\\n width: 20px;\\n margin-top: -70px;\\n position: absolute;\\n margin-left: 80px;\\n}\\n\\n.btn-orangium-save {\\n width: 120px;\\n height: 30px;\\n line-height: 0.5;\\n color: black;\\n background-color: #F29100;\\n}\\n\\n.btn-orangium-cancel {\\n width: 120px;\\n height: 45px;\\n color: black;\\n line-height: 0.5;\\n margin-right: 2.5rem !important;\\n}\\n\\n.section-lt {\\n text-align: right;\\n width: unset;\\n margin-right: 20px;\\n margin-top: 20px;\\n}\\n\\n.section-lt .folder-blk {\\n border-bottom: none !important;\\n}\\n\\n.btn-clone-orangium img {\\n position: relative;\\n height: 25px;\\n width: 25px;\\n}\\n\\n.btn-clone-orangium {\\n text-align: center;\\n line-height: 40px;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uXFwuLlxcLi5cXC4uXFxhZHZhbmNlZC1wYWdlLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBO0VBQ0Usb0NBQ0Y7QUFEQTs7QUFHQTtFQUNFLFdBQVc7RUFDWCxvQ0FBb0M7RUFDcEMsZ0NBQWdDO0FBQWxDOztBQUdBO0VBQ0Usb0NBQW9DO0FBQXRDOztBQUdBO0VBQ0UsV0FBVztFQUNYLG9DQUFvQztFQUNwQyxnQ0FBZ0M7QUFBbEM7O0FBSUE7RUFDRSxvQ0FBb0M7QUFEdEM7O0FBSUE7RUFDRSxpQkFBaUI7RUFDakIsZ0JBQUE7RUFDQSxZQUFZO0VBQ1osZUFBZTtBQURqQjs7QUFJQTtFQUNFLDRCQUE0QjtBQUQ5Qjs7QUFJQTtFQUNFLFlBQVk7RUFDWiw0QkFBNEI7RUFDNUIsVUFBVTtFQUNWLGtCQUFrQjtFQUNsQixZQUFZO0FBRGQ7O0FBSUE7RUFDRSxZQUFZO0FBRGQ7O0FBSUE7RUFDRSxnQkFBQTtFQUNBLFlBQVk7RUFDWixvQ0FBb0M7RUFDcEMsZ0NBQWdDO0FBRGxDOztBQUlBO0VBQ0Usb0NBQW9DO0FBRHRDOztBQUlBO0VBQ0UsY0FBYztBQURoQjs7QUFJQTtFQUNFLDRCQUE0QjtBQUQ5Qjs7QUFJQTtFQUNFLFlBQVk7RUFDWixZQUFZO0VBQ1osWUFBWTtFQUNaLFlBQVk7QUFEZDs7QUFJQTtFQUNFLHlCQUF5QjtFQUN6QixZQUFZO0VBQ1osWUFBWTtFQUNaLG1CQUFtQjtFQUNuQixTQUFTO0VBQ1Qsa0JBQWtCO0FBRHBCOztBQUlBO0VBQ0UsMkJBQTJCO0VBQzNCLG1CQUFtQjtFQUNuQixvQkFBb0I7RUFDcEIsZUFBZTtFQUNmLGtCQUFrQjtFQUNsQix5QkFBeUI7RUFDekIsaUJBQWlCO0FBRG5COztBQUlBO0VBQ0UsaUJBQWlCO0VBQ2pCLFVBQVU7QUFEWjs7QUFJQTtFQUNFLGtCQUFrQjtFQUNsQixXQUFXO0FBRGI7O0FBSUE7RUFDRSx3QkFBd0I7RUFDeEIsaUJBQWlCO0FBRG5COztBQUlBO0VBQ0UsbUJBQW1CO0VBQ25CLFlBQVk7QUFEZDs7QUFJQTtFQUNFLHFCQUFxQjtFQUNyQixjQUFjO0FBRGhCOztBQUlBO0VBQ0UsdUJBQXVCO0VBQ3ZCLGNBQWM7RUFDZCwyQkFBMkI7QUFEN0I7O0FBS0E7RUFDRSxrQkFBa0I7RUFDbEIscUJBQXFCO0VBQ3JCLFdBQVc7RUFDWCxZQUFZO0FBRmQ7O0FBS0E7RUFDRSxVQUFVO0VBQ1YsUUFBUTtFQUNSLFNBQVM7QUFGWDs7QUFLQTtFQUNFLGtCQUFrQjtFQUNsQixlQUFlO0VBQ2YsTUFBTTtFQUNOLE9BQU87RUFDUCxRQUFRO0VBQ1IsU0FBUztFQUNULHNCQUFzQjtFQUV0QixlQUFlO0FBRmpCOztBQUtBO0VBQ0Usa0JBQWtCO0VBQ2xCLFdBQVc7RUFDWCxZQUFZO0VBQ1osV0FBVztFQUNYLFNBQVM7RUFDVCxXQUFXO0VBQ1gsdUJBQXVCO0VBRXZCLGVBQWU7QUFGakI7O0FBS0E7RUFDRSx5QkFBeUI7QUFGM0I7O0FBS0E7RUFDRSwyQkFBMkI7QUFGN0I7O0FBS0E7RUFHRSwyQkFBMkI7QUFGN0I7O0FBS0Esb0JBQUE7O0FBQ0E7RUFDRSxtQkFBbUI7QUFGckI7O0FBS0E7RUFDRSxrQkFBa0I7QUFGcEI7O0FBTUE7RUFDRSxrQkFBa0I7RUFDbEIsa0JBQWtCO0VBQ2xCLGlCQUFpQjtBQUhuQjs7QUFPQTtFQUNFLHlCQUF5QjtFQUN6QixlQUFlO0VBQ2YsWUFBWTtFQUNaLFlBQVk7QUFKZDs7QUFPQTtFQUNFLGtCQUFrQjtFQUNsQixVQUFVO0FBSlo7O0FBT0E7RUFDRSxrQkFBa0I7RUFDbEIsaUJBQWlCO0VBQ2pCLGtCQUFrQjtBQUpwQjs7QUFPQTtFQUNFLGdCQUFBO0VBQ0EsWUFBWTtBQUpkOztBQU9BO0VBQ0Usa0JBQWtCO0VBQ2xCLFlBQVk7RUFDWixXQUFXO0FBSmI7O0FBT0E7RUFDRSxnQkFBQTtFQUNBLFlBQVk7RUFDWixlQUFlO0FBSmpCOztBQU9BO0VBQ0UseUJBQXlCO0VBQ3pCLGdCQUFnQjtFQUNoQixhQUFhO0VBQ2IsMEJBQTBCO0VBQzFCLHNCQUFzQjtBQUp4Qjs7QUFPQTtFQUNFLFdBQVc7RUFDWCxtQ0FBbUM7RUFDbkMsb0NBQW9DO0VBQ3BDLGlDQUFpQztFQUNqQyxZQUFZO0VBQ1osV0FBVztFQUNYLGlCQUFpQjtFQUNqQixpQkFBaUI7QUFKbkI7O0FBT0E7RUFDRSxXQUFXO0VBQ1gsbUNBQW1DO0VBQ25DLG9DQUFvQztFQUNwQyxpQ0FBaUM7RUFDakMsWUFBWTtFQUNaLFdBQVc7RUFDWCxpQkFBaUI7RUFDakIsa0JBQWtCO0VBQ2xCLGlCQUFpQjtBQUpuQjs7QUFPQTtFQUNFLFdBQVc7RUFDWCxtQ0FBbUM7RUFDbkMsb0NBQW9DO0VBQ3BDLGlDQUFpQztFQUNqQyxZQUFZO0VBQ1osV0FBVztFQUNYLGlCQUFpQjtFQUNqQixrQkFBa0I7RUFDbEIsaUJBQWlCO0FBSm5COztBQVNBO0VBQ0UsWUFBWTtFQUNaLFlBQVk7RUFDWixnQkFBZ0I7RUFDaEIsWUFBWTtFQUNaLHlCQUF5QjtBQU4zQjs7QUFTQTtFQUNFLFlBQVk7RUFDWixZQUFZO0VBQ1osWUFBWTtFQUNaLGdCQUFnQjtFQUNoQiwrQkFBK0I7QUFOakM7O0FBU0E7RUFDRSxpQkFBaUI7RUFDakIsWUFBWTtFQUNaLGtCQUFrQjtFQUNsQixnQkFBZ0I7QUFObEI7O0FBU0E7RUFDRSw4QkFBOEI7QUFOaEM7O0FBVUE7RUFDRSxrQkFBa0I7RUFDbEIsWUFBWTtFQUNaLFdBQVc7QUFQYjs7QUFXQTtFQUNFLGtCQUFrQjtFQUNsQixpQkFBaUI7QUFSbkIiLCJmaWxlIjoiYWR2YW5jZWQtcGFnZS5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIlxyXG4uYnRuLXB1Ymxpc2gtb3JhbmdpdW0taG92ZXI6aG92ZXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMwN2M3MDAgIWltcG9ydGFudFxyXG59XHJcblxyXG4uYnRuLXNlY29uZGFyeSB7XHJcbiAgY29sb3I6ICNmZmY7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2JhYmFiYSAhaW1wb3J0YW50O1xyXG4gIGJvcmRlci1jb2xvcjogI2JhYmFiYSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uYnRuLXNlY29uZGFyeTpob3ZlciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2EzYTNhMyAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uc2hvdyA+IC5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZSB7XHJcbiAgY29sb3I6ICNmZmY7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2JhYmFiYSAhaW1wb3J0YW50O1xyXG4gIGJvcmRlci1jb2xvcjogI2JhYmFiYSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5cclxuLnNob3cgPiAuYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGU6aG92ZXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNhM2EzYTMgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmJ0bi1ncm91cCA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkge1xyXG4gIG1hcmdpbi1sZWZ0OiAtMnB4O1xyXG4gIC8qd2lkdGg6IDE1MXB4OyovXHJcbiAgaGVpZ2h0OiA0NXB4O1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLmRyb3Bkb3duLWl0ZW0ge1xyXG4gIHBhZGRpbmc6IC4yNXJlbSAwICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5tb2RlLWRyYWZ0LWNoZWNrYm94IHtcclxuICBoZWlnaHQ6IDEwcHg7XHJcbiAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBib3R0b206IDQwcHg7XHJcbn1cclxuXHJcbi5tb2RlLWRyYWZ0LWNoZWNrYm94IGxhYmVsIHtcclxuICBjb2xvcjogd2hpdGU7XHJcbn1cclxuXHJcbi5hY3Rpb24tY29udHJvbHMgYnV0dG9uIHtcclxuICAvKndpZHRoOiAxNTFweDsqL1xyXG4gIGhlaWdodDogNDVweDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmFiYWJhICFpbXBvcnRhbnQ7XHJcbiAgYm9yZGVyLWNvbG9yOiAjYmFiYWJhICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5hY3Rpb24tY29udHJvbHMgYnV0dG9uOmhvdmVyIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTNhM2EzICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5hY3Rpb24tY29udHJvbHMgdWwgbGkge1xyXG4gIG1hcmdpbjogMTBweCAwO1xyXG59XHJcblxyXG4udGV4dC1yaWdodCB7XHJcbiAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDtcclxufVxyXG5cclxuLnRleHQtcmlnaHQgYnV0dG9uIHtcclxuICBtYXJnaW46IDE4cHg7XHJcbiAgd2lkdGg6IDIwMHB4O1xyXG4gIGhlaWdodDogNDVweDtcclxuICBjb2xvcjogYmxhY2s7XHJcbn1cclxuXHJcbi5ub3RpZmljYXRpb24ge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMzRjkzRjE7XHJcbiAgY29sb3I6IHdoaXRlO1xyXG4gIHBhZGRpbmc6IDhweDtcclxuICBib3JkZXItcmFkaXVzOiAyMHB4O1xyXG4gIHRvcDogMjNweDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi5iYWRnZS10eXBlIHtcclxuICBib3JkZXI6IHNvbGlkIGxpZ2h0Z3JheSAxcHg7XHJcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICBwYWRkaW5nOiA0cHggNXB4IDJweDtcclxuICBmb250LXNpemU6IDEwcHg7XHJcbiAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgbWFyZ2luLXJpZ2h0OiAzcHg7XHJcbn1cclxuXHJcbi5iLXJlZCB7XHJcbiAgYm9yZGVyLWNvbG9yOiByZWQ7XHJcbiAgY29sb3I6IHJlZDtcclxufVxyXG5cclxuLmItYmx1ZSB7XHJcbiAgYm9yZGVyLWNvbG9yOiBibHVlO1xyXG4gIGNvbG9yOiBibHVlO1xyXG59XHJcblxyXG4uYi12aW9sZXQge1xyXG4gIGJvcmRlci1jb2xvcjogYmx1ZXZpb2xldDtcclxuICBjb2xvcjogYmx1ZXZpb2xldDtcclxufVxyXG5cclxuLmItZ3JlZW4ge1xyXG4gIGJvcmRlci1jb2xvcjogZ3JlZW47XHJcbiAgY29sb3I6IGdyZWVuO1xyXG59XHJcblxyXG4uYi1vcmFuZ2l1bSB7XHJcbiAgYm9yZGVyLWNvbG9yOiAjZjE5MTAwO1xyXG4gIGNvbG9yOiAjZjE5MTAwO1xyXG59XHJcblxyXG4uYi1ncmF5IHtcclxuICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcclxuICBjb2xvcjogIzM0M2E0MDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGdyYXk7XHJcbn1cclxuXHJcblxyXG4uc3dpdGNoIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHdpZHRoOiA2MHB4O1xyXG4gIGhlaWdodDogMzRweDtcclxufVxyXG5cclxuLnN3aXRjaCBpbnB1dCB7XHJcbiAgb3BhY2l0eTogMDtcclxuICB3aWR0aDogMDtcclxuICBoZWlnaHQ6IDA7XHJcbn1cclxuXHJcbi5zbGlkZXIge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgYm90dG9tOiAwO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAuNHM7XHJcbiAgdHJhbnNpdGlvbjogLjRzO1xyXG59XHJcblxyXG4uc2xpZGVyOmJlZm9yZSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGNvbnRlbnQ6IFwiXCI7XHJcbiAgaGVpZ2h0OiAyNnB4O1xyXG4gIHdpZHRoOiAyNnB4O1xyXG4gIGxlZnQ6IDRweDtcclxuICBib3R0b206IDRweDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuICAtd2Via2l0LXRyYW5zaXRpb246IC40cztcclxuICB0cmFuc2l0aW9uOiAuNHM7XHJcbn1cclxuXHJcbmlucHV0OmNoZWNrZWQgKyAuc2xpZGVyIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjE5MTAwO1xyXG59XHJcblxyXG5pbnB1dDpmb2N1cyArIC5zbGlkZXIge1xyXG4gIGJveC1zaGFkb3c6IDAgMCAxcHggI2YxOTEwMDtcclxufVxyXG5cclxuaW5wdXQ6Y2hlY2tlZCArIC5zbGlkZXI6YmVmb3JlIHtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyNnB4KTtcclxuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI2cHgpO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyNnB4KTtcclxufVxyXG5cclxuLyogUm91bmRlZCBzbGlkZXJzICovXHJcbi5zbGlkZXIucm91bmQge1xyXG4gIGJvcmRlci1yYWRpdXM6IDM0cHg7XHJcbn1cclxuXHJcbi5zbGlkZXIucm91bmQ6YmVmb3JlIHtcclxuICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbn1cclxuXHJcblxyXG4uYnRuLWRlbGV0ZS1vcmFuZ2l1bSB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBsaW5lLWhlaWdodDogNDBweDtcclxuICAvLyBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbn1cclxuXHJcbi5idG4tZGVsZXRlLW9yYW5naXVtIGEge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNDRDAwMDA7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIGhlaWdodDogNDVweDtcclxuICBjb2xvcjogd2hpdGU7XHJcbn1cclxuXHJcbi5idG4tZGVsZXRlLW9yYW5naXVtIGltZyB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGxlZnQ6IDE1cHg7XHJcbn1cclxuXHJcbi5idG4tcHVibGlzaC1vcmFuZ2l1bSwgLmJ0bi1zYXZlLW9yYW5naXVtIHtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgbGluZS1oZWlnaHQ6IDQwcHg7XHJcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG59XHJcblxyXG4uYnRuLXB1Ymxpc2gtb3JhbmdpdW0gYSB7XHJcbiAgLyp3aWR0aDogMTUxcHg7Ki9cclxuICBoZWlnaHQ6IDQ1cHg7XHJcbn1cclxuXHJcbi5idG4tcHVibGlzaC1vcmFuZ2l1bSBpbWcsIC5idG4tc2F2ZS1vcmFuZ2l1bSBpbWcge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBoZWlnaHQ6IDI1cHg7XHJcbiAgd2lkdGg6IDI1cHg7XHJcbn1cclxuXHJcbi5idG4tc2F2ZS1vcmFuZ2l1bSBhIHtcclxuICAvKndpZHRoOiAxNTFweDsqL1xyXG4gIGhlaWdodDogNDVweDtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5idWJibGUtY29udGVudC1sZWZ0LCAuYnViYmxlLWNvbnRlbnQtcmlnaHQsIC5idWJibGUtY29udGVudCB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VjZWNlYztcclxuICBtYXJnaW4tdG9wOiAxNXB4O1xyXG4gIHBhZGRpbmc6IDUwcHg7XHJcbiAgb3ZlcmZsb3c6IHVuc2V0ICFpbXBvcnRhbnQ7XHJcbiAgei1pbmRleDogOTkgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmJ1YmJsZS1jb250ZW50LXJpZ2h0OjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXCI7XHJcbiAgYm9yZGVyLWxlZnQ6IDMwcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyLXJpZ2h0OiAzMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gIGJvcmRlci1ib3R0b206IDcwcHggc29saWQgI2VjZWNlYztcclxuICBmbG9hdDogcmlnaHQ7XHJcbiAgd2lkdGg6IDIwcHg7XHJcbiAgbWFyZ2luLXRvcDogLTcwcHg7XHJcbiAgbWFyZ2luLWxlZnQ6IDgwcHg7XHJcbn1cclxuXHJcbi5idWJibGUtY29udGVudC1sZWZ0OjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXCI7XHJcbiAgYm9yZGVyLWxlZnQ6IDMwcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyLXJpZ2h0OiAzMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gIGJvcmRlci1ib3R0b206IDcwcHggc29saWQgI2VjZWNlYztcclxuICBmbG9hdDogcmlnaHQ7XHJcbiAgd2lkdGg6IDIwcHg7XHJcbiAgbWFyZ2luLXRvcDogLTcwcHg7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIG1hcmdpbi1sZWZ0OiA4MHB4O1xyXG59XHJcblxyXG4uYnViYmxlLWNvbnRlbnQtY29udGV4dDo6YWZ0ZXIge1xyXG4gIGNvbnRlbnQ6IFwiXCI7XHJcbiAgYm9yZGVyLWxlZnQ6IDMwcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyLXJpZ2h0OiAzMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gIGJvcmRlci1ib3R0b206IDcwcHggc29saWQgI2VjZWNlYztcclxuICBmbG9hdDogcmlnaHQ7XHJcbiAgd2lkdGg6IDIwcHg7XHJcbiAgbWFyZ2luLXRvcDogLTcwcHg7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIG1hcmdpbi1sZWZ0OiA4MHB4O1xyXG59XHJcblxyXG5cclxuXHJcbi5idG4tb3JhbmdpdW0tc2F2ZSB7XHJcbiAgd2lkdGg6IDEyMHB4O1xyXG4gIGhlaWdodDogMzBweDtcclxuICBsaW5lLWhlaWdodDogMC41O1xyXG4gIGNvbG9yOiBibGFjaztcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjI5MTAwO1xyXG59XHJcblxyXG4uYnRuLW9yYW5naXVtLWNhbmNlbCB7XHJcbiAgd2lkdGg6IDEyMHB4O1xyXG4gIGhlaWdodDogNDVweDtcclxuICBjb2xvcjogYmxhY2s7XHJcbiAgbGluZS1oZWlnaHQ6IDAuNTtcclxuICBtYXJnaW4tcmlnaHQ6IDIuNXJlbSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uc2VjdGlvbi1sdCB7XHJcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgd2lkdGg6IHVuc2V0O1xyXG4gIG1hcmdpbi1yaWdodDogMjBweDtcclxuICBtYXJnaW4tdG9wOiAyMHB4O1xyXG59XHJcblxyXG4uc2VjdGlvbi1sdCAuZm9sZGVyLWJsayB7XHJcbiAgYm9yZGVyLWJvdHRvbTogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5cclxuLmJ0bi1jbG9uZS1vcmFuZ2l1bSBpbWcge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBoZWlnaHQ6IDI1cHg7XHJcbiAgd2lkdGg6IDI1cHg7XHJcbn1cclxuXHJcblxyXG4uYnRuLWNsb25lLW9yYW5naXVtIHtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgbGluZS1oZWlnaHQ6IDQwcHg7XHJcbn1cclxuIl19 */\";","import { Injectable } from '@angular/core';\r\nimport { BaseService } from \"../base/base.service\";\r\nimport { ContentFactory } from '../../squidex';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ResourceService extends BaseService {\r\n\r\n constructor(contentFactory: ContentFactory) {\r\n super('resource', contentFactory);\r\n }\r\n}\r\n","\r\nexport enum EFieldType {\r\n INPUT,\r\n FILE,\r\n TEXTAREA,\r\n CHECKBOX,\r\n RADIO,\r\n SELECT,\r\n DATE,\r\n MAIL,\r\n MONACO_HTML,\r\n SELECT_MULTIPLE,\r\n ORDONNABLE_SELECT_MULTIPLE,\r\n STRING_SELECT,\r\n DATE_TIME\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BaseQuery } from '../base/base.query';\r\nimport { PageStore } from './page.store';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PageQuery extends BaseQuery {\r\n\r\n constructor(store: PageStore) {\r\n super(store);\r\n }\r\n}\r\n","import { TranslateService } from '@ngx-translate/core';\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\nimport { DataParser } from \"../../../services\";\r\nimport { Observable } from 'rxjs/internal/Observable';\r\nimport { of } from 'rxjs/internal/observable/of';\r\nimport { map } from 'rxjs/internal/operators/map';\r\n\r\n@Pipe({\r\n name: 'getCultureName'\r\n})\r\nexport class GetCultureNamePipe implements PipeTransform {\r\n\r\n constructor(\r\n protected readonly translateService: TranslateService) {\r\n }\r\n\r\n transform(code: string, interpolateParams?: Object): Observable {\r\n\r\n if(!code) {\r\n return of(code);\r\n }\r\n return this.t(code.toUpperCase()).pipe(\r\n map(v => {\r\n if (!v || v.toString().includes('T.')) {\r\n v = code;\r\n }\r\n return v;\r\n })\r\n );\r\n\r\n\r\n }\r\n\r\n\r\n t(key?: string, interpolateParams?: Object): Observable {\r\n if (!key) {\r\n return this.translateService.get('T', interpolateParams);\r\n }\r\n return this.translateService.get(`T.${key}`, interpolateParams);\r\n }\r\n\r\n}\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { BaseComponent } from \"../../../base/base-component.component\";\r\nimport { DataParser } from \"../../../services/squidex/index\";\r\nimport { SiteSettingModel } from '../../../services';\r\nimport { Observable } from 'rxjs';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { ContentsComponent } from '../../../pages/contents/contents.component';\r\n\r\n@Component({\r\n selector: 'menu-header',\r\n templateUrl: './menu-header.component.html',\r\n styleUrls: ['./menu-header.component.css']\r\n})\r\nexport class MenuHeaderComponent extends BaseComponent implements OnInit {\r\n\r\n siteName: string;\r\n\r\n dataParser: DataParser;\r\n isDashboard: boolean = false;\r\n\r\n @Input()\r\n siteSetting: Observable;\r\n\r\n constructor(\r\n protected readonly translateService: TranslateService,\r\n private readonly route: ActivatedRoute) {\r\n super(translateService);\r\n this.setTranslateContext('MenuHeaderComponent');\r\n this.dataParser = new DataParser(null);\r\n }\r\n\r\n ngOnInit() {\r\n this.setSiteName();\r\n if (ContentsComponent.toString() === this.route.component.toString()) {\r\n this.isDashboard = true;\r\n } else {\r\n this.isDashboard = false;\r\n }\r\n }\r\n\r\n private setSiteName(): void {\r\n if (this.siteSetting) {\r\n this.siteSetting.subscribe(v => {\r\n this.siteName = this.dataParser.pullData(v, 'name', this.translateService.currentLang);\r\n });\r\n } else {\r\n this.siteName = \"Error: site setting not loaded\";\r\n }\r\n }\r\n}\r\n","export default \".liquid-editor {\\r\\n height: 100% !important;\\r\\n}\\r\\n\\r\\n.editor-container {\\r\\n height: 100% !important;\\r\\n}\\r\\n\\r\\n.liquid-editor .editor-container .wrapper {\\r\\n width: 100% !important;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1vbmFjby1saXF1aWQtZWRpdG9yLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSx1QkFBdUI7QUFDekI7O0FBRUE7RUFDRSx1QkFBdUI7QUFDekI7O0FBR0E7RUFDRSxzQkFBc0I7QUFDeEIiLCJmaWxlIjoibW9uYWNvLWxpcXVpZC1lZGl0b3IuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5saXF1aWQtZWRpdG9yIHtcclxuICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmVkaXRvci1jb250YWluZXIge1xyXG4gIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5cclxuLmxpcXVpZC1lZGl0b3IgLmVkaXRvci1jb250YWluZXIgLndyYXBwZXIge1xyXG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbn1cclxuIl19 */\";","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { Field } from '../../../../services';\r\n\r\n@Pipe({\r\n name: 'getValidationMsgs'\r\n})\r\nexport class GetValidationMsgsPipe implements PipeTransform {\r\n\r\n transform(field: Field): string[] {\r\n const validations = [];\r\n\r\n if (field.properties.isRequired) {\r\n validations.push('REQUIRED');\r\n }\r\n\r\n if (field.name === 'code') {\r\n validations.push('CODE');\r\n }\r\n\r\n return validations;\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { LanguageModel } from '../../../services';\r\n\r\n@Pipe({\r\n name: 'getLocalizedFieldControlName'\r\n})\r\nexport class GetLocalizedFieldControlNamePipe implements PipeTransform {\r\n\r\n transform(property: string, language: LanguageModel): string {\r\n return `${property}_${language.data.code.iv}`;\r\n }\r\n\r\n}\r\n","export default \"\\r\\n
  • \\r\\n \\r\\n
    \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
  • \\r\\n
    \\r\\n\\r\\n\\r\\n
  • \\r\\n \\r\\n
  • \\r\\n
    \\r\\n\";","export default \"\\r\\n\\r\\n\";","import { Link } from './link.model';\r\nimport { Field } from './field.model';\r\nimport { ESchemaContentStatus } from '../../akita/base/enum';\r\nimport { ScheduleJob } from './schedule-Job.model';\r\n\r\nexport abstract class Content {\r\n created: Date;\r\n createdBy: string;\r\n data: any;\r\n id: string;\r\n lastModified: Date;\r\n lastModifiedBy: string;\r\n schemaName: string;\r\n schemaDisplayName: string;\r\n referenceFields: Field[];\r\n scheduleJob: ScheduleJob;\r\n status: string;\r\n newStatus: string;\r\n statusColor: string;\r\n newStatusColor: string;\r\n version: number;\r\n _links: { [id: string]: Link };\r\n\r\n constructor({\r\n created,\r\n createdBy,\r\n data,\r\n id,\r\n lastModified,\r\n lastModifiedBy,\r\n schemaName,\r\n schemaDisplayName,\r\n referenceFields,\r\n scheduleJob,\r\n status,\r\n newStatus,\r\n statusColor,\r\n newStatusColor,\r\n version,\r\n _links\r\n }: Partial) {\r\n this.created = created;\r\n this.createdBy = createdBy;\r\n this.id = id;\r\n this.lastModified = lastModified;\r\n this.lastModifiedBy = lastModifiedBy;\r\n this.schemaName = schemaName;\r\n this.schemaDisplayName = schemaDisplayName;\r\n this.referenceFields = referenceFields;\r\n this.scheduleJob = scheduleJob;\r\n this.status = status;\r\n this.newStatus = newStatus;\r\n this.statusColor = statusColor;\r\n this.newStatusColor = newStatusColor;\r\n this.version = version;\r\n this._links = _links;\r\n\r\n if (!data) {\r\n data = {};\r\n }\r\n this.data = data;\r\n }\r\n\r\n isPublished(): boolean {\r\n return this.status && this.status.toLowerCase() === 'published';\r\n }\r\n\r\n getStatus(): ESchemaContentStatus {\r\n switch (this.status && this.status.toLowerCase()) {\r\n case 'published':\r\n return ESchemaContentStatus.Draft;\r\n case 'draft':\r\n return ESchemaContentStatus.Draft;\r\n default: return ESchemaContentStatus.All;\r\n }\r\n }\r\n}\r\n","export { SquidexDate } from './extensions/squidex-date.extension';\r\nexport { AppCreationService } from './services/app-creation.service';\r\n\r\nexport { Content } from './models/content.model';\r\nexport { ContentList } from './models/content-list.model';\r\nexport { FieldProperty } from './models/field-property.model';\r\nexport { Field } from './models/field.model';\r\nexport { Schema } from './models/schema.model';\r\nexport { SchemaProperty } from './models/schema-property.model';\r\nexport { SchemaScript } from './models/schema-script.model';\r\n\r\nexport { SchemasFactory } from './factories/schemas.factory';\r\nexport { ContentFactory } from './factories/content.factory';\r\nexport { SchemaService } from './services/schema.service';\r\nexport { ContentService } from './services/content.service';\r\n\r\nexport { DataParser } from './data-parser';\r\n\r\nexport { ScheduleJob } from './models/schedule-Job.model';\r\n\r\nexport { Asset } from './models/asset.model';\r\nexport { AssetList } from './models/asset-list.model';\r\nexport { AssetFactory } from './factories/asset.factory';\r\n\r\n\r\nexport { RolesService } from './services/roles.service'\r\nexport { RolesFactory } from './factories/roles.factory'\r\nexport { Role } from './models/role.model'\r\n\r\n","import { ArticleTypeStore } from './article-type.store';\r\nimport { Injectable } from '@angular/core';\r\nimport { BaseQuery } from \"../base/base.query\";\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ArticleTypeQuery extends BaseQuery {\r\n\r\n constructor(store: ArticleTypeStore) {\r\n super(store);\r\n }\r\n}\r\n","export default \".position-1 {\\r\\n position: absolute;\\r\\n left: 0px;\\r\\n top: 0px;\\r\\n}\\r\\n\\r\\n.position-2 {\\r\\n position: absolute;\\r\\n left: 300px;\\r\\n top: 0px;\\r\\n}\\r\\n\\r\\n.position-3 {\\r\\n position: absolute;\\r\\n left: 600px;\\r\\n top: 0px;\\r\\n}\\r\\n\\r\\n.btn-orangium-save {\\r\\n height: 30px;\\r\\n line-height: 0.5;\\r\\n color: black;\\r\\n background-color: #F29100;\\r\\n}\\r\\n\\r\\n.btn-orangium-cancel {\\r\\n height: 30px;\\r\\n color: black;\\r\\n line-height: 0.5;\\r\\n margin-right: 2.5rem !important;\\r\\n}\\r\\n\\r\\n.cursor-pointer {\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.folder-blk div {\\r\\n background-color: #f29100;\\r\\n color: #303130;\\r\\n font-size: 14px;\\r\\n font-weight: 700;\\r\\n padding: 2px 14px 5px 8px;\\r\\n text-transform: uppercase;\\r\\n border-radius: 5px;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .page-item.active .page-link {\\r\\n background-color: white;\\r\\n text-decoration: underline;\\r\\n border-color: #dee2e6;\\r\\n color: black;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .page-item .page-link {\\r\\n color: #000;\\r\\n}\\r\\n\\r\\n#button-pagination-size {\\r\\n background-color: #f29100;\\r\\n border: none;\\r\\n color: #303130;\\r\\n}\\r\\n\\r\\n.switch {\\r\\n position: relative;\\r\\n display: inline-block;\\r\\n width: 60px;\\r\\n height: 34px;\\r\\n}\\r\\n\\r\\n.switch input {\\r\\n opacity: 0;\\r\\n width: 0;\\r\\n height: 0;\\r\\n }\\r\\n\\r\\n.slider {\\r\\n position: absolute;\\r\\n cursor: pointer;\\r\\n top: 0;\\r\\n left: 0;\\r\\n right: 0;\\r\\n bottom: 0;\\r\\n background-color: #ccc;\\r\\n transition: .4s;\\r\\n}\\r\\n\\r\\n.slider:before {\\r\\n position: absolute;\\r\\n content: \\\"\\\";\\r\\n height: 26px;\\r\\n width: 26px;\\r\\n left: 4px;\\r\\n bottom: 4px;\\r\\n background-color: white;\\r\\n transition: .4s;\\r\\n }\\r\\n\\r\\ninput:checked + .slider {\\r\\n background-color: #f19100;\\r\\n}\\r\\n\\r\\ninput:focus + .slider {\\r\\n box-shadow: 0 0 1px #f19100;\\r\\n}\\r\\n\\r\\ninput:checked + .slider:before {\\r\\n transform: translateX(26px);\\r\\n}\\r\\n\\r\\n/* Rounded sliders */\\r\\n\\r\\n.slider.round {\\r\\n border-radius: 34px;\\r\\n}\\r\\n\\r\\n.slider.round:before {\\r\\n border-radius: 50%;\\r\\n }\\r\\n\\r\\n.plus-icon {\\r\\n margin-right: 4px;\\r\\n margin-bottom: 4px;\\r\\n}\\r\\n\\r\\n.bubble-content-left, .bubble-content-right, .bubble-content {\\r\\n background-color: white;\\r\\n margin-top: 15px;\\r\\n padding: 50px;\\r\\n overflow: unset !important;\\r\\n}\\r\\n\\r\\n.bubble-content-right::before {\\r\\n content: \\\"\\\";\\r\\n border-left: 30px solid transparent;\\r\\n border-right: 30px solid transparent;\\r\\n border-bottom: 70px solid white;\\r\\n float: right;\\r\\n width: 20px;\\r\\n margin-top: -70px;\\r\\n margin-left: 80px;\\r\\n }\\r\\n\\r\\n.bubble-content-left::before {\\r\\n content: \\\"\\\";\\r\\n border-left: 30px solid transparent;\\r\\n border-right: 30px solid transparent;\\r\\n border-bottom: 70px solid white;\\r\\n float: right;\\r\\n width: 20px;\\r\\n margin-top: -70px;\\r\\n position: absolute;\\r\\n margin-left: 80px;\\r\\n }\\r\\n\\r\\n.bubble-content-context::after {\\r\\n content: \\\"\\\";\\r\\n border-left: 30px solid transparent;\\r\\n border-right: 30px solid transparent;\\r\\n border-bottom: 70px solid white;\\r\\n float: right;\\r\\n width: 20px;\\r\\n margin-top: -70px;\\r\\n position: absolute;\\r\\n margin-left: 80px;\\r\\n}\\r\\n\\r\\n.folder-blk {\\r\\n margin-bottom: 25px;\\r\\n}\\r\\n\\r\\n.btn-orangium-cancel {\\r\\n width: 120px;\\r\\n height: 30px;\\r\\n color: #fff !important;\\r\\n background-color: #545b62;\\r\\n color: black;\\r\\n line-height: 0.5;\\r\\n margin-right: 2.5rem !important;\\r\\n padding: 10px 16px 10px 16px !important;\\r\\n}\\r\\n\\r\\n.btn-cancel-orangium a {\\r\\n /*width: 151px;*/\\r\\n height: 45px;\\r\\n cursor: pointer;\\r\\n padding: 10px 16px 10px 16px !important;\\r\\n background-color: #545b62 !important;\\r\\n color: #fff !important;\\r\\n}\\r\\n\\r\\n.btn-save-orangium a {\\r\\n /*width: 151px;*/\\r\\n height: 45px;\\r\\n cursor: pointer;\\r\\n padding: 10px 16px 10px 16px !important;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .page-item.active .page-link {\\r\\n background-color: #f29100;\\r\\n border-color: #e28100;\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,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dCI6WyIucG9zaXRpb24tMSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGxlZnQ6IDBweDtcclxuICB0b3A6IDBweDtcclxufVxyXG5cclxuLnBvc2l0aW9uLTIge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBsZWZ0OiAzMDBweDtcclxuICB0b3A6IDBweDtcclxufVxyXG5cclxuLnBvc2l0aW9uLTMge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBsZWZ0OiA2MDBweDtcclxuICB0b3A6IDBweDtcclxufVxyXG5cclxuXHJcbi5idG4tb3JhbmdpdW0tc2F2ZSB7XHJcbiAgaGVpZ2h0OiAzMHB4O1xyXG4gIGxpbmUtaGVpZ2h0OiAwLjU7XHJcbiAgY29sb3I6IGJsYWNrO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNGMjkxMDA7XHJcbn1cclxuXHJcbi5idG4tb3JhbmdpdW0tY2FuY2VsIHtcclxuICBoZWlnaHQ6IDMwcHg7XHJcbiAgY29sb3I6IGJsYWNrO1xyXG4gIGxpbmUtaGVpZ2h0OiAwLjU7XHJcbiAgbWFyZ2luLXJpZ2h0OiAyLjVyZW0gIWltcG9ydGFudDtcclxufVxyXG5cclxuLmN1cnNvci1wb2ludGVyIHtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5mb2xkZXItYmxrIGRpdiB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyOTEwMDtcclxuICBjb2xvcjogIzMwMzEzMDtcclxuICBmb250LXNpemU6IDE0cHg7XHJcbiAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICBwYWRkaW5nOiAycHggMTRweCA1cHggOHB4O1xyXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC5wYWdlLWl0ZW0uYWN0aXZlIC5wYWdlLWxpbmsge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gIGJvcmRlci1jb2xvcjogI2RlZTJlNjtcclxuICBjb2xvcjogYmxhY2s7XHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCAucGFnZS1pdGVtIC5wYWdlLWxpbmsge1xyXG4gIGNvbG9yOiAjMDAwO1xyXG59XHJcblxyXG5cclxuXHJcbiNidXR0b24tcGFnaW5hdGlvbi1zaXplIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjI5MTAwO1xyXG4gIGJvcmRlcjogbm9uZTtcclxuICBjb2xvcjogIzMwMzEzMDtcclxufVxyXG5cclxuXHJcblxyXG4uc3dpdGNoIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHdpZHRoOiA2MHB4O1xyXG4gIGhlaWdodDogMzRweDtcclxufVxyXG5cclxuICAuc3dpdGNoIGlucHV0IHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB3aWR0aDogMDtcclxuICAgIGhlaWdodDogMDtcclxuICB9XHJcblxyXG4uc2xpZGVyIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIGJvdHRvbTogMDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogLjRzO1xyXG4gIHRyYW5zaXRpb246IC40cztcclxufVxyXG5cclxuICAuc2xpZGVyOmJlZm9yZSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgaGVpZ2h0OiAyNnB4O1xyXG4gICAgd2lkdGg6IDI2cHg7XHJcbiAgICBsZWZ0OiA0cHg7XHJcbiAgICBib3R0b206IDRweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAuNHM7XHJcbiAgICB0cmFuc2l0aW9uOiAuNHM7XHJcbiAgfVxyXG5cclxuaW5wdXQ6Y2hlY2tlZCArIC5zbGlkZXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmMTkxMDA7XHJcbn1cclxuXHJcbmlucHV0OmZvY3VzICsgLnNsaWRlciB7XHJcbiAgYm94LXNoYWRvdzogMCAwIDFweCAjZjE5MTAwO1xyXG59XHJcblxyXG5pbnB1dDpjaGVja2VkICsgLnNsaWRlcjpiZWZvcmUge1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI2cHgpO1xyXG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjZweCk7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI2cHgpO1xyXG59XHJcblxyXG4vKiBSb3VuZGVkIHNsaWRlcnMgKi9cclxuLnNsaWRlci5yb3VuZCB7XHJcbiAgYm9yZGVyLXJhZGl1czogMzRweDtcclxufVxyXG5cclxuICAuc2xpZGVyLnJvdW5kOmJlZm9yZSB7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgfVxyXG5cclxuLnBsdXMtaWNvbiB7XHJcbiAgbWFyZ2luLXJpZ2h0OiA0cHg7XHJcbiAgbWFyZ2luLWJvdHRvbTogNHB4O1xyXG59XHJcblxyXG4uYnViYmxlLWNvbnRlbnQtbGVmdCwgLmJ1YmJsZS1jb250ZW50LXJpZ2h0LCAuYnViYmxlLWNvbnRlbnQge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gIG1hcmdpbi10b3A6IDE1cHg7XHJcbiAgcGFkZGluZzogNTBweDtcclxuICBvdmVyZmxvdzogdW5zZXQgIWltcG9ydGFudDtcclxufVxyXG5cclxuICAuYnViYmxlLWNvbnRlbnQtcmlnaHQ6OmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgYm9yZGVyLWxlZnQ6IDMwcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXItcmlnaHQ6IDMwcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXItYm90dG9tOiA3MHB4IHNvbGlkIHdoaXRlO1xyXG4gICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgd2lkdGg6IDIwcHg7XHJcbiAgICBtYXJnaW4tdG9wOiAtNzBweDtcclxuICAgIG1hcmdpbi1sZWZ0OiA4MHB4O1xyXG4gIH1cclxuXHJcbiAgLmJ1YmJsZS1jb250ZW50LWxlZnQ6OmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgYm9yZGVyLWxlZnQ6IDMwcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXItcmlnaHQ6IDMwcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXItYm90dG9tOiA3MHB4IHNvbGlkIHdoaXRlO1xyXG4gICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgd2lkdGg6IDIwcHg7XHJcbiAgICBtYXJnaW4tdG9wOiAtNzBweDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIG1hcmdpbi1sZWZ0OiA4MHB4O1xyXG4gIH1cclxuXHJcbi5idWJibGUtY29udGVudC1jb250ZXh0OjphZnRlciB7XHJcbiAgY29udGVudDogXCJcIjtcclxuICBib3JkZXItbGVmdDogMzBweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICBib3JkZXItcmlnaHQ6IDMwcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyLWJvdHRvbTogNzBweCBzb2xpZCB3aGl0ZTtcclxuICBmbG9hdDogcmlnaHQ7XHJcbiAgd2lkdGg6IDIwcHg7XHJcbiAgbWFyZ2luLXRvcDogLTcwcHg7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIG1hcmdpbi1sZWZ0OiA4MHB4O1xyXG59XHJcblxyXG5cclxuLmZvbGRlci1ibGsge1xyXG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XHJcbn1cclxuXHJcbi5idG4tb3JhbmdpdW0tY2FuY2VsIHtcclxuICB3aWR0aDogMTIwcHg7XHJcbiAgaGVpZ2h0OiAzMHB4O1xyXG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU0NWI2MjtcclxuICBjb2xvcjogYmxhY2s7XHJcbiAgbGluZS1oZWlnaHQ6IDAuNTtcclxuICBtYXJnaW4tcmlnaHQ6IDIuNXJlbSAhaW1wb3J0YW50O1xyXG4gIHBhZGRpbmc6IDEwcHggMTZweCAxMHB4IDE2cHggIWltcG9ydGFudDtcclxufVxyXG5cclxuLmJ0bi1jYW5jZWwtb3JhbmdpdW0gYSB7XHJcbiAgLyp3aWR0aDogMTUxcHg7Ki9cclxuICBoZWlnaHQ6IDQ1cHg7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIHBhZGRpbmc6IDEwcHggMTZweCAxMHB4IDE2cHggIWltcG9ydGFudDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTQ1YjYyICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmJ0bi1zYXZlLW9yYW5naXVtIGEge1xyXG4gIC8qd2lkdGg6IDE1MXB4OyovXHJcbiAgaGVpZ2h0OiA0NXB4O1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBwYWRkaW5nOiAxMHB4IDE2cHggMTBweCAxNnB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCAucGFnZS1pdGVtLmFjdGl2ZSAucGFnZS1saW5rIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjI5MTAwO1xyXG4gIGJvcmRlci1jb2xvcjogI2UyODEwMDtcclxuICBjb2xvcjogI2ZmZjtcclxufVxyXG5cclxuIl19 */\";","import { Content } from \"../../squidex\";\r\n\r\nexport class PageCategoryModel extends Content {\r\n\r\n constructor(current?: Content) {\r\n super(current);\r\n if (current) {\r\n Object.assign(this, current);\r\n }\r\n }\r\n}\r\n","export default \"
    \\r\\n
    \\r\\n
    {{ tc(\\\"CONTENTS\\\") | async }}
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    {{ tc(\\\"MEDIAS\\\") | async }}
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    {{ tc(\\\"MODULES\\\") | async }}
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    {{ tc(\\\"ADMIN\\\") | async }}
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n\";","export class Role {\r\n isDefaultRole: boolean;\r\n name: string;\r\n numClients: number;\r\n numContributor: number;\r\n permissions: string[];\r\n properties: {}\r\n _links: {}\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ValidatorFn, AbstractControl } from '@angular/forms';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class FormValidationsService {\r\n\r\n getValidators(control: AbstractControl, pattern: string): ValidatorFn[] {\r\n const validators: ValidatorFn[] = [];\r\n\r\n if (pattern === 'email') {\r\n validators.push(this.emailValidator(control));\r\n } else if (pattern === 'password') {\r\n validators.push(this.passwordValidator(control));\r\n } else if (pattern === 'creditCard') {\r\n validators.push(this.creditCardValidator(control));\r\n } else if (pattern === 'phone') {\r\n validators.push(this.phoneValidator(control));\r\n } else if (pattern === 'url') {\r\n validators.push(this.urlValidator(control));\r\n } else if (pattern === 'slug') {\r\n validators.push(this.slugValidator(control));\r\n } else {\r\n validators.push(this.customPattern(control, pattern));\r\n }\r\n\r\n return validators;\r\n }\r\n\r\n private creditCardValidator(control: AbstractControl): ValidatorFn {\r\n // Visa, MasterCard, American Express, Diners Club, Discover, JCB\r\n return (): { [key: string]: any } | null => {\r\n const validCreditCard = control.value.match(/^(?=.*[0-9])[a-zA-Z0-9!@#$%^&*]{6,100}$/);\r\n return !validCreditCard ? { 'invalidCreditCard': { value: control.value } } : null;\r\n };\r\n }\r\n\r\n private emailValidator(control: AbstractControl): ValidatorFn {\r\n return (): { [key: string]: any } | null => {\r\n const validEmail = control.value.match(/[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/);\r\n return !validEmail ? { 'invalidEmailAddress': { value: control.value } } : null;\r\n };\r\n }\r\n\r\n private passwordValidator(control: AbstractControl) {\r\n // {6,100} - Assert password is between 6 and 100 characters\r\n // (?=.*[0-9]) - Assert a string has at least one number\r\n return (): { [key: string]: any } | null => {\r\n const validPassword = control.value.match(/^(?=.*[0-9])[a-zA-Z0-9!@#$%^&*]{6,100}$/);\r\n return !validPassword ? { 'invalidPassword': { value: control.value } } : null;\r\n };\r\n }\r\n\r\n private slugValidator(control: AbstractControl): ValidatorFn {\r\n return (): { [key: string]: any } | null => {\r\n const validSlug = control.value.match(/^[a-z0-9]+(\\-[a-z0-9]+)*$/);\r\n return !validSlug ? { 'invalidSlug': { value: control.value } } : null;\r\n };\r\n }\r\n\r\n private urlValidator(control: AbstractControl): ValidatorFn {\r\n return (): { [key: string]: any } | null => {\r\n const validUrl = control.value.match(/^(?:http(s)?:\\/\\/)?[\\w.-]+(?:\\.[\\w\\.-]+)+[\\w\\-\\._~:\\/?#%[\\]@!\\$&'\\(\\)\\*\\+,;=.]+$/);\r\n return !validUrl ? { 'invalidUrl': { value: control.value } } : null;\r\n };\r\n }\r\n\r\n private phoneValidator(control: AbstractControl): ValidatorFn {\r\n return (): { [key: string]: any } | null => {\r\n const validPhone = control.value.match(/^\\(*\\+*[1-9]{0,3}\\)*-*[1-9]{0,3}[-. /]*\\(*[2-9]\\d{2}\\)*[-. /]*\\d{3}[-. /]*\\d{4} *e*x*t*\\.* *\\d{0,4}$/);\r\n return !validPhone ? { 'invalidPhone': { value: control.value } } : null;\r\n };\r\n }\r\n\r\n //custom validation\r\n private customPattern(control: AbstractControl, patterReg: string) {\r\n return (): { [key: string]: any } | null => {\r\n if (control.value) {\r\n const validPassword = control.value.match(patterReg);\r\n return !validPassword ? { 'customPattern': { value: control.value } } : null;\r\n } else {\r\n return null;\r\n }\r\n };\r\n }\r\n\r\n}\r\n","export default \".text-right {\\r\\n text-align: right !important;\\r\\n}\\r\\n\\r\\n .text-right button {\\r\\n width: 200px;\\r\\n height: 45px;\\r\\n color: black;\\r\\n }\\r\\n\\r\\n :host ::ng-deep .ck-editor__editable_inline {\\r\\n min-height: 150px;\\r\\n}\\r\\n\\r\\n .btn-secondary {\\r\\n color: #fff;\\r\\n background-color: #bababa !important;\\r\\n border-color: #bababa !important;\\r\\n}\\r\\n\\r\\n .btn-secondary:hover {\\r\\n background-color: #a3a3a3 !important;\\r\\n }\\r\\n\\r\\n .show > .btn-secondary.dropdown-toggle {\\r\\n color: #fff;\\r\\n background-color: #bababa !important;\\r\\n border-color: #bababa !important;\\r\\n}\\r\\n\\r\\n .show > .btn-secondary.dropdown-toggle:hover {\\r\\n background-color: #a3a3a3 !important\\r\\n }\\r\\n\\r\\n .btn-group > .btn-group:not(:first-child) {\\r\\n margin-left: -2px;\\r\\n width: 151px;\\r\\n height: 45px;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n .dropdown-item {\\r\\n padding: .25rem 0 !important;\\r\\n}\\r\\n\\r\\n .btn-delete-orangium {\\r\\n position: relative;\\r\\n text-align: center;\\r\\n line-height: 40px;\\r\\n}\\r\\n\\r\\n .btn-delete-orangium a {\\r\\n background-color: #CD0000;\\r\\n width: 151px;\\r\\n height: 45px;\\r\\n color: white;\\r\\n cursor: pointer;\\r\\n }\\r\\n\\r\\n .btn-delete-orangium img {\\r\\n position: relative;\\r\\n left: 15px;\\r\\n }\\r\\n\\r\\n .btn-publish-orangium, .btn-save-orangium {\\r\\n text-align: center;\\r\\n line-height: 40px;\\r\\n}\\r\\n\\r\\n .btn-publish-orangium a {\\r\\n width: 151px;\\r\\n height: 45px;\\r\\n }\\r\\n\\r\\n .btn-publish-orangium img, .btn-save-orangium img {\\r\\n position: relative;\\r\\n height: 25px;\\r\\n width: 25px;\\r\\n }\\r\\n\\r\\n .btn-save-orangium a {\\r\\n width: 151px;\\r\\n height: 45px;\\r\\n cursor: pointer;\\r\\n }\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNjaGVtYS1wYWdlLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSw0QkFBNEI7QUFDOUI7O0VBRUU7SUFDRSxZQUFZO0lBQ1osWUFBWTtJQUNaLFlBQVk7RUFDZDs7RUFHRjtFQUNFLGlCQUFpQjtBQUNuQjs7RUFFQTtFQUNFLFdBQVc7RUFDWCxvQ0FBb0M7RUFDcEMsZ0NBQWdDO0FBQ2xDOztFQUVFO0lBQ0Usb0NBQW9DO0VBQ3RDOztFQUVGO0VBQ0UsV0FBVztFQUNYLG9DQUFvQztFQUNwQyxnQ0FBZ0M7QUFDbEM7O0VBRUU7SUFDRTtFQUNGOztFQUVGO0VBQ0UsaUJBQWlCO0VBQ2pCLFlBQVk7RUFDWixZQUFZO0VBQ1osZUFBZTtBQUNqQjs7RUFFQTtFQUNFLDRCQUE0QjtBQUM5Qjs7RUFHQTtFQUNFLGtCQUFrQjtFQUNsQixrQkFBa0I7RUFDbEIsaUJBQWlCO0FBQ25COztFQUVFO0lBQ0UseUJBQXlCO0lBQ3pCLFlBQVk7SUFDWixZQUFZO0lBQ1osWUFBWTtJQUNaLGVBQWU7RUFDakI7O0VBRUE7SUFDRSxrQkFBa0I7SUFDbEIsVUFBVTtFQUNaOztFQUVGO0VBQ0Usa0JBQWtCO0VBQ2xCLGlCQUFpQjtBQUNuQjs7RUFFRTtJQUNFLFlBQVk7SUFDWixZQUFZO0VBQ2Q7O0VBRUE7SUFDRSxrQkFBa0I7SUFDbEIsWUFBWTtJQUNaLFdBQVc7RUFDYjs7RUFFQTtJQUNFLFlBQVk7SUFDWixZQUFZO0lBQ1osZUFBZTtFQUNqQiIsImZpbGUiOiJzY2hlbWEtcGFnZS5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLnRleHQtcmlnaHQge1xyXG4gIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbiAgLnRleHQtcmlnaHQgYnV0dG9uIHtcclxuICAgIHdpZHRoOiAyMDBweDtcclxuICAgIGhlaWdodDogNDVweDtcclxuICAgIGNvbG9yOiBibGFjaztcclxuICB9XHJcblxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC5jay1lZGl0b3JfX2VkaXRhYmxlX2lubGluZSB7XHJcbiAgbWluLWhlaWdodDogMTUwcHg7XHJcbn1cclxuXHJcbi5idG4tc2Vjb25kYXJ5IHtcclxuICBjb2xvcjogI2ZmZjtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmFiYWJhICFpbXBvcnRhbnQ7XHJcbiAgYm9yZGVyLWNvbG9yOiAjYmFiYWJhICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbiAgLmJ0bi1zZWNvbmRhcnk6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2EzYTNhMyAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbi5zaG93ID4gLmJ0bi1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlIHtcclxuICBjb2xvcjogI2ZmZjtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmFiYWJhICFpbXBvcnRhbnQ7XHJcbiAgYm9yZGVyLWNvbG9yOiAjYmFiYWJhICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbiAgLnNob3cgPiAuYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGU6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2EzYTNhMyAhaW1wb3J0YW50XHJcbiAgfVxyXG5cclxuLmJ0bi1ncm91cCA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkge1xyXG4gIG1hcmdpbi1sZWZ0OiAtMnB4O1xyXG4gIHdpZHRoOiAxNTFweDtcclxuICBoZWlnaHQ6IDQ1cHg7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uZHJvcGRvd24taXRlbSB7XHJcbiAgcGFkZGluZzogLjI1cmVtIDAgIWltcG9ydGFudDtcclxufVxyXG5cclxuXHJcbi5idG4tZGVsZXRlLW9yYW5naXVtIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGxpbmUtaGVpZ2h0OiA0MHB4O1xyXG59XHJcblxyXG4gIC5idG4tZGVsZXRlLW9yYW5naXVtIGEge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0NEMDAwMDtcclxuICAgIHdpZHRoOiAxNTFweDtcclxuICAgIGhlaWdodDogNDVweDtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICB9XHJcblxyXG4gIC5idG4tZGVsZXRlLW9yYW5naXVtIGltZyB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBsZWZ0OiAxNXB4O1xyXG4gIH1cclxuXHJcbi5idG4tcHVibGlzaC1vcmFuZ2l1bSwgLmJ0bi1zYXZlLW9yYW5naXVtIHtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgbGluZS1oZWlnaHQ6IDQwcHg7XHJcbn1cclxuXHJcbiAgLmJ0bi1wdWJsaXNoLW9yYW5naXVtIGEge1xyXG4gICAgd2lkdGg6IDE1MXB4O1xyXG4gICAgaGVpZ2h0OiA0NXB4O1xyXG4gIH1cclxuXHJcbiAgLmJ0bi1wdWJsaXNoLW9yYW5naXVtIGltZywgLmJ0bi1zYXZlLW9yYW5naXVtIGltZyB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBoZWlnaHQ6IDI1cHg7XHJcbiAgICB3aWR0aDogMjVweDtcclxuICB9XHJcblxyXG4gIC5idG4tc2F2ZS1vcmFuZ2l1bSBhIHtcclxuICAgIHdpZHRoOiAxNTFweDtcclxuICAgIGhlaWdodDogNDVweDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICB9XHJcbiJdfQ== */\";","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({ providedIn: \"root\" })\r\nexport class PersistenceStorageService {\r\n\r\n constructor() { }\r\n\r\n set(key: string, data: any): void {\r\n try {\r\n localStorage.setItem(key, JSON.stringify(data));\r\n } catch (e) {\r\n console.error('Error saving to storage', e);\r\n }\r\n }\r\n\r\n get(key: string) {\r\n try {\r\n return JSON.parse(localStorage.getItem(key));\r\n } catch (e) {\r\n console.error('Error getting data from storage', e);\r\n return null;\r\n }\r\n }\r\n\r\n remove(key: string) {\r\n try {\r\n localStorage.removeItem(key);\r\n } catch (e) {\r\n console.error('Error removing data from storage', e);\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BaseService } from \"../base/base.service\";\r\nimport { SchemasFactory, ContentFactory } from '../../squidex';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ArticleTypeService extends BaseService {\r\n\r\n constructor(contentFactory: ContentFactory) {\r\n super('article-type', contentFactory);\r\n }\r\n}\r\n","export class SchemaProperty {\r\n hints: string;\r\n label: string;\r\n tags: string[];\r\n}\r\n","import { Component, OnInit, } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'public',\r\n templateUrl: './public.component.html'\r\n})\r\nexport class PublicComponent implements OnInit {\r\n ngOnInit(): void {\r\n\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { StoreConfig } from '@datorama/akita';\r\nimport { BaseStore } from '../base/base.store';\r\nimport { AppTokenService } from '../../../app-token.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n@StoreConfig({\r\n name: AppTokenService.MENU_SCHEMA_NAME,\r\n cache: {\r\n ttl: 15000\r\n }\r\n})\r\nexport class MenuStore extends BaseStore {\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n}\r\n","import { Component, OnInit, EventEmitter, Output, AfterViewInit } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { BaseComponent } from \"../../../base/base-component.component\";\r\nimport { AppConfigProvider } from \"../../../app-config.provider\";\r\nimport { PersistenceStorageService } from \"../../../services\";\r\nimport { AppToken } from \"../../../models/app-token\";\r\nimport { PageTitleService } from \"../../../services/general/page-title.service\";\r\nimport { AuthenticationService } from \"../../../services/general/index\";\r\n\r\n@Component({\r\n selector: 'top-menu',\r\n templateUrl: './top-menu.component.html',\r\n styleUrls: ['./top-menu.component.css']\r\n})\r\nexport class TopMenuComponent extends BaseComponent implements OnInit, AfterViewInit {\r\n\r\n @Output()\r\n whenLanguageChange = new EventEmitter();\r\n\r\n availableLanguages: string[];\r\n availableLanguagesNames: {};\r\n username: string;\r\n\r\n userIsOwner: boolean;\r\n userIsDev: boolean;\r\n userIsEditor: boolean;\r\n\r\n previewUrl: string = '';\r\n previewPage: string = ''; // Not used\r\n\r\n\r\n constructor(\r\n private readonly persistenceStorageService: PersistenceStorageService,\r\n protected readonly translateService: TranslateService,\r\n private readonly pageTitleService: PageTitleService,\r\n private readonly authenticationService: AuthenticationService,\r\n appConfigProvider: AppConfigProvider) {\r\n super(translateService);\r\n this.setTranslateContext('TopMenuComponent');\r\n this.availableLanguages = appConfigProvider.getAvailableLanguages();\r\n this.availableLanguagesNames = appConfigProvider.getAvailableLanguagesNames();\r\n }\r\n\r\n ngOnInit() {\r\n const subscribe = this.pageTitleService.getTitle().subscribe(v => {\r\n this.pageTitle = v;\r\n });\r\n this.subscriptions.push(subscribe);\r\n this.setUserInfos();\r\n this.userIsOwner = this.authenticationService.userHasRole(\"Owner\");\r\n this.userIsDev = this.authenticationService.userHasRole(\"Developer\");\r\n this.userIsEditor = this.authenticationService.userHasRole(\"Editor\");\r\n this.previewUrl = window.location.origin;\r\n\r\n }\r\n\r\n\r\n ngAfterViewInit() {\r\n // if (this.document) {\r\n // const url = `${this.document.location.origin}/`;\r\n // this.previewUrl = this.sanitizer.bypassSecurityTrustResourceUrl(url);\r\n // }\r\n }\r\n\r\n\r\n useLanguage(language: string) {\r\n this.persistenceStorageService.set(AppToken.USER_SAVE_CULTURE_CODE, language);\r\n this.translateService.use(language).toPromise().then(lang => {\r\n if (this.pageTitleService.key) {\r\n this.ts(this.pageTitleService.key).subscribe(t => {\r\n this.pageTitle = t.toString();\r\n });\r\n }\r\n });\r\n this.whenLanguageChange.emit(language);\r\n }\r\n\r\n toggleIt() {\r\n const element: HTMLCollection = document.getElementsByTagName('body');\r\n if (element[0].classList.contains('open_menu')) {\r\n element[0].classList.remove('open_menu');\r\n } else {\r\n element[0].classList.add('open_menu');\r\n }\r\n }\r\n\r\n setUserInfos(): void {\r\n const sub = this.authenticationService\r\n .getCurrentUser()\r\n .subscribe(v => {\r\n if (!v) return;\r\n if (typeof v.data.fullname != \"undefined\" && v.data.fullname.iv.trim()) {\r\n this.username = v.data.fullname.iv;\r\n } else {\r\n this.username = v.data.email.iv;\r\n }\r\n });\r\n this.subscriptions.push(sub);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BaseQuery } from '../base/base.query';\r\nimport { PageCategoryStore } from './page-category.store';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PageCategoryQuery extends BaseQuery {\r\n\r\n constructor(store: PageCategoryStore) {\r\n super(store);\r\n }\r\n\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJtZW51LWhlYWRlci5jb21wb25lbnQuY3NzIn0= */\";","import { DynamicContentSchemaStore } from './dynamic-content.store';\r\nimport { DynamicContentSchemaQuery } from './dynamic-content.query';\r\nimport { BaseFacade } from '../base/base.facade';\r\nimport { DynamicContentSchemaService } from './dynamic-content.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { ContentFactory } from '../../squidex/factories/content.factory';\r\nimport { DynamicContentSchemaState } from './dynamic-content.state';\r\nimport { DynamicSchemaFactory } from '../dynamic-schema.factory';\r\n\r\nexport class DynamicContentSchemaFacade extends BaseFacade {\r\n constructor(\r\n schemaName: string,\r\n contentFactory: ContentFactory,\r\n dynamicSchemaFacto: DynamicSchemaFactory,\r\n translateService: TranslateService) {\r\n if (!schemaName) {\r\n throw new Error('Schema name invalid');\r\n }\r\n const genericService = new DynamicContentSchemaService(schemaName, contentFactory);\r\n const genericStore = new DynamicContentSchemaStore(new DynamicContentSchemaState(), schemaName);\r\n const genericQuery = new DynamicContentSchemaQuery(genericStore);\r\n\r\n super(genericService,\r\n genericStore,\r\n genericQuery,\r\n dynamicSchemaFacto.getDynamicSchemaFacade(schemaName),\r\n translateService,\r\n schemaName + '-facade'\r\n );\r\n }\r\n}\r\n","import { Component, OnInit, AfterContentInit, Input } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { BaseComponent } from \"../../../base/base-component.component\";\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { AuthenticationService } from \"../../../services/general/auth/authentication.service\";\r\n\r\n@Component({\r\n selector: 'side-bar',\r\n templateUrl: './side-bar.component.html',\r\n styleUrls: ['./side-bar.component.css']\r\n})\r\nexport class SideBarComponent extends BaseComponent implements OnInit, AfterContentInit {\r\n\r\n siteName: string;\r\n username: string;\r\n\r\n @Input()\r\n isPages: boolean = false;\r\n\r\n constructor(\r\n private readonly authenticationService: AuthenticationService,\r\n translateService: TranslateService,\r\n private readonly route: ActivatedRoute) {\r\n super(translateService);\r\n this.setTranslateContext('SideBarComponent');\r\n }\r\n\r\n ngOnInit() {\r\n this.setUserInfos();\r\n }\r\n\r\n ngAfterContentInit(): void {\r\n\r\n }\r\n\r\n setUserInfos(): void {\r\n const sub = this.authenticationService\r\n .getCurrentUser()\r\n .subscribe(v => {\r\n if (!v) return;\r\n if (v.data.fullname) {\r\n this.username = v.data.fullname.iv;\r\n } else {\r\n this.username = v.data.email.iv;\r\n }\r\n });\r\n this.subscriptions.push(sub);\r\n }\r\n}\r\n","import { Content } from \"../../squidex\";\r\nconst cloneDeep = require('lodash.clonedeep');\r\n\r\nexport class AssetDirectoryModel extends Content {\r\n constructor(current?: Content) {\r\n if (current) {\r\n super(cloneDeep(current) as Content);\r\n } else {\r\n super({});\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NgxFileDropComponent } from './ngx-file-drop.component';\r\nimport { NgxFileDropContentTemplateDirective } from './ngx-templates.directive';\r\n\r\n@NgModule({\r\n declarations: [\r\n NgxFileDropComponent,\r\n NgxFileDropContentTemplateDirective,\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [\r\n NgxFileDropComponent,\r\n NgxFileDropContentTemplateDirective,\r\n ],\r\n providers: [],\r\n bootstrap: [\r\n NgxFileDropComponent\r\n ],\r\n})\r\nexport class NgxFileDropModule {}\r\n","export default \"
    \\r\\n

    \\r\\n {{ tc(isNew ? \\\"NEW_TITLE\\\" : \\\"TITLE\\\") | async }}
    \\r\\n
    \\r\\n \\r\\n {{ selectedContent.data.code.iv }}\\r\\n \\r\\n\\r\\n
    \\r\\n

    \\r\\n

    \\r\\n
    \\r\\n \\r\\n
    \\r\\n

    \\r\\n\\r\\n
    \\r\\n
    \\r\\n {{ tc(\\\"SHOW_SCHEMA_DEFINITION\\\") | async }}\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n\\r\\n \\r\\n Code :\\r\\n \\r\\n {{ selectedContent.data.code.iv }}\\r\\n \\r\\n \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n

    {{ tc(\\\"DELETE_TITLE\\\") | async }}

    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n {{ t(\\\"CLOSE\\\") | async }}\\r\\n
    \\r\\n\\r\\n
    \\r\\n {{ tc(\\\"DELETE_CONFIRM\\\") | async }}\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n\\r\\n\\r\\n

    \\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n

    {{ t(\\\"DELETE_DRAFT\\\") | async }}

    \\r\\n
    \\r\\n

    \\r\\n {{ t('WARNING_DELETE', {name: 'draft'}) | async }}\\r\\n \\r\\n

    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n\\r\\n
    \\r\\n\";","import { ID, StoreActions } from '@datorama/akita';\r\nimport { Content, Schema, Field, SquidexDate } from '../../squidex';\r\nimport { BaseStore } from './base.store';\r\nimport { BaseQuery } from './base.query';\r\nimport { BaseService } from './base.service';\r\nimport { of, Observable, from } from 'rxjs';\r\nimport { tap, map, mergeMap } from 'rxjs/operators';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { FilterPagination } from './filter.pagination';\r\nimport { DynamicSchemaFacade } from '../dynamic-schema/dynamic-schema.facade';\r\nimport { ESchemaContentStatus } from './enum';\r\nimport { DatePipe } from '@angular/common';\r\nimport { AppToken } from '../../../models/app-token';\r\n\r\nconst EMPTY = '';\r\n\r\nexport abstract class BaseFacade {\r\n\r\n readonly datePipe: DatePipe;\r\n\r\n protected constructor(\r\n private service: BaseService,\r\n private store: BaseStore,\r\n private query: BaseQuery,\r\n readonly dynamicSchemaFacade: DynamicSchemaFacade,\r\n private readonly translateService: TranslateService,\r\n readonly facadeName: string\r\n ) {\r\n\r\n this.datePipe = new DatePipe(this.getCurrentLanguage());\r\n }\r\n\r\n getService(): BaseService {\r\n return this.service;\r\n }\r\n\r\n getStore(): BaseStore {\r\n return this.store;\r\n }\r\n\r\n getQuery(): BaseQuery {\r\n return this.query;\r\n }\r\n\r\n initializeSchema(): Observable {\r\n return this.getSchema().pipe(\r\n tap(schema => this.getStore().update({ schema: schema }))\r\n );\r\n }\r\n\r\n add(contentData: any): Promise {\r\n contentData.deleted = { iv: false };\r\n\r\n return this.getService().addContent(contentData)\r\n .toPromise().then(contentBack => {\r\n this.getStore().add(contentBack);\r\n return contentBack;\r\n });\r\n }\r\n\r\n addObs(contentData: any): Observable {\r\n contentData.deleted = { iv: false };\r\n\r\n return this.getService().addContent(contentData)\r\n .pipe(map(contentBack => {\r\n this.getStore().add(contentBack);\r\n return contentBack;\r\n }));\r\n }\r\n\r\n create(contentData: any): Observable {\r\n contentData.deleted = { iv: false };\r\n\r\n return this.getService().addContent(contentData)\r\n .pipe(\r\n tap(v => {\r\n this.getStore().add(v);\r\n })\r\n );\r\n }\r\n\r\n createAsPublished(contentData: any): Observable {\r\n contentData.deleted = { iv: false };\r\n\r\n return this.getService().createAndPublishContent(contentData)\r\n .pipe(\r\n tap(v => {\r\n this.getStore().add(v);\r\n })\r\n );\r\n }\r\n\r\n createDraft(contentId: string): Observable {\r\n return this.getService().createDraft(contentId)\r\n .pipe(\r\n tap(v => {\r\n this.getStore().add(v);\r\n })\r\n );\r\n }\r\n\r\n getSchema(): Observable {\r\n return this.dynamicSchemaFacade.getSchemaDefinition() as Observable;\r\n }\r\n\r\n get(id: ID, draftMode: boolean = false): Observable {\r\n return this.getService().getContentById(id, draftMode).pipe(mergeMap((content) => {\r\n this.getStore().add(content);\r\n return of(content);\r\n })) as Observable;\r\n }\r\n\r\n getAll(): Observable {\r\n return this.getService().countContent().pipe(mergeMap (totalCount => {\r\n if (this.getStore().getValue().totalCount === totalCount) {\r\n return of(Array.from(Object.values(this.getQuery().getValue().entities)));\r\n }\r\n return this.getService().getAll().pipe(mergeMap(data => {\r\n this.getStore().add(data.items);\r\n this.getStore().update({ totalCount: data.total });\r\n return of(data.items);\r\n })) as Observable})\r\n );\r\n\r\n }\r\n\r\n doPagination(filterPagination: FilterPagination): Observable {\r\n if (filterPagination.from < 0) { throw (new Error('try to paginate at index < 0')); }\r\n\r\n if (this.getStore().hasPaginateContents(filterPagination)) {\r\n return this.getQuery().getPaginateData(filterPagination);\r\n }\r\n\r\n const contents = this.getService().doPagination(filterPagination).pipe(mergeMap((contentList) => {\r\n this.getStore().update({ totalCount: contentList.total });\r\n\r\n this.getStore().updatePaginate(contentList.items, filterPagination);\r\n return of(contentList.items);\r\n }));\r\n\r\n return contents as Observable;\r\n }\r\n\r\n update(contentId: string, contentData: any): Observable {\r\n return this.getService().updateContent(contentId, contentData).\r\n pipe(\r\n tap(contentBack => {\r\n this.getStore().update(contentId, u => {\r\n return contentBack;\r\n });\r\n })\r\n );\r\n }\r\n\r\n removeStore (id: string): any {\r\n this.getStore().remove(id);\r\n }\r\n\r\n remove(id: ID, draftMode: boolean = false): Observable {\r\n return this.getService().removeContent(id, draftMode).pipe(\r\n tap(v => {\r\n this.getStore().remove(id);\r\n })\r\n );\r\n }\r\n\r\n removeDraft(contentId: string): Observable {\r\n return this.getService().deleteDraft(contentId).pipe(\r\n tap(v => {\r\n this.getStore().remove(contentId);\r\n })\r\n );\r\n }\r\n\r\n removeHard(id: ID): Observable {\r\n return this.getService().removeHardContent(id).pipe(\r\n tap(v => {\r\n this.getStore().remove(id);\r\n })\r\n );\r\n }\r\n\r\n\r\n fullCount(): Observable {\r\n if (this.getQuery().getValue().totalCount && this.getQuery().getValue().totalCount > 0) {\r\n return of(this.getQuery().getValue().totalCount);\r\n }\r\n\r\n return this.getService().getTopX(1, undefined, '', ESchemaContentStatus.All)\r\n .pipe(map(object => {\r\n this.getStore().update({ totalCount: object.total });\r\n return object.total;\r\n }));\r\n }\r\n\r\n partialCount(): number {\r\n return this.getQuery().getCount();\r\n }\r\n\r\n filterCount(advancedFilter: any , eSchemaContentStatus: ESchemaContentStatus = ESchemaContentStatus.All): Observable {\r\n const filterParms: FilterPagination = new FilterPagination()\r\n filterParms.from = 0;\r\n filterParms.to = 1;\r\n\r\n return this.getService().getFilteredPagination(filterParms, eSchemaContentStatus, advancedFilter )\r\n .pipe(map(content => content['total']) );\r\n }\r\n\r\n getByCode(code: string, draftMode: boolean = false): Observable {\r\n const content = this.getQuery().selectAll({\r\n filterBy: entity => entity.data && entity.data['code']['iv'] === code\r\n }).pipe(\r\n mergeMap(v => {\r\n const value = v[0];\r\n if (!value) {\r\n return this.getService().getContentByCode(code, draftMode).pipe(map(val => {\r\n if (val) {\r\n this.getStore().add(val);\r\n }\r\n return val;\r\n }));\r\n }\r\n return of(value);\r\n })\r\n );\r\n return content as Observable;\r\n }\r\n\r\n getDefaultLanguage(): string {\r\n return this.translateService.defaultLang;\r\n }\r\n\r\n getCurrentLanguage(): string {\r\n return this.translateService.currentLang;\r\n }\r\n\r\n getTopX(top: number = 24,\r\n filter: string = null,\r\n orderBy: string = 'lastModified desc',\r\n eSchemaContentStatus: ESchemaContentStatus = ESchemaContentStatus.Published\r\n ): Observable {\r\n return this.getService().getTopX(top, filter, orderBy, eSchemaContentStatus).pipe(mergeMap((contentList) => {\r\n this.getStore().add(contentList.items);\r\n this.getStore().update({ totalCount: contentList.total });\r\n return of(contentList.items);\r\n })) as Observable;\r\n }\r\n\r\n getFiltered(top: number = 24,\r\n orderBy: string = 'lastModified desc',\r\n eSchemaContentStatus: ESchemaContentStatus = ESchemaContentStatus.Published,\r\n filter?: string\r\n ): Observable {\r\n return this.getService().getFiltered(top, orderBy, eSchemaContentStatus, filter).pipe(mergeMap((contentList) => {\r\n this.getStore().add(contentList.items);\r\n this.getStore().update({ totalCount: contentList.total });\r\n return of(contentList.items);\r\n })) as Observable;\r\n }\r\n\r\n validateUrl(filterParms: FilterPagination,\r\n eSchemaContentStatus: ESchemaContentStatus = ESchemaContentStatus.All,\r\n filterObject?: any, content: Content = null\r\n ): Observable {\r\n return this.getService().validateUrl(filterParms, eSchemaContentStatus, filterObject, content);\r\n }\r\n\r\n getFilteredPagination(\r\n filterParms: FilterPagination,\r\n eSchemaContentStatus: ESchemaContentStatus = ESchemaContentStatus.Published,\r\n filterObject?: any\r\n ): Observable {\r\n return this.getService().getFilteredPagination(filterParms, eSchemaContentStatus, filterObject).pipe(mergeMap((contentList) => {\r\n this.getStore().add(contentList.items);\r\n this.getStore().update({ totalCount: contentList.total });\r\n return of(contentList.items);\r\n })) as Observable;\r\n }\r\n\r\n getByObject(\r\n filterObject: any,\r\n eSchemaContentStatus: ESchemaContentStatus = ESchemaContentStatus.Published,\r\n ): Observable {\r\n return this.getService().getByObject(filterObject, eSchemaContentStatus).pipe(mergeMap((contentList) => {\r\n this.getStore().add(contentList.items);\r\n this.getStore().update({ totalCount: contentList.total });\r\n return of(contentList.items);\r\n })) as Observable;\r\n }\r\n\r\n getUnpublished(orderBy: string = 'lastModified desc', top: number = -1): Observable {\r\n return this.getService().getUnpublished(orderBy, top).pipe(mergeMap((contentList) => {\r\n this.getStore().add(contentList.items);\r\n this.getStore().update({ totalCount: contentList.total });\r\n return of(contentList.items);\r\n })) as Observable;\r\n }\r\n\r\n getAllOrdered(orderBy: string = 'id'): Observable {\r\n if (this.getQuery().getCount() === this.getQuery().getValue().totalCount) {\r\n return of(Array.from(Object.values(this.getQuery().getValue().entities)));\r\n }\r\n\r\n return this.getService().getAllOrdered(orderBy).pipe(mergeMap(data => {\r\n this.getStore().add(data.items);\r\n this.getStore().update({ totalCount: data.total });\r\n return of(data.items);\r\n })) as Observable;\r\n }\r\n\r\n getByParentId(id: string, parentFieldName: string, orderBy: string = 'id', draftMode: boolean = false): Observable {\r\n return this.getService().getByParentId(id, parentFieldName, orderBy, draftMode).pipe(mergeMap((contentList) => {\r\n this.getStore().add(contentList.items);\r\n this.getStore().update({ totalCount: contentList.total });\r\n return of(contentList.items);\r\n })) as Observable;\r\n }\r\n\r\n getData(content: Content, field: Field): any {\r\n return this.pullData(content, field.name, field.partitioning === 'language');\r\n }\r\n\r\n // same as getData, with different signature, get and put are synonyms\r\n pullData(content: Content, key: string, isLocalized: boolean = false, checkDefaultLanguage: boolean = false): any {\r\n if (!content || !content.data || !key) { return EMPTY; }\r\n\r\n const d = content.data[key];\r\n\r\n let data: any;\r\n\r\n if (d) {\r\n if (isLocalized) {\r\n data = d[this.getCurrentLanguage()];\r\n if (!data && checkDefaultLanguage) {\r\n data = d[this.getDefaultLanguage()];\r\n }\r\n } else {\r\n data = d['iv'];\r\n }\r\n } else {\r\n data = EMPTY;\r\n }\r\n\r\n return data;\r\n }\r\n\r\n setContent(content: Content, field: Field, newValue: string): any {\r\n newValue = this.fixFieldValue(field.properties.editor, newValue);\r\n return this.setData(content.data, field, newValue);\r\n }\r\n\r\n setData(data: any, field: Field, newValue: string): any {\r\n newValue = this.fixFieldValue(field.properties.editor, newValue);\r\n return this.putData(data, field.name, newValue, field.partitioning === 'language');\r\n }\r\n\r\n setDataValue(data: any, field: string, newValue: string, isLocalized: boolean = false): any {\r\n // newValue = this.fixFieldValue(field.properties.editor, newValue);\r\n return this.putData(data, field, newValue, isLocalized);\r\n }\r\n\r\n setDataAnyType(data: any, field: string, newValue: any, isLocalized: boolean = false): any {\r\n return this.putData(data, field, newValue, isLocalized);\r\n }\r\n\r\n // same as setData, with different signature, set and pull are synonyms\r\n private putData(data: any, key: string, newValue: any, isLocalized: boolean = false, field?: Field): any {\r\n if (!data || !key) { return null; }\r\n\r\n if (!data[key]) {\r\n data[key] = {};\r\n }\r\n\r\n if (field && field.properties.fieldType === 'Assets') {\r\n if (!data[key]) {\r\n data[key] = { 'iv': [] };\r\n }\r\n if (data[key].iv.length === 0) {\r\n data[key].iv = [];\r\n }\r\n if (Array.isArray(newValue)) {\r\n let tmp = [];\r\n\r\n data[key].iv.forEach(val => {\r\n if (!tmp.includes(val)) {\r\n tmp.push(val);\r\n }\r\n });\r\n\r\n newValue.forEach(val => {\r\n if (!tmp.includes(val)) {\r\n tmp.push(val);\r\n }\r\n });\r\n\r\n data[key].iv = tmp;\r\n } else {\r\n data[key].iv.push(newValue);\r\n }\r\n } else {\r\n if (field && field.properties.fieldType === 'Boolean') {\r\n if (newValue === '') {\r\n newValue = false;\r\n }\r\n } else {\r\n if (isLocalized) {\r\n data[key][this.getCurrentLanguage()] = newValue;\r\n } else {\r\n data[key]['iv'] = newValue;\r\n }\r\n }\r\n }\r\n return data;\r\n }\r\n\r\n putNumber(data: any, key: string, newValue: number): any {\r\n if (!data || !key) {\r\n return null;\r\n }\r\n\r\n if (!data[key]) {\r\n data[key] = {};\r\n }\r\n\r\n data[key]['iv'] = newValue;\r\n\r\n return data;\r\n }\r\n\r\n private fixFieldValue(editor: string, value: any): any {\r\n if (editor === \"DateTime\") {\r\n return new SquidexDate(value).format();\r\n } else if (editor === \"Dropdown\" && !Array.isArray(value)) {\r\n return [value];\r\n }\r\n return value;\r\n }\r\n\r\n translate(key: string | Array, interpolateParams?: Object): Observable {\r\n return this.translateService.get(key, interpolateParams);\r\n }\r\n\r\n getLastModifiedDate(content: Content, dateFormat: string = AppToken.ISO_DATES_DATE_TIME): string {\r\n if (!content) {\r\n return null;\r\n } else {\r\n return this.getLocalDateTime(content.lastModified, dateFormat);\r\n }\r\n }\r\n\r\n getLocalDateTime(date: Date, dateFormat: string = AppToken.ISO_DATES_DATE_TIME): string {\r\n return this.datePipe.transform(new Date(date), dateFormat);\r\n }\r\n\r\n updateStatus(contentId: string, status: string, dueTime: string) {\r\n return this.getService().updateContentStatus(contentId, status, dueTime).\r\n pipe(\r\n tap(contentBack => {\r\n this.getStore().update(contentId, u => {\r\n return contentBack;\r\n });\r\n })\r\n );\r\n }\r\n\r\n}\r\n","import { Field } from './field.model';\r\nimport { Link } from './link.model';\r\n\r\nexport class Asset {\r\n id: string;\r\n parentId: string;\r\n fileName: string;\r\n fileHash: string;\r\n isProtected: boolean;\r\n slug: string;\r\n mimeType: string;\r\n fileType: string;\r\n metadataText: string;\r\n metadata: object;\r\n tags: string[];\r\n fileSize: number;\r\n fileVersion: number;\r\n type: string;\r\n createdBy: string;\r\n lastModifiedBy: string;\r\n created: string;\r\n lastModified: string;\r\n version: number;\r\n isImage: boolean;\r\n _links: { [id: string]: Link };\r\n fieldName: string;\r\n\r\n constructor(current?: any) {\r\n if (current) {\r\n Object.assign(this, current);\r\n } else {\r\n }\r\n }\r\n\r\n}\r\n","import { StoreConfig } from '@datorama/akita';\r\nimport { Injectable } from '@angular/core';\r\nimport { BaseStore } from '../base/base.store';\r\n\r\n@Injectable({ providedIn: 'root' })\r\n@StoreConfig({\r\n name: 'article',\r\n cache: {\r\n ttl: 15000\r\n }\r\n})\r\nexport class ArticleStore extends BaseStore {\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","export default \"#loader {\\n bottom: 0;\\n height: 175px;\\n left: 0;\\n margin: auto;\\n position: absolute;\\n right: 0;\\n top: 0;\\n width: 175px;\\n}\\n\\n#loader {\\n bottom: 0;\\n height: 175px;\\n left: 0;\\n margin: auto;\\n position: absolute;\\n right: 0;\\n top: 0;\\n width: 175px;\\n}\\n\\n#loader .dot {\\n bottom: 0;\\n height: 100%;\\n left: 0;\\n margin: auto;\\n position: absolute;\\n right: 0;\\n top: 0;\\n width: 87.5px;\\n}\\n\\n#loader .dot::before {\\n border-radius: 100%;\\n content: \\\"\\\";\\n height: 87.5px;\\n left: 0;\\n position: absolute;\\n right: 0;\\n top: 0;\\n transform: scale(0);\\n width: 87.5px;\\n}\\n\\n#loader .dot:nth-child(7n+1) {\\n transform: rotate(45deg);\\n}\\n\\n#loader .dot:nth-child(7n+1)::before {\\n -webkit-animation: 0.8s linear 0.1s normal none infinite running load;\\n animation: 0.8s linear 0.1s normal none infinite running load;\\n background: #804d00 none repeat scroll 0 0;\\n}\\n\\n#loader .dot:nth-child(7n+2) {\\n transform: rotate(90deg);\\n}\\n\\n#loader .dot:nth-child(7n+2)::before {\\n -webkit-animation: 0.8s linear 0.2s normal none infinite running load;\\n animation: 0.8s linear 0.2s normal none infinite running load;\\n background: #b36b00 none repeat scroll 0 0;\\n}\\n\\n#loader .dot:nth-child(7n+3) {\\n transform: rotate(135deg);\\n}\\n\\n#loader .dot:nth-child(7n+3)::before {\\n -webkit-animation: 0.8s linear 0.3s normal none infinite running load;\\n animation: 0.8s linear 0.3s normal none infinite running load;\\n background: #e68a00 none repeat scroll 0 0;\\n}\\n\\n#loader .dot:nth-child(7n+4) {\\n transform: rotate(180deg);\\n}\\n\\n#loader .dot:nth-child(7n+4)::before {\\n -webkit-animation: 0.8s linear 0.4s normal none infinite running load;\\n animation: 0.8s linear 0.4s normal none infinite running load;\\n background: #ff9900 none repeat scroll 0 0;\\n}\\n\\n#loader .dot:nth-child(7n+5) {\\n transform: rotate(225deg);\\n}\\n\\n#loader .dot:nth-child(7n+5)::before {\\n -webkit-animation: 0.8s linear 0.5s normal none infinite running load;\\n animation: 0.8s linear 0.5s normal none infinite running load;\\n background: #ffad33 none repeat scroll 0 0;\\n}\\n\\n#loader .dot:nth-child(7n+6) {\\n transform: rotate(270deg);\\n}\\n\\n#loader .dot:nth-child(7n+6)::before {\\n -webkit-animation: 0.8s linear 0.6s normal none infinite running load;\\n animation: 0.8s linear 0.6s normal none infinite running load;\\n background: #ffc266 none repeat scroll 0 0;\\n}\\n\\n#loader .dot:nth-child(7n+7) {\\n transform: rotate(315deg);\\n}\\n\\n#loader .dot:nth-child(7n+7)::before {\\n -webkit-animation: 0.8s linear 0.7s normal none infinite running load;\\n animation: 0.8s linear 0.7s normal none infinite running load;\\n background: #ffd699 none repeat scroll 0 0;\\n}\\n\\n#loader .dot:nth-child(7n+8) {\\n transform: rotate(360deg);\\n}\\n\\n#loader .dot:nth-child(7n+8)::before {\\n -webkit-animation: 0.8s linear 0.8s normal none infinite running load;\\n animation: 0.8s linear 0.8s normal none infinite running load;\\n background: #ffebcc none repeat scroll 0 0;\\n}\\n\\n#loader .loading {\\n background-position: 50% 50%;\\n background-repeat: no-repeat;\\n bottom: -40px;\\n height: 20px;\\n left: 0;\\n position: absolute;\\n right: 0;\\n width: 180px;\\n}\\n\\n@-webkit-keyframes load {\\n 100% {\\n opacity: 0;\\n transform: scale(1);\\n }\\n}\\n\\n@keyframes load {\\n 100% {\\n opacity: 0;\\n transform: scale(1);\\n }\\n}\\n\\n@keyframes load {\\n 100% {\\n opacity: 0;\\n transform: scale(1);\\n }\\n}\\n\\n.spinner-message {\\n text-align: center;\\n}\\n\\n.spinner-wrapper {\\n position: fixed;\\n width: 100%;\\n height: 100%;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n top: 0;\\n left: 0;\\n background-color: rgba(255, 255, 255, 0.5);\\n z-index: 998;\\n}\\n\\n.spinner-wrapper app-spinner {\\n width: 6rem;\\n height: 6rem;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uXFwuLlxcLi5cXC4uXFxzcGlubmVyLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsU0FBUztFQUNULGFBQWE7RUFDYixPQUFPO0VBQ1AsWUFBWTtFQUNaLGtCQUFrQjtFQUNsQixRQUFRO0VBQ1IsTUFBTTtFQUNOLFlBQVk7QUFDZDs7QUFFQTtFQUNFLFNBQVM7RUFDVCxhQUFhO0VBQ2IsT0FBTztFQUNQLFlBQVk7RUFDWixrQkFBa0I7RUFDbEIsUUFBUTtFQUNSLE1BQU07RUFDTixZQUFZO0FBQ2Q7O0FBRUE7RUFDRSxTQUFTO0VBQ1QsWUFBWTtFQUNaLE9BQU87RUFDUCxZQUFZO0VBQ1osa0JBQWtCO0VBQ2xCLFFBQVE7RUFDUixNQUFNO0VBQ04sYUFBYTtBQUNmOztBQUVBO0VBQ0UsbUJBQW1CO0VBQ25CLFdBQVc7RUFDWCxjQUFjO0VBQ2QsT0FBTztFQUNQLGtCQUFrQjtFQUNsQixRQUFRO0VBQ1IsTUFBTTtFQUNOLG1CQUFtQjtFQUNuQixhQUFhO0FBQ2Y7O0FBRUE7RUFDRSx3QkFBd0I7QUFDMUI7O0FBRUE7RUFDRSxxRUFBNkQ7VUFBN0QsNkRBQTZEO0VBQzdELDBDQUEwQztBQUM1Qzs7QUFFQTtFQUNFLHdCQUF3QjtBQUMxQjs7QUFFQTtFQUNFLHFFQUE2RDtVQUE3RCw2REFBNkQ7RUFDN0QsMENBQTBDO0FBQzVDOztBQUVBO0VBQ0UseUJBQXlCO0FBQzNCOztBQUVBO0VBQ0UscUVBQTZEO1VBQTdELDZEQUE2RDtFQUM3RCwwQ0FBMEM7QUFDNUM7O0FBRUE7RUFDRSx5QkFBeUI7QUFDM0I7O0FBRUE7RUFDRSxxRUFBNkQ7VUFBN0QsNkRBQTZEO0VBQzdELDBDQUEwQztBQUM1Qzs7QUFFQTtFQUNFLHlCQUF5QjtBQUMzQjs7QUFFQTtFQUNFLHFFQUE2RDtVQUE3RCw2REFBNkQ7RUFDN0QsMENBQTBDO0FBQzVDOztBQUVBO0VBQ0UseUJBQXlCO0FBQzNCOztBQUVBO0VBQ0UscUVBQTZEO1VBQTdELDZEQUE2RDtFQUM3RCwwQ0FBMEM7QUFDNUM7O0FBRUE7RUFDRSx5QkFBeUI7QUFDM0I7O0FBRUE7RUFDRSxxRUFBNkQ7VUFBN0QsNkRBQTZEO0VBQzdELDBDQUEwQztBQUM1Qzs7QUFFQTtFQUNFLHlCQUF5QjtBQUMzQjs7QUFFQTtFQUNFLHFFQUE2RDtVQUE3RCw2REFBNkQ7RUFDN0QsMENBQTBDO0FBQzVDOztBQUVBO0VBQ0UsNEJBQTRCO0VBQzVCLDRCQUE0QjtFQUM1QixhQUFhO0VBQ2IsWUFBWTtFQUNaLE9BQU87RUFDUCxrQkFBa0I7RUFDbEIsUUFBUTtFQUNSLFlBQVk7QUFDZDs7QUFFQTtFQUNFO0lBQ0UsVUFBVTtJQUNWLG1CQUFtQjtFQUNyQjtBQUNGOztBQUxBO0VBQ0U7SUFDRSxVQUFVO0lBQ1YsbUJBQW1CO0VBQ3JCO0FBQ0Y7O0FBRUE7RUFDRTtJQUNFLFVBQVU7SUFDVixtQkFBbUI7RUFDckI7QUFDRjs7QUFFQTtFQUNFLGtCQUFrQjtBQUNwQjs7QUFFQTtFQUNFLGVBQWU7RUFDZixXQUFXO0VBQ1gsWUFBWTtFQUNaLGFBQWE7RUFDYix1QkFBdUI7RUFDdkIsbUJBQW1CO0VBQ25CLE1BQU07RUFDTixPQUFPO0VBQ1AsMENBQTBDO0VBQzFDLFlBQVk7QUFDZDs7QUFYQTtFQVlNLFdBQVc7RUFDWCxZQUFZO0FBR2xCIiwiZmlsZSI6InNwaW5uZXIuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIjbG9hZGVyIHtcclxuICBib3R0b206IDA7XHJcbiAgaGVpZ2h0OiAxNzVweDtcclxuICBsZWZ0OiAwO1xyXG4gIG1hcmdpbjogYXV0bztcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgdG9wOiAwO1xyXG4gIHdpZHRoOiAxNzVweDtcclxufVxyXG5cclxuI2xvYWRlciB7XHJcbiAgYm90dG9tOiAwO1xyXG4gIGhlaWdodDogMTc1cHg7XHJcbiAgbGVmdDogMDtcclxuICBtYXJnaW46IGF1dG87XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIHRvcDogMDtcclxuICB3aWR0aDogMTc1cHg7XHJcbn1cclxuXHJcbiNsb2FkZXIgLmRvdCB7XHJcbiAgYm90dG9tOiAwO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBsZWZ0OiAwO1xyXG4gIG1hcmdpbjogYXV0bztcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgdG9wOiAwO1xyXG4gIHdpZHRoOiA4Ny41cHg7XHJcbn1cclxuXHJcbiNsb2FkZXIgLmRvdDo6YmVmb3JlIHtcclxuICBib3JkZXItcmFkaXVzOiAxMDAlO1xyXG4gIGNvbnRlbnQ6IFwiXCI7XHJcbiAgaGVpZ2h0OiA4Ny41cHg7XHJcbiAgbGVmdDogMDtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgdG9wOiAwO1xyXG4gIHRyYW5zZm9ybTogc2NhbGUoMCk7XHJcbiAgd2lkdGg6IDg3LjVweDtcclxufVxyXG5cclxuI2xvYWRlciAuZG90Om50aC1jaGlsZCg3bisxKSB7XHJcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xyXG59XHJcblxyXG4jbG9hZGVyIC5kb3Q6bnRoLWNoaWxkKDduKzEpOjpiZWZvcmUge1xyXG4gIGFuaW1hdGlvbjogMC44cyBsaW5lYXIgMC4xcyBub3JtYWwgbm9uZSBpbmZpbml0ZSBydW5uaW5nIGxvYWQ7XHJcbiAgYmFja2dyb3VuZDogIzgwNGQwMCBub25lIHJlcGVhdCBzY3JvbGwgMCAwO1xyXG59XHJcblxyXG4jbG9hZGVyIC5kb3Q6bnRoLWNoaWxkKDduKzIpIHtcclxuICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XHJcbn1cclxuXHJcbiNsb2FkZXIgLmRvdDpudGgtY2hpbGQoN24rMik6OmJlZm9yZSB7XHJcbiAgYW5pbWF0aW9uOiAwLjhzIGxpbmVhciAwLjJzIG5vcm1hbCBub25lIGluZmluaXRlIHJ1bm5pbmcgbG9hZDtcclxuICBiYWNrZ3JvdW5kOiAjYjM2YjAwIG5vbmUgcmVwZWF0IHNjcm9sbCAwIDA7XHJcbn1cclxuXHJcbiNsb2FkZXIgLmRvdDpudGgtY2hpbGQoN24rMykge1xyXG4gIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7XHJcbn1cclxuXHJcbiNsb2FkZXIgLmRvdDpudGgtY2hpbGQoN24rMyk6OmJlZm9yZSB7XHJcbiAgYW5pbWF0aW9uOiAwLjhzIGxpbmVhciAwLjNzIG5vcm1hbCBub25lIGluZmluaXRlIHJ1bm5pbmcgbG9hZDtcclxuICBiYWNrZ3JvdW5kOiAjZTY4YTAwIG5vbmUgcmVwZWF0IHNjcm9sbCAwIDA7XHJcbn1cclxuXHJcbiNsb2FkZXIgLmRvdDpudGgtY2hpbGQoN24rNCkge1xyXG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XHJcbn1cclxuXHJcbiNsb2FkZXIgLmRvdDpudGgtY2hpbGQoN24rNCk6OmJlZm9yZSB7XHJcbiAgYW5pbWF0aW9uOiAwLjhzIGxpbmVhciAwLjRzIG5vcm1hbCBub25lIGluZmluaXRlIHJ1bm5pbmcgbG9hZDtcclxuICBiYWNrZ3JvdW5kOiAjZmY5OTAwIG5vbmUgcmVwZWF0IHNjcm9sbCAwIDA7XHJcbn1cclxuXHJcbiNsb2FkZXIgLmRvdDpudGgtY2hpbGQoN24rNSkge1xyXG4gIHRyYW5zZm9ybTogcm90YXRlKDIyNWRlZyk7XHJcbn1cclxuXHJcbiNsb2FkZXIgLmRvdDpudGgtY2hpbGQoN24rNSk6OmJlZm9yZSB7XHJcbiAgYW5pbWF0aW9uOiAwLjhzIGxpbmVhciAwLjVzIG5vcm1hbCBub25lIGluZmluaXRlIHJ1bm5pbmcgbG9hZDtcclxuICBiYWNrZ3JvdW5kOiAjZmZhZDMzIG5vbmUgcmVwZWF0IHNjcm9sbCAwIDA7XHJcbn1cclxuXHJcbiNsb2FkZXIgLmRvdDpudGgtY2hpbGQoN24rNikge1xyXG4gIHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7XHJcbn1cclxuXHJcbiNsb2FkZXIgLmRvdDpudGgtY2hpbGQoN24rNik6OmJlZm9yZSB7XHJcbiAgYW5pbWF0aW9uOiAwLjhzIGxpbmVhciAwLjZzIG5vcm1hbCBub25lIGluZmluaXRlIHJ1bm5pbmcgbG9hZDtcclxuICBiYWNrZ3JvdW5kOiAjZmZjMjY2IG5vbmUgcmVwZWF0IHNjcm9sbCAwIDA7XHJcbn1cclxuXHJcbiNsb2FkZXIgLmRvdDpudGgtY2hpbGQoN24rNykge1xyXG4gIHRyYW5zZm9ybTogcm90YXRlKDMxNWRlZyk7XHJcbn1cclxuXHJcbiNsb2FkZXIgLmRvdDpudGgtY2hpbGQoN24rNyk6OmJlZm9yZSB7XHJcbiAgYW5pbWF0aW9uOiAwLjhzIGxpbmVhciAwLjdzIG5vcm1hbCBub25lIGluZmluaXRlIHJ1bm5pbmcgbG9hZDtcclxuICBiYWNrZ3JvdW5kOiAjZmZkNjk5IG5vbmUgcmVwZWF0IHNjcm9sbCAwIDA7XHJcbn1cclxuXHJcbiNsb2FkZXIgLmRvdDpudGgtY2hpbGQoN24rOCkge1xyXG4gIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XHJcbn1cclxuXHJcbiNsb2FkZXIgLmRvdDpudGgtY2hpbGQoN24rOCk6OmJlZm9yZSB7XHJcbiAgYW5pbWF0aW9uOiAwLjhzIGxpbmVhciAwLjhzIG5vcm1hbCBub25lIGluZmluaXRlIHJ1bm5pbmcgbG9hZDtcclxuICBiYWNrZ3JvdW5kOiAjZmZlYmNjIG5vbmUgcmVwZWF0IHNjcm9sbCAwIDA7XHJcbn1cclxuXHJcbiNsb2FkZXIgLmxvYWRpbmcge1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICBib3R0b206IC00MHB4O1xyXG4gIGhlaWdodDogMjBweDtcclxuICBsZWZ0OiAwO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICByaWdodDogMDtcclxuICB3aWR0aDogMTgwcHg7XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgbG9hZCB7XHJcbiAgMTAwJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgbG9hZCB7XHJcbiAgMTAwJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICB9XHJcbn1cclxuXHJcbi5zcGlubmVyLW1lc3NhZ2Uge1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLnNwaW5uZXItd3JhcHBlciB7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xyXG4gIHotaW5kZXg6IDk5ODtcclxuICBhcHAtc3Bpbm5lciB7XHJcbiAgICAgIHdpZHRoOiA2cmVtO1xyXG4gICAgICBoZWlnaHQ6IDZyZW07XHJcbiAgfVxyXG59XHJcbiJdfQ== */\";","import { Content } from \"../../squidex\";\r\n\r\nexport class PageModel extends Content {\r\n\r\n constructor(current?: Content) {\r\n super(current);\r\n if (current) {\r\n Object.assign(this, current);\r\n }\r\n }\r\n}\r\n","export { SpinnerModule } from './spinner/spinner.module';\r\nexport { HeaderMainComponent } from './header/header-main.component';\r\nexport { FooterMainComponent } from './footer/footer-main.component';\r\nexport { SharedModule } from './shared.module';\r\n\r\nexport * from './field/field-control.component';\r\n\r\nexport { FormGroupMapper } from './form-group/form-group-mapper.tool';\r\nexport { FormGroupBuilder } from './form-group/form-group.builder';\r\n","import { Content } from \"../../squidex\";\r\n\r\nexport class MenuModel extends Content {\r\n\r\n constructor(current?: Content) {\r\n super(current);\r\n if (current) {\r\n Object.assign(this, current);\r\n }\r\n }\r\n}\r\n","import { UserStore } from './user.store';\r\nimport { Injectable } from '@angular/core';\r\nimport { BaseQuery } from '../base/base.query';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class UserQuery extends BaseQuery {\r\n constructor(store: UserStore) {\r\n super(store);\r\n }\r\n}\r\n","export default \"::ng-deep .control-language-parent > ul {\\r\\n float: right !important;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .ck-sticky-panel__content {\\r\\n margin-top: 0.25rem !important;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .cke {\\r\\n margin-top: 10px;\\r\\n}\\r\\n\\r\\n/* Rounded sliders */\\r\\n\\r\\n.slider.round {\\r\\n border-radius: 34px;\\r\\n}\\r\\n\\r\\n.slider.round:before {\\r\\n border-radius: 50%;\\r\\n }\\r\\n\\r\\ninput.large-checkbox {\\r\\n width: 30px;\\r\\n height: 30px;\\r\\n}\\r\\n\\r\\nlabel.larger {\\r\\n padding: .5rem .5rem .5rem 1rem !important;\\r\\n}\\r\\n\\r\\n.large-container {\\r\\n margin:1rem 1rem 1rem 0rem !important;\\r\\n}\\r\\n\\r\\n.field-label {\\r\\n margin: 12px 0 0 3px !important;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZpZWxkLWNvbnRyb2wuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLHVCQUF1QjtBQUN6Qjs7QUFFQTtFQUNFLDhCQUE4QjtBQUNoQzs7QUFFQTtFQUNFLGdCQUFnQjtBQUNsQjs7QUFFQSxvQkFBb0I7O0FBQ3BCO0VBQ0UsbUJBQW1CO0FBQ3JCOztBQUVFO0lBQ0Usa0JBQWtCO0VBQ3BCOztBQUVGO0VBQ0UsV0FBVztFQUNYLFlBQVk7QUFDZDs7QUFDQTtFQUNFLDBDQUEwQztBQUM1Qzs7QUFDQTtJQUNJLHFDQUFxQztBQUN6Qzs7QUFFQTtFQUNFLCtCQUErQjtBQUNqQyIsImZpbGUiOiJmaWVsZC1jb250cm9sLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6Om5nLWRlZXAgLmNvbnRyb2wtbGFuZ3VhZ2UtcGFyZW50ID4gdWwge1xyXG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLmNrLXN0aWNreS1wYW5lbF9fY29udGVudCB7XHJcbiAgbWFyZ2luLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLmNrZSB7XHJcbiAgbWFyZ2luLXRvcDogMTBweDtcclxufVxyXG5cclxuLyogUm91bmRlZCBzbGlkZXJzICovXHJcbi5zbGlkZXIucm91bmQge1xyXG4gIGJvcmRlci1yYWRpdXM6IDM0cHg7XHJcbn1cclxuXHJcbiAgLnNsaWRlci5yb3VuZDpiZWZvcmUge1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gIH1cclxuXHJcbmlucHV0LmxhcmdlLWNoZWNrYm94IHtcclxuICB3aWR0aDogMzBweDtcclxuICBoZWlnaHQ6IDMwcHg7XHJcbn1cclxubGFiZWwubGFyZ2VyIHtcclxuICBwYWRkaW5nOiAuNXJlbSAuNXJlbSAuNXJlbSAxcmVtICFpbXBvcnRhbnQ7XHJcbn1cclxuLmxhcmdlLWNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW46MXJlbSAxcmVtIDFyZW0gMHJlbSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uZmllbGQtbGFiZWwge1xyXG4gIG1hcmdpbjogMTJweCAwIDAgM3B4ICFpbXBvcnRhbnQ7XHJcbn1cclxuIl19 */\";","import { ArticleCategoryStore } from './article-category.store';\r\nimport { Injectable } from '@angular/core';\r\nimport { BaseQuery } from \"../base/base.query\";\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ArticleCategoryQuery extends BaseQuery {\r\n\r\n constructor(store: ArticleCategoryStore) {\r\n super(store);\r\n }\r\n}\r\n","import { Field } from './field.model';\r\nimport { SchemaProperty } from './schema-property.model';\r\nimport { SchemaScript } from './schema-script.model';\r\nimport { Link } from './link.model';\r\n\r\nexport class Schema {\r\n created: Date;\r\n createdBy: string;\r\n category: string;\r\n fields: Field[];\r\n id: string;\r\n isPublished: boolean;\r\n isSingleton: boolean;\r\n lastModified: Date;\r\n lastModifiedBy: string;\r\n name: string;\r\n previousUrls: { [id: string]: string };\r\n properties: SchemaProperty;\r\n scripts: SchemaScript;\r\n version: number;\r\n _links: { [id: string]: Link };\r\n\r\n constructor(current?: any) {\r\n if (current) {\r\n Object.assign(this, current);\r\n } else {\r\n this.properties = new SchemaProperty();\r\n this.scripts = new SchemaScript();\r\n }\r\n }\r\n\r\n}\r\n","import { Content } from \"../../squidex\";\r\n\r\nexport class SiteSettingModel extends Content {\r\n\r\n constructor(current?: Content) {\r\n super(current);\r\n if (current) {\r\n Object.assign(this, current);\r\n }\r\n }\r\n\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { Schema } from '../models/schema.model';\r\nimport { Field } from '../models/field.model';\r\nimport { SchemaScript } from '../models/schema-script.model';\r\nimport { SchemaProperty } from '../models/schema-property.model';\r\n\r\nexport class SchemaService {\r\n public readonly schemaBaseUrl: string;\r\n\r\n constructor(private readonly httpClient: HttpClient, private baseUrl: string, public readonly schemaName: string) {\r\n this.schemaBaseUrl = `${this.baseUrl}/schemas/${this.schemaName}`;\r\n }\r\n\r\n getSchemaDefinition(): Observable {\r\n const url = `${this.schemaBaseUrl}`;\r\n return this.httpClient.get(url) as Observable;\r\n }\r\n\r\n deleteSchema(): Observable {\r\n const url = `${this.schemaBaseUrl}`;\r\n return this.httpClient.delete(url) as Observable;\r\n }\r\n\r\n addField(field: Field): Observable {\r\n const url = `${this.schemaBaseUrl}/fields`;\r\n return this.httpClient.post(url, field) as Observable;\r\n }\r\n\r\n //Add field to array field\r\n addNestedField(parentId: number, fields: Field): Observable {\r\n const url = `${this.schemaBaseUrl}/fields/${parentId}/nested`;\r\n return this.httpClient.post(url, fields) as Observable;\r\n }\r\n\r\n updateField(field: Field, fieldId?: number): Observable {\r\n const url = `${this.schemaBaseUrl}/fields/${(fieldId ? fieldId : field.fieldId)}`;\r\n return this.httpClient.put(url, field) as Observable;\r\n }\r\n\r\n updateNestedField(nestedField: Field, parentFieldId: string, nestedFieldId?: string): Observable {\r\n const url = `${this.schemaBaseUrl}/fields/${parentFieldId}/nested/${nestedFieldId ?\r\n nestedFieldId : nestedField.fieldId}`;\r\n return this.httpClient.put(url, nestedField) as Observable;\r\n }\r\n\r\n reorderFields(fieldIds: number[]): Observable {\r\n const url = `${this.schemaBaseUrl}/fields/ordering`;\r\n return this.httpClient.put(url, { 'fieldIds': fieldIds }) as Observable;\r\n }\r\n\r\n reorderNestedFields(parentId: number, fieldIds: number[]): Observable {\r\n const url = `${this.schemaBaseUrl}/fields/${parentId}/nested/ordering`;\r\n return this.httpClient.put(url, { 'fieldIds': fieldIds }) as Observable;\r\n }\r\n\r\n deleteField(fieldId: number, force: boolean = false): Observable {\r\n const url = `${this.schemaBaseUrl}/fields/${fieldId}`;\r\n return this.httpClient.delete(url) as Observable;\r\n }\r\n\r\n deleteNestedField(parentFieldId: number, fieldId: number): Observable {\r\n const url = `${this.schemaBaseUrl}/fields/${parentFieldId}/nested/${fieldId}`;\r\n return this.httpClient.delete(url) as Observable;\r\n }\r\n\r\n lockField(fieldId: number): Observable {\r\n const url = `${this.schemaBaseUrl}/fields/${fieldId}/lock`;\r\n return this.httpClient.put(url, {}) as Observable;\r\n }\r\n\r\n lockNestedField(parentFieldId: number, fieldId: number): Observable {\r\n const url = `${this.schemaBaseUrl}/fields/${parentFieldId}/nested/${fieldId}/lock`;\r\n return this.httpClient.put(url, {}) as Observable;\r\n }\r\n\r\n hideField(fieldId: number): Observable {\r\n const url = `${this.schemaBaseUrl}/fields/${fieldId}/hide`;\r\n return this.httpClient.put(url, {}) as Observable;\r\n }\r\n\r\n hideNestedField(parentFieldId: number, fieldId: number): Observable {\r\n const url = `${this.schemaBaseUrl}/fields/${parentFieldId}/nested/${fieldId}/hide`;\r\n return this.httpClient.put(url, {}) as Observable;\r\n }\r\n\r\n\r\n showField(fieldId: number): Observable {\r\n const url = `${this.schemaBaseUrl}/fields/${fieldId}/show`;\r\n return this.httpClient.put(url, {}) as Observable;\r\n }\r\n\r\n showNestedField(parentFieldId: number, fieldId: number): Observable {\r\n const url = `${this.schemaBaseUrl}/fields/${parentFieldId}/nested/${fieldId}/show`;\r\n return this.httpClient.put(url, {}) as Observable;\r\n }\r\n\r\n enableField(fieldId: number): Observable {\r\n const url = `${this.schemaBaseUrl}/fields/${fieldId}/enable`;\r\n return this.httpClient.put(url, {}) as Observable;\r\n }\r\n\r\n enableNestedField(parentFieldId: number, fieldId: number): Observable {\r\n const url = `${this.schemaBaseUrl}/fields/${parentFieldId}/nested/${fieldId}/enable`;\r\n return this.httpClient.put(url, {}) as Observable;\r\n }\r\n\r\n disableField(fieldId: number): Observable {\r\n const url = `${this.schemaBaseUrl}/fields/${fieldId}/desable`;\r\n return this.httpClient.put(url, {}) as Observable;\r\n }\r\n\r\n disableNestedField(parentFieldId: number, fieldId: number): Observable {\r\n const url = `${this.schemaBaseUrl}/fields/${parentFieldId}/nested/${fieldId}/desable`;\r\n return this.httpClient.put(url, {}) as Observable;\r\n }\r\n\r\n updateSchemaProperties(schemaProperty: SchemaProperty): Observable {\r\n const url = `${this.schemaBaseUrl}`;\r\n return this.httpClient.put(url, schemaProperty) as Observable;\r\n }\r\n\r\n synchronizeSchema(updatedSchema: Schema): Observable {\r\n const url = `${this.schemaBaseUrl}/sync`;\r\n return this.httpClient.put(url, updatedSchema) as Observable;\r\n }\r\n\r\n updateSchemaCategory(categoryName: string): Observable {\r\n const url = `${this.schemaBaseUrl}/category`;\r\n return this.httpClient.put(url, { name: categoryName }) as Observable;\r\n }\r\n\r\n updatePreviewsUrl(PreviewsUrl: { [id: string]: string }): Observable {\r\n const url = `${this.schemaBaseUrl}/preview-urls`;\r\n return this.httpClient.put(url, PreviewsUrl) as Observable;\r\n }\r\n\r\n updateScripts(scripts: SchemaScript): Observable {\r\n const url = `${this.schemaBaseUrl}/scripts`;\r\n return this.httpClient.put(url, scripts) as Observable;\r\n }\r\n\r\n publishSchema(): Observable {\r\n const url = `${this.schemaBaseUrl}/publish`;\r\n return this.httpClient.put(url, {}) as Observable;\r\n }\r\n\r\n unPublishSchema(): Observable {\r\n const url = `${this.schemaBaseUrl}/unpublish`;\r\n return this.httpClient.put(url, {}) as Observable;\r\n }\r\n}\r\n","import { BaseStore } from '../base/base.store';\r\nimport { IBaseState } from '../base/base.state';\r\n\r\nexport class DynamicContentSchemaStore extends BaseStore {\r\n\r\n constructor(baseState: IBaseState, schemaName: string) {\r\n super(baseState, schemaName);\r\n }\r\n}\r\n","export default \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\\"ftr-logo\\\"\\r\\n \\r\\n V{{goLiveVersion}}\\r\\n
    \\r\\n
    \\r\\n

    \\r\\n 450.905.0717 -\\r\\n orangium@groupearobas.ca\\r\\n

    \\r\\n

    \\r\\n À des fins d'amélioration continue veuillez communiquer avec nous par courriel pour tout problème technique.\\r\\n

    \\r\\n

    Dernière mise à jour: il y a {{lastUpdateDays}} jour(s)

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\";","export class SchemaScript {\r\n query: string;\r\n create: string;\r\n change: string;\r\n delete: string;\r\n update: string;\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable, of } from 'rxjs';\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { tap } from 'rxjs/operators';\r\nimport { ApplicationUserModel, ApplicationUserFacade } from \"../../akita/index\";\r\nimport { PersistenceStorageService } from \"../persistence-storage/persistence-storage.service\";\r\nimport { AppToken } from \"../../../models/app-token\";\r\nimport { AppConfigProvider } from \"../../../app-config.provider\";\r\n\r\nexport class AuthenticationResult {\r\n isAuthenticated: boolean;\r\n isLocked: boolean;\r\n isRegistered: boolean;\r\n roles: Array;\r\n claims: any;\r\n user: any;\r\n message: string;\r\n\r\n error: string;\r\n}\r\n\r\nexport class UpdatePasswordResult {\r\n succeed: boolean;\r\n error: string;\r\n}\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthenticationService {\r\n\r\n private authenticationResult: AuthenticationResult;\r\n accessClaimKey: string = \"client-admin-access\";\r\n\r\n constructor(\r\n private readonly httpClient: HttpClient,\r\n private readonly applicationUserFacade: ApplicationUserFacade,\r\n private readonly persistenceStorageService: PersistenceStorageService,\r\n private readonly appConfigProvider: AppConfigProvider\r\n ) { }\r\n\r\n isAuthorized(): Observable {\r\n if (this.authenticationResult && this.authenticationResult.isAuthenticated) {\r\n return of(this.authenticationResult);\r\n }\r\n\r\n return this.httpClient.post('/api/o/auth/isAuthenticated', {})\r\n .pipe(\r\n tap(v => {\r\n\r\n if (v.isAuthenticated) {\r\n\r\n const claims = v.user.data.claims;\r\n\r\n if (!claims || !claims[this.accessClaimKey]) {\r\n v.user = undefined;\r\n v.isAuthenticated = false;\r\n return;\r\n }\r\n\r\n const hasAccess = claims[this.accessClaimKey] as boolean;\r\n\r\n if (!hasAccess) {\r\n v.user = undefined;\r\n v.isAuthenticated = false;\r\n return;\r\n }\r\n\r\n this.storeUserInfo(v);\r\n\r\n } else {\r\n this.persistenceStorageService.remove(AppToken.APPLICATION_CURRENT_USER);\r\n }\r\n })\r\n );\r\n }\r\n\r\n userIsAllowed(roles: string[]) {\r\n\r\n if (!this.appConfigProvider.authIsEnabled()) {\r\n return true;\r\n }\r\n\r\n if (!this.authenticationResult || !this.authenticationResult.isAuthenticated) {\r\n return false;\r\n }\r\n\r\n if (!roles || roles.length === 0) {\r\n return true;\r\n }\r\n\r\n for (let i = 0; i < roles.length; i++) {\r\n if (this.authenticationResult.roles.indexOf(roles[i].toUpperCase()) > -1) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n userHasRole(role: string): boolean {\r\n if (!this.appConfigProvider.authIsEnabled()) {\r\n return true;\r\n }\r\n\r\n if (!this.authenticationResult.isAuthenticated) {\r\n this.persistenceStorageService.remove(AppToken.APPLICATION_CURRENT_USER);\r\n return false;\r\n }\r\n\r\n return this.authenticationResult.roles.indexOf(role.toUpperCase()) > -1;\r\n }\r\n\r\n getUserRoles(): Array {\r\n if (!this.authenticationResult.isAuthenticated) {\r\n this.persistenceStorageService.remove(AppToken.APPLICATION_CURRENT_USER);\r\n return [];\r\n }\r\n\r\n return this.authenticationResult.roles;\r\n }\r\n\r\n getUserClaim(claim: string): any {\r\n if (!this.authenticationResult.isAuthenticated) {\r\n this.persistenceStorageService.remove(AppToken.APPLICATION_CURRENT_USER);\r\n return null;\r\n }\r\n\r\n return this.authenticationResult.claims[claim];\r\n }\r\n\r\n login(email: string, password: string): Observable {\r\n if (this.authenticationResult && this.authenticationResult.isAuthenticated) {\r\n //check user role/claims : hasAdminAccess\r\n return of(this.authenticationResult);\r\n }\r\n return this.httpClient\r\n .post('/api/o/auth/login', { email: email, password: password });\r\n }\r\n\r\n register(email: string, password: string): Observable {\r\n return this.httpClient\r\n .post('/api/o/auth/register', { email: email, password: password });\r\n }\r\n\r\n changePassword(email: string, password: string): Observable {\r\n return this.httpClient\r\n .post('/api/o/auth/changePassword', { email: email, password: password });\r\n }\r\n\r\n updatePassword(id: string, oldPassword: string, newPassword): Observable {\r\n return this.httpClient\r\n .post('/api/o/auth/updatePassword', { id: id, oldPassword: oldPassword, Password: newPassword });\r\n }\r\n\r\n resetPassword(userName: string, userId: string, code: string, password: string, passwordConfirmation: string): Observable {\r\n return this.httpClient\r\n .post('/api/o/auth/resetPassword', { id: userId, email: userName, code: code, password: password, passwordConfirmation: passwordConfirmation });\r\n }\r\n\r\n forgotPassword(email: string): Observable {\r\n return this.httpClient\r\n .post('/api/o/auth/forgotPassword', { email: email });\r\n }\r\n\r\n private storeUserInfo(result: AuthenticationResult): void {\r\n this.authenticationResult = result;\r\n this.authenticationResult.roles = result.user.data.roles;\r\n this.authenticationResult.claims = result.user.data.claims;\r\n }\r\n\r\n logout(): Observable {\r\n this.authenticationResult = null;\r\n return this.httpClient\r\n .post('/api/o/auth/logout', {}).pipe(\r\n tap(v => {\r\n this.persistenceStorageService.remove(AppToken.APPLICATION_CURRENT_USER);\r\n })\r\n );\r\n }\r\n\r\n getCurrentUser(): Observable {\r\n\r\n if (!this.authenticationResult || !this.authenticationResult.isAuthenticated) {\r\n this.persistenceStorageService.remove(AppToken.APPLICATION_CURRENT_USER);\r\n return of(null);\r\n }\r\n\r\n const user = this.persistenceStorageService.get(AppToken.APPLICATION_CURRENT_USER) as ApplicationUserModel;\r\n\r\n if (user) {\r\n return of(user);\r\n }\r\n\r\n return this.applicationUserFacade.getByCode(this.authenticationResult.user.data.code).pipe(\r\n tap(v => {\r\n this.persistenceStorageService.set(AppToken.APPLICATION_CURRENT_USER, v);\r\n })\r\n ) as Observable;\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Observable, of } from 'rxjs';\r\nimport { map, mergeMap, tap } from 'rxjs/operators';\r\nimport { Content, ContentList, Schema } from '..';\r\nimport { Validation } from '../../../tools';\r\nimport { SquidexDate } from '../extensions/squidex-date.extension';\r\nimport { AppConfigProvider } from '../../../app-config.provider';\r\nimport { Guid } from 'guid-typescript';\r\n\r\nconst cloneDeep = require('lodash.clonedeep');\r\n\r\nexport class ContentService {\r\n private readonly contentBaseUrl: string;\r\n private readonly cacheClearToken: string;\r\n\r\n constructor(private readonly httpClient: HttpClient,\r\n private readonly baseUrl: string,\r\n public readonly schemaName: string,\r\n private readonly appConfigProvider: AppConfigProvider,\r\n ) {\r\n this.contentBaseUrl = `${this.baseUrl}/${schemaName}`;\r\n this.cacheClearToken = \"clearCache=true\";\r\n }\r\n\r\n getAllContent(): Observable {\r\n\r\n const urlParameters: {} = this.filterSoftDelete();\r\n\r\n urlParameters[\"draftMode\"] = true;\r\n\r\n const url = this.contentBaseUrl + \"?q=\" + encodeURIComponent(JSON.stringify(urlParameters));\r\n\r\n return this.httpClient.get(url) as Observable;\r\n }\r\n\r\n getAllLanguages(): Observable {\r\n const languageUrl = this.appConfigProvider.getLanguagePathUrl()\r\n\r\n return this.httpClient.get(languageUrl) as Observable;\r\n }\r\n\r\n\r\n createContent(contentData: any): Observable {\r\n if (contentData) {\r\n const url = `${this.contentBaseUrl}?${this.cacheClearToken}`;\r\n return this.httpClient.post(url, contentData) as Observable;\r\n }\r\n throw (new Error('data is null when trying to create content'));\r\n }\r\n\r\n createContentAndPublish(contentData: any): Observable {\r\n if (contentData) {\r\n const url = `${this.contentBaseUrl}?publish=true&${this.cacheClearToken}`;\r\n return this.httpClient.post(url, contentData) as Observable;\r\n }\r\n throw (new Error('data is null when trying to create and publish content'));\r\n }\r\n\r\n createDraft(contentId: string): Observable {\r\n if (Validation.isValidGuid(contentId)) {\r\n const url = `${this.contentBaseUrl}/${contentId}/draft`;\r\n return this.httpClient.post(url, {}) as Observable;\r\n } else {\r\n throw (new Error('Guid is not valid when trying to delete content'));\r\n }\r\n }\r\n\r\n deleteDraft(contentId: string): Observable {\r\n if (Validation.isValidGuid(contentId)) {\r\n const url = `${this.contentBaseUrl}/${contentId}/draft`;\r\n return this.httpClient.delete(url) as Observable;\r\n } else {\r\n throw (new Error('Guid is not valid when trying to delete content'));\r\n }\r\n }\r\n\r\n softDeleteContent(contentId: string, draftMode: boolean = false): Observable {\r\n if (!Validation.isValidGuid(contentId)) { throw (new Error('Guid is not valid when trying to soft delete content')); }\r\n return this.getContent(contentId, draftMode).pipe(\r\n tap(content => {\r\n var contentSoftDeleteCode = content.data.code.iv + '__' + contentId;\r\n content.data.deleted = { iv: true };\r\n content.data.code = { iv: contentSoftDeleteCode };\r\n content.data.deletedatetime = { iv: `${new SquidexDate(Date.now()).format()}` };\r\n this.updateContent(contentId, content.data).subscribe(c => {\r\n return this.archive(c.id);\r\n })\r\n })\r\n );\r\n }\r\n\r\n deleteContent(contentId: string): Observable {\r\n if (Validation.isValidGuid(contentId)) {\r\n const url = `${this.contentBaseUrl}/${contentId}?${this.cacheClearToken}`;\r\n return this.httpClient.delete(url) as Observable;\r\n } else {\r\n throw (new Error('Guid is not valid when trying to delete content'));\r\n }\r\n }\r\n\r\n private addDraftModeToUrl(url: string, draftMode: boolean) {\r\n if (draftMode) {\r\n if (url.indexOf('?') > 0) {\r\n url += '&draftMode=true ';\r\n } else {\r\n url += '?draftMode=true';\r\n }\r\n }\r\n return url;\r\n }\r\n\r\n private filterSoftDelete() {\r\n const contentObject =\r\n {\r\n filter:\r\n {\r\n and:\r\n [\r\n {\r\n path: \"data.deleted.iv\",\r\n op: \"ne\",\r\n value: true\r\n }\r\n ]\r\n },\r\n sort:\r\n [\r\n {\r\n path: \"data.code.iv\",\r\n order: \"ascending\"\r\n }\r\n ]\r\n }\r\n return contentObject;\r\n }\r\n\r\n getContent(contentId: string, draftMode: boolean = false): Observable {\r\n if (Validation.isValidGuid(contentId)) {\r\n let url = this.addDraftModeToUrl(`${this.contentBaseUrl}/${contentId}`, draftMode);\r\n return this.httpClient.get(url) as Observable;\r\n }\r\n throw (new Error('Guid is not valid when trying to get content'));\r\n }\r\n\r\n findContent(oDataQuery: string, draftMode: boolean = false): Observable {\r\n const url = this.addDraftModeToUrl(`${this.contentBaseUrl}${oDataQuery}`, draftMode);\r\n return this.httpClient.get(url) as Observable;\r\n }\r\n\r\n getLastUpdatedContent(): Observable {\r\n return this.findContent('?$top=1&$orderby=lastModified desc')\r\n .pipe(map(contents => {\r\n if (contents['items']) {\r\n return contents['items'][0];\r\n }\r\n return of(null);\r\n })) as Observable;\r\n }\r\n\r\n getLastPublishedContent(): Observable {\r\n return this.findContent('?$top=1&$orderby=data/publishdatetime/iv desc')\r\n .pipe(map(contents => {\r\n if (contents['items']) {\r\n return contents['items'][0];\r\n }\r\n return of(null);\r\n })) as Observable;\r\n }\r\n\r\n countContent(): Observable {\r\n return this.findContent('?$top=1')\r\n .pipe(map(content => content['total']));\r\n }\r\n\r\n getFirstContent(): Observable {\r\n return this.findContent('?$top=1')\r\n .pipe(map(contents => {\r\n if (contents['items']) {\r\n return contents['items'][0];\r\n }\r\n return of(null);\r\n })) as Observable;\r\n }\r\n\r\n updateContent(contentId: string, contentData: any): Observable {\r\n const url = `${this.contentBaseUrl}/${contentId}?${this.cacheClearToken}`;\r\n return this.httpClient.put(url, contentData) as Observable;\r\n }\r\n\r\n updateContentAndStatus(contentId: string, contentData: any, status: string): Observable {\r\n const url = `${this.contentBaseUrl}/${contentId}?publish=${(status === \"Published\" ? \"true\" : \"false\")}`;\r\n return this.httpClient.put(url, contentData) as Observable;\r\n }\r\n\r\n getAllContentOrdered(orderBy: string = 'id') {\r\n const url = `${this.contentBaseUrl}?$orderby=${orderBy}`;\r\n return this.httpClient.get(url) as Observable;\r\n }\r\n\r\n updateContentStatus(contentId: string, status: string, dueTime: string): Observable {\r\n const url = `${this.contentBaseUrl}/${contentId}/status`;\r\n const statusData: any = {};\r\n statusData['status'] = status;\r\n if (dueTime) {\r\n statusData['dueTime'] = dueTime;\r\n }\r\n return this.httpClient.put(url, statusData) as Observable;\r\n }\r\n\r\n\r\n createLanguageDefinition(contentData: any): Observable {\r\n if (contentData) {\r\n const url = this.appConfigProvider.getSchemaBaseUrl() + '/languages';\r\n return this.httpClient.post(url, contentData) as Observable;\r\n }\r\n throw (new Error('data is null when trying to create content'));\r\n }\r\n\r\n deleteLanguageDefinition(code: string): Observable {\r\n if (code) {\r\n const url = `${this.appConfigProvider.getSchemaBaseUrl()}/languages/${code}`;\r\n return this.httpClient.delete(url) as Observable;\r\n }\r\n throw (new Error('data is null when trying to create content'));\r\n }\r\n\r\n archive(id: string, date: Date = null) {\r\n let formattedDate = null;\r\n\r\n if (date) {\r\n const setDate = new Date(date.getTime() - (date.getTimezoneOffset() * 60000)).toISOString()\r\n formattedDate = setDate.substring(0, 19) + 'Z';\r\n }\r\n\r\n const archivePayload = {\r\n status: \"Archived\",\r\n dueTime: formattedDate\r\n }\r\n this.updateContent(id.toString() + '/status', archivePayload).subscribe(answer => {\r\n return answer as Content;\r\n });\r\n\r\n }\r\n\r\n}\r\n","import { Component, OnInit, Input, Output, EventEmitter, ViewChild, ElementRef } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { BaseComponent } from '../../../../base/base-component.component';\r\nimport { SiteSettingModel, MenuModel, PageModel, MenuItemDto } from '../../../../services';\r\n\r\n@Component({\r\n selector: 'menu-item',\r\n templateUrl: './menu-item.component.html',\r\n styleUrls: ['./menu-item.component.css']\r\n})\r\nexport class MenuItemComponent extends BaseComponent implements OnInit {\r\n\r\n @Input()\r\n siteSettingModel: SiteSettingModel;\r\n\r\n @Input()\r\n menu: MenuModel;\r\n\r\n @Input()\r\n menuItemDtos: Array;\r\n\r\n @Input()\r\n menuItemDto: MenuItemDto;\r\n\r\n @Input()\r\n parentMenuItemDto: MenuItemDto = null;\r\n\r\n @Input()\r\n rootMenuItemDtos: Array = null;\r\n\r\n @Input()\r\n pages: Array = null;\r\n\r\n @Output()\r\n onDrag: EventEmitter = new EventEmitter();\r\n\r\n @ViewChild(\"plusIcon\") plusRef: ElementRef;\r\n @ViewChild(\"minusIcon\") minusRef: ElementRef;\r\n\r\n hasChildren: boolean;\r\n childrenDto: Array;\r\n\r\n constructor(translateService: TranslateService,\r\n private plusIcon: ElementRef,\r\n private minusIcon: ElementRef\r\n ) {\r\n super(translateService);\r\n this.setTranslateContext('MenuItemComponent');\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.childrenDto = this.menuItemDtos.filter(v =>\r\n v.menuItem.data.parentMenuItem.iv[0] === this.menuItemDto.menuItem.id\r\n && this.menuItemDto.menuItem.data.deleted.iv != true\r\n && this.menuItemDto.menuItem.status == 'Published');\r\n\r\n this.hasChildren = this.childrenDto.length > 0;\r\n }\r\n\r\n private getLabel(menuItemDto: MenuItemDto): string {\r\n const page = this.dParser.pullData(this.menuItemDto.menuItem, 'page');\r\n const pageObj = this.pages.find(p => p.id === page);\r\n\r\n let label = this.dParser.pullData(pageObj, 'pageName');\r\n\r\n if (!label) {\r\n label = this.dParser.pullData(menuItemDto.menuItem, 'label', this.getCurrentCulture());\r\n }\r\n\r\n if (!label) {\r\n label = this.dParser.pullData(menuItemDto.menuItem, 'code');\r\n }\r\n\r\n return label;\r\n }\r\n\r\n private getMenuItemPath(): string {\r\n\r\n if (!this.menuItemDto.menuItem.data.page) {\r\n return '';\r\n }\r\n\r\n const page = this.dParser.pullData(this.menuItemDto.menuItem, 'page');\r\n const link = this.dParser.pullData(this.menuItemDto.menuItem, 'link');\r\n const menuCode = this.dParser.pullData(this.menuItemDto.menuItem, 'code');\r\n let path = '/page/';\r\n if (link) {\r\n path = link;\r\n } else if (page && this.pages) {\r\n const pageObj = this.pages.find(p => p.id === page);\r\n if (pageObj) {\r\n const schemaName = this.dParser.pullData(this.menuItemDto.menuItem, 'schemaname');\r\n const parent = schemaName !== '' ? schemaName + '/' : '';\r\n //const pageLink = this.dParser.pullData(pageObj, 'url', this.getCurrentCulture());\r\n const pageCode = this.dParser.pullData(pageObj, 'code');\r\n // TO DO\r\n // Does not work in frenh\r\n // if (pageLink)\r\n // path += parent + pageLink\r\n if (pageCode) {\r\n path += parent + pageCode;\r\n }\r\n } else {\r\n const parentMenu = this.menuItemDtos.find(p => p.menuItem.id === this.menuItemDto.menuItem.data.parentMenuItem.iv[0]);\r\n if (parentMenu) {\r\n const parentPath = this.dParser.pullData(parentMenu.menuItem, 'code');\r\n path += parentPath + '/' + menuCode;\r\n }\r\n }\r\n }\r\n if ((path === '' || path === '/page/') && menuCode) {\r\n path += menuCode;\r\n }\r\n\r\n return path;\r\n }\r\n\r\n collapseMenuItem() {\r\n if (this.menuItemDto.isCurrentPage || this.menuItemDto.isVisible ) {\r\n return 'collapse show';\r\n }\r\n return 'collapse';\r\n }\r\n\r\n isSelected() {\r\n let classes = 'on-hover no-drag pl-1';\r\n if (this.menuItemDto.isCurrentPage) {\r\n classes += ' is-selected';\r\n }\r\n return classes;\r\n }\r\n\r\n // used ngclass\r\n isSelectedIcon() {\r\n let classes = '';\r\n if (this.menuItemDto.isCurrentPage) {\r\n classes = 'text-white';\r\n }\r\n return classes;\r\n }\r\n\r\n // Moved to custom pipe\r\n isSelectedChildren() {\r\n let classes = 'on-hover no-drag pl-1 ';\r\n if (this.menuItemDto.isCurrentPage) {\r\n const selectedChild = this.menuItemDtos.find(m => m.isCurrentPage && this.menuItemDto.menuItem.id === m.menuItem.data.parentMenuItem.iv[0]);\r\n if (!selectedChild) {\r\n classes += ' is-selected';\r\n }\r\n }\r\n return classes;\r\n }\r\n\r\n // Moved to custom pipe\r\n isSelectedIconPlus(menu: MenuItemDto) {\r\n let classes = 'fa fa-plus pb-2 pt-2';\r\n\r\n if (this.menuItemDto.isCurrentPage) {\r\n const selectedChild = this.menuItemDtos.find(m => m.isCurrentPage && this.menuItemDto.menuItem.id === m.menuItem.data.parentMenuItem.iv[0]);\r\n if (!selectedChild) {\r\n classes += 'text-white';\r\n }\r\n }\r\n\r\n let showIcon = ' d-inline';\r\n if (menu.menuItem.id === this.menuItemDto.menuItem.id) {\r\n if (menu.isVisible || menu.isCurrentPage) {\r\n showIcon = ' d-none';\r\n }\r\n }\r\n return classes + showIcon;\r\n }\r\n\r\n // Moved to custom pipe\r\n isSelectedIconMinus(menu) {\r\n let classes = 'fa fa-minus pb-2 pt-2';\r\n\r\n if (this.menuItemDto.isCurrentPage) {\r\n const selectedChild = this.menuItemDtos.find(m => m.isCurrentPage && this.menuItemDto.menuItem.id === m.menuItem.data.parentMenuItem.iv[0]);\r\n if (!selectedChild) {\r\n classes += ' text-white';\r\n }\r\n }\r\n\r\n let showIcon = ' d-inline';\r\n if (menu.menuItem.id === this.menuItemDto.menuItem.id) {\r\n if ((!menu.isVisible && !menu.isCurrentPage)) {\r\n showIcon = ' d-none';\r\n }\r\n }\r\n\r\n return classes + showIcon;\r\n }\r\n\r\n changeSign(elem: HTMLElement) {\r\n elem.classList.remove(\"d-inline\");\r\n elem.classList.add(\"d-none\");\r\n if (elem.classList.contains('fa-minus')) {\r\n this.plusRef.nativeElement.classList.add('d-inline');\r\n this.plusRef.nativeElement.classList.remove('d-none');\r\n if (this.minusRef.nativeElement.classList.contains('text-white')) {\r\n this.plusRef.nativeElement.classList.add('text-white');\r\n this.menuItemDto.isVisible = true;\r\n }\r\n\r\n } else {\r\n this.minusRef.nativeElement.classList.add('d-inline');\r\n this.minusRef.nativeElement.classList.remove('d-none');\r\n if (this.plusRef.nativeElement.classList.contains('text-white')) {\r\n this.minusRef.nativeElement.classList.add('text-white');\r\n this.menuItemDto.isVisible = false;\r\n }\r\n }\r\n }\r\n\r\n // Moved to custom pipe\r\n isLinkDisabled() {\r\n\r\n if (!this.menuItemDto.menuItem.data.page) {\r\n return 'disabled';\r\n } else if (!this.menuItemDto.menuItem.data.page.iv) {\r\n return 'disabled';\r\n }\r\n return '';\r\n }\r\n\r\n openDeleteModal(): void {\r\n this.onDeleteEvent.emit(this.article);\r\n }\r\n\r\n drag(event): void {\r\n this.onDrag.emit(event);\r\n }\r\n }\r\n","import { StoreConfig, EntityStore } from '@datorama/akita';\r\nimport { Injectable } from '@angular/core';\r\nimport { Asset } from '../..';\r\nimport { IAssetState } from './asset.state';\r\n\r\n@Injectable({ providedIn: 'root' })\r\n@StoreConfig({\r\n name: 'asset',\r\n cache: {\r\n ttl: 15000\r\n }\r\n})\r\nexport class AssetStore extends EntityStore {\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { BaseComponent } from '../../../base/base-component.component';\r\nimport { SiteSettingModel, DynamicContentSchemaFactory, MenuModel, MenuItemModel, MenuItemDto, PageFacade, PageModel, MenuItemFacade, DynamicContentSchemaFacade } from '../../../services';\r\nimport { DefaultContents, AppToken } from '../../../models/app-token';\r\nimport { Router} from '@angular/router';\r\n\r\n@Component({\r\n selector: 'menu',\r\n templateUrl: './menu.component.html',\r\n styleUrls: ['./menu.component.css']\r\n})\r\nexport class MenuComponent extends BaseComponent implements OnInit {\r\n\r\n @Input()\r\n siteSettingModel: SiteSettingModel;\r\n\r\n @Input()\r\n menuCode: string;\r\n\r\n menuItemFacade: DynamicContentSchemaFacade;\r\n\r\n menu: MenuModel;\r\n menuItemDtos: Array;\r\n rootMenuItemDtos: Array;\r\n menuTitle = '';\r\n pages: PageModel[];\r\n currentLink: string;\r\n\r\n constructor(\r\n private readonly contentFacadeFactory: DynamicContentSchemaFactory,\r\n private readonly pageFacade: PageFacade,\r\n private readonly router: Router,\r\n translateService: TranslateService\r\n ) {\r\n super(translateService);\r\n this.setTranslateContext('MenuComponent');\r\n }\r\n\r\n ngOnInit() {\r\n const menuFacade = this.contentFacadeFactory.getDynamicContentSchemaFacade(AppToken.MENU_SCHEMA_NAME);\r\n\r\n const sub = menuFacade.getByCode(DefaultContents.DEFAULT_MENU_CODE).subscribe(m => {\r\n this.menu = m;\r\n this.menuTitle = this.dParser.pullData(m, 'name', this.getCurrentCulture());\r\n });\r\n\r\n this.subscriptions.push(sub);\r\n\r\n const urlPart = '/page'\r\n this.currentLink = this.router.url.substring(this.router.url.indexOf(urlPart) + urlPart.length);\r\n\r\n\r\n this.menuItemFacade = this.contentFacadeFactory.getDynamicContentSchemaFacade(AppToken.MENU_ITEM_SCHEMA_NAME);\r\n\r\n const subPage = this.pageFacade.getAll().subscribe(pg => {\r\n\r\n this.pages = pg;\r\n\r\n const sub2 = this.menuItemFacade.getAll().subscribe(mi => {\r\n\r\n const dtoList: MenuItemDto[] = [];\r\n\r\n mi.forEach(m => {\r\n const itemDto = new MenuItemDto();\r\n itemDto.menuItem = m;\r\n const link = this.dParser.pullData(m, 'link', this.getCurrentCulture());\r\n if (link) {\r\n itemDto.isCurrentPage = this.isCurrentMenuLink(m);\r\n } else if (m.data.page) {\r\n const page = this.pages.find(p => p.id === m.data.page.iv);\r\n if (page) {\r\n itemDto.isCurrentPage = this.isCurrentPage(page);\r\n } else {\r\n itemDto.isCurrentPage = this.isCurrentMenuCode(m);\r\n }\r\n }\r\n else {\r\n itemDto.isCurrentPage = this.isCurrentMenuCode(m);\r\n }\r\n\r\n const parentMi = dtoList.find(o => o.menuItem.id === itemDto.menuItem.id);\r\n if (!parentMi) {\r\n dtoList.push(itemDto);\r\n }\r\n\r\n if (itemDto.isCurrentPage && m.data.parentMenuItem.iv.length > 0) {\r\n\r\n this.addParentToList(mi, m, dtoList);\r\n\r\n }\r\n });\r\n\r\n this.menuItemDtos = dtoList.sort((a, b) => {\r\n if (!a.menuItem.data) {\r\n return 1;\r\n }\r\n if (!b.menuItem.data) {\r\n return 1;\r\n }\r\n if (!a.menuItem.data.index) {\r\n return 1;\r\n }\r\n if (!b.menuItem.data.index) {\r\n return 1;\r\n }\r\n return a.menuItem.data.index.iv < b.menuItem.data.index.iv ? -1 : 1\r\n });\r\n\r\n this.rootMenuItemDtos = this.menuItemDtos.filter(v => v.menuItem.data.parentMenuItem.iv.length === 0);\r\n\r\n });\r\n\r\n this.subscriptions.push(sub2);\r\n\r\n });\r\n\r\n this.subscriptions.push(subPage);\r\n }\r\n\r\n addParentToList(mi: MenuItemModel[], m: MenuItemModel, dtoList: MenuItemDto[]) {\r\n const parentMi = mi.find(o => o.id === m.data.parentMenuItem.iv[0]);\r\n if (parentMi) {\r\n let exists = true;\r\n let parent = dtoList.find(o => o.menuItem.id === parentMi.id);\r\n if (!parent) {\r\n parent = new MenuItemDto();\r\n parent.menuItem = parentMi;\r\n exists = false;\r\n }\r\n parent.isCurrentPage = true;\r\n if (exists) {\r\n const index = dtoList.findIndex(o => o.menuItem.id === parentMi.id);\r\n dtoList[index] = parent;\r\n } else {\r\n dtoList.push(parent);\r\n }\r\n this.addParentToList(mi, parentMi, dtoList);\r\n }\r\n }\r\n\r\n isCurrentMenuLink(menu: MenuItemModel) {\r\n const link = this.dParser.pullData(menu, 'link', this.getCurrentCulture());\r\n if (link.replace('/', '') === this.currentLink.replace('/', '')) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n isCurrentMenuCode(menu: MenuItemModel) {\r\n const code = this.dParser.pullData(menu, 'code');\r\n if (code === this.currentLink.substring(this.currentLink.lastIndexOf('/') + 1)) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n isCurrentPage(page: PageModel): boolean {\r\n const link = this.dParser.pullData(page, 'url', this.getCurrentCulture());\r\n const code = this.dParser.pullData(page, 'code');\r\n if (link === this.currentLink) {\r\n return true;\r\n } else if (code.replace('/', '') === this.currentLink.replace('/', '')) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n menuItemeDrop(event) {\r\n const menuItemsIdOrdered: MenuItemDto[] = this.clone(this.rootMenuItemDtos);\r\n\r\n if (event['previousIndex'] === event['currentIndex']) {\r\n return;\r\n }\r\n\r\n let menus = [];\r\n const indexFrom = event['previousIndex'];\r\n const indexTo = event['currentIndex'];\r\n\r\n if (indexFrom === indexTo) {\r\n return;\r\n }\r\n\r\n const isUp = indexFrom > indexTo;\r\n\r\n if (isUp) {\r\n for (let i = 0; i < menuItemsIdOrdered.length; i++) {\r\n if (i < indexTo) {\r\n this.dParser.putData(menuItemsIdOrdered[i].menuItem.data, 'index', i);\r\n menus.push(menuItemsIdOrdered[i]);\r\n } else if (i === indexTo) {\r\n this.dParser.putData(menuItemsIdOrdered[indexFrom].menuItem.data, 'index', i);\r\n this.dParser.putData(menuItemsIdOrdered[indexTo].menuItem.data, 'index', i + 1);\r\n menus.push(menuItemsIdOrdered[indexFrom]);\r\n menus.push(menuItemsIdOrdered[indexTo]);\r\n } else if (i != indexFrom) {\r\n this.dParser.putData(menuItemsIdOrdered[indexTo].menuItem.data, 'index', i);\r\n menus.push(menuItemsIdOrdered[i]);\r\n }\r\n }\r\n } else {\r\n for (let i = menuItemsIdOrdered.length - 1; i >= 0; i--) {\r\n if (i > indexTo) {\r\n this.dParser.putData(menuItemsIdOrdered[i].menuItem.data, 'index', i);\r\n menus.push(menuItemsIdOrdered[i]);\r\n } else if (i === indexTo) {\r\n this.dParser.putData(menuItemsIdOrdered[indexFrom].menuItem.data, 'index', i);\r\n this.dParser.putData(menuItemsIdOrdered[indexTo].menuItem.data, 'index', i - 1);\r\n menus.push(menuItemsIdOrdered[indexFrom]);\r\n menus.push(menuItemsIdOrdered[indexTo]);\r\n } else if (i !== indexFrom) {\r\n this.dParser.putData(menuItemsIdOrdered[indexTo].menuItem.data, 'index', i);\r\n menus.push(menuItemsIdOrdered[i]);\r\n }\r\n }\r\n menus = menus.reverse();\r\n }\r\n\r\n this.rootMenuItemDtos = menus;\r\n\r\n for (let i = 0; i < menus.length; i++) {\r\n const menuItemId = menus[i].menuItem.id;\r\n const sub = this.menuItemFacade.get(menuItemId).subscribe(menuItem => {\r\n const menuItemData = this.clone(menuItem.data);\r\n this.dParser.putData(menuItemData, 'index', i);\r\n this.menuItemFacade.update(menuItemId, menuItemData).subscribe();\r\n this.subscriptions.push(sub);\r\n });\r\n }\r\n }\r\n\r\n menuItemeDropChild(event: any) {\r\n\r\n if (event['previousIndex'] == event['currentIndex']) {\r\n return;\r\n }\r\n\r\n const menuItems: MenuItemDto[] = this.clone(this.menuItemDtos);\r\n\r\n const parentMenuId = event.container.element.nativeElement.id.substring(3);\r\n const menusFromParent: MenuItemDto[] = menuItems.filter(m => m.menuItem.data.parentMenuItem.iv[0] === parentMenuId);\r\n\r\n let menus = [];\r\n\r\n const indexFrom = event['previousIndex'];\r\n const indexTo = event['currentIndex'];\r\n const isUp = indexFrom > indexTo;\r\n\r\n if (indexFrom === indexTo) {\r\n return;\r\n }\r\n\r\n if (isUp) {\r\n for (let i = 0; i < menusFromParent.length; i++) {\r\n if (i < indexTo) {\r\n this.dParser.putData(menusFromParent[i].menuItem.data, 'index', i);\r\n menus.push(menusFromParent[i]);\r\n } else if (i === indexTo) {\r\n this.dParser.putData(menusFromParent[indexFrom].menuItem.data, 'index', i);\r\n this.dParser.putData(menusFromParent[indexTo].menuItem.data, 'index', i + 1);\r\n menus.push(menusFromParent[indexFrom]);\r\n menus.push(menusFromParent[indexTo]);\r\n } else if (i !== indexFrom) {\r\n this.dParser.putData(menusFromParent[indexTo].menuItem.data, 'index', i);\r\n menus.push(menusFromParent[i]);\r\n }\r\n }\r\n } else {\r\n for (let i = menusFromParent.length - 1 ; i >= 0; i--) {\r\n if (i > indexTo) {\r\n this.dParser.putData(menusFromParent[i].menuItem.data, 'index', i);\r\n menus.push(menusFromParent[i]);\r\n } else if (i === indexTo) {\r\n this.dParser.putData(menusFromParent[indexFrom].menuItem.data, 'index', i);\r\n this.dParser.putData(menusFromParent[indexTo].menuItem.data, 'index', i - 1);\r\n menus.push(menusFromParent[indexFrom]);\r\n menus.push(menusFromParent[indexTo]);\r\n } else if (i !== indexFrom) {\r\n this.dParser.putData(menusFromParent[indexTo].menuItem.data, 'index', i);\r\n menus.push(menusFromParent[i]);\r\n }\r\n }\r\n menus = menus.reverse();\r\n }\r\n\r\n menus.forEach(mp => {\r\n const i: number = menuItems.findIndex(m => m.menuItem.id === mp.menuItem.id);\r\n if (i >= 0) {\r\n menuItems[i] = mp;\r\n }\r\n });\r\n\r\n const pIndex: number = menuItems.findIndex(m => m.menuItem.id === menus[indexTo].menuItem.data.parentMenuItem.iv[0]);\r\n menuItems[pIndex].isCurrentPage = true;\r\n\r\n for (let i = 0; i < menus.length; i++) {\r\n const menuItemId = menus[i].menuItem.id;\r\n const sub = this.menuItemFacade.get(menuItemId).subscribe(menuItem => {\r\n const menuItemData = this.clone(menuItem.data);\r\n this.dParser.putData(menuItemData, 'index', i);\r\n const sub2 = this.menuItemFacade.update(menuItemId, menuItemData).subscribe();\r\n this.subscriptions.push(sub2);\r\n });\r\n this.subscriptions.push(sub);\r\n }\r\n\r\n this.menuItemDtos = menuItems.sort((a, b) => a.menuItem.data.index.iv < b.menuItem.data.index.iv ? -1 : 1);\r\n this.rootMenuItemDtos = this.menuItemDtos.filter(v => v.menuItem.data.parentMenuItem.iv.length === 0);\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzaWRlLWJhci5jb21wb25lbnQuY3NzIn0= */\";","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { RouterModule } from '@angular/router';\r\nimport { HeaderMainComponent } from './header/header-main.component';\r\nimport { FooterMainComponent } from './footer/footer-main.component';\r\nimport { TopMenuComponent } from './menus/top-menu/top-menu.component';\r\nimport { LeftMenuComponent } from './menus/left-menu/left-menu.component';\r\nimport { SideBarComponent } from './menus/side-bar/side-bar.component';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { FieldControlComponent } from './field/field-control.component';\r\nimport { FieldReferenceEditorComponent } from './field-reference-editor/field-reference-editor.component';\r\nimport { UploadFieldComponent } from './field/upload-field/upload-field.component';\r\nimport { FieldValidation } from './field-validation/field-validation.component';\r\nimport { DynamicLeftMenuComponent } from './menus/dynamic-left-menu/dynamic-left-menu.component';\r\nimport { MenuHeaderComponent } from './menus/menu-header/menu-header.component';\r\nimport { TabsModule } from 'ngx-bootstrap/tabs';\r\nimport { PaginationModule } from 'ngx-bootstrap/pagination';\r\nimport { BsDatepickerModule } from 'ngx-bootstrap/datepicker';\r\nimport { AccordionModule } from 'ngx-bootstrap/accordion';\r\nimport { AssetsLeftMenuComponent } from './menus/assets-left-menu/assets-left-menu.component';\r\nimport { DragDropModule } from '@angular/cdk/drag-drop';\r\nimport { ContentEditionComponent } from './content/content-edition/content-edition.component';\r\nimport { ContentsListingComponent } from './content/contents-listing/contents-listing.component';\r\nimport { MonacoLiquidEditorModule } from './monaco-liquid-editor/monaco-liquid-editor.module';\r\nimport { NgxFileDropModule } from './ngx-file-drop/ngx-file-drop.module';\r\nimport { CKEditorModule } from 'ckeditor4-angular';\r\nimport { SideLeftBarComponent } from './menus/side-left-bar/side-left-bar.component';\r\nimport { MenuComponent } from './menus/menu/menu.component';\r\nimport { MenuItemComponent } from './menus/menu/menu-item/menu-item.component';\r\nimport { BsDropdownModule } from 'ngx-bootstrap/dropdown';\r\nimport { NgMultiSelectDropDownModule } from 'ng-multiselect-dropdown';\r\nimport { FieldPipe } from './field/pipes/field-pipe';\r\nimport { IsDefaultLanguagePipe } from './pipes/language/is-default-language.pipe';\r\nimport { GetValidationMsgsPipe } from './content/content-edition/pipes/get-validation-msgs.pipe';\r\nimport { GetPublishFormGroupScheduleJobDueTimePipe } from './content/content-edition/pipes/get-publish-form-group-schedule-job-due-time.pipe';\r\nimport { GetLocalizedFieldControlNamePipe } from './field/pipes/get-localized-field-control-name.pipe';\r\nimport { GetValuePipe } from './field/pipes/get-value.pipe';\r\nimport { FormGroupGetPipe } from './field/pipes/form-group-get.pipe';\r\nimport { GetDateValuePipe } from './field/pipes/get-date-value.pipe';\r\nimport { GetDateTimeValuePipe } from './field/pipes/get-date-time-value.pipe';\r\nimport { GetMenuLabelPipe } from './field/pipes/get-menu-label.pipe'\r\nimport { GetMenuSelectedChildrenPipe } from './field/pipes/get-menu-selected-children-pipe'\r\nimport { GetMenuShowPlusIconPipe } from './field/pipes/get-menu-show-plus-icon-pipe'\r\nimport { GetMenuShowMinusIconPipe } from './field/pipes/get-menu-show-minus-icon-pipe'\r\nimport { GetMenuDisabledPipe } from './field/pipes/get-menu-disabled-pipe'\r\nimport { GetCultureNamePipe } from './field/pipes/get-culture-name.pipe'\r\nimport { GetCompareValuePipe } from './field/pipes/get-compare-value.pipe';\r\nimport { GetLanguageCodePipe } from './field/pipes/get-language-code.pipe';\r\nimport { FormGroupGetLocalizedPipe } from './field/pipes/form-group-get-localized.pipe';\r\n\r\n@NgModule(\r\n {\r\n declarations: [\r\n HeaderMainComponent,\r\n FooterMainComponent,\r\n ContentsListingComponent,\r\n ContentEditionComponent,\r\n TopMenuComponent,\r\n LeftMenuComponent,\r\n SideBarComponent,\r\n SideLeftBarComponent,\r\n FieldControlComponent,\r\n FieldReferenceEditorComponent,\r\n UploadFieldComponent,\r\n FieldValidation,\r\n DynamicLeftMenuComponent,\r\n MenuHeaderComponent,\r\n AssetsLeftMenuComponent,\r\n MenuComponent,\r\n MenuItemComponent,\r\n FieldPipe,\r\n IsDefaultLanguagePipe,\r\n GetValidationMsgsPipe,\r\n GetPublishFormGroupScheduleJobDueTimePipe,\r\n GetLocalizedFieldControlNamePipe,\r\n GetValuePipe,\r\n FormGroupGetPipe,\r\n GetDateValuePipe,\r\n GetDateTimeValuePipe,\r\n GetMenuLabelPipe,\r\n GetMenuSelectedChildrenPipe,\r\n GetMenuShowPlusIconPipe,\r\n GetMenuShowMinusIconPipe,\r\n GetMenuDisabledPipe,\r\n GetCultureNamePipe,\r\n GetCompareValuePipe,\r\n GetMenuDisabledPipe,\r\n GetLanguageCodePipe,\r\n FormGroupGetLocalizedPipe\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n RouterModule,\r\n TranslateModule,\r\n BsDatepickerModule.forRoot(),\r\n AccordionModule.forRoot(),\r\n CKEditorModule,\r\n DragDropModule,\r\n NgxFileDropModule,\r\n MonacoLiquidEditorModule,\r\n NgMultiSelectDropDownModule.forRoot(),\r\n BsDropdownModule.forRoot(),\r\n PaginationModule.forRoot(),\r\n TabsModule.forRoot()\r\n ],\r\n exports: [\r\n FooterMainComponent,\r\n HeaderMainComponent,\r\n LeftMenuComponent,\r\n DynamicLeftMenuComponent,\r\n SideBarComponent,\r\n SideLeftBarComponent,\r\n ContentsListingComponent,\r\n ContentEditionComponent,\r\n FieldValidation,\r\n FieldControlComponent,\r\n UploadFieldComponent,\r\n AssetsLeftMenuComponent,\r\n MenuComponent,\r\n MenuItemComponent,\r\n FieldPipe,\r\n IsDefaultLanguagePipe,\r\n GetMenuLabelPipe,\r\n GetMenuSelectedChildrenPipe,\r\n GetMenuShowMinusIconPipe,\r\n GetMenuShowMinusIconPipe,\r\n GetMenuDisabledPipe,\r\n GetCultureNamePipe,\r\n GetCompareValuePipe,\r\n GetLanguageCodePipe,\r\n GetLocalizedFieldControlNamePipe,\r\n FormGroupGetLocalizedPipe,\r\n FormGroupGetPipe\r\n ]\r\n })\r\nexport class SharedModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { BaseQuery } from '../base/base.query';\r\nimport { LayoutStore } from './layout.store';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LayoutQuery extends BaseQuery {\r\n\r\n constructor(store: LayoutStore) {\r\n super(store);\r\n }\r\n\r\n\r\n}\r\n","export { FormValidationsService } from './form-validations/form-validations.service';\r\nexport { PersistenceStorageService } from './persistence-storage/persistence-storage.service';\r\nexport { UiNotificationService } from './ui-notification/ui-notification.service';\r\nexport { AuthenticationService } from \"./auth/authentication.service\";\r\n","import { Injectable } from '@angular/core';\r\nimport { LanguageStore } from './language.store';\r\nimport { LanguageQuery } from './language.query';\r\nimport { BaseFacade } from '../base/base.facade';\r\nimport { LanguageService } from './language.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { DynamicSchemaFactory } from '../dynamic-schema.factory';\r\nimport { LanguageModel } from './language.model';\r\nimport { Observable, from, of } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { ContentList, Content } from '../../squidex';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class LanguageFacade extends BaseFacade {\r\n private static languages: Content[] = [];\r\n languagesLoad: Promise = this.reloadLanguages();\r\n private static lastCheck:Date = new Date();\r\n private static minutesToWait: number = 15;\r\n\r\n\r\n constructor(\r\n languageService: LanguageService,\r\n languageStore: LanguageStore,\r\n languageQuery: LanguageQuery,\r\n dynamicSchemaFacto: DynamicSchemaFactory,\r\n translateService: TranslateService) {\r\n super(languageService,\r\n languageStore,\r\n languageQuery,\r\n dynamicSchemaFacto.getDynamicSchemaFacade('language'),\r\n translateService,\r\n 'language-facade'\r\n );\r\n }\r\n\r\n getByCode(code: string, draftMode: boolean = false): Observable {\r\n\r\n if(LanguageFacade.lastCheck.getTime() + 1000 * 60 * LanguageFacade.minutesToWait < new Date().getTime()) {\r\n this.languagesLoad = this.reloadLanguages();\r\n LanguageFacade.lastCheck = new Date();\r\n }\r\n\r\n if(LanguageFacade.languages.length > 0) {\r\n let language = LanguageFacade.languages.find(r => r.data.code.iv === code);\r\n if(language) {\r\n return of(language);\r\n }\r\n }\r\n\r\n return from(this.languagesLoad.then(r => {\r\n return r.find(r => r.data.code.iv === code);\r\n }));\r\n }\r\n\r\n private reloadLanguages(): Promise {\r\n return this.getService().getAll().pipe(map(r => {\r\n LanguageFacade.languages = r.items;\r\n return r.items;\r\n })).toPromise();\r\n }\r\n\r\n flushLanguages(): void {\r\n LanguageFacade.languages = [];\r\n LanguageFacade.lastCheck = new Date();\r\n this.languagesLoad = this.reloadLanguages();\r\n }\r\n\r\n\r\n\r\n\r\n getLanguages(ids: string[], orderBy: string): Observable {\r\n\r\n if(LanguageFacade.lastCheck.getTime() + 1000 * 60 * LanguageFacade.minutesToWait < new Date().getTime()) {\r\n this.languagesLoad = this.reloadLanguages();\r\n LanguageFacade.lastCheck = new Date();\r\n }\r\n\r\n if(LanguageFacade.languages.length > 0) {\r\n let languages = LanguageFacade.languages.filter(l => ids.includes(l.id));\r\n if(orderBy == \"index\" || orderBy == \"data/index/iv\") {\r\n languages = languages.sort((a: LanguageModel, b:LanguageModel) => {\r\n return a.data.index.iv - b.data.index.iv;\r\n }\r\n );\r\n }\r\n if(languages) {\r\n return of(languages);\r\n }\r\n }\r\n\r\n return from(this.languagesLoad.then(ls => {\r\n return ls.filter(l => ids.includes(l.id));\r\n }));\r\n\r\n }\r\n\r\n getActiveLanguages(): Observable {\r\n\r\n if(LanguageFacade.lastCheck.getTime() + 1000 * 60 * LanguageFacade.minutesToWait < new Date().getTime()) {\r\n this.languagesLoad = this.reloadLanguages();\r\n LanguageFacade.lastCheck = new Date();\r\n }\r\n\r\n if(LanguageFacade.languages.length > 0) {\r\n return of(LanguageFacade.languages\r\n .filter(l => l.data.isActivated.iv == true)\r\n .sort((a: LanguageModel, b:LanguageModel) => {\r\n return a.data.index.iv - b.data.index.iv;\r\n }));\r\n }\r\n\r\n return of([]);\r\n }\r\n\r\n getAllLanguages(): Observable {\r\n // Not language as content but all available squidex language object\r\n // only asked occasionnaly. no need for local storage\r\n return this.getService().getAllLanguages();\r\n }\r\n\r\n\r\n\r\n createLanguageDefinition(code: string): Observable {\r\n\r\n // TODO: manage store\r\n const payload = { 'language': code };\r\n return this.getService().createLanguageDefinition(payload);\r\n }\r\n\r\n\r\n deleteLanguageDefinition(code: string): Observable {\r\n\r\n // TODO: manage store\r\n return this.getService().deleteLanguageDefinition(code);\r\n }\r\n\r\n\r\n}\r\n","import { StoreConfig } from '@datorama/akita';\r\nimport { Injectable } from '@angular/core';\r\nimport { BaseStore } from '../base/base.store';\r\n\r\n@Injectable({ providedIn: 'root' })\r\n@StoreConfig({\r\n name: 'assetdirectory',\r\n cache: {\r\n ttl: 15000\r\n }\r\n})\r\nexport class AssetDirectoryStore extends BaseStore {\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","export default \"
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n
      \\r\\n
    \\r\\n\\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\\"img\\\"\\r\\n \\\"img\\\"\\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n {{language.data.code.iv | getCultureName | async }}\\r\\n \\\"check\\\"\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n {{language.data.code.iv | getCultureName | async }}\\r\\n \\\"check\\\"\\r\\n\\r\\n \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n\\r\\n
    \\r\\n\\r\\n \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n
    \\r\\n \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    {{ tc(\\\"EDITABLE_SECTION\\\") | async | uppercase }}
    \\r\\n \\r\\n {{ t(\\\"OPEN_ALL_SECTION\\\") | async }}\\r\\n \\\"double-open\\\"\\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n
    \\r\\n\\r\\n

    Template : {{this.pageTemplate.data.code.iv}}

    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
    \\r\\n

    {{ tc(\\\"CREATE_CONTENT\\\") | async | uppercase }}

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n

    {{ (this.selectedPageFilterId ? tc(\\\"MODIFIY_FILTER\\\") : tc(\\\"CREATE_FILTER\\\")) | async | uppercase }}

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n

    {{ t(\\\"DELETE\\\") | async }} {{this.title}}

    \\r\\n
    \\r\\n

    \\r\\n {{ t('WARNING_DELETE', {name: this.title} ) | async }}\\r\\n \\r\\n \\r\\n

    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n

    {{ t(\\\"DELETE_DRAFT\\\") | async }}

    \\r\\n
    \\r\\n

    \\r\\n {{ t('WARNING_DELETE', {name: 'draft'}) | async }}\\r\\n \\r\\n \\r\\n

    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n

    {{ t(\\\"DELETE\\\") | async }} {{this.pageContentsDescription[this.selectedPageContentId]['title']}}

    \\r\\n
    \\r\\n

    \\r\\n {{ t('WARNING_DELETE', {name: this.pageContentsDescription[this.selectedPageContentId]['title']} ) | async }}\\r\\n \\r\\n \\r\\n

    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n
    \\r\\n

    {{ t(\\\"DELETE\\\") | async }}

    \\r\\n
    \\r\\n

    \\r\\n {{ t('WARNING_DELETE', 'pageFilter' ) | async }}\\r\\n \\r\\n \\r\\n

    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n

    {{ t(\\\"CLONE\\\") | async }} {{ currentPage.data.pageName.iv }}

    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{language.data.code.iv | getCultureName | async }}\\r\\n \\\"check\\\"\\r\\n\\r\\n \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\";","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'getValue'\r\n})\r\nexport class GetValuePipe implements PipeTransform {\r\n\r\n transform(value: any, language: string): string {\r\n if (!value || !value[language]) {\r\n return '';\r\n }\r\n\r\n return value[language];\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { AssetDirectoryStore } from './asset-directory.store';\r\nimport { AssetDirectoryQuery } from './asset-directory.query';\r\nimport { BaseFacade } from \"../base/base.facade\";\r\nimport { AssetDirectoryService } from './asset-directory.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { DynamicSchemaFactory } from '../dynamic-schema.factory';\r\nimport { Observable } from 'rxjs';\r\nimport { AssetDirectoryModel } from './asset-directory.model';\r\nimport { map, tap } from 'rxjs/operators';\r\nimport { AssetService } from '../../squidex/services/asset.service';\r\nimport { ESchemaContentStatus } from '../base/enum';\r\nimport { Folder } from '../../squidex/models/folder.model';\r\nimport { guid, ID } from '@datorama/akita';\r\nimport { Content, ContentList } from '../../squidex';\r\nimport { FolderList } from '../../squidex/models/folder-list.model';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AssetDirectoryFacade extends BaseFacade {\r\n\r\n constructor(\r\n assetDirectoryService: AssetDirectoryService,\r\n assetDirectoryStore: AssetDirectoryStore,\r\n assetDirectoryQuery: AssetDirectoryQuery,\r\n dynamicSchemaFacto: DynamicSchemaFactory,\r\n translateService: TranslateService,\r\n private readonly directoryService: AssetDirectoryService\r\n ) {\r\n super(assetDirectoryService,\r\n assetDirectoryStore,\r\n assetDirectoryQuery,\r\n dynamicSchemaFacto.getDynamicSchemaFacade('assetdirectory'),\r\n translateService,\r\n 'assetdirectory-facade');\r\n }\r\n\r\n verifyExist(directory: string) {\r\n this.getCount(directory).subscribe(count => {\r\n if (count === 0) {\r\n let dir = new AssetDirectoryModel();\r\n\r\n this.setDataValue(dir.data, 'code', directory.toLowerCase().replace(' ', '_'));\r\n this.setDataValue(dir.data, 'name', directory);\r\n this.putNumber(dir.data, 'index', 1);\r\n\r\n this.createAsPublished(dir.data).subscribe();\r\n }\r\n });\r\n }\r\n\r\n getCount(folder: string): Observable {\r\n let contentObject =\r\n {\r\n path: 'data.name.iv',\r\n op: \"eq\",\r\n value: folder\r\n }\r\n return this.filterCount(contentObject).pipe(map(val => ( val && 0 )));\r\n }\r\n\r\n getByName(name: string): Observable {\r\n\r\n const directoryObject =\r\n {\r\n path: 'data.name.iv',\r\n op: \"eq\",\r\n value: name\r\n }\r\n return this.getFilteredPagination(null, ESchemaContentStatus.Published, directoryObject) as Observable;\r\n }\r\n\r\n\r\n createDirectoryIfNotExist(folderName: string): Observable {\r\n return this.getFolders().subscribe(folders => {\r\n const folderId: string = folders.items.find(item => item.folderName === folderName).id;\r\n if (folderId) {\r\n return folderId;\r\n } else {\r\n const newFolder = new Folder();\r\n newFolder.folderName = folderName\r\n return this.directoryService.createFolder(newFolder).subscribe();\r\n }\r\n }) as unknown as Observable;\r\n }\r\n\r\n create(contentData: any): Observable {\r\n\r\n const folder = new Folder();\r\n folder.folderName = contentData.name.iv;\r\n this.createFolder(folder).subscribe();\r\n\r\n return super.create(contentData);\r\n }\r\n\r\n\r\n update(contentData: any, id: string, parentId: string = null ): Observable {\r\n\r\n const folder = new Folder();\r\n folder.folderName = contentData.name.iv;\r\n folder.id = id;\r\n // this.updateFolder(folder).subscribe();\r\n\r\n return super.update(id, contentData);\r\n }\r\n\r\n remove(id: ID, draftMode: boolean = false): Observable {\r\n this.deleteFolder(id).subscribe();\r\n return super.remove(id, true);\r\n }\r\n\r\n\r\n createFolder(folder: Folder): Observable {\r\n if (folder) {\r\n return this.directoryService.createFolder(folder);\r\n } else {\r\n throw (new Error('data is null when trying to create asset'));\r\n }\r\n }\r\n\r\n updateFolder(folder: Folder): Observable {\r\n if (folder) {\r\n return this.directoryService.updateFolder(folder);\r\n } else {\r\n throw (new Error('data is null when trying to create asset'));\r\n }\r\n }\r\n\r\n\r\n deleteFolder(folderId: ID): Observable {\r\n return this.directoryService.deleteFolder(folderId);\r\n }\r\n\r\n\r\n getFolders(): Observable {\r\n return this.directoryService.getFolders() as Observable; \r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BaseService } from '../base/base.service';\r\nimport { ContentFactory } from '../../squidex';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ApplicationUserService extends BaseService {\r\n constructor(contentFactory: ContentFactory) {\r\n super('application-users', contentFactory);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { MenuItemDto } from '../../../services/akita/menu-item-schema/menu-item.dto';\r\n\r\n@Pipe({\r\n name: 'getMenuDisabled'\r\n})\r\nexport class GetMenuDisabledPipe implements PipeTransform {\r\n\r\n transform(menuDto: MenuItemDto, menuDtos: MenuItemDto[]): string {\r\n\r\n if (!menuDto.menuItem.data.page) {\r\n return 'disabled';\r\n } else if (!menuDto.menuItem.data.page.iv) {\r\n return 'disabled';\r\n }\r\n return '';\r\n\r\n }\r\n}\r\n","export default \"\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n\";","export class ScheduleJob {\r\n dueTime: string;\r\n id: string;\r\n scheduledBy: string;\r\n status: string;\r\n}\r\n","export default \"
    \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n X\\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n |\\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n |\\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n {{ oContent[\\\"data\\\"][\\\"code\\\"][\\\"iv\\\"] }}\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n {{ oContent[\\\"data\\\"][\\\"code\\\"][\\\"iv\\\"] }}\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    paginateSize\\\">\\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n {{ oContent[\\\"data\\\"][\\\"code\\\"][\\\"iv\\\"] }}\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\";","export default \".max-height {\\r\\n max-height: 800px;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImR5bmFtaWMtbGVmdC1tZW51LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxpQkFBaUI7QUFDbkIiLCJmaWxlIjoiZHluYW1pYy1sZWZ0LW1lbnUuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5tYXgtaGVpZ2h0IHtcclxuICBtYXgtaGVpZ2h0OiA4MDBweDtcclxufVxyXG4iXX0= */\";","import { Injectable } from '@angular/core';\r\nimport { BaseQuery } from \"../base/base.query\";\r\nimport { LanguageStore } from \"./language.store\";\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class LanguageQuery extends BaseQuery {\r\n\r\n constructor(store: LanguageStore) {\r\n super(store);\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { AppConfigProvider } from './app-config.provider';\r\nimport { PersistenceStorageService } from \"./services/index\";\r\nimport { AppToken } from \"./models/app-token\";\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html'\r\n})\r\nexport class AppComponent implements OnInit {\r\n\r\n constructor(\r\n private readonly persistenceStorageService: PersistenceStorageService,\r\n private readonly appConfigProvider: AppConfigProvider,\r\n readonly translateService: TranslateService) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.initializeLocalization();\r\n }\r\n\r\n private initializeLocalization(): void {\r\n\r\n const availableLanguages = this.appConfigProvider.getAvailableLanguages();\r\n this.translateService.addLangs(availableLanguages);\r\n\r\n const userLanguage = this.persistenceStorageService.get(AppToken.USER_SAVE_CULTURE_CODE);\r\n\r\n if (userLanguage) {\r\n this.translateService.use(userLanguage).toPromise();\r\n } else {\r\n let defaultLanguage = this.appConfigProvider.getDefaultCulture();\r\n if (defaultLanguage) {\r\n this.translateService.setDefaultLang(defaultLanguage);\r\n this.persistenceStorageService.set(AppToken.USER_SAVE_CULTURE_CODE, defaultLanguage);\r\n this.translateService.use(defaultLanguage).toPromise();\r\n } else {\r\n const browserLang = this.translateService.getBrowserLang();\r\n if (browserLang) {\r\n const l = browserLang.split('-')[0];\r\n defaultLanguage = l.match(/en-CA|fr-CA/) ? browserLang : availableLanguages[0];\r\n this.persistenceStorageService.set(AppToken.USER_SAVE_CULTURE_CODE, defaultLanguage);\r\n this.translateService.use(defaultLanguage).toPromise();\r\n } else {\r\n defaultLanguage = availableLanguages[0];\r\n this.persistenceStorageService.set(AppToken.USER_SAVE_CULTURE_CODE, defaultLanguage);\r\n this.translateService.use(defaultLanguage).toPromise();\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","export default \"@media only screen and (min-width: 1200px) {\\r\\n .container {\\r\\n max-width: 1500px;\\r\\n }\\r\\n}\\r\\n\\r\\n.selected_pagination_size {\\r\\n background-color: green;\\r\\n}\\r\\n\\r\\n.folder-blk div {\\r\\n background-color: #f29100;\\r\\n color: #303130;\\r\\n font-size: 14px;\\r\\n font-weight: 700;\\r\\n padding: 2px 14px 5px 8px;\\r\\n text-transform: uppercase;\\r\\n border-radius: 5px;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .page-item.active .page-link {\\r\\n background-color: #f29100;\\r\\n border-color: #e28100;\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .page-item .page-link {\\r\\n color: #000;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbnRlbnRzLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRTtJQUNFLGlCQUFpQjtFQUNuQjtBQUNGOztBQUVBO0VBQ0UsdUJBQXVCO0FBQ3pCOztBQUNBO0VBQ0UseUJBQXlCO0VBQ3pCLGNBQWM7RUFDZCxlQUFlO0VBQ2YsZ0JBQWdCO0VBQ2hCLHlCQUF5QjtFQUN6Qix5QkFBeUI7RUFDekIsa0JBQWtCO0VBQ2xCLGVBQWU7QUFDakI7O0FBRUE7RUFDRSx5QkFBeUI7RUFDekIscUJBQXFCO0VBQ3JCLFdBQVc7QUFDYjs7QUFFQTtFQUNFLFdBQVc7QUFDYiIsImZpbGUiOiJjb250ZW50cy5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcclxuICAuY29udGFpbmVyIHtcclxuICAgIG1heC13aWR0aDogMTUwMHB4O1xyXG4gIH1cclxufVxyXG5cclxuLnNlbGVjdGVkX3BhZ2luYXRpb25fc2l6ZSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47XHJcbn1cclxuLmZvbGRlci1ibGsgZGl2IHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjI5MTAwO1xyXG4gIGNvbG9yOiAjMzAzMTMwO1xyXG4gIGZvbnQtc2l6ZTogMTRweDtcclxuICBmb250LXdlaWdodDogNzAwO1xyXG4gIHBhZGRpbmc6IDJweCAxNHB4IDVweCA4cHg7XHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLnBhZ2UtaXRlbS5hY3RpdmUgLnBhZ2UtbGluayB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyOTEwMDtcclxuICBib3JkZXItY29sb3I6ICNlMjgxMDA7XHJcbiAgY29sb3I6ICNmZmY7XHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCAucGFnZS1pdGVtIC5wYWdlLWxpbmsge1xyXG4gIGNvbG9yOiAjMDAwO1xyXG59XHJcbiJdfQ== */\";","import { Content } from '../../squidex';\r\n\r\nexport class UserModel extends Content {\r\n constructor(current?: Content) {\r\n if (current) {\r\n super(current);\r\n } else {\r\n super({});\r\n }\r\n }\r\n}\r\n","import { Field } from '../models/field.model';\r\nimport { FieldProperty } from '../models/field-property.model';\r\nimport { AppSchemaCategory, FieldsName } from '../../../models/app-token';\r\n\r\nexport class DefaultFieldService {\r\n\r\n generateFields(category: string): Field[] {\r\n switch (category) {\r\n case AppSchemaCategory.SYSTEM_SCHEMAS: {\r\n return this.systemDefaultFields();\r\n }\r\n case AppSchemaCategory.CONTACT_FORMS: {\r\n return this.contactDefaultFields();\r\n }\r\n case AppSchemaCategory.DEFAULT_SCHEMAS: {\r\n return this.defaultDefaultFields();\r\n }\r\n case AppSchemaCategory.CONTENT_SCHEMAS: {\r\n return this.contentDefaultFields();\r\n }\r\n case AppSchemaCategory.SCHEMA_AS_A_PAGE: {\r\n return this.pageDefaultFields();\r\n }\r\n default: {\r\n return this.generateDefaultFields();\r\n }\r\n }\r\n }\r\n\r\n systemDefaultFields(): Field[] {\r\n return this.generateDefaultFields();\r\n }\r\n contactDefaultFields(): Field[] {\r\n return this.generateDefaultFields();\r\n }\r\n defaultDefaultFields(): Field[] {\r\n return this.generateDefaultFields();\r\n }\r\n contentDefaultFields(): Field[] {\r\n return this.generateDefaultFields();\r\n }\r\n pageDefaultFields(): Field[] {\r\n return this.generateDefaultFields().concat([\r\n this.pageNameField(),\r\n this.pageMetatitle(),\r\n this.pageUrl(),\r\n this.pageMetaDescription(),\r\n this.pageMetaKeyWord(),\r\n this.pageParentId(),\r\n this.pageThumbnail(),\r\n this.pageIsActive(),\r\n this.pagePriority(),\r\n this.pageIsSecure(),\r\n this.pageIsNoIndex()\r\n ]);\r\n }\r\n\r\n\r\n pageIsActive(): Field {\r\n const name = new Field();\r\n name.name = FieldsName.ISACTIVE;\r\n\r\n name.partitioning = 'invariant';\r\n name.properties = new FieldProperty();\r\n name.properties.editor = 'Toggle';\r\n name.properties.isRequired = false;\r\n name.properties.fieldType = 'Boolean';\r\n name.properties.label = 'Is active';\r\n\r\n return name;\r\n }\r\n\r\n pagePriority(): Field {\r\n const name = new Field();\r\n name.name = FieldsName.PRIORITY;\r\n\r\n name.partitioning = 'invariant';\r\n name.properties = new FieldProperty();\r\n name.properties.editor = 'Input';\r\n name.properties.isRequired = false;\r\n name.properties.fieldType = 'String';\r\n name.properties.label = 'Priority';\r\n name.properties.defaultValue = '1';\r\n\r\n return name;\r\n }\r\n\r\n pageIsSecure(): Field {\r\n const name = new Field();\r\n name.name = FieldsName.ISSECURE;\r\n\r\n name.partitioning = 'invariant';\r\n name.properties = new FieldProperty();\r\n name.properties.editor = 'Toggle';\r\n name.properties.isRequired = false;\r\n name.properties.fieldType = 'Boolean';\r\n name.properties.label = 'Is secure';\r\n\r\n return name;\r\n }\r\n\r\n pageIsNoIndex(): Field {\r\n const name = new Field();\r\n name.name = FieldsName.ISNOINDEX;\r\n\r\n name.partitioning = 'invariant';\r\n name.properties = new FieldProperty();\r\n name.properties.editor = 'Toggle';\r\n name.properties.isRequired = false;\r\n name.properties.fieldType = 'Boolean';\r\n name.properties.label = 'not indexed';\r\n\r\n return name;\r\n }\r\n\r\n pageNameField(): Field {\r\n const name = new Field();\r\n name.name = FieldsName.PAGE_NAME;\r\n\r\n name.partitioning = 'invariant';\r\n name.properties = new FieldProperty();\r\n name.properties.editor = 'Input';\r\n name.properties.isRequired = false;\r\n name.properties.fieldType = 'String';\r\n name.properties.label = 'Page Name';\r\n\r\n return name;\r\n }\r\n\r\n pageThumbnail(): Field {\r\n const name = new Field();\r\n name.name = FieldsName.THUMBNAIL;\r\n\r\n name.partitioning = 'invariant';\r\n name.properties = new FieldProperty();\r\n name.properties.fieldType = 'Assets';\r\n name.properties.isRequired = false;\r\n name.properties.label = 'Page Thumbnail';\r\n name.properties.mustBeImage = true;\r\n name.properties.resolveFirst = false;\r\n name.properties.resolveImage = false;\r\n\r\n return name;\r\n }\r\n\r\n pageMetatitle(): Field {\r\n const metatitle = new Field();\r\n metatitle.name = FieldsName.METATITLE;\r\n metatitle.partitioning = 'language';\r\n metatitle.properties = new FieldProperty();\r\n metatitle.properties.editor = 'Input';\r\n metatitle.properties.isRequired = false;\r\n metatitle.properties.fieldType = 'String';\r\n metatitle.properties.label = 'MetaTitle';\r\n\r\n return metatitle;\r\n }\r\n\r\n pageUrl(): Field {\r\n const url = new Field();\r\n url.name = FieldsName.URL;\r\n\r\n url.partitioning = 'language';\r\n url.properties = new FieldProperty();\r\n url.properties.editor = 'Input';\r\n url.properties.isRequired = false;\r\n url.properties.fieldType = 'String';\r\n url.properties.label = 'Url';\r\n url.properties.hints = 'end point of the page';\r\n // url.properties.pattern = \"^(\\/(([a-zA-Z0-9$\\-_.+!*'(),;: @&=]|% [0 - 9a - fA - F]{ 2 })* (\\/([a-zA-Z0-9$\\-_.+!*'(),;:@&=]|%[0-9a-fA-F]{2})*)*)?(\\?([a-zA-Z0-9$\\-_.+!*'(),;:@&=?]|%[0-9a-fA-F]{2})*)?(\\#([a-zA-Z0-9$\\-_.+!*'(),;:@&=?]|%[0-9a-fA-F]{2})*)?)?$\";\r\n\r\n return url;\r\n }\r\n\r\n pageParentId(): Field {\r\n const parentId = new Field();\r\n parentId.name = FieldsName.PARENT_ID;\r\n\r\n parentId.partitioning = 'invariant';\r\n parentId.properties = new FieldProperty();\r\n parentId.properties.editor = 'Input';\r\n parentId.properties.label = 'Parent id';\r\n parentId.properties.isRequired = false;\r\n parentId.properties.fieldType = 'String';\r\n return parentId;\r\n }\r\n\r\n pageMetaDescription(): Field {\r\n const metaDesc = new Field();\r\n metaDesc.name = FieldsName.META_DESCRIPTION;\r\n\r\n metaDesc.partitioning = 'language';\r\n metaDesc.properties = new FieldProperty();\r\n metaDesc.properties.minLength = 0;\r\n metaDesc.properties.maxLength = 160;\r\n metaDesc.properties.editor = 'Input';\r\n metaDesc.properties.isRequired = false;\r\n metaDesc.properties.fieldType = 'String';\r\n metaDesc.properties.label = 'MetaDescription';\r\n\r\n return metaDesc;\r\n }\r\n\r\n pageMetaKeyWord(): Field {\r\n const metaKW = new Field();\r\n metaKW.name = FieldsName.META_KEYWORDS;\r\n\r\n metaKW.partitioning = 'language';\r\n metaKW.properties = new FieldProperty();\r\n metaKW.properties.minLength = 0;\r\n metaKW.properties.maxLength = 160;\r\n metaKW.properties.editor = 'Input';\r\n metaKW.properties.isRequired = false;\r\n metaKW.properties.fieldType = 'String';\r\n metaKW.properties.label = 'MetaKeywords';\r\n\r\n return metaKW;\r\n }\r\n\r\n generateDefaultFields(): Field[] {\r\n return [\r\n this.generateCodeField(),\r\n this.generatePublishField(),\r\n this.generateSoftDeleteField(),\r\n this.generateDeleteDateTimeField(),\r\n this.generateIndexField()\r\n ];\r\n }\r\n\r\n generateCodeField(): Field {\r\n const publishField = new Field();\r\n publishField.name = 'code';\r\n\r\n publishField.partitioning = 'invariant';\r\n publishField.properties = new FieldProperty();\r\n publishField.properties.editor = 'Input';\r\n publishField.properties.isRequired = true;\r\n publishField.properties.isUnique = false;\r\n publishField.properties.label = 'Code';\r\n publishField.properties.fieldType = 'String';\r\n return publishField;\r\n }\r\n\r\n generatePublishField(): Field {\r\n const publishField = new Field();\r\n publishField.name = 'publishdatetime';\r\n\r\n publishField.partitioning = 'invariant';\r\n publishField.properties = new FieldProperty();\r\n publishField.properties.editor = 'DateTime';\r\n publishField.properties.fieldType = 'DateTime';\r\n return publishField;\r\n }\r\n\r\n generateSoftDeleteField(): Field {\r\n const field = new Field();\r\n field.name = 'deleted';\r\n\r\n field.partitioning = 'invariant';\r\n field.properties = new FieldProperty();\r\n field.properties.editor = 'Toggle';\r\n field.properties.defaultValue = 'false';\r\n field.properties.fieldType = 'Boolean';\r\n return field;\r\n }\r\n\r\n generateDeleteDateTimeField(): Field {\r\n const field = new Field();\r\n field.name = 'deletedatetime';\r\n\r\n field.partitioning = 'invariant';\r\n field.properties = new FieldProperty();\r\n field.properties.editor = 'DateTime';\r\n\r\n field.properties.fieldType = 'DateTime';\r\n return field;\r\n }\r\n\r\n generateIndexField(): Field {\r\n const field = new Field();\r\n field.name = 'index';\r\n\r\n field.partitioning = 'invariant';\r\n field.properties = new FieldProperty();\r\n\r\n field.properties.fieldType = 'Number';\r\n return field;\r\n }\r\n\r\n}\r\n","declare var $: any;\r\nimport { Component, Input, OnInit, Output, EventEmitter } from '@angular/core';\r\nimport { ControlContainer, FormGroupDirective, FormGroup } from '@angular/forms';\r\nimport { BaseComponent } from \"../../base/base-component.component\";\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Observable, of } from 'rxjs';\r\nimport { FieldReferenceModel } from \"./FieldReferenceModel.model\";\r\nimport { DynamicContentSchemaFactory, DynamicSchemaFactory, DynamicSchemaFacade, DynamicContentSchemaFacade,\r\n DynamicContentModel\r\n} from \"../../services/akita/index\";\r\nimport { Schema, Content } from \"../../services/squidex/index\";\r\n\r\n@Component({\r\n selector: 'app-field-reference-editor',\r\n templateUrl: 'field-reference-editor.component.html',\r\n styleUrls: ['field-reference-editor.component.css'],\r\n\r\n viewProviders: [\r\n {\r\n provide: ControlContainer,\r\n useExisting: FormGroupDirective\r\n }\r\n ]\r\n})\r\nexport class FieldReferenceEditorComponent extends BaseComponent implements OnInit {\r\n \r\n @Input()\r\n fieldReferenceModel: FieldReferenceModel;\r\n \r\n contentsFacade: DynamicContentSchemaFacade;\r\n\r\n contents: Content[];\r\n\r\n @Output()\r\n updateParent = new EventEmitter();\r\n\r\n\r\n constructor(\r\n translateService: TranslateService,\r\n private readonly dynamicContentSchemaFactory: DynamicContentSchemaFactory) {\r\n super(translateService);\r\n this.setTranslateContext(\"FieldReferenceEditor\");\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n this.contentsFacade = this.dynamicContentSchemaFactory\r\n .getDynamicContentSchemaFacade(this.fieldReferenceModel.schemaDefinition.name);\r\n\r\n const sub = this.contentsFacade.getAll().subscribe(v => {\r\n this.contents = v;\r\n });\r\n\r\n this.subscriptions.push(sub);\r\n }\r\n\r\n onContentChanged(v: any) {\r\n\r\n //if (v.fieldReferenceModel)\r\n // if (!v) return;\r\n //this.contents.push(v.value);\r\n //if (Object.keys(this.fieldReferenceModel.referenceFieldValues).length > 0) {\r\n // if (Array.isArray(v.value)) {\r\n // this.fieldReferenceModel.referenceFieldValues[this.fieldReferenceModel.field.name] =\r\n // this.fieldReferenceModel.referenceFieldValues[this.fieldReferenceModel.field.name].concat(v.value);\r\n // } else {\r\n // this.fieldReferenceModel.referenceFieldValues[this.fieldReferenceModel.field.name] = v.value;\r\n // }\r\n\r\n //} else {\r\n // this.fieldReferenceModel.referenceFieldValues[this.fieldReferenceModel.field.name] = this.fieldReferenceModel.referenceFieldValues[this.fieldReferenceModel.field.name];\r\n //}\r\n\r\n if (this.updateParent) {\r\n this.updateParent.emit(v);\r\n }\r\n }\r\n}\r\n","import { Content } from '../../squidex';\r\nconst cloneDeep = require('lodash.clonedeep');\r\n\r\n\r\nexport class SchemaMetadataModel extends Content {\r\n constructor(current?: Content) {\r\n if (current) {\r\n super(cloneDeep(current));\r\n } else {\r\n super({});\r\n }\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { RolesService } from '../services/roles.service';\r\nimport { AppConfigProvider } from '../../../app-config.provider';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class RolesFactory {\r\n private readonly baseUrl: string;\r\n\r\n constructor(private readonly httpClient: HttpClient, private readonly appConfigProvider: AppConfigProvider) {\r\n this.baseUrl = appConfigProvider.getRolesPathUrl();\r\n\r\n }\r\n getRoleService(): RolesService {\r\n return new RolesService(this.httpClient, this.baseUrl);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BaseService } from '../base/base.service';\r\nimport { SchemasFactory, ContentFactory, Content } from '../../squidex';\r\nimport { Observable } from 'rxjs';\r\nimport { AppToken } from \"../../../models/app-token\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SiteSettingService extends BaseService {\r\n\r\n constructor(contentFactory: ContentFactory) {\r\n super(AppToken.SITE_SETTING_SCHEMA_NAME, contentFactory);\r\n }\r\n\r\n getFirstContent(): Observable {\r\n this.initialize();\r\n return this.contentService.getFirstContent();\r\n }\r\n\r\n}\r\n","export default \".max-height {\\r\\n max-height: 800px;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0cy1sZWZ0LW1lbnUuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGlCQUFpQjtBQUNuQiIsImZpbGUiOiJhc3NldHMtbGVmdC1tZW51LmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIubWF4LWhlaWdodCB7XHJcbiAgbWF4LWhlaWdodDogODAwcHg7XHJcbn1cclxuIl19 */\";","import { Injectable } from '@angular/core';\r\nimport { Overlay, OverlayRef } from '@angular/cdk/overlay';\r\nimport { ComponentPortal } from '@angular/cdk/portal';\r\nimport { SpinnerComponent } from './spinner.component';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class SpinnerService {\r\n\r\n private overlayRef: OverlayRef = null;\r\n constructor(private overlay: Overlay) { }\r\n\r\n public show(isOverlay = true) {\r\n // Returns an OverlayRef (which is a PortalHost)\r\n\r\n if (!this.overlayRef) {\r\n this.overlayRef = this.overlay.create();\r\n }\r\n\r\n // Create ComponentPortal that can be attached to a PortalHost\r\n const spinnerOverlayPortal = new ComponentPortal(SpinnerComponent);\r\n\r\n if (!this.overlayRef.hasAttached()) {\r\n // run in async context for triggering \"tick\", thus avoid ExpressionChangedAfterItHasBeenCheckedError\r\n setTimeout(() => {\r\n const component = this.overlayRef.attach(spinnerOverlayPortal); // Attach ComponentPortal to PortalHost\r\n component.instance.isOverlay = isOverlay;\r\n\r\n });\r\n }\r\n }\r\n\r\n public hide() {\r\n setTimeout(() => {\r\n if (!!this.overlayRef) {\r\n this.overlayRef.detach();\r\n }\r\n }, 250);\r\n }\r\n}\r\n","import { StoreConfig } from '@datorama/akita';\r\nimport { Injectable } from '@angular/core';\r\nimport { BaseStore } from '../base/base.store';\r\n\r\n@Injectable({ providedIn: 'root' })\r\n@StoreConfig({\r\n name: 'template',\r\n cache: {\r\n ttl: 15000\r\n }\r\n})\r\nexport class TemplateStore extends BaseStore {\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","import { Content } from '../../squidex';\r\n\r\nexport class ApplicationUserModel extends Content {\r\n constructor(current?: Content) {\r\n if (current) {\r\n super(current);\r\n } else {\r\n super({});\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BaseService } from \"../base/base.service\";\r\nimport { ContentFactory } from '../../squidex';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class LanguageService extends BaseService {\r\n\r\n constructor(contentFactory: ContentFactory) {\r\n super('language', contentFactory);\r\n }\r\n}\r\n","import { AssetStore } from './asset.store';\r\nimport { Injectable } from '@angular/core';\r\nimport { QueryEntity } from '@datorama/akita';\r\nimport { Asset } from '../../squidex';\r\nimport { IAssetState } from './asset.state';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AssetQuery extends QueryEntity {\r\n\r\n constructor(store: AssetStore) {\r\n super(store);\r\n }\r\n}\r\n","import { Content } from \"../../squidex\";\r\n\r\nexport class ArticleCategoryModel extends Content {\r\n constructor(current?: Content) {\r\n super(current);\r\n }\r\n}\r\n","export default \"\\r\\n\";","import { Injectable } from '@angular/core';\r\nimport { BaseQuery } from '../base/base.query';\r\nimport { SchemaPageStore } from './schema-page.store';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SchemaPageQuery extends BaseQuery {\r\n\r\n constructor(store: SchemaPageStore) {\r\n super(store);\r\n }\r\n\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { StoreConfig } from '@datorama/akita';\r\nimport { BaseStore } from '../base/base.store';\r\nimport { AppToken } from '../../../models/app-token';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n@StoreConfig({\r\n name: AppToken.PAGE_CONTENT_SCHEMA_NAME,\r\n cache: {\r\n ttl: 15000\r\n }\r\n})\r\nexport class PageContentStore extends BaseStore {\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BaseFacade } from '../base/base.facade';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { PageCategoryService } from './page-category.service';\r\nimport { PageCategoryStore } from './page-category.store';\r\nimport { PageCategoryQuery } from './page-category.query';\r\nimport { DynamicSchemaFactory } from '../dynamic-schema.factory';\r\nimport { AppToken } from \"../../../models/app-token\";\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class PageCategoryFacade extends BaseFacade {\r\n\r\n constructor(\r\n pageCategoryService: PageCategoryService,\r\n pageCategoryStore: PageCategoryStore,\r\n pageCategoryQuery: PageCategoryQuery,\r\n dynamicSchemaFactory: DynamicSchemaFactory,\r\n translateService: TranslateService) {\r\n super(pageCategoryService,\r\n pageCategoryStore,\r\n pageCategoryQuery,\r\n dynamicSchemaFactory.getDynamicSchemaFacade(AppToken.PAGE_CATEGORY_SCHEMA_NAME),\r\n translateService,\r\n AppToken.PAGE_CATEGORY_SCHEMA_NAME + '-facade'\r\n );\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { LanguageModel } from '../../../services';\r\nimport { FormGroup, AbstractControl } from \"@angular/forms\";\r\n\r\n@Pipe({\r\n name: 'formGroupGetLocalized'\r\n})\r\nexport class FormGroupGetLocalizedPipe implements PipeTransform {\r\n\r\n transform(formGroup: FormGroup, name: string, language: LanguageModel): AbstractControl {\r\n return formGroup.get(`${name}_${language.data.code.iv}`);\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { StoreConfig } from '@datorama/akita';\r\nimport { BaseStore } from '../base/base.store';\r\nimport { AppToken } from \"../../../models/app-token\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n@StoreConfig({\r\n name: AppToken.SITE_SETTING_SCHEMA_NAME,\r\n cache: {\r\n ttl: 15000\r\n }\r\n})\r\nexport class SiteSettingStore extends BaseStore {\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BaseFacade } from '../base/base.facade';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { DynamicSchemaFactory } from '../dynamic-schema.factory';\r\nimport { AppTokenService } from '../../../app-token.service';\r\nimport { ClaimService } from './claim.service';\r\nimport { ClaimStore } from './claim.store';\r\nimport { ClaimQuery } from './claim.query';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ClaimFacade extends BaseFacade {\r\n\r\n constructor(\r\n private readonly claimService: ClaimService,\r\n claimStore: ClaimStore,\r\n claimQuery: ClaimQuery,\r\n dynamicSchemaFacto: DynamicSchemaFactory,\r\n translateService: TranslateService) {\r\n super(claimService,\r\n claimStore,\r\n claimQuery,\r\n dynamicSchemaFacto.getDynamicSchemaFacade(AppTokenService.CLAIM_SCHEMA_NAME),\r\n translateService,\r\n AppTokenService.CLAIM_SCHEMA_NAME + '-facade'\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BaseService } from '../base/base.service';\r\nimport { SchemasFactory, ContentFactory, Content } from '../../squidex';\r\nimport { Observable } from 'rxjs';\r\nimport { AppToken } from '../../../models/app-token';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SectionService extends BaseService {\r\n\r\n constructor(schemasFactory: SchemasFactory,\r\n contentFactory: ContentFactory) {\r\n super(AppToken.SECTION_SCHEMA_NAME, contentFactory);\r\n }\r\n\r\n getFirstContent(): Observable {\r\n this.initialize();\r\n return this.contentService.getFirstContent();\r\n }\r\n\r\n}\r\n","import { SpinnerModule } from './shared/spinner/spinner.module';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { NgModule, APP_INITIALIZER } from '@angular/core';\r\nimport { CommonModule, DatePipe } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS, HttpClient } from '@angular/common/http';\r\nimport { AppComponent } from './app.component';\r\nimport { JwtInterceptor } from './interceptors/jwt.interceptor';\r\nimport { TranslateModule, TranslateLoader } from '@ngx-translate/core';\r\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\r\nimport { AppConfigProvider } from './app-config.provider';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { ToastrModule } from 'ngx-toastr';\r\nimport { ModalModule } from 'ngx-bootstrap/modal';\r\nimport { TabsModule } from 'ngx-bootstrap/tabs';\r\nimport { registerLocaleData } from '@angular/common';\r\nimport localeFr from '@angular/common/locales/fr-CA';\r\n//import { AppSeeder } from './tools/seeder/app.seeder';\r\nimport { ContentFactory, SchemasFactory } from './services';\r\nimport { interval } from 'rxjs';\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\n//import { APP_BASE_HREF } from '@angular/common';\r\n\r\nregisterLocaleData(localeFr, 'fr-CA');\r\n/*\r\nexport function appSeeding(appConfigProvider: AppConfigProvider, httpClient: HttpClient): Promise {\r\n\r\n const contentFactory = new ContentFactory(httpClient, appConfigProvider);\r\n const schemasFactory = new SchemasFactory(httpClient, appConfigProvider, contentFactory);\r\n const appSeeder = new AppSeeder(schemasFactory, contentFactory, appConfigProvider);\r\n\r\n if (!appConfigProvider.squidexDefaultSchemaIsCreated()) {\r\n\r\n return appSeeder.initializeSquidexApplication()\r\n .toPromise()\r\n .then(s => {\r\n const seconds = interval(30000);\r\n seconds.subscribe();\r\n appSeeder.generateDefaultContents(appConfigProvider.getDefaultCulture());\r\n return true;\r\n });\r\n\r\n } else {\r\n appSeeder.consoleJSONResumeOfCurrentApp();\r\n return Promise.resolve(true);\r\n }\r\n}*/\r\n\r\nexport function appConfigLoader(appConfigProvider: AppConfigProvider, httpClient: HttpClient) {\r\n return () => appConfigProvider.loadConfig().then(() => {\r\n //return appSeeding(appConfigProvider, httpClient).then(() => {\r\n // httpClient.get('api/o/config/seeded').subscribe();\r\n //});\r\n });\r\n}\r\n// AoT requires an exported function for factories\r\nexport function httpLoaderFactory(http: HttpClient) {\r\n return new TranslateHttpLoader(http, './assets/i18n/', '.json');\r\n}\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent\r\n ],\r\n imports: [\r\n BrowserModule.withServerTransition({ appId: 'ng-cli-universal' }),\r\n BrowserAnimationsModule,\r\n ToastrModule.forRoot(),\r\n CommonModule,\r\n ModalModule.forRoot(),\r\n FontAwesomeModule,\r\n HttpClientModule,\r\n FormsModule,\r\n AppRoutingModule,\r\n SpinnerModule,\r\n TranslateModule.forRoot({\r\n loader: {\r\n provide: TranslateLoader,\r\n useFactory: httpLoaderFactory,\r\n deps: [HttpClient]\r\n }\r\n }),\r\n TabsModule.forRoot(),\r\n FontAwesomeModule\r\n ],\r\n providers: [\r\n //{ provide: APP_BASE_HREF, useValue: '/client-admin' },\r\n AppConfigProvider,\r\n {\r\n provide: APP_INITIALIZER,\r\n useFactory: appConfigLoader,\r\n multi: true,\r\n deps: [AppConfigProvider, HttpClient]\r\n },\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: JwtInterceptor,\r\n multi: true,\r\n },\r\n DatePipe\r\n ],\r\n bootstrap: [AppComponent]\r\n})\r\n\r\nexport class AppModule {}\r\n","import { OverlayModule } from '@angular/cdk/overlay';\r\nimport { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SpinnerComponent } from './spinner.component';\r\nimport { SpinnerService } from './spinner.service';\r\n\r\n\r\n\r\n@NgModule({\r\n imports: [CommonModule, OverlayModule],\r\n declarations: [SpinnerComponent],\r\n entryComponents: [SpinnerComponent],\r\n providers: [SpinnerService],\r\n exports: []\r\n})\r\nexport class SpinnerModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { StoreConfig } from '@datorama/akita';\r\nimport { BaseStore } from '../base/base.store';\r\nimport { AppToken } from '../../../models/app-token';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n@StoreConfig({\r\n name: AppToken.SCHEMA_PAGE_SCHEMA_NAME,\r\n cache: {\r\n ttl: 15000\r\n }\r\n})\r\nexport class SchemaPageStore extends BaseStore {\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BaseService } from '../base/base.service';\r\nimport { SchemasFactory, ContentFactory, Content } from '../../squidex';\r\nimport { Observable } from 'rxjs';\r\nimport { AppToken } from '../../../models/app-token';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LayoutService extends BaseService {\r\n\r\n constructor(schemasFactory: SchemasFactory,\r\n contentFactory: ContentFactory) {\r\n super(AppToken.LAYOUT_SCHEMA_NAME, contentFactory);\r\n }\r\n\r\n getFirstContent(): Observable {\r\n this.initialize();\r\n return this.contentService.getFirstContent();\r\n }\r\n\r\n}\r\n","import { Content } from \"../../squidex\";\r\n\r\nexport class ArticleTypeModel extends Content {\r\n constructor(current?: Content) {\r\n super(current);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { LanguageModel } from '../../../services';\r\n\r\n@Pipe({\r\n name: 'isDefaultLanguage'\r\n})\r\nexport class IsDefaultLanguagePipe implements PipeTransform {\r\n\r\n constructor() {\r\n }\r\n\r\n transform(language: LanguageModel): boolean {\r\n return language.data.isdefault && language.data.isdefault.iv === true;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { AbstractControl, FormGroup } from '@angular/forms';\r\n\r\n@Pipe({\r\n name: 'formGroupGet'\r\n})\r\nexport class FormGroupGetPipe implements PipeTransform {\r\n\r\n transform(form: FormGroup, name: string): AbstractControl {\r\n return form.get(name);\r\n }\r\n\r\n}\r\n","declare var $: any;\r\nimport { Component, OnInit, ViewChild, AfterViewInit, TemplateRef, Inject } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport {\r\n PageFacade, UiNotificationService, FormValidationsService, PageModel, Field, SquidexDate, DataParser, SiteSettingFacade, ScheduleJob, LanguageModel, PageContentFacade,\r\n PageContentModel, DynamicSchemaFactory, SchemaMetadataFacade, DynamicContentSchemaFactory, Schema, Content, LayoutModel, TemplateModel, DynamicSchemaModel, TemplateFacade,\r\n AssetFacade, AuthenticationService,\r\n MenuFacade,\r\n MenuItemFacade,\r\n FilterPagination\r\n} from '../../services';\r\nimport { SpinnerService } from '../../shared/spinner/spinner.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { BaseComponent } from '../../base/base-component.component';\r\nimport { AppToken, Statuses, PreviewDevices, AppSchemaCategory, FieldsName } from '../../models/app-token';\r\nimport { FormGroup, FormControl, ValidatorFn, Validators } from '@angular/forms';\r\nimport { TabsetComponent } from 'ngx-bootstrap/tabs';\r\nimport { BsModalRef } from 'ngx-bootstrap/modal/bs-modal-ref.service';\r\nimport { BsDatepickerConfig } from 'ngx-bootstrap/datepicker';\r\nimport { BsModalService } from 'ngx-bootstrap/modal';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { PageTitleService } from '../../services/general/page-title.service';\r\nimport { ESchemaContentStatus } from '../../services/akita/base/enum';\r\nimport { guid } from '@datorama/akita';\r\nimport { SquidexTool, Validation } from '../../tools';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { PageTypeModel } from '../../services/akita/page-type/page-type.model';\r\nimport { PageInternalService } from '../../services/squidex/services/page-internal.service';\r\n\r\nconst cloneDeep = require('lodash.clonedeep');\r\n\r\ndeclare var CKEDITOR: any;\r\n\r\n@Component({\r\n selector: 'page',\r\n templateUrl: './page.component.html',\r\n styleUrls: ['./page.component.scss']\r\n})\r\nexport class PageComponent extends BaseComponent implements OnInit, AfterViewInit {\r\n\r\n\r\n pageForm: FormGroup;\r\n pageHiddenFields: string[] = [];\r\n pagePublishFormGroup: FormGroup;\r\n pageTemplateForm: FormGroup;\r\n\r\n\r\n @ViewChild('propertyTabs', null) propertyTabs: TabsetComponent;\r\n @ViewChild('contentTabs', null) contentTabs: TabsetComponent;\r\n\r\n\r\n modalRef: BsModalRef;\r\n bsConfig: Partial;\r\n\r\n pageSchema: Schema;\r\n lastModifiedDate: string;\r\n title: string;\r\n id: string;\r\n draftMode: boolean = false;\r\n\r\n deleted: boolean = false;\r\n isDraft: boolean = false;\r\n currentStatus: string;\r\n scheduledJob: ScheduleJob;\r\n statusColorClassName: string;\r\n isAllOpen: boolean;\r\n isCollapsed: boolean = true;\r\n collapseControlsEditTemplate: any = {};\r\n currentPage: PageModel;\r\n draftVersionExist: boolean = false;\r\n\r\n previewWidth: number;\r\n previewHeight: number;\r\n previewUrl: any;\r\n testUrl: any;\r\n\r\n dataParser: DataParser;\r\n availableLanguages: LanguageModel[];\r\n\r\n pageContents: PageContentModel[];\r\n pageContentForm: FormGroup;\r\n pageContentHiddenFields: string[] = [];\r\n pageContentFields: Field[];\r\n schemas: Schema[];\r\n contents: Content[];\r\n\r\n pageFilters: Content[];\r\n pageFilterHiddenFields: string[] = [];\r\n pageFilterForm: FormGroup;\r\n pageFilterFields: Field[];\r\n selectedPageFilterId: string;\r\n pathFields: string[] = [];\r\n\r\n pageContentsDescription: any = {};\r\n selectedPageContentId: string;\r\n\r\n userIsOwner: boolean;\r\n userIsDev: boolean;\r\n userIsEditor: boolean;\r\n userIsReadWrite: boolean;\r\n userIsReader: boolean;\r\n\r\n pageLayouts: LayoutModel[];\r\n pageTypes: PageTypeModel[];\r\n pageTemplate: TemplateModel;\r\n pageTemplateSchema: DynamicSchemaModel;\r\n\r\n cloneNgModel:any = {};\r\n showAction:boolean = false;\r\n\r\n thumbnail: string = '';\r\n languageCustomClass: string = 'language-nav-tabs';\r\n\r\n publishDateTime: string = '';\r\n squidexTool: SquidexTool;\r\n\r\n\r\n constructor(\r\n private readonly pageTitleService: PageTitleService,\r\n private readonly pageFacade: PageFacade,\r\n private readonly pageContentFacade: PageContentFacade,\r\n private readonly templateFacade: TemplateFacade,\r\n private readonly menuFacade: MenuFacade,\r\n private readonly menuItemFacade: MenuItemFacade,\r\n private readonly siteSettingFacade: SiteSettingFacade,\r\n private readonly schemaFacadeFactory: DynamicSchemaFactory,\r\n private readonly schemaMetadataFacade: SchemaMetadataFacade, //To be used\r\n private readonly contentFacadeFactory: DynamicContentSchemaFactory,\r\n private readonly uiNotificationService: UiNotificationService,\r\n private readonly spinnerService: SpinnerService,\r\n translateService: TranslateService,\r\n private readonly formValidationService: FormValidationsService,\r\n private readonly route: ActivatedRoute,\r\n private router: Router,\r\n @Inject(DOCUMENT) private readonly document: any,\r\n private readonly modalService: BsModalService,\r\n private readonly sanitizer: DomSanitizer,\r\n private readonly assetFacade: AssetFacade,\r\n private readonly authenticationService: AuthenticationService,\r\n private readonly pageInternalService: PageInternalService\r\n ) {\r\n super(translateService);\r\n this.setTranslateContext('PageComponent');\r\n\r\n this.pageHiddenFields = ['deleted',\r\n 'publishdatetime',\r\n 'deletedatetime',\r\n 'index',\r\n 'thumbnail'\r\n ];\r\n\r\n this.pageContentHiddenFields = ['deleted',\r\n 'publishdatetime',\r\n 'deletedatetime',\r\n 'pageid',\r\n 'index',\r\n 'ismodified']; //to be inited by schemaMetatadat hidden Field\r\n this.pageFilterHiddenFields = ['deleted',\r\n 'publishdatetime',\r\n 'deletedatetime',\r\n 'index',\r\n 'pageid']; //to be inited by schemaMetatadat hidden Field\r\n this.isAllOpen = false;\r\n this.testUrl = 'https://localhost:5002';\r\n }\r\n\r\n ngOnInit() {\r\n this.spinnerService.show();\r\n\r\n this.userIsOwner = this.authenticationService.userHasRole(\"Owner\");\r\n this.userIsDev = this.authenticationService.userHasRole(\"Developer\");\r\n this.userIsEditor = this.authenticationService.userHasRole(\"Editor\");\r\n this.userIsReadWrite = this.authenticationService.userHasRole(\"ReadWrite\");\r\n this.userIsReader = this.authenticationService.userHasRole(\"Reader\");\r\n\r\n this.squidexTool = new SquidexTool();\r\n\r\n //to be removed when siteModel passed in router outlet\r\n const subscription = this.siteSettingFacade.getSiteLanguages().subscribe(languages => {\r\n if (languages.length <= 1) {\r\n this.languageCustomClass = 'hide-nav-tabs';\r\n }\r\n this.dataParser = new DataParser(languages);\r\n\r\n this.availableLanguages = languages.sort((a, b) => a.data.index.iv < b.data.index.iv ? -1 : 1);\r\n\r\n const code = this.route.snapshot.paramMap.get('code');\r\n const draftMode = this.route.snapshot.paramMap.get('draftMode') === 'true';\r\n let isExcuted = false;\r\n this.pageFacade.getSchema().subscribe(pageSchema => {\r\n this.pageSchema = pageSchema;\r\n this.pageFacade.getByCode(code, true).subscribe(page => {\r\n if (page && !isExcuted) {\r\n this.currentPage = page;\r\n if (draftMode) {\r\n this.draftMode = draftMode;\r\n this.publishDateTime = '';\r\n if (this.draftMode && !this.currentPage.newStatus) {\r\n this.createDraft();\r\n } else {\r\n this.initContentsAndForms();\r\n }\r\n } else {\r\n this.publishDateTime = this.dataParser.pullData(this.currentPage, \"publishdatetime\");\r\n this.draftMode = false;\r\n this.initContentsAndForms();\r\n }\r\n isExcuted = true;\r\n } else if (!isExcuted) {\r\n this.pageFacade.translate('T').subscribe(c => {\r\n this.spinnerService.hide();\r\n this.uiNotificationService.error(c.PAGE_LOAD_ERROR, c.FAILED_TITLE);\r\n isExcuted = true;\r\n });\r\n\r\n }\r\n });\r\n });\r\n\r\n this.bsConfig = Object.assign({},\r\n { containerClass: \"theme-orange\", dateInputFormat: AppToken.ISO_DATES_DATE_TIME_UPDATE });\r\n });\r\n\r\n this.subscriptions.push(subscription);\r\n }\r\n\r\n private initContentsAndForms() {\r\n this.initContents(this.currentPage);\r\n this.createForm(this.pageSchema.fields, this.currentPage);\r\n const pageUrl = this.buildUrl(this.dataParser.pullData(this.currentPage, 'url', this.dataParser.currentLanguageCode));\r\n this.setPreviewUrl(pageUrl);\r\n }\r\n\r\n private initContents(pageContent: PageModel) {\r\n this.lastModifiedDate = this.pageFacade.getLastModifiedDate(pageContent);\r\n this.title = this.dataParser.pullData(pageContent, FieldsName.METATITLE, this.dataParser.currentLanguageCode);\r\n this.id = pageContent.id;\r\n if (pageContent.scheduleJob && pageContent.scheduleJob.status === 'Published') {\r\n this.currentStatus = pageContent.scheduleJob.status;\r\n } else if (pageContent.newStatus) {\r\n this.currentStatus = pageContent.newStatus;\r\n } else {\r\n this.currentStatus = pageContent.status;\r\n }\r\n this.scheduledJob = pageContent.scheduleJob;\r\n this.deleted = this.dataParser.pullData(pageContent, FieldsName.DELETED, 'iv');\r\n this.updateStatusAndStatusColor(this.currentStatus);\r\n const pageUrl = `${this.document.location.origin}${this.dataParser.pullData(pageContent, 'url', this.dataParser.currentLanguageCode)}?draftMode=${this.draftMode}`;\r\n this.testUrl = pageUrl;\r\n\r\n let thumbnailField: Field = this.pageSchema.fields.filter(field => field.name === 'thumbnail')[0];\r\n const assets = this.dataParser.pullData(pageContent, thumbnailField.name, 'iv');\r\n this.thumbnail = assets[0];\r\n\r\n //init default preview size\r\n this.updateIframeSrc(this.testUrl, PreviewDevices.DESKTOP.name);\r\n\r\n //check if draft version exist\r\n this.isExistDraftVersion();\r\n\r\n this.tc().subscribe(v => {\r\n let title = '';\r\n if (this.title && this.title !== '') {\r\n title = v['NAME'] + this.title;\r\n }\r\n this.pageTitleService.setTitle(title);\r\n this.pageTitleService.key = 'PAGE.NAME';\r\n });\r\n\r\n //init page sections\r\n this.pageContentFacade.getPageContentsByPageId(this.id, 'data/index/iv', this.draftMode).subscribe(pageContents => {\r\n this.pageContents = pageContents;\r\n });\r\n\r\n //init all schema\r\n this.schemaFacadeFactory.getSchemasMetadataByCategory(AppSchemaCategory.CONTENT_SCHEMAS).subscribe(schemas => {\r\n this.schemas = schemas.filter(sch => sch.name.length <= AppToken.SCHEMA_NAME_MAX_LEGTH);\r\n });\r\n\r\n //init pageLayouys\r\n this.contentFacadeFactory.getDynamicContentSchemaFacade(AppToken.LAYOUT_SCHEMA_NAME)\r\n .getTopX(1000, undefined, undefined, ESchemaContentStatus.Published).subscribe(layouts => {\r\n this.pageLayouts = layouts;\r\n });\r\n\r\n //init pageTypes\r\n this.contentFacadeFactory.getDynamicContentSchemaFacade(AppToken.PAGE_TYPE_SCHEMA_NAME)\r\n .getTopX(1000, undefined, undefined, ESchemaContentStatus.Published).subscribe(pageTypes => {\r\n this.pageTypes = pageTypes;\r\n });\r\n\r\n this.contentFacadeFactory.getDynamicContentSchemaFacade(AppToken.PAGE_FILTER_SCHEMA_NAME)\r\n .getByParentId(this.id, FieldsName.PAGE_ID, 'id', this.draftMode).subscribe(pageFilters => {\r\n this.pageFilters = pageFilters;\r\n\r\n this.pageFilters.forEach(pageFilter => {\r\n const data: any = {\r\n isCollapsed: true,\r\n };\r\n this.collapseControlsEditTemplate[pageFilter.id] = data;\r\n });\r\n\r\n });\r\n\r\n //init template\r\n const templateId = this.dataParser.pullData(pageContent, FieldsName.TEMPLATE)[0];\r\n if (Validation.isValidGuid(templateId)) {\r\n\r\n this.templateFacade.get(templateId, this.draftMode).subscribe(template => {\r\n this.pageTemplate = template;\r\n if (this.pageTemplate) {\r\n this.schemaFacadeFactory.getDynamicSchemaFacade(AppToken.TEMPLATE_SCHEMA_NAME).getSchemaDefinition()\r\n .subscribe(templateSchema => {\r\n this.pageTemplateSchema = templateSchema;\r\n this.pageTemplateForm = new FormGroup(this.generateFormGroup(null, templateSchema.fields, [''], this.pageTemplate, this.draftMode));\r\n });\r\n }\r\n });\r\n } else {\r\n this.pageTemplate = null;\r\n this.pageTemplateForm = null;\r\n this.pageTemplateSchema = null;\r\n }\r\n }\r\n\r\n private isDirty() {\r\n return (this.pageForm || this.pageTemplateForm);\r\n }\r\n\r\n toogleShowAction(){\r\n this.showAction = !this.showAction;\r\n }\r\n\r\n\r\n private updatePageTemplateContent() {\r\n let tempTemplatePage = cloneDeep(this.pageTemplate);\r\n\r\n if (this.isDirty()) {\r\n const newData = this.dataParser.setContent(tempTemplatePage, this.pageTemplateSchema.fields.find(f => f.name === FieldsName.BODY) as Field, this.pageTemplateForm.get(FieldsName.BODY).value);\r\n this.templateFacade.update(tempTemplatePage.id, newData)\r\n .subscribe(v => {\r\n if (v) {\r\n this.lastModifiedDate = this.pageFacade.getLastModifiedDate(v);\r\n this.templateFacade.translate('T').subscribe(c => {\r\n //this.uiNotificationService.success(c.UPDATE_SUCCESS, c.SUCCESS_TITLE);\r\n });\r\n }\r\n });\r\n }\r\n }\r\n\r\n openCloneModal(cloneTemplate) {\r\n this.modalRef = this.modalService.show(cloneTemplate);\r\n }\r\n\r\n confirmClone(){\r\n let name = this.cloneNgModel['name'];\r\n\r\n if(Validation.isNullEmptyOrWhiteSpaces(name)){\r\n this.uiNotificationService.error('Name is required', 'Error');\r\n return;\r\n }\r\n\r\n let urls = {};\r\n\r\n this.availableLanguages.forEach(lang => {\r\n let langCode = lang.data.code.iv;\r\n let url = this.cloneNgModel[`url_${langCode}`];\r\n\r\n if(Validation.isNullEmptyOrWhiteSpaces(url)){\r\n this.uiNotificationService.error(`Url ${langCode} is required`, 'Error');\r\n return;\r\n }\r\n\r\n urls[langCode] = url;\r\n });\r\n\r\n //TODO: validate urls are unique and begin with /\r\n this.pageInternalService.clonePage(this.currentPage.id, name, urls, false).subscribe(callback => {\r\n this.modalRef.hide();\r\n this.pageSelected = null;\r\n if(callback.isSuccess()) {\r\n this.router.navigateByUrl(`/page/${callback.content.data.code.iv}`)\r\n return;\r\n }\r\n\r\n this.uiNotificationService.error(callback.getMessage(), 'Error');\r\n });\r\n }\r\n\r\n createDraft() {\r\n this.pageFacade.createDraft(this.currentPage.id).subscribe(p => {\r\n this.currentPage = p;\r\n this.pageFacade.removeStore(p.id);\r\n this.initContentsAndForms();\r\n\r\n //create draft for template\r\n this.templateFacade.createDraft(this.pageTemplate.id).subscribe();\r\n\r\n //create draft for page section\r\n this.pageContents.forEach(pc => {\r\n this.pageContentFacade.createDraft(pc.id).subscribe();\r\n });\r\n\r\n //create draft for page filter\r\n this.pageFilters.forEach(pf => {\r\n this.contentFacadeFactory.getDynamicContentSchemaFacade(AppToken.PAGE_FILTER_SCHEMA_NAME).createDraft(pf.id).subscribe();\r\n });\r\n });\r\n }\r\n\r\n deleteDraft() {\r\n this.pageFacade.removeDraft(this.currentPage.id).subscribe(() => {\r\n this.isExistDraftVersion();\r\n this.pageFacade.translate('T').subscribe(c => {\r\n this.uiNotificationService.success(c.DELETE_SUCCESS, c.SUCCESS_TITLE);\r\n this.reloadPage(false);\r\n });\r\n });\r\n\r\n this.templateFacade.removeDraft(this.pageTemplate.id).subscribe();\r\n\r\n this.pageContents.forEach(pc => {\r\n this.pageContentFacade.removeDraft(pc.id).subscribe();\r\n });\r\n\r\n this.pageFilters.forEach(pf => {\r\n this.contentFacadeFactory.getDynamicContentSchemaFacade(AppToken.PAGE_FILTER_SCHEMA_NAME).removeDraft(pf.id).subscribe();\r\n });\r\n }\r\n\r\n private isExistDraftVersion() {\r\n this.pageFacade.get(this.currentPage.id, true).subscribe(p => {\r\n if (p.newStatus && p.scheduleJob) {\r\n this.draftVersionExist = true;\r\n this.draftMode = true;\r\n } else {\r\n this.draftVersionExist = false;\r\n }\r\n });\r\n }\r\n\r\n updatePage() {\r\n\r\n if (!this.pageForm.valid || !this.isDirty()) {\r\n this.pageForm.markAllAsTouched();\r\n return;\r\n }\r\n\r\n const values = this.pageForm.value;\r\n\r\n let newContentData: any = {};\r\n let pageFields = this.pageSchema.fields.filter(field => !this.pageHiddenFields.includes(field.name));\r\n\r\n for (let field of pageFields) {\r\n if (field.partitioning === 'language') {\r\n for (const language of this.availableLanguages.map(languages => languages.data.code.iv)) {\r\n if (field.properties.editor === 'TextArea' && typeof CKEDITOR !== \"undefined\" && CKEDITOR && CKEDITOR.instances) {\r\n for (const instance in CKEDITOR.instances) {\r\n let textLang: string = CKEDITOR.instances[instance].element.$.nodeName\r\n if (textLang.toLowerCase() === (field.name).toLowerCase()) {\r\n newContentData = this.dataParser.setData(newContentData, field, CKEDITOR.instances[instance].getData(), language);\r\n }\r\n }\r\n } else {\r\n newContentData = this.dataParser.setData(newContentData, field, values[field.name + '_' + language], language);\r\n }\r\n }\r\n } else {\r\n newContentData = this.dataParser.setData(newContentData, field, values[field.name]);\r\n }\r\n }\r\n\r\n const urls = new Array();\r\n for (const language of this.availableLanguages.map(languages => languages.data.code.iv)) {\r\n urls.push(newContentData['url'][language]);\r\n }\r\n\r\n const urlsDistinct = [...new Set(urls)];\r\n if (urls.length > urlsDistinct.length) {\r\n this.pageFacade.translate('T').subscribe(c => {\r\n this.uiNotificationService.error(c.URL_NOT_DISTINCT, c.FAILED_TITLE, 10000);\r\n });\r\n return;\r\n }\r\n let startWithSlash: boolean = true;\r\n urls.forEach(url => {\r\n if (!url.trim().startsWith('/')) {\r\n startWithSlash = false;\r\n return;\r\n }\r\n })\r\n\r\n if (!startWithSlash) {\r\n this.pageFacade.translate('T').subscribe(c => {\r\n this.uiNotificationService.error(c.URL_START_SLASH, c.FAILED_TITLE, 10000);\r\n });\r\n return false;\r\n }\r\n\r\n const allVersionParm = new FilterPagination();\r\n allVersionParm.from = 0;\r\n allVersionParm.to = 1;\r\n allVersionParm.filter = '';\r\n allVersionParm.orderBy = 'lastModified descending';\r\n\r\n let filterList: object[] = new Array();\r\n for (const lg of this.availableLanguages.map(languages => languages.data.code.iv)) {\r\n\r\n for (const language of this.availableLanguages.map(languages => languages.data.code.iv)) {\r\n let data: any = {};\r\n data = {\r\n path: `data.url.${lg}`,\r\n op: 'eq',\r\n value: newContentData['url'][language]\r\n };\r\n\r\n filterList.push(data);\r\n }\r\n }\r\n\r\n let orFilter: any = {};\r\n orFilter = {\r\n or: filterList\r\n }\r\n\r\n this.pageFacade.validateUrl(allVersionParm, ESchemaContentStatus.All, orFilter, this.currentPage).subscribe(total => {\r\n if (total > 0) {\r\n this.pageFacade.translate('T').subscribe(c => {\r\n this.uiNotificationService.error(c.URL_TAKEN, c.FAILED_TITLE, 10000);\r\n });\r\n return;\r\n }\r\n\r\n\r\n this.spinnerService.show();\r\n this.pageFacade\r\n .update(this.id, newContentData)\r\n .subscribe(contentBack => {\r\n const pubDate = this.pageForm.value.pagePublishFormGroup.scheduleJob.dueTime\r\n if (pubDate !== '' && this.pagePublishFormGroup.touched) {\r\n this.publish();\r\n }\r\n this.lastModifiedDate = this.pageFacade.getLastModifiedDate(contentBack);\r\n if (contentBack.data.pageName.iv !== '' && contentBack.data.url[this.dataParser.currentLanguageCode] !== '' && this.pageTemplateForm.dirty && !contentBack.data.issecure.iv) {\r\n this.pageCapture(contentBack);\r\n } else {\r\n this.spinnerService.hide();\r\n this.pageFacade.translate('T').subscribe(c => {\r\n this.uiNotificationService.success(c.UPDATE_SUCCESS, c.SUCCESS_TITLE);\r\n });\r\n }\r\n\r\n });\r\n this.updatePageTemplateContent();\r\n });\r\n }\r\n\r\n switchModeDratLive(event) {\r\n this.draftMode = event.srcElement.checked;\r\n\r\n this.pageFacade.get(this.currentPage.id, this.draftMode).subscribe(page => {\r\n this.currentPage = page;\r\n\r\n if (this.draftMode) {\r\n if (this.draftMode && !this.currentPage.newStatus) {\r\n this.createDraft();\r\n } else {\r\n this.initContentsAndForms();\r\n }\r\n } else {\r\n this.draftMode = false;\r\n this.initContentsAndForms();\r\n }\r\n });\r\n }\r\n\r\n reloadPage(draftMode: boolean) {\r\n this.draftMode = draftMode;\r\n this.spinnerService.show();\r\n this.pageFacade.get(this.currentPage.id, this.draftMode).subscribe(page => {\r\n this.currentPage = page;\r\n\r\n if (this.draftMode) {\r\n if (this.draftMode) {\r\n this.createDraft();\r\n } else {\r\n this.initContentsAndForms();\r\n }\r\n } else {\r\n this.draftMode = false;\r\n this.initContentsAndForms();\r\n }\r\n });\r\n }\r\n\r\n private createForm(schemaFields: Field[], pageContent: PageModel): void {\r\n\r\n let tempPageContent = cloneDeep(pageContent);\r\n\r\n const formGroup: any = {};\r\n\r\n for (let i = 0; i < schemaFields.length; i++) {\r\n\r\n const field = schemaFields[i];\r\n\r\n const fieldProperties = field.properties;\r\n\r\n if (field.partitioning === 'language') {\r\n\r\n for (const language of this.availableLanguages.map(languages => languages.data.code.iv)) {\r\n const fieldName = `${field.name}_${language}`;\r\n\r\n const fieldValue = this.dataParser.getData(tempPageContent, field, language);\r\n\r\n const control = new FormControl(fieldValue);\r\n\r\n const isRequired = fieldProperties.isRequired;\r\n\r\n let validators: ValidatorFn[] = [];\r\n\r\n if (isRequired) {\r\n validators.push(Validators.required);\r\n }\r\n\r\n if (fieldProperties.maxLength) {\r\n let maxLengthValidator = Validators.maxLength(fieldProperties.maxLength);\r\n validators.push(maxLengthValidator);\r\n }\r\n\r\n if (fieldProperties.minLength) {\r\n let minLengthValidator = Validators.minLength(fieldProperties.minLength);\r\n validators.push(minLengthValidator);\r\n }\r\n\r\n //custom pattern\r\n if (fieldProperties.pattern) {\r\n validators = validators.concat(this.formValidationService.getValidators(control, fieldProperties.pattern));\r\n }\r\n\r\n control.setValidators(validators);\r\n\r\n formGroup[fieldName] = control;\r\n }\r\n } else {\r\n\r\n const fieldValue = this.dataParser.getData(tempPageContent, field, 'iv');\r\n\r\n const control = new FormControl(fieldValue);\r\n\r\n const isRequired = fieldProperties.isRequired;\r\n\r\n let validators: ValidatorFn[] = [];\r\n\r\n if (isRequired) {\r\n validators.push(Validators.required);\r\n }\r\n\r\n if (fieldProperties.maxLength) {\r\n let maxLengthValidator = Validators.maxLength(fieldProperties.maxLength);\r\n validators.push(maxLengthValidator);\r\n }\r\n\r\n if (fieldProperties.minLength) {\r\n let minLengthValidator = Validators.minLength(fieldProperties.minLength);\r\n validators.push(minLengthValidator);\r\n }\r\n\r\n //custom pattern\r\n if (fieldProperties.pattern) {\r\n validators = validators.concat(this.formValidationService.getValidators(control, fieldProperties.pattern));\r\n }\r\n\r\n control.setValidators(validators);\r\n\r\n formGroup[field.name] = control;\r\n }\r\n\r\n }\r\n //end loop\r\n this.pageForm = new FormGroup(formGroup);\r\n\r\n this.createMetaDataFormGroup(tempPageContent);\r\n this.pageForm.addControl('pagePublishFormGroup', this.pagePublishFormGroup);\r\n this.spinnerService.hide();\r\n }\r\n\r\n private createGenericFormControl(field: string, content: any): FormControl {\r\n\r\n const fieldValue = content[field];\r\n\r\n const control = new FormControl(fieldValue);\r\n\r\n const isRequired = false;\r\n\r\n let validators: ValidatorFn[] = [];\r\n\r\n if (isRequired) {\r\n validators.push(Validators.required);\r\n }\r\n\r\n control.setValidators(validators);\r\n\r\n return control;\r\n }\r\n\r\n private createMetaDataFormGroup(pageContent: PageModel): void {\r\n\r\n let tempPageContent: PageModel = cloneDeep(pageContent);\r\n\r\n const fields = Object.keys(tempPageContent);\r\n\r\n let metaDataFormGroup: any = {};\r\n let scheduledJob = false;\r\n\r\n for (let i = 0; i < fields.length; i++) {\r\n const field = fields[i];\r\n\r\n if (field === 'scheduleJob') {\r\n scheduledJob = true;\r\n let fieldsValue = tempPageContent.scheduleJob;\r\n this.publishDateTime = this.getPublishDate(tempPageContent);\r\n\r\n if (!fieldsValue) {\r\n fieldsValue = { id: null, dueTime: null, scheduledBy: null, status: null };\r\n if (this.publishDateTime && this.getPageStatus(tempPageContent) === 'Published') {\r\n fieldsValue.dueTime = this.publishDateTime;\r\n }\r\n } else {\r\n fieldsValue.dueTime = this.publishDateTime;\r\n }\r\n\r\n const fs = Object.keys(fieldsValue);\r\n\r\n let scheduleJobFromGroup: any = {};\r\n\r\n for (let i = 0; i < fs.length; i++) {\r\n scheduleJobFromGroup[fs[i]] = this.createGenericFormControl(fs[i], fieldsValue);\r\n }\r\n\r\n metaDataFormGroup[field] = new FormGroup(scheduleJobFromGroup);\r\n } else {\r\n metaDataFormGroup[field] = this.createGenericFormControl(fields[i], tempPageContent);\r\n }\r\n }\r\n\r\n if (!scheduledJob) {\r\n this.publishDateTime = this.getPublishDate(tempPageContent);\r\n\r\n let fieldsValue = { id: null, dueTime: null, scheduledBy: null, status: null };\r\n\r\n if (tempPageContent.newStatus) {\r\n fieldsValue.status = tempPageContent.newStatus;\r\n this.currentStatus = tempPageContent.newStatus;\r\n this.draftMode = true;\r\n\r\n } else {\r\n if (tempPageContent.data.publishdatetime) {\r\n fieldsValue.dueTime = this.publishDateTime;\r\n }\r\n fieldsValue.status = tempPageContent.status;\r\n this.currentStatus = tempPageContent.status;\r\n this.draftMode = false;\r\n }\r\n\r\n const fs = Object.keys(fieldsValue);\r\n const scheduleJobFromGroup: any = {};\r\n\r\n for (let i = 0; i < fs.length; i++) {\r\n scheduleJobFromGroup[fs[i]] = this.createGenericFormControl(fs[i], fieldsValue);\r\n }\r\n metaDataFormGroup['scheduleJob'] = new FormGroup(scheduleJobFromGroup);\r\n }\r\n this.pagePublishFormGroup = new FormGroup(metaDataFormGroup);\r\n }\r\n\r\n getPageStatus(page: PageModel) {\r\n if (page.newStatus && page.newStatus === 'Draft')\r\n return 'Draft';\r\n else if (page.status === 'Draft')\r\n return 'Draft';\r\n else\r\n return 'Published';\r\n\r\n }\r\n\r\n getPublishDate(content: PageModel) {\r\n let dt = '';\r\n\r\n if (content.scheduleJob) {\r\n return this.squidexTool.utcToDateString(content.scheduleJob.dueTime);\r\n } else {\r\n return this.squidexTool.utcToDateString(this.dataParser.pullData(content, \"publishdatetime\"));\r\n }\r\n }\r\n\r\n publish() {\r\n let publishStatus = Statuses.PUBLISHED.name;\r\n if (publishStatus === this.currentStatus) {\r\n this.notify(this.currentStatus, false);\r\n return false;\r\n }\r\n\r\n switch (publishStatus) {\r\n case Statuses.PUBLISHED.name:\r\n let dueTime = this.pageForm.value.pagePublishFormGroup.scheduleJob.dueTime;\r\n let publishDate: string;\r\n if (!dueTime) {\r\n dueTime = null;\r\n publishDate = null;\r\n } else {\r\n const currentDate = new Date(Date.now());\r\n const dt = this.pageForm.value.pagePublishFormGroup.scheduleJob.dueTime;\r\n let dueTimeDate = new SquidexDate(dt);\r\n if (dueTimeDate < currentDate) {\r\n publishDate = null\r\n } else {\r\n publishDate = new SquidexDate(dueTimeDate).formatUtc();\r\n }\r\n }\r\n\r\n //publish page\r\n this.spinnerService.show();\r\n this.pageFacade.updateStatus(this.id, publishStatus, publishDate)\r\n .subscribe(content => {\r\n this.spinnerService.show();\r\n let tempContent = cloneDeep(content);\r\n if (content.scheduleJob && content.scheduleJob.status === 'Published') {\r\n this.currentStatus = content.scheduleJob.status\r\n }\r\n if (content.newStatus) {\r\n this.currentStatus = content.newStatus;\r\n } else {\r\n this.currentStatus = content.status;\r\n }\r\n this.draftMode = false;\r\n this.draftVersionExist = false;\r\n this.lastModifiedDate = this.pageFacade.getLastModifiedDate(content);\r\n this.scheduledJob = content.scheduleJob;\r\n this.updateStatusAndStatusColor(content.status);\r\n\r\n\r\n\r\n if (!publishDate) {\r\n let dt = new Date();\r\n publishDate = new SquidexDate(dt).formatUtc();\r\n }\r\n\r\n this.publishMode = true;\r\n if (this.selectedContent) {\r\n this.spinnerService.show();\r\n this.currentContentsFacade.update(this.selectedContent.id, tempContent.data).subscribe(content => {\r\n this.publishMode = false;\r\n this.spinnerService.hide();\r\n });\r\n }\r\n\r\n this.currentStatus = 'Published';\r\n const publishDateField = this.pageSchema.fields.find(f => f.name === FieldsName.PUBLISH_DATE_TIME);\r\n\r\n this.dataParser.putData(tempContent.data, \"publishdatetime\", publishDate);\r\n\r\n this.pageFacade.update(this.id, tempContent.data).subscribe(p => {\r\n this.draftMode = false;\r\n\r\n this.publishDateTime = this.squidexTool.utcToDateString(publishDate);\r\n this.pageFacade.removeStore(this.id);\r\n this.currentPage = tempContent;\r\n\r\n this.initContentsAndForms();\r\n this.spinnerService.hide();\r\n });\r\n this.notify(this.currentStatus);\r\n });\r\n\r\n //publish template\r\n this.templateFacade.updateStatus(this.pageTemplate.id, publishStatus, dueTime).subscribe();\r\n\r\n //publish page section\r\n this.pageContents.forEach(pc => {\r\n this.pageContentFacade.updateStatus(pc.id, publishStatus, dueTime).subscribe();\r\n });\r\n\r\n //publish page filter\r\n this.pageFilters.forEach(pf => {\r\n this.contentFacadeFactory.getDynamicContentSchemaFacade(AppToken.PAGE_FILTER_SCHEMA_NAME).updateStatus(pf.id, publishStatus, dueTime).subscribe();\r\n });\r\n break;\r\n case Statuses.DRAFT.name:\r\n this.pageFacade.updateStatus(this.id, this.pageForm.value.pagePublishFormGroup.status, null)\r\n .subscribe(content => {\r\n if (content.newStatus) {\r\n this.currentStatus = content.newStatus;\r\n } else {\r\n this.currentStatus = content.status;\r\n }\r\n this.scheduledJob = content.scheduleJob;\r\n this.updateStatusAndStatusColor(content.status);\r\n this.notify(this.currentStatus);\r\n });\r\n break;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n private notify(status: string, isSuccess: boolean = true): void {\r\n if (isSuccess) {\r\n this.pageFacade.translate('T.STATUS_UPDATE', { currentStatus: status }).subscribe(msg => {\r\n this.pageFacade.translate('T').subscribe(c => {\r\n this.uiNotificationService.success(msg, c.SUCCESS_TITLE, 10000);\r\n });\r\n });\r\n } else {\r\n this.pageFacade.translate('T.STATUS_ERROR', { currentStatus: status }).subscribe(msg => {\r\n this.pageFacade.translate('T').subscribe(c => {\r\n this.uiNotificationService.error(msg, c.FAILED_TITLE, 10000);\r\n });\r\n });\r\n }\r\n }\r\n\r\n private updateStatusAndStatusColor(status: string) {\r\n switch (status) {\r\n case Statuses.PUBLISHED.name:\r\n this.isDraft = false;\r\n this.statusColorClassName = 'badge green-badge';\r\n break;\r\n case Statuses.DRAFT.name:\r\n this.isDraft = true;\r\n this.statusColorClassName = 'badge draft-badge';\r\n break;\r\n default:\r\n this.statusColorClassName = 'badge red-badge';\r\n }\r\n }\r\n\r\n private updateStatusSelect(e) {\r\n this.updateStatusAndStatusColor(e.target.value);\r\n }\r\n\r\n private closeModal() {\r\n this.selectedPageContentId = null;\r\n this.collapseAllEditForm();\r\n if (this.modalRef) {\r\n this.modalRef.hide();\r\n }\r\n }\r\n\r\n openModalDeletePage(template: TemplateRef) {\r\n this.modalRef = this.modalService.show(template);\r\n }\r\n\r\n private confirmDeleteDrafts() {\r\n const subscription = this.pageFacade.translate('T').subscribe(c => {\r\n this.deleteDraft();\r\n });\r\n this.closeModal();\r\n this.subscriptions.push(subscription);\r\n }\r\n\r\n private confirmDeletePage() {\r\n const subscription = this.pageFacade.translate('T').subscribe(c => {\r\n\r\n if (Validation.isValidGuid(this.id)) {\r\n\r\n //remove all section relation from page\r\n this.pageContentFacade.getPageContentsByPageId(this.id).subscribe(pageContents =>\r\n pageContents.forEach(pageContent => {\r\n this.pageContentFacade.remove(pageContent.id).subscribe();\r\n })\r\n );\r\n\r\n //remove all content relation from page\r\n const schemaPageFacade = this.contentFacadeFactory.getDynamicContentSchemaFacade(AppToken.SCHEMA_PAGE_SCHEMA_NAME);\r\n schemaPageFacade.getByParentId(this.id, FieldsName.PAGE_ID, FieldsName.ID, true).subscribe(schemaPages => {\r\n schemaPages.forEach(sPage => {\r\n schemaPageFacade.remove(sPage.id).subscribe();\r\n });\r\n });\r\n\r\n //remove all page filter\r\n const pageFilterFacade = this.contentFacadeFactory.getDynamicContentSchemaFacade(AppToken.PAGE_FILTER_SCHEMA_NAME);\r\n schemaPageFacade.getByParentId(this.id, FieldsName.PAGE_ID, FieldsName.ID, true).subscribe(pageFilter => {\r\n pageFilter.forEach(pFilter => {\r\n pageFilterFacade.remove(pFilter.id).subscribe();\r\n });\r\n });\r\n\r\n //remove template related to page\r\n if (this.pageTemplate) {\r\n this.templateFacade.remove(this.pageTemplate.id).subscribe();\r\n }\r\n\r\n //remove menuItem from menu then remove it\r\n this.menuItemFacade.getMenuItemsByPageId(this.id).subscribe(menuItems => {\r\n menuItems.forEach(menuItem => {\r\n let isExcuted = false;\r\n this.menuFacade.getByParentId(menuItem.id, FieldsName.MENU_ITEMS, FieldsName.ID, true).subscribe(menus => {\r\n if (!isExcuted) {\r\n menus.forEach(menu => {\r\n let menuData = this.clone(menu.data);\r\n let menuItems = menuData.menuItems.iv as string[];\r\n const index = menuItems.indexOf(menuItem.id);\r\n if (index !== -1) {\r\n menuItems.splice(index, 1);\r\n }\r\n this.dataParser.putData(menuData, FieldsName.MENU_ITEMS, menuItems);\r\n this.menuFacade.update(menu.id, menuData).subscribe();\r\n isExcuted = true;\r\n });\r\n }\r\n });\r\n this.menuItemFacade.remove(menuItem.id).subscribe();\r\n });\r\n });\r\n\r\n //remove this page\r\n this.pageFacade.remove(this.id).toPromise().then(\r\n content => {\r\n this.deleted = this.dataParser.pullData(content, FieldsName.DELETED, 'iv');\r\n this.uiNotificationService.success(c.DELETE_SUCCESS, c.SUCCESS_TITLE);\r\n this.closeModal();\r\n this.spinnerService.show();\r\n setTimeout(() => {\r\n this.spinnerService.hide();\r\n this.router.navigateByUrl('/pages');\r\n }\r\n , 4000);\r\n },\r\n () => {\r\n this.uiNotificationService.success(c.DELETE_FAILED, c.FAILED_TITLE);\r\n this.closeModal();\r\n });\r\n }\r\n });\r\n this.subscriptions.push(subscription);\r\n }\r\n\r\n openModalDeletePageContent(template: TemplateRef, id: string) {\r\n this.selectedPageContentId = id;\r\n this.modalRef = this.modalService.show(template);\r\n }\r\n\r\n private confirmDeletePageContent() {\r\n const subscription = this.pageContentFacade.translate('T').subscribe(c => {\r\n if (Validation.isValidGuid(this.selectedPageContentId)) {\r\n\r\n const tempId = this.selectedPageContentId;\r\n const draftStatus: boolean = true;\r\n this.pageContentFacade.remove(this.selectedPageContentId, draftStatus).toPromise().then(\r\n () => {\r\n\r\n this.uiNotificationService.success(c.DELETE_SUCCESS, c.SUCCESS_TITLE);\r\n\r\n this.pageContents = this.pageContents.filter(v => {\r\n return v.id !== tempId;\r\n });\r\n\r\n //const subcriptionGetPage = this.pageContentFacade.getPageContentsByPageId(this.id, 'id', this.draftMode).subscribe(pageContents => {\r\n // this.pageContents = pageContents;\r\n //});\r\n\r\n //this.subscriptions.push(subcriptionGetPage);\r\n },\r\n () => { this.uiNotificationService.error(c.DELETE_FAILED, c.FAILED_TITLE); });\r\n }\r\n });\r\n\r\n this.closeModal();\r\n this.subscriptions.push(subscription);\r\n }\r\n\r\n openModalDeletePageFilter(template: TemplateRef, id: string) {\r\n this.selectedPageFilterId = id;\r\n this.modalRef = this.modalService.show(template);\r\n }\r\n\r\n private confirmDeletePageFilter() {\r\n const subscription = this.pageContentFacade.translate('T').subscribe(c => {\r\n if (Validation.isValidGuid(this.selectedPageFilterId)) {\r\n this.contentFacadeFactory.getDynamicContentSchemaFacade(AppToken.PAGE_FILTER_SCHEMA_NAME).remove(this.selectedPageFilterId).toPromise().then(\r\n () => {\r\n this.uiNotificationService.success(c.DELETE_SUCCESS, c.SUCCESS_TITLE);\r\n this.pageFilters = this.pageFilters.filter(pf => pf.id !== this.selectedPageFilterId);\r\n this.selectedPageFilterId = null;\r\n },\r\n () => { this.uiNotificationService.success(c.DELETE_FAILED, c.FAILED_TITLE); });\r\n }\r\n });\r\n this.closeModal();\r\n this.subscriptions.push(subscription);\r\n }\r\n\r\n toggleDescription(e) {\r\n $(e.currentTarget).closest('.frais-main').find('.minu-cnt').slideToggle();\r\n $(e.currentTarget).closest('.frais-main').toggleClass('active');\r\n }\r\n\r\n private buildUrl(url: string): string {\r\n if (!url) {\r\n throw (\"Url undefined\");\r\n }\r\n return `${this.document.location.origin}${url}?draftMode=${this.draftMode}`;\r\n }\r\n\r\n selectTab(e, tabId: number, tabSet: TabsetComponent) {\r\n\r\n if (tabSet === this.contentTabs && tabId === 0) {\r\n const pageUrl = this.buildUrl(this.dataParser.pullData(this.currentPage, 'url', this.dataParser.currentLanguageCode));\r\n this.updateIframeSrc(pageUrl);\r\n }\r\n tabSet.tabs[tabId].active = true;\r\n $(e.currentTarget).parent().parent().find('li').removeClass('active');\r\n $(e.currentTarget).parent().addClass('active');\r\n }\r\n\r\n private updateIframe(event, url: string, plateForm: string = null) {\r\n this.updateIframeSrc(url, plateForm);\r\n $(event.currentTarget).parent().parent().find('li').removeClass('active');\r\n $(event.currentTarget).parent().addClass('active');\r\n }\r\n\r\n changeLanguage(event, languageCode) {\r\n this.dataParser.changeLanguage(languageCode);\r\n $(event.currentTarget).parent().parent().find('li').removeClass('active');\r\n $(event.currentTarget).parent().addClass('active');\r\n const pageUrl = this.buildUrl(this.dataParser.pullData(this.currentPage, 'url', this.dataParser.currentLanguageCode));\r\n this.updateIframeSrc(pageUrl);\r\n this.setPreviewUrl(pageUrl);\r\n }\r\n\r\n private updateIframeSrc(url: string, plateForme: string = null) {\r\n switch (plateForme) {\r\n case PreviewDevices.DESKTOP.name:\r\n this.previewHeight = PreviewDevices.DESKTOP.height;\r\n this.previewWidth = PreviewDevices.DESKTOP.width;\r\n break;\r\n case PreviewDevices.TABLET.name:\r\n this.previewHeight = PreviewDevices.TABLET.height;\r\n this.previewWidth = PreviewDevices.TABLET.width;\r\n break;\r\n case PreviewDevices.PHONE.name:\r\n this.previewHeight = PreviewDevices.PHONE.height;\r\n this.previewWidth = PreviewDevices.PHONE.width;\r\n break;\r\n default:\r\n }\r\n\r\n this.previewUrl = this.sanitizer.bypassSecurityTrustResourceUrl(url);\r\n }\r\n\r\n private getLocalizableFieldName(fieldName: string, languageCode): string {\r\n return `${fieldName}_${languageCode}`;\r\n }\r\n\r\n openModalCreatePageContent(template: TemplateRef) {\r\n this.pageContentFacade.getSchema().subscribe(pageContentSchema => {\r\n this.pageContentFields =\r\n pageContentSchema.fields.filter(field => !this.pageContentHiddenFields.includes(field.name));\r\n this.pageContentForm = new FormGroup(this.generateFormGroup(this.pageContentFacade,\r\n pageContentSchema.fields,\r\n this.pageContentHiddenFields));\r\n\r\n this.modalRef = this.modalService.show(template);\r\n });\r\n }\r\n\r\n private collapseAllEditForm() {\r\n const desc = this.collapseControlsEditTemplate;\r\n Object.keys(desc).forEach(function (key) {\r\n if (desc) {\r\n desc[key]['isCollapsed'] = true;\r\n }\r\n });\r\n this.collapseControlsEditTemplate = desc;\r\n this.isCollapsed = true;\r\n const container = document.querySelectorAll('.last_modify-inner');\r\n container.forEach(item => {\r\n item.classList.remove('bubble-content-context');\r\n });\r\n }\r\n\r\n private updateContentsSelect(e) {\r\n this.contentFacadeFactory.getDynamicContentSchemaFacade(e.target.value)\r\n .getTopX(1000, undefined, undefined, ESchemaContentStatus.Published).subscribe(contents => {\r\n this.contents = contents;\r\n if (contents && contents.length > 0) {\r\n this.pageContentForm.controls['contentid'].setValue(contents[0].id);\r\n } else {\r\n this.pageContentForm.get('contentid').reset();\r\n }\r\n });\r\n }\r\n\r\n private updatePathFilterSelect(e) {\r\n this.getPathFilterFromSchemaName(e.target.value);\r\n }\r\n\r\n private getPathFilterFromSchemaName(schemaName: string) {\r\n this.contentFacadeFactory.getDynamicContentSchemaFacade(schemaName)\r\n .getSchema().subscribe(contentSchema => {\r\n this.pathFields = [];\r\n for (let i = 0; i < contentSchema.fields.length; i++) {\r\n const field = contentSchema.fields[i];\r\n if (field.partitioning === 'language') {\r\n for (const language of this.availableLanguages.map(languages => languages.data.code.iv)) {\r\n let val = 'data';\r\n val += '.' + field.name + '.' + language;\r\n this.pathFields.push(val);\r\n }\r\n } else {\r\n let val = 'data';\r\n val += '.' + field.name + '.iv';\r\n this.pathFields.push(val);\r\n }\r\n }\r\n });\r\n }\r\n\r\n openModalCreatePageFilter(template: TemplateRef, pageFilterId: string) {\r\n this.selectedPageFilterId = pageFilterId;\r\n this.contentFacadeFactory.getDynamicContentSchemaFacade(AppToken.PAGE_FILTER_SCHEMA_NAME).getSchema().subscribe(\r\n pageFilterSchema => {\r\n this.pageFilterFields =\r\n pageFilterSchema.fields.filter(field => !this.pageFilterHiddenFields.includes(field.name));\r\n let pageFilterContent = null;\r\n if (Validation.isValidGuid(this.selectedPageFilterId)) {\r\n this.collapseAllEditForm()\r\n pageFilterContent = this.pageFilters.find(pf => pf.id === pageFilterId);\r\n this.getPathFilterFromSchemaName(this.dataParser.pullData(pageFilterContent, FieldsName.CONTENT_TYPE));\r\n this.collapseControlsEditTemplate[this.selectedPageFilterId]['isCollapsed'] =\r\n !this.collapseControlsEditTemplate[this.selectedPageFilterId]['isCollapsed'];\r\n } else {\r\n this.collapseAllEditForm();\r\n this.isCollapsed = !this.isCollapsed;\r\n }\r\n this.pageFilterForm = new FormGroup(\r\n this.generateFormGroup(\r\n this.contentFacadeFactory.getDynamicContentSchemaFacade(AppToken.PAGE_FILTER_SCHEMA_NAME),\r\n pageFilterSchema.fields,\r\n this.pageFilterHiddenFields,\r\n pageFilterContent));\r\n });\r\n }\r\n\r\n private createPageFilter() {\r\n\r\n if (!this.pageFilterForm.dirty) {\r\n this.pageContentFacade.translate('T').subscribe(c => {\r\n this.uiNotificationService.error(c.CREATE_FAILED, c.FAILED_TITLE);\r\n this.pageFilterForm.markAllAsTouched();\r\n });\r\n return;\r\n }\r\n\r\n const values = this.pageFilterForm.value;\r\n\r\n let newPageFilterData: any = {};\r\n\r\n for (let field of this.pageFilterFields) {\r\n if (field.partitioning === 'language') {\r\n for (const language of this.availableLanguages.map(languages => languages.data.code.iv)) {\r\n\r\n newPageFilterData = this.dataParser.setData(newPageFilterData, field, values[this.getLocalizableFieldName(field.name, language)], language);\r\n\r\n }\r\n } else {\r\n newPageFilterData = this.dataParser.setData(newPageFilterData, field, values[field.name]);\r\n }\r\n }\r\n\r\n const ids: string[] = [];\r\n ids.push(this.id);\r\n\r\n newPageFilterData = this.dataParser.putData(newPageFilterData, FieldsName.PAGE_ID, ids);\r\n newPageFilterData = this.dataParser.putData(newPageFilterData, FieldsName.INDEX, 0);\r\n\r\n if (Validation.isValidGuid(this.selectedPageFilterId)) {\r\n this.contentFacadeFactory.getDynamicContentSchemaFacade(AppToken.PAGE_FILTER_SCHEMA_NAME).update(this.selectedPageFilterId, newPageFilterData).subscribe(pf => {\r\n this.pageFilters = this.pageFilters.filter(pf => pf.id !== this.selectedPageFilterId);\r\n this.pageFilters.push(pf);\r\n this.pageContentFacade.translate('T').subscribe(c => {\r\n this.uiNotificationService.success(c.UPDATE_SUCCESS, c.SUCCESS_TITLE);\r\n this.selectedPageFilterId = null;\r\n this.closeModal();\r\n });\r\n });\r\n } else {\r\n newPageFilterData = this.dataParser.putData(newPageFilterData, FieldsName.CODE, guid());\r\n this.contentFacadeFactory.getDynamicContentSchemaFacade(AppToken.PAGE_FILTER_SCHEMA_NAME).createAsPublished(newPageFilterData).subscribe(pf => {\r\n this.pageFilters.push(pf);\r\n const data: any = {\r\n isCollapsed: true,\r\n };\r\n this.collapseControlsEditTemplate[pf.id] = data;\r\n this.pageContentFacade.translate('T').subscribe(c => {\r\n this.uiNotificationService.success(c.UPDATE_SUCCESS, c.SUCCESS_TITLE);\r\n this.closeModal();\r\n });\r\n });\r\n }\r\n }\r\n\r\n private createPageContent() {\r\n\r\n if (!this.pageContentForm.valid || !this.pageContentForm.dirty) {\r\n this.pageContentFacade.translate('T').subscribe(c => {\r\n this.uiNotificationService.error(c.CREATE_FAILED, c.FAILED_TITLE);\r\n this.contents = null;\r\n this.pageContentForm.markAllAsTouched();\r\n });\r\n return;\r\n }\r\n\r\n const values = this.pageContentForm.value;\r\n\r\n let newPageContentData: any = {};\r\n\r\n for (let field of this.pageContentFields) {\r\n if (field.partitioning === 'language') {\r\n for (const language of this.availableLanguages.map(languages => languages.data.code.iv)) {\r\n\r\n newPageContentData = this.dataParser.setData(newPageContentData, field, values[this.getLocalizableFieldName(field.name, language)], language);\r\n\r\n }\r\n } else {\r\n newPageContentData = this.dataParser.setData(newPageContentData, field, values[field.name]);\r\n }\r\n }\r\n\r\n const ids: string[] = [];\r\n ids.push(this.id);\r\n\r\n //newPageContentData = this.dataParser.putData(newPageContentData, 'code', guid());\r\n newPageContentData = this.dataParser.putData(newPageContentData, FieldsName.PAGE_ID, ids);\r\n newPageContentData = this.dataParser.putData(newPageContentData, FieldsName.ISMODIFIED, true);\r\n newPageContentData = this.dataParser.putData(newPageContentData, FieldsName.INDEX, 0);\r\n\r\n this.pageContentFacade.createAsPublished(newPageContentData).subscribe(pc => {\r\n this.pageContents.push(pc);\r\n this.pageContentFacade.translate('T').subscribe(c => {\r\n this.uiNotificationService.success(c.UPDATE_SUCCESS, c.SUCCESS_TITLE);\r\n this.closeModal();\r\n });\r\n },\r\n err => {\r\n if (err.status === 400) {\r\n this.pageContentFacade.translate('T').subscribe(c => {\r\n this.uiNotificationService.error(c.INVALID_CODE, c.ERROR);\r\n });\r\n }\r\n }\r\n );\r\n }\r\n\r\n private getPageContentDescription($event, pageContent: PageContentModel) {\r\n if ($event) {\r\n const data: any = {\r\n title: $event.title,\r\n isModified: $event.isModified,\r\n lastModified: $event.lastModified,\r\n isOpen: $event.isOpen,\r\n contentType: $event.contentType\r\n };\r\n this.pageContentsDescription[pageContent.id] = data;\r\n }\r\n }\r\n\r\n openAllSection() {\r\n const allSectionElement = document.getElementById('panel-all-section');\r\n if (allSectionElement && allSectionElement.classList.contains('all-section-open')) {\r\n allSectionElement.classList.remove('all-section-open');\r\n } else if (allSectionElement) {\r\n allSectionElement.classList.add('all-section-open');\r\n }\r\n this.isAllOpen = !this.isAllOpen;\r\n }\r\n\r\n private navigateToSection(pageContentId: string) {\r\n this.isAllOpen = false;\r\n const desc = this.pageContentsDescription;\r\n Object.keys(this.pageContentsDescription).forEach(function (key) {\r\n if (desc) {\r\n desc[key]['isOpen'] = false;\r\n }\r\n });\r\n this.pageContentsDescription = desc;\r\n this.pageContentsDescription[pageContentId]['isOpen'] = !this.pageContentsDescription[pageContentId]['isOpen'];\r\n document.getElementById('manageContent').click();\r\n }\r\n\r\n pageCapture(pc: Content) {\r\n let tempPc = cloneDeep(pc);\r\n const fname = tempPc.data.url[this.dataParser.currentLanguageCode];\r\n const imageName = tempPc.data.pageName.iv;\r\n\r\n this.assetFacade.generateThumbnail(fname, imageName, this.thumbnail).toPromise().then(asset => {\r\n let data = tempPc.data;\r\n\r\n let assetFields = this.pageSchema.fields.filter(field => field.name === 'thumbnail');\r\n\r\n if (asset) {\r\n data = this.dataParser.setData(data, assetFields[0], asset.id);\r\n if (pc) {\r\n this.pageFacade.update(tempPc.id, data).subscribe(retval => {\r\n this.thumbnail = asset.id\r\n this.pageContentFacade.translate('T').subscribe(c => {\r\n this.spinnerService.hide();\r\n this.uiNotificationService.success(c.UPDATE_SUCCESS, c.SUCCESS_TITLE);\r\n });\r\n });\r\n }\r\n } else {\r\n this.pageContentFacade.translate('T').subscribe(c => {\r\n this.thumbnail = '';\r\n this.spinnerService.hide();\r\n this.uiNotificationService.success(c.UPDATE_SUCCESS, c.SUCCESS_TITLE);\r\n });\r\n }\r\n });\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.router.routeReuseStrategy.shouldReuseRoute = () => false;\r\n }\r\n\r\n sanitize(url: string) {\r\n return this.sanitizer.bypassSecurityTrustUrl(url);\r\n }\r\n\r\n pageContentDrop(event) {\r\n let pageContentsOrdered: PageContentModel[] = cloneDeep(this.pageContents);\r\n\r\n let temp = pageContentsOrdered[event['previousIndex']];\r\n pageContentsOrdered[event['previousIndex']] = pageContentsOrdered[event['currentIndex']];\r\n pageContentsOrdered[event['currentIndex']] = temp;\r\n\r\n this.pageContents = pageContentsOrdered;\r\n\r\n for (let i = 0; i < pageContentsOrdered.length; i++) {\r\n const pageContentId = pageContentsOrdered[i].id;\r\n const sub = this.pageContentFacade.get(pageContentId).subscribe(pc => {\r\n let pcData = cloneDeep(pc.data);\r\n this.dParser.putData(pcData, 'index', i);\r\n this.pageContentFacade.update(pageContentId, pcData).subscribe();\r\n this.subscriptions.push(sub);\r\n });\r\n }\r\n }\r\n\r\n}\r\n","import { ContentFactory, Schema, Content, ContentList, SchemaService, ContentService } from '../../squidex';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { ID } from '@datorama/akita';\r\nimport { FilterPagination } from './filter.pagination';\r\nimport { ESchemaContentStatus } from './enum';\r\n\r\n\r\nexport abstract class BaseService {\r\n protected contentService: ContentService;\r\n\r\n protected constructor(\r\n readonly schemaName: string,\r\n readonly contentFactory: ContentFactory) {\r\n }\r\n\r\n protected initialize(): void {\r\n if (!this.contentService) {\r\n this.contentService = this.contentFactory.getContentService(this.schemaName);\r\n }\r\n }\r\n\r\n getAll(): Observable {\r\n this.initialize();\r\n return this.contentService.getAllContent();\r\n }\r\n\r\n getAllLanguages(): Observable {\r\n this.initialize();\r\n return this.contentService.getAllLanguages();\r\n }\r\n\r\n\r\n doPagination(filterPagination: FilterPagination): Observable {\r\n this.initialize();\r\n\r\n return this.contentService.findContent(filterPagination.getODataQuery());\r\n }\r\n\r\n getTopX(top: number, filter: string, orderBy: string, contentStatus: ESchemaContentStatus = ESchemaContentStatus.Published): Observable {\r\n this.initialize();\r\n\r\n let publishedText = \"\";\r\n\r\n switch (contentStatus) {\r\n case ESchemaContentStatus.All: {\r\n publishedText = \"and (status eq 'Published' or status eq 'Draft')\";\r\n break;\r\n }\r\n case ESchemaContentStatus.Published: {\r\n publishedText = \"and (status eq 'Published')\";\r\n break;\r\n }\r\n case ESchemaContentStatus.Draft: {\r\n publishedText = \"and (status eq 'Draft')\";\r\n break;\r\n }\r\n default: {\r\n publishedText = \"\";\r\n break;\r\n }\r\n }\r\n\r\n let f = '';\r\n\r\n if (filter) {\r\n f = `?$filter=(data/deleted/iv ne true ) ${publishedText} ${filter} &$top=${top}&$orderby=${orderBy}`;\r\n } else {\r\n f = `?$filter=(data/deleted/iv ne true ) ${publishedText} &$top=${top}&$orderby=${orderBy}`;\r\n }\r\n\r\n return this.contentService.findContent(f);\r\n }\r\n\r\n getFiltered(top: number, orderBy: string, contentStatus: ESchemaContentStatus, filterTextValue?: string): Observable {\r\n this.initialize();\r\n\r\n let publishedText = \"\";\r\n\r\n switch (contentStatus) {\r\n case ESchemaContentStatus.All: {\r\n // publishedText = \"and (status eq 'Published' or status eq 'Draft')\";\r\n break;\r\n }\r\n case ESchemaContentStatus.Published: {\r\n publishedText = \"Published\";\r\n break;\r\n }\r\n case ESchemaContentStatus.Draft: {\r\n publishedText = \"Draft\";\r\n break;\r\n }\r\n default: {\r\n publishedText = \"\";\r\n break;\r\n }\r\n }\r\n\r\n let contentObject =\r\n {\r\n filter:\r\n {\r\n and:\r\n [\r\n {\r\n path: \"data.deleted.iv\",\r\n op: \"eq\",\r\n value: false\r\n },\r\n {\r\n path: \"status\",\r\n op: \"eq\",\r\n value: publishedText\r\n }\r\n ]\r\n }\r\n }\r\n\r\n\r\n let sortInformation = orderBy.split(\" \");\r\n\r\n if (sortInformation.length === 1) {\r\n contentObject[\"sort\"] = [{ path: sortInformation[0] }];\r\n } else if (sortInformation.length === 2) {\r\n contentObject[\"sort\"] = [{\r\n path: sortInformation[0],\r\n order: sortInformation[1],\r\n }];\r\n }\r\n\r\n contentObject[\"take\"] = top;\r\n\r\n if (filterTextValue && filterTextValue != \"\") {\r\n contentObject[\"fullText\"] = filterTextValue + \"*\";\r\n }\r\n\r\n var a = JSON.stringify(contentObject);\r\n let filterText = \"?q=\" + encodeURIComponent(JSON.stringify(contentObject));\r\n return this.contentService.findContent(filterText);\r\n }\r\n\r\n validateUrl(filterParms: FilterPagination,\r\n eSchemaContentStatus: ESchemaContentStatus = ESchemaContentStatus.Published,\r\n AdvancedFilter?: any, content: Content = null\r\n ): Observable {\r\n this.initialize();\r\n\r\n let publishedText = \"\";\r\n let opPublish = \"\";\r\n let unPublish = false;\r\n\r\n if (eSchemaContentStatus === ESchemaContentStatus.Published) {\r\n publishedText = \"Published\";\r\n opPublish = \"eq\";\r\n } else if (eSchemaContentStatus === ESchemaContentStatus.Draft) {\r\n publishedText = \"Draft\";\r\n unPublish = true;\r\n opPublish = \"eq\";\r\n }\r\n\r\n let contentObject =\r\n {\r\n filter:\r\n {\r\n and:\r\n [\r\n {\r\n path: \"data.deleted.iv\",\r\n op: \"ne\",\r\n value: true\r\n }\r\n ]\r\n }\r\n }\r\n\r\n if (eSchemaContentStatus !== ESchemaContentStatus.All) {\r\n let status: any = {};\r\n status = {\r\n path: \"status\",\r\n op: opPublish,\r\n value: publishedText\r\n }\r\n contentObject.filter.and.push(status);\r\n }\r\n\r\n\r\n if (content) {\r\n let orFilter: any = {};\r\n orFilter = {\r\n path: \"id\",\r\n op: \"ne\",\r\n value: content.id\r\n }\r\n contentObject.filter.and.push(orFilter);\r\n }\r\n\r\n if (AdvancedFilter) {\r\n contentObject.filter.and.push(AdvancedFilter);\r\n }\r\n\r\n let sortInformation = filterParms.orderBy.split(\" \");\r\n\r\n if (sortInformation.length === 1) {\r\n contentObject[\"sort\"] = [{ path: sortInformation[0] }];\r\n } else if (sortInformation.length === 2) {\r\n contentObject[\"sort\"] = [{\r\n path: sortInformation[0],\r\n order: sortInformation[1],\r\n }];\r\n }\r\n\r\n contentObject[\"skip\"] = filterParms.from;\r\n contentObject[\"take\"] = filterParms.to - filterParms.from;\r\n\r\n if (typeof filterParms.filter != \"undefined\" && filterParms.filter != \"\") {\r\n contentObject[\"fullText\"] = filterParms.filter + \"*\";\r\n }\r\n\r\n let filterText = \"?q=\" + encodeURIComponent(JSON.stringify(contentObject));\r\n return this.contentService.findContent(filterText, unPublish).pipe(map(content => {\r\n // console.log(content);\r\n return content['total'];\r\n }));;\r\n }\r\n\r\n getFilteredPagination(filterParms: FilterPagination = null,\r\n eSchemaContentStatus: ESchemaContentStatus = ESchemaContentStatus.Published,\r\n advancedFilter: Array = null\r\n ): Observable {\r\n this.initialize();\r\n\r\n const draftMode = eSchemaContentStatus == ESchemaContentStatus.Published ? false : true;\r\n\r\n let publishedText = \"\";\r\n let opPublish = \"\";\r\n\r\n switch (eSchemaContentStatus) {\r\n case ESchemaContentStatus.All: {\r\n publishedText = \"\";\r\n opPublish = \"ne\";\r\n break;\r\n }\r\n case ESchemaContentStatus.Published: {\r\n publishedText = \"Published\";\r\n opPublish = \"eq\";\r\n break;\r\n }\r\n case ESchemaContentStatus.Draft: {\r\n publishedText = \"Draft\";\r\n opPublish = \"eq\";\r\n break;\r\n }\r\n default: {\r\n publishedText = \"\";\r\n opPublish = \"ne\";\r\n break;\r\n }\r\n }\r\n\r\n let contentObject =\r\n {\r\n filter:\r\n {\r\n and:\r\n [\r\n {\r\n path: \"data.deleted.iv\",\r\n op: \"ne\",\r\n value: true\r\n },\r\n {\r\n path: \"status\",\r\n op: opPublish,\r\n value: publishedText\r\n }\r\n ]\r\n },\r\n sort: []\r\n }\r\n\r\n if (advancedFilter) {\r\n if (Array.isArray(advancedFilter)) {\r\n advancedFilter.forEach(v => {\r\n contentObject.filter.and.push(v);\r\n });\r\n } else {\r\n contentObject.filter.and.push(advancedFilter);\r\n }\r\n }\r\n\r\n if (filterParms) {\r\n if (filterParms.orderBy && filterParms.orderBy !== '') {\r\n let idx: number = 0;\r\n let orderings = filterParms.orderBy.split(',');\r\n for (const ordering of orderings) {\r\n let sortInformation = ordering.split(\" \");\r\n\r\n if (sortInformation.length === 1) {\r\n contentObject.sort.push({ path: sortInformation[0] });\r\n } else if (sortInformation.length === 2) {\r\n contentObject.sort.push({ path: sortInformation[0], order: sortInformation[1] });\r\n }\r\n }\r\n }\r\n\r\n contentObject[\"skip\"] = filterParms.from;\r\n contentObject[\"take\"] = filterParms.to - filterParms.from;\r\n\r\n if (filterParms.filter) {\r\n contentObject[\"fullText\"] = filterParms.filter;\r\n }\r\n }\r\n let filterText = \"?q=\" + encodeURIComponent(JSON.stringify(contentObject));\r\n return this.contentService.findContent(filterText, draftMode);\r\n }\r\n\r\n getByObject(advancedFilter: any,\r\n eSchemaContentStatus: ESchemaContentStatus = ESchemaContentStatus.Published,\r\n ): Observable {\r\n this.initialize();\r\n\r\n const draftMode = eSchemaContentStatus == ESchemaContentStatus.Published ? false : true;\r\n\r\n let contentObject =\r\n {\r\n filter:\r\n {\r\n and:\r\n [\r\n {\r\n path: \"data.deleted.iv\",\r\n op: \"ne\",\r\n value: true\r\n }\r\n ]\r\n },\r\n sort: []\r\n }\r\n\r\n if (advancedFilter) {\r\n if (Array.isArray(advancedFilter)) {\r\n advancedFilter.forEach(v => {\r\n contentObject.filter.and.push(v);\r\n });\r\n } else {\r\n contentObject.filter.and.push(advancedFilter);\r\n }\r\n }\r\n\r\n let filterText = \"?q=\" + encodeURIComponent(JSON.stringify(contentObject));\r\n return this.contentService.findContent(filterText, draftMode);\r\n }\r\n\r\n getUnpublished(orderBy: string, top: number): Observable {\r\n this.initialize();\r\n if (top === -1) {\r\n return this.contentService.findContent(`?$filter=(status eq 'Draft')&$orderby=${orderBy}`);\r\n }\r\n return this.contentService.findContent(`?$filter=(status eq 'Draft') and (data/deleted/iv ne true ) &$top=${top}&$orderby=${orderBy}`);\r\n }\r\n\r\n updateContent(contentId: string, contentData: any): Observable {\r\n this.initialize();\r\n return this.contentService.updateContent(contentId, contentData);\r\n }\r\n\r\n createContent(contentData: any): Observable {\r\n this.initialize();\r\n return this.contentService.createContent(contentData);\r\n }\r\n\r\n createDraft(contentId: string): Observable {\r\n this.initialize();\r\n return this.contentService.createDraft(contentId);\r\n }\r\n\r\n deleteDraft(contentId: string): Observable {\r\n this.initialize();\r\n return this.contentService.deleteDraft(contentId);\r\n }\r\n\r\n removeContent(id: ID, draftMode: boolean = false): Observable {\r\n this.initialize();\r\n return this.contentService.softDeleteContent(id.toString(), draftMode)\r\n }\r\n\r\n removeHardContent(id: ID): Observable {\r\n this.initialize();\r\n return this.contentService.deleteContent(id.toString());\r\n }\r\n\r\n getContentById(id: ID, draftMode: boolean = false): Observable {\r\n this.initialize();\r\n return this.contentService.findContent(`?$filter=id eq '${id.toString()}' and (data/deleted/iv ne true )`, draftMode)\r\n .pipe(map(answer => {\r\n const item = answer['items'][0];\r\n if (item) {\r\n return item as Content;\r\n }\r\n return null;\r\n }));\r\n }\r\n\r\n getContentByIds(ids: string[], orderBy: string): Observable {\r\n this.initialize();\r\n let query = '?$filter=';\r\n\r\n ids.forEach(id => {\r\n query += `id eq '${id.toString()}' or `;\r\n });\r\n\r\n query = query.substring(0, query.length - 4);\r\n\r\n query += ` and (data/deleted/iv ne true )&$orderby=${orderBy}`;\r\n\r\n return this.contentService.findContent(query)\r\n .pipe(map(answer => {\r\n return answer['items'];\r\n }));\r\n }\r\n\r\n find(query: string): Observable {\r\n return this.contentService.findContent(query).pipe(map(items => items.items));\r\n }\r\n\r\n countContent(): Observable {\r\n this.initialize();\r\n return this.contentService.countContent();\r\n }\r\n\r\n addContent(contentData: any): Observable {\r\n this.initialize();\r\n return this.contentService.createContent(contentData);\r\n }\r\n\r\n createAndPublishContent(contentData: any): Observable {\r\n this.initialize();\r\n return this.contentService.createContentAndPublish(contentData);\r\n }\r\n\r\n getContentByCode(code: string, draftMode: boolean = false): Observable {\r\n this.initialize();\r\n return this.contentService.findContent(`?$filter=data/code/iv eq '${code}' and (data/deleted/iv ne true )`, draftMode)\r\n .pipe(map(answer => {\r\n const item = answer['items'][0];\r\n if (item) {\r\n return item as Content;\r\n }\r\n return null;\r\n }));\r\n }\r\n\r\n getByParentId(id: string, parentFieldName: string, orderBy: string = 'id', draftMode: boolean = false): Observable {\r\n this.initialize();\r\n return this.contentService.findContent(`?$filter=data/${parentFieldName}/iv eq '${id}' and (data/deleted/iv ne true ) &$orderby=${orderBy}`, draftMode);\r\n }\r\n\r\n getAllOrdered(orderBy: string = 'data/code/iv'): Observable {\r\n this.initialize();\r\n return this.contentService.getAllContentOrdered(orderBy);\r\n }\r\n\r\n updateContentStatus(contentId: string, status: string, dueTime: string) {\r\n this.initialize();\r\n return this.contentService.updateContentStatus(contentId, status, dueTime);\r\n }\r\n\r\n //TODO: to be fixed\r\n filterContent(filter: string, top: number, orderBy: string): Observable {\r\n this.initialize();\r\n return this.contentService.findContent(`?$filter=contains(data,'${filter}')`);\r\n }\r\n\r\n\r\n createLanguageDefinition(language: any): Observable {\r\n this.initialize();\r\n return this.contentService.createLanguageDefinition(language);\r\n }\r\n\r\n\r\n deleteLanguageDefinition(code: any): Observable {\r\n this.initialize();\r\n return this.contentService.deleteLanguageDefinition(code);\r\n }\r\n\r\n}\r\n\r\n","import { Content } from \"../../squidex\";\r\n\r\nexport class SchemaPageModel extends Content {\r\n\r\n constructor(current?: Content) {\r\n super(current);\r\n if (current) {\r\n Object.assign(this, current);\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BaseService } from '../base/base.service';\r\nimport { SchemasFactory, ContentFactory, Content } from '../../squidex';\r\nimport { Observable } from 'rxjs';\r\nimport { AppTokenService } from '../../../app-token.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ClaimService extends BaseService {\r\n\r\n constructor(schemasFactory: SchemasFactory,\r\n contentFactory: ContentFactory) {\r\n super(AppTokenService.CLAIM_SCHEMA_NAME, contentFactory);\r\n }\r\n\r\n getFirstContent(): Observable {\r\n this.initialize();\r\n return this.contentService.getFirstContent();\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BaseFacade } from '../base/base.facade';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { PageService } from './page.service';\r\nimport { PageStore } from './page.store';\r\nimport { PageQuery } from './page.query';\r\nimport { DynamicSchemaFactory } from '../dynamic-schema.factory';\r\nimport { AppTokenService } from '../../../app-token.service';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class PageFacade extends BaseFacade {\r\n\r\n constructor(\r\n private readonly pageService: PageService,\r\n pageStore: PageStore,\r\n pageQuery: PageQuery,\r\n dynamicSchemaFacto: DynamicSchemaFactory,\r\n translateService: TranslateService) {\r\n super(pageService,\r\n pageStore,\r\n pageQuery,\r\n dynamicSchemaFacto.getDynamicSchemaFacade(AppTokenService.PAGE_SCHEMA_NAME),\r\n translateService,\r\n AppTokenService.PAGE_SCHEMA_NAME + '-facade'\r\n );\r\n }\r\n\r\n}\r\n","export enum ESchemaContentStatus {\r\n All = -1,\r\n Draft = 0,\r\n Published = 1\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BaseQuery } from '../base/base.query';\r\nimport { PageTypeStore } from \"./page-type.store\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PageTypeQuery extends BaseQuery {\r\n\r\n constructor(store: PageTypeStore) {\r\n super(store);\r\n }\r\n}\r\n","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"crnd\";","export const environment = {\r\n production: true\r\n};\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Observable, of } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { Asset} from '..';\r\nimport { Validation } from '../../../tools';\r\nimport { AssetList } from '../models/asset-list.model';\r\nimport { AppConfigProvider } from '../../../app-config.provider';\r\nimport { ID } from '@datorama/akita';\r\nimport { AssetModel } from '../../akita';\r\n\r\nexport class AssetService {\r\n private readonly assetBaseUrl: string;\r\n private readonly baseUrl: string;\r\n\r\n constructor(private readonly httpClient: HttpClient, private appConfigProvider: AppConfigProvider) {\r\n this.assetBaseUrl = this.appConfigProvider.getAssetsBaseUrl();\r\n this.baseUrl = this.appConfigProvider.getApiEndpoint();\r\n }\r\n\r\n getByQuery(queryPatameters: any): Observable {\r\n const url = `${this.assetBaseUrl}${queryPatameters}`;\r\n return this.httpClient.get(url) as Observable;\r\n }\r\n\r\n getById(assetId: any): Observable {\r\n const url = `${this.assetBaseUrl}/${assetId}`;\r\n return this.httpClient.get(url) as Observable;\r\n }\r\n\r\n upload(formData: FormData): Observable {\r\n if (formData) {\r\n const url = `${this.assetBaseUrl}`;\r\n return this.httpClient.post(url, formData) as Observable\r\n } else {\r\n throw (new Error('data is null when trying to create asset'));\r\n }\r\n }\r\n\r\n update(assetId: any, assetData: any): Observable {\r\n const url = `${this.assetBaseUrl}/${assetId}`;\r\n return this.httpClient.put(url, assetData) as Observable;\r\n }\r\n\r\n updateTag(assetId: string, assetData: any): Observable {\r\n const url = `${this.assetBaseUrl}/${assetId}`;\r\n return this.httpClient.put(url, assetData) as Observable;\r\n }\r\n\r\n updateParent(assetId: string, assetData: any): Observable {\r\n const url = `${this.assetBaseUrl}/${assetId}/parent`;\r\n return this.httpClient.put(url, assetData) as Observable;\r\n }\r\n\r\n delete(assetId: ID): Observable {\r\n if (Validation.isValidGuid(String(assetId))) {\r\n const url = `${this.assetBaseUrl}/${assetId}`;\r\n return this.httpClient.delete(url) as Observable;\r\n } else {\r\n throw (new Error('Guid is not valid when trying to delete asset'));\r\n }\r\n }\r\n\r\n find(oDataQuery: string): Observable {\r\n const url = `${this.assetBaseUrl}${oDataQuery}`;\r\n return this.httpClient.get(url) as Observable;\r\n }\r\n\r\n\r\n countQuery(oDataQuery: string): Observable {\r\n return this.find(oDataQuery)\r\n .pipe(map(asset => asset['total']));\r\n }\r\n\r\n\r\n generateThumbnail(pageUrl: string, pageName: string, imageId?: string): Observable {\r\n\r\n return of(true);\r\n let url = document.location.origin + '/capture/get';\r\n url += encodeURI(`?url=${pageUrl}&imageName=${pageName}${(imageId ? '&parentId='+imageId : '')}` );\r\n return this.httpClient.get(url) as Observable;\r\n }\r\n\r\n\r\n count(): Observable {\r\n return this.find('?$top=1')\r\n .pipe(map(asset => asset['total']));\r\n }\r\n\r\n getCount(folderId: any): Observable {\r\n const url = `${this.assetBaseUrl}?parentId=${folderId}&$top1`;\r\n return this.httpClient.get(url) as Observable;\r\n }\r\n\r\n\r\n getAllOrdered(orderBy: string = 'id') {\r\n const url = `${this.assetBaseUrl}?$orderby=${orderBy}`;\r\n return this.httpClient.get(url) as Observable;\r\n }\r\n\r\n convertObjectToUrl(urlObject: object) {\r\n return urlObject;\r\n }\r\n\r\n}\r\n","export class StringTool {\r\n\r\n camelize(str: string): string {\r\n return str.replace(/(?:^\\w|[A-Z]|\\b\\w)/g, function(match, index) {\r\n if (+match === 0) return \"\"; // or if (/\\s+/.test(match)) for white spaces\r\n return index === 0 ? match.toLowerCase() : match.toUpperCase();\r\n });\r\n }\r\n\r\n pascalize(str: string):string {\r\n return str.replace(/\\w\\S*/g, function(t) {\r\n return t.charAt(0).toUpperCase() + t.substr(1).toLowerCase();\r\n });\r\n }\r\n\r\n generateGuid(): string {\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\r\n var r = Math.random() * 16 | 0,\r\n v = c === 'x' ? r : (r & 0x3 | 0x8);\r\n return v.toString(16);\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BaseService } from '../base/base.service';\r\nimport { SchemasFactory, ContentFactory } from '../../squidex';\r\nimport { AppToken } from '../../../models/app-token';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SchemaPageService extends BaseService {\r\n\r\n constructor(schemasFactory: SchemasFactory,\r\n contentFactory: ContentFactory) {\r\n super(AppToken.SCHEMA_PAGE_SCHEMA_NAME, contentFactory);\r\n }\r\n}\r\n","export default \".ngx-file-drop__drop-zone {\\n height: 100%;\\n margin: auto;\\n}\\n\\n.ngx-file-drop__drop-zone--over {\\n background-color: rgba(147, 147, 147, 0.5);\\n}\\n\\n.ngx-file-drop__content {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n height: 100px;\\n color: #91908E;\\n}\\n\\n.ngx-file-drop__drop-zone-label {\\n text-align: center;\\n}\\n\\n.ngx-file-drop__file-input {\\n display: none;\\n}\\n\\n.center {\\n display: block;\\n margin-left: auto;\\n margin-right: auto;\\n width: 50%;\\n background-color: #F29100;\\n}\\n\\n.orangium-color {\\n background-color: #F29100;\\n color: black;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uXFwuLlxcLi5cXC4uXFxuZ3gtZmlsZS1kcm9wLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsWUFBWTtFQUNaLFlBQVk7QUFDZDs7QUFFQTtFQUNFLDBDQUEwQztBQUM1Qzs7QUFFQTtFQUNFLGFBQWE7RUFDYixtQkFBbUI7RUFDbkIsdUJBQXVCO0VBQ3ZCLGFBQWE7RUFDYixjQUFjO0FBQ2hCOztBQUVBO0VBQ0Usa0JBQWtCO0FBQ3BCOztBQUVBO0VBQ0UsYUFBYTtBQUNmOztBQUVBO0VBQ0UsY0FBYztFQUNkLGlCQUFpQjtFQUNqQixrQkFBa0I7RUFDbEIsVUFBVTtFQUNWLHlCQUF5QjtBQUMzQjs7QUFFQTtFQUNFLHlCQUF5QjtFQUN6QixZQUFZO0FBQ2QiLCJmaWxlIjoibmd4LWZpbGUtZHJvcC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5uZ3gtZmlsZS1kcm9wX19kcm9wLXpvbmUge1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBtYXJnaW46IGF1dG87XHJcbn1cclxuXHJcbi5uZ3gtZmlsZS1kcm9wX19kcm9wLXpvbmUtLW92ZXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTQ3LCAxNDcsIDE0NywgMC41KTsgXHJcbn1cclxuXHJcbi5uZ3gtZmlsZS1kcm9wX19jb250ZW50IHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgaGVpZ2h0OiAxMDBweDtcclxuICBjb2xvcjogIzkxOTA4RTtcclxufVxyXG5cclxuLm5neC1maWxlLWRyb3BfX2Ryb3Atem9uZS1sYWJlbCB7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4ubmd4LWZpbGUtZHJvcF9fZmlsZS1pbnB1dCB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLmNlbnRlciB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gIHdpZHRoOiA1MCU7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI0YyOTEwMDtcclxufVxyXG5cclxuLm9yYW5naXVtLWNvbG9yIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjI5MTAwO1xyXG4gIGNvbG9yOiBibGFjaztcclxufVxyXG4iXX0= */\";","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { MenuItemDto } from '../../../services/akita/menu-item-schema/menu-item.dto';\r\n\r\n@Pipe({\r\n name: 'getMenuShowPlusIcon'\r\n})\r\nexport class GetMenuShowPlusIconPipe implements PipeTransform {\r\n\r\n transform(menuDto: MenuItemDto, menuDtos: MenuItemDto[]): string {\r\n\r\n let classes = 'fa fa-plus pb-2 pt-2';\r\n\r\n if (menuDto.isCurrentPage) {\r\n const selectedChild = menuDtos.find(m => m.isCurrentPage && menuDto.menuItem.id === m.menuItem.data.parentMenuItem.iv[0]);\r\n if (!selectedChild) {\r\n classes += 'text-white';\r\n }\r\n }\r\n\r\n let showIcon = ' d-inline';\r\n if (menuDto.isVisible || menuDto.isCurrentPage) {\r\n showIcon = ' d-none';\r\n }\r\n\r\n return classes + showIcon;\r\n\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MonacoEditorModule } from '@materia-ui/ngx-monaco-editor';\r\nimport { MonacoLiquidEditorComponent } from './monaco-liquid-editor.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n MonacoLiquidEditorComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n MonacoEditorModule\r\n ],\r\n exports: [\r\n MonacoLiquidEditorComponent\r\n ],\r\n providers: [{\r\n provide: 'MONACO_PATH',\r\n useValue: 'https://unpkg.com/monaco-editor@0.18.1/min/vs'\r\n }],\r\n})\r\n\r\nexport class MonacoLiquidEditorModule { }\r\n","import { StoreConfig } from '@datorama/akita';\r\nimport { Injectable } from '@angular/core';\r\nimport { BaseStore } from '../base/base.store';\r\n\r\n@Injectable({ providedIn: 'root' })\r\n@StoreConfig({\r\n name: 'article-type',\r\n cache: {\r\n ttl: 15000\r\n }\r\n})\r\nexport class ArticleTypeStore extends BaseStore {\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","export default \"
    \\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\";","import { Injectable } from '@angular/core';\r\nimport { ApplicationUserStore } from './application-user.store';\r\nimport { ApplicationUserQuery } from './application-user.query';\r\nimport { BaseFacade } from '../base/base.facade';\r\nimport { ApplicationUserService } from './application-user.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { DynamicSchemaFactory } from '../dynamic-schema.factory';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ApplicationUserFacade extends BaseFacade {\r\n constructor(\r\n userService: ApplicationUserService,\r\n userStore: ApplicationUserStore,\r\n userQuery: ApplicationUserQuery,\r\n dynamicSchemaFacto: DynamicSchemaFactory,\r\n translateService: TranslateService) {\r\n super(userService,\r\n userStore,\r\n userQuery,\r\n dynamicSchemaFacto.getDynamicSchemaFacade('application-users'),\r\n translateService,\r\n 'application-users-facade'\r\n );\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { DatePipe } from '@angular/common';\r\n\r\n@Pipe({\r\n name: 'getDateTimeValue'\r\n})\r\nexport class GetDateTimeValuePipe implements PipeTransform {\r\n\r\n constructor(private datePipe: DatePipe) { }\r\n\r\n transform(value: any, language: string = 'iv'): string {\r\n\r\n if (!value || !value[language]) {\r\n return '';\r\n }\r\n\r\n return this.datePipe.transform(value[language], \"yyyy/MM/dd HH:mm:ss\", \"UTC -5\");\r\n }\r\n}\r\n","import { Schema, DynamicContentSchemaFactory, FilterPagination } from '../../../services';\r\nimport { map } from 'rxjs/operators';\r\nimport { Observable, combineLatest, of } from 'rxjs';\r\nimport { Injectable } from '@angular/core';\r\nimport {SiteSettingFacade } from '../../../services';\r\nimport { ESchemaContentStatus } from '../../../services/akita/base/enum';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class FieldReferenceContent {\r\n\r\n constructor(\r\n private readonly contentFacadeFacto: DynamicContentSchemaFactory,\r\n private readonly siteSettingFacade: SiteSettingFacade\r\n ) { }\r\n\r\n sortByIndex(a, b) {\r\n\r\n if (!a || !a.data || !b || !b.data) {\r\n return 0;\r\n }\r\n\r\n if (a.data.index && b.data.index) {\r\n if (a.data.index.iv < b.data.index.iv)\r\n return -1;\r\n if (a.data.index.iv > b.data.index.iv)\r\n return 1;\r\n }\r\n\r\n if (a.data.Name && b.data.Name) {\r\n if (a.data.Name.iv < b.data.Name.iv)\r\n return -1;\r\n if (a.data.Name.iv > b.data.Name.iv)\r\n return 1;\r\n }\r\n\r\n return 0;\r\n }\r\n\r\n generateContentList( schemaDefinition: Schema): Observable {\r\n\r\n const result = {};\r\n const referenceFields = schemaDefinition.fields.filter(field => field.properties.fieldType === 'References');\r\n\r\n const obsList: Observable[] = [];\r\n\r\n if (referenceFields && referenceFields.length > 0) {\r\n\r\n referenceFields.forEach(field => {\r\n if (!result[field.name]) {\r\n result[field.name] = [];\r\n }\r\n\r\n const filter = new FilterPagination();\r\n\r\n filter.from = 0;\r\n filter.to = 2000;\r\n if (field.properties.schemaIds && field.properties.schemaIds.length > 0) {\r\n const service = this.contentFacadeFacto.getDynamicContentSchemaFacade(field.properties.schemaIds[0]);\r\n obsList.push(service.getFilteredPagination(filter, ESchemaContentStatus.Published).pipe(map(contents => {\r\n contents.sort(this.sortByIndex).forEach(content => {\r\n let label :string;\r\n\r\n if (content.data.Name) {\r\n label = content.data.Name[this.siteSettingFacade.getCurrentLanguage()];\r\n if (!label) {\r\n label = content.data.code.iv;\r\n }\r\n } else\r\n {\r\n label = content.data.code.iv;\r\n }\r\n\r\n result[field.name].push({\r\n Id: content.id,\r\n Code: content.data.code.iv,\r\n Label: label\r\n });\r\n });\r\n\r\n })));\r\n }\r\n\r\n });\r\n }\r\n if (referenceFields.length === 0) {\r\n return of({});\r\n }\r\n\r\n return combineLatest(obsList).pipe(map(([i]) => {\r\n return result;\r\n }));\r\n }\r\n\r\n generateContentListUnknown(schemaDefinition: any): Observable {\r\n\r\n const result = {};\r\n const referenceFields = schemaDefinition.fields.filter(field => field.properties.fieldType === 'References');\r\n\r\n const obsList: Observable[] = [];\r\n\r\n if (referenceFields && referenceFields.length > 0) {\r\n\r\n referenceFields.forEach(field => {\r\n if (!result[field.name]) {\r\n result[field.name] = [];\r\n }\r\n\r\n const filter = new FilterPagination();\r\n\r\n filter.from = 0;\r\n filter.to = 2000;\r\n if (field.properties.schemaIds && field.properties.schemaIds.length > 0) {\r\n const service = this.contentFacadeFacto.getDynamicContentSchemaFacade(field.properties.schemaIds[0]);\r\n obsList.push(service.getFilteredPagination(filter, ESchemaContentStatus.Published).pipe(map(contents => {\r\n contents.sort(this.sortByIndex).forEach(content => {\r\n let label: string;\r\n\r\n if (content.data.Name) {\r\n label = content.data.Name[this.siteSettingFacade.getCurrentLanguage()];\r\n if (!label) {\r\n label = content.data.code.iv;\r\n }\r\n } else {\r\n label = content.data.code.iv;\r\n }\r\n\r\n result[field.name].push({\r\n Id: content.id,\r\n Code: content.data.code.iv,\r\n Label: label\r\n });\r\n });\r\n\r\n })));\r\n }\r\n\r\n });\r\n }\r\n if (referenceFields.length === 0) {\r\n return of({});\r\n }\r\n\r\n return combineLatest(obsList).pipe(map(([i]) => {\r\n return result;\r\n }));\r\n }\r\n\r\n\r\n}\r\n\r\n","import { Component, OnInit, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-spinner',\r\n templateUrl: './spinner.component.html',\r\n styleUrls: ['./spinner.component.scss']\r\n})\r\nexport class SpinnerComponent implements OnInit {\r\n @Input() public message: string;\r\n constructor() {}\r\n isOverlay: boolean;\r\n\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import { Component, OnInit, AfterViewInit, Input, TemplateRef, Output, EventEmitter, ViewChildren, QueryList } from '@angular/core';\r\nimport {\r\n Schema, DynamicContentModel,\r\n SchemaMetadataModel, DynamicContentSchemaFacade,\r\n Field, ResourceFacade, LanguageModel,\r\n DataParser, SiteSettingFacade, DynamicContentSchemaFactory,\r\n UiNotificationService, Content, AssetFacade, SquidexDate,\r\n ScheduleJob, Asset, FilterPagination, AssetDirectoryFacade, AuthenticationService\r\n} from '../../../services';\r\nimport { BaseComponent } from '../../../base/base-component.component';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { FormGroup, FormControl, ValidatorFn, Validators, AbstractControl } from '@angular/forms';\r\nimport { Observable, of, forkJoin, combineLatest, Subject } from 'rxjs';\r\nimport { map, catchError, mergeMap } from 'rxjs/operators';\r\nimport { FormGroupMapper } from '../../form-group/form-group-mapper.tool';\r\nimport { Router } from '@angular/router';\r\nimport { BsModalRef } from 'ngx-bootstrap/modal/bs-modal-ref.service';\r\nimport { BsModalService } from 'ngx-bootstrap/modal';\r\nimport { BsDatepickerConfig } from 'ngx-bootstrap/datepicker';\r\nimport { AppSchemaCategory, AppToken, Statuses, FieldsName } from '../../../models/app-token';\r\nimport { guid, ID } from '@datorama/akita';\r\nimport { Validation, SquidexTool } from '../../../tools';\r\nimport { SpinnerService } from '../../../shared/spinner/spinner.service';\r\nimport { ESchemaContentStatus } from '../../../services/akita/base/enum';\r\nimport { ContentInternalService } from '../../../services/squidex/services/content-internal.service';\r\nimport { Folder } from '../../../services/squidex/models/folder.model';\r\nimport { FolderList } from '../../../services/squidex/models/folder-list.model';\r\nimport { NgZone } from '@angular/core';\r\nimport { FieldReferenceModel } from \"../../field-reference-editor/FieldReferenceModel.model\";\r\nimport { SchemaMetadataFacade, DynamicSchemaFactory, SchemaPageFacade } from \"../../../services/akita/index\";\r\nimport { SchemasFactory } from \"../../../services/squidex/factories/schemas.factory\";\r\nimport { FieldReferenceContent } from \"../../field/tools/field-reference-content.service\";\r\nimport { FieldControlComponent } from \"../../field/field-control.component\";\r\n\r\n\r\n@Component({\r\n selector: 'app-content-edition',\r\n templateUrl: './content-edition.component.html',\r\n styleUrls: ['./content-edition.component.css']\r\n})\r\nexport class ContentEditionComponent extends BaseComponent implements OnInit {\r\n\r\n @Input()\r\n schemaDefinition: Schema;\r\n\r\n @Input()\r\n selectedContent: DynamicContentModel;\r\n\r\n @Input()\r\n schemaMetadata: SchemaMetadataModel;\r\n\r\n @Input()\r\n currentContentsFacade: DynamicContentSchemaFacade;\r\n\r\n @Input()\r\n referenceFieldValues: any;\r\n\r\n @Input()\r\n referenceFieldReferenceModel: FieldReferenceModel;\r\n\r\n referenceFieldModelParent: FieldReferenceModel;\r\n\r\n\r\n @Input()\r\n monacoLanguage: string;\r\n\r\n @Input()\r\n selectableContents: Content[];\r\n\r\n @Input()\r\n contentCount: number;\r\n\r\n @Input()\r\n isSingle: boolean = false;\r\n\r\n @Input()\r\n isModal: boolean = false;\r\n\r\n @Input()\r\n showTitle: boolean = true;\r\n\r\n @Output()\r\n onContentChanged = new EventEmitter();\r\n\r\n @Output()\r\n onUpdate = new EventEmitter();\r\n\r\n newImage: any[] = [];\r\n\r\n deletedAssets: any[] = [];\r\n\r\n folderParentId: string;\r\n folderList: FolderList;\r\n\r\n alreadyTried: boolean = false;\r\n\r\n editionFormGroup: FormGroup;\r\n publishFormGroup: FormGroup;\r\n\r\n unhiddenFields: Field[];\r\n hiddenFields: Field[];\r\n\r\n availableLanguages: LanguageModel[];\r\n dataParser: DataParser;\r\n\r\n modalRef: BsModalRef;\r\n bsConfig: Partial;\r\n isNew = false;\r\n\r\n userIsOwner: boolean;\r\n userIsDev: boolean;\r\n userIsEditor: boolean;\r\n userIsReadWrite: boolean;\r\n userIsReader: boolean;\r\n\r\n isDraft: boolean = false;\r\n statusColorClassName: string;\r\n scheduledJob: ScheduleJob;\r\n draftMode: boolean = false;\r\n currentStatus: string;\r\n draftVersionExist: boolean = false;\r\n publishMode: boolean = false;\r\n updateParent = true;\r\n\r\n imageChange: boolean = false;\r\n cloneData: any;\r\n showAction: boolean = false;\r\n\r\n fieldReferenceModel: FieldReferenceModel;\r\n fieldReferenceModelParent: FieldReferenceModel;\r\n\r\n\r\n\r\n private isOpen: boolean;\r\n private isModified: boolean;\r\n private lastModified: string;\r\n private title: string;\r\n private contentType: string;\r\n private contentDefinition: any;\r\n\r\n\r\n private weAreInContents: boolean = true;\r\n\r\n\r\n @Input()\r\n hideFieldReferenceModelEditor: boolean;\r\n\r\n @Input()\r\n reloadOnUpdate: boolean;\r\n\r\n @Input()\r\n publishOnUpdate: boolean;\r\n\r\n @ViewChildren(FieldControlComponent) fieldControls: QueryList;\r\n\r\n squidexTool: SquidexTool;\r\n\r\n addValue: boolean = false;\r\n\r\n constructor(\r\n private readonly resourceFacade: ResourceFacade,\r\n private readonly metadataFacade: SchemaMetadataFacade,\r\n private readonly schemasFactory: SchemasFactory,\r\n private readonly schemaPageFacade: SchemaPageFacade,\r\n private readonly contentFacadeFactory: DynamicContentSchemaFactory,\r\n private readonly dynamicSchemaFactory: DynamicSchemaFactory,\r\n private readonly referenceContentService: FieldReferenceContent,\r\n private readonly siteSettingFacade: SiteSettingFacade,\r\n private readonly modalService: BsModalService,\r\n private readonly uiNotificationService: UiNotificationService,\r\n readonly router: Router,\r\n private readonly spinnerService: SpinnerService,\r\n translateService: TranslateService,\r\n private readonly assetFacade: AssetFacade,\r\n private readonly contentInternalService: ContentInternalService,\r\n private readonly assetDirectoryFacade: AssetDirectoryFacade,\r\n private readonly authenticationService: AuthenticationService,\r\n private zone: NgZone,\r\n ) {\r\n super(translateService);\r\n this.setTranslateContext('ContentEditionComponent');\r\n this.reloadOnUpdate = true;\r\n //this.hideFieldReferenceModelEditor = true;\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.userIsOwner = this.authenticationService.userHasRole(\"Owner\");\r\n this.userIsDev = this.authenticationService.userHasRole(\"Developer\");\r\n this.userIsEditor = this.authenticationService.userHasRole(\"Editor\");\r\n this.userIsReadWrite = this.authenticationService.userHasRole(\"ReadWrite\");\r\n this.userIsReader = this.authenticationService.userHasRole(\"Reader\");\r\n\r\n this.squidexTool = new SquidexTool();\r\n\r\n this.siteSettingFacade.getSiteLanguages().subscribe(languages => {\r\n this.availableLanguages = languages;\r\n this.dataParser = new DataParser(languages);\r\n this.initData(false);\r\n this.initEditionForm();\r\n });\r\n\r\n const subsDir = this.assetDirectoryFacade.getFolders().subscribe(fs => {\r\n this.folderList = fs;\r\n });\r\n this.subscriptions.push(subsDir);\r\n\r\n const urlTree = this.router.parseUrl(this.router.url);\r\n const currentBaseUrl = urlTree.root.children['primary'].segments[0].path;\r\n\r\n if (currentBaseUrl == 'page') {\r\n this.weAreInContents = false;\r\n } else {\r\n\r\n }\r\n }\r\n\r\n toogleShowAction() {\r\n this.showAction = !this.showAction;\r\n }\r\n\r\n initData(retry: boolean) {\r\n this.bsConfig = Object.assign({},\r\n { containerClass: \"theme-orange\", dateInputFormat: AppToken.ISO_DATES_DATE_TIME_UPDATE });\r\n\r\n if (!this.selectedContent || retry) {\r\n this.selectedContent = new DynamicContentModel();\r\n this.isNew = true;\r\n\r\n const cloneData = localStorage.getItem(\"cloneData-\" + this.schemaDefinition.name);\r\n\r\n if (cloneData) {\r\n this.cloneData = JSON.parse(cloneData);\r\n this.selectedContent.data = this.cloneData;\r\n localStorage.removeItem(\"cloneData-\" + this.schemaDefinition.name);\r\n }\r\n\r\n } else {\r\n if (this.draftMode || (this.selectedContent.newStatus && !this.selectedContent.scheduleJob && !this.publishMode)) {\r\n this.currentStatus = this.selectedContent.newStatus;\r\n this.publishDateTime = '';\r\n } else {\r\n this.currentStatus = this.selectedContent.status;\r\n this.publishDateTime = this.squidexTool.utcToDateString(this.dataParser.pullData(this.selectedContent, \"publishdatetime\"));\r\n }\r\n\r\n if (this.publishDateTime.includes(\"1970-01-01\")) {\r\n this.publishDateTime = '';\r\n }\r\n\r\n this.scheduledJob = this.selectedContent.scheduleJob;\r\n\r\n this.updateStatusAndStatusColor(this.currentStatus);\r\n\r\n // if (!this.publishDateTime) {\r\n this.draftVersionExisted();\r\n //}\r\n // this.getContentDefinition();\r\n\r\n }\r\n }\r\n\r\n initEditionForm() {\r\n if (!this.schemaDefinition) {\r\n return;\r\n }\r\n\r\n this.classifyFields();\r\n this.editionFormGroup = new FormGroup(\r\n this.generateFormGroup(\r\n this.currentContentsFacade,\r\n this.schemaDefinition.fields,\r\n this.hiddenFields.map(field => field.name),\r\n this.selectedContent)\r\n );\r\n\r\n this.createMetaDataFormGroup(this.selectedContent);\r\n\r\n }\r\n\r\n private createMetaDataFormGroup(content: DynamicContentModel): void {\r\n\r\n const fields = Object.keys(content);\r\n\r\n if (!fields.find(s => s === 'scheduleJob')) {\r\n fields.push('scheduleJob');\r\n }\r\n\r\n const metaDataFormGroup: any = {};\r\n let scheduledJob: boolean = false;\r\n\r\n for (let i = 0; i < fields.length; i++) {\r\n const field = fields[i];\r\n\r\n if ((this.publishMode && content.newStatus) || (field === 'scheduleJob' && content.newStatus && content.newStatus === \"Published\")) {\r\n let fieldsValue = content.scheduleJob;\r\n scheduledJob = true\r\n if (!fieldsValue && content.newStatus) {\r\n fieldsValue = { id: null, dueTime: null, scheduledBy: null, status: null };\r\n fieldsValue.dueTime = this.publishDateTime;\r\n this.currentStatus = \"Published\";\r\n }\r\n const fs = Object.keys(fieldsValue);\r\n\r\n const scheduleJobFromGroup: any = {};\r\n\r\n for (let i = 0; i < fs.length; i++) {\r\n scheduleJobFromGroup[fs[i]] = this.createGenericFormControl(fs[i], fieldsValue);\r\n }\r\n\r\n metaDataFormGroup[field] = new FormGroup(scheduleJobFromGroup);\r\n } else {\r\n metaDataFormGroup[field] = this.createGenericFormControl(field, content);\r\n }\r\n }\r\n\r\n if (!scheduledJob) {\r\n let fieldsValue = { id: null, dueTime: null, scheduledBy: null, status: null };\r\n\r\n if (content.data.publishdatetime) {\r\n fieldsValue.dueTime = this.publishDateTime;\r\n }\r\n const fs = Object.keys(fieldsValue);\r\n const scheduleJobFromGroup: any = {};\r\n\r\n for (let i = 0; i < fs.length; i++) {\r\n scheduleJobFromGroup[fs[i]] = this.createGenericFormControl(fs[i], fieldsValue);\r\n }\r\n metaDataFormGroup['scheduleJob'] = new FormGroup(scheduleJobFromGroup);\r\n\r\n }\r\n\r\n this.publishFormGroup = new FormGroup(metaDataFormGroup);\r\n }\r\n\r\n private setJobStatusFormGroup(content: DynamicContentModel): void {\r\n\r\n const metaDataFormGroup: any = {};\r\n let scheduledJob: boolean = false;\r\n\r\n let fieldsValue = { id: null, dueTime: null, scheduledBy: null, status: null };\r\n\r\n if (content.data.publishdatetime && this.currentStatus === 'Published') {\r\n fieldsValue.dueTime = this.squidexTool.utcToDateString(this.dataParser.pullData(content, 'publishdatetime'));\r\n } else if (this.currentStatus === 'Draft') {\r\n fieldsValue.dueTime = null;\r\n } else {\r\n fieldsValue.dueTime = this.publishDateTime;\r\n }\r\n const fs = Object.keys(fieldsValue);\r\n const scheduleJobFromGroup: any = {};\r\n\r\n for (let i = 0; i < fs.length; i++) {\r\n scheduleJobFromGroup[fs[i]] = this.createGenericFormControl(fs[i], fieldsValue);\r\n }\r\n metaDataFormGroup['scheduleJob'] = new FormGroup(scheduleJobFromGroup);\r\n\r\n this.publishFormGroup = new FormGroup(metaDataFormGroup);\r\n }\r\n\r\n private createGenericFormControl(field: string, content: any, isRequired: boolean = false): FormControl {\r\n\r\n const fieldValue = content[field];\r\n\r\n const control = new FormControl(fieldValue);\r\n\r\n const validators: ValidatorFn[] = [];\r\n\r\n if (isRequired) {\r\n validators.push(Validators.required);\r\n }\r\n\r\n control.setValidators(validators);\r\n\r\n return control;\r\n }\r\n\r\n private updateStatusAndStatusColor(status: string) {\r\n switch (status) {\r\n case Statuses.PUBLISHED.name:\r\n this.isDraft = false;\r\n this.statusColorClassName = 'badge green-badge';\r\n break;\r\n case Statuses.DRAFT.name:\r\n this.isDraft = true;\r\n this.statusColorClassName = 'badge draft-badge';\r\n break;\r\n default:\r\n this.statusColorClassName = 'badge red-badge';\r\n }\r\n }\r\n\r\n private updateStatusSelect(e) {\r\n this.updateStatusAndStatusColor(e.target.value);\r\n }\r\n\r\n private draftVersionExisted() {\r\n if (!this.selectedContent.newStatus && this.selectedContent.status === 'Draft' && !this.selectedContent.scheduleJob) {\r\n this.draftVersionExist = true;\r\n this.draftMode = true;\r\n this.publishDateTime = '';\r\n } else {\r\n if (this.selectedContent.scheduleJob) {\r\n this.currentStatus = \"Published\"\r\n } else {\r\n this.currentContentsFacade.get(this.selectedContent.id, true).subscribe(p => {\r\n if (p.newStatus) {\r\n this.draftVersionExist = true;\r\n this.draftMode = true;\r\n this.publishDateTime = '';\r\n } else {\r\n this.draftVersionExist = false;\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n getFieldLabel(fieldName: string): Observable {\r\n const resourceCode = `${this.schemaName}.${fieldName}.label`;\r\n return this.resourceFacade.getByCode(resourceCode).pipe(map(resource => {\r\n const value = resource.data.value[this.languageFacade.getDefaultLanguage()];\r\n if (resource && value) {\r\n return value as string;\r\n }\r\n return '';\r\n }),\r\n catchError(err => {\r\n return of('failed');\r\n }));\r\n }\r\n\r\n classifyFields(): void {\r\n if (!this.schemaMetadata) {\r\n return;\r\n }\r\n\r\n let hiddenFieldsNames = (this.schemaMetadata.data.hiddenfields.iv as string).split(';');\r\n this.unhiddenFields = [];\r\n\r\n this.hiddenFields = this.schemaDefinition.fields.filter(field => hiddenFieldsNames.filter(field => !this.isNew || field !== 'code')\r\n .some(hiddenFieldName => field.name === hiddenFieldName));\r\n\r\n //the point is to keep code first\r\n this.unhiddenFields = this.schemaDefinition.fields.filter(field => this.isNew && field.name === \"code\");\r\n\r\n this.unhiddenFields = this.unhiddenFields.concat(this.schemaDefinition.fields.filter(field => !hiddenFieldsNames\r\n .some(hiddenFieldName => field.name === hiddenFieldName)));\r\n\r\n }\r\n\r\n createContent(addValue?: boolean): void {\r\n this.alreadyTried = true;\r\n\r\n if (this.editionFormGroup.invalid) {\r\n this.editionFormGroup.markAllAsTouched();\r\n this.currentContentsFacade.translate('T').subscribe(c => {\r\n this.uiNotificationService.error(c.CONTENT_EDITION.INVALID_FORM, c.FAILED_TITLE, 10000);\r\n });\r\n console.error('Edition form group invallid : ');\r\n console.error(this.editionFormGroup);\r\n return;\r\n }\r\n\r\n if (this.selectableContents.map(c => c.data.code.iv).find(cn => cn === this.editionFormGroup.value['code'])) {\r\n this.currentContentsFacade.translate('T').subscribe(c => {\r\n this.uiNotificationService.error(c.CODE_TAKEN, c.FAILED_TITLE, 10000);\r\n });\r\n return;\r\n }\r\n\r\n let newContent = new DynamicContentModel(this.selectedContent);\r\n newContent = FormGroupMapper.GetContentFromFormGroup(this.editionFormGroup,\r\n newContent,\r\n this.schemaDefinition,\r\n this.availableLanguages);\r\n\r\n const squidexTool = new SquidexTool();\r\n let sanitizedCode = squidexTool.sanitizeForUniqueName(this.editionFormGroup.value['code']);\r\n\r\n newContent.data.code.iv = sanitizedCode;\r\n newContent.data['index'] = { 'iv': this.contentCount + 1 };\r\n\r\n if (this.schemaDefinition.category === AppSchemaCategory.SCHEMA_AS_A_PAGE) {\r\n const urls = new Array();\r\n for (const language of this.availableLanguages.map(languages => languages.data.code.iv)) {\r\n urls.push(this.dataParser.pullData(newContent, 'url', language));\r\n }\r\n\r\n const urlsDistinct = [...new Set(urls)];\r\n if (urls.length > urlsDistinct.length) {\r\n this.currentContentsFacade.translate('T').subscribe(c => {\r\n this.uiNotificationService.error(c.URL_NOT_DISTINCT, c.FAILED_TITLE, 10000);\r\n });\r\n return;\r\n }\r\n let startWithSlash: boolean = true;\r\n urls.forEach(url => {\r\n if (url && !url.trim().startsWith('/')) {\r\n startWithSlash = false;\r\n console.log('Doesn\\'t start with \\'/\\' while been a page... I guess :/');\r\n return;\r\n }\r\n });\r\n\r\n if (!startWithSlash) {\r\n this.currentContentsFacade.translate('T').subscribe(c => {\r\n this.uiNotificationService.error(c.URL_START_SLASH, c.FAILED_TITLE, 10000);\r\n });\r\n return;\r\n }\r\n\r\n\r\n let validateBatch: Observable[] = []\r\n\r\n for (const lg of this.availableLanguages.map(languages => languages.data.code.iv)) {\r\n\r\n let filterList: object[] = new Array();\r\n\r\n const allVersionParm = new FilterPagination();\r\n allVersionParm.from = 0;\r\n allVersionParm.to = 1;\r\n allVersionParm.filter = '';\r\n allVersionParm.orderBy = 'lastModified descending';\r\n\r\n\r\n for (const language of this.availableLanguages.map(languages => languages.data.code.iv)) {\r\n let data: any = {};\r\n data = {\r\n path: `data.url.${lg}`,\r\n op: 'eq',\r\n value: this.dataParser.pullData(newContent, 'url', language)\r\n };\r\n\r\n filterList.push(data);\r\n }\r\n\r\n let orFilter: any = {};\r\n orFilter = {\r\n or: filterList\r\n }\r\n\r\n validateBatch.push(this.currentContentsFacade.validateUrl(allVersionParm, ESchemaContentStatus.All, orFilter));\r\n }\r\n\r\n forkJoin(validateBatch).subscribe(totalArr => {\r\n\r\n let total: number = 0;\r\n\r\n for (const num of totalArr) {\r\n total += num.valueOf();\r\n }\r\n\r\n if (total > 0) {\r\n this.currentContentsFacade.translate('T').subscribe(c => {\r\n this.uiNotificationService.error(c.URL_TAKEN, c.FAILED_TITLE, 10000);\r\n });\r\n return;\r\n }\r\n\r\n let hasImage = false;\r\n for (let i = 0; i < this.schemaDefinition.fields.length; i++) {\r\n const field = this.schemaDefinition.fields[i];\r\n if (field.properties.fieldType === 'Assets') {\r\n const idx = this.hiddenFields.findIndex(v => v.name === field.name)\r\n if (idx === -1) {\r\n this.dataParser.putData(newContent.data, field.name, '', 'iv', field);\r\n hasImage = true;\r\n }\r\n }\r\n }\r\n\r\n this.dataParser.putData(newContent, FieldsName.ISSECURE, false);\r\n this.dataParser.putData(newContent, FieldsName.ISNOINDEX, false);\r\n this.dataParser.putData(newContent, FieldsName.ISACTIVE, true);\r\n\r\n if (hasImage) {\r\n this.addImageField(newContent);\r\n } else {\r\n this.finalizeCreate(newContent);\r\n }\r\n\r\n });\r\n } else {\r\n\r\n if (!this.validatePatterns(newContent)) {\r\n return;\r\n }\r\n\r\n let hasImage = false;\r\n for (let i = 0; i < this.schemaDefinition.fields.length; i++) {\r\n const field = this.schemaDefinition.fields[i];\r\n if (field.properties.fieldType === 'Assets') {\r\n this.dataParser.putData(newContent.data, field.name, '', 'iv', field);\r\n hasImage = true;\r\n }\r\n }\r\n\r\n if (hasImage) {\r\n this.addImageField(newContent);\r\n } else {\r\n this.finalizeCreate(newContent);\r\n }\r\n }\r\n }\r\n\r\n getUrl(urlTree: any) {\r\n let url = `${urlTree.root.children['primary'].segments[0].path}`;\r\n if (urlTree.root.children['primary'].segments.length > 1) {\r\n url += `/${urlTree.root.children['primary'].segments[1].path}`;\r\n }\r\n return url;\r\n }\r\n\r\n public updateContent(updateParent = true) {\r\n this.alreadyTried = true;\r\n this.updateParent = updateParent;\r\n\r\n if (this.editionFormGroup.invalid) {\r\n this.editionFormGroup.markAllAsTouched();\r\n return;\r\n }\r\n\r\n let newContent = new DynamicContentModel(this.selectedContent);\r\n\r\n\r\n newContent = FormGroupMapper.GetContentFromFormGroup(this.editionFormGroup,\r\n newContent,\r\n this.schemaDefinition,\r\n this.availableLanguages);\r\n\r\n //Update status if published in future\r\n let dueTime = new Date(this.publishFormGroup.value.scheduleJob.dueTime ?? Date.now);\r\n\r\n let now = new Date();\r\n let publishStatus: string;\r\n\r\n if (this.selectedContent.newStatus) {\r\n publishStatus = this.selectedContent.newStatus;\r\n } else {\r\n publishStatus = this.selectedContent.status;\r\n }\r\n\r\n if ((publishStatus !== this.currentStatus) || this.publishFormGroup.touched) {\r\n this.currentStatus = 'Published';\r\n\r\n let publishDate: string = null;\r\n if (this.publishFormGroup.value.scheduleJob.dueTime > now) {\r\n publishDate = new SquidexDate(dueTime).format();\r\n this.dataParser.putData(newContent.data, 'publishdatetime', publishDate);\r\n } else {\r\n const dt = new SquidexDate(now).format();\r\n this.publishFormGroup.value.scheduleJob.dueTime = null;\r\n this.dataParser.putData(newContent.data, 'publishdatetime', dt);\r\n }\r\n\r\n this.currentContentsFacade.updateStatus(this.selectedContent.id, this.currentStatus, publishDate)\r\n .subscribe(content => {\r\n this.selectedContent = content;\r\n if (content.newStatus) {\r\n this.currentStatus = content.newStatus;\r\n } else {\r\n this.currentStatus = content.status;\r\n }\r\n this.scheduledJob = content.scheduleJob;\r\n this.updateStatusAndStatusColor(this.currentStatus);\r\n\r\n this.notify(this.currentStatus);\r\n });\r\n }\r\n else {\r\n let publishDate = this.dataParser.pullData(newContent, 'publishdatetime');\r\n if (publishDate.substring(0, 2) === '19') {\r\n publishDate = new SquidexDate(new Date()).format();\r\n }\r\n }\r\n\r\n //update images\r\n this.imageChange = false;\r\n\r\n for (let i = 0; i < this.schemaDefinition.fields.length; i++) {\r\n const field = this.schemaDefinition.fields[i];\r\n const elem: HTMLImageElement = document.querySelector('.thumbnail-div-' + field.name);\r\n if (elem && (elem.classList.contains(\"image-changed\") || elem.classList.contains(\"image-deleted\"))) {\r\n this.imageChange = true;\r\n }\r\n }\r\n\r\n const delImages = document.querySelector(\".image-deleted\");\r\n if (delImages) {\r\n this.imageChange = true;\r\n }\r\n\r\n if (this.deletedAssets.length > 0 || this.newImage.length > 0) {\r\n this.updateImageField(newContent);\r\n } else { // No image\r\n this.finalizeUpdate(newContent);\r\n }\r\n }\r\n\r\n updateImageField(newContent: DynamicContentModel) {\r\n const directoryName = 'Content-' + (this.selectedContent.schemaName ?? this.schemaDefinition.name);\r\n\r\n this.spinnerService.show();\r\n const folderExist: Folder = this.folderList.items.find(item => item.folderName === directoryName);\r\n if (!folderExist) {\r\n const folderNew = new Folder();\r\n folderNew.folderName = directoryName;\r\n const subs = this.assetDirectoryFacade.createFolder(folderNew).subscribe(f => {\r\n this.folderParentId = f.id;\r\n this.folderList.items.push(folderNew)\r\n this.finalizeUpdateImageField(newContent, directoryName);\r\n });\r\n this.subscriptions.push(subs);\r\n } else {\r\n this.folderParentId = folderExist.id;\r\n this.finalizeUpdateImageField(newContent, directoryName);\r\n }\r\n }\r\n\r\n finalizeUpdateImageField(newContent: DynamicContentModel, directoryName: string) {\r\n let assetsBatch: Observable[] = []\r\n let deleteButKeepImage = false;\r\n\r\n for (let i = 0; i < this.schemaDefinition.fields.length; i++) {\r\n const field = this.schemaDefinition.fields[i]\r\n if (field.properties.fieldType === 'Assets') {\r\n\r\n let resultDelete: any = this.deletedAssets.find(e => e.fieldName === field.name);\r\n if (resultDelete) {\r\n resultDelete.assets.forEach(asset => {\r\n\r\n // Verify if image is used by other control. if so, don't delete\r\n Object.keys(this.editionFormGroup.controls).forEach((key) => {\r\n const ctrl = this.editionFormGroup.controls[key]\r\n if (Array.isArray(ctrl.value) && ctrl.value.length >= 1 && ctrl.value[0] === asset.id && field.name != key) {\r\n deleteButKeepImage = true;\r\n }\r\n });\r\n if (!deleteButKeepImage) {\r\n assetsBatch.push(this.assetFacade.remove(asset.id));\r\n }\r\n\r\n let assetVal: [] = this.dataParser.pullData(newContent, field.name);\r\n const idx = assetVal.findIndex(a => a === asset.id);\r\n if (idx > 0) {\r\n assetVal.splice(idx);\r\n newContent.data = this.dataParser.putData(newContent.data, field.name, assetVal);\r\n } else if (idx === 0) {\r\n assetVal = [];\r\n newContent.data = this.dataParser.putData(newContent.data, field.name, assetVal);\r\n }\r\n });\r\n }\r\n\r\n let result: any = this.newImage.find(e => e.fieldName === field.name);\r\n if (result) {\r\n result.files.forEach(file => {\r\n if (resultDelete && resultDelete.assets.find(e => e.id === file.id)) {\r\n return;\r\n }\r\n\r\n const formData = new FormData();\r\n formData.append('file', file);\r\n assetsBatch.push(this.assetFacade.create(formData, null, directoryName, field.name, '', this.folderParentId));\r\n });\r\n\r\n const assetValue = this.dataParser.pullData(newContent, field.name);\r\n if (!Array.isArray(assetValue)) {\r\n newContent.data = this.dataParser.setData(newContent.data, field, '');\r\n }\r\n }\r\n\r\n\r\n }\r\n }\r\n\r\n let index = 0;\r\n if (assetsBatch.length > 0) {\r\n combineLatest(assetsBatch).subscribe(assetsBack => {\r\n assetsBack.forEach((asset) => {\r\n let fieldName = '';\r\n if (asset) {\r\n const field = this.schemaDefinition.fields.find(obj => obj.name === asset.fieldName);\r\n if (field) {\r\n newContent.data = this.dataParser.setData(newContent.data, field, asset.id);\r\n }\r\n }\r\n index++;\r\n if (index === assetsBatch.length) {\r\n this.finalizeUpdate(newContent);\r\n }\r\n });\r\n },\r\n err => {\r\n // this.spinnerService.hide();\r\n }\r\n );\r\n\r\n } else if (deleteButKeepImage) {\r\n this.finalizeUpdate(newContent);\r\n } else {\r\n this.spinnerService.hide();\r\n }\r\n }\r\n\r\n addImageField(newContent: DynamicContentModel) {\r\n\r\n this.spinnerService.show();\r\n const directoryName = 'Content-' + (this.selectedContent.schemaName ?? this.schemaDefinition.name);\r\n\r\n const folderExist: Folder = this.folderList.items.find(item => item.folderName === directoryName);\r\n\r\n if (!folderExist) {\r\n const folderNew = new Folder();\r\n folderNew.folderName = directoryName;\r\n const subs = this.assetDirectoryFacade.createFolder(folderNew).subscribe(f => {\r\n this.folderParentId = f.id;\r\n folderNew.id = f.id;\r\n this.folderList.items.push(folderNew);\r\n this.finalizeUpdateImageField(newContent, directoryName);\r\n });\r\n this.subscriptions.push(subs);\r\n } else {\r\n this.folderParentId = folderExist.id;\r\n this.finalizeAddImageField(newContent, directoryName);\r\n }\r\n }\r\n\r\n finalizeAddImageField(newContent: DynamicContentModel, directoryName: string) {\r\n let assetsBatch: Observable[] = []\r\n\r\n for (let i = 0; i < this.schemaDefinition.fields.length; i++) {\r\n const field = this.schemaDefinition.fields[i];\r\n if (field.properties.fieldType === 'Assets') {\r\n\r\n let resultDelete: any = this.deletedAssets.find(e => e.fieldName === field.name);\r\n if (resultDelete) {\r\n resultDelete.assets.forEach(asset => {\r\n assetsBatch.push(this.assetFacade.remove(asset.id));\r\n });\r\n }\r\n\r\n let result: any = this.newImage.find(e => e.fieldName === field.name);\r\n if (result) {\r\n result.files.forEach(file => {\r\n if (resultDelete && resultDelete.assets.find(e => e.id === file.id)) {\r\n return;\r\n }\r\n\r\n const formData = new FormData();\r\n formData.append('file', file);\r\n\r\n assetsBatch.push(this.assetFacade.create(formData, null, directoryName, field.name));\r\n });\r\n }\r\n }\r\n }\r\n\r\n if (assetsBatch.length > 0) {\r\n combineLatest(assetsBatch).subscribe(assetsBack => {\r\n assetsBack.forEach(asset => {\r\n if (asset) {\r\n const field = this.schemaDefinition.fields.find(obj => obj.name === asset.fieldName);\r\n if (field) {\r\n newContent.data = this.dataParser.setData(newContent.data, field, asset.id);\r\n }\r\n }\r\n\r\n });\r\n this.finalizeCreate(newContent);\r\n this.spinnerService.hide();\r\n },\r\n err => {\r\n this.spinnerService.hide();\r\n }\r\n );\r\n } else {\r\n this.finalizeCreate(newContent);\r\n this.spinnerService.hide();\r\n }\r\n }\r\n\r\n finalizeCreate(newContent: DynamicContentModel) {\r\n\r\n let createFunction: Observable;\r\n\r\n if (this.publishOnUpdate) {\r\n createFunction = this.currentContentsFacade.createAsPublished(newContent.data);\r\n }\r\n else {\r\n createFunction = this.currentContentsFacade.create(newContent.data);\r\n }\r\n\r\n const datePublished = new Date()\r\n datePublished.setHours(0, 0, 0, 0);\r\n const dt = new SquidexDate(datePublished.setHours(0, 0, 0, 0)).format();\r\n\r\n this.dataParser.putData(newContent.data, \"publishdatetime\", dt);\r\n\r\n\r\n const subscription = createFunction.subscribe(content => {\r\n const urlTree = this.router.parseUrl(this.router.url);\r\n const currentBaseUrl = this.getUrl(urlTree);\r\n\r\n if (this.schemaDefinition.category === AppSchemaCategory.SCHEMA_AS_A_PAGE) {\r\n //creation menu item\r\n const menuItemFacade = this.contentFacadeFactory.getDynamicContentSchemaFacade(AppToken.MENU_ITEM_SCHEMA_NAME);\r\n let isExcu1 = false;\r\n\r\n let subs: any[] = [];\r\n\r\n const menuItemFacadeSub = menuItemFacade.getByCode(this.schemaDefinition.name);\r\n\r\n //creation schema-page relation page/content\r\n const pageFacade = this.contentFacadeFactory.getDynamicContentSchemaFacade(AppToken.PAGE_SCHEMA_NAME);\r\n\r\n let isExcu = false;\r\n const subSchemaPageFacade = pageFacade.getByCode(this.schemaDefinition.name);\r\n\r\n this.spinnerService.hide();\r\n\r\n combineLatest([menuItemFacadeSub, subSchemaPageFacade]).subscribe(val => {\r\n\r\n let parentMenuItem: any;\r\n\r\n let menuItemFacadeSub: any;\r\n let subPageFacade: any;\r\n\r\n val.forEach(v => {\r\n let item: any = v;\r\n if (item.schemaName === 'menu-item') {\r\n if (item && !isExcu1) {\r\n const newMenuItemData: any = {};\r\n const ids: string[] = [];\r\n ids.push(item.id);\r\n this.dataParser.putData(newMenuItemData, FieldsName.CODE, this.dataParser.pullData(content, 'code'));\r\n this.dataParser.putData(newMenuItemData, FieldsName.PAGE, content.id);\r\n this.dataParser.putData(newMenuItemData, FieldsName.PARENT_MENU_ITEM, ids);\r\n this.dataParser.putData(newMenuItemData, FieldsName.SCHEMA_NAME, this.schemaDefinition.name);\r\n this.dataParser.putData(newMenuItemData, FieldsName.INDEX, 0);\r\n isExcu1 = true;\r\n menuItemFacadeSub = menuItemFacade.createAsPublished(newMenuItemData);\r\n this.spinnerService.hide();\r\n }\r\n } else if (item.schemaName === 'page') {\r\n if (item && !isExcu) {\r\n const newSchemaPageData: any = {};\r\n this.dataParser.putData(newSchemaPageData, FieldsName.CODE, content.id);\r\n this.dataParser.putData(newSchemaPageData, FieldsName.PAGE_ID, item.id);\r\n this.dataParser.putData(newSchemaPageData, FieldsName.CONTENT_TYPE, this.schemaDefinition.name);\r\n this.dataParser.putData(newSchemaPageData, FieldsName.CONTENT_ID, content.id);\r\n this.dataParser.putData(newSchemaPageData, FieldsName.INDEX, 0);\r\n subPageFacade = this.schemaPageFacade.createAsPublished(newSchemaPageData);\r\n isExcu = true;\r\n }\r\n\r\n };\r\n });\r\n this.spinnerService.hide();\r\n combineLatest([menuItemFacadeSub, subPageFacade]).subscribe(() => {\r\n if (this.reloadOnUpdate) {\r\n this.currentContentsFacade.translate('T').subscribe(c => {\r\n this.uiNotificationService.success(c.UPDATE_SUCCESS, c.SUCCESS_TITLE);\r\n this.router.navigateByUrl(`${currentBaseUrl}/${newContent.data.code.iv}`);\r\n });\r\n } else {\r\n this.currentContentsFacade.translate('T').subscribe(c => {\r\n this.uiNotificationService.success(c.UPDATE_SUCCESS, c.SUCCESS_TITLE);\r\n });\r\n }\r\n });\r\n\r\n });\r\n this.executeContentChanged(content);\r\n } else {\r\n this.isNew = false;\r\n this.executeContentChanged(content);\r\n\r\n this.spinnerService.hide();\r\n if (this.reloadOnUpdate) {\r\n this.router.navigateByUrl(`${currentBaseUrl}/${newContent.data.code.iv}`);\r\n } else {\r\n this.currentContentsFacade.translate('T').subscribe(c => {\r\n this.uiNotificationService.success(c.UPDATE_SUCCESS, c.SUCCESS_TITLE);\r\n });\r\n }\r\n }\r\n });\r\n this.subscriptions.push(subscription);\r\n }\r\n\r\n finalizeUpdate(newContent: DynamicContentModel) {\r\n if (this.schemaDefinition.category === AppSchemaCategory.SCHEMA_AS_A_PAGE) {\r\n\r\n const urls = new Array();\r\n for (const language of this.availableLanguages.map(languages => languages.data.code.iv)) {\r\n urls.push(this.dataParser.pullData(newContent, 'url', language));\r\n }\r\n\r\n const urlsDistinct = [...new Set(urls)];\r\n if (urls.length > urlsDistinct.length) {\r\n this.currentContentsFacade.translate('T').subscribe(c => {\r\n this.uiNotificationService.error(c.URL_NOT_DISTINCT, c.FAILED_TITLE, 10000);\r\n this.spinnerService.hide();\r\n });\r\n return false;\r\n }\r\n let startWithSlash: boolean = true;\r\n urls.forEach(url => {\r\n if (!url.trim().startsWith('/')) {\r\n startWithSlash = false;\r\n return;\r\n }\r\n });\r\n\r\n if (!startWithSlash) {\r\n this.currentContentsFacade.translate('T').subscribe(c => {\r\n this.uiNotificationService.error(c.URL_START_SLASH, c.FAILED_TITLE, 10000);\r\n this.spinnerService.hide();\r\n });\r\n return false;\r\n }\r\n\r\n\r\n let validateBatch: Observable[] = []\r\n\r\n for (const lg of this.availableLanguages.map(languages => languages.data.code.iv)) {\r\n\r\n let filterList: object[] = new Array();\r\n\r\n const allVersionParm = new FilterPagination();\r\n allVersionParm.from = 0;\r\n allVersionParm.to = 1;\r\n allVersionParm.filter = '';\r\n allVersionParm.orderBy = 'lastModified descending';\r\n\r\n\r\n for (const language of this.availableLanguages.map(languages => languages.data.code.iv)) {\r\n let data: any = {};\r\n data = {\r\n path: `data.url.${lg}`,\r\n op: 'eq',\r\n value: this.dataParser.pullData(newContent, 'url', language)\r\n };\r\n\r\n filterList.push(data);\r\n }\r\n\r\n let orFilter: any = {};\r\n orFilter = {\r\n or: filterList\r\n }\r\n\r\n validateBatch.push(this.currentContentsFacade.validateUrl(allVersionParm, ESchemaContentStatus.All, orFilter, this.selectedContent));\r\n }\r\n\r\n forkJoin(validateBatch).subscribe(totalArr => {\r\n\r\n let total: number = 0;\r\n\r\n for (const num of totalArr) {\r\n total += num.valueOf();\r\n }\r\n\r\n if (total > 0) {\r\n this.currentContentsFacade.translate('T').subscribe(c => {\r\n this.uiNotificationService.error(c.URL_TAKEN, c.FAILED_TITLE);\r\n this.spinnerService.hide();\r\n });\r\n return;\r\n }\r\n\r\n const subscription = this.currentContentsFacade.update(newContent.id, newContent.data).subscribe(() => {\r\n this.isNew = false;\r\n if (newContent.data.code.iv !== this.selectedContent.data.code.iv) {\r\n const urlTree = this.router.parseUrl(this.router.url);\r\n const currentBaseUrl = this.getUrl(urlTree);\r\n\r\n if (this.reloadOnUpdate) {\r\n this.router.navigateByUrl(`${currentBaseUrl}/${newContent.data.code.iv}`);\r\n return;\r\n }\r\n }\r\n this.selectedContent = newContent;\r\n this.currentContentsFacade.translate('T').subscribe(c => {\r\n this.uiNotificationService.success(c.UPDATE_CONTENT_SUCCESS, c.SUCCESS_TITLE);\r\n this.resetImageElements();\r\n let setPublished: boolean = false;\r\n if (this.publishFormGroup.touched) {\r\n if (this.publishFormGroup.value.scheduleJob && this.publishFormGroup.value.scheduleJob.dueTime) {\r\n this.currentStatus = 'Published'\r\n }\r\n }\r\n this.setJobStatusFormGroup(this.selectedContent);\r\n this.spinnerService.hide();\r\n });\r\n this.executeContentChanged(newContent);\r\n });\r\n this.subscriptions.push(subscription);\r\n });\r\n\r\n } else {\r\n if (!this.validatePatterns(newContent)) {\r\n this.spinnerService.hide();\r\n return false;\r\n }\r\n\r\n const subscription = this.currentContentsFacade.update(newContent.id, newContent.data).subscribe(() => {\r\n if (this.reloadOnUpdate && newContent.data.code.iv !== this.selectedContent.data.code.iv) {\r\n const urlTree = this.router.parseUrl(this.router.url);\r\n const currentBaseUrl = this.getUrl(urlTree);\r\n this.router.navigateByUrl(`${currentBaseUrl}/${newContent.data.code.iv}`);\r\n return;\r\n }\r\n\r\n this.selectedContent = newContent;\r\n this.currentContentsFacade.translate('T').subscribe(c => {\r\n this.spinnerService.hide();\r\n if (this.imageChange) {\r\n this.uiNotificationService.success(c.UPDATE_CONTENT_SUCCESS, c.SUCCESS_TITLE);\r\n this.reloadCurrentRoute();\r\n } else {\r\n this.uiNotificationService.success(c.UPDATE_CONTENT_SUCCESS, c.SUCCESS_TITLE, 500);\r\n }\r\n });\r\n this.executeContentChanged(newContent);\r\n },\r\n err => {\r\n let msg = '';\r\n for (const errorDetail of err.error.details) {\r\n msg += errorDetail + '\\n';\r\n }\r\n this.resourceFacade.translate('T').subscribe(c => {\r\n this.uiNotificationService.error(msg, c.ERROR);\r\n });\r\n this.spinnerService.hide();\r\n });\r\n this.subscriptions.push(subscription);\r\n }\r\n return true;\r\n }\r\n\r\n resetImageElements() {\r\n this.deletedAssets = [];\r\n this.newImage = [];\r\n }\r\n\r\n openModal(template: TemplateRef) {\r\n this.modalRef = this.modalService.show(template);\r\n }\r\n\r\n closeModal(reload = false) {\r\n this.fieldReferenceModel = null;\r\n if (this.modalRef) {\r\n this.modalRef.hide();\r\n } else {\r\n this.modalService.hide();\r\n }\r\n }\r\n\r\n confirmDeleteContent() {\r\n\r\n if (this.selectedContent && Validation.isValidGuid(this.selectedContent.id)) {\r\n\r\n // Validate if content is used by a page\r\n let validationBatch: Observable[] = [];\r\n\r\n // Page content\r\n const pageContentFacade = this.contentFacadeFactory.getDynamicContentSchemaFacade(AppToken.PAGE_CONTENT_SCHEMA_NAME);\r\n const contentFilter = {\r\n path: 'data.contentid.iv',\r\n op: 'eq',\r\n value: this.selectedContent.id\r\n }\r\n validationBatch.push(pageContentFacade.getByObject(contentFilter, ESchemaContentStatus.All));\r\n\r\n // template\r\n const pageFacade = this.contentFacadeFactory.getDynamicContentSchemaFacade(AppToken.PAGE_SCHEMA_NAME);\r\n const templateFilter = {\r\n path: 'data.template.iv',\r\n op: 'eq',\r\n value: this.selectedContent.id\r\n }\r\n validationBatch.push(pageFacade.getByObject(templateFilter, ESchemaContentStatus.All));\r\n\r\n // layout\r\n const layoutFacade = this.contentFacadeFactory.getDynamicContentSchemaFacade(AppToken.PAGE_SCHEMA_NAME);\r\n const layoutFilter = {\r\n path: 'data.layout.iv',\r\n op: 'eq',\r\n value: this.selectedContent.id\r\n }\r\n validationBatch.push(layoutFacade.getByObject(layoutFilter, ESchemaContentStatus.All));\r\n\r\n\r\n const forkSusbcription = forkJoin(validationBatch).subscribe(contents => {\r\n let notValid = false;\r\n contents.forEach(c => {\r\n if (c.length > 0) {\r\n notValid = true;\r\n }\r\n });\r\n\r\n if (notValid) {\r\n this.closeModal();\r\n const subscription = this.currentContentsFacade.translate('T').subscribe(c => {\r\n this.uiNotificationService.error(c.CONTENT_BEING_USED, c.FAILED_TITLE);\r\n this.spinnerService.hide();\r\n this.subscriptions.push(subscription);\r\n });\r\n return;\r\n }\r\n\r\n let draftStatus: boolean = true;\r\n if (this.schemaDefinition.category === AppSchemaCategory.SCHEMA_AS_A_PAGE) {\r\n const schemaPageFacade = this.contentFacadeFactory.getDynamicContentSchemaFacade(AppToken.SCHEMA_PAGE_SCHEMA_NAME);\r\n schemaPageFacade.getByParentId(this.selectedContent.id, 'contentid').subscribe(schemaPages => {\r\n schemaPages.forEach(sPage => {\r\n draftStatus = sPage.status.toLowerCase() === 'draft';\r\n schemaPageFacade.remove(sPage.id, draftStatus).subscribe();\r\n });\r\n });\r\n\r\n const menuItemFacade = this.contentFacadeFactory.getDynamicContentSchemaFacade(AppToken.MENU_ITEM_SCHEMA_NAME);\r\n menuItemFacade.getByParentId(this.selectedContent.id, 'page').subscribe(menuItems => {\r\n menuItems.forEach(menuItem => {\r\n draftStatus = menuItem.status.toLowerCase() === 'draft';\r\n menuItemFacade.remove(menuItem.id, draftStatus).subscribe();\r\n });\r\n });\r\n }\r\n\r\n draftStatus = this.selectedContent.status.toLowerCase() === 'draft';\r\n const subscription = this.currentContentsFacade.remove(this.selectedContent.id, draftStatus).subscribe(() => {\r\n this.currentContentsFacade.translate('T').subscribe(c => {\r\n this.uiNotificationService.success(c.DELETE_SUCCESS, c.SUCCESS_TITLE);\r\n const urlTree = this.router.parseUrl(this.router.url);\r\n const currentBaseUrl = this.getUrl(urlTree);\r\n this.router.navigateByUrl(`${currentBaseUrl}`);\r\n });\r\n });\r\n this.subscriptions.push(subscription);\r\n this.closeModal();\r\n\r\n });\r\n\r\n this.subscriptions.push(forkSusbcription);\r\n }\r\n }\r\n\r\n // Currently still not executed. this may be risky and not sure if needed\r\n removeReferences(refId: ID) {\r\n\r\n // get all schemas of category content\r\n let contentSchemas = this.dynamicSchemaFacto.getSchemasMetadataByCategory(AppSchemaCategory.CONTENT_SCHEMAS);\r\n this.removeSelectedSchema(contentSchemas, refId);\r\n\r\n contentSchemas = this.dynamicSchemaFacto.getSchemasMetadataByCategory(AppSchemaCategory.SCHEMA_AS_A_PAGE);\r\n this.removeSelectedSchema(contentSchemas, refId);\r\n }\r\n\r\n removeSelectedSchema(contentSchemas: any, refId: ID) {\r\n contentSchemas.subscribe(schemas => {\r\n for (const schema of schemas) {\r\n const schemaFacade = this.dynamicSchemaFacto.getDynamicSchemaFacade(schema.name);\r\n\r\n // Get fields from schema definition and loop\r\n schemaFacade.getSchemaDefinition().subscribe(schemaDef => {\r\n for (const field of schemaDef.fields) {\r\n\r\n // verify if field references the deleted content \r\n if (field.properties.fieldType === \"References\" && field.properties.schemaIds[0] === this.schemaDefinition.id) {\r\n const contentsFacade = this.contentFacadeFactory.getDynamicContentSchemaFacade(schemaDef.name);\r\n let filterObj = {\r\n path: `data.${field.name}.iv`,\r\n op: \"contains\",\r\n value: refId\r\n }\r\n // get the content and delete reference if any\r\n contentsFacade.getByObject(filterObj, ESchemaContentStatus.All).subscribe(contents => {\r\n if (contents.length > 0) {\r\n for (const content of contents) {\r\n let dataClone = this.clone(content.data);\r\n const idx = dataClone[field.name].iv.findIndex(x => x === refId);\r\n if (idx >= 0) {\r\n dataClone[field.name].iv.splice(idx, 1);\r\n contentsFacade.update(content.id, dataClone).subscribe(\r\n );\r\n }\r\n }\r\n }\r\n });\r\n }\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n private currentTime() {\r\n var current = new Date();\r\n return `${current.getHours().toString()}:${current.getMinutes().toString()}:${current.getSeconds()}:${current.getMilliseconds()}`\r\n }\r\n\r\n private confirmDeleteDrafts() {\r\n const subscription = this.currentContentsFacade.translate('T').subscribe(c => {\r\n this.deleteDraft();\r\n });\r\n this.closeModal();\r\n this.subscriptions.push(subscription);\r\n }\r\n\r\n redirectBase() {\r\n const urlTree = this.router.parseUrl(this.router.url);\r\n const currentBaseUrl = this.getUrl(urlTree);\r\n this.router.navigateByUrl(`${currentBaseUrl}`);\r\n }\r\n\r\n redirectMasterPage(contentCode: string) {\r\n var baseUrl = 'contents';\r\n if (this.weAreInContents) {\r\n baseUrl = 'page';\r\n }\r\n this.router.navigateByUrl(`${baseUrl}/${this.schemaDefinition.name}/${contentCode}`);\r\n }\r\n\r\n switchModeDratLive(event) {\r\n this.draftMode = event.srcElement.checked;\r\n\r\n this.currentContentsFacade.get(this.selectedContent.id, this.draftMode).subscribe(content => {\r\n this.selectedContent = content;\r\n\r\n if (this.draftMode) {\r\n if (this.draftMode && !this.selectedContent.newStatus) {\r\n this.createDraft();\r\n } else {\r\n this.initData(false);\r\n this.initEditionForm();\r\n }\r\n } else {\r\n this.draftMode = false;\r\n this.initData(false);\r\n this.initEditionForm();\r\n }\r\n });\r\n }\r\n\r\n reloadPage(draftMode: boolean) {\r\n this.draftMode = draftMode;\r\n\r\n if (this.selectedContent.scheduleJob) {\r\n this.deleteAndCreateDraft()\r\n } else {\r\n this.currentContentsFacade.get(this.selectedContent.id, this.draftMode).subscribe(content => {\r\n this.selectedContent = content;\r\n\r\n if (this.draftMode) {\r\n this.createDraft();\r\n this.currentStatus = 'Draft';\r\n this.dataParser.putData(this.selectedContent.data, \"publishdatetime\", null);\r\n this.selectedContent.scheduleJob = null\r\n this.setJobStatusFormGroup(this.selectedContent);\r\n } else {\r\n this.draftMode = false;\r\n this.setJobStatusFormGroup(this.selectedContent);\r\n }\r\n });\r\n }\r\n }\r\n\r\n private publish() {\r\n let publishStatus = Statuses.PUBLISHED.name;\r\n if (publishStatus === this.currentStatus) {\r\n this.notify(this.currentStatus, false);\r\n return false;\r\n }\r\n\r\n let publishDate: string;\r\n let updateDate: string;\r\n\r\n switch (publishStatus) {\r\n case Statuses.PUBLISHED.name:\r\n let dueTime = this.publishFormGroup.value.scheduleJob.dueTime;\r\n if (!dueTime) {\r\n dueTime = null;\r\n publishDate = null;\r\n updateDate = null;\r\n } else {\r\n const currentDate = new Date(Date.now());\r\n let dueTimeTemp = this.publishFormGroup.value.scheduleJob.dueTime;\r\n let dueTimeDate = new SquidexDate(dueTimeTemp);\r\n if (dueTimeDate < currentDate) {\r\n let now = new Date();\r\n publishDate = new SquidexDate(now).formatUtc();\r\n } else {\r\n let dt = dueTimeDate;\r\n publishDate = new SquidexDate(dt).formatUtc();\r\n }\r\n }\r\n\r\n this.currentContentsFacade.updateStatus(this.selectedContent.id, publishStatus, publishDate)\r\n .subscribe(content => {\r\n const tempContent = this.clone(content);\r\n this.selectedContent = content;\r\n if (content.newStatus) {\r\n this.currentStatus = content.newStatus;\r\n } else {\r\n this.currentStatus = content.status;\r\n }\r\n this.draftMode = false;\r\n this.draftVersionExist = false;\r\n this.scheduledJob = content.scheduleJob;\r\n if (!publishDate) {\r\n let now = new Date();\r\n publishDate = new SquidexDate(now).formatUtc();\r\n } else {\r\n let dt = new SquidexDate(publishDate);\r\n publishDate = new SquidexDate(dt).formatUtc();\r\n\r\n }\r\n this.publishDate = this.squidexTool.utcToDateString(publishDate);\r\n this.dataParser.putData(tempContent.data, \"publishdatetime\", publishDate);\r\n\r\n this.updateStatusAndStatusColor(content.status);\r\n\r\n this.publishMode = true;\r\n this.currentContentsFacade.update(this.selectedContent.id, tempContent.data).subscribe(content => {\r\n this.setJobStatusFormGroup(content);\r\n this.publishMode = false;\r\n });\r\n this.currentStatus = 'Published';\r\n this.notify(this.currentStatus);\r\n });\r\n\r\n break;\r\n case Statuses.DRAFT.name:\r\n this.currentContentsFacade.updateStatus(this.selectedContent.id, this.publishFormGroup.value.status, null)\r\n .subscribe(content => {\r\n this.selectedContent = content;\r\n if (content.newStatus) {\r\n this.currentStatus = content.newStatus;\r\n } else {\r\n this.currentStatus = content.status;\r\n }\r\n this.scheduledJob = content.scheduleJob;\r\n this.updateStatusAndStatusColor(content.status);\r\n this.notify(this.currentStatus);\r\n });\r\n break;\r\n }\r\n return false;\r\n }\r\n\r\n private notify(status: string, isSuccess: boolean = true): void {\r\n if (isSuccess) {\r\n this.currentContentsFacade.translate('T.STATUS_UPDATE', { currentStatus: status }).subscribe(msg => {\r\n this.currentContentsFacade.translate('T').subscribe(c => {\r\n this.uiNotificationService.success(msg, c.SUCCESS_TITLE, 10000);\r\n });\r\n });\r\n } else {\r\n this.currentContentsFacade.translate('T.STATUS_ERROR', { currentStatus: status }).subscribe(msg => {\r\n this.currentContentsFacade.translate('T').subscribe(c => {\r\n this.uiNotificationService.error(msg, c.FAILED_TITLE, 10000);\r\n });\r\n });\r\n }\r\n }\r\n\r\n createDraft() {\r\n this.currentContentsFacade.createDraft(this.selectedContent.id).subscribe(p => {\r\n this.draftMode = true;\r\n this.currentStatus = 'Draft';\r\n this.selectedContent = p;\r\n });\r\n }\r\n\r\n deleteDraft() {\r\n this.currentContentsFacade.removeDraft(this.selectedContent.id).subscribe(() => {\r\n this.draftVersionExisted();\r\n this.currentContentsFacade.translate('T').subscribe(c => {\r\n this.uiNotificationService.success(c.DELETE_SUCCESS, c.SUCCESS_TITLE);\r\n this.setJobStatusFormGroup(this.selectedContent);\r\n });\r\n });\r\n }\r\n\r\n deleteAndCreateDraft() {\r\n this.currentContentsFacade.get(this.selectedContent.id, this.draftMode).subscribe(content => {\r\n this.currentContentsFacade.removeDraft(content.id).subscribe(\r\n () => {\r\n let cloneContent = this.clone(content);\r\n if (cloneContent.scheduleJob)\r\n delete cloneContent.scheduleJob;\r\n this.draftVersionExisted();\r\n this.selectedContent = cloneContent;\r\n this.createDraft();\r\n this.currentStatus = 'Draft';\r\n this.dataParser.putData(this.selectedContent.data, \"publishdatetime\", null);\r\n this.scheduledJob = null;\r\n this.setJobStatusFormGroup(this.selectedContent);\r\n this.currentContentsFacade.translate('T').subscribe(c => {\r\n this.uiNotificationService.success(c.DELETE_SUCCESS, c.SUCCESS_TITLE);\r\n });\r\n }, // May receive an error but we still try to create draft\r\n err => {\r\n let cloneContent = this.clone(content);\r\n if (cloneContent.scheduleJob)\r\n delete cloneContent.scheduleJob;\r\n this.draftVersionExisted();\r\n this.selectedContent = cloneContent;\r\n this.createDraft();\r\n this.currentStatus = 'Draft';\r\n this.dataParser.putData(this.selectedContent.data, \"publishdatetime\", null);\r\n this.scheduledJob = null;\r\n this.setJobStatusFormGroup(this.selectedContent);\r\n this.currentContentsFacade.translate('T').subscribe(c => {\r\n this.uiNotificationService.success(c.DELETE_SUCCESS, c.SUCCESS_TITLE);\r\n });\r\n },\r\n () => console.log('Observer got a complete notification')\r\n );\r\n\r\n });\r\n }\r\n\r\n newAsset(files: any) {\r\n this.newImage.forEach((image, index) => {\r\n if (image.fieldName === files.fieldName) {\r\n this.newImage.splice(index, 1);\r\n }\r\n });\r\n this.newImage.push(this.clone(files));\r\n }\r\n\r\n deleteAsset(file: any) {\r\n let resultIndex: any = this.deletedAssets.indexOf(e => e.fieldName === file.fieldName)\r\n\r\n if (resultIndex >= 0) {\r\n this.deletedAssets[resultIndex].assets.push(file.assets)\r\n } else {\r\n if (file.assets) {\r\n this.deletedAssets.push(file);\r\n }\r\n }\r\n\r\n this.newImage.forEach((image, index) => {\r\n if (image.fieldName === file.fieldName) {\r\n this.newImage.splice(index, 1);\r\n }\r\n });\r\n\r\n }\r\n\r\n validatePatterns(content: DynamicContentModel) {\r\n\r\n let isValid: boolean = true;\r\n const pattern = /^(\\/|http:\\/\\/|https:\\/\\/)/;\r\n\r\n let validateUrl: string = this.dataParser.pullData(content, 'originalurl');\r\n if (validateUrl) {\r\n isValid = pattern.test(validateUrl);\r\n }\r\n\r\n if (isValid) {\r\n validateUrl = this.dataParser.pullData(content, 'redirectionurl');\r\n if (validateUrl) {\r\n isValid = pattern.test(validateUrl);\r\n }\r\n }\r\n\r\n if (!isValid) {\r\n this.currentContentsFacade.translate('T').subscribe(c => {\r\n this.uiNotificationService.error(c.URL_PATTERN_ERROR, 'Error', 5000);\r\n this.spinnerService.hide();\r\n });\r\n }\r\n\r\n return isValid;\r\n }\r\n\r\n updateForm(event: any) {\r\n this.editionFormGroup.value[event.field] = event.values;\r\n const content = this.clone(this.selectedContent);\r\n content.data[event.field] = { iv: event.values.map(v => v.item_id) };\r\n this.selectedContent = content;\r\n this.updateContent();\r\n }\r\n\r\n navigateToSchemaDefinition() {\r\n if (!this.schemaDefinition) {\r\n this.router.navigate(['/schemas/' + this.schemaDefinition.name]);\r\n }\r\n }\r\n\r\n redirectToClone() {\r\n this.contentInternalService.cloneContent(this.selectedContent.id, this.schemaDefinition.name);\r\n }\r\n\r\n copyContentCode() {\r\n const selBox = document.createElement('textarea');\r\n selBox.style.position = 'fixed';\r\n selBox.style.left = '0';\r\n selBox.style.top = '0';\r\n selBox.style.opacity = '0';\r\n selBox.value = this.selectedContent.data.code.iv;\r\n document.body.appendChild(selBox);\r\n selBox.focus();\r\n selBox.select();\r\n document.execCommand('copy');\r\n document.body.removeChild(selBox);\r\n\r\n this.uiNotificationService.successAsync(this.tc('COPY') as Observable, this.t('SUCCESS_TITLE') as Observable);\r\n }\r\n\r\n isReferenceField(field: Field) {\r\n if (!field.properties) {\r\n return false;\r\n }\r\n return field.properties.isReferenceField || field.properties.fieldType === \"References\";\r\n }\r\n\r\n executeContentChanged(content: DynamicContentModel) {\r\n if (!content) return;\r\n\r\n let label: string;\r\n\r\n if (content.data.Name) {\r\n label = content.data.Name[this.siteSettingFacade.getCurrentLanguage()];\r\n if (!label) {\r\n label = content.data.code.iv;\r\n }\r\n } else {\r\n label = content.data.code.iv;\r\n }\r\n\r\n const v = {\r\n Id: content.id,\r\n Code: content.data.code.iv,\r\n Label: label\r\n };\r\n\r\n let t = {\r\n value: v,\r\n fieldReferenceModel: null,\r\n field: null\r\n };\r\n\r\n if (typeof this.fieldReferenceModel !== 'undefined') {\r\n t.fieldReferenceModel = this.fieldReferenceModel\r\n }\r\n\r\n if (typeof this.referenceFieldReferenceModel !== 'undefined') {\r\n t.field = this.referenceFieldReferenceModel.field\r\n }\r\n\r\n\r\n if (this.onContentChanged) {\r\n this.onContentChanged.emit(t);\r\n }\r\n\r\n if (this.referenceFieldReferenceModel) {\r\n const control = this.referenceFieldReferenceModel.control as FieldControlComponent;\r\n if (control) {\r\n\r\n const n = control.referenceItems.concat({\r\n item_id: content.id,\r\n item_text: label\r\n });\r\n\r\n n.sort(function (a, b) {\r\n return a.item_text.localeCompare(b.item_text);\r\n });\r\n\r\n control.referenceItems = n;\r\n }\r\n }\r\n\r\n if (t.field) {\r\n this.editionFormGroup.value[t.field.name] = t.value.Id;\r\n }\r\n\r\n this.closeModal();\r\n }\r\n\r\n openFieldReferenceEditionModal(template: TemplateRef, field: Field) {\r\n if (!field) {\r\n return;\r\n }\r\n\r\n this.field = new FieldReferenceModel();\r\n this.fieldReferenceModel = new FieldReferenceModel();\r\n this.fieldReferenceModel.field = field;\r\n this.fieldReferenceModel.schemaId = field.properties.schemaIds[0];\r\n this.fieldReferenceModel.selectedContent = this.selectedContent;\r\n this.fieldReferenceModel.referenceFieldValues = this.referenceFieldValues;\r\n\r\n this.fieldReferenceModelParent = new FieldReferenceModel();\r\n this.fieldReferenceModelParent.field = this.fieldReferenceModel.field;\r\n this.fieldReferenceModelParent.schemaId = this.fieldReferenceModel.schemaId;\r\n this.fieldReferenceModelParent.selectedContent = this.fieldReferenceModel.selectedContent;\r\n this.fieldReferenceModelParent.referenceFieldValues = this.fieldReferenceModel.referenceFieldValues;\r\n\r\n\r\n\r\n if (this.fieldControls) {\r\n this.fieldReferenceModel.control = this.fieldControls.find(v => v.field.name === field.name);\r\n }\r\n\r\n const sub = this.schemasFactory.getAllSchemas().subscribe(schemas => {\r\n const schema = schemas.find(v => v.id === this.fieldReferenceModel.schemaId);\r\n\r\n const facade = this.dynamicSchemaFactory.getDynamicSchemaFacade(schema.name);\r\n\r\n const sub2 = facade.getSchemaDefinition().subscribe(schemaDefinition => {\r\n this.fieldReferenceModel.schemaDefinition = schemaDefinition;\r\n\r\n const sub3 = this.metadataFacade.getBySchemaId(this.fieldReferenceModel.schemaId)\r\n .subscribe(v => {\r\n const sub5 = this.referenceContentService.generateContentList(schemaDefinition).subscribe(val => {\r\n this.fieldReferenceModel.referenceFieldValues = val;\r\n this.fieldReferenceModel.schemaMetadata = v;\r\n\r\n this.zone.run(() => {\r\n this.modalRef = this.modalService.show(template, { class: 'modal-lg modal-styles' });\r\n });\r\n })\r\n this.subscriptions.push(sub5);\r\n });\r\n this.subscriptions.push(sub3);\r\n });\r\n\r\n this.subscriptions.push(sub2);\r\n });\r\n\r\n this.subscriptions.push(sub);\r\n\r\n }\r\n\r\n allowEditorEditing(field) {\r\n if (this.hideFieldReferenceModelEditor) {\r\n return false;\r\n }\r\n return this.isReferenceField(field) && (this.userIsDev || this.userIsOwner || this.userIsEditor || this.userIsReadWrite);\r\n }\r\n\r\n fromChild(refValue) {\r\n if (!refValue) {\r\n return;\r\n }\r\n\r\n let currentVal = this.editionFormGroup.get(refValue.field.name).value;\r\n\r\n // reset reference field values to parent values\r\n this.fieldReferenceModel.field = this.fieldReferenceModelParent.field;\r\n this.fieldReferenceModel.schemaId = this.fieldReferenceModelParent.schemaId;\r\n this.fieldReferenceModel.selectedContent = this.fieldReferenceModelParent.selectedContent;\r\n this.fieldReferenceModel.referenceFieldValues = this.fieldReferenceModelParent.referenceFieldValues;\r\n\r\n // Add new value to reference field array\r\n if (Object.keys(this.fieldReferenceModel.referenceFieldValues).length > 0) {\r\n if (Array.isArray(refValue.value)) {\r\n this.fieldReferenceModel.referenceFieldValues[this.fieldReferenceModel.field.name] =\r\n this.fieldReferenceModel.referenceFieldValues[this.fieldReferenceModel.field.name].concat(refValue.value);\r\n } else {\r\n this.fieldReferenceModel.referenceFieldValues[this.fieldReferenceModel.field.name].push(refValue.value);\r\n }\r\n\r\n } else {\r\n this.fieldReferenceModel.referenceFieldValues[this.fieldReferenceModel.field.name] = this.fieldReferenceModel.referenceFieldValues[this.fieldReferenceModel.field.name];\r\n }\r\n\r\n // Diaplay new value to select input\r\n const itm = {\r\n item_id: refValue.value.Id,\r\n item_text: refValue.value.Code,\r\n };\r\n\r\n if (refValue.field.properties.editor === 'Dropdown') {\r\n currentVal = [itm];\r\n } else {\r\n if (Array.isArray(currentVal)) {\r\n currentVal.push(itm);\r\n } else {\r\n currentVal = [itm];\r\n }\r\n }\r\n\r\n this.editionFormGroup.get(refValue.field.name).setValue(currentVal);\r\n }\r\n\r\n private getContentDefinition(): any {\r\n\r\n const contentType = this.dataParser.pullData(this.selectedContent, FieldsName.CONTENT_TYPE, 'iv');\r\n const contentId = this.dataParser.pullData(this.selectedContent, FieldsName.ID, 'iv');\r\n const pageContentIsModified = false; // this.dataParser.pullData(this.selectedContent, FieldsName.ISMODIFIED, 'iv');\r\n let contentFacade = this.contentFacadeFactory.getDynamicContentSchemaFacade(contentType);\r\n\r\n contentFacade.get(contentId, this.isDraft).subscribe(articleContent => {\r\n this.contentDefinition = articleContent;\r\n\r\n this.title = this.getContentDefinitionCode();\r\n this.isModified = pageContentIsModified;\r\n this.lastModified = contentFacade.getLastModifiedDate(this.contentDefinition);\r\n this.contentType = contentType;\r\n this.pageContentDescription.emit(\r\n {\r\n title: this.title,\r\n isModified: this.isModified,\r\n lastModified: this.lastModified,\r\n isOpen: this.isOpen,\r\n contentType: this.contentType\r\n });\r\n contentFacade.getSchema().subscribe(articleSchema => {\r\n this.referenceContentService.generateContentList(articleSchema).subscribe((contents) => {\r\n this.referenceFieldValues = contents;\r\n });\r\n this.contentSchema = articleSchema;\r\n this.contentFields = articleSchema.fields.filter(field => !this.contentDefinitionHiddenFields.includes(field.name));\r\n this.createContentDefinitionForm(\r\n this.contentFields,\r\n articleContent,\r\n contentFacade);\r\n });\r\n });\r\n\r\n return null;\r\n }\r\n\r\n\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ArticleCategoryStore } from './article-category.store';\r\nimport { ArticleCategoryQuery } from './article-category.query';\r\nimport { BaseFacade } from \"../base/base.facade\";\r\nimport { ArticleCategoryService } from './article-category.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { DynamicSchemaFactory } from '../dynamic-schema.factory';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ArticleCategoryFacade extends BaseFacade {\r\n\r\n constructor(\r\n articleTypeService: ArticleCategoryService,\r\n articleTypeStore: ArticleCategoryStore,\r\n articleTypeQuery: ArticleCategoryQuery,\r\n dynamicSchemaFacto: DynamicSchemaFactory,\r\n translateService: TranslateService) {\r\n super(articleTypeService,\r\n articleTypeStore,\r\n articleTypeQuery,\r\n dynamicSchemaFacto.getDynamicSchemaFacade('article-category'),\r\n translateService,\r\n 'article-category-facade'\r\n );\r\n }\r\n\r\n\r\n}\r\n","import { TranslateService } from '@ngx-translate/core';\r\nimport { Observable, Subscription, of } from 'rxjs';\r\nimport { OnDestroy, Input, HostListener, Directive } from '@angular/core';\r\nimport { Field, SquidexDate, Content, BaseFacade, DataParser, FormValidationsService, LanguageModel } from \"../services/\";\r\nimport { FormControl, ValidatorFn, Validators, FormGroup } from \"@angular/forms\";\r\nimport { SiteSettingModel } from '../services/akita/index';\r\nimport { environment } from '../../environments/environment.prod';\r\nimport { map } from 'rxjs/operators';\r\nimport { AppToken } from '../models/app-token';\r\nimport cloneDeep from 'lodash.clonedeep';\r\n\r\nconst EMPTY = '';\r\n\r\ndeclare var CKEDITOR: any;\r\n\r\nexport abstract class BaseComponent implements OnDestroy {\r\n [x: string]: any;\r\n\r\n @Input()\r\n siteSetting: Observable;\r\n\r\n pageTitle: string;\r\n scrHeight: any;\r\n scrWidth: any;\r\n\r\n protected subscriptions: Subscription[];\r\n protected readonly statusDraft = 'Draft';\r\n protected readonly statusPublished = 'Published';\r\n protected language: string;\r\n protected readonly dParser: DataParser;\r\n private translateContext: string;\r\n\r\n currentPageNumber: number = 0;\r\n paginateSize: number = AppToken.CONTENTS_ITEMS_PER_PAGE;\r\n contentCount: number;\r\n filterValue: string = '';\r\n\r\n siteLabelElem: any = document.getElementById('previewSiteLabel');\r\n siteUrlElem: any = document.getElementById('previewSiteUrl');\r\n pageUrlElement: any = document.getElementById('currentPreviewUrl');\r\n\r\n\r\n protected constructor(\r\n protected readonly translateService: TranslateService) {\r\n this.getScreenSize();\r\n this.dParser = new DataParser(null);\r\n this.subscriptions = [];\r\n\r\n this.pageUrlElement = document.getElementById('currentPreviewUrl');\r\n this.siteUrlElem = document.getElementById('previewSiteUrl');\r\n this.siteLabelElem = document.getElementById('previewSiteLabel');\r\n }\r\n\r\n protected setTranslateContext(context: string): void {\r\n if (context) {\r\n context = context.toLowerCase().replace('component', EMPTY);\r\n this.translateContext = `COMPONENTS.${context}`.toUpperCase();\r\n }\r\n }\r\n\r\n protected clone(value: object): any {\r\n return cloneDeep(value);\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n getScreenSize(event?) {\r\n this.scrHeight = window.innerHeight;\r\n this.scrWidth = window.innerWidth;\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\r\n }\r\n //translate global/general\r\n t(key?: string, interpolateParams?: Object): Observable {\r\n if (!key) {\r\n return this.translateService.get('T', interpolateParams);\r\n }\r\n return this.translateService.get(`T.${key}`, interpolateParams);\r\n }\r\n\r\n //translate with context\r\n tc(key?: string, interpolateParams?: Object): Observable {\r\n if (!key) {\r\n return this.translateService.get(`T.${this.translateContext}`, interpolateParams);\r\n }\r\n return this.translateService.get(`T.${this.translateContext}.${key}`, interpolateParams);\r\n }\r\n\r\n //translate with schema name and return key if not found\r\n ts(key?: string, schemaName?: string, interpolateParams?: Object): Observable {\r\n let context = '';\r\n if (!key) {\r\n return of('');\r\n }\r\n\r\n let getKey: string;\r\n\r\n if (key.includes('.')) {\r\n getKey = `T.COMPONENTS.${key}`;\r\n } else {\r\n if (schemaName) {\r\n context = schemaName;\r\n } else if (this.selectedContent) {\r\n context = this.selectedContent.schemaName;\r\n } else if (this.translateContext) {\r\n context = this.translateContext;\r\n } else {\r\n return of(key);\r\n }\r\n\r\n getKey = `T.COMPONENTS.${context.replace('COMPONENTS.', '').toUpperCase()}.${key.replace(' ', '_').toUpperCase()}`;\r\n }\r\n\r\n return this.translateService.get(getKey, interpolateParams).pipe(map((lang) => {\r\n if (lang === getKey) {\r\n lang = key;\r\n }\r\n return lang;\r\n })) as Observable;\r\n }\r\n\r\n //translate with schema name field name if not found\r\n tsl(key?: string, schemaName?: string, interpolateParams?: Object, fieldName?: string): Observable {\r\n let context = '';\r\n if (!key) {\r\n if (fieldName) {\r\n return of(fieldName);\r\n } else {\r\n return of('');\r\n }\r\n }\r\n\r\n let getKey: string;\r\n\r\n if (key.includes('.')) {\r\n getKey = `T.COMPONENTS.${key}`;\r\n } else {\r\n if (schemaName) {\r\n context = schemaName;\r\n } else if (this.selectedContent) {\r\n context = this.selectedContent.schemaName;\r\n } else if (this.translateContext) {\r\n context = this.translateContext;\r\n } else {\r\n return of(key);\r\n }\r\n\r\n getKey = `T.COMPONENTS.${context.replace('COMPONENTS.', '').toUpperCase()}.${key.replace(' ', '_').toUpperCase()}`;\r\n }\r\n\r\n return this.translateService.get(getKey, interpolateParams).pipe(map((lang) => {\r\n if (lang === getKey) {\r\n lang = key;\r\n }\r\n return lang;\r\n })) as Observable;\r\n }\r\n\r\n\r\n translateText(text: string): Observable {\r\n if (!text) {\r\n return of(text);\r\n }\r\n const textParts = text.split('_');\r\n if (textParts.length === 2) {\r\n return this.t(textParts[1].toUpperCase()).pipe(\r\n map(v => {\r\n if (v) {\r\n return ` (${v})`;\r\n }\r\n return '';\r\n })\r\n );\r\n } else {\r\n return of('');\r\n }\r\n\r\n\r\n }\r\n\r\n getCultureName(code: string): Observable {\r\n if (!code) {\r\n return of(code);\r\n }\r\n return this.t(code.toUpperCase()).pipe(\r\n map(v => {\r\n if (!v || v.toString().includes('T.')) {\r\n v = code;\r\n }\r\n return v;\r\n })\r\n );\r\n }\r\n\r\n getLanguageName(code: string): Observable {\r\n if (!code) {\r\n return of(code);\r\n }\r\n return this.t(code.toUpperCase()).pipe(\r\n map(v => {\r\n if (!v) {\r\n v = code;\r\n }\r\n return v.toString().replace('t.', '');\r\n })\r\n );\r\n }\r\n\r\n getCurrentCulture(): string {\r\n return this.translateService.currentLang;\r\n }\r\n\r\n getDefaultCulture(): string {\r\n return this.translateService.defaultLang;\r\n }\r\n\r\n getLanguageCode(languageModel: LanguageModel): string {\r\n\r\n if (!languageModel || !languageModel.data) return '';\r\n return languageModel.data.code.iv;\r\n }\r\n\r\n fixFieldValue(field: Field, value: any): any {\r\n if (field.properties.editor === \"DateTime\") {\r\n return new SquidexDate(value).format();\r\n } else if (field.properties.editor === \"Dropdown\" && !Array.isArray(value)) {\r\n return [value];\r\n }\r\n return value;\r\n }\r\n\r\n protected validateAllFormFields(formGroup: FormGroup) {\r\n Object.keys(formGroup.controls).forEach(field => {\r\n const control = formGroup.get(field);\r\n if (control instanceof FormControl) {\r\n control.markAsTouched({ onlySelf: true });\r\n } else if (control instanceof FormGroup) {\r\n this.validateAllFormFields(control);\r\n }\r\n });\r\n }\r\n\r\n // TODO: Refactor that\r\n protected generateFormGroup(facade: BaseFacade, fields: Field[], hiddenFields: Array, content: Content = null, isDraft: boolean = false, formValidationsService: FormValidationsService = null): any {\r\n const formGroup: any = {};\r\n\r\n const unhiddenFields = fields.filter(field => !hiddenFields.includes(field.name));\r\n\r\n for (let field of unhiddenFields) {\r\n\r\n if (field.partitioning === 'language') {\r\n for (const language of this.availableLanguages.map(languages => languages.data.code.iv)) {\r\n\r\n const fieldName = `${field.name}_${language}`;\r\n const fieldValue = this.dParser.getData(content, field, language);\r\n const control = new FormControl(fieldValue);\r\n const isRequired = field.properties.isRequired;\r\n let validators: ValidatorFn[] = [];\r\n\r\n if (isRequired) {\r\n validators.push(Validators.required);\r\n }\r\n\r\n if (field.properties.maxLength) {\r\n const maxLengthValidator = Validators.maxLength(field.properties.maxLength);\r\n validators.push(maxLengthValidator);\r\n }\r\n\r\n if (field.properties.minLength) {\r\n const minLengthValidator = Validators.minLength(field.properties.minLength);\r\n validators.push(minLengthValidator);\r\n }\r\n\r\n\r\n\r\n\r\n //TODO: When refactor manage pattern\r\n //custom pattern\r\n if (field.properties.pattern && formValidationsService) {\r\n validators = validators.concat(formValidationsService.getValidators(control, field.properties.pattern));\r\n }\r\n\r\n if (validators.length > 0) {\r\n control.setValidators(validators);\r\n }\r\n\r\n formGroup[fieldName] = control;\r\n\r\n }\r\n\r\n } else {\r\n\r\n let fieldValue: any = null;\r\n\r\n if (content) {\r\n fieldValue = this.dParser.getData(content, field, \"iv\");\r\n }\r\n\r\n if (!fieldValue && field.properties.editor === \"Toggle\") {\r\n fieldValue = false;\r\n }\r\n\r\n const control = new FormControl(fieldValue);\r\n\r\n let validators: ValidatorFn[] = [];\r\n\r\n\r\n if (field.properties.isRequired) {\r\n validators.push(Validators.required);\r\n }\r\n\r\n if (field.properties.maxLength) {\r\n const maxLengthValidator = Validators.maxLength(field.properties.maxLength);\r\n validators.push(maxLengthValidator);\r\n }\r\n\r\n if (field.properties.minLength) {\r\n const minLengthValidator = Validators.minLength(field.properties.minLength);\r\n validators.push(minLengthValidator);\r\n }\r\n\r\n if(field.properties.editor === 'List' && field.properties.fieldType === 'References') {\r\n //Specific for radio button. Value is not an array of references in this very specific context\r\n control.setValue(fieldValue[0]);\r\n }\r\n\r\n //TODO: When refactor manage pattern\r\n if (field.properties.pattern && formValidationsService) {\r\n validators = validators.concat(formValidationsService.getValidators(control, field.properties.pattern));\r\n }\r\n\r\n control.setValidators(validators);\r\n\r\n formGroup[field.name] = control;\r\n }\r\n }\r\n\r\n return formGroup;\r\n }\r\n\r\n isPublishedContent(content: Content): boolean {\r\n return content && content.status.toLowerCase() === 'published';\r\n }\r\n\r\n isPublishedPage(content: Content): boolean {\r\n return (content && content.status.toLowerCase() === 'published') || (content.data.isactive.iv === true);\r\n }\r\n\r\n getNumberOfDays(date: Date): number {\r\n return Math.round((new Date().getTime() - date.getTime()) / (1000 * 3600 * 24));\r\n }\r\n\r\n formatDate(date: string): string {\r\n const options = { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' };\r\n return new Date(date).toLocaleDateString(this.getCurrentCulture(), options);\r\n }\r\n\r\n sortByName(a, b) {\r\n if (a.name < b.name)\r\n return -1;\r\n if (a.name > b.name)\r\n return 1;\r\n return 0;\r\n }\r\n\r\n sortByIndex(a, b) {\r\n if (!a || !a.name) {\r\n return 0;\r\n }\r\n if (a.name < b.name)\r\n return -1;\r\n if (a.name > b.name)\r\n return 1;\r\n return 0;\r\n }\r\n\r\n sortByLabel(a, b) {\r\n const prepareCompare = val => {\r\n var r = val.toLowerCase();\r\n r = r.replace(new RegExp(/\\s/g), \"\");\r\n r = r.replace(new RegExp(/[àáâãäå]/g), \"a\");\r\n r = r.replace(new RegExp(/æ/g), \"ae\");\r\n r = r.replace(new RegExp(/ç/g), \"c\");\r\n r = r.replace(new RegExp(/[èéêë]/g), \"e\");\r\n r = r.replace(new RegExp(/[ìíîï]/g), \"i\");\r\n r = r.replace(new RegExp(/ñ/g), \"n\");\r\n r = r.replace(new RegExp(/[òóôõö]/g), \"o\");\r\n r = r.replace(new RegExp(/œ/g), \"oe\");\r\n r = r.replace(new RegExp(/[ùúûü]/g), \"u\");\r\n r = r.replace(new RegExp(/[ýÿ]/g), \"y\");\r\n r = r.replace(new RegExp(/\\W/g), \"\");\r\n return r.toUpperCase();\r\n }\r\n\r\n const comparval1 = prepareCompare(a.properties.label + a.name);\r\n const comparval2 = prepareCompare(b.properties.label + b.name);\r\n if (comparval1 < comparval2)\r\n return -1;\r\n if (comparval1 > comparval2)\r\n return 1;\r\n return 0;\r\n }\r\n\r\n\r\n log(toLog: any) {\r\n if (environment.production) { return; }\r\n console.log(toLog);\r\n }\r\n\r\n valString(strValue: string) {\r\n if (strValue === null || strValue === undefined) {\r\n return '';\r\n } else {\r\n return strValue;\r\n }\r\n }\r\n\r\n valNumber(numberValue: number) {\r\n if (isNaN(numberValue)) {\r\n return 0;\r\n } else {\r\n return numberValue;\r\n }\r\n }\r\n\r\n getTextAreaValue(field: Field, language: string, value: string) {\r\n if (typeof CKEDITOR !== \"undefined\" && CKEDITOR && CKEDITOR.instances) {\r\n let fname = field.name;\r\n\r\n if (language) {\r\n fname += '_' + language;\r\n }\r\n\r\n for (const instance in CKEDITOR.instances) {\r\n let textLang: string = CKEDITOR.instances[instance].element.$.nodeName;\r\n if (textLang.toLowerCase() === fname.toLowerCase()) {\r\n return CKEDITOR.instances[instance].getData();\r\n }\r\n }\r\n } else if (value) {\r\n return value;\r\n } else {\r\n return '';\r\n }\r\n return null;\r\n }\r\n\r\n reloadCurrentRoute() {\r\n const currentUrl = this.router.url;\r\n this.router.navigateByUrl('/', { skipLocationChange: true }).then(() => {\r\n this.router.navigate([currentUrl]);\r\n });\r\n }\r\n\r\n\r\n getSearchObject(filter): object {\r\n const oSearch = {\r\n or:\r\n [\r\n {\r\n path: 'data.code.iv',\r\n op: 'contains',\r\n value: filter\r\n }\r\n ]\r\n }\r\n return oSearch;\r\n }\r\n\r\n // a bit of a patch\r\n setPreviewUrl(sentUrl = '') {\r\n setTimeout(() => {\r\n this.t('PREVIEW_SITE').subscribe(title => {\r\n if (sentUrl) {\r\n if (this.siteUrlElem) {\r\n this.siteUrlElem.href = sentUrl;\r\n }\r\n } else {\r\n if (this.pageUrlElement) {\r\n if (this.siteUrlElem) {\r\n this.siteUrlElem.href = window.location.origin + this.pageUrlElement.value;\r\n }\r\n }\r\n\r\n }\r\n });\r\n }, 1000);\r\n }\r\n\r\n\r\n\r\n}\r\n","import { Content } from './content.model';\r\n\r\nexport abstract class ContentList {\r\n items: Content[];\r\n total: number;\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BaseQuery } from '../base/base.query';\r\nimport { MenuItemStore } from './menu-item.store';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MenuItemQuery extends BaseQuery {\r\n\r\n constructor(store: MenuItemStore) {\r\n super(store);\r\n }\r\n\r\n\r\n}\r\n","export class SquidexDate extends Date {\r\n constructor(date: number | string | Date) {\r\n super(date);\r\n }\r\n\r\n format(): string {\r\n if (typeof this === \"object\") {\r\n const validateDate = new Date(1970, 0, 0, 19, 0, 0);\r\n\r\n if (this.toISOString() === validateDate.toISOString()) {\r\n return '';\r\n }\r\n }\r\n\r\n return this.getFullYear() +\r\n '-' + this.pad(this.getMonth() + 1) +\r\n '-' + this.pad(this.getDate()) +\r\n 'T' + this.pad(this.getHours()) +\r\n ':' + this.pad(this.getMinutes()) +\r\n ':' + this.pad(this.getSeconds()) +\r\n 'Z';\r\n }\r\n\r\n formatUtc(): string {\r\n if (typeof this === \"object\") {\r\n const validateDate = new Date(1970, 0, 0, 19, 0, 0);\r\n\r\n if (this.toISOString() === validateDate.toISOString()) {\r\n return '';\r\n }\r\n }\r\n return this.toISOString().slice(0, -5) + 'Z';\r\n }\r\n\r\n formatWithoutTime(): string {\r\n if (typeof this === \"object\") {\r\n const validateDate = new Date(1970, 0, 0, 19, 0, 0);\r\n\r\n if (this.toISOString() === validateDate.toISOString()) {\r\n return '';\r\n }\r\n }\r\n\r\n return this.getUTCFullYear() +\r\n '-' + this.pad(this.getUTCMonth() + 1) +\r\n '-' + this.pad(this.getUTCDate()) +\r\n 'T12' +\r\n ':00' +\r\n ':00' +\r\n 'Z';\r\n }\r\n\r\n private pad(number) {\r\n if (number < 10) {\r\n return '0' + number;\r\n }\r\n return number;\r\n }\r\n}\r\n\r\n\r\n","export default \".validation {\\r\\n color: red;\\r\\n display: block;\\r\\n font-style: italic;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.switch {\\r\\n position: relative;\\r\\n display: inline-block;\\r\\n width: 60px;\\r\\n height: 34px;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.switch input {\\r\\n opacity: 0;\\r\\n width: 0;\\r\\n height: 0;\\r\\n }\\r\\n\\r\\n\\r\\n\\r\\n.slider {\\r\\n position: absolute;\\r\\n cursor: pointer;\\r\\n top: 0;\\r\\n left: 0;\\r\\n right: 0;\\r\\n bottom: 0;\\r\\n background-color: #ccc;\\r\\n transition: .4s;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.slider:before {\\r\\n position: absolute;\\r\\n content: \\\"\\\";\\r\\n height: 26px;\\r\\n width: 26px;\\r\\n left: 4px;\\r\\n bottom: 4px;\\r\\n background-color: white;\\r\\n transition: .4s;\\r\\n }\\r\\n\\r\\n\\r\\n\\r\\ninput:checked + .slider {\\r\\n background-color: #f19100;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\ninput:focus + .slider {\\r\\n box-shadow: 0 0 1px #f19100;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\ninput:checked + .slider:before {\\r\\n transform: translateX(26px);\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n/* Rounded sliders */\\r\\n\\r\\n\\r\\n\\r\\n.slider.round {\\r\\n border-radius: 34px;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.slider.round:before {\\r\\n border-radius: 50%;\\r\\n }\\r\\n\\r\\n\\r\\n\\r\\n.btn-orangium-save {\\r\\n width: 120px;\\r\\n height: 30px;\\r\\n line-height: 0.5;\\r\\n color: black;\\r\\n background-color: #F29100;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.btn-orangium-cancel {\\r\\n width: 120px;\\r\\n height: 30px;\\r\\n color: black;\\r\\n line-height: 0.5;\\r\\n margin-right: 2.5rem !important;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.section-lt {\\r\\n text-align: right;\\r\\n width: unset;\\r\\n margin-right: 20px;\\r\\n margin-top: 20px;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.section-lt .folder-blk {\\r\\n border-bottom: none !important;\\r\\n }\\r\\n\\r\\n\\r\\n\\r\\n.btn-secondary {\\r\\n color: #fff;\\r\\n background-color: #bababa !important;\\r\\n border-color: #bababa !important;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.btn-secondary:hover {\\r\\n background-color: #a3a3a3 !important;\\r\\n }\\r\\n\\r\\n\\r\\n\\r\\n.show > .btn-secondary.dropdown-toggle {\\r\\n color: #fff;\\r\\n background-color: #bababa !important;\\r\\n border-color: #bababa !important;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.show > .btn-secondary.dropdown-toggle:hover {\\r\\n background-color: #a3a3a3 !important\\r\\n }\\r\\n\\r\\n\\r\\n\\r\\n.btn-group > .btn-group:not(:first-child) {\\r\\n margin-left: -2px;\\r\\n /*width: 151px;*/\\r\\n height: 45px;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.dropdown-item {\\r\\n padding: .25rem 0 !important;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.mode-draft-checkbox {\\r\\n height: 10px;\\r\\n margin-left: auto !important;\\r\\n padding: 0;\\r\\n position: relative;\\r\\n bottom: 40px;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.mode-draft-checkbox label {\\r\\n color: white;\\r\\n }\\r\\n\\r\\n\\r\\n\\r\\n.action-controls button {\\r\\n /*width: 151px;*/\\r\\n height: 45px;\\r\\n background-color: #bababa !important;\\r\\n border-color: #bababa !important;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.action-controls ul li {\\r\\n margin: 10px 0;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.text-right {\\r\\n text-align: right !important;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.text-right button {\\r\\n margin: 18px;\\r\\n width: 200px;\\r\\n height: 45px;\\r\\n color: black;\\r\\n }\\r\\n\\r\\n\\r\\n\\r\\n.notification {\\r\\n background-color: #3F93F1;\\r\\n color: white;\\r\\n padding: 8px;\\r\\n border-radius: 20px;\\r\\n top: 23px;\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.badge-type {\\r\\n border: solid lightgray 1px;\\r\\n border-radius: 10px;\\r\\n padding: 4px 5px 2px;\\r\\n font-size: 10px;\\r\\n font-style: italic;\\r\\n text-transform: uppercase;\\r\\n margin-right: 3px;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.b-red {\\r\\n border-color: red;\\r\\n color: red;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.b-blue {\\r\\n border-color: blue;\\r\\n color: blue;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.b-violet {\\r\\n border-color: blueviolet;\\r\\n color: blueviolet;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.b-green {\\r\\n border-color: green;\\r\\n color: green;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.b-orangium {\\r\\n border-color: #f19100;\\r\\n color: #f19100;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.b-gray {\\r\\n border: none !important;\\r\\n color: #343a40;\\r\\n background-color: lightgray;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.btn-action-orangium {\\r\\n /* width: 120px;\\r\\n height: 30px; */\\r\\n /* line-height: 0.5; */\\r\\n padding-bottom: 2px !important;\\r\\n padding-top: 2px !important;\\r\\n margin-right: 0 !important;\\r\\n color: black;\\r\\n font-size: 14px;\\r\\n font-weight: 700;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.btn-delete-orangium {\\r\\n /* position: relative; */\\r\\n text-align: center;\\r\\n line-height: 40px;\\r\\n /* margin-right: 10px; */\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.btn-delete-orangium a {\\r\\n background-color: #CD0000;\\r\\n cursor: pointer;\\r\\n height: 45px;\\r\\n color: white;\\r\\n }\\r\\n\\r\\n\\r\\n\\r\\n.btn-delete-orangium img {\\r\\n position: relative;\\r\\n left: 15px;\\r\\n }\\r\\n\\r\\n\\r\\n\\r\\n.btn-publish-orangium, .btn-save-orangium {\\r\\n text-align: center;\\r\\n line-height: 40px;\\r\\n margin-right: 10px;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.btn-clone-orangium {\\r\\n text-align: center;\\r\\n line-height: 40px;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.btn-publish-orangium a {\\r\\n /*width: 151px;*/\\r\\n height: 45px;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.btn-publish-orangium img, .btn-save-orangium img, .btn-clone-orangium img {\\r\\n position: relative;\\r\\n height: 25px;\\r\\n width: 25px;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.btn-save-orangium a {\\r\\n height: 45px;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.btn-clone-orangium a {\\r\\n height: 45px;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.pointer {\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n@media only screen and (max-width: 1200px) {\\r\\n .btn-save-orangium, .mr-top-20-px {\\r\\n margin-top: 10px;\\r\\n margin-right: 0;\\r\\n }\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.max-height {\\r\\n max-height: 750px;\\r\\n padding-right: 10px;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.editor-container {\\r\\n max-height: 87vh;\\r\\n overflow-y: auto;\\r\\n overflow-x: hidden;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.area {\\r\\n height: 100px;\\r\\n margin: 10px;\\r\\n text-align: center;\\r\\n display: block;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.content {\\r\\n height: 100px;\\r\\n display: table-cell;\\r\\n vertical-align: middle;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbnRlbnQtZWRpdGlvbi5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsVUFBVTtFQUNWLGNBQWM7RUFDZCxrQkFBa0I7QUFDcEI7Ozs7QUFJQTtFQUNFLGtCQUFrQjtFQUNsQixxQkFBcUI7RUFDckIsV0FBVztFQUNYLFlBQVk7QUFDZDs7OztBQUVFO0lBQ0UsVUFBVTtJQUNWLFFBQVE7SUFDUixTQUFTO0VBQ1g7Ozs7QUFFRjtFQUNFLGtCQUFrQjtFQUNsQixlQUFlO0VBQ2YsTUFBTTtFQUNOLE9BQU87RUFDUCxRQUFRO0VBQ1IsU0FBUztFQUNULHNCQUFzQjtFQUV0QixlQUFlO0FBQ2pCOzs7O0FBRUU7SUFDRSxrQkFBa0I7SUFDbEIsV0FBVztJQUNYLFlBQVk7SUFDWixXQUFXO0lBQ1gsU0FBUztJQUNULFdBQVc7SUFDWCx1QkFBdUI7SUFFdkIsZUFBZTtFQUNqQjs7OztBQUVGO0VBQ0UseUJBQXlCO0FBQzNCOzs7O0FBRUE7RUFDRSwyQkFBMkI7QUFDN0I7Ozs7QUFFQTtFQUdFLDJCQUEyQjtBQUM3Qjs7OztBQUVBLG9CQUFvQjs7OztBQUNwQjtFQUNFLG1CQUFtQjtBQUNyQjs7OztBQUVFO0lBQ0Usa0JBQWtCO0VBQ3BCOzs7O0FBRUY7RUFDRSxZQUFZO0VBQ1osWUFBWTtFQUNaLGdCQUFnQjtFQUNoQixZQUFZO0VBQ1oseUJBQXlCO0FBQzNCOzs7O0FBRUE7RUFDRSxZQUFZO0VBQ1osWUFBWTtFQUNaLFlBQVk7RUFDWixnQkFBZ0I7RUFDaEIsK0JBQStCO0FBQ2pDOzs7O0FBRUE7RUFDRSxpQkFBaUI7RUFDakIsWUFBWTtFQUNaLGtCQUFrQjtFQUNsQixnQkFBZ0I7QUFDbEI7Ozs7QUFFRTtJQUNFLDhCQUE4QjtFQUNoQzs7OztBQUVGO0VBQ0UsV0FBVztFQUNYLG9DQUFvQztFQUNwQyxnQ0FBZ0M7QUFDbEM7Ozs7QUFFRTtJQUNFLG9DQUFvQztFQUN0Qzs7OztBQUVGO0VBQ0UsV0FBVztFQUNYLG9DQUFvQztFQUNwQyxnQ0FBZ0M7QUFDbEM7Ozs7QUFFRTtJQUNFO0VBQ0Y7Ozs7QUFFRjtFQUNFLGlCQUFpQjtFQUNqQixnQkFBZ0I7RUFDaEIsWUFBWTtFQUNaLGVBQWU7QUFDakI7Ozs7QUFFQTtFQUNFLDRCQUE0QjtBQUM5Qjs7OztBQUVBO0VBQ0UsWUFBWTtFQUNaLDRCQUE0QjtFQUM1QixVQUFVO0VBQ1Ysa0JBQWtCO0VBQ2xCLFlBQVk7QUFDZDs7OztBQUVFO0lBQ0UsWUFBWTtFQUNkOzs7O0FBRUY7RUFDRSxnQkFBZ0I7RUFDaEIsWUFBWTtFQUNaLG9DQUFvQztFQUNwQyxnQ0FBZ0M7QUFDbEM7Ozs7QUFFQTtFQUNFLGNBQWM7QUFDaEI7Ozs7QUFFQTtFQUNFLDRCQUE0QjtBQUM5Qjs7OztBQUVFO0lBQ0UsWUFBWTtJQUNaLFlBQVk7SUFDWixZQUFZO0lBQ1osWUFBWTtFQUNkOzs7O0FBRUY7RUFDRSx5QkFBeUI7RUFDekIsWUFBWTtFQUNaLFlBQVk7RUFDWixtQkFBbUI7RUFDbkIsU0FBUztFQUNULGtCQUFrQjtBQUNwQjs7OztBQUVBO0VBQ0UsMkJBQTJCO0VBQzNCLG1CQUFtQjtFQUNuQixvQkFBb0I7RUFDcEIsZUFBZTtFQUNmLGtCQUFrQjtFQUNsQix5QkFBeUI7RUFDekIsaUJBQWlCO0FBQ25COzs7O0FBRUE7RUFDRSxpQkFBaUI7RUFDakIsVUFBVTtBQUNaOzs7O0FBRUE7RUFDRSxrQkFBa0I7RUFDbEIsV0FBVztBQUNiOzs7O0FBRUE7RUFDRSx3QkFBd0I7RUFDeEIsaUJBQWlCO0FBQ25COzs7O0FBRUE7RUFDRSxtQkFBbUI7RUFDbkIsWUFBWTtBQUNkOzs7O0FBRUE7RUFDRSxxQkFBcUI7RUFDckIsY0FBYztBQUNoQjs7OztBQUVBO0VBQ0UsdUJBQXVCO0VBQ3ZCLGNBQWM7RUFDZCwyQkFBMkI7QUFDN0I7Ozs7QUFFQTtFQUNFO2lCQUNlO0VBQ2Ysc0JBQXNCO0VBQ3RCLDhCQUE4QjtFQUM5QiwyQkFBMkI7RUFDM0IsMEJBQTBCO0VBQzFCLFlBQVk7RUFDWixlQUFlO0VBQ2YsZ0JBQWdCO0FBQ2xCOzs7O0FBR0E7RUFDRSx3QkFBd0I7RUFDeEIsa0JBQWtCO0VBQ2xCLGlCQUFpQjtFQUNqQix3QkFBd0I7QUFDMUI7Ozs7QUFFRTtJQUNFLHlCQUF5QjtJQUN6QixlQUFlO0lBQ2YsWUFBWTtJQUNaLFlBQVk7RUFDZDs7OztBQUVBO0lBQ0Usa0JBQWtCO0lBQ2xCLFVBQVU7RUFDWjs7OztBQUVGO0VBQ0Usa0JBQWtCO0VBQ2xCLGlCQUFpQjtFQUNqQixrQkFBa0I7QUFDcEI7Ozs7QUFFQTtFQUNFLGtCQUFrQjtFQUNsQixpQkFBaUI7QUFDbkI7Ozs7QUFFQTtFQUNFLGdCQUFnQjtFQUNoQixZQUFZO0FBQ2Q7Ozs7QUFFQTtFQUNFLGtCQUFrQjtFQUNsQixZQUFZO0VBQ1osV0FBVztBQUNiOzs7O0FBSUE7RUFDRSxZQUFZO0VBQ1osZUFBZTtBQUNqQjs7OztBQUdBO0VBQ0UsWUFBWTtFQUNaLGVBQWU7QUFDakI7Ozs7QUFHQTtFQUNFLGVBQWU7QUFDakI7Ozs7QUFFQTtFQUNFO0lBQ0UsZ0JBQWdCO0lBQ2hCLGVBQWU7RUFDakI7QUFDRjs7OztBQUVBO0VBQ0UsaUJBQWlCO0VBQ2pCLG1CQUFtQjtBQUNyQjs7OztBQUVBO0VBQ0UsZ0JBQWdCO0VBQ2hCLGdCQUFnQjtFQUNoQixrQkFBa0I7QUFDcEI7Ozs7QUFFQTtFQUNFLGFBQWE7RUFDYixZQUFZO0VBQ1osa0JBQWtCO0VBQ2xCLGNBQWM7QUFDaEI7Ozs7QUFFQTtFQUNFLGFBQWE7RUFDYixtQkFBbUI7RUFDbkIsc0JBQXNCO0FBQ3hCIiwiZmlsZSI6ImNvbnRlbnQtZWRpdGlvbi5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLnZhbGlkYXRpb24ge1xyXG4gIGNvbG9yOiByZWQ7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgZm9udC1zdHlsZTogaXRhbGljO1xyXG59XHJcblxyXG5cclxuXHJcbi5zd2l0Y2gge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgd2lkdGg6IDYwcHg7XHJcbiAgaGVpZ2h0OiAzNHB4O1xyXG59XHJcblxyXG4gIC5zd2l0Y2ggaW5wdXQge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHdpZHRoOiAwO1xyXG4gICAgaGVpZ2h0OiAwO1xyXG4gIH1cclxuXHJcbi5zbGlkZXIge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgYm90dG9tOiAwO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAuNHM7XHJcbiAgdHJhbnNpdGlvbjogLjRzO1xyXG59XHJcblxyXG4gIC5zbGlkZXI6YmVmb3JlIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBoZWlnaHQ6IDI2cHg7XHJcbiAgICB3aWR0aDogMjZweDtcclxuICAgIGxlZnQ6IDRweDtcclxuICAgIGJvdHRvbTogNHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IC40cztcclxuICAgIHRyYW5zaXRpb246IC40cztcclxuICB9XHJcblxyXG5pbnB1dDpjaGVja2VkICsgLnNsaWRlciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YxOTEwMDtcclxufVxyXG5cclxuaW5wdXQ6Zm9jdXMgKyAuc2xpZGVyIHtcclxuICBib3gtc2hhZG93OiAwIDAgMXB4ICNmMTkxMDA7XHJcbn1cclxuXHJcbmlucHV0OmNoZWNrZWQgKyAuc2xpZGVyOmJlZm9yZSB7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjZweCk7XHJcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyNnB4KTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjZweCk7XHJcbn1cclxuXHJcbi8qIFJvdW5kZWQgc2xpZGVycyAqL1xyXG4uc2xpZGVyLnJvdW5kIHtcclxuICBib3JkZXItcmFkaXVzOiAzNHB4O1xyXG59XHJcblxyXG4gIC5zbGlkZXIucm91bmQ6YmVmb3JlIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICB9XHJcblxyXG4uYnRuLW9yYW5naXVtLXNhdmUge1xyXG4gIHdpZHRoOiAxMjBweDtcclxuICBoZWlnaHQ6IDMwcHg7XHJcbiAgbGluZS1oZWlnaHQ6IDAuNTtcclxuICBjb2xvcjogYmxhY2s7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI0YyOTEwMDtcclxufVxyXG5cclxuLmJ0bi1vcmFuZ2l1bS1jYW5jZWwge1xyXG4gIHdpZHRoOiAxMjBweDtcclxuICBoZWlnaHQ6IDMwcHg7XHJcbiAgY29sb3I6IGJsYWNrO1xyXG4gIGxpbmUtaGVpZ2h0OiAwLjU7XHJcbiAgbWFyZ2luLXJpZ2h0OiAyLjVyZW0gIWltcG9ydGFudDtcclxufVxyXG5cclxuLnNlY3Rpb24tbHQge1xyXG4gIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gIHdpZHRoOiB1bnNldDtcclxuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbiAgbWFyZ2luLXRvcDogMjBweDtcclxufVxyXG5cclxuICAuc2VjdGlvbi1sdCAuZm9sZGVyLWJsayB7XHJcbiAgICBib3JkZXItYm90dG9tOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuLmJ0bi1zZWNvbmRhcnkge1xyXG4gIGNvbG9yOiAjZmZmO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNiYWJhYmEgIWltcG9ydGFudDtcclxuICBib3JkZXItY29sb3I6ICNiYWJhYmEgIWltcG9ydGFudDtcclxufVxyXG5cclxuICAuYnRuLXNlY29uZGFyeTpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTNhM2EzICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuLnNob3cgPiAuYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUge1xyXG4gIGNvbG9yOiAjZmZmO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNiYWJhYmEgIWltcG9ydGFudDtcclxuICBib3JkZXItY29sb3I6ICNiYWJhYmEgIWltcG9ydGFudDtcclxufVxyXG5cclxuICAuc2hvdyA+IC5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZTpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTNhM2EzICFpbXBvcnRhbnRcclxuICB9XHJcblxyXG4uYnRuLWdyb3VwID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSB7XHJcbiAgbWFyZ2luLWxlZnQ6IC0ycHg7XHJcbiAgLyp3aWR0aDogMTUxcHg7Ki9cclxuICBoZWlnaHQ6IDQ1cHg7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uZHJvcGRvd24taXRlbSB7XHJcbiAgcGFkZGluZzogLjI1cmVtIDAgIWltcG9ydGFudDtcclxufVxyXG5cclxuLm1vZGUtZHJhZnQtY2hlY2tib3gge1xyXG4gIGhlaWdodDogMTBweDtcclxuICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGJvdHRvbTogNDBweDtcclxufVxyXG5cclxuICAubW9kZS1kcmFmdC1jaGVja2JveCBsYWJlbCB7XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbiAgfVxyXG5cclxuLmFjdGlvbi1jb250cm9scyBidXR0b24ge1xyXG4gIC8qd2lkdGg6IDE1MXB4OyovXHJcbiAgaGVpZ2h0OiA0NXB4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNiYWJhYmEgIWltcG9ydGFudDtcclxuICBib3JkZXItY29sb3I6ICNiYWJhYmEgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmFjdGlvbi1jb250cm9scyB1bCBsaSB7XHJcbiAgbWFyZ2luOiAxMHB4IDA7XHJcbn1cclxuXHJcbi50ZXh0LXJpZ2h0IHtcclxuICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4gIC50ZXh0LXJpZ2h0IGJ1dHRvbiB7XHJcbiAgICBtYXJnaW46IDE4cHg7XHJcbiAgICB3aWR0aDogMjAwcHg7XHJcbiAgICBoZWlnaHQ6IDQ1cHg7XHJcbiAgICBjb2xvcjogYmxhY2s7XHJcbiAgfVxyXG5cclxuLm5vdGlmaWNhdGlvbiB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNGOTNGMTtcclxuICBjb2xvcjogd2hpdGU7XHJcbiAgcGFkZGluZzogOHB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDIwcHg7XHJcbiAgdG9wOiAyM3B4O1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLmJhZGdlLXR5cGUge1xyXG4gIGJvcmRlcjogc29saWQgbGlnaHRncmF5IDFweDtcclxuICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gIHBhZGRpbmc6IDRweCA1cHggMnB4O1xyXG4gIGZvbnQtc2l6ZTogMTBweDtcclxuICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICBtYXJnaW4tcmlnaHQ6IDNweDtcclxufVxyXG5cclxuLmItcmVkIHtcclxuICBib3JkZXItY29sb3I6IHJlZDtcclxuICBjb2xvcjogcmVkO1xyXG59XHJcblxyXG4uYi1ibHVlIHtcclxuICBib3JkZXItY29sb3I6IGJsdWU7XHJcbiAgY29sb3I6IGJsdWU7XHJcbn1cclxuXHJcbi5iLXZpb2xldCB7XHJcbiAgYm9yZGVyLWNvbG9yOiBibHVldmlvbGV0O1xyXG4gIGNvbG9yOiBibHVldmlvbGV0O1xyXG59XHJcblxyXG4uYi1ncmVlbiB7XHJcbiAgYm9yZGVyLWNvbG9yOiBncmVlbjtcclxuICBjb2xvcjogZ3JlZW47XHJcbn1cclxuXHJcbi5iLW9yYW5naXVtIHtcclxuICBib3JkZXItY29sb3I6ICNmMTkxMDA7XHJcbiAgY29sb3I6ICNmMTkxMDA7XHJcbn1cclxuXHJcbi5iLWdyYXkge1xyXG4gIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjMzQzYTQwO1xyXG4gIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0Z3JheTtcclxufVxyXG5cclxuLmJ0bi1hY3Rpb24tb3JhbmdpdW0ge1xyXG4gIC8qIHdpZHRoOiAxMjBweDtcclxuICBoZWlnaHQ6IDMwcHg7ICovXHJcbiAgLyogbGluZS1oZWlnaHQ6IDAuNTsgKi9cclxuICBwYWRkaW5nLWJvdHRvbTogMnB4ICFpbXBvcnRhbnQ7XHJcbiAgcGFkZGluZy10b3A6IDJweCAhaW1wb3J0YW50O1xyXG4gIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiBibGFjaztcclxuICBmb250LXNpemU6IDE0cHg7XHJcbiAgZm9udC13ZWlnaHQ6IDcwMDtcclxufVxyXG5cclxuXHJcbi5idG4tZGVsZXRlLW9yYW5naXVtIHtcclxuICAvKiBwb3NpdGlvbjogcmVsYXRpdmU7ICovXHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGxpbmUtaGVpZ2h0OiA0MHB4O1xyXG4gIC8qIG1hcmdpbi1yaWdodDogMTBweDsgKi9cclxufVxyXG5cclxuICAuYnRuLWRlbGV0ZS1vcmFuZ2l1bSBhIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNDRDAwMDA7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBoZWlnaHQ6IDQ1cHg7XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbiAgfVxyXG5cclxuICAuYnRuLWRlbGV0ZS1vcmFuZ2l1bSBpbWcge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbGVmdDogMTVweDtcclxuICB9XHJcblxyXG4uYnRuLXB1Ymxpc2gtb3JhbmdpdW0sIC5idG4tc2F2ZS1vcmFuZ2l1bSB7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGxpbmUtaGVpZ2h0OiA0MHB4O1xyXG4gIG1hcmdpbi1yaWdodDogMTBweDtcclxufVxyXG5cclxuLmJ0bi1jbG9uZS1vcmFuZ2l1bSB7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGxpbmUtaGVpZ2h0OiA0MHB4O1xyXG59XHJcblxyXG4uYnRuLXB1Ymxpc2gtb3JhbmdpdW0gYSB7XHJcbiAgLyp3aWR0aDogMTUxcHg7Ki9cclxuICBoZWlnaHQ6IDQ1cHg7XHJcbn1cclxuXHJcbi5idG4tcHVibGlzaC1vcmFuZ2l1bSBpbWcsIC5idG4tc2F2ZS1vcmFuZ2l1bSBpbWcsIC5idG4tY2xvbmUtb3JhbmdpdW0gaW1nIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgaGVpZ2h0OiAyNXB4O1xyXG4gIHdpZHRoOiAyNXB4O1xyXG59XHJcblxyXG5cclxuXHJcbi5idG4tc2F2ZS1vcmFuZ2l1bSBhIHtcclxuICBoZWlnaHQ6IDQ1cHg7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG5cclxuLmJ0bi1jbG9uZS1vcmFuZ2l1bSBhIHtcclxuICBoZWlnaHQ6IDQ1cHg7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG5cclxuLnBvaW50ZXIge1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcclxuICAuYnRuLXNhdmUtb3JhbmdpdW0sIC5tci10b3AtMjAtcHgge1xyXG4gICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgIG1hcmdpbi1yaWdodDogMDtcclxuICB9XHJcbn1cclxuXHJcbi5tYXgtaGVpZ2h0IHtcclxuICBtYXgtaGVpZ2h0OiA3NTBweDtcclxuICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG59XHJcblxyXG4uZWRpdG9yLWNvbnRhaW5lciB7XHJcbiAgbWF4LWhlaWdodDogODd2aDtcclxuICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcclxufVxyXG5cclxuLmFyZWEge1xyXG4gIGhlaWdodDogMTAwcHg7XHJcbiAgbWFyZ2luOiAxMHB4O1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLmNvbnRlbnQge1xyXG4gIGhlaWdodDogMTAwcHg7XHJcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG59XHJcbiJdfQ== */\";","import { Injectable } from '@angular/core';\r\nimport { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree, Router } from '@angular/router';\r\nimport { Observable, } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { AuthenticationService } from \"../services/general/index\";\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AuthorizationGuard implements CanActivate {\r\n\r\n constructor(\r\n private readonly authenticationService: AuthenticationService,\r\n private readonly router: Router) {\r\n\r\n }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot)\r\n : Observable | Promise | boolean | UrlTree {\r\n \r\n return this.authenticationService\r\n .isAuthorized()\r\n .pipe(\r\n map(v => {\r\n if (v && v.isAuthenticated) {\r\n return true;\r\n }\r\n this.router.navigate(['/login'], { queryParams: { returnUrl: state.url } });\r\n return false;\r\n }\r\n ));\r\n }\r\n}\r\n","import { AssetDirectoryStore } from './asset-directory.store';\r\nimport { Injectable } from '@angular/core';\r\nimport { BaseQuery } from \"../base/base.query\";\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AssetDirectoryQuery extends BaseQuery {\r\n\r\n constructor(store: AssetDirectoryStore) {\r\n super(store);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable, of } from 'rxjs';\r\nimport { map, mergeMap, catchError} from 'rxjs/operators';\r\nimport { DynamicContentSchemaFactory, MenuItemFacade, PageFacade, SchemaPageFacade, SchemaPageModel, TemplateFacade } from '../../akita';\r\nimport { Code, ServiceCallback } from '../../services-utils';\r\nimport { PageModel } from '../..';\r\nimport { Content } from '../models/content.model';\r\nimport { SquidexTool } from '../../../tools';\r\nimport { AppToken } from '../../../models/app-token';\r\n\r\nconst cloneDeep = require('lodash.clonedeep');\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class PageInternalService {\r\n\r\n constructor(\r\n private pageFacade: PageFacade,\r\n private dynamicContentSchemaFactory: DynamicContentSchemaFactory,\r\n private schemaPageFacade: SchemaPageFacade,\r\n private templateFacade: TemplateFacade,\r\n private menuItemFacade: MenuItemFacade\r\n ) { }\r\n\r\n createPage(data: any): Observable> {\r\n return this.templateFacade.createAsPublished({\r\n body: {iv: \"Template of page: \" + data.code.iv },\r\n category: {iv: \"default\"},\r\n code: {iv: data.code.iv + \"-template\"},\r\n deleted: {iv: false},\r\n index: {iv: 0}\r\n }).pipe(mergeMap(template => {\r\n data.template.iv = [template.id];\r\n return this.pageFacade.create(data).pipe(mergeMap(page => {\r\n return this.menuItemFacade.createAsPublished({\r\n code: { iv: page.data.code.iv },\r\n page: { iv : page.id },\r\n index: {iv:0},\r\n deleted: {iv:false}\r\n }).pipe(map(() => {\r\n return new ServiceCallback(Code.Success, \"Page created\", page);\r\n }), catchError((error: any) => {\r\n this.pageFacade.removeHard(page.id).subscribe();\r\n this.templateFacade.removeHard(template.id).subscribe();\r\n return of(new ServiceCallback(Code.ServeurError, \"MenuItem creation failed in internal page service create function\", error));\r\n }));\r\n }), catchError((error: any) => {\r\n this.templateFacade.removeHard(template.id).subscribe();\r\n return of(new ServiceCallback(Code.ServeurError, \"Page creation failed in internal page service create function\", error));\r\n }));\r\n }), catchError((error: any) => {\r\n return of(new ServiceCallback(Code.ServeurError, \"Template creation failed in internal page service create function\", error));\r\n }));\r\n }\r\n\r\n deletePage(pageId: string): Observable {\r\n return of(new ServiceCallback(Code.NotImplemented));\r\n }\r\n\r\n private clonePageContent(contentId: string, name:string, url: {[key: string]: string })\r\n : Observable> {\r\n\r\n console.log(contentId);\r\n return this.schemaPageFacade.getSchemaPageByContentId(contentId, true).pipe(mergeMap(schemaPage => {\r\n console.log(schemaPage);\r\n const schemaName= schemaPage.data.contenttype.iv;\r\n\r\n console.log(schemaName);\r\n const contentFacade = this.dynamicContentSchemaFactory.getDynamicContentSchemaFacade(schemaName);\r\n\r\n return contentFacade.get(contentId, true).pipe(mergeMap(content => {\r\n const clonedContentData = cloneDeep(content.data);\r\n let squidexTool = new SquidexTool();\r\n let sanitizedContentCode = squidexTool.sanitizeForUniqueName(name);\r\n\r\n clonedContentData.pageName = { iv: name };\r\n clonedContentData.code = {iv: sanitizedContentCode};\r\n clonedContentData.url = url;\r\n return contentFacade.createAsPublished(clonedContentData).pipe(mergeMap(newContent => {\r\n\r\n let clonedSchemaPageData = cloneDeep(schemaPage.data);\r\n clonedSchemaPageData.code = {iv: sanitizedContentCode};\r\n clonedSchemaPageData.contentid.iv = newContent.id;\r\n\r\n return this.schemaPageFacade.createAsPublished(clonedSchemaPageData).pipe(mergeMap(newSchemaPage => {\r\n\r\n return this.menuItemFacade.getMenuItemsByPageId(contentId).pipe(mergeMap(menuItems => {\r\n let clonedMenuItemData = cloneDeep(menuItems[0].data);\r\n\r\n clonedMenuItemData.page.iv = newSchemaPage.id;\r\n clonedMenuItemData.code = {iv: `${schemaName}/${sanitizedContentCode}`};\r\n\r\n return this.menuItemFacade.createAsPublished(clonedMenuItemData).pipe(map(() => {\r\n return new ServiceCallback(Code.Success,\r\n \"Page cloned\",\r\n newContent);\r\n }), catchError((error: any) => {\r\n this.schemaPageFacade.removeHard(newSchemaPage.id).subscribe();\r\n contentFacade.removeHard(newContent.id).subscribe();\r\n return of(new ServiceCallback(Code.ServeurError,\r\n \"MenuItem creation failed in internal page service clone function\",\r\n error));\r\n }));\r\n }), catchError((error: any) => {\r\n this.schemaPageFacade.removeHard(newSchemaPage.id).subscribe();\r\n contentFacade.removeHard(newContent.id).subscribe();\r\n return of(new ServiceCallback(Code.ServeurError,\r\n \"Cannot get menu item in internal page service clone function\",\r\n error));\r\n }));\r\n }), catchError((error: any) => {\r\n contentFacade.removeHard(newContent.id).subscribe();\r\n return of(new ServiceCallback(Code.ServeurError, \"SchemaPage creation failed in internal page service clone function\", error));\r\n }));\r\n }), catchError((error: any) => {\r\n console.log(\"error :\");\r\n console.log(error);\r\n return of(new ServiceCallback(Code.ClientError, \"Content creation failed in internal page service clone function\", error));\r\n }));\r\n }), catchError((error: any) => {\r\n console.log(\"error :\");\r\n console.log(error);\r\n return of(new ServiceCallback(Code.ClientError, \"Cannot get content in internal page service clone function\", error));\r\n }));\r\n }), catchError((error: any) => {\r\n return of(new ServiceCallback(Code.ClientError, \"Cannot get schema-page in internal page service clone function\", error));\r\n }));\r\n }\r\n\r\n private cloneSinglePage(pageId: string, name:string, url: {[key: string]: string })\r\n : Observable> {\r\n return this.pageFacade.get(pageId, true).pipe(mergeMap(originalPage => {\r\n if(\r\n !originalPage.data.template ||\r\n !originalPage.data.template.iv ||\r\n originalPage.data.template.iv.length == 0 ||\r\n !originalPage.data.template.iv[0]\r\n ) {\r\n return of(new ServiceCallback(Code.ClientError, \"No template id found for page in internal page service clone function\"));\r\n }\r\n let data = cloneDeep(originalPage.data);\r\n let squidexTool = new SquidexTool();\r\n data.code = {iv: squidexTool.sanitizeForUniqueName(name)};\r\n data.pageName = {iv: name};\r\n data.url = url;\r\n\r\n return this.templateFacade.get(originalPage.data.template.iv[0], true).pipe(mergeMap(originalTemplate => {\r\n let templateData = cloneDeep(originalTemplate.data);\r\n templateData.code = {iv: data.code.iv + \"-template\"};\r\n templateData.body = {iv: originalTemplate.data.body.iv + \" - Cloned from \" + originalPage.data.code.iv};\r\n\r\n return this.templateFacade.createAsPublished(templateData).pipe(mergeMap(template => {\r\n data.template.iv = [template.id];\r\n\r\n return this.pageFacade.create(data).pipe(mergeMap(page => {\r\n return this.menuItemFacade.createAsPublished({\r\n code: { iv: page.data.code.iv },\r\n page: { iv : page.id },\r\n index: {iv:0},\r\n deleted: {iv:false}\r\n }).pipe(map(() => {\r\n return new ServiceCallback(Code.Success, \"Page cloned\", page);\r\n }), catchError((error: any) => {\r\n this.pageFacade.removeHard(page.id).subscribe();\r\n this.templateFacade.removeHard(template.id).subscribe();\r\n return of(new ServiceCallback(Code.ServeurError,\r\n \"MenuItem creation failed in internal page service clone function\",\r\n error));\r\n }));\r\n }), catchError((error: any) => {\r\n this.templateFacade.removeHard(template.id).subscribe();\r\n return of(new ServiceCallback(Code.ServeurError,\r\n \"Page creation failed in internal page service clone function\",\r\n error));\r\n }));\r\n }), catchError((error: any) => {\r\n return of(new ServiceCallback(Code.ServeurError,\r\n \"Template creation failed in internal page service clone function\",\r\n error));\r\n }));\r\n }) ) ;\r\n }));\r\n }\r\n\r\n clonePage(pageId: string, name:string, url: {[key: string]: string }, isContent: boolean = false)\r\n : Observable> {\r\n return isContent ? this.clonePageContent(pageId, name, url) : this.cloneSinglePage(pageId, name, url);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { AssetStore } from './asset.store';\r\nimport { AssetQuery } from './asset.query';\r\nimport { AssetService } from '../../squidex/services/asset.service';\r\nimport { ID } from '@datorama/akita';\r\nimport { Asset, AssetFactory, ContentList } from '../../squidex';\r\nimport { of, Observable } from 'rxjs';\r\nimport { flatMap, tap, map } from 'rxjs/operators';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { FilterPagination } from '../base/filter.pagination';\r\nimport { ESchemaContentStatus } from '../base/enum';\r\nimport { DatePipe } from '@angular/common';\r\nimport { AppConfigProvider } from '../../../app-config.provider';\r\nimport { AssetDirectoryFacade } from '../asset-directory-schema/asset-directory.facade';\r\n\r\n\r\nconst EMPTY = '';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AssetFacade {\r\n\r\n readonly datePipe: DatePipe;\r\n public service: AssetService;\r\n\r\n private _path: string = EMPTY;\r\n private _endPoint: string = EMPTY;\r\n\r\n get path(): string {\r\n return this._path;\r\n }\r\n\r\n get endPoint(): string {\r\n return this._endPoint;\r\n }\r\n\r\n private store: AssetStore;//TODO: make it static\r\n private query: AssetQuery;//TODO: make it static\r\n private readonly emptyGuid = '00000000-0000-0000-0000-000000000000';\r\n\r\n\r\n protected constructor(private readonly assetFactory: AssetFactory,\r\n private readonly translateService: TranslateService,\r\n private readonly appConfigProvider: AppConfigProvider,\r\n private readonly assetDirectoryFacade: AssetDirectoryFacade,\r\n ) {\r\n this.datePipe = new DatePipe(this.getCurrentLanguage());\r\n this._path = appConfigProvider.getAssetsPathUrl();\r\n this._endPoint = appConfigProvider.getApiEndpoint();\r\n\r\n }\r\n\r\n\r\n protected initialize(): void {\r\n if (!this.service) {\r\n this.service = this.assetFactory.getAssetService();\r\n }\r\n if (!this.query) {\r\n this.query = this.assetFactory.getAssetQuery();\r\n }\r\n if (!this.store) {\r\n this.store = this.assetFactory.getAssetStore();\r\n }\r\n this._path = this.appConfigProvider.getAssetsPathUrl();\r\n this._endPoint = this.appConfigProvider.getApiEndpoint();\r\n }\r\n\r\n\r\n getById(id: ID): Observable {\r\n this.initialize();\r\n if (this.query.getValue().ids.indexOf(id) > -1) {\r\n return of(this.query.getValue().entities[id]);\r\n }\r\n\r\n return this.service.getById(id).pipe(flatMap((asset) => {\r\n this.store.add(asset);\r\n return of(asset);\r\n })) as Observable;\r\n }\r\n\r\n create(assetData: any, file?: File, directory?: string, fieldName?: string, fileName?: string, folderParentId?: string): Observable {\r\n this.initialize();\r\n\r\n\r\n return this.service.upload(assetData)\r\n .pipe(\r\n tap(assetBack => {\r\n\r\n if (!fileName) {\r\n fileName = assetBack.fileName;\r\n }\r\n\r\n assetBack.fieldName = fieldName;\r\n this.service.update(assetBack.id, assetBack).toPromise().then(tagBack => {\r\n\r\n const payload = {\r\n tags: []\r\n }\r\n\r\n if (fieldName) {\r\n payload.tags.push(\"field=\" + fieldName);\r\n }\r\n\r\n if (directory) {\r\n payload.tags.push(\"dir=\" + directory);\r\n payload.tags.push(\"infolder\");\r\n }\r\n\r\n if (assetBack.tags) {\r\n assetBack.tags.forEach(tag => {\r\n payload.tags.push(tag);\r\n });\r\n }\r\n\r\n if (assetBack.isImage) {\r\n payload.tags.push('image');\r\n } else {\r\n switch (assetBack.fileType.toLowerCase()) {\r\n case 'mp3':\r\n case 'wav':\r\n case 'acc':\r\n case 'wma':\r\n case 'flac':\r\n case 'aiff':\r\n payload.tags.push('audio');\r\n break;\r\n case 'docx':\r\n case 'doc':\r\n case 'pdf':\r\n case 'xlsx':\r\n case 'txt':\r\n payload.tags.push('document');\r\n break;\r\n default:\r\n payload.tags.push('file');\r\n }\r\n }\r\n\r\n return this.service.updateTag(assetBack.id, payload).toPromise().then(assetTagBack => {\r\n const parentPayload = {\r\n parentId: folderParentId\r\n }\r\n\r\n return this.service.updateParent(assetBack.id, parentPayload).subscribe(assetParentBack => {\r\n this.store.add(assetParentBack);\r\n return assetParentBack;\r\n });\r\n });\r\n });\r\n\r\n })\r\n );\r\n }\r\n\r\n update(assetId: string, assetData: any): Observable {\r\n this.initialize();\r\n\r\n const fname = assetData.fileName.replace(/\\.[^/.]+$/, \"\");\r\n const ext = assetData.fileName.substr(assetData.fileName.lastIndexOf('.') + 1);\r\n assetData.slug = this.getSlug(fname) + '.' + ext;\r\n\r\n return this.service.update(assetId, assetData).\r\n pipe(\r\n tap(assetBack => {\r\n this.store.update(assetId, u => {\r\n return assetBack;\r\n });\r\n })\r\n );\r\n }\r\n\r\n updateTag(asset: any): Observable {\r\n this.initialize();\r\n return this.service.updateTag(asset.id, asset)\r\n .pipe(\r\n tap(v => {\r\n this.store.add(v);\r\n })\r\n );\r\n }\r\n\r\n remove(id: ID): Observable {\r\n this.initialize();\r\n return this.service.delete(id).pipe(\r\n tap(v => {\r\n this.store.remove(id);\r\n })\r\n );\r\n }\r\n\r\n getAssetsFromFolder(folderId?: string, filter?: any, AdvancedFilter?: any): Observable {\r\n this.initialize();\r\n\r\n let contentObject =\r\n {\r\n filter:\r\n {\r\n and: []\r\n }\r\n }\r\n\r\n let parentId = folderId ? `&parentId=${folderId}` : '';\r\n\r\n if (AdvancedFilter) {\r\n contentObject.filter.and.push(AdvancedFilter);\r\n }\r\n\r\n if (filter) {\r\n let sortInformation = filter.orderBy.split(\" \");\r\n\r\n if (sortInformation.length === 1) {\r\n contentObject[\"sort\"] = [{ path: sortInformation[0] }];\r\n } else if (sortInformation.length === 2) {\r\n contentObject[\"sort\"] = [{\r\n path: sortInformation[0],\r\n order: sortInformation[1],\r\n }];\r\n\r\n contentObject[\"skip\"] = filter.from;\r\n contentObject[\"take\"] = filter.to - filter.from;\r\n }\r\n } else {\r\n contentObject[\"take\"] = 100;\r\n contentObject[\"sort\"] = [{\r\n path: 'fileName',\r\n order: 'descending',\r\n }];\r\n\r\n }\r\n\r\n let filterText = \"?q=\" + encodeURIComponent(JSON.stringify(contentObject)) + parentId;\r\n\r\n return this.service.find(filterText);\r\n }\r\n\r\n fileCount(name: string, folder: string) {\r\n this.initialize();\r\n\r\n let contentObject: object = {};\r\n\r\n const fullName = folder + '_' + name;\r\n\r\n contentObject =\r\n {\r\n filter:\r\n {\r\n and: [\r\n {\r\n \"path\": \"fileName\",\r\n \"op\": \"eq\",\r\n \"value\": fullName,\r\n }\r\n ]\r\n },\r\n }\r\n\r\n contentObject[\"take\"] = 1;\r\n\r\n contentObject[\"sort\"] = [];\r\n\r\n let filterText = \"?q=\" + encodeURIComponent(JSON.stringify(contentObject));\r\n\r\n return this.service.countQuery(filterText);\r\n\r\n }\r\n\r\n folderCount(id: string): Observable {\r\n this.initialize();\r\n\r\n return this.service.getCount(id)\r\n .pipe(map(object => {\r\n return object.total;\r\n })\r\n );\r\n }\r\n\r\n\r\n getFilesByName(name: string, folder: string): Observable {\r\n this.initialize();\r\n\r\n let contentObject: object = {};\r\n\r\n const fullName = folder + '_' + name;\r\n\r\n contentObject =\r\n {\r\n filter:\r\n {\r\n and: [\r\n {\r\n \"path\": \"fileName\",\r\n \"op\": \"eq\",\r\n \"value\": fullName,\r\n }\r\n ]\r\n },\r\n }\r\n\r\n contentObject[\"take\"] = 1;\r\n\r\n contentObject[\"sort\"] = [];\r\n\r\n let filterText = \"?q=\" + encodeURIComponent(JSON.stringify(contentObject));\r\n\r\n return this.service.find(filterText);\r\n\r\n }\r\n\r\n\r\n getFolderCount(folder?: string): Observable {\r\n this.initialize();\r\n\r\n let contentObject: object = {};\r\n\r\n if (folder) {\r\n folder = \"dir=\" + folder;\r\n contentObject =\r\n {\r\n filter:\r\n {\r\n and: [\r\n {\r\n \"path\": \"tags\",\r\n \"op\": \"eq\",\r\n \"value\": folder,\r\n }\r\n ]\r\n },\r\n }\r\n }\r\n\r\n contentObject[\"take\"] = 1;\r\n\r\n contentObject[\"sort\"] = [];\r\n\r\n let filterText = \"?q=\" + encodeURIComponent(JSON.stringify(contentObject));\r\n\r\n return this.service.countQuery(filterText);\r\n }\r\n\r\n getDefaultLanguage(): string {\r\n this.initialize();\r\n return this.translateService.defaultLang;\r\n }\r\n\r\n getCurrentLanguage(): string {\r\n // this.initialize();\r\n return this.translateService.currentLang;\r\n }\r\n\r\n // not tested\r\n getFilteredPagination(filterParms: FilterPagination,\r\n eSchemaContentStatus: ESchemaContentStatus = ESchemaContentStatus.Published,\r\n AdvancedFilter?: any\r\n ): Observable {\r\n this.initialize();\r\n\r\n let publishedText = \"\";\r\n\r\n let contentObject =\r\n {\r\n filter:\r\n {\r\n and: []\r\n }\r\n }\r\n\r\n if (AdvancedFilter) {\r\n contentObject.filter.and.push(AdvancedFilter);\r\n }\r\n\r\n let sortInformation = filterParms.orderBy.split(\" \");\r\n\r\n if (sortInformation.length === 1) {\r\n contentObject[\"sort\"] = [{ path: sortInformation[0] }];\r\n } else if (sortInformation.length === 2) {\r\n contentObject[\"sort\"] = [{\r\n path: sortInformation[0],\r\n order: sortInformation[1],\r\n }];\r\n }\r\n\r\n contentObject[\"skip\"] = filterParms.from;\r\n contentObject[\"take\"] = filterParms.to - filterParms.from;\r\n\r\n if (typeof filterParms.filter != \"undefined\" && filterParms.filter != \"\") {\r\n contentObject[\"fullText\"] = filterParms.filter + \"*\";\r\n }\r\n\r\n let filterText = \"?q=\" + encodeURIComponent(JSON.stringify(contentObject));\r\n return this.service.find(filterText);\r\n }\r\n\r\n translate(key: string | Array, interpolateParams?: Object): Observable {\r\n return this.translateService.get(key, interpolateParams);\r\n }\r\n\r\n getSlug(fileName: string) {\r\n const slug: string = fileName.replace(/\\s+/g, '-')\r\n .replace(/'/g, EMPTY)\r\n .replace(/\\\\/g, EMPTY)\r\n .replace(/\\*/g, EMPTY).toLowerCase();\r\n return slug; // + '-' + this.getFormattedTime();\r\n }\r\n\r\n trimFolder(fname: string): string {\r\n fname = fname.substring(fname.indexOf('_') + 1);\r\n return fname;\r\n }\r\n\r\n getFormattedTime() {\r\n const today = new Date();\r\n const y = today.getFullYear();\r\n const m: string = (today.getMonth() + 1).toString(); // JavaScript months are 0-based.\r\n const d: string = today.getDate().toString();\r\n const h: string = today.getHours().toString();\r\n const mi: string = today.getMinutes().toString();\r\n const s: string = today.getSeconds().toString();\r\n return y + m + d + \"-\" + h + mi + s;\r\n }\r\n\r\n generateThumbnail(pageUrl: any, imageName: string, imageId?: string): Observable {\r\n this.initialize();\r\n return this.service.generateThumbnail(pageUrl, imageName, imageId)\r\n .pipe(\r\n tap(assetBack => {\r\n if (assetBack != null) {\r\n let payload = { tags: [] }\r\n payload.tags.push(\"type/png\");\r\n payload.tags.push(\"dir=thumbnail\");\r\n payload.tags.push(\"infolder\");\r\n payload.tags.push('image');\r\n payload.tags.push('image/large');\r\n this.service.updateTag(assetBack.id, payload).subscribe(assetTagBack => {\r\n this.store.add(assetTagBack);\r\n if (imageId) {\r\n this.service.delete(imageId).subscribe(); // to do. Done here because delete doesn't work in controller.\r\n }\r\n });\r\n }\r\n })\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n HttpRequest,\r\n HttpHandler,\r\n HttpEvent,\r\n HttpInterceptor,\r\n HttpErrorResponse,\r\n HttpClient\r\n} from '@angular/common/http';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { AppConfigProvider } from '../app-config.provider';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { UiNotificationService } from '../services';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n@Injectable()\r\nexport class JwtInterceptor implements HttpInterceptor {\r\n\r\n constructor(private readonly appConfigProvider: AppConfigProvider,\r\n private readonly uiNotificationService: UiNotificationService,\r\n private readonly translateService: TranslateService,\r\n private readonly httpClient: HttpClient\r\n ) { }\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n\r\n if (request.url.indexOf('api/o') === -1 && request.url.indexOf('api') > 0) {\r\n const bearerToken = this.appConfigProvider.getBearerToken();\r\n if (bearerToken) {\r\n request = this.addToken(request, bearerToken);\r\n }\r\n if (request.url.indexOf('draftMode') > 0) {\r\n request = this.addUnpublished(request);\r\n }\r\n if (request.method.toLocaleLowerCase() !== \"get\" && request.url.indexOf('clearCache') > 0) {\r\n this.httpClient.post(\"/api/o/cache/clear?clearCache=true\",{}).subscribe();\r\n }\r\n }\r\n return next.handle(request).pipe(\r\n catchError((error: HttpErrorResponse) => {\r\n let msg = null;\r\n let status = null;\r\n\r\n if (error && error.error) {\r\n msg = error.error.message + ' ' + error.error.details;\r\n status = error.error.statusCode;\r\n }\r\n //\r\n if (msg) {\r\n if ((msg as string).indexOf('A schema with this name already exists') > -1) {\r\n\r\n this.translateService.get('T').subscribe(c => {\r\n this.uiNotificationService.error(c.SCHEMA_NAME_TAKEN, c.ERROR);\r\n });\r\n\r\n //this.uiNotificationService.errorAsync(this.translateService.get('T.SCHEMA_NAME_TAKEN'));\r\n } else if ((msg as string).indexOf('Another content with the same value exists') > -1) {\r\n //this.uiNotificationService.errorAsync(this.translateService.get('T.CONTENT_NAME_EXISTS'));\r\n this.translateService.get('T').subscribe(c => {\r\n this.uiNotificationService.error(c.CONTENT_NAME_EXISTS, c.ERROR);\r\n });\r\n } else if ((msg as string).indexOf('ttt') > -1) {\r\n //this.uiNotificationService.errorAsync(this.translateService.get('T.CONTENT_NAME_EXISTS'));\r\n this.translateService.get('T').subscribe(c => {\r\n this.uiNotificationService.error(c.ERROR_MESSAGE, c.ERROR);\r\n });\r\n } else {\r\n //this.uiNotificationService.error(msg, status);\r\n console.log(msg);\r\n console.log(request);\r\n }\r\n } else {\r\n // *to be translated\r\n this.uiNotificationService.error('Error!!!', 'Error');\r\n }\r\n return throwError(error);\r\n }));\r\n }\r\n\r\n private addToken(request: HttpRequest, token: string) {\r\n const r = request.clone({\r\n setHeaders: {\r\n 'Authorization': `Bearer ${token}`\r\n }\r\n });\r\n return r;\r\n }\r\n\r\n private addUnpublished(request: HttpRequest) {\r\n const r = request.clone({\r\n setHeaders: {\r\n 'X-Unpublished': ''\r\n }\r\n });\r\n return r;\r\n }\r\n}\r\n","export default \"
    \\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    {{ tc(\\\"CONTENTS\\\") | async }}
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    {{ tc(\\\"MEDIAS\\\") | async }}
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    {{ tc(\\\"MODULES\\\") | async }}
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    {{ tc(\\\"ADMIN\\\") | async }}
    \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n\";","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'getCompareValue'\r\n})\r\nexport class GetCompareValuePipe implements PipeTransform {\r\n\r\n transform(value: string, compareValue: string): boolean {\r\n if (!value || !compareValue || !compareValue['iv']) {\r\n return false;\r\n }\r\n return value === compareValue['iv'];\r\n }\r\n\r\n}\r\n","export default \"
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\\"logo\\\"\\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n\";","export default \"
    \\r\\n
    \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n
    {{dropZoneLabel}}
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\";","import { Injectable } from '@angular/core';\r\nimport { BaseService } from '../base/base.service';\r\nimport { ContentFactory } from '../../squidex';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class UserService extends BaseService {\r\n constructor(contentFactory: ContentFactory) {\r\n super('users', contentFactory);\r\n }\r\n}\r\n","import { Content } from \"../../squidex\";\r\n\r\nexport class LayoutModel extends Content {\r\n\r\n constructor(current?: Content) {\r\n super(current);\r\n if (current) {\r\n Object.assign(this, current);\r\n }\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { LanguageModel } from \"../../../services/akita/language-schema/language.model\";\r\n\r\n\r\n@Pipe({\r\n name: 'getLanguageCode'\r\n})\r\nexport class GetLanguageCodePipe implements PipeTransform {\r\n transform(languageModel: LanguageModel): string {\r\n if (!languageModel || !languageModel.data) return '';\r\n return languageModel.data.code.iv;\r\n }\r\n}\r\n","import { Field, Schema } from '../../../services';\r\nimport { Validation } from '../../../tools';\r\n\r\nexport class FieldReferenceCleaner {\r\n\r\n constructor(private allSchemas: Schema[]) {\r\n }\r\n\r\n public cleanAllReferenceFields(fields: Field[]) {\r\n const cleanedFields: Field[] = [];\r\n\r\n fields.forEach(field => {\r\n cleanedFields.push(this.cleanReferenceField(field));\r\n });\r\n\r\n return cleanedFields;\r\n }\r\n\r\n public cleanReferenceField(field: Field): Field {\r\n if (\r\n field.properties.fieldType !== 'References' ||\r\n !field.properties.schemaIds ||\r\n field.properties.schemaIds.length === 0\r\n ) {\r\n return field;\r\n }\r\n\r\n const cleanedIds: string[] = [];\r\n\r\n field.properties.schemaIds.forEach(id => {\r\n if (Validation.isValidGuid(id)) {\r\n cleanedIds.push(id);\r\n } else {\r\n cleanedIds.push(this.allSchemas.find(schema => schema.name === id).id);\r\n }\r\n });\r\n\r\n field.properties.schemaIds = cleanedIds;\r\n return field;\r\n\r\n }\r\n}\r\n","import { Code } from \"./enums/code.enum\";\r\n\r\nexport class ServiceCallback {\r\n public readonly messages: string[] = [];\r\n constructor(public readonly code: Code, msg: string = null, public readonly content:T = null) {\r\n if(msg) {\r\n this.messages.push(msg);\r\n }\r\n\r\n if (!this.isSuccess()) {\r\n let error = `An unexpected error ${this.code} append \\n ${Code[this.code]}`\r\n if(this.messages[0]) {\r\n error += '\\n' + this.messages[0];\r\n }\r\n console.error(error);\r\n }\r\n }\r\n\r\n addMessage(msg: string) {\r\n this.messages.push(msg);\r\n }\r\n\r\n isSuccess(): boolean {\r\n return this.code == Code.Success || this.code == Code.NoContent;\r\n }\r\n\r\n getMessage(): string {\r\n return this.messages.join('\\n');\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { Role } from '../models/role.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class RolesService {\r\n private readonly roleBaseUrl: string;\r\n\r\n constructor(private readonly httpClient: HttpClient,\r\n private readonly baseUrl: string)\r\n {\r\n this.roleBaseUrl = `${this.baseUrl}`;\r\n }\r\n\r\n getAllRoles(): Observable {\r\n const url = this.roleBaseUrl;\r\n return this.httpClient.get(url).pipe(map(roles => {\r\n return roles['items'].map(r => { //roles must be store uppercase in user\r\n r.name = r.name.toUpperCase();\r\n return r;\r\n })\r\n })) as Observable;\r\n }\r\n\r\n postNewRole(name: string): Observable {\r\n return this.httpClient.post(this.roleBaseUrl, {name: name} ) as Observable;\r\n }\r\n\r\n deleteRole(name: string): Observable {\r\n return this.httpClient.delete(this.roleBaseUrl + name);\r\n }\r\n\r\n }\r\n","import { StoreConfig } from '@datorama/akita';\r\nimport { Injectable } from '@angular/core';\r\nimport { BaseStore } from '../base/base.store';\r\n\r\n@Injectable({ providedIn: 'root' })\r\n@StoreConfig(\r\n {\r\n name: 'application-users',\r\n cache: {\r\n ttl: 900000\r\n }\r\n })\r\nexport class ApplicationUserStore extends BaseStore {\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { UserStore } from './user.store';\r\nimport { UserQuery } from './user.query';\r\nimport { BaseFacade } from '../base/base.facade';\r\nimport { UserService } from './user.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { DynamicSchemaFactory } from '../dynamic-schema.factory';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class UserFacade extends BaseFacade {\r\n constructor(\r\n userService: UserService,\r\n userStore: UserStore,\r\n userQuery: UserQuery,\r\n dynamicSchemaFacto: DynamicSchemaFactory,\r\n translateService: TranslateService) {\r\n super(userService,\r\n userStore,\r\n userQuery,\r\n dynamicSchemaFacto.getDynamicSchemaFacade('users'),\r\n translateService,\r\n 'users-facade'\r\n );\r\n }\r\n}\r\n","import { StoreConfig } from '@datorama/akita';\r\nimport { Injectable } from '@angular/core';\r\nimport { BaseStore } from '../base/base.store';\r\n\r\n@Injectable({ providedIn: 'root' })\r\n@StoreConfig(\r\n {\r\n name: 'users',\r\n cache: {\r\n ttl: 900000\r\n }\r\n })\r\nexport class UserStore extends BaseStore {\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BaseService } from '../base/base.service';\r\nimport { SchemasFactory, ContentFactory, Content } from '../../squidex';\r\nimport { Observable } from 'rxjs';\r\nimport { AppTokenService } from '../../../app-token.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PageService extends BaseService {\r\n\r\n constructor(schemasFactory: SchemasFactory,\r\n contentFactory: ContentFactory) {\r\n super(AppTokenService.PAGE_SCHEMA_NAME, contentFactory);\r\n }\r\n\r\n getFirstContent(): Observable {\r\n this.initialize();\r\n return this.contentService.getFirstContent();\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BaseQuery } from '../base/base.query';\r\nimport { PageContentStore } from './page-content.store';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PageContentQuery extends BaseQuery {\r\n\r\n constructor(store: PageContentStore) {\r\n super(store);\r\n }\r\n\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BaseService } from '../base/base.service';\r\nimport { ContentFactory, Content } from '../../squidex';\r\nimport { Observable } from 'rxjs';\r\nimport { AppToken } from \"../../../models/app-token\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PageCategoryService extends BaseService {\r\n\r\n constructor(contentFactory: ContentFactory) {\r\n super(AppToken.PAGE_CATEGORY_SCHEMA_NAME, contentFactory);\r\n }\r\n\r\n getFirstContent(): Observable {\r\n this.initialize();\r\n return this.contentService.getFirstContent();\r\n }\r\n\r\n}\r\n","import { Link } from './link.model';\r\n\r\nexport class Folder {\r\n id: string;\r\n parentId: string;\r\n folderName: string;\r\n version: number;\r\n _links: { [id: string]: Link };\r\n\r\n constructor(current?: any) {\r\n if (current) {\r\n Object.assign(this, current);\r\n } else {\r\n }\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BaseService } from \"../base/base.service\";\r\nimport { ContentFactory, ContentList } from '../../squidex';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class TemplateService extends BaseService {\r\n\r\n constructor(contentFactory: ContentFactory) {\r\n\r\n super('template', contentFactory);\r\n }\r\n\r\n\r\n getByCategory(category: string): Observable {\r\n this.initialize();\r\n return this.contentService\r\n .findContent(`?$filter=data/deleted/iv ne true and data/category/iv eq '${category}'`);\r\n }\r\n}\r\n","import { IBaseState } from '../base/base.state';\r\nimport { Schema } from '../../squidex';\r\nimport { HashMap, ID } from '@datorama/akita';\r\nimport { Content } from '../../squidex';\r\n\r\nexport class DynamicContentSchemaState implements IBaseState {\r\n storedIndex: { [index: number]: string; };\r\n lastFilter: string;\r\n lastOrderBy: string;\r\n [key: string]: any;\r\n code: string;\r\n totalCount: number;\r\n entities?: HashMap;\r\n ids?: any[];\r\n loading?: boolean;\r\n error?: any;\r\n active: ID;\r\n schema: Schema;\r\n\r\n constructor() { }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BaseFacade } from '../base/base.facade';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { PageTypeService } from './page-type.service';\r\nimport { PageTypeStore } from './page-type.store';\r\nimport { PageTypeQuery } from './page-type.query';\r\nimport { DynamicSchemaFactory } from '../dynamic-schema.factory';\r\nimport { AppToken } from \"../../../models/app-token\";\r\nimport { PageTypeModel } from \"./page-type.model\";\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class PageTypeFacade extends BaseFacade {\r\n\r\n constructor(\r\n private readonly pageTypeService: PageTypeService,\r\n private readonly pageTypeStore: PageTypeStore,\r\n private readonly pageTypeQuery: PageTypeQuery,\r\n private readonly dynamicSchemaFactory: DynamicSchemaFactory,\r\n translateService: TranslateService) {\r\n super(pageTypeService,\r\n pageTypeStore,\r\n pageTypeQuery,\r\n dynamicSchemaFactory.getDynamicSchemaFacade(AppToken.PAGE_TYPE_SCHEMA_NAME),\r\n translateService,\r\n AppToken.PAGE_TYPE_SCHEMA_NAME + '-facade'\r\n );\r\n }\r\n\r\n getDefaultPageType(): Observable {\r\n return this.pageTypeService.getDefaultPageType();\r\n }\r\n\r\n getPlaceholderPageType(): Observable {\r\n return this.pageTypeService.getPlaceholderPageType();\r\n }\r\n}\r\n","import { StoreConfig } from '@datorama/akita';\r\nimport { Injectable } from '@angular/core';\r\nimport { BaseStore } from '../base/base.store';\r\n\r\n@Injectable({ providedIn: 'root' })\r\n@StoreConfig(\r\n {\r\n name: 'schemametadata',\r\n cache: {\r\n ttl: 900000\r\n }\r\n })\r\nexport class SchemaMetadataStore extends BaseStore {\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { SchemaMetadataStore } from './schema-metadata.store';\r\nimport { SchemaMetadataQuery } from './schema-metadata.query';\r\nimport { BaseFacade } from '../base/base.facade';\r\nimport { SchemaMetadataService } from './schema-metadata.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { DynamicSchemaFactory } from '../dynamic-schema.factory';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { SchemaMetadataModel } from './schema-metadata.model';\r\nimport { Content } from '../../squidex/index';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class SchemaMetadataFacade extends BaseFacade {\r\n\r\n private readonly schemaMetaDataService: SchemaMetadataService;\r\n\r\n constructor(\r\n schemaMetadataService: SchemaMetadataService,\r\n schemaMetadataStore: SchemaMetadataStore,\r\n schemaMetadataQuery: SchemaMetadataQuery,\r\n dynamicSchemaFacto: DynamicSchemaFactory,\r\n translateService: TranslateService) {\r\n super(schemaMetadataService,\r\n schemaMetadataStore,\r\n schemaMetadataQuery,\r\n dynamicSchemaFacto.getDynamicSchemaFacade('schemametadata'),\r\n translateService,\r\n 'schemametadata-facade');\r\n\r\n this.schemaMetaDataService = this.getService() as SchemaMetadataService;\r\n }\r\n\r\n getByCategory(category: string): Observable {\r\n // TODO: store data\r\n return this.schemaMetaDataService.getByCategory(category).pipe(map(list => list.items));\r\n }\r\n\r\n\r\n getAll(): Observable {\r\n // TODO: store data\r\n return this.schemaMetaDataService.getAll().pipe(map(list => list.items));\r\n }\r\n\r\n getHiddenFields(schemaId: string): Observable {\r\n return this.getBySchemaId(schemaId)\r\n .pipe(map(meta => (meta.data.hiddenfields.iv as string).split(';')\r\n ));\r\n }\r\n\r\n removeBySchemaId(id: string): Observable {\r\n return this.schemaMetaDataService.getBySchemaId(id).pipe(map(metaList => {\r\n\r\n const items = metaList.items as Content[];\r\n\r\n if (!items || !items[0]) {\r\n throw (new Error('Schema metadata doesn\\'t exist'));\r\n }\r\n\r\n const firstItem = items[0];\r\n\r\n this.getService().removeContent(firstItem.id).toPromise().then(\r\n () => this.getStore().remove(id)\r\n );\r\n\r\n return firstItem;\r\n }));\r\n }\r\n\r\n hardRemoveBySchemaId(id: string): Observable {\r\n return this.schemaMetaDataService.getBySchemaId(id).pipe(map(metaList => {\r\n\r\n const items = metaList.items as Content[];\r\n\r\n if (!items || !items[0]) {\r\n throw (new Error('Schema metadata doesn\\'t exist'));\r\n }\r\n\r\n const firstItem = items[0];\r\n\r\n this.getService().removeHardContent(firstItem.id).toPromise().then(\r\n () => this.getStore().remove(id)\r\n );\r\n\r\n return firstItem;\r\n }));\r\n }\r\n\r\n getBySchemaId(id: string): Observable {\r\n if (this.getQuery().getValue().ids.some(storedId => storedId === id)) {\r\n return this.getQuery().selectEntity(id);\r\n }\r\n\r\n return this.schemaMetaDataService.getBySchemaId(id)\r\n .pipe(map(list => {\r\n\r\n const items = list.items as Content[];\r\n\r\n if (!items) {\r\n throw (new Error('Schema metadata not found'));\r\n }\r\n\r\n const firstItem = items[0];\r\n\r\n this.getStore().add(firstItem);\r\n\r\n return firstItem;\r\n }));\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BaseService } from \"../base/base.service\";\r\nimport { ContentFactory } from '../../squidex';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ArticleService extends BaseService {\r\n\r\n constructor(contentFactory: ContentFactory) {\r\n super('article', contentFactory);\r\n }\r\n}\r\n","import { ApplicationUserStore } from './application-user.store';\r\nimport { Injectable } from '@angular/core';\r\nimport { BaseQuery } from '../base/base.query';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ApplicationUserQuery extends BaseQuery {\r\n constructor(store: ApplicationUserStore) {\r\n super(store);\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { AppConfigProvider } from '../../../app-config.provider';\r\nimport { AssetService } from '../services/asset.service';\r\nimport { AssetQuery } from '../../akita/asset-schema/asset.query';\r\nimport { AssetStore } from '../../akita/asset-schema/asset.store';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AssetFactory {\r\n\r\n constructor(private readonly appConfigProvider: AppConfigProvider, private readonly httpClient: HttpClient) {\r\n\r\n }\r\n\r\n public getAssetService(): AssetService {\r\n return new AssetService(this.httpClient, this.appConfigProvider);\r\n }\r\n\r\n public getAssetQuery(): AssetQuery {\r\n return new AssetQuery(this.getAssetStore());\r\n}\r\n\r\n public getAssetStore(): AssetStore {\r\n return new AssetStore();\r\n}\r\n\r\n\r\n}\r\n","import { Content } from \"../../squidex\";\r\n\r\nexport class ClaimModel extends Content {\r\n\r\n constructor(current?: Content) {\r\n super(current);\r\n if (current) {\r\n Object.assign(this, current);\r\n }\r\n }\r\n}\r\n","export default \"
    \\r\\n
    \\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n

    \\r\\n

    \\r\\n {{ tc(\\\"CONTENT_TYPE\\\") | async }} :
    \\r\\n \\r\\n {{ schemaSelectedLabel }}\\r\\n \\r\\n

    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    paginationSize && !isAlphaOrder\\\">\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\";","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({ selector: '[ngx-file-drop-content-tmp]' })\r\nexport class NgxFileDropContentTemplateDirective {\r\n constructor(public template: TemplateRef) { }\r\n}\r\n","\r\nexport * from './akita';\r\nexport * from './general';\r\nexport * from './squidex';\r\nexport * from './services-utils'\r\n","import { DynamicContentSchemaStore } from './dynamic-content.store';\r\nimport { BaseQuery } from '../base/base.query';\r\n\r\nexport class DynamicContentSchemaQuery extends BaseQuery {\r\n constructor(store: DynamicContentSchemaStore) {\r\n super(store);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { StoreConfig } from '@datorama/akita';\r\nimport { BaseStore } from '../base/base.store';\r\nimport { AppToken } from \"../../../models/app-token\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n@StoreConfig({\r\n name: AppToken.PAGE_TYPE_SCHEMA_NAME,\r\n cache: {\r\n ttl: 15000\r\n }\r\n})\r\nexport class PageTypeStore extends BaseStore {\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BaseFacade } from '../base/base.facade';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { PageContentService } from './page-content.service';\r\nimport { PageContentStore } from './page-content.store';\r\nimport { PageContentQuery } from './page-content.query';\r\nimport { DynamicSchemaFactory } from '../dynamic-schema.factory';\r\nimport { AppToken } from '../../../models/app-token';\r\nimport { Observable, of } from 'rxjs';\r\nimport { flatMap } from 'rxjs/operators';\r\nimport { PageContentModel } from './page-content.model';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class PageContentFacade extends BaseFacade {\r\n\r\n constructor(\r\n private readonly pageContentService: PageContentService,\r\n pageContentStore: PageContentStore,\r\n pageContentQuery: PageContentQuery,\r\n dynamicSchemaFacto: DynamicSchemaFactory,\r\n translateService: TranslateService) {\r\n super(pageContentService,\r\n pageContentStore,\r\n pageContentQuery,\r\n dynamicSchemaFacto.getDynamicSchemaFacade(AppToken.PAGE_CONTENT_SCHEMA_NAME),\r\n translateService,\r\n AppToken.PAGE_CONTENT_SCHEMA_NAME + '-facade');\r\n }\r\n\r\n getPageContentsByPageId(id: string, orderBy: string = 'id', draftMode: boolean = false): Observable {\r\n return this.pageContentService.getByParentId(id, 'pageid', orderBy, draftMode).pipe(flatMap((contentList) => {\r\n return of(contentList.items) as Observable;\r\n }));\r\n }\r\n\r\n getPageContentsByContentId(id: string): Observable {\r\n return this.pageContentService.getByParentId(id, 'contentid').pipe(flatMap((contentList) => {\r\n return of(contentList.items) as Observable;\r\n }));\r\n }\r\n\r\n}\r\n","export default \"
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n\";","import { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { DynamicContentSchemaFacade, DynamicContentSchemaFactory } from '../../akita';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ContentInternalService {\r\n\r\n dynamicContentSchemaFacade: DynamicContentSchemaFacade;\r\n\r\n constructor(\r\n private dynamicContentSchemaFactory: DynamicContentSchemaFactory,\r\n private router: Router) {\r\n }\r\n\r\n\r\n cloneContent(contentId: string, schemaName: string) {\r\n this.dynamicContentSchemaFacade = this.dynamicContentSchemaFactory.getDynamicContentSchemaFacade(schemaName);\r\n\r\n this.dynamicContentSchemaFacade.get(contentId, true).subscribe(content => {\r\n localStorage.setItem(\"cloneData-\" + schemaName, JSON.stringify(content.data));\r\n this.router.navigate(['/contents/' + schemaName]);\r\n });\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { DatePipe } from '@angular/common';\r\n\r\n@Pipe({\r\n name: 'getDateValue'\r\n})\r\nexport class GetDateValuePipe implements PipeTransform {\r\n\r\n constructor(private datePipe: DatePipe) { }\r\n\r\n transform(value: any, language: string = 'iv'): string {\r\n\r\n if (!value || !value[language]) {\r\n return '';\r\n }\r\n\r\n return this.datePipe.transform(value[language], \"yyyy/MM/dd\", \"UTC -5\");\r\n }\r\n}\r\n","export default \"a.disabled {\\r\\n pointer-events: none;\\r\\n cursor: default;\\r\\n}\\r\\n\\r\\n.title {\\r\\n font-size: 14px;\\r\\n line-height: 16px;\\r\\n font-weight: 700;\\r\\n color: #f29100;\\r\\n}\\r\\n\\r\\n.no-drag {\\r\\n -webkit-user-drag: none;\\r\\n}\\r\\n\\r\\n.on-hover:hover {\\r\\n transition: all .2s ease-in;\\r\\n background-color: #f29100;\\r\\n color: black !important;\\r\\n}\\r\\n\\r\\n.is-selected {\\r\\n background-color: #f29100;\\r\\n z-index: 1000;\\r\\n}\\r\\n\\r\\na.disabled {\\r\\n pointer-events: none;\\r\\n cursor: default;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1lbnUtaXRlbS5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0Usb0JBQW9CO0VBQ3BCLGVBQWU7QUFDakI7O0FBRUE7RUFDRSxlQUFlO0VBQ2YsaUJBQWlCO0VBQ2pCLGdCQUFnQjtFQUNoQixjQUFjO0FBQ2hCOztBQUVBO0VBQ0UsdUJBQXVCO0FBQ3pCOztBQUVBO0VBSUUsMkJBQTJCO0VBQzNCLHlCQUF5QjtFQUN6Qix1QkFBdUI7QUFDekI7O0FBRUE7RUFDRSx5QkFBeUI7RUFDekIsYUFBYTtBQUNmOztBQUVBO0VBQ0Usb0JBQW9CO0VBQ3BCLGVBQWU7QUFDakIiLCJmaWxlIjoibWVudS1pdGVtLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJhLmRpc2FibGVkIHtcclxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICBjdXJzb3I6IGRlZmF1bHQ7XHJcbn1cclxuXHJcbi50aXRsZSB7XHJcbiAgZm9udC1zaXplOiAxNHB4O1xyXG4gIGxpbmUtaGVpZ2h0OiAxNnB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgY29sb3I6ICNmMjkxMDA7XHJcbn1cclxuXHJcbi5uby1kcmFnIHtcclxuICAtd2Via2l0LXVzZXItZHJhZzogbm9uZTtcclxufVxyXG5cclxuLm9uLWhvdmVyOmhvdmVyIHtcclxuICAtbW96LXRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbjtcclxuICAtby10cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW47XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW47XHJcbiAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLWluO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmMjkxMDA7XHJcbiAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5pcy1zZWxlY3RlZCB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyOTEwMDtcclxuICB6LWluZGV4OiAxMDAwO1xyXG59XHJcblxyXG5hLmRpc2FibGVkIHtcclxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICBjdXJzb3I6IGRlZmF1bHQ7XHJcbn1cclxuIl19 */\";","export default \"\\r\\n.max-height {\\r\\n max-height: 800px;\\r\\n}\\r\\n\\r\\n.on-hover a {\\r\\n width: 100%;\\r\\n display: block;\\r\\n}\\r\\n\\r\\n.on-hover:hover {\\r\\n transition: all .2s ease-in;\\r\\n background-color: #f29100;\\r\\n}\\r\\n\\r\\n.on-hover:hover a {\\r\\n color: black;\\r\\n }\\r\\n\\r\\n.on-hover a.active {\\r\\n color: black;\\r\\n background-color: #f29100;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxlZnQtbWVudS5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQTtFQUNFLGlCQUFpQjtBQUNuQjs7QUFFQTtFQUNFLFdBQVc7RUFDWCxjQUFjO0FBQ2hCOztBQUVBO0VBSUUsMkJBQTJCO0VBQzNCLHlCQUF5QjtBQUMzQjs7QUFFRTtJQUNFLFlBQVk7RUFDZDs7QUFFRjtFQUNFLFlBQVk7RUFDWix5QkFBeUI7QUFDM0IiLCJmaWxlIjoibGVmdC1tZW51LmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuLm1heC1oZWlnaHQge1xyXG4gIG1heC1oZWlnaHQ6IDgwMHB4O1xyXG59XHJcblxyXG4ub24taG92ZXIgYSB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi5vbi1ob3Zlcjpob3ZlciB7XHJcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW47XHJcbiAgLW8tdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLWluO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLWluO1xyXG4gIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbjtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjI5MTAwO1xyXG59XHJcblxyXG4gIC5vbi1ob3Zlcjpob3ZlciBhIHtcclxuICAgIGNvbG9yOiBibGFjaztcclxuICB9XHJcblxyXG4ub24taG92ZXIgYS5hY3RpdmUge1xyXG4gIGNvbG9yOiBibGFjaztcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjI5MTAwO1xyXG59XHJcbiJdfQ== */\";","import { Component, OnInit, Input, EventEmitter, Output } from '@angular/core';\r\nimport { FormGroupDirective, ControlContainer } from '@angular/forms';\r\nimport { MonacoEditorLoaderService } from '@materia-ui/ngx-monaco-editor';\r\nimport { filter, take } from 'rxjs/operators';\r\n\r\n//https://materiahq.github.io/ngx-monaco-editor/api-reference/index.html\r\n//https://stackoverflow.com/questions/51359689/monaco-editor-registercompletionitemprovider-removes-the-default-local-variable\r\n//https://gist.github.com/mwrouse/05d8c11cd3872c19c684bd1904a2202e\r\n//https://microsoft.github.io/monaco-editor/monarch.html\r\n@Component({\r\n selector: 'monaco-liquid-editor',\r\n templateUrl: './monaco-liquid-editor.component.html',\r\n styleUrls: ['./monaco-liquid-editor.component.css'],\r\n viewProviders: [\r\n {\r\n provide: ControlContainer,\r\n useExisting: FormGroupDirective\r\n }\r\n ]\r\n})\r\nexport class MonacoLiquidEditorComponent implements OnInit {\r\n\r\n @Input()\r\n theme = 'vs-dark';\r\n\r\n @Input()\r\n language = 'html';\r\n\r\n @Output()\r\n onInitEvent = new EventEmitter();\r\n\r\n editorOptions: {};\r\n\r\n @Input()\r\n editorForm: any; // formControlName\r\n\r\n private monaco: any;\r\n\r\n constructor(private readonly monacoLoaderService: MonacoEditorLoaderService) {\r\n let isInitialized = false;\r\n this.monacoLoaderService.isMonacoLoaded$.pipe(\r\n filter(isLoaded => isLoaded),\r\n take(1),\r\n ).subscribe((loaded) => {\r\n if (!isInitialized) {\r\n this.monaco = (window).monaco;\r\n if (this.monaco && (this.language === 'liquid' || this.language === 'html')) {\r\n isInitialized = true;\r\n this.registerAutocompleteProvider(this.monaco);\r\n }\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n if (!this.language) {\r\n this.language = 'html';\r\n }\r\n this.editorOptions = { theme: this.theme, language: this.language };\r\n }\r\n\r\n editorInit(editor) {\r\n editor.tabCompletion = 'on';\r\n this.onInitEvent.emit(editor);\r\n }\r\n\r\n private registerAutocompleteProvider(monaco) {\r\n //monaco.languages.register({ id: 'liquid' });\r\n monaco.languages.registerCompletionItemProvider('html', {\r\n provideCompletionItems: () => {\r\n var autocompleteProviderItems = [];\r\n var keywords = ['assign', 'capture', 'endcapture', 'increment', 'decrement',\r\n 'if', 'else', 'elsif', 'endif', 'for', 'endfor', 'break',\r\n 'continue', 'limit', 'offset', 'range', 'reversed', 'cols',\r\n 'case', 'endcase', 'when', 'block', 'endblock', 'true', 'false',\r\n 'in', 'unless', 'endunless', 'cycle', 'tablerow', 'endtablerow',\r\n 'contains', 'startswith', 'endswith', 'comment', 'endcomment',\r\n 'raw', 'endraw', 'editable', 'endentitylist', 'endentityview', 'endinclude',\r\n 'endmarker', 'entitylist', 'entityview', 'forloop', 'image', 'include',\r\n 'marker', 'outputcache', 'plugin', 'style', 'text', 'widget',\r\n 'abs', 'append', 'at_least', 'at_most', 'capitalize', 'ceil', 'compact',\r\n 'concat', 'date', 'default', 'divided_by', 'downcase', 'escape',\r\n 'escape_once', 'first', 'floor', 'join', 'last', 'lstrip', 'map',\r\n 'minus', 'modulo', 'newline_to_br', 'plus', 'prepend', 'remove',\r\n 'remove_first', 'replace', 'replace_first', 'reverse', 'round',\r\n 'rstrip', 'size', 'slice', 'sort', 'sort_natural', 'split', 'strip',\r\n 'strip_html', 'strip_newlines', 'times', 'truncate', 'truncatewords',\r\n 'uniq', 'upcase', 'url_decode', 'url_encode'];\r\n\r\n for (var i = 0; i < keywords.length; i++) {\r\n autocompleteProviderItems.push({ 'label': keywords[i], kind: monaco.languages.CompletionItemKind.Keyword });\r\n }\r\n\r\n return { suggestions: autocompleteProviderItems };\r\n }\r\n });\r\n }\r\n}\r\n","import { Asset } from './asset.model';\r\n\r\nexport abstract class AssetList {\r\n items: Asset[];\r\n total: number;\r\n}\r\n","import { FieldProperty } from './field-property.model';\r\nimport { Link } from \"./link.model\";\r\n\r\nexport class Field {\r\n fieldId: number;\r\n isDisable: boolean;\r\n isHidden: boolean;\r\n isLocked: boolean;\r\n name: string; //^[a-zA-Z0-9]+(\\-[a-zA-Z0-9]+)*\r\n partitioning: string;\r\n properties: FieldProperty;\r\n nested: Field[];\r\n _links: { [id: string]: Link };\r\n\r\n constructor(current?: any) {\r\n if (current) {\r\n Object.assign(this, current);\r\n } else {\r\n this.properties = new FieldProperty();\r\n }\r\n }\r\n\r\n public isLocalized(): boolean {\r\n return this.partitioning === 'language';\r\n }\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { BaseComponent } from '../../../base/base-component.component';\r\nimport { SiteSettingModel, AuthenticationService } from '../../../services';\r\n\r\n@Component({\r\n selector: 'side-left-bar',\r\n templateUrl: './side-left-bar.component.html',\r\n styleUrls: ['./side-left-bar.component.css']\r\n})\r\nexport class SideLeftBarComponent extends BaseComponent implements OnInit {\r\n\r\n @Input()\r\n siteSettingModel: SiteSettingModel;\r\n isCage = false;\r\n\r\n userIsOwner: boolean;\r\n userIsDev: boolean;\r\n userIsEditor: boolean;\r\n userIsReadWrite: boolean;\r\n userIsReader: boolean;\r\n\r\n constructor(\r\n translateService: TranslateService,\r\n private authenticationService: AuthenticationService) {\r\n super(translateService);\r\n this.setTranslateContext('SideLeftBarComponent');\r\n }\r\n\r\n ngOnInit() {\r\n this.userIsOwner = this.authenticationService.userHasRole(\"Owner\");\r\n this.userIsDev = this.authenticationService.userHasRole(\"Developer\");\r\n this.userIsEditor = this.authenticationService.userHasRole(\"Editor\");\r\n this.userIsReadWrite = this.authenticationService.userHasRole(\"ReadWrite\");\r\n this.userIsReader = this.authenticationService.userHasRole(\"Reader\");\r\n }\r\n\r\n}\r\n","import { Component, OnInit, AfterViewInit } from '@angular/core';\r\nimport {\r\n Schema,\r\n SchemaMetadataModel,\r\n DynamicSchemaFacade,\r\n DynamicSchemaFactory,\r\n SchemaMetadataFacade,\r\n DynamicContentSchemaFactory,\r\n DynamicContentModel,\r\n DynamicContentSchemaFacade,\r\n FilterPagination,\r\n AuthenticationService\r\n} from '../../services';\r\n\r\nimport { PageTitleService } from '../../services/general/page-title.service';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { BaseComponent } from '../../base/base-component.component';\r\nimport { AppSchemaCategory } from '../../models/app-token';\r\nimport { flatMap, map, mergeMap } from 'rxjs/operators';\r\nimport { Observable } from 'rxjs';\r\nimport { FieldReferenceContent } from '../../shared/field/tools/field-reference-content.service';\r\nimport { ESchemaContentStatus } from '../../services/akita/base/enum';\r\n\r\n@Component({\r\n selector: 'app-contents',\r\n templateUrl: './contents.component.html',\r\n styleUrls: ['./contents.component.css']\r\n})\r\nexport class ContentsComponent extends BaseComponent implements OnInit, AfterViewInit {\r\n\r\n schemaSelectedName = '';\r\n schemaSelectedLabel = '';\r\n contentSelectedCode = '';\r\n\r\n schemaDefinition: Schema;\r\n schemaMetadata: SchemaMetadataModel;\r\n listableSchemas: Schema[];\r\n listableSchemasMetadata: SchemaMetadataModel[];\r\n\r\n currentSchemaFacade: DynamicSchemaFacade;\r\n currentContentsFacade: DynamicContentSchemaFacade;\r\n\r\n selectedSchemaContents: DynamicContentModel[];\r\n selectedContent: DynamicContentModel;\r\n\r\n currentPageSchemas: Schema[];\r\n\r\n referenceFieldValues: any;\r\n referenceFieldValues$: Observable;\r\n orderBySwitch: boolean;\r\n\r\n paginationSize: number = 14;\r\n totalItems: number;\r\n currentPage: number = 1;\r\n isAlphaOrder: boolean = false;\r\n\r\n userIsOwner: boolean;\r\n userIsDev: boolean;\r\n userIsEditor: boolean;\r\n userIsReadWrite: boolean;\r\n userIsReader: boolean;\r\n\r\n\r\n constructor(\r\n private readonly dynamicSchemaFacto: DynamicSchemaFactory,\r\n private readonly dynamicContentSchemaFactory: DynamicContentSchemaFactory,\r\n private readonly pageTitleService: PageTitleService,\r\n private readonly route: ActivatedRoute,\r\n private readonly router: Router,\r\n private readonly metadataFacade: SchemaMetadataFacade,\r\n private readonly referenceContentService: FieldReferenceContent,\r\n private authenticationService: AuthenticationService,\r\n translateService: TranslateService) {\r\n super(translateService);\r\n this.setTranslateContext('ContentsComponent');\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.userIsOwner = this.authenticationService.userHasRole(\"Owner\");\r\n this.userIsDev = this.authenticationService.userHasRole(\"Developer\");\r\n this.userIsEditor = this.authenticationService.userHasRole(\"Editor\");\r\n this.userIsReadWrite = this.authenticationService.userHasRole(\"ReadWrite\");\r\n this.userIsReader = this.authenticationService.userHasRole(\"Reader\");\r\n\r\n if (!this.userIsOwner && !this.userIsDev && !this.userIsEditor && !this.userIsReadWrite && !this.userIsReader) {\r\n this.router.navigateByUrl('/');\r\n return;\r\n }\r\n\r\n const sub1 = this.dynamicSchemaFacto\r\n .getSchemasMetadataByCategory(AppSchemaCategory.SCHEMA_AS_A_PAGE).pipe(flatMap(defaults => {\r\n return this.dynamicSchemaFacto\r\n .getSchemasMetadataByCategory(AppSchemaCategory.CONTENT_SCHEMAS).pipe(map(contents => {\r\n return defaults.concat(contents).sort(this.sortByLabel);\r\n }));\r\n }))\r\n .subscribe(result => {\r\n this.listableSchemas = result.filter(meta => meta.name.length <= 40);\r\n const start: number = (this.currentPage - 1) * this.paginationSize;\r\n const end = start + this.paginationSize;\r\n this.totalItems = this.listableSchemas.length;\r\n this.currentPageSchemas = this.listableSchemas.slice(start, end);\r\n });\r\n\r\n this.subscriptions.push(sub1);\r\n\r\n this.updateObservable();\r\n\r\n const sub = this.tc('TITLE').subscribe(title => {\r\n this.pageTitleService.setTitle(title as string);\r\n this.pageTitleService.key = 'CONTENTS.TITLE';\r\n });\r\n this.subscriptions.push(sub);\r\n this.orderBySwitch = false;\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.router.routeReuseStrategy.shouldReuseRoute = () => false;\r\n }\r\n\r\n updateObservable() {\r\n this.schemaSelectedName = this.route.snapshot.paramMap.get('name');\r\n this.contentSelectedCode = this.route.snapshot.paramMap.get('code');\r\n\r\n if (this.schemaSelectedName && this.schemaSelectedName.length > 0) {\r\n this.currentSchemaFacade = this.dynamicSchemaFacto.getDynamicSchemaFacade(this.schemaSelectedName);\r\n\r\n\r\n this.referenceFieldValues$ = this.currentSchemaFacade\r\n .getSchemaDefinition()\r\n .pipe(mergeMap(result => {\r\n this.schemaDefinition = result;\r\n this.schemaSelectedLabel = this.schemaDefinition[\"properties\"][\"label\"];\r\n return this.referenceContentService.generateContentList(result);\r\n }));\r\n\r\n var sub = this.referenceFieldValues$.subscribe();\r\n this.subscriptions.push(sub);\r\n\r\n const sub1 = this.metadataFacade\r\n .getByCode(this.schemaSelectedName)\r\n .subscribe(result => this.schemaMetadata = result);\r\n\r\n this.subscriptions.push(sub1);\r\n\r\n this.currentContentsFacade = this.dynamicContentSchemaFactory\r\n .getDynamicContentSchemaFacade(this.schemaSelectedName);\r\n\r\n this.filterValue = this.route.snapshot.paramMap.get('filter');\r\n this.currentPageNumber = Number(this.route.snapshot.paramMap.get('page'));\r\n\r\n if (this.filterValue === null) {\r\n this.filterValue = '';\r\n }\r\n\r\n const filterObject = {\r\n or:\r\n [\r\n {\r\n path: 'data.code.iv',\r\n op: 'contains',\r\n value: this.filterValue\r\n }\r\n ]\r\n }\r\n\r\n const filter = new FilterPagination();\r\n\r\n filter.from = (this.currentPageNumber - 1) * this.paginateSize;\r\n filter.to = filter.from + this.paginateSize;\r\n filter.orderBy = 'data.index.iv ascending,data.code.iv ascending';\r\n filter.filterObject = this.getSearchObject(this.filterValue);\r\n\r\n this.currentContentsFacade.getFilteredPagination(filter, ESchemaContentStatus.All, filterObject)\r\n .subscribe(contents => {\r\n this.selectedSchemaContents = contents;\r\n this.currentContentsFacade.fullCount().subscribe(c => {\r\n this.contentCount = c;\r\n });\r\n });\r\n\r\n if (this.contentSelectedCode && this.contentSelectedCode.length > 0) {\r\n\r\n this.currentContentsFacade.getByCode(this.contentSelectedCode, true).subscribe(c => {\r\n this.selectedContent = c;\r\n });\r\n }\r\n\r\n } else {\r\n this.schemaDefinition = null;\r\n this.schemaMetadata = null;\r\n }\r\n }\r\n\r\n getSearchObject(filter): object {\r\n const oSearch = {\r\n or:\r\n [\r\n {\r\n path: 'data.code.iv',\r\n op: 'contains',\r\n value: filter\r\n }\r\n ]\r\n }\r\n return oSearch;\r\n }\r\n\r\n updatePaginateSize(qty: number) {\r\n this.paginateSize = qty;\r\n this.updateObservable();\r\n }\r\n\r\n unselectSchema() {\r\n this.schemaSelectedName = '';\r\n this.selectedSchemaContents = null;\r\n }\r\n\r\n getPageData($event) {\r\n this.currentPageNumber = $event.page;\r\n this.search(null, true);\r\n }\r\n\r\n getSearchFilterContent($event) {\r\n this.currentContentsFacade.getFilteredPagination($event, ESchemaContentStatus.All, $event.filterObject)\r\n .subscribe(contents => {\r\n this.selectedSchemaContents = contents;\r\n this.currentContentsFacade.fullCount().subscribe(c => {\r\n this.contentCount = c;\r\n });\r\n });\r\n }\r\n\r\n setOrderBySwitch(bySwitch: boolean) {\r\n this.orderBySwitch = bySwitch;\r\n }\r\n\r\n pageChanged(event: any) {\r\n\r\n this.currentPage = event.page;\r\n\r\n const start: number = (this.currentPage - 1) * this.paginationSize;\r\n const end = start + this.paginationSize;\r\n\r\n this.currentPageSchemas = this.listableSchemas.slice(start, end);\r\n }\r\n\r\n setAlphaOrder(isAlpha: boolean) {\r\n this.isAlphaOrder = isAlpha;\r\n }\r\n\r\n redirectToSelectedSchema() {\r\n this.router.navigateByUrl(`/schemas/${this.schemaSelectedName}`);\r\n }\r\n\r\n}\r\n","import { FileSystemEntry, FileSystemFileEntry, FileSystemDirectoryEntry } from './dom.types';\r\n\r\n/**\r\n * fileEntry is an instance of {@link FileSystemFileEntry} or {@link FileSystemDirectoryEntry}.\r\n * Which one is it can be checked using {@link FileSystemEntry.isFile} or {@link FileSystemEntry.isDirectory}\r\n * properties of the given {@link FileSystemEntry}.\r\n */\r\nexport class NgxFileDropEntry {\r\n constructor(\r\n public relativePath: string,\r\n public fileEntry: FileSystemEntry\r\n ) {\r\n }\r\n}\r\n","\r\n// TODO: Refactor the function generate form in BaseComponent here\r\nexport class FormGroupBuilder {\r\n\r\n}\r\n","import { Store } from '@datorama/akita';\r\nimport { DynamicSchemaModel } from './dynamic-schema.model';\r\n\r\nexport class DynamicSchemaStore extends Store {\r\n public constructor(schemaName: string) {\r\n super(new DynamicSchemaModel(), { cache : { ttl : 15000}, name : `${schemaName}-schema`});\r\n }\r\n }\r\n\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { BaseComponent } from \"../../../base/base-component.component\";\r\n\r\n@Component({\r\n selector: 'assets-left-menu',\r\n templateUrl: './assets-left-menu.component.html',\r\n styleUrls: ['./assets-left-menu.component.css']\r\n})\r\nexport class AssetsLeftMenuComponent extends BaseComponent implements OnInit {\r\n \r\n constructor(\r\n translateService: TranslateService) {\r\n super(translateService);\r\n this.setTranslateContext('AssetsLeftMenuComponent');\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n}\r\n","declare var $: any;\r\nimport { Component, OnInit, ViewChild, AfterViewInit, TemplateRef, Inject, Input } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport {\r\n PageFacade,\r\n UiNotificationService,\r\n FormValidationsService,\r\n PageModel,\r\n Field,\r\n SquidexDate,\r\n DataParser,\r\n SiteSettingFacade,\r\n ScheduleJob,\r\n LanguageModel,\r\n PageContentFacade,\r\n PageContentModel,\r\n DynamicSchemaFactory,\r\n SchemaMetadataFacade,\r\n DynamicContentSchemaFactory,\r\n Schema,\r\n Content,\r\n LayoutModel,\r\n TemplateModel,\r\n DynamicSchemaModel,\r\n TemplateFacade,\r\n SchemaPageFacade,\r\n SchemaPageModel,\r\n DynamicContentModel,\r\n DynamicContentSchemaFacade,\r\n AssetFacade,\r\n MenuFacade,\r\n MenuItemFacade,\r\n AuthenticationService,\r\n FilterPagination\r\n} from '../../services';\r\nimport { SpinnerService } from '../../shared/spinner/spinner.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { BaseComponent } from '../../base/base-component.component';\r\nimport { AppToken, Statuses, PreviewDevices, AppSchemaCategory, FieldsName, UserRoles } from '../../models/app-token';\r\nimport { FormGroup, FormControl, ValidatorFn, Validators } from '@angular/forms';\r\nimport { BsModalRef } from 'ngx-bootstrap/modal/bs-modal-ref.service';\r\nimport { BsModalService } from 'ngx-bootstrap/modal';\r\nimport { BsDatepickerConfig } from 'ngx-bootstrap/datepicker';\r\nimport { TabsetComponent } from 'ngx-bootstrap/tabs';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { PageTitleService } from '../../services/general/page-title.service';\r\nimport { ESchemaContentStatus } from '../../services/akita/base/enum';\r\nimport { guid } from '@datorama/akita';\r\nimport { SquidexTool, Validation } from '../../tools';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { PageTypeModel } from '../../services/akita/page-type/page-type.model';\r\nimport { SchemaPageComponent } from './schema-page/schema-page.component';\r\n\r\n\r\nconst cloneDeep = require('lodash.clonedeep');\r\n\r\n@Component({\r\n selector: 'advanced-page',\r\n templateUrl: './advanced-page.component.html',\r\n styleUrls: ['./advanced-page.component.scss']\r\n})\r\nexport class AdvancedPageComponent extends BaseComponent implements OnInit, AfterViewInit {\r\n\r\n\r\n pageForm: FormGroup;\r\n pageHiddenFields: string[] = [];\r\n pagePublishFormGroup: FormGroup;\r\n pageTemplateForm: FormGroup;\r\n\r\n\r\n @ViewChild('propertyTabs', null) propertyTabs: TabsetComponent;\r\n @ViewChild('contentTabs', null) contentTabs: TabsetComponent;\r\n @ViewChild(\"schemaPage\", null) schemaPageComponent: SchemaPageComponent;\r\n\r\n modalRef: BsModalRef;\r\n bsConfig: Partial;\r\n\r\n pageSchema: Schema;\r\n lastModifiedDate: string;\r\n title: string;\r\n id: string;\r\n draftMode: boolean = false;\r\n\r\n deleted: boolean = false;\r\n isDraft: boolean = false;\r\n currentStatus: string;\r\n scheduledJob: ScheduleJob;\r\n statusColorClassName: string;\r\n isAllOpen: boolean;\r\n isCollapsed: boolean = true;\r\n collapseControlsEditTemplate: any = {};\r\n currentPage: PageModel;\r\n placeHolderPage: PageModel;\r\n draftVersionExist: boolean = false;\r\n\r\n previewWidth: number;\r\n previewHeight: number;\r\n previewUrl: any;\r\n testUrl: any;\r\n\r\n dataParser: DataParser;\r\n availableLanguages: LanguageModel[];\r\n\r\n pageContents: PageContentModel[];\r\n pageContentForm: FormGroup;\r\n pageContentHiddenFields: string[] = [];\r\n pageContentFields: Field[];\r\n schemas: Schema[];\r\n contents: Content[];\r\n\r\n pageFilters: Content[];\r\n pageFilterHiddenFields: string[] = [];\r\n pageFilterForm: FormGroup;\r\n pageFilterFields: Field[];\r\n selectedPageFilterId: string;\r\n pathFields: string[] = [];\r\n\r\n schemaPage: SchemaPageModel;\r\n relatedContent: DynamicContentModel;\r\n relatedContentFacade: DynamicContentSchemaFacade;\r\n\r\n pageContentsDescription: any = {};\r\n selectedPageContentId: string;\r\n sharedFieldsContentPage: string[] = [];\r\n\r\n userIsOwner: boolean;\r\n userIsDev: boolean;\r\n userIsEditor: boolean;\r\n userIsReadWrite: boolean;\r\n userIsReader: boolean;\r\n\r\n pageLayouts: LayoutModel[];\r\n pageTypes: PageTypeModel[];\r\n pageTemplate: TemplateModel;\r\n pageTemplateSchema: DynamicSchemaModel;\r\n\r\n thumbnail: string = '';\r\n\r\n cloneNgModel: any = {};\r\n showAction: boolean = false;\r\n\r\n languageCustomClass: string = 'language-nav-tabs';\r\n publishDateTime: string = '';\r\n\r\n squidexTool: SquidexTool;\r\n constructor(\r\n private readonly pageTitleService: PageTitleService,\r\n private readonly pageFacade: PageFacade,\r\n private readonly pageContentFacade: PageContentFacade,\r\n private readonly schemaPageFacade: SchemaPageFacade,\r\n private readonly templateFacade: TemplateFacade,\r\n private readonly menuFacade: MenuFacade,\r\n private readonly menuItemFacade: MenuItemFacade,\r\n private readonly siteSettingFacade: SiteSettingFacade,\r\n private readonly schemaFacadeFactory: DynamicSchemaFactory,\r\n private readonly schemaMetadataFacade: SchemaMetadataFacade, //To be used\r\n private readonly contentFacadeFactory: DynamicContentSchemaFactory,\r\n private readonly uiNotificationService: UiNotificationService,\r\n private readonly spinnerService: SpinnerService,\r\n translateService: TranslateService,\r\n private readonly formValidationService: FormValidationsService,\r\n private readonly route: ActivatedRoute,\r\n private readonly router: Router,\r\n @Inject(DOCUMENT) private readonly document: any,\r\n private readonly modalService: BsModalService,\r\n private readonly sanitizer: DomSanitizer,\r\n private readonly authenticationService: AuthenticationService,\r\n private readonly assetFacade: AssetFacade\r\n ) {\r\n super(translateService);\r\n this.setTranslateContext('AdvancedPageComponent');\r\n\r\n this.pageHiddenFields = ['deleted',\r\n 'publishdatetime',\r\n 'deletedatetime',\r\n 'index',\r\n 'thumbnail',\r\n ];\r\n\r\n this.pageContentHiddenFields = ['deleted',\r\n 'publishdatetime',\r\n 'deletedatetime',\r\n 'pageid',\r\n 'index',\r\n 'ismodified',\r\n 'thumbnail',\r\n ]; //to be inited by schemaMetatadat hidden Field\r\n this.pageFilterHiddenFields = ['deleted',\r\n 'publishdatetime',\r\n 'deletedatetime',\r\n 'index',\r\n 'pageid']; //to be inited by schemaMetatadat hidden Field\r\n\r\n this.sharedFieldsContentPage = [\r\n 'index',\r\n 'metatitle',\r\n 'url',\r\n 'metaKeywords',\r\n 'metaDescription',\r\n 'isactive',\r\n 'issecure',\r\n 'isnoindex',\r\n 'priority',\r\n 'pageName'\r\n ];\r\n\r\n this.isAllOpen = false;\r\n this.testUrl = 'https://localhost:5002';\r\n }\r\n\r\n ngOnInit() {\r\n this.spinnerService.show();\r\n\r\n this.userIsOwner = this.authenticationService.userHasRole(UserRoles.OWNER);\r\n this.userIsDev = this.authenticationService.userHasRole(UserRoles.DEVELOPER);\r\n this.userIsEditor = this.authenticationService.userHasRole(UserRoles.EDITOR);\r\n this.userIsReadWrite = this.authenticationService.userHasRole(UserRoles.READWRITE);\r\n this.userIsReader = this.authenticationService.userHasRole(UserRoles.READER);\r\n\r\n this.squidexTool = new SquidexTool();\r\n\r\n //to be removed when siteModel passed in router outlet\r\n const siteSettingSubscription = this.siteSettingFacade.getSiteLanguages().subscribe(languages => {\r\n if (languages.length <= 1) {\r\n this.languageCustomClass = 'hide-nav-tabs';\r\n }\r\n this.dataParser = new DataParser(languages);\r\n this.availableLanguages = languages.sort((a, b) => a.data.index.iv < b.data.index.iv ? -1 : 1);\r\n const code = this.route.snapshot.paramMap.get('code');\r\n const name = this.route.snapshot.paramMap.get('name');\r\n const draftMode = this.route.snapshot.paramMap.get('draftMode') === 'true';\r\n\r\n let isEx = false;\r\n this.relatedContentFacade = this.contentFacadeFactory.getDynamicContentSchemaFacade(name);\r\n const relatedContentSubscription = this.relatedContentFacade.getByCode(code, true).subscribe(content => {\r\n if (content && !isEx) {\r\n this.relatedContent = content;\r\n const schemaPageSubscription = this.schemaPageFacade.getSchemaPageByContentId(content.id, true).subscribe(sPage => {\r\n this.schemaPage = sPage;\r\n let isExecuted = false;\r\n const pageSubscription = this.pageFacade.getSchema().subscribe(pageSchema => {\r\n this.pageSchema = pageSchema;\r\n const singlePageSubscription = this.pageFacade.get(this.dataParser.pullData(this.schemaPage, FieldsName.PAGE_ID), true).subscribe(page => {\r\n if (page && !isExecuted) {\r\n this.placeHolderPage = page;\r\n let clonePage = cloneDeep(page);\r\n //mapping propriety of page from content\r\n for (let i in this.sharedFieldsContentPage) {\r\n const field = this.sharedFieldsContentPage[i];\r\n clonePage.data[field] = this.relatedContent.data[field];\r\n }\r\n this.currentPage = clonePage;\r\n if (draftMode) {\r\n this.draftMode = draftMode;\r\n this.publishDateTime = '';\r\n if (this.draftMode && !this.relatedContent.newStatus) {\r\n this.createDraft();\r\n } else {\r\n this.initContentsAndForms();\r\n }\r\n } else {\r\n this.publishDateTime = this.getPublishDate(this.relatedContent);\r\n this.draftMode = false;\r\n this.initContentsAndForms();\r\n }\r\n isExecuted = true;\r\n } else {\r\n this.spinnerService.hide();\r\n const translateSubscription = this.pageFacade.translate('T').subscribe(c => {\r\n this.uiNotificationService.error(c.PAGE_LOAD_ERROR, c.ERROR);\r\n });\r\n this.subscriptions.push(translateSubscription);\r\n }\r\n });\r\n this.subscriptions.push(singlePageSubscription);\r\n });\r\n this.subscriptions.push(pageSubscription);\r\n });\r\n this.subscriptions.push(schemaPageSubscription);\r\n isEx = true;\r\n } else {\r\n if (!content) {\r\n this.templateFacade.translate('T').subscribe(c => {\r\n this.uiNotificationService.error(c.PAGE_LOAD_ERROR, c.ERROR, 1000);\r\n this.spinnerService.hide();\r\n });\r\n }\r\n }\r\n });\r\n\r\n this.subscriptions.push(relatedContentSubscription);\r\n\r\n this.bsConfig = Object.assign({},\r\n { containerClass: \"theme-orange\", dateInputFormat: AppToken.ISO_DATES_DATE_TIME_UPDATE });\r\n });\r\n\r\n this.subscriptions.push(siteSettingSubscription);\r\n }\r\n\r\n getPublishDate(content: DynamicContentModel) {\r\n let dt = '';\r\n\r\n if (content.scheduleJob) {\r\n return this.squidexTool.utcToDateString(content.scheduleJob.dueTime);\r\n } else {\r\n return this.squidexTool.utcToDateString(this.dataParser.pullData(content, \"publishdatetime\"));\r\n }\r\n }\r\n\r\n private initContentsAndForms() {\r\n this.initContents(this.currentPage);\r\n this.createForm(this.pageSchema.fields, this.currentPage);\r\n const pageUrl = this.buildUrl(this.dataParser.pullData(this.currentPage, 'url', this.dataParser.currentLanguageCode));\r\n this.setPreviewUrl(pageUrl);\r\n }\r\n\r\n private initContents(pageContent: PageModel) {\r\n this.lastModifiedDate = this.pageFacade.getLastModifiedDate(pageContent);\r\n this.title = this.dataParser.pullData(pageContent, FieldsName.METATITLE, this.dataParser.currentLanguageCode);\r\n this.id = pageContent.id;\r\n if (this.relatedContent.scheduleJob && this.relatedContent.scheduleJob.status === 'Published') {\r\n this.currentStatus = this.relatedContent.scheduleJob.status;\r\n } else if (this.relatedContent.newStatus) {\r\n this.currentStatus = this.relatedContent.newStatus;\r\n } else {\r\n this.currentStatus = this.relatedContent.status;\r\n }\r\n this.scheduledJob = this.relatedContent.scheduleJob;\r\n this.deleted = this.dataParser.pullData(pageContent, FieldsName.DELETED, 'iv');\r\n this.updateStatusAndStatusColor(this.currentStatus);\r\n const pageUrl = `${this.document.location.origin}${this.dataParser.pullData(this.relatedContent, 'url', this.dataParser.currentLanguageCode)}?draftMode=${this.draftMode}`;\r\n this.testUrl = pageUrl;\r\n\r\n this.updateIframeSrc(this.testUrl, PreviewDevices.DESKTOP.name);\r\n\r\n let manageContent: HTMLElement = document.getElementById('manage_content') as HTMLElement;\r\n manageContent.click();\r\n\r\n //check if draft version exist\r\n this.isExistDraftVersion();\r\n\r\n this.tc().subscribe(v => {\r\n let title = '';\r\n if (this.title && this.title !== '') {\r\n title = v['NAME'] + this.title;\r\n }\r\n this.pageTitleService.setTitle(title);\r\n this.pageTitleService.key = 'ADVANCEDPAGE.NAME';\r\n });\r\n\r\n this.pageContentFacade.getPageContentsByPageId(this.id, 'data/index/iv', this.draftMode).subscribe(pageContents => {\r\n this.pageContents = pageContents;\r\n });\r\n\r\n //init all schema\r\n this.schemaFacadeFactory.getSchemasMetadataByCategory(AppSchemaCategory.CONTENT_SCHEMAS).subscribe(schemas => {\r\n this.schemas = schemas.filter(sch => sch.name.length <= AppToken.SCHEMA_NAME_MAX_LEGTH);\r\n });\r\n\r\n //init pageLayouys\r\n this.contentFacadeFactory.getDynamicContentSchemaFacade(AppToken.LAYOUT_SCHEMA_NAME)\r\n .getTopX(1000, undefined, undefined, ESchemaContentStatus.Published).subscribe(layouts => {\r\n this.pageLayouts = layouts;\r\n });\r\n\r\n //init pageTypes\r\n this.contentFacadeFactory.getDynamicContentSchemaFacade(AppToken.PAGE_TYPE_SCHEMA_NAME)\r\n .getTopX(1000, undefined, undefined, ESchemaContentStatus.Published).subscribe(pageTypes => {\r\n this.pageTypes = pageTypes;\r\n });\r\n\r\n\r\n this.contentFacadeFactory.getDynamicContentSchemaFacade(AppToken.PAGE_FILTER_SCHEMA_NAME)\r\n .getByParentId(this.id, FieldsName.PAGE_ID, 'id', this.draftMode).subscribe(pageFilters => {\r\n this.pageFilters = pageFilters;\r\n\r\n this.pageFilters.forEach(pageFilter => {\r\n const data: any = {\r\n isCollapsed: true,\r\n };\r\n this.collapseControlsEditTemplate[pageFilter.id] = data;\r\n });\r\n\r\n });\r\n\r\n //init template\r\n const templateId = this.dataParser.pullData(pageContent, FieldsName.TEMPLATE)[0];\r\n if (Validation.isValidGuid(templateId)) {\r\n\r\n this.templateFacade.get(templateId, this.draftMode).subscribe(template => {\r\n this.pageTemplate = template;\r\n if (this.pageTemplate) {\r\n this.schemaFacadeFactory.getDynamicSchemaFacade(AppToken.TEMPLATE_SCHEMA_NAME).getSchemaDefinition()\r\n .subscribe(templateSchema => {\r\n this.pageTemplateSchema = templateSchema;\r\n this.pageTemplateForm = new FormGroup(this.generateFormGroup(null, templateSchema.fields, [''], this.pageTemplate, this.draftMode));\r\n });\r\n }\r\n });\r\n } else {\r\n this.pageTemplate = null;\r\n this.pageTemplateForm = null;\r\n this.pageTemplateSchema = null;\r\n }\r\n }\r\n private isDirty() {\r\n return (this.pageForm || this.pageTemplateForm);\r\n }\r\n\r\n private updatePageTemplateContent(hideSpinner: boolean = true) {\r\n let tempTemplatePage = cloneDeep(this.pageTemplate);\r\n if (this.isDirty()) {\r\n const newData = this.dataParser.setContent(tempTemplatePage, this.pageTemplateSchema.fields.find(f => f.name === FieldsName.BODY) as Field, this.pageTemplateForm.get(FieldsName.BODY).value);\r\n this.templateFacade.update(tempTemplatePage.id, newData)\r\n .subscribe(v => {\r\n if (v) {\r\n this.lastModifiedDate = this.pageFacade.getLastModifiedDate(v);\r\n if (hideSpinner) {\r\n this.templateFacade.translate('T').subscribe(c => {\r\n this.uiNotificationService.success(c.UPDATE_PAGE_SUCCESS, c.SUCCESS_TITLE);\r\n this.spinnerService.hide();\r\n });\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n toogleShowAction() {\r\n this.showAction = !this.showAction;\r\n }\r\n\r\n openCloneModal(cloneTemplate) {\r\n console.log(cloneTemplate);\r\n this.modalRef = this.modalService.show(cloneTemplate);\r\n }\r\n\r\n confirmClone() {\r\n let name = this.cloneNgModel['name'];\r\n\r\n if (Validation.isNullEmptyOrWhiteSpaces(name)) {\r\n this.uiNotificationService.error('Name is required', 'Error');\r\n return;\r\n }\r\n\r\n let urls = {};\r\n\r\n this.availableLanguages.forEach(lang => {\r\n let langCode = lang.data.code.iv;\r\n let url = this.cloneNgModel[`url_${langCode}`];\r\n\r\n if (Validation.isNullEmptyOrWhiteSpaces(url)) {\r\n this.uiNotificationService.error(`Url ${langCode} is required`, 'Error');\r\n return;\r\n }\r\n\r\n urls[langCode] = url;\r\n });\r\n\r\n //TODO: validate urls are unique and begin with /\r\n this.pageInternalService.clonePage(this.currentPage.id, name, urls, true).subscribe(callback => {\r\n this.modalRef.hide();\r\n this.pageSelected = null;\r\n if (callback.isSuccess()) {\r\n console.log(callback.content);\r\n this.router.navigateByUrl(`/page/${callback.content.data.code.iv}`)\r\n return;\r\n }\r\n\r\n this.uiNotificationService.error(callback.getMessage(), 'Error');\r\n });\r\n }\r\n\r\n createDraft() {\r\n this.pageFacade.createDraft(this.currentPage.id).subscribe(p => {\r\n\r\n this.pageFacade.removeStore(p.id);\r\n\r\n //create draft for page content\r\n this.relatedContentFacade.createDraft(this.relatedContent.id).subscribe(c => {\r\n this.currentPage = p;\r\n this.relatedContent = c;\r\n this.initContentsAndForms();\r\n\r\n //create draft for template\r\n this.templateFacade.createDraft(this.pageTemplate.id).subscribe();\r\n\r\n //create draft for page section\r\n this.pageContents.forEach(pc => {\r\n this.pageContentFacade.createDraft(pc.id).subscribe();\r\n });\r\n\r\n //create draft for page filter\r\n this.pageFilters.forEach(pf => {\r\n this.contentFacadeFactory.getDynamicContentSchemaFacade(AppToken.PAGE_FILTER_SCHEMA_NAME).createDraft(pf.id).subscribe();\r\n });\r\n this.spinnerService.hide();\r\n });\r\n });\r\n }\r\n\r\n deleteDraft() {\r\n this.pageFacade.removeDraft(this.currentPage.id).subscribe(() => {\r\n this.relatedContentFacade.removeDraft(this.relatedContent.id).subscribe(c => {\r\n this.isExistDraftVersion();\r\n this.pageFacade.translate('T').subscribe(c => {\r\n this.uiNotificationService.success(c.DELETE_SUCCESS, c.SUCCESS_TITLE);\r\n this.reloadPage(false);\r\n });\r\n });\r\n });\r\n\r\n this.templateFacade.removeDraft(this.pageTemplate.id).subscribe();\r\n\r\n this.pageContents.forEach(pc => {\r\n this.pageContentFacade.removeDraft(pc.id).subscribe();\r\n });\r\n\r\n this.pageFilters.forEach(pf => {\r\n this.contentFacadeFactory.getDynamicContentSchemaFacade(AppToken.PAGE_FILTER_SCHEMA_NAME).removeDraft(pf.id).subscribe();\r\n });\r\n }\r\n\r\n private isExistDraftVersion() {\r\n if (!this.relatedContent.newStatus && this.relatedContent.status === 'Draft' && !this.relatedContent.scheduleJob) {\r\n this.draftVersionExist = true;\r\n this.draftMode = true;\r\n this.publishDateTime = '';\r\n } else {\r\n if (this.relatedContent.scheduleJob) {\r\n this.currentStatus = \"Published\"\r\n } else {\r\n this.relatedContentFacade.get(this.relatedContent.id, true).subscribe(p => {\r\n if (p.newStatus) {\r\n this.draftVersionExist = true;\r\n this.draftMode = true;\r\n this.publishDateTime = '';\r\n } else {\r\n this.draftVersionExist = false;\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n updateRelatedContent(updateChild = false) {\r\n if (!this.pageForm.valid) {\r\n this.pageForm.markAllAsTouched();\r\n console.error(\"Form is not valid\");\r\n console.error(this.pageForm);\r\n this.pageFacade.translate('T').subscribe(c => {\r\n this.uiNotificationService.error(c.INVALID_FORM, c.FAILED_TITLE, 10000);\r\n });\r\n return;\r\n }\r\n\r\n const values = this.pageForm.value;\r\n\r\n let newContentData: any = {};\r\n newContentData = cloneDeep(this.relatedContent.data);\r\n\r\n let sharedFields = this.pageSchema.fields.filter(field => this.sharedFieldsContentPage.includes(field.name));\r\n\r\n for (let field of sharedFields) {\r\n if (field.partitioning === 'language') {\r\n for (const language of this.availableLanguages.map(languages => languages.data.code.iv)) {\r\n newContentData = this.dataParser.setData(newContentData, field, values[field.name + '_' + language], language);\r\n }\r\n } else {\r\n newContentData = this.dataParser.setData(newContentData, field, values[field.name]);\r\n }\r\n }\r\n\r\n const urls = new Array();\r\n for (const language of this.availableLanguages.map(languages => languages.data.code.iv)) {\r\n urls.push(newContentData['url'][language]);\r\n }\r\n\r\n const urlsDistinct = [...new Set(urls)];\r\n if (urls.length > urlsDistinct.length) {\r\n this.pageFacade.translate('T').subscribe(c => {\r\n this.uiNotificationService.error(c.URL_NOT_DISTINCT, c.FAILED_TITLE, 10000);\r\n });\r\n return;\r\n }\r\n let startWithSlash: boolean = true;\r\n urls.forEach(url => {\r\n if (!url.trim().startsWith('/')) {\r\n startWithSlash = false;\r\n return;\r\n }\r\n });\r\n\r\n if (!startWithSlash) {\r\n this.pageFacade.translate('T').subscribe(c => {\r\n this.uiNotificationService.error(c.URL_START_SLASH, c.FAILED_TITLE, 10000);\r\n });\r\n return false;\r\n }\r\n\r\n const allVersionParm = new FilterPagination();\r\n allVersionParm.from = 0;\r\n allVersionParm.to = 1;\r\n allVersionParm.filter = '';\r\n allVersionParm.orderBy = 'lastModified descending';\r\n\r\n let filterList: object[] = new Array();\r\n for (const lg of this.availableLanguages.map(languages => languages.data.code.iv)) {\r\n\r\n for (const language of this.availableLanguages.map(languages => languages.data.code.iv)) {\r\n let data: any = {};\r\n data = {\r\n path: `data.url.${lg}`,\r\n op: 'eq',\r\n value: newContentData['url'][language]\r\n };\r\n\r\n filterList.push(data);\r\n }\r\n }\r\n\r\n let orFilter: any = {};\r\n orFilter = {\r\n or: filterList\r\n }\r\n\r\n this.pageFacade.validateUrl(allVersionParm, ESchemaContentStatus.All, orFilter, this.currentPage).subscribe(total => {\r\n if (total > 0) {\r\n this.pageFacade.translate('T').subscribe(c => {\r\n this.uiNotificationService.error(c.URL_TAKEN, c.FAILED_TITLE, 10000);\r\n });\r\n return;\r\n }\r\n\r\n this.spinnerService.show();\r\n\r\n if (this.relatedContent) {\r\n this.relatedContentFacade\r\n .update(this.relatedContent.id, newContentData)\r\n .subscribe(content => {\r\n this.lastModifiedDate = this.pageFacade.getLastModifiedDate(content);\r\n this.relatedContent = content;\r\n });\r\n }\r\n\r\n newContentData = {};\r\n newContentData = cloneDeep(this.placeHolderPage.data);\r\n let pageFields = this.pageSchema.fields\r\n .filter(field => !this.pageHiddenFields.includes(field.name))\r\n .filter(field => !this.sharedFieldsContentPage.includes(field.name))\r\n\r\n for (let field of pageFields) {\r\n if (field.partitioning === 'language') {\r\n for (const language of this.availableLanguages.map(languages => languages.data.code.iv)) {\r\n newContentData = this.dataParser.setData(newContentData, field, values[field.name + '_' + language], language);\r\n }\r\n } else {\r\n newContentData = this.dataParser.setData(newContentData, field, values[field.name]);\r\n }\r\n }\r\n\r\n this.pageFacade\r\n .update(this.id, newContentData)\r\n .subscribe(newContent => {\r\n if (newContent.data.code.iv !== '' && newContent.data.url[this.dataParser.currentLanguageCode] !== '' && this.pageTemplateForm.dirty && !newContent.data.issecure.iv) {\r\n this.updatePageTemplateContent(false);\r\n this.pageCapture(newContent);\r\n } else {\r\n this.updatePageTemplateContent();\r\n if (updateChild) {\r\n this.schemaPageComponent.updateChild(false);\r\n }\r\n }\r\n },\r\n err => {\r\n console.error('Observer got an error: ' + err);\r\n this.spinnerService.hide();\r\n }\r\n );\r\n\r\n // this.spinnerService.hide();\r\n });\r\n }\r\n\r\n switchModeDratLive(event) {\r\n this.draftMode = event.srcElement.checked;\r\n\r\n this.pageFacade.get(this.currentPage.id, this.draftMode).subscribe(page => {\r\n this.relatedContentFacade.get(this.relatedContent.id, this.draftMode).subscribe(content => {\r\n this.relatedContent = content;\r\n let clonePage = cloneDeep(page);\r\n //mapping propriety of page from content\r\n for (let i in this.sharedFieldsContentPage) {\r\n let field = this.sharedFieldsContentPage[i];\r\n clonePage.data[field] = content.data[field];\r\n }\r\n this.currentPage = clonePage;\r\n if (this.draftMode) {\r\n if (this.draftMode && !this.relatedContent.newStatus) {\r\n this.createDraft();\r\n } else {\r\n this.initContentsAndForms();\r\n }\r\n } else {\r\n this.draftMode = false;\r\n this.initContentsAndForms();\r\n }\r\n });\r\n });\r\n }\r\n\r\n reloadPage(draftMode: boolean) {\r\n this.draftMode = draftMode;\r\n\r\n this.pageFacade.get(this.currentPage.id, this.draftMode).subscribe(page => {\r\n this.spinnerService.show();\r\n this.relatedContentFacade.get(this.relatedContent.id, this.draftMode).subscribe(content => {\r\n this.relatedContent = content;\r\n let clonePage = cloneDeep(page);\r\n //mapping propriety of page from content\r\n for (let i in this.sharedFieldsContentPage) {\r\n let field = this.sharedFieldsContentPage[i];\r\n clonePage.data[field] = content.data[field];\r\n }\r\n this.currentPage = clonePage;\r\n if (this.draftMode) {\r\n if (this.draftMode) {\r\n this.createDraft();\r\n } else {\r\n this.initContentsAndForms();\r\n }\r\n } else {\r\n this.draftMode = false;\r\n this.initContentsAndForms();\r\n }\r\n });\r\n });\r\n }\r\n\r\n private createForm(schemaFields: Field[], pageContent: PageModel): void {\r\n\r\n let tempPageContent = cloneDeep(pageContent);\r\n\r\n const formGroup: any = {};\r\n\r\n for (let i = 0; i < schemaFields.length; i++) {\r\n\r\n const field = schemaFields[i];\r\n\r\n const fieldProperties = field.properties;\r\n\r\n if (field.partitioning === 'language') {\r\n\r\n for (const language of this.availableLanguages.map(languages => languages.data.code.iv)) {\r\n const fieldName = `${field.name}_${language}`;\r\n\r\n const fieldValue = this.dataParser.getData(tempPageContent, field, language);\r\n\r\n const control = new FormControl(fieldValue);\r\n\r\n const isRequired = fieldProperties.isRequired;\r\n\r\n let validators: ValidatorFn[] = [];\r\n\r\n if (isRequired) {\r\n validators.push(Validators.required);\r\n }\r\n\r\n if (fieldProperties.maxLength) {\r\n let maxLengthValidator = Validators.maxLength(fieldProperties.maxLength);\r\n validators.push(maxLengthValidator);\r\n }\r\n\r\n if (fieldProperties.minLength) {\r\n let minLengthValidator = Validators.minLength(fieldProperties.minLength);\r\n validators.push(minLengthValidator);\r\n }\r\n\r\n //custom pattern\r\n if (fieldProperties.pattern) {\r\n validators = validators.concat(this.formValidationService.getValidators(control, fieldProperties.pattern));\r\n }\r\n\r\n control.setValidators(validators);\r\n\r\n formGroup[fieldName] = control;\r\n }\r\n } else {\r\n\r\n const fieldValue = this.dataParser.getData(tempPageContent, field, 'iv');\r\n\r\n const control = new FormControl(fieldValue);\r\n\r\n const isRequired = fieldProperties.isRequired;\r\n\r\n let validators: ValidatorFn[] = [];\r\n\r\n if (isRequired) {\r\n validators.push(Validators.required);\r\n }\r\n\r\n if (fieldProperties.maxLength) {\r\n let maxLengthValidator = Validators.maxLength(fieldProperties.maxLength);\r\n validators.push(maxLengthValidator);\r\n }\r\n\r\n if (fieldProperties.minLength) {\r\n let minLengthValidator = Validators.minLength(fieldProperties.minLength);\r\n validators.push(minLengthValidator);\r\n }\r\n\r\n //custom pattern\r\n if (fieldProperties.pattern) {\r\n validators = validators.concat(this.formValidationService.getValidators(control, fieldProperties.pattern));\r\n }\r\n\r\n control.setValidators(validators);\r\n\r\n formGroup[field.name] = control;\r\n }\r\n\r\n }\r\n //end loop\r\n this.pageForm = new FormGroup(formGroup);\r\n\r\n if (this.relatedContent) {\r\n this.createMetaDataFormGroup(this.relatedContent);\r\n }\r\n this.pageForm.addControl('pagePublishFormGroup', this.pagePublishFormGroup);\r\n\r\n this.spinnerService.hide();\r\n\r\n }\r\n\r\n private createGenericFormControl(field: string, content: any): FormControl {\r\n\r\n const fieldValue = content[field];\r\n\r\n const control = new FormControl(fieldValue);\r\n\r\n //let validators: ValidatorFn[] = [];\r\n\r\n //control.setValidators(validators);\r\n\r\n return control;\r\n }\r\n\r\n private createMetaDataFormGroup(pageContent: PageModel): void {\r\n\r\n let tempPageContent: PageModel = cloneDeep(pageContent);\r\n\r\n const fields = Object.keys(tempPageContent);\r\n\r\n let metaDataFormGroup: any = {};\r\n let scheduledJob = false;\r\n\r\n for (let i = 0; i < fields.length; i++) {\r\n const field = fields[i];\r\n // this.publishDateTime = this.dataParser.pullData(tempPageContent, \"publishdatetime\");\r\n\r\n if (field === 'scheduleJob') {\r\n scheduledJob = true;\r\n\r\n let fieldsValue = tempPageContent.scheduleJob;\r\n\r\n if (!fieldsValue) {\r\n fieldsValue = { id: null, dueTime: null, scheduledBy: null, status: null };\r\n if (this.publishDateTime && this.getPageStatus(tempPageContent) === 'Published') {\r\n fieldsValue.dueTime = this.squidexTool.dateStringToUtc(this.publishDateTime);\r\n }\r\n\r\n } else {\r\n fieldsValue.dueTime = this.squidexTool.dateStringToUtc(this.publishDateTime);\r\n }\r\n\r\n const fs = Object.keys(fieldsValue);\r\n\r\n let scheduleJobFromGroup: any = {};\r\n\r\n for (let i = 0; i < fs.length; i++) {\r\n scheduleJobFromGroup[fs[i]] = this.createGenericFormControl(fs[i], fieldsValue);\r\n }\r\n\r\n metaDataFormGroup[field] = new FormGroup(scheduleJobFromGroup);\r\n } else {\r\n metaDataFormGroup[field] = this.createGenericFormControl(fields[i], tempPageContent);\r\n }\r\n }\r\n\r\n if (!scheduledJob) {\r\n let fieldsValue = { id: null, dueTime: null, scheduledBy: null, status: null };\r\n\r\n this.publishDateTime = this.getPublishDate(tempPageContent);\r\n\r\n if (tempPageContent.newStatus) {\r\n fieldsValue.status = tempPageContent.newStatus;\r\n this.currentStatus = tempPageContent.newStatus;\r\n this.draftMode = true;\r\n\r\n } else {\r\n const dt = this.dataParser.pullData(tempPageContent, 'publishdatetime')\r\n if (this.publishDateTime > '1970-01-01') {\r\n fieldsValue.dueTime = this.publishDateTime;\r\n }\r\n fieldsValue.status = tempPageContent.status;\r\n this.currentStatus = tempPageContent.status;\r\n this.draftMode = false;\r\n }\r\n\r\n const fs = Object.keys(fieldsValue);\r\n const scheduleJobFromGroup: any = {};\r\n\r\n for (let i = 0; i < fs.length; i++) {\r\n scheduleJobFromGroup[fs[i]] = this.createGenericFormControl(fs[i], fieldsValue);\r\n }\r\n metaDataFormGroup['scheduleJob'] = new FormGroup(scheduleJobFromGroup);\r\n }\r\n\r\n this.pagePublishFormGroup = new FormGroup(metaDataFormGroup);\r\n }\r\n\r\n getPageStatus(page?: PageModel) {\r\n if (!page) {\r\n page = this.currentPage;\r\n }\r\n\r\n if (page.newStatus && page.newStatus === 'Draft')\r\n return 'Draft';\r\n else if (page.status === 'Draft')\r\n return 'Draft';\r\n else\r\n return 'Published';\r\n }\r\n\r\n publish() {\r\n let publishStatus = Statuses.PUBLISHED.name;\r\n if (publishStatus === this.currentStatus) {\r\n this.notify(this.currentStatus, false);\r\n return false;\r\n }\r\n\r\n switch (publishStatus) {\r\n case Statuses.PUBLISHED.name:\r\n this.spinnerService.show();\r\n let dueTime = this.pageForm.value.pagePublishFormGroup.scheduleJob.dueTime;\r\n let publishDate: string;\r\n if (!dueTime) {\r\n dueTime = null;\r\n publishDate = null;\r\n } else {\r\n const currentDate = new Date(Date.now());\r\n const dt = this.pageForm.value.pagePublishFormGroup.scheduleJob.dueTime;\r\n let dueTimeDate = new SquidexDate(dt);\r\n if (dueTimeDate < currentDate) {\r\n publishDate = null\r\n } else {\r\n publishDate = new SquidexDate(dueTimeDate).formatUtc();\r\n }\r\n }\r\n this.relatedContentFacade.updateStatus(this.relatedContent.id, publishStatus, publishDate)\r\n .subscribe(content => {\r\n let tempContent = cloneDeep(content);\r\n if (content.scheduleJob && content.scheduleJob.status === 'Published') {\r\n this.currentStatus = content.scheduleJob.status\r\n }\r\n this.relatedContent = tempContent;\r\n if (this.relatedContent.newStatus) {\r\n this.currentStatus = this.relatedContent.newStatus;\r\n } else {\r\n this.currentStatus = this.relatedContent.status;\r\n }\r\n this.draftMode = false;\r\n this.draftVersionExist = false;\r\n this.lastModifiedDate = this.pageFacade.getLastModifiedDate(content);\r\n this.scheduledJob = content.scheduleJob;\r\n\r\n if (!publishDate) {\r\n let dt = new Date();\r\n publishDate = new SquidexDate(dt).formatUtc();\r\n }\r\n\r\n this.dataParser.putData(tempContent.data, \"publishdatetime\", publishDate);\r\n this.publishMode = true;\r\n this.publishDateTime = this.squidexTool.utcToDateString(publishDate);\r\n\r\n this.currentPage = tempContent;\r\n this.relatedContentFacade.getSchema().subscribe(schema => {\r\n const publishDateField = schema.fields.find(f => f.name === FieldsName.PUBLISH_DATE_TIME);\r\n this.relatedContentFacade.update(this.relatedContent.id, tempContent.data).subscribe(r => {\r\n this.initContentsAndForms();\r\n this.updateStatusAndStatusColor(content.status);\r\n this.spinnerService.hide();\r\n });\r\n });\r\n\r\n this.notify(this.currentStatus);\r\n });\r\n\r\n //publish template\r\n this.templateFacade.updateStatus(this.pageTemplate.id, publishStatus, dueTime).subscribe();\r\n\r\n //publish page section\r\n this.pageContents.forEach(pc => {\r\n this.pageContentFacade.updateStatus(pc.id, publishStatus, dueTime).subscribe();\r\n });\r\n\r\n //publish page filter\r\n this.pageFilters.forEach(pf => {\r\n this.contentFacadeFactory.getDynamicContentSchemaFacade(AppToken.PAGE_FILTER_SCHEMA_NAME).updateStatus(pf.id, publishStatus, dueTime).subscribe();\r\n });\r\n\r\n break;\r\n case Statuses.DRAFT.name:\r\n this.relatedContentFacade.updateStatus(this.relatedContent.id, this.pageForm.value.pagePublishFormGroup.status, null)\r\n .subscribe(content => {\r\n this.relatedContent = content;\r\n if (this.relatedContent.newStatus) {\r\n this.currentStatus = this.relatedContent.newStatus;\r\n } else {\r\n this.currentStatus = this.relatedContent.status;\r\n }\r\n this.scheduledJob = content.scheduleJob;\r\n this.updateStatusAndStatusColor(content.status);\r\n this.notify(this.currentStatus);\r\n });\r\n break;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n private notify(status: string, isSuccess: boolean = true): void {\r\n if (isSuccess) {\r\n this.pageFacade.translate('T.STATUS_UPDATE_PAGE', { currentStatus: status }).subscribe(msg => {\r\n this.pageFacade.translate('T').subscribe(c => {\r\n this.uiNotificationService.success(msg, c.SUCCESS_TITLE, 10000);\r\n });\r\n });\r\n } else {\r\n this.pageFacade.translate('T.STATUS_ERROR', { currentStatus: status }).subscribe(msg => {\r\n this.pageFacade.translate('T').subscribe(c => {\r\n this.uiNotificationService.error(msg, c.FAILED_TITLE, 10000);\r\n });\r\n });\r\n }\r\n }\r\n\r\n private updateStatusAndStatusColor(status: string) {\r\n switch (status) {\r\n case Statuses.PUBLISHED.name:\r\n this.isDraft = false;\r\n this.statusColorClassName = 'badge green-badge';\r\n break;\r\n case Statuses.DRAFT.name:\r\n this.isDraft = true;\r\n this.statusColorClassName = 'badge draft-badge';\r\n break;\r\n default:\r\n this.statusColorClassName = 'badge red-badge';\r\n }\r\n }\r\n\r\n private updateStatusSelect(e) {\r\n this.updateStatusAndStatusColor(e.target.value);\r\n }\r\n\r\n private closeModal() {\r\n this.selectedPageContentId = null;\r\n this.collapseAllEditForm();\r\n if (this.modalRef) {\r\n this.modalRef.hide();\r\n }\r\n }\r\n\r\n openModalDeletePage(template: TemplateRef) {\r\n this.modalRef = this.modalService.show(template);\r\n }\r\n\r\n private confirmDeleteDrafts() {\r\n const subscription = this.pageFacade.translate('T').subscribe(c => {\r\n this.deleteDraft();\r\n });\r\n this.closeModal();\r\n this.subscriptions.push(subscription);\r\n }\r\n\r\n private confirmDeletePage() {\r\n const subscription = this.pageFacade.translate('T').subscribe(c => {\r\n\r\n if (Validation.isValidGuid(this.id)) {\r\n\r\n //remove all section relation from page\r\n this.pageContentFacade.getPageContentsByPageId(this.id).subscribe(pageContents =>\r\n pageContents.forEach(pageContent => {\r\n this.pageContentFacade.remove(pageContent.id).subscribe();\r\n })\r\n );\r\n\r\n //remove all content relation from page\r\n const schemaPageFacade = this.contentFacadeFactory.getDynamicContentSchemaFacade(AppToken.SCHEMA_PAGE_SCHEMA_NAME);\r\n schemaPageFacade.getByParentId(this.id, FieldsName.PAGE_ID, FieldsName.ID, true).subscribe(schemaPages => {\r\n schemaPages.forEach(sPage => {\r\n schemaPageFacade.remove(sPage.id).subscribe();\r\n });\r\n });\r\n\r\n //remove all page filter\r\n const pageFilterFacade = this.contentFacadeFactory.getDynamicContentSchemaFacade(AppToken.PAGE_FILTER_SCHEMA_NAME);\r\n schemaPageFacade.getByParentId(this.id, FieldsName.PAGE_ID, FieldsName.ID, true).subscribe(pageFilter => {\r\n pageFilter.forEach(pFilter => {\r\n pageFilterFacade.remove(pFilter.id).subscribe();\r\n });\r\n });\r\n\r\n //remove template related to page\r\n this.templateFacade.remove(this.pageTemplate.id).subscribe();\r\n\r\n //remove menuItem from menu then remove it\r\n this.menuItemFacade.getMenuItemsByPageId(this.id).subscribe(menuItems => {\r\n menuItems.forEach(menuItem => {\r\n let isExcuted = false;\r\n this.menuFacade.getByParentId(menuItem.id, FieldsName.MENU_ITEMS, FieldsName.ID, true).subscribe(menus => {\r\n if (!isExcuted) {\r\n menus.forEach(menu => {\r\n let menuData = this.clone(menu.data);\r\n let menuItems = menuData.menuItems.iv as string[];\r\n const index = menuItems.indexOf(menuItem.id);\r\n if (index !== -1) {\r\n menuItems.splice(index, 1);\r\n }\r\n this.dataParser.putData(menuData, FieldsName.MENU_ITEMS, menuItems);\r\n this.menuFacade.update(menu.id, menuData).subscribe();\r\n isExcuted = true;\r\n });\r\n }\r\n });\r\n this.menuItemFacade.remove(menuItem.id).subscribe();\r\n });\r\n });\r\n\r\n //remove this page\r\n this.pageFacade.remove(this.id).toPromise().then(\r\n content => {\r\n this.deleted = this.dataParser.pullData(content, FieldsName.DELETED, 'iv');\r\n this.uiNotificationService.success(c.DELETE_SUCCESS, c.SUCCESS_TITLE);\r\n this.spinnerService.show();\r\n setTimeout(() => {\r\n this.router.navigateByUrl('/pages');\r\n }\r\n , 5000);\r\n },\r\n () => {\r\n this.uiNotificationService.success(c.DELETE_FAILED, c.FAILED_TITLE);\r\n this.closeModal();\r\n });\r\n\r\n }\r\n });\r\n this.subscriptions.push(subscription);\r\n }\r\n\r\n openModalDeletePageContent(template: TemplateRef, id: string) {\r\n this.selectedPageContentId = id;\r\n this.modalRef = this.modalService.show(template);\r\n }\r\n\r\n private confirmDeletePageContent() {\r\n const subscription = this.pageContentFacade.translate('T').subscribe(c => {\r\n if (Validation.isValidGuid(this.selectedPageContentId)) {\r\n this.pageContentFacade.remove(this.selectedPageContentId).toPromise().then(\r\n () => {\r\n this.uiNotificationService.success(c.DELETE_SUCCESS, c.SUCCESS_TITLE);\r\n this.pageContentFacade.getPageContentsByPageId(this.id, 'id', this.draftMode).subscribe(pageContents => {\r\n this.pageContents = pageContents;\r\n });\r\n },\r\n () => { this.uiNotificationService.success(c.DELETE_FAILED, c.FAILED_TITLE); });\r\n }\r\n });\r\n\r\n this.closeModal();\r\n this.subscriptions.push(subscription);\r\n }\r\n\r\n openModalDeletePageFilter(template: TemplateRef, id: string) {\r\n this.selectedPageFilterId = id;\r\n this.modalRef = this.modalService.show(template);\r\n }\r\n\r\n private confirmDeletePageFilter() {\r\n const subscription = this.pageContentFacade.translate('T').subscribe(c => {\r\n if (Validation.isValidGuid(this.selectedPageFilterId)) {\r\n this.contentFacadeFactory.getDynamicContentSchemaFacade(AppToken.PAGE_FILTER_SCHEMA_NAME).remove(this.selectedPageFilterId).toPromise().then(\r\n () => {\r\n this.uiNotificationService.success(c.DELETE_SUCCESS, c.SUCCESS_TITLE);\r\n this.pageFilters = this.pageFilters.filter(pf => pf.id !== this.selectedPageFilterId);\r\n this.selectedPageFilterId = null;\r\n },\r\n () => { this.uiNotificationService.success(c.DELETE_FAILED, c.FAILED_TITLE); });\r\n }\r\n });\r\n this.closeModal();\r\n this.subscriptions.push(subscription);\r\n }\r\n\r\n toggleDescription(e) {\r\n $(e.currentTarget).closest('.frais-main').find('.minu-cnt').slideToggle();\r\n $(e.currentTarget).closest('.frais-main').toggleClass('active');\r\n }\r\n\r\n private buildUrl(url: string): string {\r\n if (!url) {\r\n throw (\"Url undefined\");\r\n }\r\n return `${this.document.location.origin}${url}?draftMode=${this.draftMode}`;\r\n }\r\n\r\n selectTab(e, tabId: number, tabSet: TabsetComponent) {\r\n\r\n if (tabSet === this.contentTabs && tabId === 0) {\r\n const pageUrl = this.buildUrl(this.dataParser.pullData(this.relatedContent, 'url', this.dataParser.currentLanguageCode));\r\n this.updateIframeSrc(pageUrl);\r\n }\r\n tabSet.tabs[tabId].active = true;\r\n $(e.currentTarget).parent().parent().find('li').removeClass('active');\r\n $(e.currentTarget).parent().addClass('active');\r\n }\r\n\r\n changeLanguage(event, languageCode) {\r\n this.dataParser.changeLanguage(languageCode);\r\n $(event.currentTarget).parent().parent().find('li').removeClass('active');\r\n $(event.currentTarget).parent().addClass('active');\r\n const pageUrl = `${this.document.location.origin}${this.dataParser.pullData(this.relatedContent, 'url', this.dataParser.currentLanguageCode)}?draftMode=${this.draftMode}`;\r\n this.updateIframeSrc(pageUrl, '');\r\n this.setPreviewUrl(pageUrl);\r\n }\r\n\r\n private updateIframe(event, url: string, plateForme: string) {\r\n this.updateIframeSrc(url, plateForme);\r\n $(event.currentTarget).parent().parent().find('li').removeClass('active');\r\n $(event.currentTarget).parent().addClass('active');\r\n }\r\n\r\n private updateIframeSrc(url: string, plateForme: string = null) {\r\n switch (plateForme) {\r\n case PreviewDevices.DESKTOP.name:\r\n this.previewHeight = PreviewDevices.DESKTOP.height;\r\n this.previewWidth = PreviewDevices.DESKTOP.width;\r\n break;\r\n case PreviewDevices.TABLET.name:\r\n this.previewHeight = PreviewDevices.TABLET.height;\r\n this.previewWidth = PreviewDevices.TABLET.width;\r\n break;\r\n case PreviewDevices.PHONE.name:\r\n this.previewHeight = PreviewDevices.PHONE.height;\r\n this.previewWidth = PreviewDevices.PHONE.width;\r\n break;\r\n default:\r\n }\r\n\r\n this.previewUrl = this.sanitizer.bypassSecurityTrustResourceUrl(url);\r\n }\r\n\r\n private getLocalizableFieldName(fieldName: string, languageCode): string {\r\n return `${fieldName}_${languageCode}`;\r\n }\r\n\r\n openModalCreatePageContent(template: TemplateRef) {\r\n this.pageContentFacade.getSchema().subscribe(pageContentSchema => {\r\n this.pageContentFields =\r\n pageContentSchema.fields.filter(field => !this.pageContentHiddenFields.includes(field.name));\r\n this.pageContentForm = new FormGroup(this.generateFormGroup(this.pageContentFacade,\r\n pageContentSchema.fields,\r\n this.pageContentHiddenFields));\r\n\r\n this.modalRef = this.modalService.show(template);\r\n });\r\n }\r\n\r\n openModalCreatePageFilter(template: TemplateRef, pageFilterId: string) {\r\n this.selectedPageFilterId = pageFilterId;\r\n this.contentFacadeFactory.getDynamicContentSchemaFacade(AppToken.PAGE_FILTER_SCHEMA_NAME).getSchema().subscribe(\r\n pageFilterSchema => {\r\n this.pageFilterFields =\r\n pageFilterSchema.fields.filter(field => !this.pageFilterHiddenFields.includes(field.name));\r\n let pageFilterContent = null;\r\n if (Validation.isValidGuid(this.selectedPageFilterId)) {\r\n this.collapseAllEditForm();\r\n pageFilterContent = this.pageFilters.find(pf => pf.id === pageFilterId);\r\n this.getPathFilterFromSchemaName(this.dataParser.pullData(pageFilterContent, FieldsName.CONTENT_TYPE));\r\n this.collapseControlsEditTemplate[this.selectedPageFilterId]['isCollapsed'] =\r\n !this.collapseControlsEditTemplate[this.selectedPageFilterId]['isCollapsed'];\r\n } else {\r\n this.collapseAllEditForm();\r\n this.isCollapsed = !this.isCollapsed;\r\n }\r\n this.pageFilterForm = new FormGroup(\r\n this.generateFormGroup(\r\n this.contentFacadeFactory.getDynamicContentSchemaFacade(AppToken.PAGE_FILTER_SCHEMA_NAME),\r\n pageFilterSchema.fields,\r\n this.pageFilterHiddenFields,\r\n pageFilterContent));\r\n });\r\n }\r\n\r\n private collapseAllEditForm() {\r\n const desc = this.collapseControlsEditTemplate;\r\n Object.keys(desc).forEach(function (key) {\r\n if (desc) {\r\n desc[key]['isCollapsed'] = true;\r\n }\r\n });\r\n this.collapseControlsEditTemplate = desc;\r\n this.isCollapsed = true;\r\n const container = document.querySelectorAll('.last_modify-inner');\r\n container.forEach(item => {\r\n item.classList.remove('bubble-content-context');\r\n });\r\n }\r\n\r\n private updateContentsSelect(e) {\r\n this.contentFacadeFactory.getDynamicContentSchemaFacade(e.target.value)\r\n .getTopX(1000, undefined, undefined, ESchemaContentStatus.Published).subscribe(contents => {\r\n this.contents = contents;\r\n this.pageContentForm.get('contentid').reset();\r\n });\r\n }\r\n\r\n private updatePathFilterSelect(e) {\r\n this.getPathFilterFromSchemaName(e.target.value);\r\n }\r\n\r\n private getPathFilterFromSchemaName(schemaName: string) {\r\n this.contentFacadeFactory.getDynamicContentSchemaFacade(schemaName)\r\n .getSchema().subscribe(contentSchema => {\r\n this.pathFields = [];\r\n for (let i = 0; i < contentSchema.fields.length; i++) {\r\n const field = contentSchema.fields[i];\r\n if (field.partitioning === 'language') {\r\n for (const language of this.availableLanguages.map(languages => languages.data.code.iv)) {\r\n let val = 'data';\r\n val += '.' + field.name + '.' + language;\r\n this.pathFields.push(val);\r\n }\r\n } else {\r\n let val = 'data';\r\n val += '.' + field.name + '.iv';\r\n this.pathFields.push(val);\r\n }\r\n }\r\n });\r\n }\r\n\r\n private createPageFilter() {\r\n\r\n if (!this.pageFilterForm.dirty) {\r\n this.pageContentFacade.translate('T').subscribe(c => {\r\n this.uiNotificationService.error(c.CREATE_FAILED, c.FAILED_TITLE);\r\n this.pageFilterForm.markAllAsTouched();\r\n });\r\n return;\r\n }\r\n\r\n const values = this.pageFilterForm.value;\r\n\r\n let newPageFilterData: any = {};\r\n\r\n for (let field of this.pageFilterFields) {\r\n if (field.partitioning === 'language') {\r\n for (const language of this.availableLanguages.map(languages => languages.data.code.iv)) {\r\n newPageFilterData = this.dataParser.setData(newPageFilterData, field, values[this.getLocalizableFieldName(field.name, language)], language);\r\n }\r\n } else {\r\n newPageFilterData = this.dataParser.setData(newPageFilterData, field, values[field.name]);\r\n }\r\n }\r\n\r\n const ids: string[] = [];\r\n ids.push(this.id);\r\n\r\n newPageFilterData = this.dataParser.putData(newPageFilterData, FieldsName.PAGE_ID, ids);\r\n newPageFilterData = this.dataParser.putData(newPageFilterData, FieldsName.INDEX, 0);\r\n\r\n if (Validation.isValidGuid(this.selectedPageFilterId)) {\r\n this.contentFacadeFactory.getDynamicContentSchemaFacade(AppToken.PAGE_FILTER_SCHEMA_NAME)\r\n .update(this.selectedPageFilterId, newPageFilterData).subscribe(pf => {\r\n this.pageFilters = this.pageFilters.filter(pf => pf.id !== this.selectedPageFilterId);\r\n this.pageFilters.push(pf);\r\n this.pageContentFacade.translate('T').subscribe(c => {\r\n this.uiNotificationService.success(c.UPDATE_SUCCESS, c.SUCCESS_TITLE);\r\n this.selectedPageFilterId = null;\r\n this.closeModal();\r\n });\r\n });\r\n } else {\r\n newPageFilterData = this.dataParser.putData(newPageFilterData, FieldsName.CODE, guid());\r\n this.contentFacadeFactory.getDynamicContentSchemaFacade(AppToken.PAGE_FILTER_SCHEMA_NAME).createAsPublished(newPageFilterData).subscribe(pf => {\r\n this.pageFilters.push(pf);\r\n const data: any = {\r\n isCollapsed: true,\r\n };\r\n this.collapseControlsEditTemplate[pf.id] = data;\r\n this.pageContentFacade.translate('T').subscribe(c => {\r\n this.uiNotificationService.success(c.UPDATE_SUCCESS, c.SUCCESS_TITLE);\r\n this.closeModal();\r\n });\r\n });\r\n }\r\n }\r\n\r\n private createPageContent() {\r\n\r\n if (!this.pageContentForm.valid || !this.pageContentForm.dirty) {\r\n this.pageContentFacade.translate('T').subscribe(c => {\r\n this.uiNotificationService.error(c.CREATE_FAILED, c.FAILED_TITLE);\r\n this.contents = null;\r\n this.pageContentForm.markAllAsTouched();\r\n });\r\n return;\r\n }\r\n\r\n const values = this.pageContentForm.value;\r\n\r\n let newPageContentData: any = {};\r\n\r\n for (let field of this.pageContentFields) {\r\n if (field.partitioning === 'language') {\r\n for (const language of this.availableLanguages.map(languages => languages.data.code.iv)) {\r\n\r\n newPageContentData = this.dataParser.setData(newPageContentData, field, values[this.getLocalizableFieldName(field.name, language)], language);\r\n\r\n }\r\n } else {\r\n newPageContentData = this.dataParser.setData(newPageContentData, field, values[field.name]);\r\n }\r\n }\r\n\r\n const ids: string[] = [];\r\n ids.push(this.id);\r\n\r\n //newPageContentData = this.dataParser.putData(newPageContentData, 'code', guid());\r\n newPageContentData = this.dataParser.putData(newPageContentData, FieldsName.PAGE_ID, ids);\r\n newPageContentData = this.dataParser.putData(newPageContentData, FieldsName.ISMODIFIED, true);\r\n newPageContentData = this.dataParser.putData(newPageContentData, FieldsName.INDEX, 0);\r\n\r\n this.pageContentFacade.createAsPublished(newPageContentData).subscribe(pc => {\r\n this.pageContents.push(pc);\r\n this.pageContentFacade.translate('T').subscribe(c => {\r\n this.uiNotificationService.success(c.UPDATE_SUCCESS, c.SUCCESS_TITLE);\r\n this.closeModal();\r\n });\r\n });\r\n\r\n }\r\n\r\n private getPageContentDescription($event, pageContent: PageContentModel) {\r\n if ($event) {\r\n const data: any = {\r\n title: $event.title,\r\n isModified: $event.isModified,\r\n lastModified: $event.lastModified,\r\n isOpen: $event.isOpen,\r\n contentType: $event.contentType\r\n };\r\n this.pageContentsDescription[pageContent.id] = data;\r\n }\r\n }\r\n\r\n openAllSection() {\r\n const allSectionElement = document.getElementById('panel-all-section');\r\n if (allSectionElement && allSectionElement.classList.contains('all-section-open')) {\r\n allSectionElement.classList.remove('all-section-open');\r\n } else if (allSectionElement) {\r\n allSectionElement.classList.add('all-section-open');\r\n }\r\n this.isAllOpen = !this.isAllOpen;\r\n }\r\n\r\n private navigateToSection(pageContentId: string) {\r\n this.isAllOpen = false;\r\n const desc = this.pageContentsDescription;\r\n Object.keys(this.pageContentsDescription).forEach(function (key) {\r\n if (desc) {\r\n desc[key]['isOpen'] = false;\r\n }\r\n });\r\n this.pageContentsDescription = desc;\r\n this.pageContentsDescription[pageContentId]['isOpen'] = !this.pageContentsDescription[pageContentId]['isOpen'];\r\n document.getElementById('manageContent').click();\r\n }\r\n\r\n pageCapture(pc: Content) {\r\n let tempPc = cloneDeep(this.relatedContent);\r\n const fname = tempPc.data.url[this.dataParser.currentLanguageCode];\r\n const imageName = tempPc.data.pageName.iv;\r\n\r\n this.assetFacade.generateThumbnail(fname, imageName, this.thumbnail).toPromise().then(thumbnail => {\r\n let data = tempPc.data;\r\n\r\n let assetField: Field = this.pageSchema.fields.find(field => field.name === 'thumbnail');\r\n\r\n if (thumbnail) {\r\n if (tempPc.data.thumbnail) {\r\n tempPc.data.thumbnail.iv = [];\r\n }\r\n data = this.dataParser.setData(tempPc.data, assetField, thumbnail.id);\r\n if (pc) {\r\n this.pageFacade.update(tempPc.id, data).subscribe(retval => {\r\n this.thumbnail = thumbnail.id\r\n this.pageContentFacade.translate('T').subscribe(c => {\r\n this.spinnerService.hide();\r\n this.uiNotificationService.success(c.UPDATE_SUCCESS, c.SUCCESS_TITLE);\r\n });\r\n });\r\n }\r\n } else {\r\n this.pageContentFacade.translate('T').subscribe(c => {\r\n this.thumbnail = '';\r\n this.spinnerService.hide();\r\n this.uiNotificationService.success(c.UPDATE_SUCCESS, c.SUCCESS_TITLE);\r\n });\r\n }\r\n });\r\n }\r\n\r\n pageContentDrop(event) {\r\n let pageContentsOrdered: PageContentModel[] = cloneDeep(this.pageContents);\r\n\r\n let temp = pageContentsOrdered[event['previousIndex']];\r\n pageContentsOrdered[event['previousIndex']] = pageContentsOrdered[event['currentIndex']];\r\n pageContentsOrdered[event['currentIndex']] = temp;\r\n\r\n this.pageContents = pageContentsOrdered;\r\n\r\n for (let i = 0; i < pageContentsOrdered.length; i++) {\r\n const pageContentId = pageContentsOrdered[i].id;\r\n const sub = this.pageContentFacade.get(pageContentId).subscribe(pc => {\r\n let pcData = cloneDeep(pc.data);\r\n this.dParser.putData(pcData, 'index', i);\r\n this.pageContentFacade.update(pageContentId, pcData).subscribe();\r\n this.subscriptions.push(sub);\r\n });\r\n }\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.router.routeReuseStrategy.shouldReuseRoute = () => false;\r\n }\r\n\r\n updateFromChild() {\r\n this.updateRelatedContent(false);\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Field, SchemaService, SchemaProperty } from '../../../services/squidex';\r\nimport { DynamicSchemaModel } from './dynamic-schema.model';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class DynamicSchemaService {\r\n\r\n constructor(private readonly schemaService: SchemaService) { }\r\n\r\n addField(field: Field): Observable {\r\n return this.schemaService.addField(field);\r\n }\r\n\r\n updateField(field: Field, fieldId?: number): Observable {\r\n return this.schemaService.updateField(field, fieldId);\r\n }\r\n\r\n deleteField(fieldId: number, force: boolean = false): Observable {\r\n return this.schemaService.deleteField(fieldId, force);\r\n }\r\n\r\n getSchemaDefinition(): Observable {\r\n return this.schemaService.getSchemaDefinition();\r\n }\r\n\r\n\r\n reorderField(fieldIds: number[]): Observable {\r\n return this.schemaService.reorderFields(fieldIds);\r\n }\r\n\r\n disableField(fieldId: number): Observable {\r\n return this.schemaService.disableField(fieldId);\r\n }\r\n\r\n\r\n enableField(fieldId: number): Observable {\r\n return this.schemaService.enableField(fieldId);\r\n }\r\n\r\n\r\n updateSchemaProperties(properties: SchemaProperty): Observable {\r\n return this.schemaService.updateSchemaProperties(properties);\r\n }\r\n\r\n}\r\n","import { Content } from \"../../squidex\";\r\nconst cloneDeep = require('lodash.clonedeep');\r\n\r\nexport class ArticleModel extends Content {\r\n constructor(current?: Content) {\r\n if (current) {\r\n super(cloneDeep(current) as Content);\r\n } else {\r\n super({});\r\n }\r\n }\r\n}\r\n","declare var $: any;\r\nimport { Component, Input, OnInit, Output, EventEmitter, ViewChild } from '@angular/core';\r\nimport { Field, SiteSettingFacade, LanguageModel, ResourceFacade, DataParser } from '../../services';\r\nimport { ControlContainer, FormGroupDirective, FormGroup } from '@angular/forms';\r\nimport { FieldTool } from './tools/fields.tool';\r\nimport { EFieldType } from './tools/field-type.enum';\r\nimport { BaseComponent } from \"../../base/base-component.component\";\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { IDropdownSettings, MultiSelectComponent } from 'ng-multiselect-dropdown';\r\nimport { Observable, of } from 'rxjs';\r\nimport { StringTool } from \"../../tools/index\";\r\n\r\n\r\n@Component({\r\n selector: 'field-control',\r\n templateUrl: './field-control.component.html',\r\n styleUrls: ['./field-control.component.css'],\r\n\r\n viewProviders: [\r\n {\r\n provide: ControlContainer,\r\n useExisting: FormGroupDirective\r\n }\r\n ]\r\n})\r\nexport class FieldControlComponent extends BaseComponent implements OnInit {\r\n\r\n @Input() schemaName: string;\r\n @Input() field: Field;\r\n @Input() value: any;\r\n @Input() referenceValues: any;\r\n @Input() monacoLanguage: string;\r\n @Input() form: FormGroup;\r\n\r\n @Input()\r\n uniqueFieldControlId: string;\r\n\r\n @Output() imageEmitter = new EventEmitter();\r\n @Output() deleteAssetEmitter = new EventEmitter();\r\n @Output() newAssetEmitter = new EventEmitter();\r\n @Output() updateFormControl = new EventEmitter();\r\n\r\n\r\n eFieldType = EFieldType;\r\n fieldType: EFieldType;\r\n languages: LanguageModel[];\r\n isLocalize: boolean;\r\n currentLanguage: string;\r\n placeholder = {};\r\n label = '';\r\n referenceItems: any = [];\r\n referenceInitObs$: Observable;\r\n\r\n private dataParser: DataParser;\r\n languageCustomClass = 'language-nav-tabs';\r\n\r\n dropdownSettings: IDropdownSettings;\r\n ckEditorConfig: any;\r\n\r\n @ViewChild('currentElement', null) currentElement;\r\n\r\n constructor(\r\n translateService: TranslateService,\r\n private readonly siteSettingFacade: SiteSettingFacade,\r\n private readonly resourceFacade: ResourceFacade) {\r\n super(translateService);\r\n this.setCkEditorConfig();\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n if (!this.uniqueFieldControlId) {\r\n const guidRegEx = (new StringTool()).generateGuid();\r\n this.uniqueFieldControlId = guidRegEx;\r\n }\r\n\r\n this.initLabel();\r\n this.initLanguages();\r\n this.initType();\r\n this.referenceInitObs$ = of(this.initReferenceItem());\r\n this.initCurrentLanguage();\r\n this.initPlaceholder();\r\n this.initIsLocalized();\r\n this.initDropdown();\r\n\r\n\r\n\r\n }\r\n\r\n setCkEditorConfig(): void {\r\n this.ckEditorConfig = {\r\n autoParagraph: false,\r\n ignoreEmptyParagraph: true,\r\n allowedContent: true,\r\n fillEmptyBlocks: false,\r\n extraAllowedContent: 'p(*)[*]{*};div(*)[*]{*};li(*)[*]{*};ul(*)[*]{*};span(*);i(*)[*]{*};',\r\n // CKEDITOR: [{ dtd: { $removeEmpty: { i: 0 } } }],\r\n height: 500,\r\n toolbarGroups: [\r\n { name: 'document', groups: ['mode', 'document', 'doctools'] },\r\n { name: 'clipboard', groups: ['clipboard', 'undo'] },\r\n { name: 'editing', groups: ['find', 'selection', 'spellchecker', 'editing'] },\r\n { name: 'forms', groups: ['forms'] },\r\n { name: 'styles', groups: ['styles'] },\r\n { name: 'colors', groups: ['colors'] },\r\n { name: 'tools', groups: ['tools'] },\r\n '/',\r\n { name: 'basicstyles', groups: ['basicstyles', 'cleanup'] },\r\n { name: 'paragraph', groups: ['list', 'indent', 'blocks', 'align', 'bidi', 'paragraph'] },\r\n { name: 'links', groups: ['links'] },\r\n { name: 'insert', groups: ['insert'] },\r\n '/',\r\n { name: 'others', groups: ['others'] },\r\n ],\r\n removeButtons:\r\n 'Save,NewPage,Print,Paste,PasteText,PasteFromWord,Scayt,Form,Radio,Checkbox,TextField,Textarea,Select,Button,ImageButton,HiddenField',\r\n removePlugins: 'htmldataprocessor',\r\n protectedSource: [/{{[\\s\\S]*?}}/g],\r\n extraPlugins: 'colorbutton,colordialog',\r\n };\r\n }\r\n\r\n initDropdown() {\r\n this.dropdownSettings = {\r\n idField: 'item_id',\r\n textField: 'item_text',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 3,\r\n allowSearchFilter: true,\r\n singleSelection: this.fieldType === this.eFieldType.SELECT\r\n };\r\n }\r\n\r\n initLabel() {\r\n this.resourceFacade.getByCode(`${this.schemaName}.${this.field.name}.label`).subscribe(result => {\r\n if (result) {\r\n this.label = result.data.value[this.resourceFacade.getCurrentLanguage()];\r\n } else {\r\n if (this.field.properties.label) {\r\n this.label = this.field.properties.label;\r\n } else {\r\n this.ts(this.field.name.toUpperCase(), this.schemaName).subscribe(val => {\r\n this.label = val.toString();\r\n });\r\n }\r\n }\r\n });\r\n }\r\n\r\n initPlaceholder() {\r\n this.resourceFacade.getByCode(`${this.schemaName}.${this.field.name}.placeholder`).subscribe(result => {\r\n if (result) {\r\n this.placeholder = result.data.value;\r\n } else {\r\n this.placeholder = this.field.properties.placeholder;\r\n }\r\n });\r\n }\r\n\r\n initIsLocalized() {\r\n this.isLocalize = this.field.partitioning === 'language';\r\n }\r\n\r\n initType() {\r\n this.fieldType = FieldTool.getTypeFromField(this.field);\r\n if (this.field.properties.allowedValues)\r\n this.referenceValues = this.field.properties.allowedValues;\r\n }\r\n\r\n initReferenceItem(): boolean {\r\n\r\n if (this.fieldType !== this.eFieldType.SELECT_MULTIPLE &&\r\n this.fieldType !== this.eFieldType.ORDONNABLE_SELECT_MULTIPLE &&\r\n this.fieldType !== this.eFieldType.SELECT\r\n ) {\r\n return false;\r\n }\r\n\r\n if (!this.referenceValues) {\r\n console.log('no values for multiselect');\r\n return false;\r\n }\r\n\r\n this.referenceItems = [];\r\n\r\n if (this.referenceValues && this.referenceValues.length > 0) {\r\n for (let i = 0; i < this.referenceValues.length; i++) {\r\n let item = this.referenceValues[i];\r\n this.referenceItems.push({\r\n item_id: item.Id ?? item,\r\n item_text: item.Label ?? item\r\n });\r\n }\r\n }\r\n\r\n if (this.value && Object.keys(this.value).length > 0) {\r\n let initialItem = [];\r\n for (let i = 0; i < this.value.iv.length; i++) {\r\n let itm = this.referenceItems.find(v => v.item_id === this.value.iv[i]);\r\n\r\n if (itm) {\r\n initialItem.push(itm);\r\n }\r\n }\r\n this.form.get(this.field.name).setValue(initialItem);\r\n }\r\n return true;\r\n }\r\n\r\n selectReferenceFieldValue(items: any) {\r\n if (!items) {\r\n return;\r\n }\r\n\r\n const initialItem = [];\r\n for (let i = 0; i < items.length; i++) {\r\n const vv = items[i];\r\n const itm = this.referenceItems.find(v => v.item_id === vv.item_id);\r\n if (itm) {\r\n return;\r\n }\r\n this.referenceItems.push(vv);\r\n initialItem.push(vv);\r\n }\r\n\r\n if (initialItem.length <= 0) {\r\n return;\r\n }\r\n\r\n this.form.get(this.field.name).setValue(initialItem);\r\n }\r\n\r\n initLanguages() {\r\n this.siteSettingFacade.getSiteLanguages().subscribe(languages => {\r\n if (languages.length <= 1) {\r\n this.languageCustomClass = 'hide-nav-tabs';\r\n }\r\n this.languages = languages;\r\n this.dataParser = new DataParser(this.languages);\r\n });\r\n }\r\n\r\n getDateObj(language: string): Date {\r\n if (!this.value || !this.value[language]) {\r\n return null;\r\n }\r\n\r\n return new Date(this.value[language]);\r\n }\r\n\r\n initCurrentLanguage() {\r\n this.currentLanguage = this.siteSettingFacade.getCurrentLanguage();\r\n }\r\n\r\n changeLanguage(event, langCode) {\r\n if (langCode !== '') {\r\n this.dataParser.changeLanguage(langCode);\r\n }\r\n $(event.currentTarget).parent().parent().find('li').removeClass('active');\r\n $(event.currentTarget).parent().addClass('active');\r\n }\r\n\r\n assetLoaded(file: any) {\r\n const input = document.getElementById(this.field.name);\r\n input.setAttribute('value', file.id);\r\n this.form.controls[this.field.name].setValue([file.id]);\r\n }\r\n\r\n newAsset(file: any) {\r\n this.imageEmitter.emit(file);\r\n }\r\n\r\n deleteAsset(file: any) {\r\n this.deleteAssetEmitter.emit(file);\r\n }\r\n\r\n ordMultiSelectDrop(event) {\r\n let clone = this.clone(this.value.iv);\r\n let newValues = this.moveArray(clone, event['previousIndex'], event['currentIndex']);\r\n this.updateFormControl.emit({ field: this.field.name, values: newValues });\r\n }\r\n\r\n moveArray(array: any[], from: number, to: number): any[] {\r\n array.splice(to, 0, array.splice(from, 1)[0]);\r\n return array;\r\n }\r\n}\r\n","import { Content } from \"../../squidex\";\r\nconst cloneDeep = require('lodash.clonedeep');\r\n\r\nexport class LanguageModel extends Content {\r\n constructor(current?: Content) {\r\n if (current) {\r\n super(cloneDeep(current) as Content);\r\n } else {\r\n super({});\r\n }\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { FormGroup, AbstractControl } from '@angular/forms';\r\n\r\n@Pipe({\r\n name: 'getPublishFormGroupScheduleJobDueTime'\r\n})\r\nexport class GetPublishFormGroupScheduleJobDueTimePipe implements PipeTransform {\r\n\r\n transform(value: FormGroup): AbstractControl {\r\n if (value.get('publishFormGroup')) {\r\n return value.get('publishFormGroup').get('scheduleJob').get('dueTime');\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n}\r\n","export default \"
    \\r\\n
    \\r\\n {{ tc('REQUIRED') | async }} {{translateText(name) | async}}.\\r\\n
    \\r\\n
    \\r\\n {{ tc('MIN_LENGTH') | async }} {{control.errors.minlength.requiredLength}} {{ tc('CHARACTERS') | async }}.\\r\\n
    \\r\\n
    \\r\\n {{ tc('MAX_LENGTH') | async }} {{control.errors.maxlength.requiredLength}} {{ tc('CHARACTERS') | async }}.\\r\\n
    \\r\\n
    \\r\\n {{ tc('EMAIL') | async }}.\\r\\n
    \\r\\n
    \\r\\n {{ tc('PASSWORD') | async }}.\\r\\n
    \\r\\n
    \\r\\n {{ tc('CREDIT_CARD') | async }}.\\r\\n
    \\r\\n
    \\r\\n {{ tc('PHONE') | async }}.\\r\\n
    \\r\\n
    \\r\\n {{ tc('URL') | async }}.\\r\\n
    \\r\\n
    \\r\\n {{ tc('SLUG') | async }}.\\r\\n
    \\r\\n\\r\\n \\r\\n
    \\r\\n {{ tc('CUSTOM_VALIDATION') | async }}.\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\";","export default \"\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n {{ language.data.code.iv | getCultureName | async }}\\r\\n \\\"check\\\"\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n \\r\\n {{ t(\\\"ALL\\\") | async }}\\r\\n \\r\\n\\r\\n
    \\r\\n\\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n \\r\\n
    {{ ts('LOADING') | async }} {{field.name}}
    \\r\\n
    \\r\\n\\r\\n \\r\\n
    \\r\\n\\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n \\r\\n
    {{ ts('LOADING') | async }} {{field.name}}
    \\r\\n
    \\r\\n\\r\\n \\r\\n\\r\\n
    \\r\\n \\r\\n\\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    {{ item | getLabel: referenceValues }}
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\";","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { ContentService } from '../services/content.service';\r\nimport { AppConfigProvider } from '../../../app-config.provider';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ContentFactory {\r\n private readonly baseUrl: string;\r\n\r\n constructor(private readonly httpClient: HttpClient, private readonly appConfigProvider: AppConfigProvider) {\r\n this.baseUrl = appConfigProvider.getContentBaseUrl();\r\n\r\n }\r\n getContentService(schemaName: string): ContentService {\r\n return new ContentService(this.httpClient, this.baseUrl, schemaName, this.appConfigProvider);\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { BaseService } from \"../base/base.service\";\r\nimport { ContentFactory, ContentList } from '../../squidex';\r\nimport { Observable } from 'rxjs';\r\nimport { Folder } from '../../squidex/models/folder.model';\r\nimport { ID } from '@datorama/akita';\r\nimport { AppConfigProvider } from '../../../app-config.provider';\r\nimport { FolderList } from '../../squidex/models/folder-list.model';\r\n\r\n\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AssetDirectoryService extends BaseService {\r\n private readonly assetBaseUrl: string;\r\n private readonly emptyGuid: string = '00000000-0000-0000-0000-000000000000';\r\n\r\n \r\n constructor(contentFactory: ContentFactory,\r\n private readonly httpClient: HttpClient,\r\n private appConfigProvider: AppConfigProvider ) {\r\n super('assetdirectory', contentFactory);\r\n this.assetBaseUrl = this.appConfigProvider.getAssetsBaseUrl();\r\n }\r\n\r\n createFolder(folder: Folder): Observable {\r\n\r\n if (folder.folderName) {\r\n const url = `${this.assetBaseUrl}/folders/`;\r\n return this.httpClient.post(url, folder) as Observable\r\n } else {\r\n throw (new Error('data is null when trying to create asset'));\r\n }\r\n }\r\n\r\n updateFolder(folder: Folder): Observable {\r\n if (folder.folderName) {\r\n const payload = { folderName: folder.folderName };\r\n const url = `${this.assetBaseUrl}/folders/${folder.id}`;\r\n return this.httpClient.put(url, payload) as Observable\r\n } else {\r\n throw (new Error('data is null when trying to create asset'));\r\n }\r\n }\r\n\r\n deleteFolder(folderId: ID): Observable {\r\n const url = `${this.assetBaseUrl}/folders/${folderId}`;\r\n return this.httpClient.delete(url) as Observable;\r\n }\r\n\r\n getFolders(): Observable {\r\n // this.initialize();\r\n const url = `${this.assetBaseUrl}/folders?parentId=${this.emptyGuid}`;\r\n return this.httpClient.get(url,) as Observable;\r\n }\r\n\r\n\r\n}\r\n","export default \"\\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    {{ t(\\\"CODE\\\") | async }}
    {{ content.data.code.iv }}
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\";","import { Injectable } from '@angular/core';\r\nimport { StoreConfig } from '@datorama/akita';\r\nimport { BaseStore } from '../base/base.store';\r\nimport { AppToken } from '../../../models/app-token';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n@StoreConfig({\r\n name: AppToken.LAYOUT_SCHEMA_NAME,\r\n cache: {\r\n ttl: 15000\r\n }\r\n})\r\nexport class LayoutStore extends BaseStore {\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Observable, of } from 'rxjs';\r\nimport { Injectable } from '@angular/core';\r\nimport { SchemaService } from '../services/schema.service';\r\nimport { Field } from '../models/field.model';\r\nimport { Schema } from '../models/schema.model';\r\nimport { AppConfigProvider } from '../../../app-config.provider';\r\nimport { DefaultFieldService } from '../services/default-field.service';\r\nimport { map, flatMap } from 'rxjs/operators';\r\nimport { ContentFactory } from './content.factory';\r\nimport { DynamicContentModel } from '../../akita/dynamic-content-schema/dynamic-content.model';\r\nimport { FieldReferenceCleaner } from '../../../shared/field/tools/field-reference-cleaner';\r\nimport { AppSchemaCategory } from '../../../models/app-token';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class SchemasFactory {\r\n public readonly baseUrl: string;\r\n private defaultFieldService: DefaultFieldService;\r\n public reloadSchemas: boolean = false;\r\n\r\n schemaAsPageHiddenFields: string[] = ['pageName', 'metatitle',\r\n 'url', 'metaDescription',\r\n 'metaKeywords'];\r\n\r\n constructor(\r\n private readonly httpClient: HttpClient,\r\n appConfigProvider: AppConfigProvider,\r\n private contentFactory: ContentFactory\r\n ) {\r\n this.baseUrl = appConfigProvider.getSchemaBaseUrl();\r\n }\r\n\r\n getSchemaService(schemaName: string): SchemaService {\r\n return new SchemaService(this.httpClient, this.baseUrl, schemaName);\r\n }\r\n\r\n //! Hard debug function, should never be used, never be refered, can be usefull, don't delete\r\n initSchemasDefaultFields() {\r\n this.getAllSchemas().subscribe(schemas => {\r\n this.initDefaultFieldService();\r\n const defaultField = this.defaultFieldService.generateDefaultFields();\r\n schemas.forEach(metaSchema => {\r\n const schemaService = this.getSchemaService(metaSchema.name);\r\n schemaService.getSchemaDefinition().subscribe(schema => {\r\n\r\n let fieldsNeeded: Field[];\r\n\r\n if (schema.fields) {\r\n fieldsNeeded = defaultField\r\n .filter(field => !schema.fields.some(schemaField => schemaField.name === field.name));\r\n } else {\r\n fieldsNeeded = defaultField;\r\n }\r\n\r\n fieldsNeeded.forEach(fieldNeeded => {\r\n schemaService.addField(fieldNeeded).subscribe();\r\n });\r\n\r\n });\r\n });\r\n });\r\n }\r\n\r\n hardDeleteSchema(id: string): Promise {\r\n return this.httpClient.delete(`${this.baseUrl}/schemas/${id}`).toPromise().then();\r\n }\r\n\r\n createSchema(schema: Schema): Observable {\r\n const url = `${this.baseUrl}/schemas/`;\r\n if (!schema.category || schema.category === '') {\r\n throw (new Error('Your schema MUST have a valid category'));\r\n }\r\n\r\n this.initDefaultFieldService();\r\n let defaultFields = this.defaultFieldService.generateFields(schema.category);\r\n\r\n return this.getAllSchemas().pipe(flatMap(allSchema => {\r\n const cleaner = new FieldReferenceCleaner(allSchema);\r\n defaultFields = cleaner.cleanAllReferenceFields(defaultFields);\r\n if (!schema.fields) {\r\n schema.fields = defaultFields;\r\n } else {\r\n defaultFields.forEach((field) => {\r\n if (!schema.fields.some(f => f.name === field.name)) {\r\n schema.fields.push(field);\r\n }\r\n });\r\n }\r\n\r\n const oSchema = this.httpClient.post(url, schema) as Observable;\r\n const contentService = this.contentFactory.getContentService('schemametadata');\r\n\r\n let hiddenFields = '';\r\n let defaultHiddenFields = defaultFields;\r\n if (schema.category === AppSchemaCategory.SCHEMA_AS_A_PAGE) {\r\n defaultHiddenFields = defaultHiddenFields.filter(field => !this.schemaAsPageHiddenFields.includes(field.name));\r\n }\r\n\r\n defaultHiddenFields.forEach(field => {\r\n hiddenFields += field.name + ';';\r\n });\r\n hiddenFields = hiddenFields.substring(0, hiddenFields.length - 1);\r\n\r\n let securedSchema = false;\r\n if(schema.category == AppSchemaCategory.SYSTEM_SCHEMAS) {\r\n securedSchema = true;\r\n }\r\n\r\n return oSchema.pipe(map(sch => {\r\n const meta = new DynamicContentModel();\r\n meta.data = {\r\n schemaid: { iv: sch.id },\r\n code: { iv: sch.name },\r\n category: { iv: sch.category },\r\n hiddenfields: { iv: hiddenFields },\r\n secured: { iv: securedSchema }\r\n };\r\n\r\n contentService.createContentAndPublish(meta.data).subscribe();\r\n this.httpClient.put(`${url}${schema.name}/publish`, {}).subscribe(schemaBack => {\r\n this.getAllSchemas().subscribe();\r\n });\r\n return sch;\r\n }));\r\n }));\r\n }\r\n\r\n // TODO: store schemas list in AKITA as an individual list\r\n getAllSchemas(): Observable {\r\n if (this.schemas && !this.reloadSchemas) {\r\n return of(this.schemas);\r\n } else {\r\n const url = `${this.baseUrl}/schemas/`;\r\n return this.httpClient.get(url).pipe(map(schemasList => {\r\n this.schemas = schemasList['items'];\r\n this.reloadSchemas = false;\r\n return this.schemas;\r\n }));\r\n }\r\n }\r\n\r\n // tslint:disable-next-line: member-ordering\r\n private schemas: Schema[];\r\n\r\n private initDefaultFieldService() {\r\n if (!this.defaultFieldService) {\r\n this.defaultFieldService = new DefaultFieldService();\r\n }\r\n }\r\n\r\n //! Hard debug function, should never be used, never be refered, can be usefull, don't delete\r\n regenarateMetadata() {\r\n this.getAllSchemas().subscribe(allSchemas => {\r\n const service = this.contentFactory.getContentService('schemametadata');\r\n const defaultFieldService = new DefaultFieldService();\r\n\r\n allSchemas.forEach(schema => {\r\n\r\n service.createContent({\r\n \"code\": { 'iv': schema.name },\r\n \"schemaid\": { 'iv': schema.id },\r\n \"hiddenfields\": { 'iv': defaultFieldService.generateDefaultFields().map(field => field.name).join(';') },\r\n \"category\": { 'iv': schema.category }\r\n }).subscribe();\r\n });\r\n });\r\n }\r\n}\r\n","\r\nexport { BaseFacade } from './base/base.facade';\r\n\r\nexport { ResourceFacade } from './resource-schema/resource.facade';\r\nexport { ResourceModel } from './resource-schema/resource.model';\r\n\r\nexport { ArticleFacade } from './article-schema/article.facade';\r\nexport { ArticleModel } from './article-schema/article.model';\r\n\r\nexport { DynamicContentSchemaFacade } from './dynamic-content-schema/dynamic-content.facade';\r\nexport { DynamicContentModel } from './dynamic-content-schema/dynamic-content.model';\r\n\r\nexport { DynamicSchemaFacade } from './dynamic-schema/dynamic-schema.facade';\r\nexport { DynamicSchemaModel } from './dynamic-schema/dynamic-schema.model';\r\n\r\nexport { SiteSettingFacade } from './site-setting-schema/site-setting.facade';\r\nexport { SiteSettingModel } from './site-setting-schema/site-setting.model';\r\n\r\nexport { TemplateFacade } from './template-schema/template.facade';\r\nexport { TemplateModel } from './template-schema/template.model';\r\n\r\nexport { UserFacade } from './user-schema/user.facade';\r\nexport { UserModel } from './user-schema/user.model';\r\n\r\nexport { ApplicationUserFacade } from './application-user-schema/application-user.facade';\r\nexport { ApplicationUserModel } from './application-user-schema/application-user.model';\r\n\r\nexport { SchemaMetadataFacade } from './schema-metadata-schema/schema-metadata.facade';\r\nexport { SchemaMetadataModel } from './schema-metadata-schema/schema-metadata.model';\r\n\r\nexport { DynamicContentSchemaFactory } from './dynamic-content-schema.factory';\r\nexport { DynamicSchemaFactory } from './dynamic-schema.factory';\r\n\r\nexport { ArticleTypeFacade } from './article-type-schema/article-type.facade';\r\nexport { ArticleTypeModel } from './article-type-schema/article-type.model';\r\n\r\nexport { ArticleCategoryFacade } from './article-category-schema/article-category.facade';\r\nexport { ArticleCategoryModel } from './article-category-schema/article-category.model';\r\n\r\nexport { PageCategoryModel } from './page-category-schema/page-category.model';\r\nexport { PageCategoryFacade } from './page-category-schema/page-category.facade';\r\n\r\nexport { PageModel } from './page-schema/page.model';\r\nexport { PageFacade } from './page-schema/page.facade';\r\n\r\nexport { PageContentModel } from './page-content-schema/page-content.model';\r\nexport { PageContentFacade } from './page-content-schema/page-content.facade';\r\n\r\nexport { MenuItemFacade } from './menu-item-schema/menu-item.facade';\r\nexport { MenuItemModel } from './menu-item-schema/menu-item.model';\r\nexport { MenuItemDto } from './menu-item-schema/menu-item.dto';\r\n\r\nexport { MenuFacade } from './menu-schema/menu.facade';\r\nexport { MenuModel } from './menu-schema/menu.model';\r\n\r\nexport { LanguageModel } from './language-schema/language.model';\r\nexport { LanguageFacade } from './language-schema/language.facade';\r\n\r\nexport { FilterPagination } from './base/filter.pagination';\r\n\r\nexport { LayoutModel } from './layout-schema/layout.model';\r\nexport { LayoutFacade } from './layout-schema/layout.facade';\r\n\r\nexport { AssetDirectoryFacade } from './asset-directory-schema/asset-directory.facade';\r\nexport { AssetDirectoryModel } from './asset-directory-schema/asset-directory.model';\r\n\r\nexport { SectionFacade } from './section-schema/section.facade';\r\nexport { SectionModel } from './section-schema/section.model';\r\n\r\nexport { AssetFacade } from './asset-schema/asset.facade';\r\nexport { AssetModel } from './asset-schema/asset.model';\r\n\r\nexport { SchemaPageFacade } from './schema-page-schema/schema-page.facade';\r\nexport { SchemaPageModel } from './schema-page-schema/schema-page.model';\r\n\r\nexport { ClaimFacade } from './claim-schema/claim.facade';\r\nexport { ClaimModel } from './claim-schema/claim.model';\r\n","import {\r\n Component,\r\n ContentChild,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n NgZone,\r\n OnDestroy,\r\n Output,\r\n Renderer2,\r\n TemplateRef,\r\n ViewChild\r\n} from '@angular/core';\r\nimport { Subscription, timer } from 'rxjs';\r\n\r\nimport { NgxFileDropEntry } from './ngx-file-drop-entry';\r\nimport { FileSystemDirectoryEntry, FileSystemEntry, FileSystemFileEntry } from './dom.types';\r\nimport { NgxFileDropContentTemplateDirective } from './ngx-templates.directive';\r\nimport { BaseComponent } from '../../base/base-component.component';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'ngx-file-drop',\r\n templateUrl: './ngx-file-drop.component.html',\r\n styleUrls: ['./ngx-file-drop.component.scss'],\r\n})\r\nexport class NgxFileDropComponent extends BaseComponent implements OnDestroy {\r\n\r\n @Input()\r\n public accept: string = '*';\r\n\r\n @Input()\r\n public directory: boolean = false;\r\n\r\n @Input()\r\n public multiple: boolean = true;\r\n\r\n @Input()\r\n public dropZoneLabel: string = '';\r\n\r\n @Input()\r\n public dropZoneClassName: string = 'ngx-file-drop__drop-zone';\r\n\r\n @Input()\r\n public contentClassName: string = 'ngx-file-drop__content';\r\n\r\n public get disabled(): boolean { return this._disabled; }\r\n @Input()\r\n public set disabled(value: boolean) {\r\n this._disabled = (value != null && `${value}` !== 'false');\r\n }\r\n\r\n @Input()\r\n public showBrowseBtn: boolean = false;\r\n @Input()\r\n public browseBtnClassName: string = 'btn btn-primary btn-xs ngx-file-drop__browse-btn';\r\n\r\n @Input()\r\n public browseBtnLabel: string = 'Browse files';\r\n\r\n @Input()\r\n public buttonPosition: number = 0;\r\n\r\n @Input()\r\n public autoUpload: boolean = true;\r\n\r\n\r\n @Output()\r\n public onFileDrop: EventEmitter = new EventEmitter();\r\n @Output()\r\n public onFileOver: EventEmitter = new EventEmitter();\r\n @Output()\r\n public onFileLeave: EventEmitter = new EventEmitter();\r\n\r\n\r\n // custom templates\r\n @ContentChild(NgxFileDropContentTemplateDirective, { read: TemplateRef }) contentTemplate: TemplateRef;\r\n\r\n @ViewChild('fileSelector', { static: true })\r\n public fileSelector: ElementRef;\r\n\r\n public isDraggingOverDropZone: boolean = false;\r\n\r\n private globalDraggingInProgress: boolean = false;\r\n private globalDragStartListener: () => void;\r\n private globalDragEndListener: () => void;\r\n\r\n private files: NgxFileDropEntry[] = [];\r\n private numOfActiveReadEntries: number = 0;\r\n\r\n private helperFormEl: HTMLFormElement | null = null;\r\n private fileInputPlaceholderEl: HTMLDivElement | null = null;\r\n\r\n private dropEventTimerSubscription: Subscription | null = null;\r\n\r\n private _disabled: boolean = false;\r\n\r\n constructor(\r\n private zone: NgZone,\r\n private renderer: Renderer2,\r\n translateService: TranslateService\r\n ) {\r\n super(translateService);\r\n this.setTranslateContext('NgxFileDropComponent');\r\n this.globalDragStartListener = this.renderer.listen('document', 'dragstart', (evt: Event) => {\r\n this.globalDraggingInProgress = true;\r\n });\r\n this.globalDragEndListener = this.renderer.listen('document', 'dragend', (evt: Event) => {\r\n this.globalDraggingInProgress = false;\r\n });\r\n }\r\n\r\n public ngOnDestroy(): void {\r\n if (this.dropEventTimerSubscription) {\r\n this.dropEventTimerSubscription.unsubscribe();\r\n this.dropEventTimerSubscription = null;\r\n }\r\n this.globalDragStartListener();\r\n this.globalDragEndListener();\r\n this.files = [];\r\n this.helperFormEl = null;\r\n this.fileInputPlaceholderEl = null;\r\n }\r\n\r\n public onDragOver(event: Event): void {\r\n if (!this.isDropzoneDisabled()) {\r\n if (!this.isDraggingOverDropZone) {\r\n this.isDraggingOverDropZone = true;\r\n this.onFileOver.emit(event);\r\n }\r\n this.preventAndStop(event);\r\n }\r\n }\r\n\r\n public onDragLeave(event: Event): void {\r\n if (!this.isDropzoneDisabled()) {\r\n if (this.isDraggingOverDropZone) {\r\n this.isDraggingOverDropZone = false;\r\n this.onFileLeave.emit(event);\r\n }\r\n this.preventAndStop(event);\r\n }\r\n }\r\n\r\n public dropFiles(event: DragEvent): void {\r\n if (!this.isDropzoneDisabled()) {\r\n this.isDraggingOverDropZone = false;\r\n if (event.dataTransfer) {\r\n event.dataTransfer.dropEffect = 'copy';\r\n let items: FileList | DataTransferItemList;\r\n if (event.dataTransfer.items) {\r\n items = event.dataTransfer.items;\r\n } else {\r\n items = event.dataTransfer.files;\r\n }\r\n this.preventAndStop(event);\r\n this.checkFiles(items);\r\n }\r\n }\r\n }\r\n\r\n public openFileSelector = (event?: MouseEvent): void => {\r\n if (this.fileSelector && this.fileSelector.nativeElement) {\r\n (this.fileSelector.nativeElement as HTMLInputElement).click();\r\n }\r\n };\r\n\r\n public openFileSelector2 = (event?: MouseEvent): boolean => {\r\n this.openFileSelector(event);\r\n return false;\r\n };\r\n\r\n\r\n /**\r\n * Processes the change event of the file input and adds the given files.\r\n * @param Event event\r\n */\r\n public uploadFiles(event: Event): void {\r\n if (!this.isDropzoneDisabled()) {\r\n if (event.target) {\r\n const items = (event.target as HTMLInputElement).files || ([] as any);\r\n this.checkFiles(items);\r\n this.resetFileInput();\r\n }\r\n }\r\n }\r\n\r\n private checkFiles(items: FileList | DataTransferItemList): void {\r\n for (let i = 0; i < items.length; i++) {\r\n const item = items[i];\r\n let entry: FileSystemEntry | null = null;\r\n if (this.canGetAsEntry(item)) {\r\n entry = item.webkitGetAsEntry();\r\n }\r\n\r\n if (!entry) {\r\n if (item) {\r\n const fakeFileEntry: FileSystemFileEntry = {\r\n name: (item as File).name,\r\n isDirectory: false,\r\n isFile: true,\r\n file: (callback: (filea: File) => void): void => {\r\n callback(item as File);\r\n },\r\n };\r\n const toUpload: NgxFileDropEntry = new NgxFileDropEntry(fakeFileEntry.name, fakeFileEntry);\r\n this.addToQueue(toUpload);\r\n }\r\n\r\n } else {\r\n if (entry.isFile) {\r\n const toUpload: NgxFileDropEntry = new NgxFileDropEntry(entry.name, entry);\r\n this.addToQueue(toUpload);\r\n\r\n } else if (entry.isDirectory) {\r\n this.traverseFileTree(entry, entry.name);\r\n }\r\n }\r\n }\r\n\r\n if (this.dropEventTimerSubscription) {\r\n this.dropEventTimerSubscription.unsubscribe();\r\n }\r\n this.dropEventTimerSubscription = timer(200, 200)\r\n .subscribe(() => {\r\n if (this.files.length > 0 && this.numOfActiveReadEntries === 0) {\r\n const files = this.files;\r\n this.files = [];\r\n this.onFileDrop.emit(files);\r\n }\r\n });\r\n }\r\n\r\n private traverseFileTree(item: FileSystemEntry, path: string): void {\r\n if (item.isFile) {\r\n const toUpload: NgxFileDropEntry = new NgxFileDropEntry(path, item);\r\n this.files.push(toUpload);\r\n\r\n } else {\r\n path = path + '/';\r\n const dirReader = (item as FileSystemDirectoryEntry).createReader();\r\n let entries: FileSystemEntry[] = [];\r\n\r\n const readEntries = () => {\r\n this.numOfActiveReadEntries++;\r\n dirReader.readEntries((result) => {\r\n if (!result.length) {\r\n // add empty folders\r\n if (entries.length === 0) {\r\n const toUpload: NgxFileDropEntry = new NgxFileDropEntry(path, item);\r\n this.zone.run(() => {\r\n this.addToQueue(toUpload);\r\n });\r\n\r\n } else {\r\n for (let i = 0; i < entries.length; i++) {\r\n this.zone.run(() => {\r\n this.traverseFileTree(entries[i], path + entries[i].name);\r\n });\r\n }\r\n }\r\n\r\n } else {\r\n // continue with the reading\r\n entries = entries.concat(result);\r\n readEntries();\r\n }\r\n\r\n this.numOfActiveReadEntries--;\r\n });\r\n };\r\n\r\n readEntries();\r\n }\r\n }\r\n\r\n /**\r\n * Clears any added files from the file input element so the same file can subsequently be added multiple times.\r\n */\r\n private resetFileInput(): void {\r\n if (this.fileSelector && this.fileSelector.nativeElement) {\r\n const fileInputEl = this.fileSelector.nativeElement as HTMLInputElement;\r\n const fileInputContainerEl = fileInputEl.parentElement;\r\n const helperFormEl = this.getHelperFormElement();\r\n const fileInputPlaceholderEl = this.getFileInputPlaceholderElement();\r\n\r\n // Just a quick check so we do not mess up the DOM (will never happen though).\r\n if (fileInputContainerEl !== helperFormEl) {\r\n // Insert the form input placeholder in the DOM before the form input element.\r\n this.renderer.insertBefore(fileInputContainerEl, fileInputPlaceholderEl, fileInputEl);\r\n // Add the form input as child of the temporary form element, removing the form input from the DOM.\r\n this.renderer.appendChild(helperFormEl, fileInputEl);\r\n // Reset the form, thus clearing the input element of any files.\r\n helperFormEl.reset();\r\n // Add the file input back to the DOM in place of the file input placeholder element.\r\n this.renderer.insertBefore(fileInputContainerEl, fileInputEl, fileInputPlaceholderEl);\r\n // Remove the input placeholder from the DOM\r\n this.renderer.removeChild(fileInputContainerEl, fileInputPlaceholderEl);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Get a cached HTML form element as a helper element to clear the file input element.\r\n */\r\n private getHelperFormElement(): HTMLFormElement {\r\n if (!this.helperFormEl) {\r\n this.helperFormEl = this.renderer.createElement('form') as HTMLFormElement;\r\n }\r\n\r\n return this.helperFormEl;\r\n }\r\n\r\n /**\r\n * Get a cached HTML div element to be used as placeholder for the file input element when clearing said element.\r\n */\r\n private getFileInputPlaceholderElement(): HTMLDivElement {\r\n if (!this.fileInputPlaceholderEl) {\r\n this.fileInputPlaceholderEl = this.renderer.createElement('div') as HTMLDivElement;\r\n }\r\n\r\n return this.fileInputPlaceholderEl;\r\n }\r\n\r\n private canGetAsEntry(item: any): item is DataTransferItem {\r\n return !!item.webkitGetAsEntry;\r\n }\r\n\r\n private isDropzoneDisabled(): boolean {\r\n return (this.globalDraggingInProgress || this.disabled);\r\n }\r\n\r\n private addToQueue(item: NgxFileDropEntry): void {\r\n this.files.push(item);\r\n }\r\n\r\n private preventAndStop(event: Event): void {\r\n event.stopPropagation();\r\n event.preventDefault();\r\n }\r\n}\r\n","export default \"
    \\r\\n \\r\\n
    \\r\\n\";","export default \"\\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n\\r\\n\";","import { Content } from '../../squidex/models/content.model';\r\nconst cloneDeep = require('lodash.clonedeep');\r\n\r\n\r\nexport class DynamicContentModel extends Content {\r\n constructor(content?: Partial) {\r\n if (content) {\r\n super(cloneDeep(content));\r\n } else {\r\n super({});\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { StoreConfig } from '@datorama/akita';\r\nimport { BaseStore } from '../base/base.store';\r\nimport { AppToken } from '../../../models/app-token';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n@StoreConfig({\r\n name: AppToken.SECTION_SCHEMA_NAME,\r\n cache: {\r\n ttl: 15000\r\n }\r\n})\r\nexport class SectionStore extends BaseStore {\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n}\r\n","export default \"
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n
      \\r\\n
    \\r\\n\\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\\"img\\\"\\r\\n \\\"img\\\"\\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n {{language.data.code.iv | getCultureName | async}}\\r\\n \\\"check\\\"\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n {{language.data.code.iv | getCultureName | async}}\\r\\n \\\"check\\\"\\r\\n\\r\\n \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n\\r\\n
    \\r\\n\\r\\n \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    {{ tc(\\\"EDITABLE_SECTION\\\") | async | uppercase }}
    \\r\\n \\r\\n {{ t(\\\"OPEN_ALL_SECTION\\\") | async }}\\r\\n \\\"double-open\\\"\\r\\n \\r\\n
    \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
    \\r\\n\\r\\n

    Template : {{this.pageTemplate.data.code.iv}}

    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
    \\r\\n

    {{ tc(\\\"CREATE_CONTENT\\\") | async | uppercase }}

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
    \\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n\\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n

    {{ (this.selectedPageFilterId ? tc(\\\"MODIFIY_FILTER\\\") : tc(\\\"CREATE_FILTER\\\")) | async | uppercase }}

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n

    {{ t(\\\"DELETE\\\") | async }} {{this.title}}

    \\r\\n
    \\r\\n

    \\r\\n {{ t('WARNING_DELETE', {name: this.title} ) | async }}\\r\\n \\r\\n \\r\\n

    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n

    {{ t(\\\"DELETE_DRAFT\\\") | async }}

    \\r\\n
    \\r\\n

    \\r\\n {{ t('WARNING_DELETE', {name: 'draft'}) | async }}\\r\\n \\r\\n \\r\\n

    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n

    {{ t(\\\"DELETE\\\") | async }} {{this.pageContentsDescription[this.selectedPageContentId]['title']}}

    \\r\\n
    \\r\\n

    \\r\\n {{ t('WARNING_DELETE', {name: this.pageContentsDescription[this.selectedPageContentId]['title']} ) | async }}\\r\\n \\r\\n \\r\\n

    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n
    \\r\\n

    {{ t(\\\"DELETE\\\") | async }}

    \\r\\n
    \\r\\n

    \\r\\n {{ t('WARNING_DELETE', 'pageFilter' ) | async }}\\r\\n \\r\\n \\r\\n

    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n
    \\r\\n

    {{ t(\\\"CLONE\\\") | async }} {{ currentPage.data.pageName.iv }}

    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{language.data.code.iv | getCultureName | async}}\\r\\n \\\"check\\\"\\r\\n\\r\\n \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\";","import { Schema } from '../../squidex/models/schema.model';\r\n\r\nexport class DynamicSchemaModel extends Schema {\r\n\r\n constructor(schema?: Partial) {\r\n super(schema);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { AuthorizationGuard } from './guards/authorization.guard';\r\nimport { PublicComponent } from './layout/public/public.component';\r\nimport { PrivateComponent } from './layout/private/private.component';\r\nimport { SharedModule } from './shared/';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n component: PrivateComponent,\r\n children: [\r\n {\r\n path: '',\r\n redirectTo: 'contents',\r\n pathMatch: 'full',\r\n canActivate: [AuthorizationGuard]\r\n },\r\n {\r\n path: 'assistance',\r\n canActivate: [AuthorizationGuard],\r\n loadChildren: () => import('./pages/assistance/assistance.module').then(m => m.AssistanceModule)\r\n },\r\n {\r\n path: 'settings',\r\n canActivate: [AuthorizationGuard],\r\n loadChildren: () => import('./pages/settings/settings.module').then(m => m.SettingsModule)\r\n },\r\n {\r\n path: 'last-pages-modified',\r\n canActivate: [AuthorizationGuard],\r\n loadChildren: () => import('./pages/dashboard/dashboard.module').then(m => m.DashboardModule)\r\n },\r\n {\r\n path: 'profile',\r\n canActivate: [AuthorizationGuard],\r\n loadChildren: () => import('./pages/profile/profile.module').then(m => m.ProfileModule)\r\n },\r\n {\r\n path: 'articles',\r\n canActivate: [AuthorizationGuard],\r\n loadChildren: () => import('./pages/articles/articles.module').then(m => m.ArticlesModule)\r\n },\r\n {\r\n path: 'assets',\r\n canActivate: [AuthorizationGuard],\r\n loadChildren: () => import('./pages/assets/assets.module').then(m => m.AssetsModule)\r\n },\r\n {\r\n path: 'pages',\r\n canActivate: [AuthorizationGuard],\r\n loadChildren: () => import('./pages/pages/pages.module').then(m => m.PagesModule)\r\n },\r\n {\r\n path: 'page/:code',\r\n canActivate: [AuthorizationGuard],\r\n loadChildren: () => import('./pages/page/page.module').then(m => m.PageModule),\r\n data: { state: true }\r\n },\r\n {\r\n path: 'page/:name/:code',\r\n canActivate: [AuthorizationGuard],\r\n loadChildren: () => import('./pages/advanced-page/advanced-page.module').then(m => m.AdvancedPageModule),\r\n data: { state: true }\r\n },\r\n {\r\n path: 'files',\r\n canActivate: [AuthorizationGuard],\r\n loadChildren: () => import('./pages/files/files.module').then(m => m.FilesModule)\r\n },\r\n {\r\n path: 'banners',\r\n canActivate: [AuthorizationGuard],\r\n loadChildren: () => import('./pages/banners/banners.module').then(m => m.BannersModule)\r\n },\r\n {\r\n path: 'forms',\r\n canActivate: [AuthorizationGuard],\r\n loadChildren: () => import('./pages/forms/forms.module').then(m => m.AppFormsModule)\r\n },\r\n {\r\n path: 'schemas',\r\n canActivate: [AuthorizationGuard],\r\n loadChildren: () => import('./pages/schemas/schemas.module').then(m => m.SchemasModule)\r\n },\r\n {\r\n path: 'contents',\r\n canActivate: [AuthorizationGuard],\r\n loadChildren: () => import('./pages/contents/contents.module').then(m => m.ContentsModule)\r\n },\r\n {\r\n path: 'layouts',\r\n canActivate: [AuthorizationGuard],\r\n loadChildren: () => import('./pages/layouts/layouts.module').then(m => m.LayoutsModule)\r\n },\r\n {\r\n path: 'layouts/:code',\r\n canActivate: [AuthorizationGuard],\r\n loadChildren: () => import('./pages/layouts/layouts.module').then(m => m.LayoutsModule)\r\n },\r\n {\r\n path: 'resource',\r\n canActivate: [AuthorizationGuard],\r\n loadChildren: () => import('./pages/resources/resource.module').then(m => m.ResourceModule)\r\n },\r\n {\r\n path: 'app-resource/:code',\r\n canActivate: [AuthorizationGuard],\r\n loadChildren: () => import('./pages/resources/resource.module').then(m => m.ResourceModule)\r\n },\r\n {\r\n path: 'sections',\r\n canActivate: [AuthorizationGuard],\r\n loadChildren: () => import('./pages/sections/sections.module').then(m => m.SectionsModule)\r\n },\r\n {\r\n path: 'sections/:code',\r\n canActivate: [AuthorizationGuard],\r\n loadChildren: () => import('./pages/sections/sections.module').then(m => m.SectionsModule)\r\n },\r\n {\r\n path: 'scripts',\r\n canActivate: [AuthorizationGuard],\r\n loadChildren: () => import('./pages/scripts/scripts.module').then(m => m.ScriptsModule)\r\n },\r\n {\r\n path: 'scripts/:code',\r\n canActivate: [AuthorizationGuard],\r\n loadChildren: () => import('./pages/scripts/scripts.module').then(m => m.ScriptsModule)\r\n },\r\n {\r\n path: 'styles',\r\n canActivate: [AuthorizationGuard],\r\n loadChildren: () => import('./pages/styles/styles.module').then(m => m.StylesModule)\r\n },\r\n {\r\n path: 'styles/:code',\r\n canActivate: [AuthorizationGuard],\r\n loadChildren: () => import('./pages/styles/styles.module').then(m => m.StylesModule)\r\n },\r\n {\r\n path: 'templates',\r\n canActivate: [AuthorizationGuard],\r\n loadChildren: () => import('./pages/templates/templates.module').then(m => m.TemplatesModule)\r\n },\r\n {\r\n path: 'templates/:code',\r\n canActivate: [AuthorizationGuard],\r\n loadChildren: () => import('./pages/templates/templates.module').then(m => m.TemplatesModule)\r\n },\r\n {\r\n path: 'users',\r\n canActivate: [AuthorizationGuard],\r\n loadChildren: () => import('./pages/users/users.module').then(m => m.UsersModule)\r\n },\r\n {\r\n path: 'change-password',\r\n canActivate: [AuthorizationGuard],\r\n loadChildren: () => import('./pages/change-password/change-password.module').then(m => m.ChangePasswordModule)\r\n },\r\n {\r\n path: 'redirection',\r\n canActivate: [AuthorizationGuard],\r\n loadChildren: () => import('./pages/redirection/redirection.module').then(m => m.RedirectionModule)\r\n },\r\n {\r\n path: 'redirection/:code',\r\n canActivate: [AuthorizationGuard],\r\n loadChildren: () => import('./pages/redirection/redirection.module').then(m => m.RedirectionModule)\r\n }\r\n ]\r\n },\r\n {\r\n path: '',\r\n component: PublicComponent,\r\n children: [\r\n {\r\n path: 'login',\r\n loadChildren: () => import('./pages/login/login.module').then(m => m.LoginModule),\r\n pathMatch: 'full'\r\n },\r\n {\r\n path: 'logout',\r\n loadChildren: () => import('./pages/logout/logout.module').then(m => m.LogoutModule),\r\n pathMatch: 'full'\r\n },\r\n {\r\n path: 'register',\r\n loadChildren: () => import('./pages/register/register.module').then(m => m.RegisterModule),\r\n pathMatch: 'full'\r\n },\r\n {\r\n path: 'forgot-password',\r\n loadChildren: () => import('./pages/forgot-password/forgot-password.module').then(m => m.ForgotPasswordModule),\r\n pathMatch: 'full'\r\n },\r\n {\r\n path: 'reset-password',\r\n loadChildren: () => import('./pages/reset-password/reset-password.module').then(m => m.ResetPasswordModule),\r\n pathMatch: 'full'\r\n },\r\n {\r\n path: 'help',\r\n loadChildren: () => import('./pages/help/help.module').then(m => m.HelpModule),\r\n pathMatch: 'full'\r\n }\r\n ]\r\n }\r\n];\r\n\r\n@NgModule(\r\n {\r\n declarations: [\r\n PrivateComponent,\r\n PublicComponent\r\n ],\r\n entryComponents: [],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n SharedModule,\r\n RouterModule.forRoot(routes)\r\n ],\r\n exports: [RouterModule]\r\n })\r\nexport class AppRoutingModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { BaseQuery } from '../base/base.query';\r\nimport { MenuStore } from './menu.store';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MenuQuery extends BaseQuery {\r\n\r\n constructor(store: MenuStore) {\r\n super(store);\r\n }\r\n\r\n\r\n}\r\n","export * from './callback-models/enums/code.enum';\r\nexport * from './callback-models/service-callback-base.model';\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'getLabel'\r\n})\r\nexport class FieldPipe implements PipeTransform {\r\n\r\n transform(id: string, items:any ): string {\r\n\r\n let i = items.find(v => v.Id == id);\r\n\r\n if(!i){\r\n return \"This content seems to have been deleted\";\r\n }\r\n\r\n return items.find(v => v.Id == id).Label; // Check if any \"eating\" property is equal to food\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BaseFacade } from '../base/base.facade';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { DynamicSchemaFactory } from '../dynamic-schema.factory';\r\nimport { AppToken } from '../../../models/app-token';\r\nimport { SchemaPageStore } from './schema-page.store';\r\nimport { SchemaPageQuery } from './schema-page.query';\r\nimport { SchemaPageService } from './schema-page.service';\r\nimport { SchemaPageModel } from './schema-page.model';\r\nimport { Observable, of } from 'rxjs';\r\nimport { flatMap } from 'rxjs/operators';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class SchemaPageFacade extends BaseFacade {\r\n\r\n constructor(\r\n private readonly schemaPageService: SchemaPageService,\r\n schemaPageStore: SchemaPageStore,\r\n schemaPageQuery: SchemaPageQuery,\r\n dynamicSchemaFacto: DynamicSchemaFactory,\r\n translateService: TranslateService) {\r\n super(schemaPageService,\r\n schemaPageStore,\r\n schemaPageQuery,\r\n dynamicSchemaFacto.getDynamicSchemaFacade(AppToken.SCHEMA_PAGE_SCHEMA_NAME),\r\n translateService,\r\n AppToken.SCHEMA_PAGE_SCHEMA_NAME + '-facade'\r\n );\r\n }\r\n\r\n getSchemaPageByPageId(pageId: string): Observable {\r\n return this.schemaPageService.getByParentId(pageId, 'pageid').pipe(flatMap((contentList) => {\r\n return of(contentList.items[0]);\r\n }));\r\n }\r\n\r\n\r\n getSchemaPageByContentId(contentId: string, draftMode: boolean = false): Observable {\r\n return this.schemaPageService.getByParentId(contentId, 'contentid', 'id', draftMode).pipe(flatMap((contentList) => {\r\n return of(contentList.items[0]);\r\n }));\r\n }\r\n\r\n\r\n getSchemaPageByContentCode(contentCode: string): SchemaPageModel {\r\n\r\n\r\n\r\n return null;\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BaseService } from '../base/base.service';\r\nimport { SchemasFactory, ContentFactory, Content } from '../../squidex';\r\nimport { Observable } from 'rxjs';\r\nimport { AppTokenService } from '../../../app-token.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MenuService extends BaseService {\r\n\r\n constructor(schemasFactory: SchemasFactory,\r\n contentFactory: ContentFactory) {\r\n super(AppTokenService.MENU_SCHEMA_NAME, contentFactory);\r\n }\r\n\r\n getFirstContent(): Observable {\r\n this.initialize();\r\n return this.contentService.getFirstContent();\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BaseFacade } from '../base/base.facade';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { DynamicSchemaFactory } from '../dynamic-schema.factory';\r\nimport { AppTokenService } from '../../../app-token.service';\r\nimport { MenuService } from './menu.service';\r\nimport { MenuStore } from './menu.store';\r\nimport { MenuQuery } from './menu.query';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class MenuFacade extends BaseFacade {\r\n\r\n constructor(\r\n private readonly menuService: MenuService,\r\n menuStore: MenuStore,\r\n menuQuery: MenuQuery,\r\n dynamicSchemaFacto: DynamicSchemaFactory,\r\n translateService: TranslateService) {\r\n super(menuService,\r\n menuStore,\r\n menuQuery,\r\n dynamicSchemaFacto.getDynamicSchemaFacade(AppTokenService.MENU_SCHEMA_NAME),\r\n translateService,\r\n AppTokenService.MENU_SCHEMA_NAME + '-facade'\r\n );\r\n }\r\n}\r\n","import { Component, OnInit, Input, Output, EventEmitter, ViewChild, ElementRef } from '@angular/core';\r\nimport { BaseComponent } from '../../../base/base-component.component';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { NgxFileDropEntry } from '../../../shared/ngx-file-drop/ngx-file-drop-entry';\r\nimport { AssetFacade } from '../../../services/akita/asset-schema/asset.facade';\r\nimport { FileSystemFileEntry } from '../../ngx-file-drop/dom.types';\r\nimport { Asset, AssetDirectoryFacade } from '../../../services';\r\nimport { Validation } from '../../../tools';\r\nimport { result } from 'lodash';\r\ndeclare var $;\r\n\r\n@Component({\r\n selector: 'app-upload-field',\r\n templateUrl: './upload-field.component.html',\r\n styleUrls: ['./upload-field.component.css'],\r\n})\r\nexport class UploadFieldComponent extends BaseComponent implements OnInit {\r\n\r\n @Input()\r\n schemaName: string;\r\n\r\n @Input()\r\n fieldName: string;\r\n \r\n @Input()\r\n value: string[];\r\n\r\n @Input()\r\n uniqueFieldControlId: string;\r\n\r\n @Output()\r\n fileUploaded = new EventEmitter();\r\n\r\n assetName: string[] = [];\r\n\r\n assetPath: any = '';\r\n\r\n file: Asset[] = [];\r\n\r\n newImage: any ;\r\n\r\n @Output()\r\n newImageEmitter = new EventEmitter();\r\n\r\n @Output()\r\n deleteAssetEmitter = new EventEmitter();\r\n\r\n files: NgxFileDropEntry[] = [];\r\n\r\n filesToUpload: any[] = [];\r\n\r\n fileCount: number = 0;\r\n \r\n constructor(\r\n private readonly assetFacade: AssetFacade,\r\n private readonly assetDirectoryFacade: AssetDirectoryFacade,\r\n translateService: TranslateService\r\n ) {\r\n super(translateService);\r\n this.setTranslateContext('UploadField');\r\n }\r\n\r\n ngOnInit() {\r\n for (let i = 0; i < this.value.length; i++) {\r\n if (Validation.isValidGuid(this.value[i])) {\r\n\r\n this.assetFacade.getById(this.value[i]).subscribe(file => {\r\n this.assetName[i] = file.fileName;\r\n this.file[i] = file;\r\n this.assetPath = this.assetFacade.path;\r\n });\r\n }\r\n }\r\n }\r\n\r\n uploadFiles(event) {\r\n console.log(event);\r\n }\r\n\r\n // We only handle one dropped asset at a time.\r\n dropped(files: NgxFileDropEntry[]) {\r\n this.files = files;\r\n\r\n if (this.assetName.length > 0) {\r\n const imgs = $(\".thumbnail-div-\" + this.fieldName).find('img');\r\n imgs.each((index, img) => {\r\n if (img.currentSrc && img.currentSrc.includes('data:')) {\r\n console.log('found');\r\n } else {\r\n this.deleteImage(this.file[0], img);\r\n }\r\n\r\n\r\n });\r\n \r\n // const img:any = document.querySelector(\".thumbnail-div-\" + this.fieldName).querySelectorAll('img');\r\n // if (img) {\r\n // for (const im of img) {\r\n // if (im.currentSrc.contains('data:')) {\r\n // img.remove()\r\n // }\r\n\r\n // }\r\n // }\r\n }\r\n\r\n\r\n for (let i = 0; i < files.length; i++) {\r\n\r\n const fileEntry = files[i].fileEntry as FileSystemFileEntry;\r\n let images: any;\r\n\r\n fileEntry.file((file: File) => {\r\n // Only process image files.\r\n const reader = new FileReader();\r\n // Closure to capture the file information.\r\n let self = this;\r\n reader.onload = (function (theFile) {\r\n return function (event) {\r\n\r\n const imageDiv = document.querySelector(\".thumbnail-div-\" + self.fieldName + \"-\" + self.uniqueFieldControlId);\r\n\r\n let newElem: any = document.createElement(\"img\");\r\n newElem.src = event.target.result;\r\n newElem.classList.add(\"thumbnail-link-\" + self.fieldName + \"-\" + self.uniqueFieldControlId);\r\n newElem.classList.add(\"image-changed\");\r\n newElem.classList.add(\"thumbnail-image\");\r\n newElem.style.width = \"200px\";\r\n newElem.style.maxHeight = \"195px\";\r\n newElem.style.marginLeft = \"3rem\";\r\n\r\n const divOverlayElem: HTMLElement = document.createElement(\"div\");\r\n divOverlayElem.classList.add(\"overlay\");\r\n divOverlayElem.style.textAlign = \"right\";\r\n divOverlayElem.style.padding = \"5px\";\r\n\r\n const id = \"ico-\" + Math.floor(Math.random() * 9999);\r\n const trashElem: any = document.createElement(\"i\");\r\n trashElem.classList.add(\"fa\");\r\n trashElem.classList.add(\"fa-trash\");\r\n trashElem.classList.add(\"cursor-pointer\");\r\n trashElem.ariaHidden = \"true\";\r\n trashElem.style.marginRight = \"4rem\";\r\n trashElem.style.color = \"#F29100\";\r\n trashElem.style.fontSize = \"20px\"\r\n trashElem.id = id;\r\n divOverlayElem.appendChild(trashElem);\r\n imageDiv.append(divOverlayElem);\r\n\r\n imageDiv.appendChild(newElem);\r\n imageDiv.classList.add(\"image-changed\");\r\n let newElem2: any = document.createElement(\"input\");\r\n newElem2.classList.add(\"label-image\");\r\n newElem2.classList.add(\"form-control\");\r\n newElem2.style.margin = \"1rem 1rem 1rem 3rem\";\r\n newElem2.style.width = \"70%\";\r\n newElem2.value = files[0].relativePath;\r\n newElem2.readOnly = true;\r\n newElem2.id = 'imageFileName'\r\n imageDiv.append(newElem2);\r\n $(\"#\" + id).on(\"click\", function () {\r\n const elem = $(this).closest('.thumbnail-area');\r\n\r\n if (elem.length > 0) {\r\n elem.empty();\r\n }\r\n\r\n\r\n self.assetName[0] = '';\r\n\r\n const index = self.filesToUpload.findIndex(v => v.name === file.name);\r\n\r\n self.filesToUpload.splice(index, 1);\r\n\r\n self.deleteAssetEmitter.emit(images);\r\n\r\n })\r\n };\r\n })(file);\r\n\r\n reader.readAsDataURL(file);\r\n this.filesToUpload = [];\r\n this.filesToUpload.push(file);\r\n\r\n this.fileCount++;\r\n images = {\r\n fieldName: this.fieldName,\r\n files: this.filesToUpload,\r\n isDeleted: false\r\n };\r\n this.newImageEmitter.emit(images);\r\n });\r\n\r\n }\r\n\r\n }\r\n\r\n assetExist() {\r\n return Validation.isValidGuid(this.value[0]);\r\n }\r\n\r\n fileOver($event: any) {\r\n }\r\n\r\n fileLeave($event: any) {\r\n }\r\n\r\n deleteCurrentAsset() {\r\n const index = 0;\r\n this.assetFacade.remove(this.value[index]).subscribe(() => {\r\n this.assetName[index] = '';\r\n this.value[index] = '';\r\n });\r\n }\r\n\r\n downloadCurrentAsset() {\r\n const data = 'todo';\r\n const blob = new Blob([data], { type: 'application/octet-stream' });\r\n\r\n //this.fileUrl = this.sanitizer.bypassSecurityTrustResourceUrl(window.URL.createObjectURL(blob));\r\n }\r\n\r\n fileIsValid(file: Asset) {\r\n try {\r\n if (typeof file === 'undefined') {\r\n return false;\r\n } else if (typeof file['id'] === 'undefined') {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n catch (err) {\r\n console.log(err);\r\n console.log(JSON.stringify(file));\r\n };\r\n }\r\n\r\n deleteImage(file: any, element : ElementRef) {\r\n let img = document.querySelector(`.thumbnail-div-${this.fieldName}-${this.uniqueFieldControlId}`).querySelector(`[src*='${file.id}']`);\r\n\r\n if (img) {\r\n img.classList.add('d-none');\r\n $(img).parent().parent().find(\"#imageFileName\").addClass('d-none')\r\n }\r\n\r\n if (element) {\r\n const elem = $(element).find().parent().parent().find('img');\r\n elem.addClass('d-none');\r\n elem.parent().parent().find(\"#imageFileName\").addClass('d-none')\r\n }\r\n\r\n this.assetName[0] = '';\r\n\r\n const index = this.filesToUpload.findIndex(v => v.name === file.name);\r\n\r\n this.filesToUpload.splice(index, 1);\r\n\r\n let images = {\r\n fieldName: this.fieldName,\r\n assets: [file]\r\n };\r\n\r\n this.deleteAssetEmitter.emit(images);\r\n\r\n }\r\n\r\n showThumbnail(item: Asset) {\r\n if (item.isImage || item.tags.findIndex(a => a === 'type/ico') >= 0 || item.tags.findIndex(a => a === 'type/svg') >= 0) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n}\r\n","import { Content } from \"../../squidex\";\r\n\r\nexport class SectionModel extends Content {\r\n\r\n constructor(current?: Content) {\r\n super(current);\r\n if (current) {\r\n Object.assign(this, current);\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BaseService } from '../base/base.service';\r\nimport { ContentFactory, Content } from '../../squidex';\r\nimport { Observable } from 'rxjs';\r\nimport { AppToken } from \"../../../models/app-token\";\r\nimport { PageTypeModel } from \"./page-type.model\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PageTypeService extends BaseService {\r\n\r\n constructor(contentFactory: ContentFactory) {\r\n super(AppToken.PAGE_TYPE_SCHEMA_NAME, contentFactory);\r\n }\r\n\r\n getFirstContent(): Observable {\r\n this.initialize();\r\n return this.contentService.getFirstContent();\r\n }\r\n\r\n getPageType(pageType: string): Observable {\r\n this.initialize();\r\n return this.getContentByCode(pageType) as Observable;\r\n }\r\n\r\n getPlaceholderPageType(): Observable {\r\n return this.getPageType(\"placeholder\");\r\n }\r\n\r\n getDefaultPageType(): Observable {\r\n return this.getPageType(\"default\");\r\n }\r\n}\r\n","export default \"
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\\"ico-close\\\"\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n
    0\\\">\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    {{ tc(\\\"PAGES_PUBLIES\\\") | async }}

    \\r\\n
    \\r\\n \\r\\n
      \\r\\n
    • \\r\\n
      \\r\\n 10\\r\\n
      \\r\\n
    • \\r\\n
    • \\r\\n
      \\r\\n 25\\r\\n
      \\r\\n
    • \\r\\n
    • \\r\\n
      \\r\\n 50\\r\\n
      \\r\\n
    • \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n

    {{ tc(\\\"ORDER_BY\\\") | async }}

    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    {{ tc(\\\"LIST_TITLE\\\") | async }}

    \\r\\n
    \\r\\n
    \\r\\n

    {{ t(\\\"DATE_MODIF\\\") | async }}

    \\r\\n
    \\r\\n
    \\r\\n

    {{ t(\\\"DATE_CREATED\\\") | async }}

    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n
    0\\\">\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    {{ tc(\\\"PAGE_CONTENTS_PUBLIES\\\") | async }}

    \\r\\n
    \\r\\n \\r\\n
      \\r\\n
    • \\r\\n
      \\r\\n 10\\r\\n
      \\r\\n
    • \\r\\n
    • \\r\\n
      \\r\\n 25\\r\\n
      \\r\\n
    • \\r\\n
    • \\r\\n
      \\r\\n 50\\r\\n
      \\r\\n
    • \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n

    {{ tc(\\\"ORDER_BY\\\") | async }}

    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    {{ tc(\\\"LIST_TITLE\\\") | async }}

    \\r\\n
    \\r\\n
    \\r\\n

    {{ t(\\\"DATE_MODIF\\\") | async }}

    \\r\\n
    \\r\\n
    \\r\\n

    {{ t(\\\"DATE_CREATED\\\") | async }}

    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n \\r\\n
    0\\\">\\r\\n
    \\r\\n

    {{ tc(\\\"EN_ATTENTE_DUNE_ACTION\\\") | async }}

    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    {{ tc(\\\"LIST_TITLE\\\") | async }}

    \\r\\n
    \\r\\n
    \\r\\n

    {{ t(\\\"DATE_MODIF\\\") | async }}

    \\r\\n
    \\r\\n
    \\r\\n

    {{ t(\\\"DATE_CREATED\\\") | async }}

    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n

    {{ tc(\\\"MODIFY_PAGE\\\") | async }}

    \\r\\n

    {{ tc(\\\"CREATE_PAGE\\\") | async }}

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ language.data.code.iv | getCultureName | async }}\\r\\n \\\"check\\\"\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ language.data.code.iv | getCultureName | async }}\\r\\n \\\"check\\\"\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n
    \\r\\n

    {{ t(\\\"CLONE\\\") | async }} {{ pageSelected.data.pageName.iv }}

    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ language.data.code.iv | getCultureName | async }}\\r\\n \\\"check\\\"\\r\\n\\r\\n \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n
    \\r\\n

    {{ tc(\\\"DELETE_PAGE\\\") | async }}

    \\r\\n
    \\r\\n

    \\r\\n {{ tc(\\\"WARNING_DELETE\\\") | async }}\\r\\n \\r\\n {{ page }}\\r\\n \\r\\n

    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\";","import { Component, OnInit, Input, ViewChild, Output, EventEmitter } from '@angular/core';\r\nimport {\r\n Schema,\r\n SchemaMetadataModel,\r\n DynamicSchemaFacade,\r\n DynamicSchemaFactory,\r\n SchemaMetadataFacade,\r\n DynamicContentSchemaFactory,\r\n DynamicContentModel,\r\n DynamicContentSchemaFacade,\r\n SchemaPageModel,\r\n LanguageModel,\r\n FilterPagination\r\n} from '../../../services';\r\n\r\nimport { ActivatedRoute} from '@angular/router';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { BaseComponent } from '../../../base/base-component.component';\r\nimport { AppSchemaCategory } from '../../../models/app-token';\r\nimport { map, mergeMap } from 'rxjs/operators';\r\nimport { Observable } from 'rxjs';\r\nimport { FieldReferenceContent } from '../../../shared/field/tools/field-reference-content.service';\r\nimport { ESchemaContentStatus } from '../../../services/akita/base/enum';\r\nimport { ContentEditionComponent } from '../../../shared/content/content-edition/content-edition.component';\r\n\r\n\r\n@Component({\r\n selector: 'schema-page',\r\n templateUrl: './schema-page.component.html',\r\n styleUrls: ['./schema-page.component.css']\r\n})\r\nexport class SchemaPageComponent extends BaseComponent implements OnInit {\r\n schemaSelectedName = '';\r\n schemaSelectedLabel = '';\r\n contentSelectedCode = '';\r\n\r\n schemaDefinition: Schema;\r\n schemaMetadata: SchemaMetadataModel;\r\n listableSchemas: Schema[];\r\n\r\n currentSchemaFacade: DynamicSchemaFacade;\r\n currentContentsFacade: DynamicContentSchemaFacade;\r\n\r\n selectedSchemaContents: DynamicContentModel[];\r\n selectedContent: DynamicContentModel;\r\n\r\n referenceFieldValues: any;\r\n referenceFieldValues$: Observable;\r\n orderBySwitch: boolean;\r\n\r\n @ViewChild(\"contentEdition\", null) contentEditionComponent: ContentEditionComponent;\r\n\r\n @Output()\r\n onUpdatePage = new EventEmitter();\r\n\r\n constructor(\r\n private readonly dynamicSchemaFacto: DynamicSchemaFactory,\r\n private readonly dynamicContentSchemaFactory: DynamicContentSchemaFactory,\r\n private readonly route: ActivatedRoute,\r\n private readonly metadataFacade: SchemaMetadataFacade,\r\n private readonly referenceContentService: FieldReferenceContent,\r\n translateService: TranslateService) {\r\n super(translateService);\r\n this.setTranslateContext('SchemaPageComponent');\r\n }\r\n\r\n ngOnInit() {\r\n const sub1 = this.dynamicSchemaFacto\r\n .getSchemasMetadataByCategory(AppSchemaCategory.SCHEMA_AS_A_PAGE).pipe(mergeMap(defaults => {\r\n return this.dynamicSchemaFacto\r\n .getSchemasMetadataByCategory(AppSchemaCategory.CONTENT_SCHEMAS).pipe(map(contents => {\r\n return defaults.concat(contents).sort(this.sortByName);\r\n }));\r\n }))\r\n .subscribe(result => {\r\n this.listableSchemas = result.filter(meta => meta.name.length <= 40);\r\n });\r\n\r\n this.subscriptions.push(sub1);\r\n\r\n this.updateObservable();\r\n }\r\n\r\n updateObservable() {\r\n this.schemaSelectedName = this.route.snapshot.paramMap.get('name');\r\n this.contentSelectedCode = this.route.snapshot.paramMap.get('code');\r\n\r\n if (this.schemaSelectedName && this.schemaSelectedName.length > 0) {\r\n this.currentSchemaFacade = this.dynamicSchemaFacto.getDynamicSchemaFacade(this.schemaSelectedName);\r\n\r\n\r\n this.referenceFieldValues$ = this.currentSchemaFacade\r\n .getSchemaDefinition()\r\n .pipe(mergeMap(result => {\r\n this.schemaDefinition = result;\r\n this.schemaSelectedLabel = this.schemaDefinition[\"properties\"][\"label\"];\r\n return this.referenceContentService.generateContentList(result);\r\n }));\r\n\r\n var sub = this.referenceFieldValues$.subscribe();\r\n this.subscriptions.push(sub);\r\n\r\n const sub1 = this.metadataFacade\r\n .getByCode(this.schemaSelectedName)\r\n .subscribe(result => this.schemaMetadata = result);\r\n\r\n this.subscriptions.push(sub1);\r\n\r\n this.currentContentsFacade = this.dynamicContentSchemaFactory\r\n .getDynamicContentSchemaFacade(this.schemaSelectedName);\r\n\r\n this.filterValue = this.route.snapshot.paramMap.get('filter');\r\n this.currentPageNumber = Number(this.route.snapshot.paramMap.get('page'));\r\n\r\n if (this.filterValue === null) {\r\n this.filterValue = '';\r\n }\r\n\r\n const filterObject = {\r\n or:\r\n [\r\n {\r\n path: 'data.code.iv',\r\n op: 'contains',\r\n value: this.filterValue\r\n }\r\n ]\r\n }\r\n\r\n const filter = new FilterPagination();\r\n\r\n filter.from = (this.currentPageNumber - 1) * this.paginateSize;\r\n filter.to = filter.from + this.paginateSize;\r\n filter.orderBy = 'data.index.iv ascending,data.code.iv ascending';\r\n filter.filterObject = this.getSearchObject(this.filterValue);\r\n\r\n this.currentContentsFacade.getFilteredPagination(filter, ESchemaContentStatus.All, filterObject)\r\n .subscribe(contents => {\r\n this.selectedSchemaContents = contents;\r\n this.currentContentsFacade.fullCount().subscribe(c => {\r\n this.contentCount = c;\r\n });\r\n });\r\n\r\n if (this.contentSelectedCode && this.contentSelectedCode.length > 0) {\r\n\r\n this.currentContentsFacade.getByCode(this.contentSelectedCode, true).subscribe(c => {\r\n this.selectedContent = c;\r\n });\r\n }\r\n\r\n } else {\r\n this.schemaDefinition = null;\r\n this.schemaMetadata = null;\r\n }\r\n }\r\n\r\n getSearchObject(filter): object {\r\n const oSearch = {\r\n or:\r\n [\r\n {\r\n path: 'data.code.iv',\r\n op: 'contains',\r\n value: filter\r\n }\r\n ]\r\n }\r\n return oSearch;\r\n }\r\n\r\n getPageData($event) {\r\n this.currentPageNumber = $event.page;\r\n this.search(null, true);\r\n }\r\n\r\n updateChild(updateParent = true) {\r\n this.contentEditionComponent.updateContent(updateParent);\r\n }\r\n\r\n onUpdate() {\r\n if (this.onUpdatePage) {\r\n this.onUpdatePage.emit();\r\n }\r\n }\r\n\r\n\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BaseService } from \"../base/base.service\";\r\nimport { ContentFactory } from '../../squidex';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ArticleCategoryService extends BaseService {\r\n\r\n constructor(contentFactory: ContentFactory) {\r\n super('article-category', contentFactory);\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJ0b3AtbWVudS5jb21wb25lbnQuY3NzIn0= */\";","import { TemplateStore } from './template.store';\r\nimport { Injectable } from '@angular/core';\r\nimport { BaseQuery } from \"../base/base.query\";\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class TemplateQuery extends BaseQuery {\r\n\r\n constructor(store: TemplateStore) {\r\n super(store);\r\n }\r\n}\r\n","import { StoreConfig } from '@datorama/akita';\r\nimport { Injectable } from '@angular/core';\r\nimport { BaseStore } from '../base/base.store';\r\n\r\n@Injectable({ providedIn: 'root' })\r\n@StoreConfig({\r\n name: 'article-category',\r\n cache: {\r\n ttl: 15000\r\n }\r\n})\r\nexport class ArticleCategoryStore extends BaseStore {\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","/***************************************************************************************************\r\n * Load `$localize` onto the global scope - used if i18n tags appear in Angular templates.\r\n */\r\nimport '@angular/localize/init';\r\nimport { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\nimport { akitaConfig, enableAkitaProdMode } from '@datorama/akita';\r\n\r\nakitaConfig({\r\n resettable: true\r\n});\r\n\r\nexport function getBaseUrl() {\r\n return document.getElementsByTagName('base')[0].href;\r\n}\r\n\r\nconst providers = [\r\n { provide: 'BASE_URL', useFactory: getBaseUrl, deps: [] }\r\n];\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n enableAkitaProdMode();\r\n}\r\n\r\nplatformBrowserDynamic(providers).bootstrapModule(AppModule)\r\n .catch(err => console.log(err));\r\n","import { Injectable } from '@angular/core';\r\nimport { StoreConfig } from '@datorama/akita';\r\nimport { BaseStore } from '../base/base.store';\r\nimport { AppTokenService } from '../../../app-token.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n @StoreConfig({\r\n name: AppTokenService.MENU_ITEM_SCHEMA_NAME,\r\n cache: {\r\n ttl: 15000\r\n }\r\n})\r\nexport class MenuItemStore extends BaseStore {\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BaseQuery } from '../base/base.query';\r\nimport { ClaimStore } from './claim.store';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ClaimQuery extends BaseQuery {\r\n\r\n constructor(store: ClaimStore) {\r\n super(store);\r\n }\r\n\r\n\r\n}\r\n"],"sourceRoot":"webpack:///"}