@openmrs/ngx-formentry 3.2.1-pre.244 → 3.2.1-pre.245
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/bundles/openmrs-ngx-formentry.umd.js +109 -86
- package/bundles/openmrs-ngx-formentry.umd.js.map +1 -1
- package/components/custom-component-wrapper/custom-component-wrapper..module.d.ts +2 -1
- package/components/custom-control-wrapper/custom-control-wrapper..module.d.ts +2 -1
- package/components/date-time-picker/date-time-picker.module.d.ts +2 -1
- package/components/ngx-datetime-picker/ngx-datetime-picker.module.d.ts +2 -1
- package/components/ngx-pick-datetime/lib/date-time/date-time-picker-intl.service.d.ts +7 -4
- package/components/ngx-pick-datetime/lib/date-time/date-time.module.d.ts +2 -1
- package/components/ngx-remote-select/ngx-remote-select.module.d.ts +2 -1
- package/esm2015/components/custom-component-wrapper/custom-component-wrapper..module.js +5 -4
- package/esm2015/components/custom-component-wrapper/custom-component-wrapper.component.js +3 -2
- package/esm2015/components/custom-control-wrapper/custom-control-wrapper..module.js +5 -4
- package/esm2015/components/custom-control-wrapper/custom-control-wrapper.component.js +3 -2
- package/esm2015/components/date-time-picker/date-time-picker.component.js +3 -2
- package/esm2015/components/date-time-picker/date-time-picker.module.js +5 -4
- package/esm2015/components/ngx-datetime-picker/ngx-datetime-picker.component.js +3 -2
- package/esm2015/components/ngx-datetime-picker/ngx-datetime-picker.module.js +8 -4
- package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time-picker-intl.service.js +11 -8
- package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time.module.js +21 -4
- package/esm2015/components/ngx-remote-select/ngx-remote-select.component.js +3 -2
- package/esm2015/components/ngx-remote-select/ngx-remote-select.module.js +5 -4
- package/esm2015/form-entry/error-renderer/error-renderer.component.js +3 -2
- package/esm2015/form-entry/form-factory/form-node.js +8 -5
- package/esm2015/form-entry/form-factory/form.factory.js +8 -5
- package/esm2015/form-entry/form-factory/validation.factory.js +29 -14
- package/esm2015/form-entry/form-renderer/form-renderer.component.js +2 -2
- package/esm2015/form-entry/pipes/time-ago.pipe.js +18 -15
- package/fesm2015/openmrs-ngx-formentry.js +107 -80
- package/fesm2015/openmrs-ngx-formentry.js.map +1 -1
- package/form-entry/form-factory/form-node.d.ts +3 -1
- package/form-entry/form-factory/form.factory.d.ts +3 -1
- package/form-entry/form-factory/validation.factory.d.ts +3 -1
- package/form-entry/pipes/time-ago.pipe.d.ts +4 -2
- package/package.json +1 -1
- package/esm2015/form-entry/utils/messages.js +0 -12
- package/form-entry/utils/messages.d.ts +0 -11
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import { Pipe, NgZone, ChangeDetectorRef } from '@angular/core';
|
|
2
|
+
import { TranslateService } from '@ngx-translate/core';
|
|
2
3
|
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@ngx-translate/core";
|
|
3
5
|
export class TimeAgoPipe {
|
|
4
|
-
constructor(changeDetectorRef, ngZone) {
|
|
6
|
+
constructor(changeDetectorRef, ngZone, translate) {
|
|
5
7
|
this.changeDetectorRef = changeDetectorRef;
|
|
6
8
|
this.ngZone = ngZone;
|
|
9
|
+
this.translate = translate;
|
|
7
10
|
}
|
|
8
11
|
transform(value) {
|
|
9
12
|
this.removeTimer();
|
|
@@ -30,38 +33,38 @@ export class TimeAgoPipe {
|
|
|
30
33
|
return '';
|
|
31
34
|
}
|
|
32
35
|
else if (seconds <= 45) {
|
|
33
|
-
return '
|
|
36
|
+
return this.translate.instant('aMinuteAgo');
|
|
34
37
|
}
|
|
35
38
|
else if (seconds <= 90) {
|
|
36
|
-
return '
|
|
39
|
+
return this.translate.instant('minutesAgo');
|
|
37
40
|
}
|
|
38
41
|
else if (minutes <= 45) {
|
|
39
|
-
return minutes + '
|
|
42
|
+
return minutes + ' ' + this.translate.instant('minutesAgo');
|
|
40
43
|
}
|
|
41
44
|
else if (minutes <= 90) {
|
|
42
|
-
return '
|
|
45
|
+
return this.translate.instant('anHourAgo');
|
|
43
46
|
}
|
|
44
47
|
else if (hours <= 22) {
|
|
45
|
-
return hours + '
|
|
48
|
+
return hours + ' ' + this.translate.instant('hoursAgo');
|
|
46
49
|
}
|
|
47
50
|
else if (hours <= 36) {
|
|
48
|
-
return '
|
|
51
|
+
return this.translate.instant('aDayAgo');
|
|
49
52
|
}
|
|
50
53
|
else if (days <= 25) {
|
|
51
|
-
return days + '
|
|
54
|
+
return days + ' ' + this.translate.instant('daysAgo');
|
|
52
55
|
}
|
|
53
56
|
else if (days <= 45) {
|
|
54
|
-
return '
|
|
57
|
+
return this.translate.instant('aMonthAgo');
|
|
55
58
|
}
|
|
56
59
|
else if (days <= 345) {
|
|
57
|
-
return months + '
|
|
60
|
+
return months + ' ' + this.translate.instant('monthsAgo');
|
|
58
61
|
}
|
|
59
62
|
else if (days <= 545) {
|
|
60
|
-
return '
|
|
63
|
+
return this.translate.instant('aYearAgo');
|
|
61
64
|
}
|
|
62
65
|
else {
|
|
63
66
|
// (days > 545)
|
|
64
|
-
return years + '
|
|
67
|
+
return years + ' ' + this.translate.instant('yearsAgo');
|
|
65
68
|
}
|
|
66
69
|
}
|
|
67
70
|
ngOnDestroy() {
|
|
@@ -95,7 +98,7 @@ export class TimeAgoPipe {
|
|
|
95
98
|
}
|
|
96
99
|
}
|
|
97
100
|
}
|
|
98
|
-
TimeAgoPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimeAgoPipe, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Pipe });
|
|
101
|
+
TimeAgoPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimeAgoPipe, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe });
|
|
99
102
|
TimeAgoPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimeAgoPipe, name: "timeAgo", pure: false });
|
|
100
103
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimeAgoPipe, decorators: [{
|
|
101
104
|
type: Pipe,
|
|
@@ -103,5 +106,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
103
106
|
name: 'timeAgo',
|
|
104
107
|
pure: false
|
|
105
108
|
}]
|
|
106
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.NgZone }]; } });
|
|
107
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
109
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: i1.TranslateService }]; } });
|
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1hZ28ucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1mb3JtZW50cnkvc3JjL2Zvcm0tZW50cnkvcGlwZXMvdGltZS1hZ28ucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsSUFBSSxFQUVKLE1BQU0sRUFDTixpQkFBaUIsRUFFbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7OztBQUt2RCxNQUFNLE9BQU8sV0FBVztJQUV0QixZQUNVLGlCQUFvQyxFQUNwQyxNQUFjLEVBQ2YsU0FBMkI7UUFGMUIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2YsY0FBUyxHQUFULFNBQVMsQ0FBa0I7SUFDakMsQ0FBQztJQUNKLFNBQVMsQ0FBQyxLQUFhO1FBQ3JCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQixNQUFNLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxQixNQUFNLEdBQUcsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ3ZCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQzNFLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDO1lBQ3hDLENBQUMsQ0FBQyxJQUFJO1lBQ04sQ0FBQyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDL0MsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGlC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O1lBQ0wsZUFBZTtZQUNmLE9BQU8sS0FBSyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUN6RDtJQUNILENBQUM7SUFDRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFDTyxXQUFXO1FBQ2pCLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNkLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2hDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1NBQ25CO0lBQ0gsQ0FBQztJQUNPLHFCQUFxQixDQUFDLE9BQWU7UUFDM0MsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDO1FBQ2YsTUFBTSxFQUFFLEdBQUcsR0FBRyxHQUFHLEVBQUUsQ0FBQztRQUNwQixNQUFNLEdBQUcsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLElBQUksT0FBTyxHQUFHLEdBQUcsRUFBRTtZQUNqQix1Q0FBdUM7WUFDdkMsT0FBTyxDQUFDLENBQUM7U0FDVjthQUFNLElBQUksT0FBTyxHQUFHLEVBQUUsRUFBRTtZQUN2QiwwQ0FBMEM7WUFDMUMsT0FBTyxFQUFFLENBQUM7U0FDWDthQUFNLElBQUksT0FBTyxHQUFHLEdBQUcsRUFBRTtZQUN4Qix1Q0FBdUM7WUFDdkMsT0FBTyxHQUFHLENBQUM7U0FDWjthQUFNO1lBQ0wsb0JBQW9CO1lBQ3BCLE9BQU8sSUFBSSxDQUFDO1NBQ2I7SUFDSCxDQUFDOzt5R0FqRlUsV0FBVzt1R0FBWCxXQUFXOzRGQUFYLFdBQVc7a0JBSnZCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLFNBQVM7b0JBQ2YsSUFBSSxFQUFFLEtBQUs7aUJBQ1oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBQaXBlLFxuICBQaXBlVHJhbnNmb3JtLFxuICBOZ1pvbmUsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBPbkRlc3Ryb3lcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5AUGlwZSh7XG4gIG5hbWU6ICd0aW1lQWdvJyxcbiAgcHVyZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgVGltZUFnb1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtLCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIHRpbWVyOiBudW1iZXI7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmUsXG4gICAgcHVibGljIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZVxuICApIHt9XG4gIHRyYW5zZm9ybSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5yZW1vdmVUaW1lcigpO1xuICAgIGNvbnN0IGQgPSBuZXcgRGF0ZSh2YWx1ZSk7XG4gICAgY29uc3Qgbm93ID0gbmV3IERhdGUoKTtcbiAgICBjb25zdCBzZWNvbmRzID0gTWF0aC5yb3VuZChNYXRoLmFicygobm93LmdldFRpbWUoKSAtIGQuZ2V0VGltZSgpKSAvIDEwMDApKTtcbiAgICBjb25zdCB0aW1lVG9VcGRhdGUgPSBOdW1iZXIuaXNOYU4oc2Vjb25kcylcbiAgICAgID8gMTAwMFxuICAgICAgOiB0aGlzLmdldFNlY29uZHNVbnRpbFVwZGF0ZShzZWNvbmRzKSAqIDEwMDA7XG4gICAgdGhpcy50aW1lciA9IHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICByZXR1cm4gd2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpKTtcbiAgICAgICAgfSwgdGltZVRvVXBkYXRlKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH0pO1xuICAgIGNvbnN0IG1pbnV0ZXMgPSBNYXRoLnJvdW5kKE1hdGguYWJzKHNlY29uZHMgLyA2MCkpO1xuICAgIGNvbnN0IGhvdXJzID0gTWF0aC5yb3VuZChNYXRoLmFicyhtaW51dGVzIC8gNjApKTtcbiAgICBjb25zdCBkYXlzID0gTWF0aC5yb3VuZChNYXRoLmFicyhob3VycyAvIDI0KSk7XG4gICAgY29uc3QgbW9udGhzID0gTWF0aC5yb3VuZChNYXRoLmFicyhkYXlzIC8gMzAuNDE2KSk7XG4gICAgY29uc3QgeWVhcnMgPSBNYXRoLnJvdW5kKE1hdGguYWJzKGRheXMgLyAzNjUpKTtcbiAgICBpZiAoTnVtYmVyLmlzTmFOKHNlY29uZHMpKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfSBlbHNlIGlmIChzZWNvbmRzIDw9IDQ1KSB7XG4gICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnYU1pbnV0ZUFnbycpO1xuICAgIH0gZWxzZSBpZiAoc2Vjb25kcyA8PSA5MCkge1xuICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ21pbnV0ZXNBZ28nKTtcbiAgICB9IGVsc2UgaWYgKG1pbnV0ZXMgPD0gNDUpIHtcbiAgICAgIHJldHVybiBtaW51dGVzICsgJyAnICsgdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnbWludXRlc0FnbycpO1xuICAgIH0gZWxzZSBpZiAobWludXRlcyA8PSA5MCkge1xuICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2FuSG91ckFnbycpO1xuICAgIH0gZWxzZSBpZiAoaG91cnMgPD0gMjIpIHtcbiAgICAgIHJldHVybiBob3VycyArICcgJyArIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2hvdXJzQWdvJyk7XG4gICAgfSBlbHNlIGlmIChob3VycyA8PSAzNikge1xuICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2FEYXlBZ28nKTtcbiAgICB9IGVsc2UgaWYgKGRheXMgPD0gMjUpIHtcbiAgICAgIHJldHVybiBkYXlzICsgJyAnICsgdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZGF5c0FnbycpO1xuICAgIH0gZWxzZSBpZiAoZGF5cyA8PSA0NSkge1xuICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2FNb250aEFnbycpO1xuICAgIH0gZWxzZSBpZiAoZGF5cyA8PSAzNDUpIHtcbiAgICAgIHJldHVybiBtb250aHMgKyAnICcgKyB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdtb250aHNBZ28nKTtcbiAgICB9IGVsc2UgaWYgKGRheXMgPD0gNTQ1KSB7XG4gICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnYVllYXJBZ28nKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gKGRheXMgPiA1NDUpXG4gICAgICByZXR1cm4geWVhcnMgKyAnICcgKyB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd5ZWFyc0FnbycpO1xuICAgIH1cbiAgfVxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnJlbW92ZVRpbWVyKCk7XG4gIH1cbiAgcHJpdmF0ZSByZW1vdmVUaW1lcigpIHtcbiAgICBpZiAodGhpcy50aW1lcikge1xuICAgICAgd2luZG93LmNsZWFyVGltZW91dCh0aGlzLnRpbWVyKTtcbiAgICAgIHRoaXMudGltZXIgPSBudWxsO1xuICAgIH1cbiAgfVxuICBwcml2YXRlIGdldFNlY29uZHNVbnRpbFVwZGF0ZShzZWNvbmRzOiBudW1iZXIpIHtcbiAgICBjb25zdCBtaW4gPSA2MDtcbiAgICBjb25zdCBociA9IG1pbiAqIDYwO1xuICAgIGNvbnN0IGRheSA9IGhyICogMjQ7XG4gICAgaWYgKHNlY29uZHMgPCBtaW4pIHtcbiAgICAgIC8vIGxlc3MgdGhhbiAxIG1pbiwgdXBkYXRlIGV2ZXJ5IDIgc2Vjc1xuICAgICAgcmV0dXJuIDI7XG4gICAgfSBlbHNlIGlmIChzZWNvbmRzIDwgaHIpIHtcbiAgICAgIC8vIGxlc3MgdGhhbiBhbiBob3VyLCB1cGRhdGUgZXZlcnkgMzAgc2Vjc1xuICAgICAgcmV0dXJuIDMwO1xuICAgIH0gZWxzZSBpZiAoc2Vjb25kcyA8IGRheSkge1xuICAgICAgLy8gbGVzcyB0aGVuIGEgZGF5LCB1cGRhdGUgZXZlcnkgNSBtaW5zXG4gICAgICByZXR1cm4gMzAwO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyB1cGRhdGUgZXZlcnkgaG91clxuICAgICAgcmV0dXJuIDM2MDA7XG4gICAgfVxuICB9XG59XG4iXX0=
|