@rosoftlab/core 1.0.0-alpha-4 → 1.0.0-alpha-6
Sign up to get free protection for your applications and to get access to all the features.
- package/esm2022/lib/base-components/base-form-edit.component.mjs +12 -10
- package/esm2022/lib/base-components/field-error-display/field-error-display.component.mjs +4 -4
- package/esm2022/lib/base-components/page-not-found/page-not-found.component.mjs +4 -4
- package/esm2022/lib/base-components/under-construction/under-construction.component.mjs +4 -4
- package/esm2022/lib/index.mjs +1 -3
- package/esm2022/lib/interceptors/cache.interceptor.mjs +4 -4
- package/esm2022/lib/pipes/Nl2brPipe.pipe.mjs +4 -4
- package/esm2022/lib/pipes/input-error.pipe.mjs +4 -4
- package/esm2022/lib/providers.mjs +2 -2
- package/esm2022/lib/rsl-base-module.mjs +5 -5
- package/esm2022/lib/services/base-datastore.service.mjs +4 -4
- package/esm2022/lib/services/base.service.mjs +4 -4
- package/esm2022/lib/services/cache.service.mjs +4 -4
- package/esm2022/lib/services/datastore.service.mjs +4 -4
- package/esm2022/lib/services/dialog.service.mjs +2 -150
- package/esm2022/lib/services/translate-loader.service.mjs +4 -4
- package/fesm2022/rosoftlab-core.mjs +52 -302
- package/fesm2022/rosoftlab-core.mjs.map +1 -1
- package/lib/index.d.ts +0 -2
- package/lib/services/dialog.service.d.ts +1 -15
- package/package.json +5 -8
- package/esm2022/lib/directives/translated-content.directive.mjs +0 -97
- package/esm2022/lib/directives/translated-element.directive.mjs +0 -20
- package/lib/directives/translated-content.directive.d.ts +0 -21
- package/lib/directives/translated-element.directive.d.ts +0 -10
@@ -1,28 +1,27 @@
|
|
1
1
|
import * as i0 from '@angular/core';
|
2
|
-
import { Component, Input, Injectable,
|
3
|
-
import * as
|
2
|
+
import { Component, Input, Injectable, InjectionToken, Inject, Pipe, Optional, NgModule } from '@angular/core';
|
3
|
+
import * as i5 from '@angular/common';
|
4
4
|
import { DatePipe, DecimalPipe, PercentPipe, CommonModule } from '@angular/common';
|
5
5
|
import * as i1$1 from '@angular/forms';
|
6
6
|
import { UntypedFormGroup, UntypedFormControl, Validators, ReactiveFormsModule } from '@angular/forms';
|
7
7
|
import * as i2 from '@angular/router';
|
8
8
|
import * as i1$2 from '@ngx-translate/core';
|
9
9
|
import { TranslateModule, TranslateLoader } from '@ngx-translate/core';
|
10
|
-
import { Observable, throwError,
|
10
|
+
import { Observable, throwError, of } from 'rxjs';
|
11
11
|
import * as i1 from '@angular/common/http';
|
12
|
-
import { HttpHeaders, HttpParams,
|
12
|
+
import { HttpHeaders, HttpParams, HttpResponse, HttpClient, HttpClientModule } from '@angular/common/http';
|
13
13
|
import { compare } from 'fast-json-patch';
|
14
14
|
import * as qs from 'qs';
|
15
|
-
import { map, catchError,
|
16
|
-
import Swal from 'sweetalert2';
|
15
|
+
import { map, catchError, tap } from 'rxjs/operators';
|
17
16
|
import 'reflect-metadata';
|
18
17
|
import { parseISO } from 'date-fns';
|
19
18
|
import { __decorate, __metadata } from 'tslib';
|
20
19
|
|
21
20
|
class FieldErrorDisplayComponent {
|
22
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
23
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
21
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: FieldErrorDisplayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
22
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.10", type: FieldErrorDisplayComponent, selector: "rsl-field-error-display", inputs: { errorMsg: "errorMsg", displayError: "displayError" }, ngImport: i0, template: "<div *ngIf=\"displayError\" >\n <!-- <span class=\"glyphicon glyphicon-remove form-control-feedback fix-error-icon\"></span> -->\n <span class=\"sr-only\">(error)</span>\n <div class=\"error-msg\">\n {{ errorMsg }}\n </div>\n</div>\n", styles: [".error-msg{color:red}.fix-error-icon{top:27px}\n"] }); }
|
24
23
|
}
|
25
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: FieldErrorDisplayComponent, decorators: [{
|
26
25
|
type: Component,
|
27
26
|
args: [{ selector: 'rsl-field-error-display', template: "<div *ngIf=\"displayError\" >\n <!-- <span class=\"glyphicon glyphicon-remove form-control-feedback fix-error-icon\"></span> -->\n <span class=\"sr-only\">(error)</span>\n <div class=\"error-msg\">\n {{ errorMsg }}\n </div>\n</div>\n", styles: [".error-msg{color:red}.fix-error-icon{top:27px}\n"] }]
|
28
27
|
}], propDecorators: { errorMsg: [{
|
@@ -36,20 +35,20 @@ class PageNotFoundComponent {
|
|
36
35
|
}
|
37
36
|
ngOnInit() {
|
38
37
|
}
|
39
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
40
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
38
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: PageNotFoundComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
39
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.10", type: PageNotFoundComponent, selector: "rsl-page-not-found", ngImport: i0, template: "<div class=\"forms-view-container\">\n <div class=\"under-construction-view-container\">\n Page not found\n </div>\n</div>", styles: [".under-construction-view-container{height:calc(100vh - 250px);margin:60px 0 0;padding:0;display:flex;justify-content:center;align-items:center;box-sizing:border-box;font-size:1.8em;line-height:1.3em;font-weight:300;color:#58585b;text-align:center}\n"] }); }
|
41
40
|
}
|
42
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
41
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: PageNotFoundComponent, decorators: [{
|
43
42
|
type: Component,
|
44
43
|
args: [{ selector: 'rsl-page-not-found', template: "<div class=\"forms-view-container\">\n <div class=\"under-construction-view-container\">\n Page not found\n </div>\n</div>", styles: [".under-construction-view-container{height:calc(100vh - 250px);margin:60px 0 0;padding:0;display:flex;justify-content:center;align-items:center;box-sizing:border-box;font-size:1.8em;line-height:1.3em;font-weight:300;color:#58585b;text-align:center}\n"] }]
|
45
44
|
}], ctorParameters: function () { return []; } });
|
46
45
|
|
47
46
|
class UnderConstructionComponent {
|
48
47
|
constructor() { }
|
49
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
50
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
48
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: UnderConstructionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
49
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.10", type: UnderConstructionComponent, selector: "rsl-under-construction", ngImport: i0, template: "<div class=\"forms-view-container\">\n <div class=\"under-construction-view-container\">\n Page under construction\n </div>\n</div>", styles: [".under-construction-view-container{height:calc(100vh - 250px);margin:60px 0 0;padding:0;display:flex;justify-content:center;align-items:center;box-sizing:border-box;font-size:1.8em;line-height:1.3em;font-weight:300;color:#58585b;text-align:center}\n"] }); }
|
51
50
|
}
|
52
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
51
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: UnderConstructionComponent, decorators: [{
|
53
52
|
type: Component,
|
54
53
|
args: [{ selector: 'rsl-under-construction', template: "<div class=\"forms-view-container\">\n <div class=\"under-construction-view-container\">\n Page under construction\n </div>\n</div>", styles: [".under-construction-view-container{height:calc(100vh - 250px);margin:60px 0 0;padding:0;display:flex;justify-content:center;align-items:center;box-sizing:border-box;font-size:1.8em;line-height:1.3em;font-weight:300;color:#58585b;text-align:center}\n"] }]
|
55
54
|
}], ctorParameters: function () { return []; } });
|
@@ -90,10 +89,10 @@ class CacheService {
|
|
90
89
|
const keysToDelete = Object.keys(this.cache).filter(key => key.includes(keyword));
|
91
90
|
keysToDelete.forEach(key => this.delete(key));
|
92
91
|
}
|
93
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
94
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.
|
92
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: CacheService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
93
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: CacheService, providedIn: 'root' }); }
|
95
94
|
}
|
96
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
95
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: CacheService, decorators: [{
|
97
96
|
type: Injectable,
|
98
97
|
args: [{
|
99
98
|
providedIn: 'root'
|
@@ -424,10 +423,10 @@ class BaseDatastore {
|
|
424
423
|
_toQueryString(params) {
|
425
424
|
return qs.stringify(params, { arrayFormat: 'brackets' });
|
426
425
|
}
|
427
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
428
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.
|
426
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: BaseDatastore, deps: [{ token: i1.HttpClient }, { token: CacheService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
427
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: BaseDatastore }); }
|
429
428
|
}
|
430
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
429
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: BaseDatastore, decorators: [{
|
431
430
|
type: Injectable
|
432
431
|
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: CacheService }]; } });
|
433
432
|
|
@@ -515,161 +514,17 @@ class BaseService {
|
|
515
514
|
getSelectValues(property) {
|
516
515
|
return null;
|
517
516
|
}
|
518
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
519
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.
|
517
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: BaseService, deps: [{ token: BaseDatastore }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
518
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: BaseService, providedIn: 'root' }); }
|
520
519
|
}
|
521
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
520
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: BaseService, decorators: [{
|
522
521
|
type: Injectable,
|
523
522
|
args: [{
|
524
523
|
providedIn: 'root'
|
525
524
|
}]
|
526
525
|
}], ctorParameters: function () { return [{ type: BaseDatastore }]; } });
|
527
526
|
|
528
|
-
|
529
|
-
* Async modal dialog service
|
530
|
-
* DialogService makes this app easier to test by faking this service.
|
531
|
-
* TODO: better modal implementation that doesn't use window.confirm
|
532
|
-
*/
|
533
|
-
class DialogService {
|
534
|
-
/**
|
535
|
-
* Ask user to confirm an action. `message` explains the action and choices.
|
536
|
-
* Returns observable resolving to `true`=confirm or `false`=cancel
|
537
|
-
*/
|
538
|
-
constructor() { }
|
539
|
-
confirm(message, text, confirmButtonText = 'Delete', cancelButtonText = 'Cancel') {
|
540
|
-
const confirmation = Swal.fire({
|
541
|
-
title: message || 'Are you sure?',
|
542
|
-
icon: 'warning',
|
543
|
-
text: text || '',
|
544
|
-
showCancelButton: true,
|
545
|
-
confirmButtonText: confirmButtonText,
|
546
|
-
cancelButtonText: cancelButtonText,
|
547
|
-
customClass: {
|
548
|
-
confirmButton: 'btn btn-red btn-fill btn-wd',
|
549
|
-
cancelButton: 'btn btn-grey btn-fill btn-wd',
|
550
|
-
},
|
551
|
-
buttonsStyling: false,
|
552
|
-
reverseButtons: true
|
553
|
-
})
|
554
|
-
.then((result) => {
|
555
|
-
if (result.value) {
|
556
|
-
return true;
|
557
|
-
}
|
558
|
-
else {
|
559
|
-
return false;
|
560
|
-
}
|
561
|
-
}).catch();
|
562
|
-
return from(confirmation);
|
563
|
-
}
|
564
|
-
showSaveMessage(message, title) {
|
565
|
-
const confirmation = Swal.fire({
|
566
|
-
icon: 'success',
|
567
|
-
title: message,
|
568
|
-
timer: 2000,
|
569
|
-
showConfirmButton: false,
|
570
|
-
// customClass: 'overflow-hidden',
|
571
|
-
buttonsStyling: false
|
572
|
-
}).then(() => {
|
573
|
-
return true;
|
574
|
-
}, () => {
|
575
|
-
return false;
|
576
|
-
}).catch();
|
577
|
-
return from(confirmation);
|
578
|
-
}
|
579
|
-
showRegisteredMessage(message, title) {
|
580
|
-
const confirmation = Swal.fire({
|
581
|
-
icon: 'success',
|
582
|
-
title: message,
|
583
|
-
showConfirmButton: true,
|
584
|
-
customClass: {
|
585
|
-
confirmButton: 'btn btn-success',
|
586
|
-
},
|
587
|
-
buttonsStyling: false
|
588
|
-
}).then(() => {
|
589
|
-
return true;
|
590
|
-
}, () => {
|
591
|
-
return false;
|
592
|
-
}).catch();
|
593
|
-
return from(confirmation);
|
594
|
-
}
|
595
|
-
// notification(message?: string, type?: NotificationType, fromPosition?: NotificationFrom, align?: NotificationAlign, timer?: number) {
|
596
|
-
// if (!type) {
|
597
|
-
// type = NotificationType.success;
|
598
|
-
// }
|
599
|
-
// if (!fromPosition) {
|
600
|
-
// fromPosition = NotificationFrom.bottom;
|
601
|
-
// }
|
602
|
-
// if (!align) {
|
603
|
-
// align = NotificationAlign.center;
|
604
|
-
// }
|
605
|
-
// if (!timer) {
|
606
|
-
// timer = 3000;
|
607
|
-
// }
|
608
|
-
// $.notify({
|
609
|
-
// icon: 'notifications',
|
610
|
-
// message: message
|
611
|
-
// }, {
|
612
|
-
// type: type,
|
613
|
-
// timer: 3000,
|
614
|
-
// placement: {
|
615
|
-
// from: from,
|
616
|
-
// align: align
|
617
|
-
// }
|
618
|
-
// });
|
619
|
-
// }
|
620
|
-
showErrorMessage(e, message) {
|
621
|
-
if (!message) {
|
622
|
-
message = 'Validation errors';
|
623
|
-
}
|
624
|
-
if (e instanceof HttpErrorResponse) {
|
625
|
-
// Validation errors
|
626
|
-
if (e.status === 400) {
|
627
|
-
const errors = e.error.errors;
|
628
|
-
if (errors) {
|
629
|
-
errors.forEach(error => {
|
630
|
-
message += error.field + ' ' + error.detail + '\n';
|
631
|
-
});
|
632
|
-
// message = errors.detail;
|
633
|
-
// if (detail.relationships) {
|
634
|
-
// detail.relationships.forEach(relation => {
|
635
|
-
// console.log(relation);
|
636
|
-
// });
|
637
|
-
// }
|
638
|
-
}
|
639
|
-
}
|
640
|
-
}
|
641
|
-
const confirmation = Swal.fire({
|
642
|
-
icon: 'error',
|
643
|
-
title: message,
|
644
|
-
// timer: 2000,
|
645
|
-
showConfirmButton: true,
|
646
|
-
customClass: {
|
647
|
-
confirmButton: 'btn btn-success',
|
648
|
-
},
|
649
|
-
buttonsStyling: false
|
650
|
-
}).then(() => {
|
651
|
-
return true;
|
652
|
-
}, () => {
|
653
|
-
return false;
|
654
|
-
}).catch();
|
655
|
-
return from(confirmation);
|
656
|
-
}
|
657
|
-
getTextTranslation(translationKey) {
|
658
|
-
// // const result = await promise;
|
659
|
-
// // return result;
|
660
|
-
// const result = this.translate.instant(translationKey);
|
661
|
-
// if (result === translationKey) {
|
662
|
-
return translationKey;
|
663
|
-
// }
|
664
|
-
// return result;
|
665
|
-
}
|
666
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: DialogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
667
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: DialogService }); }
|
668
|
-
}
|
669
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: DialogService, decorators: [{
|
670
|
-
type: Injectable
|
671
|
-
}], ctorParameters: function () { return []; } });
|
672
|
-
|
527
|
+
const DialogSERVICE = new InjectionToken('DialogService');
|
673
528
|
class BaseFormEditComponent {
|
674
529
|
constructor(fb, router, route, modelService, dialogService, translate, location) {
|
675
530
|
this.fb = fb;
|
@@ -883,16 +738,19 @@ class BaseFormEditComponent {
|
|
883
738
|
}
|
884
739
|
return rvalue;
|
885
740
|
}
|
886
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
887
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
741
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: BaseFormEditComponent, deps: [{ token: i1$1.UntypedFormBuilder }, { token: i2.Router }, { token: i2.ActivatedRoute }, { token: BaseService }, { token: DialogSERVICE }, { token: i1$2.TranslateService }, { token: i5.Location }], target: i0.ɵɵFactoryTarget.Component }); }
|
742
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.10", type: BaseFormEditComponent, selector: "app-base.form.edit", ngImport: i0, template: '', isInline: true }); }
|
888
743
|
}
|
889
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
744
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: BaseFormEditComponent, decorators: [{
|
890
745
|
type: Component,
|
891
746
|
args: [{
|
892
747
|
selector: 'app-base.form.edit',
|
893
748
|
template: ''
|
894
749
|
}]
|
895
|
-
}], ctorParameters: function () { return [{ type: i1$1.UntypedFormBuilder }, { type: i2.Router }, { type: i2.ActivatedRoute }, { type: BaseService }, { type:
|
750
|
+
}], ctorParameters: function () { return [{ type: i1$1.UntypedFormBuilder }, { type: i2.Router }, { type: i2.ActivatedRoute }, { type: BaseService }, { type: undefined, decorators: [{
|
751
|
+
type: Inject,
|
752
|
+
args: [DialogSERVICE]
|
753
|
+
}] }, { type: i1$2.TranslateService }, { type: i5.Location }]; } });
|
896
754
|
|
897
755
|
var GridLayoutFormat;
|
898
756
|
(function (GridLayoutFormat) {
|
@@ -1048,114 +906,6 @@ function CustomType(config = {}) {
|
|
1048
906
|
};
|
1049
907
|
}
|
1050
908
|
|
1051
|
-
class TranslatedElementDirective {
|
1052
|
-
constructor(viewRef, templateRef) {
|
1053
|
-
this.viewRef = viewRef;
|
1054
|
-
this.templateRef = templateRef;
|
1055
|
-
}
|
1056
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: TranslatedElementDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
1057
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.1", type: TranslatedElementDirective, selector: "[translatedElement]", inputs: { elementKey: ["translatedElement", "elementKey"] }, ngImport: i0 }); }
|
1058
|
-
}
|
1059
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: TranslatedElementDirective, decorators: [{
|
1060
|
-
type: Directive,
|
1061
|
-
args: [{
|
1062
|
-
selector: '[translatedElement]',
|
1063
|
-
}]
|
1064
|
-
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }]; }, propDecorators: { elementKey: [{
|
1065
|
-
type: Input,
|
1066
|
-
args: ['translatedElement']
|
1067
|
-
}] } });
|
1068
|
-
|
1069
|
-
const TOKEN_START_DEMARC = '{{';
|
1070
|
-
const TOKEN_END_DEMARC = '}}';
|
1071
|
-
// adapted from @kasperlauge's solution in https://github.com/ngx-translate/core/issues/223
|
1072
|
-
class TranslatedContentDirective {
|
1073
|
-
constructor(viewRef, renderer, translateService, changeDetectorRef) {
|
1074
|
-
this.viewRef = viewRef;
|
1075
|
-
this.renderer = renderer;
|
1076
|
-
this.translateService = translateService;
|
1077
|
-
this.changeDetectorRef = changeDetectorRef;
|
1078
|
-
this.subs = [];
|
1079
|
-
}
|
1080
|
-
ngOnInit() {
|
1081
|
-
this.rawTranslation = merge(this.translateService.get(this.translationKey), this.translateService.onLangChange.asObservable().pipe(switchMap(() => this.translateService.get(this.translationKey))));
|
1082
|
-
}
|
1083
|
-
ngAfterContentInit() {
|
1084
|
-
// QueryList.changes doesn't re-emit after its initial value, which we have by now
|
1085
|
-
// BehaviorSubjects re-emit their initial value on subscription, so we get what we need by merging
|
1086
|
-
// the BehaviorSubject and the QueryList.changes observable
|
1087
|
-
const elementsSubject = new BehaviorSubject(this.elements.toArray());
|
1088
|
-
const elementsChanges = merge(elementsSubject, this.elements.changes);
|
1089
|
-
this.translationData = combineLatest(this.rawTranslation, elementsChanges)
|
1090
|
-
.pipe(map(([rawTranslation]) => {
|
1091
|
-
return {
|
1092
|
-
elements: this.elements.toArray(),
|
1093
|
-
rawTranslation,
|
1094
|
-
};
|
1095
|
-
}));
|
1096
|
-
this.subs.push(this.translationData.subscribe(this.render.bind(this)));
|
1097
|
-
}
|
1098
|
-
render(translationData) {
|
1099
|
-
if (!translationData.rawTranslation || translationData.rawTranslation === this.translationKey) {
|
1100
|
-
throw new Error(`No resource matching the key '${this.translationKey}'`);
|
1101
|
-
}
|
1102
|
-
while (this.viewRef.element.nativeElement.firstChild) {
|
1103
|
-
this.renderer.removeChild(this.viewRef.element.nativeElement, this.viewRef.element.nativeElement.firstChild);
|
1104
|
-
}
|
1105
|
-
let lastTokenEnd = 0;
|
1106
|
-
while (lastTokenEnd < translationData.rawTranslation.length) {
|
1107
|
-
const tokenStartDemarc = translationData.rawTranslation.indexOf(TOKEN_START_DEMARC, lastTokenEnd);
|
1108
|
-
if (tokenStartDemarc < 0) {
|
1109
|
-
break;
|
1110
|
-
}
|
1111
|
-
const tokenStart = tokenStartDemarc + TOKEN_START_DEMARC.length;
|
1112
|
-
const tokenEnd = translationData.rawTranslation.indexOf(TOKEN_END_DEMARC, tokenStart);
|
1113
|
-
if (tokenEnd < 0) {
|
1114
|
-
throw new Error(`Encountered unterminated token in translation string '${this.translationKey}'`);
|
1115
|
-
}
|
1116
|
-
const tokenEndDemarc = tokenEnd + TOKEN_END_DEMARC.length;
|
1117
|
-
const precedingText = translationData.rawTranslation.substring(lastTokenEnd, tokenStartDemarc);
|
1118
|
-
const precedingTextElement = this.renderer.createText(precedingText);
|
1119
|
-
this.renderer.appendChild(this.viewRef.element.nativeElement, precedingTextElement);
|
1120
|
-
const elementKey = translationData.rawTranslation.substring(tokenStart, tokenEnd);
|
1121
|
-
const embeddedElementTemplate = translationData.elements.find(element => element.elementKey === elementKey);
|
1122
|
-
if (embeddedElementTemplate) {
|
1123
|
-
const embeddedElementView = embeddedElementTemplate.viewRef.createEmbeddedView(embeddedElementTemplate.templateRef);
|
1124
|
-
this.renderer.appendChild(this.viewRef.element.nativeElement, embeddedElementView.rootNodes[0]);
|
1125
|
-
}
|
1126
|
-
else {
|
1127
|
-
const missingTokenText = translationData.rawTranslation.substring(tokenStartDemarc, tokenEndDemarc);
|
1128
|
-
const missingTokenElement = this.renderer.createText(missingTokenText);
|
1129
|
-
this.renderer.appendChild(this.viewRef.element.nativeElement, missingTokenElement);
|
1130
|
-
}
|
1131
|
-
lastTokenEnd = tokenEndDemarc;
|
1132
|
-
}
|
1133
|
-
const trailingText = translationData.rawTranslation.substring(lastTokenEnd);
|
1134
|
-
const trailingTextElement = this.renderer.createText(trailingText);
|
1135
|
-
this.renderer.appendChild(this.viewRef.element.nativeElement, trailingTextElement);
|
1136
|
-
// in case the rendering happens outside of a change detection event, this ensures that any translations in the
|
1137
|
-
// embedded elements are rendered
|
1138
|
-
this.changeDetectorRef.detectChanges();
|
1139
|
-
}
|
1140
|
-
ngOnDestroy() {
|
1141
|
-
this.subs.forEach(sub => sub.unsubscribe());
|
1142
|
-
}
|
1143
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: TranslatedContentDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.Renderer2 }, { token: i1$2.TranslateService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
1144
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.1", type: TranslatedContentDirective, selector: "[appTranslatedContent]", inputs: { translationKey: ["appTranslatedContent", "translationKey"] }, queries: [{ propertyName: "elements", predicate: TranslatedElementDirective }], ngImport: i0 }); }
|
1145
|
-
}
|
1146
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: TranslatedContentDirective, decorators: [{
|
1147
|
-
type: Directive,
|
1148
|
-
args: [{
|
1149
|
-
selector: '[appTranslatedContent]',
|
1150
|
-
}]
|
1151
|
-
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.Renderer2 }, { type: i1$2.TranslateService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { translationKey: [{
|
1152
|
-
type: Input,
|
1153
|
-
args: ['appTranslatedContent']
|
1154
|
-
}], elements: [{
|
1155
|
-
type: ContentChildren,
|
1156
|
-
args: [TranslatedElementDirective]
|
1157
|
-
}] } });
|
1158
|
-
|
1159
909
|
class CacheInterceptor {
|
1160
910
|
constructor(expirationTime, cacheService) {
|
1161
911
|
this.expirationTime = expirationTime;
|
@@ -1191,10 +941,10 @@ class CacheInterceptor {
|
|
1191
941
|
// })
|
1192
942
|
// );
|
1193
943
|
}
|
1194
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
1195
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.
|
944
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: CacheInterceptor, deps: [{ token: 'CACHE_EXPIRATION_TIME' }, { token: CacheService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
945
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: CacheInterceptor }); }
|
1196
946
|
}
|
1197
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
947
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: CacheInterceptor, decorators: [{
|
1198
948
|
type: Injectable
|
1199
949
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
1200
950
|
type: Inject,
|
@@ -1381,10 +1131,10 @@ class Nl2brPipe {
|
|
1381
1131
|
}
|
1382
1132
|
return value;
|
1383
1133
|
}
|
1384
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
1385
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.
|
1134
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: Nl2brPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
1135
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.10", ngImport: i0, type: Nl2brPipe, name: "nl2br" }); }
|
1386
1136
|
}
|
1387
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
1137
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: Nl2brPipe, decorators: [{
|
1388
1138
|
type: Pipe,
|
1389
1139
|
args: [{
|
1390
1140
|
name: 'nl2br'
|
@@ -1415,10 +1165,10 @@ class InputErrorPipe {
|
|
1415
1165
|
}
|
1416
1166
|
return rvalue;
|
1417
1167
|
}
|
1418
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
1419
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.
|
1168
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: InputErrorPipe, deps: [{ token: i1$2.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
1169
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.10", ngImport: i0, type: InputErrorPipe, name: "inputError" }); }
|
1420
1170
|
}
|
1421
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
1171
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: InputErrorPipe, decorators: [{
|
1422
1172
|
type: Pipe,
|
1423
1173
|
args: [{
|
1424
1174
|
name: 'inputError'
|
@@ -1443,14 +1193,14 @@ let DatastoreCore = class DatastoreCore extends BaseDatastore {
|
|
1443
1193
|
};
|
1444
1194
|
this.config = this.customConfig;
|
1445
1195
|
}
|
1446
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
1447
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.
|
1196
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: DatastoreCore, deps: [{ token: i1.HttpClient }, { token: CacheService }, { token: Configurations }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
1197
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: DatastoreCore }); }
|
1448
1198
|
};
|
1449
1199
|
DatastoreCore = __decorate([
|
1450
1200
|
BaseDatastoreConfig({ apiVersion: '', baseUrl: '' }),
|
1451
1201
|
__metadata("design:paramtypes", [HttpClient, CacheService, Configurations])
|
1452
1202
|
], DatastoreCore);
|
1453
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
1203
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: DatastoreCore, decorators: [{
|
1454
1204
|
type: Injectable
|
1455
1205
|
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: CacheService }, { type: Configurations }]; } });
|
1456
1206
|
|
@@ -1459,7 +1209,7 @@ const PROVIDERS = [
|
|
1459
1209
|
DatastoreCore,
|
1460
1210
|
DatePipe,
|
1461
1211
|
DecimalPipe,
|
1462
|
-
PercentPipe
|
1212
|
+
PercentPipe
|
1463
1213
|
];
|
1464
1214
|
|
1465
1215
|
function DynamicallyModelResolver(modelsImport, className = undefined) {
|
@@ -1522,10 +1272,10 @@ class TranslateloaderService {
|
|
1522
1272
|
const url = this._apiUrl + '/api/v1/language/' + lang + '/translationlist';
|
1523
1273
|
return this.httpClient.get(url, { headers: this.headers });
|
1524
1274
|
}
|
1525
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
1526
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.
|
1275
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: TranslateloaderService, deps: [{ token: i1.HttpClient }, { token: Configurations, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
1276
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: TranslateloaderService, providedIn: 'root' }); }
|
1527
1277
|
}
|
1528
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
1278
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: TranslateloaderService, decorators: [{
|
1529
1279
|
type: Injectable,
|
1530
1280
|
args: [{
|
1531
1281
|
providedIn: 'root'
|
@@ -1544,10 +1294,10 @@ class RslBaseModule {
|
|
1544
1294
|
]
|
1545
1295
|
};
|
1546
1296
|
}
|
1547
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
1548
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.
|
1297
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: RslBaseModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
1298
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.10", ngImport: i0, type: RslBaseModule, imports: [CommonModule, i1$2.TranslateModule, ReactiveFormsModule], exports: [HttpClientModule,
|
1549
1299
|
TranslateModule] }); }
|
1550
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.
|
1300
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: RslBaseModule, providers: [
|
1551
1301
|
PROVIDERS
|
1552
1302
|
], imports: [CommonModule,
|
1553
1303
|
TranslateModule.forRoot({
|
@@ -1562,7 +1312,7 @@ class RslBaseModule {
|
|
1562
1312
|
ReactiveFormsModule, HttpClientModule,
|
1563
1313
|
TranslateModule] }); }
|
1564
1314
|
}
|
1565
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
1315
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: RslBaseModule, decorators: [{
|
1566
1316
|
type: NgModule,
|
1567
1317
|
args: [{
|
1568
1318
|
imports: [
|
@@ -1638,5 +1388,5 @@ function getValueFromJsonData(jsonData, key) {
|
|
1638
1388
|
* Generated bundle index. Do not edit.
|
1639
1389
|
*/
|
1640
1390
|
|
1641
|
-
export { Attribute, BaseDatastore, BaseDatastoreConfig, BaseFormEditComponent, BaseMetaModel, BaseModel, BaseModelConfig, BaseQueryData, BaseService, CacheInterceptor, CacheService, CellTextAlign, CustomType, CustomValidators, DatastoreCore,
|
1391
|
+
export { Attribute, BaseDatastore, BaseDatastoreConfig, BaseFormEditComponent, BaseMetaModel, BaseModel, BaseModelConfig, BaseQueryData, BaseService, CacheInterceptor, CacheService, CellTextAlign, CustomType, CustomValidators, DatastoreCore, DynamicallyModelResolver, DynamicallyServiceResolver, ErrorResponse, FieldErrorDisplayComponent, GridLayoutFormat, InputErrorPipe, Nl2brPipe, PROVIDERS, PageNotFoundComponent, RslBaseModule, Rule, UnderConstructionComponent, getValueFromJsonData, readFileAsync };
|
1642
1392
|
//# sourceMappingURL=rosoftlab-core.mjs.map
|