@pepperi/lib
Version:
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 10.0.1.
1,055 lines (1,038 loc) • 168 kB
JavaScript
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@angular/common/http'), require('@angular/platform-browser'), require('@angular/platform-browser/animations'), require('@angular/forms'), require('rxjs'), require('rxjs/operators'), require('@ngx-translate/core')) :
typeof define === 'function' && define.amd ? define('@pepperi/lib', ['exports', '@angular/core', '@angular/common', '@angular/common/http', '@angular/platform-browser', '@angular/platform-browser/animations', '@angular/forms', 'rxjs', 'rxjs/operators', '@ngx-translate/core'], factory) :
(global = global || self, factory((global.pepperi = global.pepperi || {}, global.pepperi.lib = {}), global.ng.core, global.ng.common, global.ng.common.http, global.ng.platformBrowser, global.ng.platformBrowser.animations, global.ng.forms, global.rxjs, global.rxjs.operators, global.translate));
}(this, (function (exports, i0, common, i2, i1, animations, i2$1, rxjs, operators, i1$1) { 'use strict';
var JwtHelperService = /** @class */ (function () {
function JwtHelperService() {
}
JwtHelperService.prototype.urlBase64Decode = function (str) {
var output = str.replace(/-/g, '+').replace(/_/g, '/');
switch (output.length % 4) {
case 0: {
break;
}
case 2: {
output += '==';
break;
}
case 3: {
output += '=';
break;
}
default: {
throw new Error('Illegal base64url string!');
}
}
return this.b64DecodeUnicode(output);
};
// credits for decoder goes to https://github.com/atk
JwtHelperService.prototype.b64decode = function (str) {
var chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
var output = '';
str = String(str).replace(/=+$/, '');
if (str.length % 4 === 1) {
throw new Error('\'atob\' failed: The string to be decoded is not correctly encoded.');
}
for (
// initialize result and counters
var bc = 0, bs = void 0, buffer = void 0, idx = 0;
// get next character
(buffer = str.charAt(idx++));
// character found in table? initialize bit storage and add its ascii value;
~buffer &&
((bs = bc % 4 ? bs * 64 + buffer : buffer),
// and if not first of each 4 characters,
// convert the first 8 bits to one ascii character
bc++ % 4)
? (output += String.fromCharCode(255 & (bs >> ((-2 * bc) & 6))))
: 0) {
// try to find character in table (0-63, not found => -1)
buffer = chars.indexOf(buffer);
}
return output;
};
JwtHelperService.prototype.b64DecodeUnicode = function (str) {
return decodeURIComponent(Array.prototype.map
.call(this.b64decode(str), function (c) {
return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
})
.join(''));
};
JwtHelperService.prototype.decodeToken = function (token) {
if (!token || token === '') {
return null;
}
var parts = token.split('.');
if (parts.length !== 3) {
throw new Error('The inspected token doesn\'t appear to be a JWT. Check to make sure it has three parts and see https://jwt.io for more.');
}
var decoded = this.urlBase64Decode(parts[1]);
if (!decoded) {
throw new Error('Cannot decode the token.');
}
return JSON.parse(decoded);
};
JwtHelperService.prototype.getTokenExpirationDate = function (token) {
var decoded;
decoded = this.decodeToken(token);
if (!decoded || !decoded.hasOwnProperty('exp')) {
return null;
}
var date = new Date(0);
date.setUTCSeconds(decoded.exp);
return date;
};
JwtHelperService.prototype.isTokenExpired = function (token, offsetSeconds) {
if (!token || token === '') {
return true;
}
var date = this.getTokenExpirationDate(token);
offsetSeconds = offsetSeconds || 0;
if (date === null) {
return false;
}
return !(date.valueOf() > new Date().valueOf() + offsetSeconds * 1000);
};
JwtHelperService.prototype.getAuthScheme = function (authScheme, request) {
if (typeof authScheme === 'function') {
return authScheme(request);
}
return authScheme;
};
return JwtHelperService;
}());
JwtHelperService.ɵfac = function JwtHelperService_Factory(t) { return new (t || JwtHelperService)(); };
JwtHelperService.ɵprov = i0.ɵɵdefineInjectable({ token: JwtHelperService, factory: JwtHelperService.ɵfac, providedIn: 'root' });
/*@__PURE__*/ (function () {
i0.ɵsetClassMetadata(JwtHelperService, [{
type: i0.Injectable,
args: [{
providedIn: 'root',
}]
}], function () { return []; }, null);
})();
var SessionService = /** @class */ (function () {
function SessionService(jwtHelper) {
this.jwtHelper = jwtHelper;
this.IDP_TOKEN_KEY = 'idp_token';
this.PAPI_BASE_URL_KEY = 'pepperi.baseurl';
this.WAPI_TOKEN_KEY = 'auth_token';
this.WAPI_BASE_URL_KEY = 'serverHostURL';
}
// TODO: Maybe need to move this parse into the c'tor.
SessionService.prototype.getParseToken = function () {
var tokenTest = "eyJhbGciOiJSUzI1NiIsImtpZCI6IjRiYTFjNzJmMTI3NThjYzEzMzg3ZWQ3YTBiZjNlODg3IiwidHlwIjoiSldUIn0.eyJuYmYiOjE1OTY3MjU5NjksImV4cCI6MTU5NjcyNjI2OSwiaXNzIjoiaHR0cHM6Ly9pZHAuc2FuZGJveC5wZXBwZXJpLmNvbSIsImF1ZCI6InBlcHBlcmkud2ViYXBwLmFwcC5zYW5kYm94LnBlcHBlcmkuY29tIiwiaWF0IjoxNTk2NzI1OTY5LCJhdF9oYXNoIjoiSGtmRXJ0Q2JzQ3NzOTVKUm05VmJTdyIsInNpZCI6IjJkNzFiM2JiNWUyNjRiNDk2Y2JmZDkzNmYyNTNhNWIzIiwic3ViIjoiZTJkZmQ0MDYtZDM4Yy00ZmYwLThhZGItMWRlMjI3ODIzYWEyIiwiYXV0aF90aW1lIjoxNTk2NzE4ODA5LCJpZHAiOiJsb2NhbCIsIm5hbWUiOiJkYW5pZWwgZGF2aWRvZmYiLCJlbWFpbCI6ImRhbmllbC5kQHBlcHBlcml0ZXN0LmNvbSIsInBlcHBlcmkuaWQiOjg2OTAzMDQsInBlcHBlcmkudXNlcnV1aWQiOiJlMmRmZDQwNi1kMzhjLTRmZjAtOGFkYi0xZGUyMjc4MjNhYTIiLCJwZXBwZXJpLmRpc3RyaWJ1dG9yaWQiOjMwMDEyMzUxLCJwZXBwZXJpLmRpc3RyaWJ1dG9ydXVpZCI6IjBiZDBlZDc5LThlOWUtNDRmYi05NmY0LThlNTNlZDljZTgyYiIsInBlcHBlcmkuZGF0YWNlbnRlciI6InNhbmRib3giLCJwZXBwZXJpLmtlZXBsb2dpbiI6ZmFsc2UsInBlcHBlcmkuaWRsZXRpbWV3ZWIiOjEyMCwidXBkYXRlZF9hdCI6MTU5NjcwMjgwMCwiZ2l2ZW5fbmFtZSI6ImRhbmllbCIsImZhbWlseV9uYW1lIjoiZGF2aWRvZmYiLCJwZXBwZXJpLmFwaW50YmFzZXVybCI6Imh0dHBzOi8vcmVzdGFwaS5zYW5kYm94LnBlcHBlcmkuY29tIiwicGVwcGVyaS53ZWJhcGliYXNldXJsIjoiaHR0cHM6Ly93ZWJhcGkuc2FuZGJveC5wZXBwZXJpLmNvbS9WMTZfNTAvV2ViQXBwXzYiLCJwZXBwZXJpLnB1YmxpY2FwaWJhc2V1cmwiOiJodHRwczovL2FwaS1zYW5kYm94LnBlcHBlcmkuY29tIiwicGVwcGVyaS5iYXNldXJsIjoiaHR0cHM6Ly9wYXBpLnNhbmRib3gucGVwcGVyaS5jb20vVjEuMCIsInBlcHBlcmkuZW1wbG95ZWV0eXBlIjoxLCJhbXIiOlsicHdkIl19.tNtZT3Cl4dMmTQftoaO2KP5BvHOlWGIP-5GpHrAhZoymBkxBSxpKprQGqr0ATtQlNHjX3gDV1W6k_avaSkyJgDiB2hcwr1tNRilasNuMzNV93gxLC9Oh_HdkIN4cZ0hahIcJvf_17PHpS8zD_MRwvGG_i45wRYJAtiGXChxCMzooethRsLOq5TEwuNbE3MxdjZOpImGYyytmsfdsdJRWQn1LQwQBt95ssuypcUzBsVB34P5XuFttjAe9dhTwHIfgsPG-VdfAWH_r-hVe834wKpKrplSWlC_MucgS0X4XP_tN4CtLnHO2wXKPsojqSTH2NQycfqh6YvT6rzRDBEdQIQ";
var token = this.getIdpToken();
// token = token || tokenTest;
var decodedToken = this.jwtHelper.decodeToken(token);
// const expirationDate = this.jwtHelper.getTokenExpirationDate(token);
// const isExpired = this.jwtHelper.isTokenExpired(token);
return decodedToken;
};
SessionService.prototype.setObject = function (key, object) {
var stringifiedObject = (typeof object === 'string' || object instanceof String) ? object : JSON.stringify(object);
sessionStorage.setItem(key, stringifiedObject.toString());
};
SessionService.prototype.getObject = function (key) {
var result = null;
var item = sessionStorage.getItem(key);
try {
result = item ? JSON.parse(item) : item;
}
catch (_a) {
result = item;
}
return result;
};
SessionService.prototype.getPepperiConsumerToken = function () {
return this.PEPPERI_CONSUMER_TOKEN;
};
SessionService.prototype.gettWapiToken = function () {
return this.getObject(this.WAPI_TOKEN_KEY);
};
SessionService.prototype.getWapiBaseUrl = function () {
return this.getObject(this.WAPI_BASE_URL_KEY);
};
SessionService.prototype.getIdpToken = function () {
return this.getObject(this.IDP_TOKEN_KEY);
};
SessionService.prototype.getPapiBaseUrl = function () {
var tokenObj = this.getParseToken();
return tokenObj ? tokenObj[this.PAPI_BASE_URL_KEY] : null;
};
return SessionService;
}());
SessionService.ɵfac = function SessionService_Factory(t) { return new (t || SessionService)(i0.ɵɵinject(JwtHelperService)); };
SessionService.ɵprov = i0.ɵɵdefineInjectable({ token: SessionService, factory: SessionService.ɵfac, providedIn: 'root' });
/*@__PURE__*/ (function () {
i0.ɵsetClassMetadata(SessionService, [{
type: i0.Injectable,
args: [{
providedIn: 'root',
}]
}], function () { return [{ type: JwtHelperService }]; }, null);
})();
var AuthInterceptor = /** @class */ (function () {
// private SESSION_TOKEN_KEY = 'auth_token';
// private token = 'secrettoken';
// private refreshTokenInProgress = false;
// private refreshTokenSubject: BehaviorSubject<any> = new BehaviorSubject<any>(null);
function AuthInterceptor(sessionService) {
this.sessionService = sessionService;
this.AUTH_HEADER = 'Authorization';
this.PEPPERI_TOKEN_HEADER = 'PepperiSessionToken';
this.PEPPERI_CONSUMER_KEY_HEADER = 'X-Pepperi-ConsumerKey';
}
// Add authorization token if the token exist.
AuthInterceptor.prototype.addAuthorizationToken = function (request) {
if (!request.headers.has(this.AUTH_HEADER)) {
var idpToken = this.sessionService.getIdpToken();
if (idpToken) {
request = request.clone({
headers: request.headers.set(this.AUTH_HEADER, "Bearer " + idpToken)
});
}
}
return request;
};
// Add pepperi consumer token if calling to papi domain.
AuthInterceptor.prototype.addPepperiConsumerToken = function (request) {
if (!request.headers.has(this.PEPPERI_CONSUMER_KEY_HEADER)) {
var papiBaseUrl = this.sessionService.getPapiBaseUrl();
if (papiBaseUrl && request.url.match(new RegExp(papiBaseUrl, 'g'))) {
var pepperiConsumerToken = this.sessionService.getPepperiConsumerToken();
if (pepperiConsumerToken) {
request = request.clone({
headers: request.headers.set(this.PEPPERI_CONSUMER_KEY_HEADER, pepperiConsumerToken)
});
}
}
}
return request;
};
// Add web api token if calling to wapi domain.
AuthInterceptor.prototype.addWebApiToken = function (request) {
if (!request.headers.has(this.PEPPERI_TOKEN_HEADER)) {
var wapiBaseUrl = this.sessionService.getWapiBaseUrl();
if (wapiBaseUrl && request.url.match(new RegExp(wapiBaseUrl, 'g'))) {
var webApiToken = this.sessionService.gettWapiToken();
if (webApiToken) {
request = request.clone({
headers: request.headers.set(this.PEPPERI_TOKEN_HEADER, webApiToken)
});
}
}
}
return request;
};
AuthInterceptor.prototype.intercept = function (req, next) {
console.warn('AuthInterceptor');
// Add content type
if (!req.headers.has('Content-Type')) {
req = req.clone({
headers: req.headers.set('Content-Type', 'application/json')
});
}
req = this.addAuthorizationToken(req);
req = this.addPepperiConsumerToken(req);
req = this.addWebApiToken(req);
return next.handle(req);
// TODO: Check if we need this - this is an advance code that try to refresh the token in case of expired.
// return next.handle(req).pipe(
// catchError((error: HttpErrorResponse) => {
// if (error && error.status === 401) {
// // 401 errors are most likely going to be because we have an expired token that we need to refresh.
// if (this.refreshTokenInProgress) {
// // If refreshTokenInProgress is true, we will wait until refreshTokenSubject has a non-null value
// // which means the new token is ready and we can retry the request again
// return this.refreshTokenSubject.pipe(
// filter(result => result !== null),
// take(1),
// switchMap(() => next.handle(this.addAuthenticationToken(req)))
// );
// } else {
// this.refreshTokenInProgress = true;
// // Set the refreshTokenSubject to null so that subsequent API calls will
// // wait until the new token has been retrieved
// this.refreshTokenSubject.next(null);
// return this.refreshAccessToken().pipe(
// switchMap((success: boolean) => {
// this.refreshTokenSubject.next(success);
// return next.handle(this.addAuthenticationToken(req));
// }),
// // When the call to refreshToken completes we reset the refreshTokenInProgress to false
// // for the next time the token needs to be refreshed
// finalize(() => (this.refreshTokenInProgress = false))
// );
// }
// } else {
// return throwError(error);
// }
// })
// );
};
return AuthInterceptor;
}());
AuthInterceptor.ɵfac = function AuthInterceptor_Factory(t) { return new (t || AuthInterceptor)(i0.ɵɵinject(SessionService)); };
AuthInterceptor.ɵprov = i0.ɵɵdefineInjectable({ token: AuthInterceptor, factory: AuthInterceptor.ɵfac });
/*@__PURE__*/ (function () {
i0.ɵsetClassMetadata(AuthInterceptor, [{
type: i0.Injectable
}], function () { return [{ type: SessionService }]; }, null);
})();
// import { ToastrService } from 'ngx-toastr';
var ErrorInterceptor = /** @class */ (function () {
function ErrorInterceptor() {
}
ErrorInterceptor.prototype.intercept = function (req, next) {
console.warn('ErrorInterceptor');
return next.handle(req)
.pipe(
// retry(2), TODO: Check if we want to retry
operators.catchError(function (error) {
// 401 handled in auth.interceptor
if (error.status !== 401) {
// TODO: Show error in dialog.
// this.toastr.error(error.message);
}
return rxjs.throwError(error);
}));
};
return ErrorInterceptor;
}());
ErrorInterceptor.ɵfac = function ErrorInterceptor_Factory(t) { return new (t || ErrorInterceptor)(); };
ErrorInterceptor.ɵprov = i0.ɵɵdefineInjectable({ token: ErrorInterceptor, factory: ErrorInterceptor.ɵfac });
/*@__PURE__*/ (function () {
i0.ɵsetClassMetadata(ErrorInterceptor, [{
type: i0.Injectable
}], function () { return []; }, null);
})();
var LoaderService = /** @class */ (function () {
function LoaderService() {
this.counter = 0;
this.showLoaderSubject = new rxjs.BehaviorSubject(false);
}
Object.defineProperty(LoaderService.prototype, "onChanged$", {
get: function () {
return this.showLoaderSubject.asObservable().pipe(operators.distinctUntilChanged());
},
enumerable: false,
configurable: true
});
LoaderService.prototype.show = function () {
this.counter++;
this.showLoaderSubject.next(true);
};
LoaderService.prototype.hide = function () {
this.counter--;
if (this.counter === 0) {
this.showLoaderSubject.next(false);
}
};
return LoaderService;
}());
LoaderService.ɵfac = function LoaderService_Factory(t) { return new (t || LoaderService)(); };
LoaderService.ɵprov = i0.ɵɵdefineInjectable({ token: LoaderService, factory: LoaderService.ɵfac, providedIn: 'root' });
/*@__PURE__*/ (function () {
i0.ɵsetClassMetadata(LoaderService, [{
type: i0.Injectable,
args: [{
providedIn: 'root'
}]
}], function () { return []; }, null);
})();
var LoaderInterceptor = /** @class */ (function () {
function LoaderInterceptor(injector) {
this.injector = injector;
}
LoaderInterceptor.prototype.intercept = function (req, next) {
console.warn('LoaderInterceptor');
var loaderService = this.injector.get(LoaderService);
loaderService.show();
// TODO: Remove the delay.
return next.handle(req).pipe(operators.delay(3000), operators.finalize(function () { return loaderService.hide(); }));
};
return LoaderInterceptor;
}());
LoaderInterceptor.ɵfac = function LoaderInterceptor_Factory(t) { return new (t || LoaderInterceptor)(i0.ɵɵinject(i0.Injector)); };
LoaderInterceptor.ɵprov = i0.ɵɵdefineInjectable({ token: LoaderInterceptor, factory: LoaderInterceptor.ɵfac });
/*@__PURE__*/ (function () {
i0.ɵsetClassMetadata(LoaderInterceptor, [{
type: i0.Injectable
}], function () { return [{ type: i0.Injector }]; }, null);
})();
var ProfilerInterceptor = /** @class */ (function () {
function ProfilerInterceptor() {
}
ProfilerInterceptor.prototype.intercept = function (req, next) {
console.warn('ProfilerInterceptor');
var started = Date.now();
var ok;
return next.handle(req).pipe(operators.tap(
// Succeeds when there is a response; ignore other events
function (event) {
if (event instanceof i2.HttpResponse) {
ok = 'succeeded';
}
},
// Operation failed; error is an HttpErrorResponse
function (error) { return (ok = 'failed'); }),
// Log when response observable either completes or errors
operators.finalize(function () {
var elapsed = Date.now() - started;
var msg = req.method + " \"" + req.urlWithParams + "\" " + ok + " in " + elapsed + " ms.";
console.log(msg);
}));
};
return ProfilerInterceptor;
}());
ProfilerInterceptor.ɵfac = function ProfilerInterceptor_Factory(t) { return new (t || ProfilerInterceptor)(); };
ProfilerInterceptor.ɵprov = i0.ɵɵdefineInjectable({ token: ProfilerInterceptor, factory: ProfilerInterceptor.ɵfac });
/*@__PURE__*/ (function () {
i0.ɵsetClassMetadata(ProfilerInterceptor, [{
type: i0.Injectable
}], null, null);
})();
var httpInterceptorProviders = [
{ provide: i2.HTTP_INTERCEPTORS, useClass: AuthInterceptor, multi: true },
// { provide: HTTP_INTERCEPTORS, useClass: CacheInterceptor, multi: true },
// { provide: HTTP_INTERCEPTORS, useClass: ConvertInterceptor, multi: true },
{ provide: i2.HTTP_INTERCEPTORS, useClass: ErrorInterceptor, multi: true },
// { provide: HTTP_INTERCEPTORS, useClass: FakeInterceptor, multi: true },
// { provide: HTTP_INTERCEPTORS, useClass: HeaderInterceptor, multi: true },
{ provide: i2.HTTP_INTERCEPTORS, useClass: LoaderInterceptor, multi: true },
{ provide: i2.HTTP_INTERCEPTORS, useClass: ProfilerInterceptor, multi: true },
];
// Const BIDI_RTL_LANGS Array
// BIDI_RTL_LANGS ref: http://en.wikipedia.org/wiki/Right-to-left
// Table of scripts in Unicode: https://en.wikipedia.org/wiki/Script_(Unicode)
var _BIDI_RTL_LANGS = [
'ae',
'ar',
'arc',
'bcc',
'bqi',
'ckb',
'dv',
'fa',
'glk',
'he',
'ku',
'mzn',
'nqo',
'pnb',
'ps',
'sd',
'ug',
'ur',
'yi' /* 'ייִדיש', Yiddish */
];
(function (ORIENTATION) {
ORIENTATION[ORIENTATION["Landscape"] = 0] = "Landscape";
ORIENTATION[ORIENTATION["Portrait"] = 1] = "Portrait";
})(exports.ORIENTATION || (exports.ORIENTATION = {}));
(function (SCREEN_SIZE) {
SCREEN_SIZE[SCREEN_SIZE["XL"] = 0] = "XL";
SCREEN_SIZE[SCREEN_SIZE["LG"] = 1] = "LG";
SCREEN_SIZE[SCREEN_SIZE["MD"] = 2] = "MD";
SCREEN_SIZE[SCREEN_SIZE["SM"] = 3] = "SM";
SCREEN_SIZE[SCREEN_SIZE["XS"] = 4] = "XS";
})(exports.SCREEN_SIZE || (exports.SCREEN_SIZE = {}));
var LayoutService = /** @class */ (function () {
function LayoutService(translate) {
this.translate = translate;
this.resizeSubject = new rxjs.BehaviorSubject(exports.SCREEN_SIZE.LG);
}
Object.defineProperty(LayoutService.prototype, "onResize$", {
get: function () {
return this.resizeSubject.asObservable().pipe(operators.distinctUntilChanged());
},
enumerable: false,
configurable: true
});
/**
* Set the current screen size.
* @param size The size to change to.
*/
LayoutService.prototype.onResize = function (size) {
this.resizeSubject.next(size);
};
LayoutService.prototype.getOrintation = function () {
if (window.innerHeight > window.innerWidth) {
return exports.ORIENTATION.Portrait;
}
else {
return exports.ORIENTATION.Landscape;
}
};
LayoutService.prototype.getScreenWidth = function () {
var retVal = 250.0;
switch (this.resizeSubject.getValue()) {
case exports.SCREEN_SIZE.XS: {
retVal = this.getOrintation() === exports.ORIENTATION.Landscape ? 130.0 : 65.0;
break;
}
case exports.SCREEN_SIZE.SM:
case exports.SCREEN_SIZE.MD: {
retVal = this.getOrintation() === exports.ORIENTATION.Landscape ? 220.0 : 140.0;
break;
}
case exports.SCREEN_SIZE.LG: {
retVal = this.getOrintation() === exports.ORIENTATION.Landscape ? 400.0 : 250.0;
break;
}
}
return retVal;
};
LayoutService.prototype.getScreenHeight = function () {
var retVal = 250.0;
switch (this.resizeSubject.getValue()) {
case exports.SCREEN_SIZE.XS: {
retVal = this.getOrintation() === exports.ORIENTATION.Landscape ? 65.0 : 130.0;
break;
}
case exports.SCREEN_SIZE.SM:
case exports.SCREEN_SIZE.MD: {
retVal = this.getOrintation() === exports.ORIENTATION.Landscape ? 140.0 : 220.0;
break;
}
case exports.SCREEN_SIZE.LG: {
retVal = this.getOrintation() === exports.ORIENTATION.Landscape ? 250.0 : 400.0;
break;
}
}
return retVal;
};
LayoutService.prototype.getScreenHeightPx = function () {
return window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;
};
LayoutService.prototype.getScreenWidthPx = function () {
return window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
};
LayoutService.prototype.getCurrentLanguage = function () {
return this.translate && this.translate.currentLang || navigator.language;
};
LayoutService.prototype.isRtl = function () {
var userLang = this.getCurrentLanguage();
var isRtl = _BIDI_RTL_LANGS.indexOf(userLang) >= 0;
return isRtl;
};
return LayoutService;
}());
LayoutService.ɵfac = function LayoutService_Factory(t) { return new (t || LayoutService)(i0.ɵɵinject(i1$1.TranslateService)); };
LayoutService.ɵprov = i0.ɵɵdefineInjectable({ token: LayoutService, factory: LayoutService.ɵfac, providedIn: 'root' });
/*@__PURE__*/ (function () {
i0.ɵsetClassMetadata(LayoutService, [{
type: i0.Injectable,
args: [{
providedIn: 'root',
}]
}], function () { return [{ type: i1$1.TranslateService }]; }, null);
})();
var RtlClassDirective = /** @class */ (function () {
function RtlClassDirective(layoutService, renderer, element) {
this.layoutService = layoutService;
this.renderer = renderer;
this.element = element;
}
RtlClassDirective.prototype.ngOnInit = function () {
var isRtl = this.layoutService.isRtl();
if (isRtl) {
this.renderer.addClass(this.element.nativeElement, 'rtl');
}
};
return RtlClassDirective;
}());
RtlClassDirective.ɵfac = function RtlClassDirective_Factory(t) { return new (t || RtlClassDirective)(i0.ɵɵdirectiveInject(LayoutService), i0.ɵɵdirectiveInject(i0.Renderer2), i0.ɵɵdirectiveInject(i0.ElementRef)); };
RtlClassDirective.ɵdir = i0.ɵɵdefineDirective({ type: RtlClassDirective, selectors: [["", "pepRtlClass", ""]] });
/*@__PURE__*/ (function () {
i0.ɵsetClassMetadata(RtlClassDirective, [{
type: i0.Directive,
args: [{
selector: '[pepRtlClass]',
}]
}], function () { return [{ type: LayoutService }, { type: i0.Renderer2 }, { type: i0.ElementRef }]; }, null);
})();
var RtlDirectionDirective = /** @class */ (function () {
function RtlDirectionDirective(layoutService, renderer, element) {
this.layoutService = layoutService;
this.renderer = renderer;
this.element = element;
}
RtlDirectionDirective.prototype.ngOnInit = function () {
var isRtl = this.layoutService.isRtl();
this.renderer.setAttribute(this.element.nativeElement, 'dir', isRtl ? 'rtl' : 'ltr');
};
return RtlDirectionDirective;
}());
RtlDirectionDirective.ɵfac = function RtlDirectionDirective_Factory(t) { return new (t || RtlDirectionDirective)(i0.ɵɵdirectiveInject(LayoutService), i0.ɵɵdirectiveInject(i0.Renderer2), i0.ɵɵdirectiveInject(i0.ElementRef)); };
RtlDirectionDirective.ɵdir = i0.ɵɵdefineDirective({ type: RtlDirectionDirective, selectors: [["", "pepRtlDirection", ""]] });
/*@__PURE__*/ (function () {
i0.ɵsetClassMetadata(RtlDirectionDirective, [{
type: i0.Directive,
args: [{
selector: '[pepRtlDirection]',
}]
}], function () { return [{ type: LayoutService }, { type: i0.Renderer2 }, { type: i0.ElementRef }]; }, null);
})();
var CapitalizePipe = /** @class */ (function () {
function CapitalizePipe() {
}
CapitalizePipe.prototype.transform = function (value) {
if (value) {
return value.charAt(0).toUpperCase() + value.slice(1);
}
return value;
};
return CapitalizePipe;
}());
CapitalizePipe.ɵfac = function CapitalizePipe_Factory(t) { return new (t || CapitalizePipe)(); };
CapitalizePipe.ɵpipe = i0.ɵɵdefinePipe({ name: "capitalize", type: CapitalizePipe, pure: true });
/*@__PURE__*/ (function () {
i0.ɵsetClassMetadata(CapitalizePipe, [{
type: i0.Pipe,
args: [{ name: 'capitalize' }]
}], null, null);
})();
var EncodePipe = /** @class */ (function () {
function EncodePipe() {
}
EncodePipe.prototype.transform = function (value) {
if (value) {
var v = btoa(value);
return v;
}
return value;
};
return EncodePipe;
}());
EncodePipe.ɵfac = function EncodePipe_Factory(t) { return new (t || EncodePipe)(); };
EncodePipe.ɵpipe = i0.ɵɵdefinePipe({ name: "encodePipe", type: EncodePipe, pure: true });
/*@__PURE__*/ (function () {
i0.ɵsetClassMetadata(EncodePipe, [{
type: i0.Pipe,
args: [{ name: 'encodePipe' }]
}], null, null);
})();
var EscapePipe = /** @class */ (function () {
function EscapePipe() {
}
EscapePipe.prototype.transform = function (value) {
if (value) {
var v = escape(value);
return v;
}
return value;
};
return EscapePipe;
}());
EscapePipe.ɵfac = function EscapePipe_Factory(t) { return new (t || EscapePipe)(); };
EscapePipe.ɵpipe = i0.ɵɵdefinePipe({ name: "escapePipe", type: EscapePipe, pure: true });
/*@__PURE__*/ (function () {
i0.ɵsetClassMetadata(EscapePipe, [{
type: i0.Pipe,
args: [{ name: 'escapePipe' }]
}], null, null);
})();
var ReplaceLineBreaks = /** @class */ (function () {
function ReplaceLineBreaks() {
}
ReplaceLineBreaks.prototype.transform = function (value) {
var newValue = value.replace(/(<br\ ?\/?>)/g, ' ');
return newValue;
};
return ReplaceLineBreaks;
}());
ReplaceLineBreaks.ɵfac = function ReplaceLineBreaks_Factory(t) { return new (t || ReplaceLineBreaks)(); };
ReplaceLineBreaks.ɵpipe = i0.ɵɵdefinePipe({ name: "replaceLineBreaks", type: ReplaceLineBreaks, pure: true });
/*@__PURE__*/ (function () {
i0.ɵsetClassMetadata(ReplaceLineBreaks, [{
type: i0.Pipe,
args: [{ name: 'replaceLineBreaks' }]
}], null, null);
})();
var DateFormatter = /** @class */ (function () {
function DateFormatter() {
}
DateFormatter.prototype.transform = function (value, culture, showTime) {
if (showTime === void 0) { showTime = false; }
var res = '';
value = new Date(value);
if (value) {
res = value.toLocaleDateString(culture || 'en-US');
if (showTime) {
res += ' ' + value.toLocaleTimeString((culture || 'en-US'), { hour: '2-digit', minute: '2-digit' });
}
}
return res;
};
return DateFormatter;
}());
DateFormatter.ɵfac = function DateFormatter_Factory(t) { return new (t || DateFormatter)(); };
DateFormatter.ɵpipe = i0.ɵɵdefinePipe({ name: "dateFormatter", type: DateFormatter, pure: true });
/*@__PURE__*/ (function () {
i0.ɵsetClassMetadata(DateFormatter, [{
type: i0.Pipe,
args: [{ name: 'dateFormatter' }]
}], null, null);
})();
var DateStringFormatter = /** @class */ (function () {
function DateStringFormatter() {
}
DateStringFormatter.prototype.transform = function (value, culture, showTime) {
if (showTime === void 0) { showTime = false; }
var res = '';
var tmpDate = new Date(value);
if (value) {
res = tmpDate.toLocaleDateString(culture || 'en-US');
if (showTime) {
res += ' ' + tmpDate.toLocaleTimeString(culture || 'en-US');
}
}
return res;
};
return DateStringFormatter;
}());
DateStringFormatter.ɵfac = function DateStringFormatter_Factory(t) { return new (t || DateStringFormatter)(); };
DateStringFormatter.ɵpipe = i0.ɵɵdefinePipe({ name: "dateStringFormatter", type: DateStringFormatter, pure: true });
/*@__PURE__*/ (function () {
i0.ɵsetClassMetadata(DateStringFormatter, [{
type: i0.Pipe,
args: [{ name: 'dateStringFormatter' }]
}], null, null);
})();
var SafeHtmlPipe = /** @class */ (function () {
function SafeHtmlPipe(sanitizer) {
this.sanitizer = sanitizer;
}
SafeHtmlPipe.prototype.transform = function (html) {
return this.sanitizer.bypassSecurityTrustHtml(html);
};
return SafeHtmlPipe;
}());
SafeHtmlPipe.ɵfac = function SafeHtmlPipe_Factory(t) { return new (t || SafeHtmlPipe)(i0.ɵɵdirectiveInject(i1.DomSanitizer)); };
SafeHtmlPipe.ɵpipe = i0.ɵɵdefinePipe({ name: "safeHtml", type: SafeHtmlPipe, pure: true });
/*@__PURE__*/ (function () {
i0.ɵsetClassMetadata(SafeHtmlPipe, [{
type: i0.Pipe,
args: [{ name: 'safeHtml' }]
}], function () { return [{ type: i1.DomSanitizer }]; }, null);
})();
var SafePipe = /** @class */ (function () {
function SafePipe(sanitizer) {
this.sanitizer = sanitizer;
}
SafePipe.prototype.transform = function (value, type) {
switch (type) {
case 'html': return this.sanitizer.bypassSecurityTrustHtml(value);
case 'style': return this.sanitizer.bypassSecurityTrustStyle(value);
case 'script': return this.sanitizer.bypassSecurityTrustScript(value);
case 'url': return this.sanitizer.bypassSecurityTrustUrl(value);
case 'resourceUrl': return this.sanitizer.bypassSecurityTrustResourceUrl(value);
default: throw new Error("Invalid safe type specified: " + type);
}
};
return SafePipe;
}());
SafePipe.ɵfac = function SafePipe_Factory(t) { return new (t || SafePipe)(i0.ɵɵdirectiveInject(i1.DomSanitizer)); };
SafePipe.ɵpipe = i0.ɵɵdefinePipe({ name: "safe", type: SafePipe, pure: true });
/*@__PURE__*/ (function () {
i0.ɵsetClassMetadata(SafePipe, [{
type: i0.Pipe,
args: [{
name: 'safe'
}]
}], function () { return [{ type: i1.DomSanitizer }]; }, null);
})();
var SplitUppercase = /** @class */ (function () {
function SplitUppercase() {
}
SplitUppercase.prototype.transform = function (value) {
var newValue = value.replace(/([a-z])([A-Z])/g, '$1 $2');
return newValue;
};
return SplitUppercase;
}());
SplitUppercase.ɵfac = function SplitUppercase_Factory(t) { return new (t || SplitUppercase)(); };
SplitUppercase.ɵpipe = i0.ɵɵdefinePipe({ name: "splitUppercase", type: SplitUppercase, pure: true });
/*@__PURE__*/ (function () {
i0.ɵsetClassMetadata(SplitUppercase, [{
type: i0.Pipe,
args: [{ name: 'splitUppercase' }]
}], null, null);
})();
var ToNumber = /** @class */ (function () {
function ToNumber() {
}
ToNumber.prototype.transform = function (value) {
return parseInt(value);
};
return ToNumber;
}());
ToNumber.ɵfac = function ToNumber_Factory(t) { return new (t || ToNumber)(); };
ToNumber.ɵpipe = i0.ɵɵdefinePipe({ name: "toNumber", type: ToNumber, pure: true });
/*@__PURE__*/ (function () {
i0.ɵsetClassMetadata(ToNumber, [{
type: i0.Pipe,
args: [{ name: 'toNumber' }]
}], null, null);
})();
var ButtonBlurDirective = /** @class */ (function () {
function ButtonBlurDirective(element) {
this.element = element;
}
ButtonBlurDirective.prototype.onClick = function () {
var _this = this;
setTimeout(function () {
_this.element.nativeElement.blur();
}, 0);
};
return ButtonBlurDirective;
}());
ButtonBlurDirective.ɵfac = function ButtonBlurDirective_Factory(t) { return new (t || ButtonBlurDirective)(i0.ɵɵdirectiveInject(i0.ElementRef)); };
ButtonBlurDirective.ɵdir = i0.ɵɵdefineDirective({ type: ButtonBlurDirective, selectors: [["", "pepButtonBlur", ""]], hostBindings: function ButtonBlurDirective_HostBindings(rf, ctx) {
if (rf & 1) {
i0.ɵɵlistener("click", function ButtonBlurDirective_click_HostBindingHandler() { return ctx.onClick(); });
}
} });
/*@__PURE__*/ (function () {
i0.ɵsetClassMetadata(ButtonBlurDirective, [{
type: i0.Directive,
args: [{
selector: '[pepButtonBlur]'
}]
}], function () { return [{ type: i0.ElementRef }]; }, { onClick: [{
type: i0.HostListener,
args: ['click']
}] });
})();
var MenuBlurDirective = /** @class */ (function () {
function MenuBlurDirective(element) {
this.element = element;
}
MenuBlurDirective.prototype.menuClosedEvent = function () {
var _this = this;
setTimeout(function () {
_this.element.nativeElement.blur();
}, 0);
};
MenuBlurDirective.prototype.menuOpenedEvent = function () {
var _this = this;
setTimeout(function () {
_this.element.nativeElement.blur();
}, 0);
};
return MenuBlurDirective;
}());
MenuBlurDirective.ɵfac = function MenuBlurDirective_Factory(t) { return new (t || MenuBlurDirective)(i0.ɵɵdirectiveInject(i0.ElementRef)); };
MenuBlurDirective.ɵdir = i0.ɵɵdefineDirective({ type: MenuBlurDirective, selectors: [["", "pepMenuBlur", ""]], hostBindings: function MenuBlurDirective_HostBindings(rf, ctx) {
if (rf & 1) {
i0.ɵɵlistener("menuClosed", function MenuBlurDirective_menuClosed_HostBindingHandler() { return ctx.menuClosedEvent(); })("menuOpened", function MenuBlurDirective_menuOpened_HostBindingHandler() { return ctx.menuOpenedEvent(); });
}
} });
/*@__PURE__*/ (function () {
i0.ɵsetClassMetadata(MenuBlurDirective, [{
type: i0.Directive,
args: [{
selector: '[pepMenuBlur]'
}]
}], function () { return [{ type: i0.ElementRef }]; }, { menuClosedEvent: [{
type: i0.HostListener,
args: ['menuClosed']
}], menuOpenedEvent: [{
type: i0.HostListener,
args: ['menuOpened']
}] });
})();
var PortalService = /** @class */ (function () {
function PortalService() {
this.targets = new Map();
}
PortalService.prototype.addTarget = function (targetName, viewContainer) {
this.targets.set(targetName, viewContainer);
};
PortalService.prototype.attach = function (targetName, template) {
var target = this.getTarget(targetName);
if (target) {
target.createEmbeddedView(template);
}
};
PortalService.prototype.clear = function (targetName) {
var target = this.getTarget(targetName);
if (target) {
target.clear();
}
};
PortalService.prototype.getTarget = function (targetName) {
return this.targets.has(targetName) ? this.targets.get(targetName) : null;
};
return PortalService;
}());
PortalService.ɵfac = function PortalService_Factory(t) { return new (t || PortalService)(); };
PortalService.ɵprov = i0.ɵɵdefineInjectable({ token: PortalService, factory: PortalService.ɵfac, providedIn: 'root' });
/*@__PURE__*/ (function () {
i0.ɵsetClassMetadata(PortalService, [{
type: i0.Injectable,
args: [{
providedIn: 'root',
}]
}], function () { return []; }, null);
})();
var AttachDirective = /** @class */ (function () {
function AttachDirective(portalService, templateRef) {
this.portalService = portalService;
this.templateRef = templateRef;
}
AttachDirective.prototype.ngOnInit = function () {
this.portalService.attach(this.targetName, this.templateRef);
};
AttachDirective.prototype.ngOnDestroy = function () {
this.portalService.clear(this.targetName);
};
return AttachDirective;
}());
AttachDirective.ɵfac = function AttachDirective_Factory(t) { return new (t || AttachDirective)(i0.ɵɵdirectiveInject(PortalService), i0.ɵɵdirectiveInject(i0.TemplateRef)); };
AttachDirective.ɵdir = i0.ɵɵdefineDirective({ type: AttachDirective, selectors: [["", "pepAttach", ""]], inputs: { targetName: ["pepAttach", "targetName"] } });
/*@__PURE__*/ (function () {
i0.ɵsetClassMetadata(AttachDirective, [{
type: i0.Directive,
args: [{
selector: '[pepAttach]',
}]
}], function () { return [{ type: PortalService }, { type: i0.TemplateRef }]; }, { targetName: [{
type: i0.Input,
args: ['pepAttach']
}] });
})();
var TargetDirective = /** @class */ (function () {
function TargetDirective(portalService, viewContainer) {
this.portalService = portalService;
this.viewContainer = viewContainer;
}
TargetDirective.prototype.ngOnInit = function () {
this.portalService.addTarget(this.targetName, this.viewContainer);
};
return TargetDirective;
}());
TargetDirective.ɵfac = function TargetDirective_Factory(t) { return new (t || TargetDirective)(i0.ɵɵdirectiveInject(PortalService), i0.ɵɵdirectiveInject(i0.ViewContainerRef)); };
TargetDirective.ɵdir = i0.ɵɵdefineDirective({ type: TargetDirective, selectors: [["", "pepTarget", ""]], inputs: { targetName: ["pepTarget", "targetName"] } });
/*@__PURE__*/ (function () {
i0.ɵsetClassMetadata(TargetDirective, [{
type: i0.Directive,
args: [{
selector: '[pepTarget]',
}]
}], function () { return [{ type: PortalService }, { type: i0.ViewContainerRef }]; }, { targetName: [{
type: i0.Input,
args: ['pepTarget']
}] });
})();
var layoutList = [
RtlClassDirective,
RtlDirectionDirective,
];
var pipeList = [
CapitalizePipe,
EncodePipe,
EscapePipe,
ReplaceLineBreaks,
DateFormatter,
DateStringFormatter,
SafeHtmlPipe,
SafePipe,
SplitUppercase,
ToNumber
];
var utilitiesList = [
ButtonBlurDirective,
MenuBlurDirective
];
var portalList = [
AttachDirective,
TargetDirective
];
// export class Loader implements TranslateLoader {
// private translations = new Subject();
// $translations = this.translations.asObservable();
// getTranslation(lang: string) {
// console.log(`called with ${lang}`);
// return this.$translations;
// }
// }
// export class Missing implements MissingTranslationHandler {
// handle(params: MissingTranslationHandlerParams) {
// return '... missing translation';
// }
// }
// export function LoaderFactory() {
// ;
// return new Loader();
// }
// export function LoaderFactoryHttp(http: HttpClient) {
// return new TranslateHttpLoader(http, './assets/pepperi-lib/i18n/', '.json');
// }
var PepperiModule = /** @class */ (function () {
function PepperiModule() {
}
return PepperiModule;
}());
PepperiModule.ɵmod = i0.ɵɵdefineNgModule({ type: PepperiModule });
PepperiModule.ɵinj = i0.ɵɵdefineInjector({ factory: function PepperiModule_Factory(t) { return new (t || PepperiModule)(); }, providers: [
httpInterceptorProviders,
], imports: [[
common.CommonModule,
i2.HttpClientModule,
i1.BrowserModule,
animations.BrowserAnimationsModule,
i2$1.ReactiveFormsModule,
i2$1.FormsModule,
], i1$1.TranslateModule] });
(function () {
(typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(PepperiModule, { declarations: [CapitalizePipe,
EncodePipe,
EscapePipe,
ReplaceLineBreaks,
DateFormatter,
DateStringFormatter,
SafeHtmlPipe,
SafePipe,
SplitUppercase,
ToNumber, ButtonBlurDirective,
MenuBlurDirective, RtlClassDirective,
RtlDirectionDirective, AttachDirective,
TargetDirective], imports: [common.CommonModule,
i2.HttpClientModule,
i1.BrowserModule,
animations.BrowserAnimationsModule,
i2$1.ReactiveFormsModule,
i2$1.FormsModule], exports: [CapitalizePipe,
EncodePipe,
EscapePipe,
ReplaceLineBreaks,
DateFormatter,
DateStringFormatter,
SafeHtmlPipe,
SafePipe,
SplitUppercase,
ToNumber, ButtonBlurDirective,
MenuBlurDirective, RtlClassDirective,
RtlDirectionDirective, AttachDirective,
TargetDirective, i1$1.TranslateModule] });
})();
/*@__PURE__*/ (function () {
i0.ɵsetClassMetadata(PepperiModule, [{
type: i0.NgModule,
args: [{
declarations: [
pipeList,
utilitiesList,
layoutList,
portalList
],
providers: [
httpInterceptorProviders,
],
imports: [
common.CommonModule,
i2.HttpClientModul