@libs-ui/pipes-format-date 0.2.51 → 0.2.53

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.
@@ -1,94 +1,10 @@
1
- import { Pipe } from '@angular/core';
2
- import { UtilsCache } from '@libs-ui/utils';
3
- import * as dayjs from 'dayjs';
4
- import * as en from 'dayjs/locale/en';
5
- import * as vi from 'dayjs/locale/vi';
6
- import * as updateLocale from 'dayjs/plugin/updateLocale';
1
+ import { Pipe, inject } from '@angular/core';
2
+ import { FormatDateService } from '@libs-ui/services-format-date';
7
3
  import * as i0 from "@angular/core";
8
- dayjs.extend(updateLocale);
9
4
  export class LibsUiPipesFormatDatePipe {
10
- transform(time, format = 'YYYY/MM/DD HH:mm', lang, functionCustomFormat) {
11
- console.log('time', time);
12
- if (!time) {
13
- return '';
14
- }
15
- console.log('lang', lang);
16
- lang = lang || UtilsCache.getLang();
17
- if (functionCustomFormat) {
18
- return functionCustomFormat(time, format, lang);
19
- }
20
- console.log('format', format);
21
- // if (formatDate()) {
22
- // return formatDate()?.(time, format, lang) || '';
23
- // }
24
- time = typeof time === 'number' ? dayjs.unix(time).locale(lang) : dayjs(time).locale(lang);
25
- this.updateLocale(lang);
26
- console.log('1');
27
- if (typeof time === 'number') {
28
- return dayjs.unix(time).format(this.getFormatData(this.getTypeByFormat(format), lang));
29
- }
30
- console.log('2');
31
- return dayjs(time).format(this.getFormatData(this.getTypeByFormat(format), lang));
32
- }
33
- updateLocale(lang) {
34
- if (lang === 'vi') {
35
- dayjs.locale(vi);
36
- dayjs.updateLocale('vi', {
37
- monthsShort: 'Thg 1_Thg 2_Thg 3_Thg 4_Thg 5_Thg 6_Thg 7_Thg 8_Thg 9_Thg 10_Thg 11_Thg 12'.split('_')
38
- });
39
- console.log('3', lang);
40
- return;
41
- }
42
- console.log('4');
43
- dayjs.locale(en);
44
- }
45
- getTypeByFormat(format) {
46
- console.log('5');
47
- if (format === 'dm' || format === 'dmy' || format === 'dmy hm' || format === 'my') {
48
- return format;
49
- }
50
- if (format === 'DD/MM/YYYY' || format === 'YYYY-MM-DD' || format === 'dd/MM/yyyy' || format === 'dd-MM-yyyy' || format === 'dd/mm/yyyy') {
51
- return 'dmy';
52
- }
53
- if (format === 'MM-DD' || format === 'dd/MM' || format === 'dd/mm') {
54
- return 'dm';
55
- }
56
- if (format === 'M/YYYY' || format === 'YYYY-MM' || format === 'MM/yyyy') {
57
- return 'my';
58
- }
59
- if (format === 'YYYY/MM/DD hh:mm:ss' || format === 'dmy hms' || format === 'dd/mm/yyyy hh:mm:ss') {
60
- return 'dmy hms';
61
- }
62
- return 'dmy hm';
63
- }
64
- getFormatData(type, lang) {
65
- switch (type) {
66
- case 'dm':
67
- if (lang === 'vi') {
68
- return 'D MMM';
69
- }
70
- return 'MMM D';
71
- case 'dmy':
72
- if (lang === 'vi') {
73
- return 'D MMM, YYYY';
74
- }
75
- return 'MMM D, YYYY';
76
- case 'dmy hm':
77
- if (lang === 'vi') {
78
- return 'D MMM, YYYY HH:mm';
79
- }
80
- return 'MMM D, YYYY HH:mm';
81
- case 'my':
82
- if (lang === 'vi') {
83
- return 'MMM, YYYY';
84
- }
85
- return 'MMM YYYY ';
86
- case 'dmy hms':
87
- if (lang === 'vi') {
88
- return 'D MMM, YYYY HH:mm:ss';
89
- }
90
- return 'MMM D, YYYY HH:mm:ss';
91
- }
5
+ formatDate = inject(FormatDateService);
6
+ transform(time, format = 'YYYY/MM/DD HH:mm', lang) {
7
+ return this.formatDate.transform(time, format, lang);
92
8
  }
93
9
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibsUiPipesFormatDatePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
94
10
  static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: LibsUiPipesFormatDatePipe, isStandalone: true, name: "LibsUiPipesFormatDatePipe" });
