@net7/boilerplate-common 5.6.3 → 5.6.4
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.
|
@@ -57,7 +57,9 @@ export class ApolloProvider {
|
|
|
57
57
|
arrStr.push(`${val}`);
|
|
58
58
|
}
|
|
59
59
|
else {
|
|
60
|
-
|
|
60
|
+
// JSON.stringify yields a valid GraphQL string literal (same escape
|
|
61
|
+
// sequences), so user input containing " or \ doesn't break the query.
|
|
62
|
+
arrStr.push(JSON.stringify(val));
|
|
61
63
|
}
|
|
62
64
|
});
|
|
63
65
|
paramsStr.push(`${key}: [${arrStr.join(',')}]`);
|
|
@@ -73,7 +75,9 @@ export class ApolloProvider {
|
|
|
73
75
|
paramsStr.push(`${key}: ${params[key]}`);
|
|
74
76
|
}
|
|
75
77
|
else {
|
|
76
|
-
|
|
78
|
+
// JSON.stringify yields a valid GraphQL string literal (same escape
|
|
79
|
+
// sequences), so user input containing " or \ doesn't break the query.
|
|
80
|
+
paramsStr.push(`${key}: ${JSON.stringify(params[key])}`);
|
|
77
81
|
}
|
|
78
82
|
});
|
|
79
83
|
return paramsStr.join(' ');
|
|
@@ -87,4 +91,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
87
91
|
providedIn: 'root',
|
|
88
92
|
}]
|
|
89
93
|
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.ConfigurationService }] });
|
|
90
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
94
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBvbGxvLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbjctYm9pbGVycGxhdGUtY29tbW9uL3NyYy9saWIvc2VydmljZXMvY29tbXVuaWNhdGlvbi1wcm92aWRlcnMvYXBvbGxvLnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBTXJDLE1BQU0sa0JBQWtCLEdBQUcsRUFBRSxDQUFDO0FBSzlCLE1BQU0sT0FBTyxjQUFjO0lBQ3pCLFlBQ1UsSUFBZ0IsRUFDaEIsYUFBbUM7UUFEbkMsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixrQkFBYSxHQUFiLGFBQWEsQ0FBc0I7SUFDMUMsQ0FBQztJQUVKLFFBQVEsQ0FBSSxjQUFjLEVBQUUsU0FBaUIsRUFBRSxPQUFnQztRQUM3RSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFDaEQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksa0JBQWtCLENBQUM7UUFDNUUsTUFBTSxNQUFNLEdBQUcsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQzdFLElBQUksS0FBSyxDQUFDO1FBRVYsSUFBSSxNQUFNLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDaEMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM1QixDQUFDO1FBRUQsS0FBSyxHQUFHLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDcEIsTUFBTSxFQUFFLFNB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dCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ29tbXVuaWNhdGlvblByb3ZpZGVyIH0gZnJvbSAnLi9jb21tdW5pY2F0aW9uLXByb3ZpZGVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uU2VydmljZSB9IGZyb20gJy4uL2NvbmZpZ3VyYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBDb21tdW5pY2F0aW9uT3B0aW9ucyB9IGZyb20gJy4uL2NvbW11bmljYXRpb24uc2VydmljZSc7XG5cbmNvbnN0IERFRkFVTFRfVFJFRV9ERVBUSCA9IDE1O1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQXBvbGxvUHJvdmlkZXIgaW1wbGVtZW50cyBDb21tdW5pY2F0aW9uUHJvdmlkZXIge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSBjb25maWd1cmF0aW9uOiBDb25maWd1cmF0aW9uU2VydmljZSxcbiAgKSB7fVxuXG4gIHJlcXVlc3QkPFQ+KHByb3ZpZGVyQ29uZmlnLCByZXF1ZXN0SWQ6IHN0cmluZywgb3B0aW9uczogQ29tbXVuaWNhdGlvbk9wdGlvbnM8VD4pIHtcbiAgICBjb25zdCB7IHBhcmFtcywgbWV0aG9kLCBodHRwT3B0aW9ucyB9ID0gb3B0aW9ucztcbiAgICBjb25zdCB0cmVlRGVwdGggPSB0aGlzLmNvbmZpZ3VyYXRpb24uZ2V0KCd0cmVlRGVwdGgnKSB8fCBERUZBVUxUX1RSRUVfREVQVEg7XG4gICAgY29uc3QgY29uZmlnID0gcHJvdmlkZXJDb25maWcuY29uZmlnID8gcHJvdmlkZXJDb25maWcuY29uZmlnKHRyZWVEZXB0aCkgOiB7fTtcbiAgICBsZXQgcXVlcnk7XG5cbiAgICBpZiAoY29uZmlnICYmIGNvbmZpZ1tyZXF1ZXN0SWRdKSB7XG4gICAgICBxdWVyeSA9IGNvbmZpZ1tyZXF1ZXN0SWRdO1xuICAgIH1cblxuICAgIHF1ZXJ5ID0gcXVlcnkgfHwge307XG4gICAgY29uc3QgeyBxdWVyeU5hbWUgfSA9IHF1ZXJ5O1xuICAgIGxldCB7IHF1ZXJ5Qm9keSB9ID0gcXVlcnk7XG5cbiAgICAvLyBjb25maWcgcXVlcnkgY29udHJvbFxuICAgIGlmICghcXVlcnlOYW1lIHx8ICFxdWVyeUJvZHkpIHtcbiAgICAgIHRocm93IEVycm9yKGBObyBjb25maWcgZm91bmQgZm9yIHJlcXVlc3RJZCAnJHtyZXF1ZXN0SWR9J2ApO1xuICAgIH1cblxuICAgIGlmIChwYXJhbXMpIHtcbiAgICAgIGNvbnN0IHBhcmFtc1N0ciA9IHRoaXMubWFrZVBhcmFtc1N0cihwYXJhbXMpO1xuICAgICAgcXVlcnlCb2R5ID0gcXVlcnlCb2R5LnJlcGxhY2UoJ19fUEFSQU1TX18nLCBwYXJhbXNTdHIpO1xuICAgIH0gZWxzZSB7XG4gICAgICBxdWVyeUJvZHkgPSBxdWVyeUJvZHkucmVwbGFjZSgnKF9fUEFSQU1TX18pJywgJycpO1xuICAgIH1cblxuICAgIGxldCBzb3VyY2UkOiBPYnNlcnZhYmxlPGFueT47XG5cbiAgICBpZiAobWV0aG9kICYmIG1ldGhvZCA9PT0gJ0dFVCcpIHtcbiAgICAgIHNvdXJjZSQgPSB0aGlzLmh0dHAuZ2V0KHByb3ZpZGVyQ29uZmlnLmJhc2VVcmwpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzb3VyY2UkID0gdGhpcy5odHRwLnBvc3QoXG4gICAgICAgIHByb3ZpZGVyQ29uZmlnLmJhc2VVcmwsXG4gICAgICAgIHsgcXVlcnk6IHF1ZXJ5Qm9keSB9LFxuICAgICAgICB7XG4gICAgICAgICAgLi4uaHR0cE9wdGlvbnMsXG4gICAgICAgICAgcmVzcG9uc2VUeXBlOiAnanNvbicgLy8gZm9yY2UgdG8ganNvblxuICAgICAgICB9LFxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gc291cmNlJC5waXBlKG1hcCgocmVzcG9uc2U6IGFueSkgPT4gcmVzcG9uc2UuZGF0YVtxdWVyeU5hbWVdKSk7XG4gIH1cblxuICBwcml2YXRlIG1ha2VQYXJhbXNTdHIocGFyYW1zKSB7XG4gICAgY29uc3QgcGFyYW1zU3RyID0gW107XG4gICAgT2JqZWN0LmtleXMocGFyYW1zKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHBhcmFtc1trZXldKSkge1xuICAgICAgICBjb25zdCBhcnJTdHIgPSBbXTtcbiAgICAgICAgcGFyYW1zW2tleV0uZm9yRWFjaCgodmFsKSA9PiB7XG4gICAgICAgICAgaWYgKHR5cGVvZiB2YWwgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICBjb25zdCBzdWJQYXJhbXNTdHIgPSB0aGlzLm1ha2VQYXJhbXNTdHIodmFsKTtcbiAgICAgICAgICAgIGFyclN0ci5wdXNoKGB7ICR7c3ViUGFyYW1zU3RyfSB9YCk7XG4gICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgdmFsID09PSAnbnVtYmVyJyB8fCB0eXBlb2YgdmFsID09PSAnYm9vbGVhbicgfHwgdmFsID09PSBudWxsKSB7XG4gICAgICAgICAgICBhcnJTdHIucHVzaChgJHt2YWx9YCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIEpTT04uc3RyaW5naWZ5IHlpZWxkcyBhIHZhbGlkIEdyYXBoUUwgc3RyaW5nIGxpdGVyYWwgKHNhbWUgZXNjYXBlXG4gICAgICAgICAgICAvLyBzZXF1ZW5jZXMpLCBzbyB1c2VyIGlucHV0IGNvbnRhaW5pbmcgXCIgb3IgXFwgZG9lc24ndCBicmVhayB0aGUgcXVlcnkuXG4gICAgICAgICAgICBhcnJTdHIucHVzaChKU09OLnN0cmluZ2lmeSh2YWwpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBwYXJhbXNTdHIucHVzaChgJHtrZXl9OiBbJHthcnJTdHIuam9pbignLCcpfV1gKTtcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHBhcmFtc1trZXldID09PSAnb2JqZWN0JyAmJiBwYXJhbXNba2V5XSkge1xuICAgICAgICBjb25zdCBzdWJQYXJhbXNTdHIgPSB0aGlzLm1ha2VQYXJhbXNTdHIocGFyYW1zW2tleV0pO1xuICAgICAgICBwYXJhbXNTdHIucHVzaChgJHtrZXl9OiB7ICR7c3ViUGFyYW1zU3RyfSB9YCk7XG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiBwYXJhbXNba2V5XSA9PT0gJ3N0cmluZycgJiYga2V5LmluZGV4T2YoJyQnKSA9PT0gMCkge1xuICAgICAgICBwYXJhbXNTdHIucHVzaChgJHtrZXkucmVwbGFjZSgnJCcsICcnKX06ICR7cGFyYW1zW2tleV19YCk7XG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiBwYXJhbXNba2V5XSA9PT0gJ251bWJlcicgfHwgdHlwZW9mIHBhcmFtc1trZXldID09PSAnYm9vbGVhbicgfHwgcGFyYW1zW2tleV0gPT09IG51bGwpIHtcbiAgICAgICAgcGFyYW1zU3RyLnB1c2goYCR7a2V5fTogJHtwYXJhbXNba2V5XX1gKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIEpTT04uc3RyaW5naWZ5IHlpZWxkcyBhIHZhbGlkIEdyYXBoUUwgc3RyaW5nIGxpdGVyYWwgKHNhbWUgZXNjYXBlXG4gICAgICAgIC8vIHNlcXVlbmNlcyksIHNvIHVzZXIgaW5wdXQgY29udGFpbmluZyBcIiBvciBcXCBkb2Vzbid0IGJyZWFrIHRoZSBxdWVyeS5cbiAgICAgICAgcGFyYW1zU3RyLnB1c2goYCR7a2V5fTogJHtKU09OLnN0cmluZ2lmeShwYXJhbXNba2V5XSl9YCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIHBhcmFtc1N0ci5qb2luKCcgJyk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -163,7 +163,9 @@ class ApolloProvider {
|
|
|
163
163
|
arrStr.push(`${val}`);
|
|
164
164
|
}
|
|
165
165
|
else {
|
|
166
|
-
|
|
166
|
+
// JSON.stringify yields a valid GraphQL string literal (same escape
|
|
167
|
+
// sequences), so user input containing " or \ doesn't break the query.
|
|
168
|
+
arrStr.push(JSON.stringify(val));
|
|
167
169
|
}
|
|
168
170
|
});
|
|
169
171
|
paramsStr.push(`${key}: [${arrStr.join(',')}]`);
|
|
@@ -179,7 +181,9 @@ class ApolloProvider {
|
|
|
179
181
|
paramsStr.push(`${key}: ${params[key]}`);
|
|
180
182
|
}
|
|
181
183
|
else {
|
|
182
|
-
|
|
184
|
+
// JSON.stringify yields a valid GraphQL string literal (same escape
|
|
185
|
+
// sequences), so user input containing " or \ doesn't break the query.
|
|
186
|
+
paramsStr.push(`${key}: ${JSON.stringify(params[key])}`);
|
|
183
187
|
}
|
|
184
188
|
});
|
|
185
189
|
return paramsStr.join(' ');
|
|
@@ -1 +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/directives/click-outside.directive.ts","../../../projects/n7-boilerplate-common/src/lib/components/grid/grid.ts","../../../projects/n7-boilerplate-common/src/lib/components/grid/grid.html","../../../projects/n7-boilerplate-common/src/lib/components/container/container.ts","../../../projects/n7-boilerplate-common/src/lib/components/container/container.html","../../../projects/n7-boilerplate-common/src/lib/components/side-scroller/side-scroller.ts","../../../projects/n7-boilerplate-common/src/lib/components/side-scroller/side-scroller.html","../../../projects/n7-boilerplate-common/src/lib/pipes/trans.pipe.ts","../../../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 headerEvents: ReplaySubject<any>;\n footer: ReplaySubject<any>;\n footerEvents: 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 headerEvents: new ReplaySubject(),\n footer: new ReplaySubject(),\n footerEvents: 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';\nimport { CommunicationOptions } from '../communication.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$<T>(providerConfig, requestId: string, options: CommunicationOptions<T>) {\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 {\n ...httpOptions,\n responseType: 'json' // force to json\n },\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';\nimport { CommunicationOptions } from '../communication.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RestProvider implements CommunicationProvider {\n constructor(\n private http: HttpClient,\n ) {}\n\n request$<T>(providerConfig, requestId, options: CommunicationOptions<T>) {\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\n const formattedUrl = this.getFormattedUrl(providerConfig.baseUrl, point, urlParams);\n if (['POST', 'PUT', 'PATCH'].includes(method)) {\n return this.http[method.toLowerCase()](\n formattedUrl,\n params,\n httpOptions\n );\n } if (['GET', 'DELETE'].includes(method)) {\n return this.http[method.toLowerCase()](\n formattedUrl,\n httpOptions\n );\n }\n throw Error(`Rest method ${method} not supported`);\n }\n\n private getFormattedUrl(baseUrl: string, point: string, urlParams: string | object) {\n if (typeof urlParams === 'string') {\n return baseUrl + point + urlParams;\n }\n return baseUrl + this.parseUrlPlaceholders(point, urlParams);\n }\n\n private parseUrlPlaceholders(source: string, placeholders: object) {\n return source.replace(/{\\s*\\w+\\s*}/g, (match) => {\n const key = match.replace(/{|}/g, '').trim();\n return placeholders[key] || match;\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { catchError } from 'rxjs/operators';\nimport { Observable, EMPTY } from 'rxjs';\nimport {\n HttpContext, HttpHeaders, HttpParams\n} from '@angular/common/http';\nimport { ConfigurationService } from './configuration.service';\nimport { ApolloProvider } from './communication-providers/apollo.provider';\nimport { RestProvider } from './communication-providers/rest.provider';\nimport { ConfigCommonCommunication } from '../config-types';\n\nexport type CommunicationQueryParams = HttpParams | {\n [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\n};\n\nexport type CommunicationHttpOptions = {\n body?: any;\n context?: HttpContext;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n params?: CommunicationQueryParams;\n headers?: HttpHeaders | {\n [header: string]: string | string[];\n };\n}\n\nexport type CommunicationOptions<U> = {\n method?: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';\n params?: U;\n urlParams?: string | object;\n queryParams?: CommunicationQueryParams;\n httpOptions?: CommunicationHttpOptions;\n onError?: (err) => void;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CommunicationService {\n private defaultProvider: string;\n\n private communicationConfig: ConfigCommonCommunication;\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$<T = any, U = any>(\n requestId: string,\n options?: CommunicationOptions<U>,\n provider?: string\n ): Observable<T> {\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 check 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 requestOptions = options || {};\n\n // adding query params\n // to http client httpoptions params\n if (requestOptions.queryParams) {\n requestOptions.httpOptions = {\n ...(requestOptions.httpOptions || {}),\n params: requestOptions.queryParams\n };\n }\n\n const { onError } = options || {};\n return this[activeProviderType].request$<T>(activeProviderConfig, requestId, requestOptions)\n .pipe(\n catchError((error) => this.handleError(error, onError)),\n );\n }\n\n handleError(error, onError: (err) => void): 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 getUrl(requestId?, 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 const { baseUrl } = activeProviderConfig;\n\n if (!requestId) {\n return baseUrl;\n }\n\n if (!activeProviderConfig.config[requestId]) {\n throw Error(`There is no config for \"${requestId}\"`);\n }\n return baseUrl + activeProviderConfig.config[requestId];\n }\n}\n","import { LayoutBuilder } from '@net7/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 '@net7/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 this.mainState.get$('footer').subscribe((val) => {\n this.one('footer').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 '@net7/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<void> = 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 this.outerEvents$.subscribe(({ type, payload }) => {\n // header events\n if (type.indexOf('header') === 0) {\n this.mainState.update('headerEvents', { type, payload });\n }\n // footer events\n if (type.indexOf('footer') === 0) {\n this.mainState.update('footerEvents', { type, payload });\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 '@net7/core';\nimport { HeaderData } from '@net7/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 '@net7/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 '@net7/core';\nimport { BreadcrumbsData } from '@net7/components';\n\nexport class BreadcrumbsDS extends DataSource {\n protected transform(data): BreadcrumbsData | null {\n return data;\n }\n}\n","import { DataSource } from '@net7/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 '@net7/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 '@net7/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 '@net7/core';\n\nexport class HeaderEH extends EventHandler {\n public listen() {\n this.innerEvents$.subscribe(({ type, payload }) => {\n // redirect event\n this.emitOuter(type.replace(`${this.hostId}.`, ''), payload);\n\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 '@net7/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 '@net7/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 '@net7/core';\n\nexport class FooterEH extends EventHandler {\n public listen() {\n this.innerEvents$.subscribe(({ type, payload }) => {\n // redirect event\n this.emitOuter(type.replace(`${this.hostId}.`, ''), payload);\n });\n }\n}\n","import { EventHandler } from '@net7/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 '@net7/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 '@net7/core';\nimport { Subject } from 'rxjs';\n\nexport class Page404LayoutEH extends EventHandler {\n private destroyed$: Subject<void> = 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 {\n Directive, ElementRef, Output, EventEmitter, HostListener\n} from '@angular/core';\n\n@Directive({\n selector: '[clickOutside]'\n})\nexport class ClickOutsideDirective {\n constructor(private _elementRef: ElementRef) {\n }\n\n @Output()\n public clickOutside = new EventEmitter<MouseEvent>();\n\n @HostListener('document:click', ['$event', '$event.target'])\n public onClick(event: MouseEvent, targetElement: HTMLElement): void {\n if (!targetElement) {\n return;\n }\n\n const clickedInside = this._elementRef.nativeElement.contains(targetElement);\n if (!clickedInside) {\n this.clickOutside.emit(event);\n }\n }\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'n7-grid',\n templateUrl: './grid.html',\n})\n\nexport class GridComponent {\n /**\n * Sets the grid-template-column css attribute\n * defines the width of each column.\n *\n * https://developer.mozilla.org/en-US/docs/Web/CSS/grid-template-columns\n */\n @Input() templateColumns: string;\n\n /**\n * Additional classes for the root element.\n */\n @Input() classes: string;\n}\n","<div\n class=\"n7-grid {{classes || ''}}\"\n [ngStyle]=\"{'grid-template-columns': templateColumns}\"\n>\n <ng-content></ng-content>\n</div>\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'n7-container',\n templateUrl: './container.html',\n})\n\nexport class ContainerComponent {\n /**\n * When true, enables responsiveness\n * and fills the available space\n */\n @Input() fluid: boolean;\n\n /**\n * Additional classes for the container element\n */\n @Input() classes: string;\n}\n","<div class=\"n7-container {{classes || ''}}\" [ngClass]=\"{'is-fluid': fluid}\">\n <ng-content></ng-content>\n</div>\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'n7-side-scroller',\n templateUrl: './side-scroller.html',\n})\n\nexport class SideScrollerComponent {\n /**\n * Additional classes for the root element.\n */\n @Input() classes: string;\n}\n","<div\n class=\"n7-side-scroller {{classes || ''}} \"\n>\n <ng-content></ng-content>\n</div>","import { Pipe, PipeTransform } from '@angular/core';\nimport { translate, _t } from '@net7/core';\n\nexport interface TranslationString {\n [T: string]: string;\n}\n\nexport function getLanguage() {\n return translate.getCurrentLang();\n}\n\nexport function getTranslation(s: TranslationString | string, language: string = null): string {\n if (!s) return '';\n if (typeof s === 'string') {\n return s;\n }\n if (language && s[language]) {\n return s[language];\n }\n return s[getLanguage()] || s.en;\n}\n\n@Pipe({\n name: 'tranz'\n})\nexport class TranzPipe implements PipeTransform {\n public static tranzform(value: unknown, ...args: unknown[]): string {\n let lang: string = null;\n if (args.length > 0 && typeof (args[0]) === 'string') {\n lang = args[0] as string;\n }\n if (typeof (value) === 'string') {\n if (args.length > 1 && typeof (args[1]) === 'number' && args[1] !== 1) {\n return _t(`${value}s`);\n }\n return _t(value);\n }\n if (typeof (value) === 'object') {\n return getTranslation(value as TranslationString, lang);\n }\n return value as string;\n }\n\n transform(value: unknown, ...args: unknown[]): string {\n return TranzPipe.tranzform(value, ...args);\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { HttpClientModule } from '@angular/common/http';\nimport { DvComponentsLibModule } from '@net7/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\n// directives\nimport { ClickOutsideDirective } from './directives/click-outside.directive';\nimport { GridComponent } from './components/grid/grid';\nimport { ContainerComponent } from './components/container/container';\nimport { SideScrollerComponent } from './components/side-scroller/side-scroller';\nimport { TranzPipe } from './pipes/trans.pipe';\n\nconst DECLARATIONS = [\n MainLayoutComponent,\n Page404LayoutComponent,\n SmartPaginationComponent,\n ClickOutsideDirective,\n GridComponent,\n ContainerComponent,\n SideScrollerComponent,\n TranzPipe,\n];\n\n@NgModule({\n declarations: DECLARATIONS,\n imports: [\n CommonModule,\n HttpClientModule,\n DvComponentsLibModule,\n ],\n providers: [],\n exports: DECLARATIONS\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 { isObject, 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 // merge config\n Object.keys(response).forEach((key) => {\n const oldValue = this.config.get(key);\n const newValue = response[key];\n const mergeValue = this.mergeConfigKey(oldValue, newValue);\n this.config.set(key, mergeValue);\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 public mergeConfigKey(oldValue, newValue) {\n if (isObject(oldValue) && isObject(newValue)) {\n return merge(oldValue, newValue);\n }\n return newValue || oldValue;\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';\nexport * from './lib/directives';\nexport * from './lib/pipes';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.ConfigurationService","i1.ConfigurationService","i2.ApolloProvider","i3.RestProvider","config","i1","i3.LayoutsConfigurationService","i4.MainStateService","i7","i1.LayoutsConfigurationService","i2"],"mappings":"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"}
|
|
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/directives/click-outside.directive.ts","../../../projects/n7-boilerplate-common/src/lib/components/grid/grid.ts","../../../projects/n7-boilerplate-common/src/lib/components/grid/grid.html","../../../projects/n7-boilerplate-common/src/lib/components/container/container.ts","../../../projects/n7-boilerplate-common/src/lib/components/container/container.html","../../../projects/n7-boilerplate-common/src/lib/components/side-scroller/side-scroller.ts","../../../projects/n7-boilerplate-common/src/lib/components/side-scroller/side-scroller.html","../../../projects/n7-boilerplate-common/src/lib/pipes/trans.pipe.ts","../../../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 headerEvents: ReplaySubject<any>;\n footer: ReplaySubject<any>;\n footerEvents: 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 headerEvents: new ReplaySubject(),\n footer: new ReplaySubject(),\n footerEvents: 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';\nimport { CommunicationOptions } from '../communication.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$<T>(providerConfig, requestId: string, options: CommunicationOptions<T>) {\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 {\n ...httpOptions,\n responseType: 'json' // force to json\n },\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 // JSON.stringify yields a valid GraphQL string literal (same escape\n // sequences), so user input containing \" or \\ doesn't break the query.\n arrStr.push(JSON.stringify(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 // JSON.stringify yields a valid GraphQL string literal (same escape\n // sequences), so user input containing \" or \\ doesn't break the query.\n paramsStr.push(`${key}: ${JSON.stringify(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';\nimport { CommunicationOptions } from '../communication.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RestProvider implements CommunicationProvider {\n constructor(\n private http: HttpClient,\n ) {}\n\n request$<T>(providerConfig, requestId, options: CommunicationOptions<T>) {\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\n const formattedUrl = this.getFormattedUrl(providerConfig.baseUrl, point, urlParams);\n if (['POST', 'PUT', 'PATCH'].includes(method)) {\n return this.http[method.toLowerCase()](\n formattedUrl,\n params,\n httpOptions\n );\n } if (['GET', 'DELETE'].includes(method)) {\n return this.http[method.toLowerCase()](\n formattedUrl,\n httpOptions\n );\n }\n throw Error(`Rest method ${method} not supported`);\n }\n\n private getFormattedUrl(baseUrl: string, point: string, urlParams: string | object) {\n if (typeof urlParams === 'string') {\n return baseUrl + point + urlParams;\n }\n return baseUrl + this.parseUrlPlaceholders(point, urlParams);\n }\n\n private parseUrlPlaceholders(source: string, placeholders: object) {\n return source.replace(/{\\s*\\w+\\s*}/g, (match) => {\n const key = match.replace(/{|}/g, '').trim();\n return placeholders[key] || match;\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { catchError } from 'rxjs/operators';\nimport { Observable, EMPTY } from 'rxjs';\nimport {\n HttpContext, HttpHeaders, HttpParams\n} from '@angular/common/http';\nimport { ConfigurationService } from './configuration.service';\nimport { ApolloProvider } from './communication-providers/apollo.provider';\nimport { RestProvider } from './communication-providers/rest.provider';\nimport { ConfigCommonCommunication } from '../config-types';\n\nexport type CommunicationQueryParams = HttpParams | {\n [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\n};\n\nexport type CommunicationHttpOptions = {\n body?: any;\n context?: HttpContext;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n params?: CommunicationQueryParams;\n headers?: HttpHeaders | {\n [header: string]: string | string[];\n };\n}\n\nexport type CommunicationOptions<U> = {\n method?: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';\n params?: U;\n urlParams?: string | object;\n queryParams?: CommunicationQueryParams;\n httpOptions?: CommunicationHttpOptions;\n onError?: (err) => void;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CommunicationService {\n private defaultProvider: string;\n\n private communicationConfig: ConfigCommonCommunication;\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$<T = any, U = any>(\n requestId: string,\n options?: CommunicationOptions<U>,\n provider?: string\n ): Observable<T> {\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 check 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 requestOptions = options || {};\n\n // adding query params\n // to http client httpoptions params\n if (requestOptions.queryParams) {\n requestOptions.httpOptions = {\n ...(requestOptions.httpOptions || {}),\n params: requestOptions.queryParams\n };\n }\n\n const { onError } = options || {};\n return this[activeProviderType].request$<T>(activeProviderConfig, requestId, requestOptions)\n .pipe(\n catchError((error) => this.handleError(error, onError)),\n );\n }\n\n handleError(error, onError: (err) => void): 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 getUrl(requestId?, 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 const { baseUrl } = activeProviderConfig;\n\n if (!requestId) {\n return baseUrl;\n }\n\n if (!activeProviderConfig.config[requestId]) {\n throw Error(`There is no config for \"${requestId}\"`);\n }\n return baseUrl + activeProviderConfig.config[requestId];\n }\n}\n","import { LayoutBuilder } from '@net7/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 '@net7/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 this.mainState.get$('footer').subscribe((val) => {\n this.one('footer').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 '@net7/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<void> = 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 this.outerEvents$.subscribe(({ type, payload }) => {\n // header events\n if (type.indexOf('header') === 0) {\n this.mainState.update('headerEvents', { type, payload });\n }\n // footer events\n if (type.indexOf('footer') === 0) {\n this.mainState.update('footerEvents', { type, payload });\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 '@net7/core';\nimport { HeaderData } from '@net7/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 '@net7/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 '@net7/core';\nimport { BreadcrumbsData } from '@net7/components';\n\nexport class BreadcrumbsDS extends DataSource {\n protected transform(data): BreadcrumbsData | null {\n return data;\n }\n}\n","import { DataSource } from '@net7/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 '@net7/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 '@net7/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 '@net7/core';\n\nexport class HeaderEH extends EventHandler {\n public listen() {\n this.innerEvents$.subscribe(({ type, payload }) => {\n // redirect event\n this.emitOuter(type.replace(`${this.hostId}.`, ''), payload);\n\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 '@net7/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 '@net7/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 '@net7/core';\n\nexport class FooterEH extends EventHandler {\n public listen() {\n this.innerEvents$.subscribe(({ type, payload }) => {\n // redirect event\n this.emitOuter(type.replace(`${this.hostId}.`, ''), payload);\n });\n }\n}\n","import { EventHandler } from '@net7/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 '@net7/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 '@net7/core';\nimport { Subject } from 'rxjs';\n\nexport class Page404LayoutEH extends EventHandler {\n private destroyed$: Subject<void> = 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 {\n Directive, ElementRef, Output, EventEmitter, HostListener\n} from '@angular/core';\n\n@Directive({\n selector: '[clickOutside]'\n})\nexport class ClickOutsideDirective {\n constructor(private _elementRef: ElementRef) {\n }\n\n @Output()\n public clickOutside = new EventEmitter<MouseEvent>();\n\n @HostListener('document:click', ['$event', '$event.target'])\n public onClick(event: MouseEvent, targetElement: HTMLElement): void {\n if (!targetElement) {\n return;\n }\n\n const clickedInside = this._elementRef.nativeElement.contains(targetElement);\n if (!clickedInside) {\n this.clickOutside.emit(event);\n }\n }\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'n7-grid',\n templateUrl: './grid.html',\n})\n\nexport class GridComponent {\n /**\n * Sets the grid-template-column css attribute\n * defines the width of each column.\n *\n * https://developer.mozilla.org/en-US/docs/Web/CSS/grid-template-columns\n */\n @Input() templateColumns: string;\n\n /**\n * Additional classes for the root element.\n */\n @Input() classes: string;\n}\n","<div\n class=\"n7-grid {{classes || ''}}\"\n [ngStyle]=\"{'grid-template-columns': templateColumns}\"\n>\n <ng-content></ng-content>\n</div>\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'n7-container',\n templateUrl: './container.html',\n})\n\nexport class ContainerComponent {\n /**\n * When true, enables responsiveness\n * and fills the available space\n */\n @Input() fluid: boolean;\n\n /**\n * Additional classes for the container element\n */\n @Input() classes: string;\n}\n","<div class=\"n7-container {{classes || ''}}\" [ngClass]=\"{'is-fluid': fluid}\">\n <ng-content></ng-content>\n</div>\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'n7-side-scroller',\n templateUrl: './side-scroller.html',\n})\n\nexport class SideScrollerComponent {\n /**\n * Additional classes for the root element.\n */\n @Input() classes: string;\n}\n","<div\n class=\"n7-side-scroller {{classes || ''}} \"\n>\n <ng-content></ng-content>\n</div>","import { Pipe, PipeTransform } from '@angular/core';\nimport { translate, _t } from '@net7/core';\n\nexport interface TranslationString {\n [T: string]: string;\n}\n\nexport function getLanguage() {\n return translate.getCurrentLang();\n}\n\nexport function getTranslation(s: TranslationString | string, language: string = null): string {\n if (!s) return '';\n if (typeof s === 'string') {\n return s;\n }\n if (language && s[language]) {\n return s[language];\n }\n return s[getLanguage()] || s.en;\n}\n\n@Pipe({\n name: 'tranz'\n})\nexport class TranzPipe implements PipeTransform {\n public static tranzform(value: unknown, ...args: unknown[]): string {\n let lang: string = null;\n if (args.length > 0 && typeof (args[0]) === 'string') {\n lang = args[0] as string;\n }\n if (typeof (value) === 'string') {\n if (args.length > 1 && typeof (args[1]) === 'number' && args[1] !== 1) {\n return _t(`${value}s`);\n }\n return _t(value);\n }\n if (typeof (value) === 'object') {\n return getTranslation(value as TranslationString, lang);\n }\n return value as string;\n }\n\n transform(value: unknown, ...args: unknown[]): string {\n return TranzPipe.tranzform(value, ...args);\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { HttpClientModule } from '@angular/common/http';\nimport { DvComponentsLibModule } from '@net7/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\n// directives\nimport { ClickOutsideDirective } from './directives/click-outside.directive';\nimport { GridComponent } from './components/grid/grid';\nimport { ContainerComponent } from './components/container/container';\nimport { SideScrollerComponent } from './components/side-scroller/side-scroller';\nimport { TranzPipe } from './pipes/trans.pipe';\n\nconst DECLARATIONS = [\n MainLayoutComponent,\n Page404LayoutComponent,\n SmartPaginationComponent,\n ClickOutsideDirective,\n GridComponent,\n ContainerComponent,\n SideScrollerComponent,\n TranzPipe,\n];\n\n@NgModule({\n declarations: DECLARATIONS,\n imports: [\n CommonModule,\n HttpClientModule,\n DvComponentsLibModule,\n ],\n providers: [],\n exports: DECLARATIONS\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 { isObject, 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 // merge config\n Object.keys(response).forEach((key) => {\n const oldValue = this.config.get(key);\n const newValue = response[key];\n const mergeValue = this.mergeConfigKey(oldValue, newValue);\n this.config.set(key, mergeValue);\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 public mergeConfigKey(oldValue, newValue) {\n if (isObject(oldValue) && isObject(newValue)) {\n return merge(oldValue, newValue);\n }\n return newValue || oldValue;\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';\nexport * from './lib/directives';\nexport * from './lib/pipes';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.ConfigurationService","i1.ConfigurationService","i2.ApolloProvider","i3.RestProvider","config","i1","i3.LayoutsConfigurationService","i4.MainStateService","i7","i1.LayoutsConfigurationService","i2"],"mappings":"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"}
|