@pepperi-addons/ngx-lib 0.4.0-angular14.7 → 0.4.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/chips/chips.component.d.ts +93 -0
- package/chips/chips.component.theme.scss +58 -0
- package/chips/chips.model.d.ts +13 -0
- package/chips/chips.module.d.ts +20 -0
- package/chips/chips.service.d.ts +15 -0
- package/chips/index.d.ts +5 -0
- package/chips/public-api.d.ts +3 -0
- package/color/color-picker.component.d.ts +1 -1
- package/core/common/model/wapi.model.d.ts +1 -0
- package/core/common/services/addon.service.d.ts +13 -9
- package/core/common/services/utilities.service.d.ts +5 -4
- package/core/customization/customization.model.d.ts +7 -0
- package/esm2020/address/address.component.mjs +1 -1
- package/esm2020/attachment/attachment.component.mjs +1 -1
- package/esm2020/checkbox/checkbox.component.mjs +1 -1
- package/esm2020/chips/chips.component.mjs +158 -0
- package/esm2020/chips/chips.model.mjs +2 -0
- package/esm2020/chips/chips.module.mjs +81 -0
- package/esm2020/chips/chips.service.mjs +44 -0
- package/esm2020/chips/pepperi-addons-ngx-lib-chips.mjs +5 -0
- package/esm2020/chips/public-api.mjs +7 -0
- package/esm2020/color/color-picker.component.mjs +4 -4
- package/esm2020/color/color.component.mjs +1 -1
- package/esm2020/core/common/model/wapi.model.mjs +1 -1
- package/esm2020/core/common/services/addon.service.mjs +42 -38
- package/esm2020/core/common/services/utilities.service.mjs +66 -13
- package/esm2020/core/customization/customization.model.mjs +10 -1
- package/esm2020/core/http/interceptors/loader.interceptor.mjs +4 -5
- package/esm2020/core/http/services/loader.service.mjs +4 -4
- package/esm2020/date/date.component.mjs +3 -3
- package/esm2020/field-title/field-title.component.mjs +6 -3
- package/esm2020/form/field-generator.component.mjs +7 -7
- package/esm2020/form/form.component.mjs +12 -3
- package/esm2020/form/form.module.mjs +8 -3
- package/esm2020/form/internal-button.component.mjs +1 -1
- package/esm2020/form/internal-carusel.component.mjs +11 -13
- package/esm2020/form/internal-field-generator.component.mjs +3 -3
- package/esm2020/form/internal-form.component.mjs +4 -2
- package/esm2020/form/internal-list.component.mjs +5 -2
- package/esm2020/form/internal-page.component.mjs +15 -18
- package/esm2020/group-buttons/group-buttons.component.mjs +8 -4
- package/esm2020/icon/icon-generated-all.model.mjs +8 -1
- package/esm2020/icon/icon-generated.model.mjs +29 -1
- package/esm2020/image/image.component.mjs +1 -1
- package/esm2020/images-filmstrip/images-filmstrip.component.mjs +3 -91
- package/esm2020/images-filmstrip/images-filmstrip.module.mjs +1 -56
- package/esm2020/link/link.component.mjs +10 -11
- package/esm2020/list/list-pager.component.mjs +1 -1
- package/esm2020/list/list.component.mjs +5 -2
- package/esm2020/list/virtual-scroller.mjs +11 -10
- package/esm2020/menu/menu.component.mjs +11 -3
- package/esm2020/ngx-lib.module.mjs +4 -2
- package/esm2020/page-layout/page-layout.component.mjs +3 -3
- package/esm2020/profile-data-views-list/profile-data-views-list.component.mjs +1 -1
- package/esm2020/quantity-selector/quantity-selector.component.mjs +24 -4
- package/esm2020/query-builder/common/services/query-structure.service.mjs +12 -10
- package/esm2020/query-builder/query-builder-item/query-builder-item.component.mjs +1 -1
- package/esm2020/query-builder/query-builder-section/query-builder-section.component.mjs +1 -1
- package/esm2020/query-builder/query-builder.module.mjs +8 -3
- package/esm2020/remote-loader/addon-block-loader.component.mjs +23 -5
- package/esm2020/remote-loader/addon-block-loader.service.mjs +9 -8
- package/esm2020/remote-loader/public-api.mjs +2 -1
- package/esm2020/remote-loader/remote-loader-element.component.mjs +109 -0
- package/esm2020/remote-loader/remote-loader.component.mjs +40 -62
- package/esm2020/remote-loader/remote-loader.model.mjs +1 -1
- package/esm2020/remote-loader/remote-loader.module.mjs +12 -3
- package/esm2020/remote-loader/remote-loader.service.mjs +50 -26
- package/esm2020/rich-html-textarea/rich-html-textarea.component.mjs +1 -1
- package/esm2020/select/select.component.mjs +33 -7
- package/esm2020/side-bar/side-bar.component.mjs +11 -27
- package/esm2020/side-bar/side-bar.module.mjs +7 -3
- package/esm2020/signature/signature.component.mjs +1 -1
- package/esm2020/size-detector/size-detector.component.mjs +2 -2
- package/esm2020/slider/slider.component.mjs +1 -1
- package/esm2020/smart-filters/boolean-filter/boolean-filter.component.mjs +1 -1
- package/esm2020/smart-filters/common/model/base-filter-component.mjs +1 -1
- package/esm2020/smart-filters/date-filter/date-filter.component.mjs +1 -1
- package/esm2020/smart-filters/multi-select-filter/multi-select-filter.component.mjs +1 -1
- package/esm2020/smart-filters/number-filter/number-filter.component.mjs +3 -3
- package/esm2020/smart-filters/smart-filters.module.mjs +8 -3
- package/esm2020/smart-filters/text-filter/text-filter.component.mjs +1 -1
- package/esm2020/textarea/textarea.component.mjs +1 -1
- package/esm2020/textbox/textbox.component.mjs +55 -15
- package/esm2020/textbox-icon/textbox-icon.component.mjs +2 -2
- package/fesm2015/pepperi-addons-ngx-lib-address.mjs +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-address.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-attachment.mjs +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-attachment.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-checkbox.mjs +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-checkbox.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-chips.mjs +287 -0
- package/fesm2015/pepperi-addons-ngx-lib-chips.mjs.map +1 -0
- package/fesm2015/pepperi-addons-ngx-lib-color.mjs +4 -4
- package/fesm2015/pepperi-addons-ngx-lib-color.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-date.mjs +2 -2
- package/fesm2015/pepperi-addons-ngx-lib-date.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-field-title.mjs +5 -2
- package/fesm2015/pepperi-addons-ngx-lib-field-title.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-form.mjs +53 -40
- package/fesm2015/pepperi-addons-ngx-lib-form.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-group-buttons.mjs +7 -3
- package/fesm2015/pepperi-addons-ngx-lib-group-buttons.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-icon.mjs +36 -1
- package/fesm2015/pepperi-addons-ngx-lib-icon.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-image.mjs +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-image.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-images-filmstrip.mjs +2 -129
- package/fesm2015/pepperi-addons-ngx-lib-images-filmstrip.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-link.mjs +8 -9
- package/fesm2015/pepperi-addons-ngx-lib-link.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-list.mjs +15 -11
- package/fesm2015/pepperi-addons-ngx-lib-list.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-menu.mjs +10 -2
- package/fesm2015/pepperi-addons-ngx-lib-menu.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-page-layout.mjs +2 -2
- package/fesm2015/pepperi-addons-ngx-lib-page-layout.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-profile-data-views-list.mjs +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-profile-data-views-list.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-quantity-selector.mjs +23 -3
- package/fesm2015/pepperi-addons-ngx-lib-quantity-selector.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-query-builder.mjs +17 -10
- package/fesm2015/pepperi-addons-ngx-lib-query-builder.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-remote-loader.mjs +252 -108
- package/fesm2015/pepperi-addons-ngx-lib-remote-loader.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-rich-html-textarea.mjs +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-rich-html-textarea.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-select.mjs +32 -6
- package/fesm2015/pepperi-addons-ngx-lib-select.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-side-bar.mjs +15 -27
- package/fesm2015/pepperi-addons-ngx-lib-side-bar.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-signature.mjs +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-signature.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-size-detector.mjs +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-size-detector.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-slider.mjs +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-slider.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-smart-filters.mjs +13 -8
- package/fesm2015/pepperi-addons-ngx-lib-smart-filters.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-textarea.mjs +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-textarea.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-textbox-icon.mjs +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-textbox-icon.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-textbox.mjs +58 -18
- package/fesm2015/pepperi-addons-ngx-lib-textbox.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib.mjs +130 -58
- package/fesm2015/pepperi-addons-ngx-lib.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-address.mjs +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-address.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-attachment.mjs +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-attachment.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-checkbox.mjs +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-checkbox.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-chips.mjs +287 -0
- package/fesm2020/pepperi-addons-ngx-lib-chips.mjs.map +1 -0
- package/fesm2020/pepperi-addons-ngx-lib-color.mjs +4 -4
- package/fesm2020/pepperi-addons-ngx-lib-color.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-date.mjs +2 -2
- package/fesm2020/pepperi-addons-ngx-lib-date.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-field-title.mjs +5 -2
- package/fesm2020/pepperi-addons-ngx-lib-field-title.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-form.mjs +56 -40
- package/fesm2020/pepperi-addons-ngx-lib-form.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-group-buttons.mjs +7 -3
- package/fesm2020/pepperi-addons-ngx-lib-group-buttons.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-icon.mjs +36 -1
- package/fesm2020/pepperi-addons-ngx-lib-icon.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-image.mjs +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-image.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-images-filmstrip.mjs +2 -129
- package/fesm2020/pepperi-addons-ngx-lib-images-filmstrip.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-link.mjs +8 -9
- package/fesm2020/pepperi-addons-ngx-lib-link.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-list.mjs +15 -11
- package/fesm2020/pepperi-addons-ngx-lib-list.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-menu.mjs +10 -2
- package/fesm2020/pepperi-addons-ngx-lib-menu.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-page-layout.mjs +2 -2
- package/fesm2020/pepperi-addons-ngx-lib-page-layout.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-profile-data-views-list.mjs +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-profile-data-views-list.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-quantity-selector.mjs +23 -3
- package/fesm2020/pepperi-addons-ngx-lib-quantity-selector.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-query-builder.mjs +17 -10
- package/fesm2020/pepperi-addons-ngx-lib-query-builder.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-remote-loader.mjs +233 -101
- package/fesm2020/pepperi-addons-ngx-lib-remote-loader.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-rich-html-textarea.mjs +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-rich-html-textarea.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-select.mjs +32 -6
- package/fesm2020/pepperi-addons-ngx-lib-select.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-side-bar.mjs +15 -27
- package/fesm2020/pepperi-addons-ngx-lib-side-bar.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-signature.mjs +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-signature.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-size-detector.mjs +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-size-detector.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-slider.mjs +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-slider.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-smart-filters.mjs +13 -8
- package/fesm2020/pepperi-addons-ngx-lib-smart-filters.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-textarea.mjs +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-textarea.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-textbox-icon.mjs +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-textbox-icon.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-textbox.mjs +57 -18
- package/fesm2020/pepperi-addons-ngx-lib-textbox.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib.mjs +127 -59
- package/fesm2020/pepperi-addons-ngx-lib.mjs.map +1 -1
- package/field-title/field-title.component.d.ts +2 -1
- package/form/field-generator.component.d.ts +1 -1
- package/form/internal-carusel.component.d.ts +1 -3
- package/form/internal-page.component.d.ts +2 -4
- package/group-buttons/group-buttons.component.d.ts +2 -1
- package/icon/icon-generated-all.model.d.ts +7 -0
- package/icon/icon-generated.model.d.ts +29 -1
- package/link/link.component.d.ts +2 -3
- package/menu/menu.component.d.ts +2 -0
- package/package.json +10 -1
- package/page-layout/page-layout.component.d.ts +1 -1
- package/quantity-selector/quantity-selector.component.d.ts +7 -1
- package/query-builder/common/services/query-structure.service.d.ts +3 -4
- package/remote-loader/addon-block-loader.component.d.ts +10 -6
- package/remote-loader/addon-block-loader.service.d.ts +2 -3
- package/remote-loader/public-api.d.ts +1 -0
- package/remote-loader/remote-loader-element.component.d.ts +30 -0
- package/remote-loader/remote-loader.component.d.ts +3 -5
- package/remote-loader/remote-loader.model.d.ts +16 -11
- package/remote-loader/remote-loader.module.d.ts +8 -6
- package/remote-loader/remote-loader.service.d.ts +5 -7
- package/select/select.component.d.ts +10 -4
- package/side-bar/side-bar.component.d.ts +3 -3
- package/src/assets/i18n/en.ngx-lib.json +4 -0
- package/src/core/style/components/checkbox.scss +20 -1
- package/src/core/style/components/general.scss +5 -4
- package/textbox/textbox.component.d.ts +18 -4
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { Injectable, Directive, Optional, Pipe, Input, HostListener, Inject, PLATFORM_ID, NgModule } from '@angular/core';
|
|
3
|
-
import {
|
|
3
|
+
import { DOCUMENT, isPlatformBrowser, CommonModule } from '@angular/common';
|
|
4
4
|
import * as i3 from '@angular/common/http';
|
|
5
5
|
import { HttpResponse, HTTP_INTERCEPTORS, HttpHeaders, HttpClientModule } from '@angular/common/http';
|
|
6
6
|
import * as i3$1 from '@angular/forms';
|
|
7
|
-
import { FormControl, Validators, ReactiveFormsModule } from '@angular/forms';
|
|
7
|
+
import { FormControl, Validators, ReactiveFormsModule, FormBuilder } from '@angular/forms';
|
|
8
8
|
import { throwError, BehaviorSubject, Subject } from 'rxjs';
|
|
9
|
-
import { catchError, distinctUntilChanged, finalize, tap } from 'rxjs/operators';
|
|
9
|
+
import { catchError, filter, distinctUntilChanged, finalize, tap } from 'rxjs/operators';
|
|
10
10
|
import * as i1 from '@ngx-translate/core';
|
|
11
11
|
import { TranslateModule } from '@ngx-translate/core';
|
|
12
12
|
import * as i1$1 from '@angular/platform-browser';
|
|
13
13
|
import { _isNumberValue, coerceNumberProperty } from '@angular/cdk/coercion';
|
|
14
|
+
import { createCustomElement } from '@angular/elements';
|
|
14
15
|
import { MultiTranslateHttpLoader } from 'ngx-translate-multi-http-loader';
|
|
15
16
|
import * as i6 from '@angular/router';
|
|
16
17
|
|
|
@@ -40,7 +41,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
|
|
|
40
41
|
class PepLoaderService {
|
|
41
42
|
constructor() {
|
|
42
43
|
this.counter = 0;
|
|
43
|
-
this.showLoaderSubject = new BehaviorSubject(
|
|
44
|
+
this.showLoaderSubject = new BehaviorSubject(undefined);
|
|
44
45
|
// Raise custom event for showing the loader.
|
|
45
46
|
this.onChanged$.subscribe((show) => {
|
|
46
47
|
this.showLoaderChanged(show);
|
|
@@ -49,7 +50,7 @@ class PepLoaderService {
|
|
|
49
50
|
get onChanged$() {
|
|
50
51
|
return this.showLoaderSubject
|
|
51
52
|
.asObservable()
|
|
52
|
-
.pipe(distinctUntilChanged());
|
|
53
|
+
.pipe(filter(v => v !== undefined), distinctUntilChanged());
|
|
53
54
|
}
|
|
54
55
|
showLoaderChanged(show) {
|
|
55
56
|
const eventData = {
|
|
@@ -89,14 +90,13 @@ class PepLoaderInterceptor {
|
|
|
89
90
|
}
|
|
90
91
|
intercept(req, next) {
|
|
91
92
|
// console.warn('LoaderInterceptor');
|
|
93
|
+
let newVer = 2;
|
|
92
94
|
const loaderService = this.injector.get(PepLoaderService);
|
|
95
|
+
// console.log('show', req.url);
|
|
93
96
|
loaderService.show();
|
|
94
97
|
return next.handle(req).pipe(
|
|
95
98
|
// delay(3000),
|
|
96
|
-
catchError((err) =>
|
|
97
|
-
loaderService.hide();
|
|
98
|
-
return throwError(err);
|
|
99
|
-
}), finalize(() => loaderService.hide()));
|
|
99
|
+
catchError((err) => throwError(err)), finalize(() => loaderService.hide()));
|
|
100
100
|
// return next.handle(req).pipe(map(event => {
|
|
101
101
|
// if (event instanceof HttpResponse) {
|
|
102
102
|
// loaderService.hide();
|
|
@@ -689,6 +689,9 @@ class PepUtilitiesService {
|
|
|
689
689
|
this.translate = translate;
|
|
690
690
|
this.culture = 'en-US';
|
|
691
691
|
this.culture = this.translate?.getBrowserCultureLang() || 'en-US';
|
|
692
|
+
// try {
|
|
693
|
+
// import(`@angular/common/locales/global/${this.culture}`);
|
|
694
|
+
// } catch {}
|
|
692
695
|
}
|
|
693
696
|
changeDecimalSeperator(value, reverse = false) {
|
|
694
697
|
// If the decimal separator is ','
|
|
@@ -729,6 +732,19 @@ class PepUtilitiesService {
|
|
|
729
732
|
str = new Array(size).join('0').concat(str);
|
|
730
733
|
return str;
|
|
731
734
|
}
|
|
735
|
+
isCurrencyShouldBeOnRight(currencySymbol) {
|
|
736
|
+
let res = false;
|
|
737
|
+
if (currencySymbol == "€" ||
|
|
738
|
+
currencySymbol == "₪" ||
|
|
739
|
+
currencySymbol == "Ft" ||
|
|
740
|
+
currencySymbol == "Kč" ||
|
|
741
|
+
currencySymbol == "руб" ||
|
|
742
|
+
currencySymbol == "zł" ||
|
|
743
|
+
currencySymbol == "kr.") {
|
|
744
|
+
res = true;
|
|
745
|
+
}
|
|
746
|
+
return res;
|
|
747
|
+
}
|
|
732
748
|
parseDate(dateStr, showTime = false) {
|
|
733
749
|
let retVal = null;
|
|
734
750
|
if (dateStr !== '') {
|
|
@@ -790,44 +806,80 @@ class PepUtilitiesService {
|
|
|
790
806
|
const div = document.createElement('DIV');
|
|
791
807
|
// div.className = 'svg-icon';
|
|
792
808
|
// Add class svg-icon
|
|
793
|
-
|
|
809
|
+
if (svgContent?.length > 0) {
|
|
810
|
+
div.innerHTML = svgContent.replace('<svg ', '<svg class="svg-icon" ');
|
|
811
|
+
}
|
|
794
812
|
return (div.querySelector('svg') ||
|
|
795
813
|
document.createElementNS('http://www.w3.org/2000/svg', 'path'));
|
|
796
814
|
}
|
|
797
|
-
formatPercent(value, digitsInfo = '1.0-2') {
|
|
815
|
+
// formatPercent(value: any, digitsInfo = '1.0-2') {
|
|
816
|
+
formatPercent(value, minFractionDigits = 0, maxFractionDigits = 2) {
|
|
817
|
+
minFractionDigits = this.coerceNumberProperty(minFractionDigits, null);
|
|
818
|
+
maxFractionDigits = this.coerceNumberProperty(maxFractionDigits, null);
|
|
798
819
|
const number = this.coerceNumberProperty(value);
|
|
799
820
|
if (number === 0) {
|
|
800
821
|
return '0%';
|
|
801
822
|
}
|
|
802
823
|
else {
|
|
803
|
-
return formatPercent(number / 100, this.culture, digitsInfo);
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
824
|
+
// return formatPercent(number / 100, this.culture, digitsInfo);
|
|
825
|
+
return new Intl.NumberFormat(this.culture, {
|
|
826
|
+
style: 'percent',
|
|
827
|
+
minimumFractionDigits: minFractionDigits || 0,
|
|
828
|
+
maximumFractionDigits: maxFractionDigits || Math.max(2, minFractionDigits),
|
|
829
|
+
}).format(number / 100);
|
|
830
|
+
}
|
|
831
|
+
}
|
|
832
|
+
// formatCurrency(value: any, currencySign = '', digitsInfo = '1.2-2') {
|
|
833
|
+
formatCurrency(value, currencySign = '', minFractionDigits = 0, maxFractionDigits = 2) {
|
|
834
|
+
minFractionDigits = this.coerceNumberProperty(minFractionDigits, null);
|
|
835
|
+
maxFractionDigits = this.coerceNumberProperty(maxFractionDigits, null);
|
|
836
|
+
let res = '';
|
|
807
837
|
const number = this.coerceNumberProperty(value);
|
|
838
|
+
const styleOptions = {
|
|
839
|
+
// style: 'currency',
|
|
840
|
+
// currencySign: currencySign,
|
|
841
|
+
minimumFractionDigits: minFractionDigits || 0,
|
|
842
|
+
maximumFractionDigits: maxFractionDigits || Math.max(2, minFractionDigits),
|
|
843
|
+
};
|
|
808
844
|
if (number === 0) {
|
|
809
|
-
return formatCurrency(0, this.culture, currencySign, undefined, digitsInfo);
|
|
845
|
+
// return formatCurrency(0, this.culture, currencySign, undefined, digitsInfo);
|
|
846
|
+
res = new Intl.NumberFormat(this.culture, styleOptions).format(0);
|
|
810
847
|
}
|
|
811
848
|
else {
|
|
812
|
-
return formatCurrency(value, this.culture, currencySign, undefined, digitsInfo);
|
|
849
|
+
// return formatCurrency(value, this.culture, currencySign, undefined, digitsInfo);
|
|
850
|
+
res = new Intl.NumberFormat(this.culture, styleOptions).format(number);
|
|
813
851
|
}
|
|
852
|
+
res = this.isCurrencyShouldBeOnRight(currencySign) ? `${res} ${currencySign}` : `${currencySign} ${res}`;
|
|
853
|
+
return res;
|
|
814
854
|
}
|
|
815
|
-
formatDecimal(value, digitsInfo = '1.2-2') {
|
|
855
|
+
// formatDecimal(value: any, digitsInfo = '1.2-2') {
|
|
856
|
+
formatDecimal(value, minFractionDigits = 2, maxFractionDigits = 2) {
|
|
857
|
+
minFractionDigits = this.coerceNumberProperty(minFractionDigits, null);
|
|
858
|
+
maxFractionDigits = this.coerceNumberProperty(maxFractionDigits, null);
|
|
816
859
|
const number = this.coerceNumberProperty(value);
|
|
817
860
|
if (number === 0) {
|
|
818
861
|
return '0';
|
|
819
862
|
}
|
|
820
863
|
else {
|
|
821
|
-
return formatNumber(value, this.culture, digitsInfo);
|
|
864
|
+
// return formatNumber(value, this.culture, digitsInfo);
|
|
865
|
+
return new Intl.NumberFormat(this.culture, {
|
|
866
|
+
minimumFractionDigits: minFractionDigits || Math.min(2, maxFractionDigits),
|
|
867
|
+
maximumFractionDigits: maxFractionDigits || Math.max(2, minFractionDigits),
|
|
868
|
+
}).format(number);
|
|
822
869
|
}
|
|
823
870
|
}
|
|
824
|
-
formatNumber(value, digitsInfo = '1.0-0') {
|
|
871
|
+
// formatNumber(value: any, digitsInfo = '1.0-0'): string {
|
|
872
|
+
formatNumber(value) {
|
|
825
873
|
const number = this.coerceNumberProperty(value);
|
|
826
874
|
if (number === 0) {
|
|
827
875
|
return '0';
|
|
828
876
|
}
|
|
829
877
|
else {
|
|
830
|
-
return formatNumber(value, this.culture, digitsInfo);
|
|
878
|
+
// return formatNumber(value, this.culture, digitsInfo);
|
|
879
|
+
return new Intl.NumberFormat(this.culture, {
|
|
880
|
+
minimumFractionDigits: 0,
|
|
881
|
+
maximumFractionDigits: 0,
|
|
882
|
+
}).format(number);
|
|
831
883
|
}
|
|
832
884
|
}
|
|
833
885
|
/**
|
|
@@ -874,7 +926,9 @@ class PepUtilitiesService {
|
|
|
874
926
|
}
|
|
875
927
|
coerceNumberProperty(value, fallbackValue = 0) {
|
|
876
928
|
// If the decimal separator is ',' change it to '.'
|
|
877
|
-
value
|
|
929
|
+
if (value?.length > 0) {
|
|
930
|
+
value = this.changeDecimalSeperator(value);
|
|
931
|
+
}
|
|
878
932
|
return coerceNumberProperty(value, fallbackValue);
|
|
879
933
|
}
|
|
880
934
|
}
|
|
@@ -2314,38 +2368,36 @@ class PepAddonService {
|
|
|
2314
2368
|
this.fileService = fileService;
|
|
2315
2369
|
this.route = route;
|
|
2316
2370
|
this.PAGES_ADDON_UUID = '50062e0c-9967-4ed4-9102-f2bc50602d41';
|
|
2317
|
-
|
|
2371
|
+
// private readonly ADDON_ASSETS_PATH_KEY = 'AddonAssetsPath';
|
|
2318
2372
|
this.ADDONS_DICTIONARY_ASSETS_PATH_KEY = 'AddonsDictionaryAssetsPath';
|
|
2319
2373
|
this.ADDON_API_RELATIVE_PATH = '/addons/api';
|
|
2320
2374
|
this.ADDON_API_ASYNC_RELATIVE_PATH = `${this.ADDON_API_RELATIVE_PATH}/async`;
|
|
2321
2375
|
//
|
|
2322
2376
|
}
|
|
2323
2377
|
get devServer() {
|
|
2324
|
-
return this.route.snapshot.queryParamMap.get('devServer') === 'true';
|
|
2378
|
+
return this.route ? this.route.snapshot.queryParamMap.get('devServer') === 'true' : false;
|
|
2325
2379
|
}
|
|
2326
2380
|
getAddonBaseRelativePath(isAsync = false) {
|
|
2327
2381
|
return isAsync
|
|
2328
2382
|
? this.ADDON_API_ASYNC_RELATIVE_PATH
|
|
2329
2383
|
: this.ADDON_API_RELATIVE_PATH;
|
|
2330
2384
|
}
|
|
2331
|
-
getAddonStaticFolder(
|
|
2332
|
-
if (
|
|
2333
|
-
|
|
2334
|
-
|
|
2335
|
-
}
|
|
2336
|
-
|
|
2337
|
-
|
|
2338
|
-
|
|
2339
|
-
|
|
2340
|
-
|
|
2341
|
-
|
|
2342
|
-
|
|
2343
|
-
|
|
2344
|
-
|
|
2345
|
-
|
|
2346
|
-
|
|
2347
|
-
return this.sessionService.setObject(this.ADDON_ASSETS_PATH_KEY, path);
|
|
2348
|
-
}
|
|
2385
|
+
getAddonStaticFolder(addonUUID) {
|
|
2386
|
+
// if (addonUUID.length > 0) {
|
|
2387
|
+
const addonsDictionary = this.sessionService.getObject(this.ADDONS_DICTIONARY_ASSETS_PATH_KEY);
|
|
2388
|
+
return addonsDictionary && addonsDictionary[addonUUID] ? addonsDictionary[addonUUID] : '';
|
|
2389
|
+
// } else {
|
|
2390
|
+
// return this.sessionService.getObject(this.ADDON_ASSETS_PATH_KEY) || '';
|
|
2391
|
+
// }
|
|
2392
|
+
}
|
|
2393
|
+
setAddonStaticFolder(path, addonUUID) {
|
|
2394
|
+
// if (addonUUID.length > 0) {
|
|
2395
|
+
const addonsDictionary = this.sessionService.getObject(this.ADDONS_DICTIONARY_ASSETS_PATH_KEY) ?? {};
|
|
2396
|
+
addonsDictionary[addonUUID] = path;
|
|
2397
|
+
this.sessionService.setObject(this.ADDONS_DICTIONARY_ASSETS_PATH_KEY, addonsDictionary);
|
|
2398
|
+
// } else {
|
|
2399
|
+
// return this.sessionService.setObject(this.ADDON_ASSETS_PATH_KEY, path);
|
|
2400
|
+
// }
|
|
2349
2401
|
}
|
|
2350
2402
|
getServerBaseUrl(addonUUID, fileName = '', isAsync = false, localhostPort = 4500) {
|
|
2351
2403
|
const fileToAdd = fileName.length > 0 ? `/${fileName}` : '';
|
|
@@ -2386,8 +2438,8 @@ class PepAddonService {
|
|
|
2386
2438
|
this.loaderService.hide();
|
|
2387
2439
|
});
|
|
2388
2440
|
}
|
|
2389
|
-
getNgxLibTranslationResource(
|
|
2390
|
-
const addonStaticFolder = this.getAddonStaticFolder(
|
|
2441
|
+
getNgxLibTranslationResource(addonUUID, libName = 'ngx-lib') {
|
|
2442
|
+
const addonStaticFolder = this.getAddonStaticFolder(addonUUID);
|
|
2391
2443
|
const translationsPath = this.fileService.getAssetsTranslationsPath(addonStaticFolder, libName);
|
|
2392
2444
|
const translationsSuffix = this.fileService.getAssetsTranslationsSuffix(libName);
|
|
2393
2445
|
return {
|
|
@@ -2395,8 +2447,8 @@ class PepAddonService {
|
|
|
2395
2447
|
suffix: translationsSuffix,
|
|
2396
2448
|
};
|
|
2397
2449
|
}
|
|
2398
|
-
getAddonTranslationResource(
|
|
2399
|
-
const addonStaticFolder = this.getAddonStaticFolder(
|
|
2450
|
+
getAddonTranslationResource(addonUUID) {
|
|
2451
|
+
const addonStaticFolder = this.getAddonStaticFolder(addonUUID);
|
|
2400
2452
|
const defaultSubFolder = 'assets/i18n/';
|
|
2401
2453
|
return {
|
|
2402
2454
|
prefix: addonStaticFolder.length > 0 ? `${addonStaticFolder}${defaultSubFolder}` : `/${defaultSubFolder}`,
|
|
@@ -2409,38 +2461,43 @@ class PepAddonService {
|
|
|
2409
2461
|
getPagesAddonUUID() {
|
|
2410
2462
|
return this.PAGES_ADDON_UUID;
|
|
2411
2463
|
}
|
|
2412
|
-
|
|
2413
|
-
|
|
2414
|
-
|
|
2415
|
-
|
|
2416
|
-
|
|
2417
|
-
|
|
2418
|
-
|
|
2419
|
-
|
|
2464
|
+
setShellRouterData(data) {
|
|
2465
|
+
const eventData = {
|
|
2466
|
+
detail: data,
|
|
2467
|
+
};
|
|
2468
|
+
const customEvent = new CustomEvent('set-router-data', eventData);
|
|
2469
|
+
window.dispatchEvent(customEvent);
|
|
2470
|
+
}
|
|
2471
|
+
defineCustomElement(elementName, component, injector) {
|
|
2472
|
+
if (!customElements.get(elementName)) {
|
|
2473
|
+
customElements.define(elementName, createCustomElement(component, { injector: injector }));
|
|
2474
|
+
}
|
|
2420
2475
|
}
|
|
2421
|
-
static createMultiTranslateLoader(addonService, libsName = ['ngx-lib']
|
|
2476
|
+
static createMultiTranslateLoader(addonUUID, addonService, libsName = ['ngx-lib']) {
|
|
2422
2477
|
const ngxLibTranslationResources = [];
|
|
2423
2478
|
if (libsName?.length > 0) {
|
|
2424
2479
|
for (let index = 0; index < libsName.length; index++) {
|
|
2425
2480
|
const libName = libsName[index];
|
|
2426
|
-
ngxLibTranslationResources.push(addonService.getNgxLibTranslationResource(
|
|
2481
|
+
ngxLibTranslationResources.push(addonService.getNgxLibTranslationResource(addonUUID, libName));
|
|
2427
2482
|
}
|
|
2428
2483
|
}
|
|
2429
|
-
const addonTranslationResource = addonService.getAddonTranslationResource(
|
|
2484
|
+
const addonTranslationResource = addonService.getAddonTranslationResource(addonUUID);
|
|
2430
2485
|
return addonService.translateService.createMultiTranslateLoader([
|
|
2431
2486
|
...ngxLibTranslationResources,
|
|
2432
2487
|
addonTranslationResource
|
|
2433
2488
|
]);
|
|
2434
2489
|
}
|
|
2435
2490
|
}
|
|
2436
|
-
PepAddonService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepAddonService, deps: [{ token: PepSessionService }, { token: PepHttpService }, { token: PepLoaderService }, { token: PepTranslateService }, { token: PepFileService }, { token: i6.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2491
|
+
PepAddonService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepAddonService, deps: [{ token: PepSessionService }, { token: PepHttpService }, { token: PepLoaderService }, { token: PepTranslateService }, { token: PepFileService }, { token: i6.ActivatedRoute, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2437
2492
|
PepAddonService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepAddonService, providedIn: 'root' });
|
|
2438
2493
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepAddonService, decorators: [{
|
|
2439
2494
|
type: Injectable,
|
|
2440
2495
|
args: [{
|
|
2441
2496
|
providedIn: 'root',
|
|
2442
2497
|
}]
|
|
2443
|
-
}], ctorParameters: function () { return [{ type: PepSessionService }, { type: PepHttpService }, { type: PepLoaderService }, { type: PepTranslateService }, { type: PepFileService }, { type: i6.ActivatedRoute
|
|
2498
|
+
}], ctorParameters: function () { return [{ type: PepSessionService }, { type: PepHttpService }, { type: PepLoaderService }, { type: PepTranslateService }, { type: PepFileService }, { type: i6.ActivatedRoute, decorators: [{
|
|
2499
|
+
type: Optional
|
|
2500
|
+
}] }]; } });
|
|
2444
2501
|
|
|
2445
2502
|
class PepColorService {
|
|
2446
2503
|
constructor() {
|
|
@@ -3320,11 +3377,14 @@ class PepTextboxField extends PepFieldBase {
|
|
|
3320
3377
|
super(options);
|
|
3321
3378
|
this.controlType = 'textbox';
|
|
3322
3379
|
this.type = 'text';
|
|
3380
|
+
this.digitsNumberAfterDecimalPoint = NaN;
|
|
3323
3381
|
this.type = options.type || 'text';
|
|
3382
|
+
this.regex = options.regex;
|
|
3324
3383
|
this.update(options);
|
|
3325
3384
|
}
|
|
3326
3385
|
update(options) {
|
|
3327
3386
|
super.update(options);
|
|
3387
|
+
this.digitsNumberAfterDecimalPoint = options.digitsNumberAfterDecimalPoint ?? NaN;
|
|
3328
3388
|
if (this.type === 'link') {
|
|
3329
3389
|
// DI-11292 - add changes for link field for the "Read Only display value" prop
|
|
3330
3390
|
this.formattedValue =
|
|
@@ -3350,6 +3410,9 @@ class PepTextboxField extends PepFieldBase {
|
|
|
3350
3410
|
validators.push(Validators.max(this.maxValue));
|
|
3351
3411
|
}
|
|
3352
3412
|
}
|
|
3413
|
+
if (this.type === 'text' && this.regex) {
|
|
3414
|
+
validators.push(Validators.pattern(this.regex));
|
|
3415
|
+
}
|
|
3353
3416
|
return validators;
|
|
3354
3417
|
}
|
|
3355
3418
|
}
|
|
@@ -3420,12 +3483,14 @@ class PepQuantitySelectorField extends PepFieldBase {
|
|
|
3420
3483
|
super(options);
|
|
3421
3484
|
this.controlType = 'qs';
|
|
3422
3485
|
this.notificationInfo = {};
|
|
3486
|
+
this.digitsNumberAfterDecimalPoint = NaN;
|
|
3423
3487
|
this.updatedDataCount = 0;
|
|
3424
3488
|
this.type = options.type || 'qs';
|
|
3425
3489
|
this.update(options);
|
|
3426
3490
|
}
|
|
3427
3491
|
update(options) {
|
|
3428
3492
|
super.update(options);
|
|
3493
|
+
this.digitsNumberAfterDecimalPoint = options.digitsNumberAfterDecimalPoint ?? NaN;
|
|
3429
3494
|
this.allowDecimal = options.allowDecimal || false;
|
|
3430
3495
|
this.notificationInfo = options.notificationInfo;
|
|
3431
3496
|
this.updatedDataCount += 1;
|
|
@@ -3455,6 +3520,7 @@ class PepSelectField extends PepFieldBase {
|
|
|
3455
3520
|
this.controlType = 'select';
|
|
3456
3521
|
this.options = [];
|
|
3457
3522
|
this.type = options.type || 'select';
|
|
3523
|
+
this.emptyOption = options.emptyOption;
|
|
3458
3524
|
this.update(options);
|
|
3459
3525
|
}
|
|
3460
3526
|
update(options) {
|
|
@@ -4498,6 +4564,7 @@ PepNgxLibModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version
|
|
|
4498
4564
|
PepLayoutService,
|
|
4499
4565
|
PepPortalService,
|
|
4500
4566
|
PepScrollToService,
|
|
4567
|
+
FormBuilder
|
|
4501
4568
|
], imports: [CommonModule,
|
|
4502
4569
|
HttpClientModule,
|
|
4503
4570
|
ReactiveFormsModule, TranslateModule] });
|
|
@@ -4543,6 +4610,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
|
|
|
4543
4610
|
PepLayoutService,
|
|
4544
4611
|
PepPortalService,
|
|
4545
4612
|
PepScrollToService,
|
|
4613
|
+
FormBuilder
|
|
4546
4614
|
]
|
|
4547
4615
|
}]
|
|
4548
4616
|
}] });
|