@@ -100,4 +16,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
100
16
  standalone: true
101
17
  }]
102
18
  }] });
103
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LWRhdGUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMtdWkvcGlwZXMvZm9ybWF0LWRhdGUvc3JjL2Zvcm1hdC1kYXRlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUE2QixVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RSxPQUFPLEtBQUssS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMvQixPQUFPLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3RDLE9BQU8sS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdEMsT0FBTyxLQUFLLFlBQVksTUFBTSwyQkFBMkIsQ0FBQzs7QUFDMUQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztBQVEzQixNQUFNLE9BQU8seUJBQXlCO0lBQ3BDLFNBQVMsQ0FBQyxJQUFzRCxFQUFFLE1BQU0sR0FBRyxrQkFBa0IsRUFBRSxJQUFhLEVBQUUsb0JBQWdEO1FBQzVKLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNWLE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztRQUNELE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzFCLElBQUksR0FBRyxJQUFJLElBQUksVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3BDLElBQUksb0JBQW9CLEVBQUUsQ0FBQztZQUN6QixPQUFPLG9CQUFvQixDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDbEQsQ0FBQztRQUNELE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzlCLHNCQUFzQjtR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T0FBTyxDQUFDO2dCQUNqQixDQUFDO2dCQUVELE9BQU8sT0FBTyxDQUFDO1lBRWpCLEtBQUssS0FBSztnQkFDUixJQUFJLElBQUksS0FBSyxJQUFJLEVBQUUsQ0FBQztvQkFDbEIsT0FBTyxhQUFhLENBQUM7Z0JBQ3ZCLENBQUM7Z0JBRUQsT0FBTyxhQUFhLENBQUM7WUFFdkIsS0FBSyxRQUFRO2dCQUNYLElBQUksSUFBSSxLQUFLLElBQUksRUFBRSxDQUFDO29CQUNsQixPQUFPLG1CQUFtQixDQUFDO2dCQUM3QixDQUFDO2dCQUVELE9BQU8sbUJBQW1CLENBQUM7WUFFN0IsS0FBSyxJQUFJO2dCQUNQLElBQUksSUFBSSxLQUFLLElBQUksRUFBRSxDQUFDO29CQUNsQixPQUFPLFdBQVcsQ0FBQztnQkFDckIsQ0FBQztnQkFFRCxPQUFPLFdBQVcsQ0FBQztZQUVyQixLQUFLLFNBQVM7Z0JBQ1osSUFBSSxJQUFJLEtBQUssSUFBSSxFQUFFLENBQUM7b0JBQ2xCLE9BQU8sc0JBQXNCLENBQUM7Z0JBQ2hDLENBQUM7Z0JBRUQsT0FBTyxzQkFBc0IsQ0FBQztRQUNsQyxDQUFDO0lBQ0gsQ0FBQzt3R0FwR1UseUJBQXlCO3NHQUF6Qix5QkFBeUI7OzRGQUF6Qix5QkFBeUI7a0JBTHJDLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLDJCQUEyQjtvQkFDakMsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRZUEVfRlVOQ1RJT05fRk9STUFUX0RBVEUsIFV0aWxzQ2FjaGUgfSBmcm9tICdAbGlicy11aS91dGlscyc7XG5pbXBvcnQgKiBhcyBkYXlqcyBmcm9tICdkYXlqcyc7XG5pbXBvcnQgKiBhcyBlbiBmcm9tICdkYXlqcy9sb2NhbGUvZW4nO1xuaW1wb3J0ICogYXMgdmkgZnJvbSAnZGF5anMvbG9jYWxlL3ZpJztcbmltcG9ydCAqIGFzIHVwZGF0ZUxvY2FsZSBmcm9tICdkYXlqcy9wbHVnaW4vdXBkYXRlTG9jYWxlJztcbmRheWpzLmV4dGVuZCh1cGRhdGVMb2NhbGUpO1xuXG5cbkBQaXBlKHtcbiAgbmFtZTogJ0xpYnNVaVBpcGVzRm9ybWF0RGF0ZVBpcGUnLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuXG5leHBvcnQgY2xhc3MgTGlic1VpUGlwZXNGb3JtYXREYXRlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICB0cmFuc2Zvcm0odGltZTogc3RyaW5nIHwgbnVtYmVyIHwgZGF5anMuRGF5anMgfCB1bmRlZmluZWQgfCBudWxsLCBmb3JtYXQgPSAnWVlZWS9NTS9ERCBISDptbScsIGxhbmc/OiBzdHJpbmcsIGZ1bmN0aW9uQ3VzdG9tRm9ybWF0PzogVFlQRV9GVU5DVElPTl9GT1JNQVRfREFURSk6IHN0cmluZyB7XG4gICAgY29uc29sZS5sb2coJ3RpbWUnLCB0aW1lKTtcbiAgICBpZiAoIXRpbWUpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gICAgY29uc29sZS5sb2coJ2xhbmcnLCBsYW5nKTtcbiAgICBsYW5nID0gbGFuZyB8fCBVdGlsc0NhY2hlLmdldExhbmcoKTtcbiAgICBpZiAoZnVuY3Rpb25DdXN0b21Gb3JtYXQpIHtcbiAgICAgIHJldHVybiBmdW5jdGlvbkN1c3RvbUZvcm1hdCh0aW1lLCBmb3JtYXQsIGxhbmcpO1xuICAgIH1cbiAgICBjb25zb2xlLmxvZygnZm9ybWF0JywgZm9ybWF0KTtcbiAgICAvLyBpZiAoZm9ybWF0RGF0ZSgpKSB7XG4gICAgLy8gICByZXR1cm4gZm9ybWF0RGF0ZSgpPy4odGltZSwgZm9ybWF0LCBsYW5nKSB8fCAnJztcbiAgICAvLyB9XG4gICAgdGltZSA9IHR5cGVvZiB0aW1lID09PSAnbnVtYmVyJyA/IGRheWpzLnVuaXgodGltZSkubG9jYWxlKGxhbmcpIDogZGF5anModGltZSkubG9jYWxlKGxhbmcpO1xuICAgIHRoaXMudXBkYXRlTG9jYWxlKGxhbmcpO1xuICAgIGNvbnNvbGUubG9nKCcxJyk7XG4gICAgaWYgKHR5cGVvZiB0aW1lID09PSAnbnVtYmVyJykge1xuICAgICAgcmV0dXJuIGRheWpzLnVuaXgodGltZSkuZm9ybWF0KHRoaXMuZ2V0Rm9ybWF0RGF0YSh0aGlzLmdldFR5cGVCeUZvcm1hdChmb3JtYXQpLCBsYW5nKSk7XG4gICAgfVxuICAgIGNvbnNvbGUubG9nKCcyJyk7XG4gICAgcmV0dXJuIGRheWpzKHRpbWUpLmZvcm1hdCh0aGlzLmdldEZvcm1hdERhdGEodGhpcy5nZXRUeXBlQnlGb3JtYXQoZm9ybWF0KSwgbGFuZykpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVMb2NhbGUobGFuZzogc3RyaW5nKSB7XG4gICAgaWYgKGxhbmcgPT09ICd2aScpIHtcbiAgICAgIGRheWpzLmxvY2FsZSh2aSk7XG4gICAgICBkYXlqcy51cGRhdGVMb2NhbGUoJ3ZpJywge1xuICAgICAgICBtb250aHNTaG9ydDogJ1RoZyAxX1RoZyAyX1RoZyAzX1RoZyA0X1RoZyA1X1RoZyA2X1RoZyA3X1RoZyA4X1RoZyA5X1RoZyAxMF9UaGcgMTFfVGhnIDEyJy5zcGxpdCgnXycpXG4gICAgICB9KTtcbiAgICAgIGNvbnNvbGUubG9nKCczJywgbGFuZyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnNvbGUubG9nKCc0Jyk7XG4gICAgZGF5anMubG9jYWxlKGVuKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VHlwZUJ5Rm9ybWF0KGZvcm1hdDogc3RyaW5nKTogJ2RtJyB8ICdkbXknIHwgJ2RteSBobScgfCAnbXknIHwgJ2RteSBobXMnIHtcbiAgICBjb25zb2xlLmxvZygnNScpO1xuICAgIGlmIChmb3JtYXQgPT09ICdkbScgfHwgZm9ybWF0ID09PSAnZG15JyB8fCBmb3JtYXQgPT09ICdkbXkgaG0nIHx8IGZvcm1hdCA9PT0gJ215Jykge1xuICAgICAgcmV0dXJuIGZvcm1hdDtcbiAgICB9XG5cbiAgICBpZiAoZm9ybWF0ID09PSAnREQvTU0vWVlZWScgfHwgZm9ybWF0ID09PSAnWVlZWS1NTS1ERCcgfHwgZm9ybWF0ID09PSAnZGQvTU0veXl5eScgfHwgZm9ybWF0ID09PSAnZGQtTU0teXl5eScgfHwgZm9ybWF0ID09PSAnZGQvbW0veXl5eScpIHtcbiAgICAgIHJldHVybiAnZG15JztcbiAgICB9XG5cbiAgICBpZiAoZm9ybWF0ID09PSAnTU0tREQnIHx8IGZvcm1hdCA9PT0gJ2RkL01NJyB8fCBmb3JtYXQgPT09ICdkZC9tbScpIHtcbiAgICAgIHJldHVybiAnZG0nO1xuICAgIH1cblxuICAgIGlmIChmb3JtYXQgPT09ICdNL1lZWVknIHx8IGZvcm1hdCA9PT0gJ1lZWVktTU0nIHx8IGZvcm1hdCA9PT0gJ01NL3l5eXknKSB7XG4gICAgICByZXR1cm4gJ215JztcbiAgICB9XG5cbiAgICBpZiAoZm9ybWF0ID09PSAnWVlZWS9NTS9ERCBoaDptbTpzcycgfHwgZm9ybWF0ID09PSAnZG15IGhtcycgfHwgZm9ybWF0ID09PSAnZGQvbW0veXl5eSBoaDptbTpzcycpIHtcbiAgICAgIHJldHVybiAnZG15IGhtcyc7XG4gICAgfVxuXG4gICAgcmV0dXJuICdkbXkgaG0nO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRGb3JtYXREYXRhKHR5cGU6ICdkbScgfCAnZG15JyB8ICdkbXkgaG0nIHwgJ215JyB8ICdkbXkgaG1zJywgbGFuZzogc3RyaW5nKSB7XG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICBjYXNlICdkbSc6XG4gICAgICAgIGlmIChsYW5nID09PSAndmknKSB7XG4gICAgICAgICAgcmV0dXJuICdEIE1NTSc7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gJ01NTSBEJztcblxuICAgICAgY2FzZSAnZG15JzpcbiAgICAgICAgaWYgKGxhbmcgPT09ICd2aScpIHtcbiAgICAgICAgICByZXR1cm4gJ0QgTU1NLCBZWVlZJztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiAnTU1NIEQsIFlZWVknO1xuXG4gICAgICBjYXNlICdkbXkgaG0nOlxuICAgICAgICBpZiAobGFuZyA9PT0gJ3ZpJykge1xuICAgICAgICAgIHJldHVybiAnRCBNTU0sIFlZWVkgSEg6bW0nO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuICdNTU0gRCwgWVlZWSBISDptbSc7XG5cbiAgICAgIGNhc2UgJ215JzpcbiAgICAgICAgaWYgKGxhbmcgPT09ICd2aScpIHtcbiAgICAgICAgICByZXR1cm4gJ01NTSwgWVlZWSc7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gJ01NTSBZWVlZICc7XG5cbiAgICAgIGNhc2UgJ2RteSBobXMnOlxuICAgICAgICBpZiAobGFuZyA9PT0gJ3ZpJykge1xuICAgICAgICAgIHJldHVybiAnRCBNTU0sIFlZWVkgSEg6bW06c3MnO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuICdNTU0gRCwgWVlZWSBISDptbTpzcyc7XG4gICAgfVxuICB9XG5cbn1cbiJdfQ==
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LWRhdGUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMtdWkvcGlwZXMvZm9ybWF0LWRhdGUvc3JjL2Zvcm1hdC1kYXRlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTVELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDOztBQU1sRSxNQUFNLE9BQU8seUJBQXlCO0lBQzVCLFVBQVUsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUUvQyxTQUFTLENBQUMsSUFBc0QsRUFBRSxNQUFNLEdBQUcsa0JBQWtCLEVBQUUsSUFBYTtRQUMxRyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDdkQsQ0FBQzt3R0FMVSx5QkFBeUI7c0dBQXpCLHlCQUF5Qjs7NEZBQXpCLHlCQUF5QjtrQkFKckMsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsMkJBQTJCO29CQUNqQyxVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCAqIGFzIGRheWpzIGZyb20gJ2RheWpzJztcbmltcG9ydCB7IEZvcm1hdERhdGVTZXJ2aWNlIH0gZnJvbSAnQGxpYnMtdWkvc2VydmljZXMtZm9ybWF0LWRhdGUnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdMaWJzVWlQaXBlc0Zvcm1hdERhdGVQaXBlJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBMaWJzVWlQaXBlc0Zvcm1hdERhdGVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHByaXZhdGUgZm9ybWF0RGF0ZSA9IGluamVjdChGb3JtYXREYXRlU2VydmljZSk7XG5cbiAgdHJhbnNmb3JtKHRpbWU6IHN0cmluZyB8IG51bWJlciB8IGRheWpzLkRheWpzIHwgdW5kZWZpbmVkIHwgbnVsbCwgZm9ybWF0ID0gJ1lZWVkvTU0vREQgSEg6bW0nLCBsYW5nPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtYXREYXRlLnRyYW5zZm9ybSh0aW1lLCBmb3JtYXQsIGxhbmcpO1xuICB9XG59XG4iXX0=
@@ -1,95 +1,11 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Pipe } from '@angular/core';
3
- import { UtilsCache } from '@libs-ui/utils';
4
- import * as dayjs from 'dayjs';
5
- import * as en from 'dayjs/locale/en';
6
- import * as vi from 'dayjs/locale/vi';
7
- import * as updateLocale from 'dayjs/plugin/updateLocale';
2
+ import { inject, Pipe } from '@angular/core';
3
+ import { FormatDateService } from '@libs-ui/services-format-date';
8
4
 
