@net7/boilerplate-common 3.0.1-rc.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -0
- package/esm2020/lib/components/index.mjs +2 -0
- package/esm2020/lib/components/smart-pagination/smart-pagination.mjs +25 -0
- package/esm2020/lib/config-types/common.mjs +2 -0
- package/esm2020/lib/config-types/index.mjs +2 -0
- package/esm2020/lib/data-sources/breadcrumbs.ds.mjs +7 -0
- package/esm2020/lib/data-sources/facets.ds.mjs +9 -0
- package/esm2020/lib/data-sources/footer.ds.mjs +10 -0
- package/esm2020/lib/data-sources/header.ds.mjs +72 -0
- package/esm2020/lib/data-sources/index.mjs +7 -0
- package/esm2020/lib/data-sources/smart-pagination.ds.mjs +131 -0
- package/esm2020/lib/data-sources/subnav.ds.mjs +25 -0
- package/esm2020/lib/event-handlers/breadcrumbs.eh.mjs +20 -0
- package/esm2020/lib/event-handlers/footer.eh.mjs +7 -0
- package/esm2020/lib/event-handlers/header.eh.mjs +27 -0
- package/esm2020/lib/event-handlers/index.mjs +6 -0
- package/esm2020/lib/event-handlers/smart-pagination.eh.mjs +19 -0
- package/esm2020/lib/event-handlers/subnav.eh.mjs +20 -0
- package/esm2020/lib/helpers.mjs +76 -0
- package/esm2020/lib/layouts/index.mjs +11 -0
- package/esm2020/lib/layouts/main-layout/main-layout.config.mjs +24 -0
- package/esm2020/lib/layouts/main-layout/main-layout.ds.mjs +83 -0
- package/esm2020/lib/layouts/main-layout/main-layout.eh.mjs +60 -0
- package/esm2020/lib/layouts/main-layout/main-layout.mjs +45 -0
- package/esm2020/lib/layouts/page404-layout/page404-layout.config.mjs +16 -0
- package/esm2020/lib/layouts/page404-layout/page404-layout.ds.mjs +7 -0
- package/esm2020/lib/layouts/page404-layout/page404-layout.eh.mjs +36 -0
- package/esm2020/lib/layouts/page404-layout/page404-layout.mjs +28 -0
- package/esm2020/lib/models/abstract-layout.mjs +27 -0
- package/esm2020/lib/models/index.mjs +2 -0
- package/esm2020/lib/n7-boilerplate-common.module.mjs +61 -0
- package/esm2020/lib/services/communication-providers/apollo.provider.mjs +87 -0
- package/esm2020/lib/services/communication-providers/communication-provider.interface.mjs +2 -0
- package/esm2020/lib/services/communication-providers/rest.provider.mjs +40 -0
- package/esm2020/lib/services/communication.service.mjs +54 -0
- package/esm2020/lib/services/configuration.service.mjs +18 -0
- package/esm2020/lib/services/index.mjs +10 -0
- package/esm2020/lib/services/json-config.service.mjs +55 -0
- package/esm2020/lib/services/layouts-configuration.service.mjs +27 -0
- package/esm2020/lib/services/local-config.service.mjs +46 -0
- package/esm2020/lib/services/main-state.service.mjs +52 -0
- package/esm2020/net7-boilerplate-common.mjs +5 -0
- package/esm2020/public-api.mjs +14 -0
- package/fesm2015/net7-boilerplate-common.mjs +1161 -0
- package/fesm2015/net7-boilerplate-common.mjs.map +1 -0
- package/fesm2020/net7-boilerplate-common.mjs +1164 -0
- package/fesm2020/net7-boilerplate-common.mjs.map +1 -0
- package/lib/components/index.d.ts +1 -0
- package/lib/components/smart-pagination/smart-pagination.d.ts +9 -0
- package/lib/config-types/common.d.ts +22 -0
- package/lib/config-types/index.d.ts +1 -0
- package/lib/data-sources/breadcrumbs.ds.d.ts +5 -0
- package/lib/data-sources/facets.ds.d.ts +7 -0
- package/lib/data-sources/footer.ds.d.ts +4 -0
- package/lib/data-sources/header.ds.d.ts +9 -0
- package/lib/data-sources/index.d.ts +6 -0
- package/lib/data-sources/smart-pagination.ds.d.ts +89 -0
- package/lib/data-sources/subnav.ds.d.ts +9 -0
- package/lib/event-handlers/breadcrumbs.eh.d.ts +4 -0
- package/lib/event-handlers/footer.eh.d.ts +4 -0
- package/lib/event-handlers/header.eh.d.ts +4 -0
- package/lib/event-handlers/index.d.ts +5 -0
- package/lib/event-handlers/smart-pagination.eh.d.ts +4 -0
- package/lib/event-handlers/subnav.eh.d.ts +4 -0
- package/lib/helpers.d.ts +14 -0
- package/lib/layouts/index.d.ts +8 -0
- package/lib/layouts/main-layout/main-layout.config.d.ts +15 -0
- package/lib/layouts/main-layout/main-layout.d.ts +29 -0
- package/lib/layouts/main-layout/main-layout.ds.d.ts +21 -0
- package/lib/layouts/main-layout/main-layout.eh.d.ts +10 -0
- package/lib/layouts/page404-layout/page404-layout.config.d.ts +13 -0
- package/lib/layouts/page404-layout/page404-layout.d.ts +14 -0
- package/lib/layouts/page404-layout/page404-layout.ds.d.ts +7 -0
- package/lib/layouts/page404-layout/page404-layout.eh.d.ts +5 -0
- package/lib/models/abstract-layout.d.ts +9 -0
- package/lib/models/index.d.ts +1 -0
- package/lib/n7-boilerplate-common.module.d.ts +14 -0
- package/lib/services/communication-providers/apollo.provider.d.ts +14 -0
- package/lib/services/communication-providers/communication-provider.interface.d.ts +3 -0
- package/lib/services/communication-providers/rest.provider.d.ts +10 -0
- package/lib/services/communication.service.d.ts +17 -0
- package/lib/services/configuration.service.d.ts +8 -0
- package/lib/services/index.d.ts +8 -0
- package/lib/services/json-config.service.d.ts +12 -0
- package/lib/services/layouts-configuration.service.d.ts +10 -0
- package/lib/services/local-config.service.d.ts +9 -0
- package/lib/services/main-state.service.d.ts +17 -0
- package/net7-boilerplate-common.d.ts +5 -0
- package/package.json +34 -0
- package/public-api.d.ts +9 -0
- package/src/lib/styles/common/components/_facets-wrapper.scss +38 -0
- package/src/lib/styles/common/layouts/_main-layout.scss +48 -0
- package/src/lib/styles/common/utilities/_utilities.scss +43 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"net7-boilerplate-common.mjs","sources":["../../../projects/n7-boilerplate-common/src/lib/services/configuration.service.ts","../../../projects/n7-boilerplate-common/src/lib/services/layouts-configuration.service.ts","../../../projects/n7-boilerplate-common/src/lib/services/main-state.service.ts","../../../projects/n7-boilerplate-common/src/lib/services/communication-providers/apollo.provider.ts","../../../projects/n7-boilerplate-common/src/lib/services/communication-providers/rest.provider.ts","../../../projects/n7-boilerplate-common/src/lib/services/communication.service.ts","../../../projects/n7-boilerplate-common/src/lib/models/abstract-layout.ts","../../../projects/n7-boilerplate-common/src/lib/layouts/main-layout/main-layout.ds.ts","../../../projects/n7-boilerplate-common/src/lib/layouts/main-layout/main-layout.eh.ts","../../../projects/n7-boilerplate-common/src/lib/data-sources/header.ds.ts","../../../projects/n7-boilerplate-common/src/lib/data-sources/subnav.ds.ts","../../../projects/n7-boilerplate-common/src/lib/data-sources/breadcrumbs.ds.ts","../../../projects/n7-boilerplate-common/src/lib/data-sources/facets.ds.ts","../../../projects/n7-boilerplate-common/src/lib/data-sources/footer.ds.ts","../../../projects/n7-boilerplate-common/src/lib/data-sources/smart-pagination.ds.ts","../../../projects/n7-boilerplate-common/src/lib/event-handlers/header.eh.ts","../../../projects/n7-boilerplate-common/src/lib/event-handlers/subnav.eh.ts","../../../projects/n7-boilerplate-common/src/lib/event-handlers/breadcrumbs.eh.ts","../../../projects/n7-boilerplate-common/src/lib/event-handlers/footer.eh.ts","../../../projects/n7-boilerplate-common/src/lib/event-handlers/smart-pagination.eh.ts","../../../projects/n7-boilerplate-common/src/lib/layouts/main-layout/main-layout.config.ts","../../../projects/n7-boilerplate-common/src/lib/layouts/main-layout/main-layout.ts","../../../projects/n7-boilerplate-common/src/lib/layouts/main-layout/main-layout.html","../../../projects/n7-boilerplate-common/src/lib/layouts/page404-layout/page404-layout.ds.ts","../../../projects/n7-boilerplate-common/src/lib/layouts/page404-layout/page404-layout.eh.ts","../../../projects/n7-boilerplate-common/src/lib/layouts/page404-layout/page404-layout.config.ts","../../../projects/n7-boilerplate-common/src/lib/layouts/page404-layout/page404-layout.ts","../../../projects/n7-boilerplate-common/src/lib/layouts/page404-layout/page404-layout.html","../../../projects/n7-boilerplate-common/src/lib/components/smart-pagination/smart-pagination.ts","../../../projects/n7-boilerplate-common/src/lib/components/smart-pagination/smart-pagination.html","../../../projects/n7-boilerplate-common/src/lib/n7-boilerplate-common.module.ts","../../../projects/n7-boilerplate-common/src/lib/services/json-config.service.ts","../../../projects/n7-boilerplate-common/src/lib/services/local-config.service.ts","../../../projects/n7-boilerplate-common/src/lib/layouts/index.ts","../../../projects/n7-boilerplate-common/src/lib/helpers.ts","../../../projects/n7-boilerplate-common/src/public-api.ts","../../../projects/n7-boilerplate-common/src/net7-boilerplate-common.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ConfigurationService {\n private defaults: any = {};\n\n public get = (key) => this.defaults[key];\n\n public set = (key, value) => { this.defaults[key] = value; }\n}\n","import { Injectable, Inject } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LayoutsConfigurationService {\n private defaults: any = {};\n\n constructor(@Inject('config') private config: any) {\n if (this.config?.layouts) {\n Object.keys(this.config.layouts).forEach((key) => {\n this.set(key, this.config.layouts[key]);\n });\n }\n }\n\n public get = (key) => this.defaults[key];\n\n public set = (key, value) => { this.defaults[key] = value; }\n}\n","import { Injectable } from '@angular/core';\nimport { ReplaySubject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MainStateService {\n // custom streams\n private custom: any = {};\n\n // default streams\n private default: {\n headTitle: ReplaySubject<any>;\n pageTitle: ReplaySubject<any>;\n subnav: ReplaySubject<any>;\n breadcrumbs: ReplaySubject<any>;\n filters: ReplaySubject<any>;\n header: ReplaySubject<any>;\n } = {\n headTitle: new ReplaySubject(),\n pageTitle: new ReplaySubject(),\n subnav: new ReplaySubject(),\n breadcrumbs: new ReplaySubject(),\n filters: new ReplaySubject(),\n header: new ReplaySubject(),\n };\n\n public get$ = (key: string) => this._get('default', key);\n\n public getCustom$ = (key: string) => this._get('custom', key);\n\n public update = (key: string, newValue: any) => this._update('default', key, newValue);\n\n public updateCustom = (key: string, newValue: any) => this._update('custom', key, newValue);\n\n public has = (key: string) => !!this.default[key];\n\n public hasCustom = (key: string) => !!this.custom[key];\n\n public addCustom(key: string, stream$: ReplaySubject<any>) {\n if (this.custom[key]) throw Error(`custom stream ${key} exists!`);\n\n this.custom[key] = stream$;\n }\n\n private _update(type: string, key: string, newValue: any) {\n if (!this[type]) throw Error(`${type} stream group does not exists!`);\n if (!this[type][key]) throw Error(`${type} stream ${key} does not exists!`);\n\n this[type][key].next(newValue);\n }\n\n private _get(type: string, key: string) {\n if (!this[type]) throw Error(`${type} stream group does not exists!`);\n if (!this[type][key]) throw Error(`${type} stream ${key} does not exists!`);\n\n return this[type][key];\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { map } from 'rxjs/operators';\nimport { Observable } from 'rxjs';\nimport { CommunicationProvider } from './communication-provider.interface';\nimport { ConfigurationService } from '../configuration.service';\n\nconst DEFAULT_TREE_DEPTH = 15;\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ApolloProvider implements CommunicationProvider {\n constructor(\n private http: HttpClient,\n private configuration: ConfigurationService,\n ) {}\n\n request$(providerConfig, requestId: string, options) {\n const { params, method, httpOptions } = options;\n const treeDepth = this.configuration.get('treeDepth') || DEFAULT_TREE_DEPTH;\n const config = providerConfig.config ? providerConfig.config(treeDepth) : {};\n let query;\n\n if (config && config[requestId]) {\n query = config[requestId];\n }\n\n query = query || {};\n const { queryName } = query;\n let { queryBody } = query;\n\n // config query control\n if (!queryName || !queryBody) {\n throw Error(`No config found for requestId '${requestId}'`);\n }\n\n if (params) {\n const paramsStr = this.makeParamsStr(params);\n queryBody = queryBody.replace('__PARAMS__', paramsStr);\n } else {\n queryBody = queryBody.replace('(__PARAMS__)', '');\n }\n\n let source$: Observable<any>;\n\n if (method && method === 'GET') {\n source$ = this.http.get(providerConfig.baseUrl);\n } else {\n source$ = this.http.post(\n providerConfig.baseUrl,\n { query: queryBody },\n httpOptions,\n );\n }\n\n return source$.pipe(map((response: any) => response.data[queryName]));\n }\n\n private makeParamsStr(params) {\n const paramsStr = [];\n Object.keys(params).forEach((key) => {\n if (Array.isArray(params[key])) {\n const arrStr = [];\n params[key].forEach((val) => {\n if (typeof val === 'object') {\n const subParamsStr = this.makeParamsStr(val);\n arrStr.push(`{ ${subParamsStr} }`);\n } else if (typeof val === 'number' || typeof val === 'boolean' || val === null) {\n arrStr.push(`${val}`);\n } else {\n arrStr.push(`\"${val}\"`);\n }\n });\n paramsStr.push(`${key}: [${arrStr.join(',')}]`);\n } else if (typeof params[key] === 'object' && params[key]) {\n const subParamsStr = this.makeParamsStr(params[key]);\n paramsStr.push(`${key}: { ${subParamsStr} }`);\n } else if (typeof params[key] === 'string' && key.indexOf('$') === 0) {\n paramsStr.push(`${key.replace('$', '')}: ${params[key]}`);\n } else if (typeof params[key] === 'number' || typeof params[key] === 'boolean' || params[key] === null) {\n paramsStr.push(`${key}: ${params[key]}`);\n } else {\n paramsStr.push(`${key}: \"${params[key]}\"`);\n }\n });\n return paramsStr.join(' ');\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { CommunicationProvider } from './communication-provider.interface';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RestProvider implements CommunicationProvider {\n constructor(\n private http: HttpClient,\n ) {}\n\n request$(providerConfig, requestId, options: any = {}) {\n const {\n params, httpOptions, urlParams = '',\n } = options;\n let { method } = options;\n let point;\n\n // default method\n if (!method) { method = providerConfig.defaultMethod || 'GET'; }\n\n if (providerConfig.config && providerConfig.config[requestId]) {\n point = providerConfig.config[requestId];\n }\n\n // config point control\n if (!point) {\n throw Error(`No config found for requestId \"${requestId}\"`);\n }\n if (method === 'POST' || method === 'PUT') {\n return this.http[method.toLowerCase()](\n providerConfig.baseUrl + point + urlParams, params, httpOptions,\n );\n } if (method === 'GET' || method === 'DELETE') {\n return this.http[method.toLowerCase()](\n providerConfig.baseUrl + point + urlParams, httpOptions,\n );\n }\n throw Error(`Rest method ${method} not supported`);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { catchError } from 'rxjs/operators';\nimport { Observable, empty } from 'rxjs';\nimport { ConfigurationService } from './configuration.service';\nimport { ApolloProvider } from './communication-providers/apollo.provider';\nimport { RestProvider } from './communication-providers/rest.provider';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CommunicationService {\n private defaultProvider: string;\n\n private communicationConfig: any;\n\n constructor(\n private config: ConfigurationService,\n private apollo: ApolloProvider,\n private rest: RestProvider,\n ) {\n try {\n this.communicationConfig = this.config.get('communication');\n this.defaultProvider = this.communicationConfig.defaultProvider;\n } catch (err) {\n throw Error('No communications.defaultProvider setted in config');\n }\n }\n\n request$(requestId, options: any = {}, provider?) {\n const activeProvider = provider || this.defaultProvider;\n const activeProviderConfig = this.communicationConfig.providers[activeProvider];\n\n if (!activeProviderConfig) {\n throw Error(`There is no config for \"${activeProvider}\" provider`);\n }\n\n // provider.type control for retrocompatibility\n const activeProviderType = activeProviderConfig.type || activeProvider;\n\n if (!this[activeProviderType]) {\n throw Error(`There is no \"${activeProviderType}\" provider type`);\n }\n\n const { onError } = options;\n return this[activeProviderType].request$(activeProviderConfig, requestId, options)\n .pipe(\n catchError((error) => this.handleError(error, onError)),\n );\n }\n\n handleError(error, onError): Observable<any> {\n if (onError) {\n onError(error);\n } else {\n console.warn('No error handler for communication request', error);\n }\n\n return empty();\n }\n}\n","import { LayoutBuilder } from '@n7-frontend/core';\n\nexport abstract class AbstractLayout {\n protected config: any;\n\n protected widgets: any[];\n\n public lb: any;\n\n constructor(config: any) {\n this.config = config;\n this.widgets = this.config.widgets;\n this.lb = new LayoutBuilder(this.config.layoutId);\n }\n\n protected abstract initPayload(): any;\n\n protected onInit() {\n // on ready\n this.lb.ready$.subscribe(() => {\n this.lb.eventHandler.emitInner('init', this.initPayload());\n });\n\n const LayoutDS = this.config.layoutDS;\n const LayoutEH = this.config.layoutEH;\n this.lb.init({\n widgetsConfig: this.widgets,\n widgetsDataSources: this.config.widgetsDataSources,\n widgetsEventHandlers: this.config.widgetsEventHandlers,\n dataSource: new LayoutDS(),\n eventHandler: new LayoutEH(),\n });\n }\n\n protected onDestroy() {\n this.lb.eventHandler.emitInner('destroy');\n }\n}\n","import { LayoutDataSource } from '@n7-frontend/core';\nimport { hideAll } from 'tippy.js';\n\nexport class MainLayoutDS extends LayoutDataSource {\n protected configuration: any;\n\n protected mainState: any;\n\n protected router: any;\n\n protected route: any;\n\n protected titleService: any;\n\n public options: any;\n\n public pageTitle: string;\n\n onInit({\n configuration, mainState, router, options, titleService, route,\n }) {\n this.configuration = configuration;\n this.mainState = mainState;\n this.router = router;\n this.route = route;\n this.titleService = titleService;\n this.options = options;\n\n // update header\n if (this.configuration.get('header')) {\n this.one('header').update(this.configuration.get('header'));\n }\n\n if (this.configuration.get('footer')) {\n this.one('footer').update(this.configuration.get('footer'));\n }\n\n // main state updates\n this.mainState.get$('headTitle').subscribe((val) => {\n this.titleService.setTitle(val);\n });\n this.mainState.get$('pageTitle').subscribe((val) => {\n this.pageTitle = val;\n });\n this.mainState.get$('subnav').subscribe((val) => {\n this.one('subnav').update(val);\n });\n this.mainState.get$('breadcrumbs').subscribe((val) => {\n this.one('breadcrumbs').update(val);\n });\n this.mainState.get$('header').subscribe((val) => {\n this.one('header').update(val);\n });\n\n // mainState test\n /* this.mainState.addCustom('customNav', new Subject());\n this.mainState.get$('pageTitle').subscribe(val => console.log('pageTitle', val));\n this.mainState.getCustom$('customNav').subscribe(val => console.log('customNav', val));\n\n this.mainState.update('pageTitle', 'hola');\n this.mainState.updateCustom('customNav', {'hello': 'mundo!'});\n\n setTimeout(() => {\n this.mainState.update('pageTitle', 'chao');\n this.mainState.updateCustom('customNav', {'hello': 'world!'});\n console.log('has', {\n 'pageSubTitle' : this.mainState.has('pageSubTitle'),\n 'customNav' : this.mainState.hasCustom('customNav'),\n 'customNavs' : this.mainState.has('customNavs'),\n });\n }, 5000); */\n }\n\n // navigate emitter (click) handler\n onNavigate(payload) {\n // router navigation\n if (payload.handler === 'router') {\n const { path, queryParams } = payload;\n\n // path control\n if (!path) throw Error('onNavigate: no path for router navigate');\n\n if (queryParams) {\n this.router.navigate(path, {\n relativeTo: this.route,\n queryParams,\n queryParamsHandling: 'merge',\n });\n } else {\n this.router.navigate(path);\n }\n\n // on change\n this._onRouterNavigate();\n }\n }\n\n // links routerLink change handler\n onRouterChanged() {\n hideAll();\n }\n\n private _onRouterNavigate() {\n // hide tippy\n hideAll();\n }\n}\n","import { EventHandler } from '@n7-frontend/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil, filter } from 'rxjs/operators';\nimport { NavigationStart } from '@angular/router';\n\nexport class MainLayoutEH extends EventHandler {\n private destroyed$: Subject<any> = new Subject();\n\n private route: any;\n\n private router: any;\n\n private mainState: any;\n\n public listen() {\n this.innerEvents$.subscribe(({ type, payload }) => {\n switch (type) {\n case 'main-layout.init':\n this.dataSource.onInit(payload);\n this.mainState = payload.mainState;\n this.route = payload.route;\n this.router = payload.router;\n\n this._listenRouterChanges();\n this._listenMainStateChanges();\n break;\n\n case 'main-layout.destroy':\n this.destroyed$.next();\n break;\n\n default:\n break;\n }\n });\n\n // listen to global events\n EventHandler.globalEvents$.pipe(\n takeUntil(this.destroyed$),\n ).subscribe(({ type, payload }) => {\n switch (type) {\n case 'global.navigate':\n this.dataSource.onNavigate(payload);\n break;\n\n default:\n break;\n }\n });\n }\n\n private _listenRouterChanges() {\n this.route.queryParams.pipe(\n filter((params) => {\n if (Object.keys(params).length) return true;\n return false;\n }),\n ).subscribe((params) => {\n this.emitGlobal('queryparams', params);\n });\n // router changed\n this.router.events.pipe(\n filter((event) => event instanceof NavigationStart),\n ).subscribe(() => {\n this.emitOuter('routerchange');\n this.dataSource.onRouterChanged();\n });\n }\n\n private _listenMainStateChanges() {\n this.mainState.addCustom('currentNav', new Subject());\n this.mainState.getCustom$('currentNav').subscribe((val) => {\n this.emitOuter('currentnavchange', val);\n });\n }\n}\n","import { DataSource } from '@n7-frontend/core';\nimport { HeaderData } from '@n7-frontend/components';\n\nconst MOBILE_CLASS = 'is-mobile-nav-displayed';\n\nconst ACTIVE_CLASS = 'is-active';\n\nexport class HeaderDS extends DataSource {\n protected transform(data): HeaderData {\n if (!data) {\n return null;\n }\n\n return {\n ...data,\n menuToggle: {\n open: {\n payload: 'mobile-open'\n },\n close: {\n payload: 'mobile-close'\n }\n }\n };\n }\n\n public onCurrentNavChange(payload) {\n this.output.nav.items.forEach((item) => {\n this.updateItemClass(item, payload);\n if (item.subnav) {\n item.subnav.forEach((subNavItem) => {\n this.updateItemClass(subNavItem, payload);\n });\n }\n });\n }\n\n public onRouterChange() {\n if (!this.output) {\n return;\n }\n let { classes } = this.output;\n classes = classes || '';\n classes = classes.split(' ');\n\n if (classes.includes(MOBILE_CLASS)) {\n classes.splice(classes.indexOf(MOBILE_CLASS), 1);\n this.output.classes = classes.join(' ');\n }\n }\n\n public onClick(payload) {\n // mobile control\n if (['mobile-open', 'mobile-close'].includes(payload)) {\n let { classes } = this.output;\n classes = classes || '';\n classes = classes.split(' ');\n\n if (classes.includes(MOBILE_CLASS)) {\n classes.splice(classes.indexOf(MOBILE_CLASS), 1);\n } else {\n classes.push(MOBILE_CLASS);\n }\n this.output.classes = classes.join(' ');\n }\n }\n\n private updateItemClass(item, payload) {\n let itemClasses = [];\n if (item.classes) {\n itemClasses = itemClasses.concat(item.classes.split(' '));\n }\n if (item._meta.id === payload && !itemClasses.includes(ACTIVE_CLASS)) {\n itemClasses.push(ACTIVE_CLASS);\n } else if (itemClasses.includes(ACTIVE_CLASS)) {\n itemClasses.splice(itemClasses.indexOf(ACTIVE_CLASS, 1));\n }\n item.classes = itemClasses.join(' ');\n }\n}\n","import { DataSource } from '@n7-frontend/core';\n\nexport class SubnavDS extends DataSource {\n protected transform(data) {\n return {\n classes: 'main-subnav',\n items: data,\n };\n }\n\n setActive(id) {\n this.output.items.forEach((item) => {\n if (item._meta.id === id) {\n item.classes = 'is-current';\n item._meta.isActive = true;\n } else {\n item.classes = '';\n item._meta.isActive = false;\n }\n });\n }\n\n getActive() {\n return this.output.items.filter((item) => item._meta.isActive)[0] || null;\n }\n}\n","import { DataSource } from '@n7-frontend/core';\nimport { BreadcrumbsData } from '@n7-frontend/components';\n\nexport class BreadcrumbsDS extends DataSource {\n protected transform(data): BreadcrumbsData | null {\n return data;\n }\n}\n","import { DataSource } from '@n7-frontend/core';\n\nexport class FacetsDS extends DataSource {\n public searchModel: any;\n\n protected transform({ fields }) {\n const { searchModel } = this.options;\n this.searchModel = searchModel;\n\n return fields;\n }\n}\n","import { DataSource } from '@n7-frontend/core';\n\nexport class FooterDS extends DataSource {\n protected transform(data): any {\n if (!data) {\n return null;\n }\n return data;\n }\n}\n","import { DataSource, _t } from '@n7-frontend/core';\n\nexport class SmartPaginationDS extends DataSource {\n protected transform(data) {\n const {\n totalPages, currentPage, pageLimit, sizes\n } = data;\n const { mode, href, queryParams } = this.options;\n // ===== WARNINGS =====\n if (!['href', 'payload'].includes(mode)) {\n console.warn('(smart-pagination) The \"mode\" option is incorrect. Please specify \"href\" or \"payload\" as the mode option.');\n }\n\n const {\n links, first, prev, next, last,\n } = this.paginationBuilder(\n totalPages, +currentPage, pageLimit,\n mode, href, queryParams,\n );\n return {\n first,\n prev,\n next,\n last,\n links,\n select: sizes ? {\n label: sizes.label || _t('search#resultsamount'),\n options: sizes.list.map((s) => ({\n text: s,\n selected: s === sizes.active,\n })),\n payload: 'select-size',\n } : null,\n };\n }\n\n private paginationBuilder = (tp, cp: number, pl, m, href, qp) => {\n const result = [];\n /*\n tp - total pages\n cp - current page\n pl - page limit\n m - pagination mode (href or payloads)\n href - href for anchor wrapper\n qp - query params for pagination\n */\n let limit = pl;\n if (tp <= limit) {\n limit = tp - 1;\n }\n if (limit) {\n let\n lp: number; // last page\n let fp: number; // first page\n if (cp > Math.floor(limit / 2)) {\n if (tp === 2) {\n lp = tp;\n fp = 1;\n // when currentPage is after half-point\n // (example: [ 14 ][ 15 ][!16!][ 17 ][ 18 ])\n } else if (cp < (tp - Math.floor(limit / 2))) {\n lp = cp / 1 + Math.floor(limit / 2);\n fp = cp / 1 - Math.floor(limit / 2);\n } else {\n lp = tp;\n fp = cp - limit + (tp - cp);\n }\n } else {\n // when currentPage is before half-point\n // (example: [ 1 ][!2!][ 3 ][ 4 ][ 5 ])\n lp = limit + 1;\n fp = 1;\n }\n for (let i = fp; i <= lp; i += 1) {\n result.push({\n text: String(i),\n classes: cp === i ? 'is-active' : '',\n anchor: cp !== i ? this._getPaginationAnchor(i, m, href, qp) : null,\n });\n }\n } else {\n result.push({\n text: '1',\n classes: cp === 1 ? 'is-active' : '',\n anchor: cp !== 1 ? this._getPaginationAnchor(1, m, href, qp) : null,\n });\n for (let i = 1; i < tp; i += 1) {\n result.push({\n text: String(i + 1),\n classes: cp === i + 1 ? 'is-active' : '',\n anchor: cp !== i + 1 ? this._getPaginationAnchor(i + 1, m, href, qp) : null,\n });\n }\n }\n return {\n links: result,\n first: {\n classes: cp === 1 ? 'is-disabled' : '',\n anchor: cp !== 1 ? this._getPaginationAnchor(1, m, href, qp) : null,\n },\n prev: {\n classes: cp === 1 ? 'is-disabled' : '',\n anchor: cp !== 1 ? this._getPaginationAnchor(cp / 1 - 1, m, href, qp) : null,\n },\n next: {\n classes: cp === tp ? 'is-disabled' : '',\n anchor: cp !== tp ? this._getPaginationAnchor(cp / 1 + 1, m, href, qp) : null,\n },\n last: {\n classes: cp === tp ? 'is-disabled' : '',\n anchor: cp !== tp ? this._getPaginationAnchor(tp, m, href, qp) : null,\n },\n };\n }\n\n private _getPaginationAnchor(page, mode, href, queryParams) {\n switch (mode) {\n case 'payload':\n return {\n payload: { source: 'pagination', page },\n };\n case 'href':\n return {\n href: queryParams ? href : href + page,\n queryParams: queryParams ? {\n ...queryParams,\n page,\n } : null,\n };\n default:\n break;\n }\n return {};\n }\n}\n","import { EventHandler } from '@n7-frontend/core';\n\nexport class HeaderEH extends EventHandler {\n public listen() {\n this.innerEvents$.subscribe(({ type, payload }) => {\n switch (type) {\n case 'header.click':\n this.dataSource.onClick(payload);\n break;\n\n default:\n break;\n }\n });\n this.outerEvents$.subscribe(({ type, payload }) => {\n switch (type) {\n case 'main-layout.currentnavchange':\n this.dataSource.onCurrentNavChange(payload);\n break;\n\n case 'main-layout.routerchange':\n this.dataSource.onRouterChange();\n break;\n\n default:\n break;\n }\n });\n }\n}\n","import { EventHandler } from '@n7-frontend/core';\n\nexport class SubnavEH extends EventHandler {\n public listen() {\n this.innerEvents$.subscribe(({ type, payload }) => {\n switch (type) {\n case 'subnav.click':\n // navigate control\n if (payload.source === 'navigate') {\n this.emitGlobal('navigate', payload);\n }\n\n // global signal\n this.emitGlobal(type, payload);\n break;\n\n default:\n break;\n }\n });\n }\n}\n","import { EventHandler } from '@n7-frontend/core';\n\nexport class BreadcrumbsEH extends EventHandler {\n public listen() {\n this.innerEvents$.subscribe(({ type, payload }) => {\n switch (type) {\n case 'breadcrumbs.click':\n // navigate control\n if (payload.source === 'navigate') {\n this.emitGlobal('navigate', payload);\n }\n\n // global signal\n this.emitGlobal(type, payload);\n break;\n\n default:\n break;\n }\n });\n }\n}\n","import { EventHandler } from '@n7-frontend/core';\n\nexport class FooterEH extends EventHandler {\n public listen() {\n // no events\n }\n}\n","import { EventHandler } from '@n7-frontend/core';\n\nexport class SmartPaginationEH extends EventHandler {\n public listen() {\n this.innerEvents$.subscribe(({ type, payload }) => {\n switch (type) {\n case 'n7-smart-pagination.change':\n this.emitOuter('change', payload);\n break;\n\n case 'n7-smart-pagination.click':\n this.emitOuter('click', payload);\n break;\n\n default:\n console.warn('unhandled inner event of type', type);\n break;\n }\n });\n }\n}\n","import { MainLayoutDS } from './main-layout.ds';\nimport { MainLayoutEH } from './main-layout.eh';\nimport * as DS from '../../data-sources';\nimport * as EH from '../../event-handlers';\n\nexport const MainLayoutConfig = {\n layoutId: 'main-layout',\n widgets: [{\n id: 'header',\n }, {\n id: 'subnav',\n }, {\n id: 'breadcrumbs',\n }, {\n id: 'footer',\n }],\n layoutDS: MainLayoutDS,\n layoutEH: MainLayoutEH,\n widgetsDataSources: DS,\n widgetsEventHandlers: EH,\n options: {\n // TODO\n },\n};\n","import { Component, OnInit, OnDestroy } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { Title } from '@angular/platform-browser';\nimport { AbstractLayout } from '../../models/abstract-layout';\nimport { ConfigurationService } from '../../services/configuration.service';\nimport { LayoutsConfigurationService } from '../../services/layouts-configuration.service';\nimport { MainStateService } from '../../services/main-state.service';\nimport { MainLayoutConfig as config } from './main-layout.config';\n\n@Component({\n selector: 'main-layout',\n templateUrl: './main-layout.html',\n})\nexport class MainLayoutComponent extends AbstractLayout implements OnInit, OnDestroy {\n constructor(\n private router: Router,\n private route: ActivatedRoute,\n private configuration: ConfigurationService,\n private layoutsConfiguration: LayoutsConfigurationService,\n private mainState: MainStateService,\n private titleService: Title,\n ) {\n super(layoutsConfiguration.get('MainLayoutConfig') || config);\n }\n\n protected initPayload() {\n return {\n configuration: this.configuration,\n mainState: this.mainState,\n router: this.router,\n route: this.route,\n titleService: this.titleService,\n options: this.config.options || {},\n };\n }\n\n ngOnInit() {\n this.onInit();\n }\n\n ngOnDestroy() {\n this.onDestroy();\n }\n}\n","<div class=\"n7-main-layout\" id=\"main-layout\">\n <div class=\"n7-page-content\">\n <n7-header\n [data]=\"lb.widgets['header'].ds.out$ | async\"\n [emit]=\"lb.widgets['header'].emit\">\n </n7-header>\n <main class=\"n7-content\">\n <div class=\"n7-top-page-bar\">\n <div class=\"n7-top-page-bar__main\"></div>\n </div>\n <div class=\"n7-alert-bar\">\n <!--<n7-alert\n [attr.id]=\"'main-layout-alert'\"\n [data]=\"lb.dataSource.alertData$ | async\"\n [emit]=\"lb.dataSource.closeAlert.bind(lb.dataSource)\"></n7-alert>-->\n </div>\n <ng-content></ng-content>\n </main>\n </div>\n <n7-footer\n [data]=\"lb.widgets['footer'].ds.out$ | async\"\n [emit]=\"lb.widgets['footer'].emit\">\n </n7-footer>\n</div>\n","import { LayoutDataSource } from '@n7-frontend/core';\n\nexport class Page404LayoutDS extends LayoutDataSource {\n public options: any;\n\n onInit({ options }) {\n this.options = options;\n }\n}\n","import { EventHandler } from '@n7-frontend/core';\nimport { Subject } from 'rxjs';\n\nexport class Page404LayoutEH extends EventHandler {\n private destroyed$: Subject<any> = new Subject();\n\n public listen() {\n this.innerEvents$.subscribe(({ type, payload }) => {\n switch (type) {\n case 'n7-page404-layout.init':\n this.dataSource.onInit(payload);\n break;\n\n case 'n7-page404-layout.destroy':\n this.destroyed$.next();\n break;\n\n default:\n break;\n }\n });\n\n // listen to global events\n /* EventHandler.globalEvents$.pipe(\n takeUntil(this.destroyed$)\n ).subscribe(({type, payload}) => {\n switch(type){\n case 'global.navigate':\n this.dataSource.onNavigate(payload);\n break;\n\n default:\n break;\n }\n }); */\n }\n}\n","import { Page404LayoutDS } from './page404-layout.ds';\nimport { Page404LayoutEH } from './page404-layout.eh';\nimport * as DS from '../../data-sources';\nimport * as EH from '../../event-handlers';\n\nexport const Page404LayoutConfig = {\n layoutId: 'n7-page404-layout',\n widgets: [],\n layoutDS: Page404LayoutDS,\n layoutEH: Page404LayoutEH,\n widgetsDataSources: DS,\n widgetsEventHandlers: EH,\n options: {\n // TODO\n },\n};\n","import { Component, OnInit, OnDestroy } from '@angular/core';\nimport { AbstractLayout } from '../../models/abstract-layout';\nimport { LayoutsConfigurationService } from '../../services/layouts-configuration.service';\nimport { Page404LayoutConfig as config } from './page404-layout.config';\n\n@Component({\n selector: 'n7-page404-layout',\n templateUrl: './page404-layout.html',\n})\nexport class Page404LayoutComponent extends AbstractLayout implements OnInit, OnDestroy {\n constructor(\n layoutsConfiguration: LayoutsConfigurationService,\n ) {\n super(layoutsConfiguration.get('Page404LayoutConfig') || config);\n }\n\n protected initPayload() {\n return {\n options: this.config.options || {},\n };\n }\n\n ngOnInit() {\n this.onInit();\n }\n\n ngOnDestroy() {\n this.onDestroy();\n }\n}\n","<div class=\"n7-page404-layout\">\n 404 - Resource not found\n</div>","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'n7-smart-pagination',\n templateUrl: './smart-pagination.html',\n})\n\nexport class SmartPaginationComponent {\n @Input() data: any;\n\n @Input() emit: any;\n\n constructor() {\n this.handlePaginationEvent.bind(this);\n }\n\n handlePaginationEvent(type, payload) {\n if (!this.emit) return;\n this.emit('change', payload);\n }\n}\n","<div class=\"n7-smart-pagination\" *ngIf=\"data\">\n <n7-pagination\n [data]=\"data\"\n [emit]=\"emit\">\n </n7-pagination>\n</div>","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { HttpClientModule } from '@angular/common/http';\nimport { DvComponentsLibModule } from '@n7-frontend/components';\n\n// services\nimport { ConfigurationService } from './services/configuration.service';\nimport { LayoutsConfigurationService } from './services/layouts-configuration.service';\nimport { MainStateService } from './services/main-state.service';\nimport { CommunicationService } from './services/communication.service';\n\n// layouts\nimport { MainLayoutComponent } from './layouts/main-layout/main-layout';\nimport { Page404LayoutComponent } from './layouts/page404-layout/page404-layout';\n\n// components\nimport { SmartPaginationComponent } from './components/smart-pagination/smart-pagination';\n\nconst COMPONENTS = [\n MainLayoutComponent,\n Page404LayoutComponent,\n SmartPaginationComponent,\n];\n\n@NgModule({\n declarations: COMPONENTS,\n imports: [\n CommonModule,\n HttpClientModule,\n DvComponentsLibModule,\n ],\n providers: [],\n exports: COMPONENTS\n})\nexport class N7BoilerplateCommonModule {\n static forRoot(config?: any): ModuleWithProviders<N7BoilerplateCommonModule> {\n return {\n ngModule: N7BoilerplateCommonModule,\n providers: [\n MainStateService,\n ConfigurationService,\n LayoutsConfigurationService,\n CommunicationService,\n { provide: 'config', useValue: config },\n ],\n };\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { tap, catchError } from 'rxjs/operators';\nimport { of } from 'rxjs';\nimport { merge } from 'lodash';\nimport { ConfigurationService } from './configuration.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class JsonConfigService {\n constructor(\n private http: HttpClient,\n private config: ConfigurationService,\n ) {}\n\n load(path): Promise<any> {\n return this.http.get(path).pipe(\n catchError(() => of({})),\n tap((response) => this._handleResponse(response)),\n ).toPromise();\n }\n\n private _handleResponse(response) {\n // set loaded json config\n if (response) {\n Object.keys(response).forEach((key) => {\n const oldValue = this.config.get(key);\n const newValue = response[key];\n this.config.set(key, merge(oldValue, newValue));\n });\n\n // config keys colors\n if (response['config-keys']) {\n const headTag = document.querySelector('head');\n const styleElement = document.createElement('style');\n\n const styles = [];\n\n Object.keys(response['config-keys']).forEach((key) => {\n const configKey = response['config-keys'][key] || {};\n const className = configKey['class-name'];\n\n if (configKey.color && configKey.color.hex) {\n // add css class\n styles.push(`--color-${className}: ${configKey.color.hex};`);\n }\n });\n\n if (styles.length) {\n styles.unshift(':root {');\n styles.push('}');\n styleElement.appendChild(document.createTextNode(styles.join('\\n')));\n headTag.appendChild(styleElement);\n }\n }\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { tap } from 'rxjs/operators';\nimport { of } from 'rxjs';\nimport { ConfigurationService } from './configuration.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LocalConfigService {\n constructor(\n private config: ConfigurationService,\n ) {}\n\n load(config): Promise<any> {\n return of(true).pipe(\n tap(() => {\n if (config) {\n Object.keys(config).forEach((key) => this.config.set(key, config[key]));\n\n // config keys colors\n if (config['config-keys']) {\n const headTag = document.querySelector('head');\n const styleElement = document.createElement('style');\n\n const styles = [];\n\n Object.keys(config['config-keys']).forEach((key) => {\n const configKey = config['config-keys'][key] || {};\n const className = configKey['class-name'];\n\n if (configKey.color && configKey.color.hex) {\n // add css class\n styles.push(`--color-${className}: ${configKey.color.hex};`);\n }\n });\n\n if (styles.length) {\n styles.unshift(':root {');\n styles.push('}');\n styleElement.appendChild(document.createTextNode(styles.join('\\n')));\n headTag.appendChild(styleElement);\n }\n }\n }\n }),\n ).toPromise();\n }\n}\n","// main layout\nexport * from './main-layout/main-layout';\nexport * from './main-layout/main-layout.ds';\nexport * from './main-layout/main-layout.eh';\nexport * from './main-layout/main-layout.config';\n\n// page404 layout\nexport * from './page404-layout/page404-layout';\nexport * from './page404-layout/page404-layout.ds';\nexport * from './page404-layout/page404-layout.eh';\nexport * from './page404-layout/page404-layout.config';\n","// eslint-disable-next-line import/no-extraneous-dependencies\nimport slugify from 'slugify';\n\nconst domParser = new DOMParser();\n\nexport const helpers = {\n prettifySnakeCase(key: string, label?: string) {\n if (typeof label === 'string') {\n return label;\n }\n return (key || '').split('_').map((word, index) => (index === 0 ? this.ucFirst(word) : word)).join(' ');\n },\n ucFirst(str: string) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n },\n slugify(str: string) {\n if (!str) {\n return '';\n }\n const parsedDoc = domParser.parseFromString(str, 'text/html');\n let parsedString = parsedDoc.body.textContent || '';\n // custom replacements\n parsedString = parsedString.replace(/\\//g, '-');\n return slugify(parsedString, {\n remove: /[*+~.()'\"!:@,]/g,\n lower: true\n });\n },\n browserIsIE() {\n return window.navigator.userAgent.match(/(MSIE|Trident)/);\n },\n escapeQuotes(str) {\n if (typeof str !== 'string') {\n return '';\n }\n return str\n .replace(/\"/g, '\\\\\\\\\\\\\"')\n .replace(/'/g, '\\\\\\\\\\'');\n },\n unescapeQuotes(str) {\n if (typeof str !== 'string') {\n return '';\n }\n return str\n .replace(/\\\\\\\\\\\\\"/g, '\"')\n .replace(/\\\\\\\\'/g, '\\'');\n },\n escapeDoubleQuotes(str) {\n if (str.search(/\\\\?(\")([\\w\\s]+)\\\\?(\")/g) >= 0) {\n // match piece of string between double quotes\n return str.replace(/\\\\?(\")([\\w\\s]+)\\\\?(\")/g, '\\\\$1$2\\\\$3'); // thanks @slevithan!\n }\n return str.replace(/\\\\([\\s\\S])|(\")/g, '\\\\\\\\\\\\$1$2'); // thanks @slevithan!\n },\n unescapeDoubleQuotes(str) {\n return (str && str !== '') ? str.replace(/\\\\*(\")/g, '$1') : str; // thanks @slevithan!\n },\n striptags(str) {\n if (typeof str !== 'string') {\n return '';\n }\n return str.replace(/(<([^>]+)>)/gi, '');\n },\n isElementInViewport(el: HTMLElement): boolean {\n if (!el) {\n throw Error('There is no element');\n }\n const rect = el.getBoundingClientRect();\n\n return rect.bottom > 0\n && rect.right > 0\n && rect.left < (window.innerWidth || document.documentElement.clientWidth)\n && rect.top < (window.innerHeight || document.documentElement.clientHeight);\n },\n /** Return true if an object is empty */\n isEmpty: (obj) => (\n typeof obj === 'object'\n && Object.keys(obj).length === 0\n )\n};\n","/*\n * Public API Surface of n7-boilerplate-common\n */\n\n// common\nexport * from './lib/n7-boilerplate-common.module';\nexport * from './lib/config-types';\nexport * from './lib/services';\nexport * from './lib/models';\nexport * from './lib/data-sources';\nexport * from './lib/event-handlers';\nexport * from './lib/layouts';\nexport * from './lib/components';\nexport * from './lib/helpers';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["config"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './smart-pagination/smart-pagination';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class SmartPaginationComponent {
|
|
3
|
+
data: any;
|
|
4
|
+
emit: any;
|
|
5
|
+
constructor();
|
|
6
|
+
handlePaginationEvent(type: any, payload: any): void;
|
|
7
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SmartPaginationComponent, never>;
|
|
8
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SmartPaginationComponent, "n7-smart-pagination", never, { "data": "data"; "emit": "emit"; }, {}, never, never>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { FooterData, HeaderData } from '@n7-frontend/components';
|
|
2
|
+
export declare type ConfigCommonCommunication = {
|
|
3
|
+
/** default provider id */
|
|
4
|
+
defaultProvider: string;
|
|
5
|
+
providers: {
|
|
6
|
+
[providerId: string]: {
|
|
7
|
+
/** api base url */
|
|
8
|
+
baseUrl: string;
|
|
9
|
+
/** api type: rest | apollo (graphql) */
|
|
10
|
+
type?: 'rest' | 'apollo';
|
|
11
|
+
/** request map: request id => api point */
|
|
12
|
+
config?: {
|
|
13
|
+
[requestId: string]: string;
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
export declare type ConfigCommonFooter = FooterData;
|
|
19
|
+
export declare type ConfigCommonHeader = Partial<HeaderData>;
|
|
20
|
+
export declare type ConfigCommonLabels = {
|
|
21
|
+
[key: string]: string;
|
|
22
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './common';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { DataSource } from '@n7-frontend/core';
|
|
2
|
+
import { HeaderData } from '@n7-frontend/components';
|
|
3
|
+
export declare class HeaderDS extends DataSource {
|
|
4
|
+
protected transform(data: any): HeaderData;
|
|
5
|
+
onCurrentNavChange(payload: any): void;
|
|
6
|
+
onRouterChange(): void;
|
|
7
|
+
onClick(payload: any): void;
|
|
8
|
+
private updateItemClass;
|
|
9
|
+
}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { DataSource } from '@n7-frontend/core';
|
|
2
|
+
export declare class SmartPaginationDS extends DataSource {
|
|
3
|
+
protected transform(data: any): {
|
|
4
|
+
first: {
|
|
5
|
+
classes: string;
|
|
6
|
+
anchor: {
|
|
7
|
+
payload: {
|
|
8
|
+
source: string;
|
|
9
|
+
page: any;
|
|
10
|
+
};
|
|
11
|
+
href?: undefined;
|
|
12
|
+
queryParams?: undefined;
|
|
13
|
+
} | {
|
|
14
|
+
href: any;
|
|
15
|
+
queryParams: any;
|
|
16
|
+
payload?: undefined;
|
|
17
|
+
} | {
|
|
18
|
+
payload?: undefined;
|
|
19
|
+
href?: undefined;
|
|
20
|
+
queryParams?: undefined;
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
prev: {
|
|
24
|
+
classes: string;
|
|
25
|
+
anchor: {
|
|
26
|
+
payload: {
|
|
27
|
+
source: string;
|
|
28
|
+
page: any;
|
|
29
|
+
};
|
|
30
|
+
href?: undefined;
|
|
31
|
+
queryParams?: undefined;
|
|
32
|
+
} | {
|
|
33
|
+
href: any;
|
|
34
|
+
queryParams: any;
|
|
35
|
+
payload?: undefined;
|
|
36
|
+
} | {
|
|
37
|
+
payload?: undefined;
|
|
38
|
+
href?: undefined;
|
|
39
|
+
queryParams?: undefined;
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
next: {
|
|
43
|
+
classes: string;
|
|
44
|
+
anchor: {
|
|
45
|
+
payload: {
|
|
46
|
+
source: string;
|
|
47
|
+
page: any;
|
|
48
|
+
};
|
|
49
|
+
href?: undefined;
|
|
50
|
+
queryParams?: undefined;
|
|
51
|
+
} | {
|
|
52
|
+
href: any;
|
|
53
|
+
queryParams: any;
|
|
54
|
+
payload?: undefined;
|
|
55
|
+
} | {
|
|
56
|
+
payload?: undefined;
|
|
57
|
+
href?: undefined;
|
|
58
|
+
queryParams?: undefined;
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
last: {
|
|
62
|
+
classes: string;
|
|
63
|
+
anchor: {
|
|
64
|
+
payload: {
|
|
65
|
+
source: string;
|
|
66
|
+
page: any;
|
|
67
|
+
};
|
|
68
|
+
href?: undefined;
|
|
69
|
+
queryParams?: undefined;
|
|
70
|
+
} | {
|
|
71
|
+
href: any;
|
|
72
|
+
queryParams: any;
|
|
73
|
+
payload?: undefined;
|
|
74
|
+
} | {
|
|
75
|
+
payload?: undefined;
|
|
76
|
+
href?: undefined;
|
|
77
|
+
queryParams?: undefined;
|
|
78
|
+
};
|
|
79
|
+
};
|
|
80
|
+
links: any[];
|
|
81
|
+
select: {
|
|
82
|
+
label: any;
|
|
83
|
+
options: any;
|
|
84
|
+
payload: string;
|
|
85
|
+
};
|
|
86
|
+
};
|
|
87
|
+
private paginationBuilder;
|
|
88
|
+
private _getPaginationAnchor;
|
|
89
|
+
}
|
package/lib/helpers.d.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export declare const helpers: {
|
|
2
|
+
prettifySnakeCase(key: string, label?: string): string;
|
|
3
|
+
ucFirst(str: string): string;
|
|
4
|
+
slugify(str: string): string;
|
|
5
|
+
browserIsIE(): RegExpMatchArray;
|
|
6
|
+
escapeQuotes(str: any): string;
|
|
7
|
+
unescapeQuotes(str: any): string;
|
|
8
|
+
escapeDoubleQuotes(str: any): any;
|
|
9
|
+
unescapeDoubleQuotes(str: any): any;
|
|
10
|
+
striptags(str: any): string;
|
|
11
|
+
isElementInViewport(el: HTMLElement): boolean;
|
|
12
|
+
/** Return true if an object is empty */
|
|
13
|
+
isEmpty: (obj: any) => boolean;
|
|
14
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export * from './main-layout/main-layout';
|
|
2
|
+
export * from './main-layout/main-layout.ds';
|
|
3
|
+
export * from './main-layout/main-layout.eh';
|
|
4
|
+
export * from './main-layout/main-layout.config';
|
|
5
|
+
export * from './page404-layout/page404-layout';
|
|
6
|
+
export * from './page404-layout/page404-layout.ds';
|
|
7
|
+
export * from './page404-layout/page404-layout.eh';
|
|
8
|
+
export * from './page404-layout/page404-layout.config';
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { MainLayoutDS } from './main-layout.ds';
|
|
2
|
+
import { MainLayoutEH } from './main-layout.eh';
|
|
3
|
+
import * as DS from '../../data-sources';
|
|
4
|
+
import * as EH from '../../event-handlers';
|
|
5
|
+
export declare const MainLayoutConfig: {
|
|
6
|
+
layoutId: string;
|
|
7
|
+
widgets: {
|
|
8
|
+
id: string;
|
|
9
|
+
}[];
|
|
10
|
+
layoutDS: typeof MainLayoutDS;
|
|
11
|
+
layoutEH: typeof MainLayoutEH;
|
|
12
|
+
widgetsDataSources: typeof DS;
|
|
13
|
+
widgetsEventHandlers: typeof EH;
|
|
14
|
+
options: {};
|
|
15
|
+
};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { OnInit, OnDestroy } from '@angular/core';
|
|
2
|
+
import { Router, ActivatedRoute } from '@angular/router';
|
|
3
|
+
import { Title } from '@angular/platform-browser';
|
|
4
|
+
import { AbstractLayout } from '../../models/abstract-layout';
|
|
5
|
+
import { ConfigurationService } from '../../services/configuration.service';
|
|
6
|
+
import { LayoutsConfigurationService } from '../../services/layouts-configuration.service';
|
|
7
|
+
import { MainStateService } from '../../services/main-state.service';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
export declare class MainLayoutComponent extends AbstractLayout implements OnInit, OnDestroy {
|
|
10
|
+
private router;
|
|
11
|
+
private route;
|
|
12
|
+
private configuration;
|
|
13
|
+
private layoutsConfiguration;
|
|
14
|
+
private mainState;
|
|
15
|
+
private titleService;
|
|
16
|
+
constructor(router: Router, route: ActivatedRoute, configuration: ConfigurationService, layoutsConfiguration: LayoutsConfigurationService, mainState: MainStateService, titleService: Title);
|
|
17
|
+
protected initPayload(): {
|
|
18
|
+
configuration: ConfigurationService;
|
|
19
|
+
mainState: MainStateService;
|
|
20
|
+
router: Router;
|
|
21
|
+
route: ActivatedRoute;
|
|
22
|
+
titleService: Title;
|
|
23
|
+
options: any;
|
|
24
|
+
};
|
|
25
|
+
ngOnInit(): void;
|
|
26
|
+
ngOnDestroy(): void;
|
|
27
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MainLayoutComponent, never>;
|
|
28
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<MainLayoutComponent, "main-layout", never, {}, {}, never, ["*"]>;
|
|
29
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { LayoutDataSource } from '@n7-frontend/core';
|
|
2
|
+
export declare class MainLayoutDS extends LayoutDataSource {
|
|
3
|
+
protected configuration: any;
|
|
4
|
+
protected mainState: any;
|
|
5
|
+
protected router: any;
|
|
6
|
+
protected route: any;
|
|
7
|
+
protected titleService: any;
|
|
8
|
+
options: any;
|
|
9
|
+
pageTitle: string;
|
|
10
|
+
onInit({ configuration, mainState, router, options, titleService, route, }: {
|
|
11
|
+
configuration: any;
|
|
12
|
+
mainState: any;
|
|
13
|
+
router: any;
|
|
14
|
+
options: any;
|
|
15
|
+
titleService: any;
|
|
16
|
+
route: any;
|
|
17
|
+
}): void;
|
|
18
|
+
onNavigate(payload: any): void;
|
|
19
|
+
onRouterChanged(): void;
|
|
20
|
+
private _onRouterNavigate;
|
|
21
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { EventHandler } from '@n7-frontend/core';
|
|
2
|
+
export declare class MainLayoutEH extends EventHandler {
|
|
3
|
+
private destroyed$;
|
|
4
|
+
private route;
|
|
5
|
+
private router;
|
|
6
|
+
private mainState;
|
|
7
|
+
listen(): void;
|
|
8
|
+
private _listenRouterChanges;
|
|
9
|
+
private _listenMainStateChanges;
|
|
10
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Page404LayoutDS } from './page404-layout.ds';
|
|
2
|
+
import { Page404LayoutEH } from './page404-layout.eh';
|
|
3
|
+
import * as DS from '../../data-sources';
|
|
4
|
+
import * as EH from '../../event-handlers';
|
|
5
|
+
export declare const Page404LayoutConfig: {
|
|
6
|
+
layoutId: string;
|
|
7
|
+
widgets: any[];
|
|
8
|
+
layoutDS: typeof Page404LayoutDS;
|
|
9
|
+
layoutEH: typeof Page404LayoutEH;
|
|
10
|
+
widgetsDataSources: typeof DS;
|
|
11
|
+
widgetsEventHandlers: typeof EH;
|
|
12
|
+
options: {};
|
|
13
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { OnInit, OnDestroy } from '@angular/core';
|
|
2
|
+
import { AbstractLayout } from '../../models/abstract-layout';
|
|
3
|
+
import { LayoutsConfigurationService } from '../../services/layouts-configuration.service';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class Page404LayoutComponent extends AbstractLayout implements OnInit, OnDestroy {
|
|
6
|
+
constructor(layoutsConfiguration: LayoutsConfigurationService);
|
|
7
|
+
protected initPayload(): {
|
|
8
|
+
options: any;
|
|
9
|
+
};
|
|
10
|
+
ngOnInit(): void;
|
|
11
|
+
ngOnDestroy(): void;
|
|
12
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<Page404LayoutComponent, never>;
|
|
13
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<Page404LayoutComponent, "n7-page404-layout", never, {}, {}, never, never>;
|
|
14
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './abstract-layout';
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ModuleWithProviders } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "./layouts/main-layout/main-layout";
|
|
4
|
+
import * as i2 from "./layouts/page404-layout/page404-layout";
|
|
5
|
+
import * as i3 from "./components/smart-pagination/smart-pagination";
|
|
6
|
+
import * as i4 from "@angular/common";
|
|
7
|
+
import * as i5 from "@angular/common/http";
|
|
8
|
+
import * as i6 from "@n7-frontend/components";
|
|
9
|
+
export declare class N7BoilerplateCommonModule {
|
|
10
|
+
static forRoot(config?: any): ModuleWithProviders<N7BoilerplateCommonModule>;
|
|
11
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<N7BoilerplateCommonModule, never>;
|
|
12
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<N7BoilerplateCommonModule, [typeof i1.MainLayoutComponent, typeof i2.Page404LayoutComponent, typeof i3.SmartPaginationComponent], [typeof i4.CommonModule, typeof i5.HttpClientModule, typeof i6.DvComponentsLibModule], [typeof i1.MainLayoutComponent, typeof i2.Page404LayoutComponent, typeof i3.SmartPaginationComponent]>;
|
|
13
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<N7BoilerplateCommonModule>;
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { HttpClient } from '@angular/common/http';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
import { CommunicationProvider } from './communication-provider.interface';
|
|
4
|
+
import { ConfigurationService } from '../configuration.service';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export declare class ApolloProvider implements CommunicationProvider {
|
|
7
|
+
private http;
|
|
8
|
+
private configuration;
|
|
9
|
+
constructor(http: HttpClient, configuration: ConfigurationService);
|
|
10
|
+
request$(providerConfig: any, requestId: string, options: any): Observable<any>;
|
|
11
|
+
private makeParamsStr;
|
|
12
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ApolloProvider, never>;
|
|
13
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<ApolloProvider>;
|
|
14
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { HttpClient } from '@angular/common/http';
|
|
2
|
+
import { CommunicationProvider } from './communication-provider.interface';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class RestProvider implements CommunicationProvider {
|
|
5
|
+
private http;
|
|
6
|
+
constructor(http: HttpClient);
|
|
7
|
+
request$(providerConfig: any, requestId: any, options?: any): any;
|
|
8
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RestProvider, never>;
|
|
9
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<RestProvider>;
|
|
10
|
+
}
|