9
- dayjs.extend(updateLocale);
10
5
  class LibsUiPipesFormatDatePipe {
11
- transform(time, format = 'YYYY/MM/DD HH:mm', lang, functionCustomFormat) {
12
- console.log('time', time);
13
- if (!time) {
14
- return '';
15
- }
16
- console.log('lang', lang);
17
- lang = lang || UtilsCache.getLang();
18
- if (functionCustomFormat) {
19
- return functionCustomFormat(time, format, lang);
20
- }
21
- console.log('format', format);
22
- // if (formatDate()) {
23
- // return formatDate()?.(time, format, lang) || '';
24
- // }
25
- time = typeof time === 'number' ? dayjs.unix(time).locale(lang) : dayjs(time).locale(lang);
26
- this.updateLocale(lang);
27
- console.log('1');
28
- if (typeof time === 'number') {
29
- return dayjs.unix(time).format(this.getFormatData(this.getTypeByFormat(format), lang));
30
- }
31
- console.log('2');
32
- return dayjs(time).format(this.getFormatData(this.getTypeByFormat(format), lang));
33
- }
34
- updateLocale(lang) {
35
- if (lang === 'vi') {
36
- dayjs.locale(vi);
37
- dayjs.updateLocale('vi', {
38
- monthsShort: 'Thg 1_Thg 2_Thg 3_Thg 4_Thg 5_Thg 6_Thg 7_Thg 8_Thg 9_Thg 10_Thg 11_Thg 12'.split('_')
39
- });
40
- console.log('3', lang);
41
- return;
42
- }
43
- console.log('4');
44
- dayjs.locale(en);
45
- }
46
- getTypeByFormat(format) {
47
- console.log('5');
48
- if (format === 'dm' || format === 'dmy' || format === 'dmy hm' || format === 'my') {
49
- return format;
50
- }
51
- if (format === 'DD/MM/YYYY' || format === 'YYYY-MM-DD' || format === 'dd/MM/yyyy' || format === 'dd-MM-yyyy' || format === 'dd/mm/yyyy') {
52
- return 'dmy';
53
- }
54
- if (format === 'MM-DD' || format === 'dd/MM' || format === 'dd/mm') {
55
- return 'dm';
56
- }
57
- if (format === 'M/YYYY' || format === 'YYYY-MM' || format === 'MM/yyyy') {
58
- return 'my';
59
- }
60
- if (format === 'YYYY/MM/DD hh:mm:ss' || format === 'dmy hms' || format === 'dd/mm/yyyy hh:mm:ss') {
61
- return 'dmy hms';
62
- }
63
- return 'dmy hm';
64
- }
65
- getFormatData(type, lang) {
66
- switch (type) {
67
- case 'dm':
68
- if (lang === 'vi') {
69
- return 'D MMM';
70
- }
71
- return 'MMM D';
72
- case 'dmy':
73
- if (lang === 'vi') {
74
- return 'D MMM, YYYY';
75
- }
76
- return 'MMM D, YYYY';
77
- case 'dmy hm':
78
- if (lang === 'vi') {
79
- return 'D MMM, YYYY HH:mm';
80
- }
81
- return 'MMM D, YYYY HH:mm';
82
- case 'my':
83
- if (lang === 'vi') {
84
- return 'MMM, YYYY';
85
- }
86
- return 'MMM YYYY ';
87
- case 'dmy hms':
88
- if (lang === 'vi') {
89
- return 'D MMM, YYYY HH:mm:ss';
90
- }
91
- return 'MMM D, YYYY HH:mm:ss';
92
- }
6
+ formatDate = inject(FormatDateService);
7
+ transform(time, format = 'YYYY/MM/DD HH:mm', lang) {
8
+ return this.formatDate.transform(time, format, lang);
93
9
  }
94
10
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibsUiPipesFormatDatePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
95
11
  static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: LibsUiPipesFormatDatePipe, isStandalone: true, name: "LibsUiPipesFormatDatePipe" });
@@ -1 +1 @@
1
- {"version":3,"file":"libs-ui-pipes-format-date.mjs","sources":["../../../../../libs-ui/pipes/format-date/src/format-date.pipe.ts","../../../../../libs-ui/pipes/format-date/src/libs-ui-pipes-format-date.ts"],"sourcesContent":["\n\nimport { Pipe, PipeTransform } from '@angular/core';\nimport { TYPE_FUNCTION_FORMAT_DATE, UtilsCache } from '@libs-ui/utils';\nimport * as dayjs from 'dayjs';\nimport * as en from 'dayjs/locale/en';\nimport * as vi from 'dayjs/locale/vi';\nimport * as updateLocale from 'dayjs/plugin/updateLocale';\ndayjs.extend(updateLocale);\n\n\n@Pipe({\n name: 'LibsUiPipesFormatDatePipe',\n standalone: true\n})\n\nexport class LibsUiPipesFormatDatePipe implements PipeTransform {\n transform(time: string | number | dayjs.Dayjs | undefined | null, format = 'YYYY/MM/DD HH:mm', lang?: string, functionCustomFormat?: TYPE_FUNCTION_FORMAT_DATE): string {\n console.log('time', time);\n if (!time) {\n return '';\n }\n console.log('lang', lang);\n lang = lang || UtilsCache.getLang();\n if (functionCustomFormat) {\n return functionCustomFormat(time, format, lang);\n }\n console.log('format', format);\n // if (formatDate()) {\n // return formatDate()?.(time, format, lang) || '';\n // }\n time = typeof time === 'number' ? dayjs.unix(time).locale(lang) : dayjs(time).locale(lang);\n this.updateLocale(lang);\n console.log('1');\n if (typeof time === 'number') {\n return dayjs.unix(time).format(this.getFormatData(this.getTypeByFormat(format), lang));\n }\n console.log('2');\n return dayjs(time).format(this.getFormatData(this.getTypeByFormat(format), lang));\n }\n\n private updateLocale(lang: string) {\n if (lang === 'vi') {\n dayjs.locale(vi);\n dayjs.updateLocale('vi', {\n monthsShort: 'Thg 1_Thg 2_Thg 3_Thg 4_Thg 5_Thg 6_Thg 7_Thg 8_Thg 9_Thg 10_Thg 11_Thg 12'.split('_')\n });\n console.log('3', lang);\n return;\n }\n console.log('4');\n dayjs.locale(en);\n }\n\n private getTypeByFormat(format: string): 'dm' | 'dmy' | 'dmy hm' | 'my' | 'dmy hms' {\n console.log('5');\n if (format === 'dm' || format === 'dmy' || format === 'dmy hm' || format === 'my') {\n return format;\n }\n\n if (format === 'DD/MM/YYYY' || format === 'YYYY-MM-DD' || format === 'dd/MM/yyyy' || format === 'dd-MM-yyyy' || format === 'dd/mm/yyyy') {\n return 'dmy';\n }\n\n if (format === 'MM-DD' || format === 'dd/MM' || format === 'dd/mm') {\n return 'dm';\n }\n\n if (format === 'M/YYYY' || format === 'YYYY-MM' || format === 'MM/yyyy') {\n return 'my';\n }\n\n if (format === 'YYYY/MM/DD hh:mm:ss' || format === 'dmy hms' || format === 'dd/mm/yyyy hh:mm:ss') {\n return 'dmy hms';\n }\n\n return 'dmy hm';\n }\n\n private getFormatData(type: 'dm' | 'dmy' | 'dmy hm' | 'my' | 'dmy hms', lang: string) {\n switch (type) {\n case 'dm':\n if (lang === 'vi') {\n return 'D MMM';\n }\n\n return 'MMM D';\n\n case 'dmy':\n if (lang === 'vi') {\n return 'D MMM, YYYY';\n }\n\n return 'MMM D, YYYY';\n\n case 'dmy hm':\n if (lang === 'vi') {\n return 'D MMM, YYYY HH:mm';\n }\n\n return 'MMM D, YYYY HH:mm';\n\n case 'my':\n if (lang === 'vi') {\n return 'MMM, YYYY';\n }\n\n return 'MMM YYYY ';\n\n case 'dmy hms':\n if (lang === 'vi') {\n return 'D MMM, YYYY HH:mm:ss';\n }\n\n return 'MMM D, YYYY HH:mm:ss';\n }\n }\n\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"libs-ui-pipes-format-date.mjs","sources":["../../../../../libs-ui/pipes/format-date/src/format-date.pipe.ts","../../../../../libs-ui/pipes/format-date/src/libs-ui-pipes-format-date.ts"],"sourcesContent":["import { Pipe, PipeTransform, inject } from '@angular/core';\nimport * as dayjs from 'dayjs';\nimport { FormatDateService } from '@libs-ui/services-format-date';\n\n@Pipe({\n name: 'LibsUiPipesFormatDatePipe',\n standalone: true\n})\nexport class LibsUiPipesFormatDatePipe implements PipeTransform {\n private formatDate = inject(FormatDateService);\n\n transform(time: string | number | dayjs.Dayjs | undefined | null, format = 'YYYY/MM/DD HH:mm', lang?: string): string {\n return this.formatDate.transform(time, format, lang);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAQa,yBAAyB,CAAA;AAC5B,IAAA,UAAU,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAE9C,IAAA,SAAS,CAAC,IAAsD,EAAE,MAAM,GAAG,kBAAkB,EAAE,IAAa,EAAA;AAC1G,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC;;wGAJ3C,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA;sGAAzB,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,2BAAA,EAAA,CAAA;;4FAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAJrC,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,2BAA2B;AACjC,oBAAA,UAAU,EAAE;AACb,iBAAA;;;ACPD;;AAEG;;;;"}
@@ -1,12 +1,9 @@
1
1
  import { PipeTransform } from '@angular/core';
2
- import { TYPE_FUNCTION_FORMAT_DATE } from '@libs-ui/utils';
3
2
  import * as dayjs from 'dayjs';
4
3
  import * as i0 from "@angular/core";
5
4
  export declare class LibsUiPipesFormatDatePipe implements PipeTransform {
6
- transform(time: string | number | dayjs.Dayjs | undefined | null, format?: string, lang?: string, functionCustomFormat?: TYPE_FUNCTION_FORMAT_DATE): string;
7
- private updateLocale;
8
- private getTypeByFormat;
9
- private getFormatData;
5
+ private formatDate;
6
+ transform(time: string | number | dayjs.Dayjs | undefined | null, format?: string, lang?: string): string;
10
7
  static ɵfac: i0.ɵɵFactoryDeclaration<LibsUiPipesFormatDatePipe, never>;
11
8
  static ɵpipe: i0.ɵɵPipeDeclaration<LibsUiPipesFormatDatePipe, "LibsUiPipesFormatDatePipe", true>;
12
9
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@libs-ui/pipes-format-date",
3
- "version": "0.2.51",
3
+ "version": "0.2.53",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^18.2.0",
6
6
  "@angular/core": "^18.2.0"