@libs-ui/services-format-date 0.2.88 → 0.2.90

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,90 +1,9 @@
1
1
  import { Injectable } from '@angular/core';
2
- import { UtilsCache, formatDate } from '@libs-ui/utils';
3
- import dayjs from 'dayjs';
4
- import * as en from 'dayjs/locale/en';
5
- import * as vi from 'dayjs/locale/vi';
6
- import plugin from 'dayjs/plugin/updateLocale';
2
+ import { formatDate } from '@libs-ui/utils';
7
3
  import * as i0 from "@angular/core";
8
- dayjs.extend(plugin);
9
4
  export class FormatDateService {
10
- functionFormatDate;
11
- updateFunctionFormatDate(functionCustom) {
12
- this.functionFormatDate = functionCustom;
13
- }
14
5
  transform(time, format = 'YYYY/MM/DD HH:mm', lang) {
15
- if (!time) {
16
- return '';
17
- }
18
- lang = lang || UtilsCache.getLang();
19
- if (this.functionFormatDate) {
20
- return this.functionFormatDate(time, format, lang);
21
- }
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
- if (typeof time === 'number') {
28
- return dayjs.unix(time).format(this.getFormatData(this.getTypeByFormat(format), lang));
29
- }
30
- return dayjs(time).format(this.getFormatData(this.getTypeByFormat(format), lang));
31
- }
32
- updateLocale(lang) {
33
- if (lang === 'vi') {
34
- dayjs.locale(vi);
35
- dayjs.updateLocale('vi', {
36
- 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('_')
37
- });
38
- return;
39
- }
40
- dayjs.locale(en);
41
- }
42
- getTypeByFormat(format) {
43
- if (format === 'dm' || format === 'dmy' || format === 'dmy hm' || format === 'my') {
44
- return format;
45
- }
46
- if (format === 'DD/MM/YYYY' || format === 'YYYY-MM-DD' || format === 'dd/MM/yyyy' || format === 'dd-MM-yyyy' || format === 'dd/mm/yyyy') {
47
- return 'dmy';
48
- }
49
- if (format === 'MM-DD' || format === 'dd/MM' || format === 'dd/mm') {
50
- return 'dm';
51
- }
52
- if (format === 'M/YYYY' || format === 'YYYY-MM' || format === 'MM/yyyy') {
53
- return 'my';
54
- }
55
- if (format === 'YYYY/MM/DD hh:mm:ss' || format === 'dmy hms' || format === 'dd/mm/yyyy hh:mm:ss') {
56
- return 'dmy hms';
57
- }
58
- return 'dmy hm';
59
- }
60
- getFormatData(type, lang) {
61
- switch (type) {
62
- case 'dm':
63
- if (lang === 'vi') {
64
- return 'D MMM';
65
- }
66
- return 'MMM D';
67
- case 'dmy':
68
- if (lang === 'vi') {
69
- return 'D MMM, YYYY';
70
- }
71
- return 'MMM D, YYYY';
72
- case 'dmy hm':
73
- if (lang === 'vi') {
74
- return 'D MMM, YYYY HH:mm';
75
- }
76
- return 'MMM D, YYYY HH:mm';
77
- case 'my':
78
- if (lang === 'vi') {
79
- return 'MMM, YYYY';
80
- }
81
- return 'MMM YYYY ';
82
- case 'dmy hms':
83
- if (lang === 'vi') {
84
- return 'D MMM, YYYY HH:mm:ss';
85
- }
86
- return 'MMM D, YYYY HH:mm:ss';
87
- }
6
+ return formatDate(time, format, lang) || '';
88
7
  }
89
8
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormatDateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
90
9
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormatDateService, providedIn: 'root' });
@@ -93,4 +12,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
93
12
  type: Injectable,
94
13
  args: [{ providedIn: 'root' }]
95
14
  }] });
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LWRhdGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMtdWkvc2VydmljZXMvZm9ybWF0LWRhdGUvc3JjL2Zvcm1hdC1kYXRlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hELE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3RDLE9BQU8sS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdEMsT0FBTyxNQUFNLE1BQU0sMkJBQTJCLENBQUM7O0FBQy9DLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7QUFHckIsTUFBTSxPQUFPLGlCQUFpQjtJQUVwQixrQkFBa0IsQ0FBa0g7SUFFckksd0JBQXdCLENBQUMsY0FBaUg7UUFDL0ksSUFBSSxDQUFDLGtCQUFrQixHQUFHLGNBQWMsQ0FBQztJQUMzQyxDQUFDO0lBRU0sU0FBUyxDQUFDLElBQXNELEVBQUUsTUFBTSxHQUFHLGtCQUFrQixFQUFFLElBQWE7UUFDakgsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1YsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBQ0QsSUFBSSxHQUFHLElBQUksSUFBSSxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDcEMsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUM1QixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3JELENBQUM7UUFDRCxJQUFJLFVBQVUsRUFBRSxFQUFFLENBQUM7WUFDakIsT0FBTyxVQUFVLEVBQUUsRUFBRSxDQUFD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LEtBQUssSUFBSSxFQUFFLENBQUM7b0JBQ2xCLE9BQU8sbUJBQW1CLENBQUM7Z0JBQzdCLENBQUM7Z0JBRUQsT0FBTyxtQkFBbUIsQ0FBQztZQUU3QixLQUFLLElBQUk7Z0JBQ1AsSUFBSSxJQUFJLEtBQUssSUFBSSxFQUFFLENBQUM7b0JBQ2xCLE9BQU8sV0FBVyxDQUFDO2dCQUNyQixDQUFDO2dCQUVELE9BQU8sV0FBVyxDQUFDO1lBRXJCLEtBQUssU0FBUztnQkFDWixJQUFJLElBQUksS0FBSyxJQUFJLEVBQUUsQ0FBQztvQkFDbEIsT0FBTyxzQkFBc0IsQ0FBQztnQkFDaEMsQ0FBQztnQkFFRCxPQUFPLHNCQUFzQixDQUFDO1FBQ2xDLENBQUM7SUFDSCxDQUFDO3dHQXJHVSxpQkFBaUI7NEdBQWpCLGlCQUFpQixjQURKLE1BQU07OzRGQUNuQixpQkFBaUI7a0JBRDdCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVXRpbHNDYWNoZSwgZm9ybWF0RGF0ZSB9IGZyb20gJ0BsaWJzLXVpL3V0aWxzJztcbmltcG9ydCBkYXlqcyBmcm9tICdkYXlqcyc7XG5pbXBvcnQgKiBhcyBlbiBmcm9tICdkYXlqcy9sb2NhbGUvZW4nO1xuaW1wb3J0ICogYXMgdmkgZnJvbSAnZGF5anMvbG9jYWxlL3ZpJztcbmltcG9ydCBwbHVnaW4gZnJvbSAnZGF5anMvcGx1Z2luL3VwZGF0ZUxvY2FsZSc7XG5kYXlqcy5leHRlbmQocGx1Z2luKTtcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBGb3JtYXREYXRlU2VydmljZSB7XG5cbiAgcHJpdmF0ZSBmdW5jdGlvbkZvcm1hdERhdGU6ICgodGltZTogc3RyaW5nIHwgbnVtYmVyIHwgZGF5anMuRGF5anMgfCB1bmRlZmluZWQgfCBudWxsLCBmb3JtYXQ6IHN0cmluZywgbGFuZz86IHN0cmluZykgPT4gc3RyaW5nKSB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgdXBkYXRlRnVuY3Rpb25Gb3JtYXREYXRlKGZ1bmN0aW9uQ3VzdG9tOiAodGltZTogc3RyaW5nIHwgbnVtYmVyIHwgZGF5anMuRGF5anMgfCB1bmRlZmluZWQgfCBudWxsLCBmb3JtYXQ6IHN0cmluZywgbGFuZz86IHN0cmluZykgPT4gc3RyaW5nKSB7XG4gICAgdGhpcy5mdW5jdGlvbkZvcm1hdERhdGUgPSBmdW5jdGlvbkN1c3RvbTtcbiAgfVxuXG4gIHB1YmxpYyB0cmFuc2Zvcm0odGltZTogc3RyaW5nIHwgbnVtYmVyIHwgZGF5anMuRGF5anMgfCB1bmRlZmluZWQgfCBudWxsLCBmb3JtYXQgPSAnWVlZWS9NTS9ERCBISDptbScsIGxhbmc/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmICghdGltZSkge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgICBsYW5nID0gbGFuZyB8fCBVdGlsc0NhY2hlLmdldExhbmcoKTtcbiAgICBpZiAodGhpcy5mdW5jdGlvbkZvcm1hdERhdGUpIHtcbiAgICAgIHJldHVybiB0aGlzLmZ1bmN0aW9uRm9ybWF0RGF0ZSh0aW1lLCBmb3JtYXQsIGxhbmcpO1xuICAgIH1cbiAgICBpZiAoZm9ybWF0RGF0ZSgpKSB7XG4gICAgICByZXR1cm4gZm9ybWF0RGF0ZSgpPy4odGltZSwgZm9ybWF0LCBsYW5nKSB8fCAnJztcbiAgICB9XG4gICAgdGltZSA9IHR5cGVvZiB0aW1lID09PSAnbnVtYmVyJyA/IGRheWpzLnVuaXgodGltZSkubG9jYWxlKGxhbmcpIDogZGF5anModGltZSkubG9jYWxlKGxhbmcpO1xuICAgIHRoaXMudXBkYXRlTG9jYWxlKGxhbmcpO1xuICAgIGlmICh0eXBlb2YgdGltZSA9PT0gJ251bWJlcicpIHtcbiAgICAgIHJldHVybiBkYXlqcy51bml4KHRpbWUpLmZvcm1hdCh0aGlzLmdldEZvcm1hdERhdGEodGhpcy5nZXRUeXBlQnlGb3JtYXQoZm9ybWF0KSwgbGFuZykpO1xuICAgIH1cblxuICAgIHJldHVybiBkYXlqcyh0aW1lKS5mb3JtYXQodGhpcy5nZXRGb3JtYXREYXRhKHRoaXMuZ2V0VHlwZUJ5Rm9ybWF0KGZvcm1hdCksIGxhbmcpKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlTG9jYWxlKGxhbmc6IHN0cmluZykge1xuICAgIGlmIChsYW5nID09PSAndmknKSB7XG4gICAgICBkYXlqcy5sb2NhbGUodmkpO1xuICAgICAgZGF5anMudXBkYXRlTG9jYWxlKCd2aScsIHtcbiAgICAgICAgbW9udGhzU2hvcnQ6ICdUaGcgMV9UaGcgMl9UaGcgM19UaGcgNF9UaGcgNV9UaGcgNl9UaGcgN19UaGcgOF9UaGcgOV9UaGcgMTBfVGhnIDExX1RoZyAxMicuc3BsaXQoJ18nKVxuICAgICAgfSk7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgZGF5anMubG9jYWxlKGVuKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VHlwZUJ5Rm9ybWF0KGZvcm1hdDogc3RyaW5nKTogJ2RtJyB8ICdkbXknIHwgJ2RteSBobScgfCAnbXknIHwgJ2RteSBobXMnIHtcbiAgICBpZiAoZm9ybWF0ID09PSAnZG0nIHx8IGZvcm1hdCA9PT0gJ2RteScgfHwgZm9ybWF0ID09PSAnZG15IGhtJyB8fCBmb3JtYXQgPT09ICdteScpIHtcbiAgICAgIHJldHVybiBmb3JtYXQ7XG4gICAgfVxuXG4gICAgaWYgKGZvcm1hdCA9PT0gJ0REL01NL1lZWVknIHx8IGZvcm1hdCA9PT0gJ1lZWVktTU0tREQnIHx8IGZvcm1hdCA9PT0gJ2RkL01NL3l5eXknIHx8IGZvcm1hdCA9PT0gJ2RkLU1NLXl5eXknIHx8IGZvcm1hdCA9PT0gJ2RkL21tL3l5eXknKSB7XG4gICAgICByZXR1cm4gJ2RteSc7XG4gICAgfVxuXG4gICAgaWYgKGZvcm1hdCA9PT0gJ01NLUREJyB8fCBmb3JtYXQgPT09ICdkZC9NTScgfHwgZm9ybWF0ID09PSAnZGQvbW0nKSB7XG4gICAgICByZXR1cm4gJ2RtJztcbiAgICB9XG5cbiAgICBpZiAoZm9ybWF0ID09PSAnTS9ZWVlZJyB8fCBmb3JtYXQgPT09ICdZWVlZLU1NJyB8fCBmb3JtYXQgPT09ICdNTS95eXl5Jykge1xuICAgICAgcmV0dXJuICdteSc7XG4gICAgfVxuXG4gICAgaWYgKGZvcm1hdCA9PT0gJ1lZWVkvTU0vREQgaGg6bW06c3MnIHx8IGZvcm1hdCA9PT0gJ2RteSBobXMnIHx8IGZvcm1hdCA9PT0gJ2RkL21tL3l5eXkgaGg6bW06c3MnKSB7XG4gICAgICByZXR1cm4gJ2RteSBobXMnO1xuICAgIH1cblxuICAgIHJldHVybiAnZG15IGhtJztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Rm9ybWF0RGF0YSh0eXBlOiAnZG0nIHwgJ2RteScgfCAnZG15IGhtJyB8ICdteScgfCAnZG15IGhtcycsIGxhbmc6IHN0cmluZykge1xuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgY2FzZSAnZG0nOlxuICAgICAgICBpZiAobGFuZyA9PT0gJ3ZpJykge1xuICAgICAgICAgIHJldHVybiAnRCBNTU0nO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuICdNTU0gRCc7XG5cbiAgICAgIGNhc2UgJ2RteSc6XG4gICAgICAgIGlmIChsYW5nID09PSAndmknKSB7XG4gICAgICAgICAgcmV0dXJuICdEIE1NTSwgWVlZWSc7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gJ01NTSBELCBZWVlZJztcblxuICAgICAgY2FzZSAnZG15IGhtJzpcbiAgICAgICAgaWYgKGxhbmcgPT09ICd2aScpIHtcbiAgICAgICAgICByZXR1cm4gJ0QgTU1NLCBZWVlZIEhIOm1tJztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiAnTU1NIEQsIFlZWVkgSEg6bW0nO1xuXG4gICAgICBjYXNlICdteSc6XG4gICAgICAgIGlmIChsYW5nID09PSAndmknKSB7XG4gICAgICAgICAgcmV0dXJuICdNTU0sIFlZWVknO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuICdNTU0gWVlZWSAnO1xuXG4gICAgICBjYXNlICdkbXkgaG1zJzpcbiAgICAgICAgaWYgKGxhbmcgPT09ICd2aScpIHtcbiAgICAgICAgICByZXR1cm4gJ0QgTU1NLCBZWVlZIEhIOm1tOnNzJztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiAnTU1NIEQsIFlZWVkgSEg6bW06c3MnO1xuICAgIH1cbiAgfVxuXG59XG4iXX0=
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LWRhdGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMtdWkvc2VydmljZXMvZm9ybWF0LWRhdGUvc3JjL2Zvcm1hdC1kYXRlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBSTVDLE1BQU0sT0FBTyxpQkFBaUI7SUFFckIsU0FBUyxDQUFDLElBQXNELEVBQUUsTUFBTSxHQUFHLGtCQUFrQixFQUFFLElBQWE7UUFDakgsT0FBTyxVQUFVLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDOUMsQ0FBQzt3R0FKVSxpQkFBaUI7NEdBQWpCLGlCQUFpQixjQURKLE1BQU07OzRGQUNuQixpQkFBaUI7a0JBRDdCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZm9ybWF0RGF0ZSB9IGZyb20gJ0BsaWJzLXVpL3V0aWxzJztcbmltcG9ydCBkYXlqcyBmcm9tICdkYXlqcyc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgRm9ybWF0RGF0ZVNlcnZpY2Uge1xuXG4gIHB1YmxpYyB0cmFuc2Zvcm0odGltZTogc3RyaW5nIHwgbnVtYmVyIHwgZGF5anMuRGF5anMgfCB1bmRlZmluZWQgfCBudWxsLCBmb3JtYXQgPSAnWVlZWS9NTS9ERCBISDptbScsIGxhbmc/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBmb3JtYXREYXRlKHRpbWUsIGZvcm1hdCwgbGFuZykgfHwgJyc7XG4gIH1cblxufVxuIl19
@@ -1,91 +1,10 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { Injectable } from '@angular/core';
3
- import { UtilsCache, formatDate } from '@libs-ui/utils';
4
- import dayjs from 'dayjs';
5
- import * as en from 'dayjs/locale/en';
6
- import * as vi from 'dayjs/locale/vi';
7
- import plugin from 'dayjs/plugin/updateLocale';
3
+ import { formatDate } from '@libs-ui/utils';
8
4
 
9
- dayjs.extend(plugin);
10
5
  class FormatDateService {
11
- functionFormatDate;
12
- updateFunctionFormatDate(functionCustom) {
13
- this.functionFormatDate = functionCustom;
14
- }
15
6
  transform(time, format = 'YYYY/MM/DD HH:mm', lang) {
16
- if (!time) {
17
- return '';
18
- }
19
- lang = lang || UtilsCache.getLang();
20
- if (this.functionFormatDate) {
21
- return this.functionFormatDate(time, format, lang);
22
- }
23
- if (formatDate()) {
24
- return formatDate()?.(time, format, lang) || '';
25
- }
26
- time = typeof time === 'number' ? dayjs.unix(time).locale(lang) : dayjs(time).locale(lang);
27
- this.updateLocale(lang);
28
- if (typeof time === 'number') {
29
- return dayjs.unix(time).format(this.getFormatData(this.getTypeByFormat(format), lang));
30
- }
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
- return;
40
- }
41
- dayjs.locale(en);
42
- }
43
- getTypeByFormat(format) {
44
- if (format === 'dm' || format === 'dmy' || format === 'dmy hm' || format === 'my') {
45
- return format;
46
- }
47
- if (format === 'DD/MM/YYYY' || format === 'YYYY-MM-DD' || format === 'dd/MM/yyyy' || format === 'dd-MM-yyyy' || format === 'dd/mm/yyyy') {
48
- return 'dmy';
49
- }
50
- if (format === 'MM-DD' || format === 'dd/MM' || format === 'dd/mm') {
51
- return 'dm';
52
- }
53
- if (format === 'M/YYYY' || format === 'YYYY-MM' || format === 'MM/yyyy') {
54
- return 'my';
55
- }
56
- if (format === 'YYYY/MM/DD hh:mm:ss' || format === 'dmy hms' || format === 'dd/mm/yyyy hh:mm:ss') {
57
- return 'dmy hms';
58
- }
59
- return 'dmy hm';
60
- }
61
- getFormatData(type, lang) {
62
- switch (type) {
63
- case 'dm':
64
- if (lang === 'vi') {
65
- return 'D MMM';
66
- }
67
- return 'MMM D';
68
- case 'dmy':
69
- if (lang === 'vi') {
70
- return 'D MMM, YYYY';
71
- }
72
- return 'MMM D, YYYY';
73
- case 'dmy hm':
74
- if (lang === 'vi') {
75
- return 'D MMM, YYYY HH:mm';
76
- }
77
- return 'MMM D, YYYY HH:mm';
78
- case 'my':
79
- if (lang === 'vi') {
80
- return 'MMM, YYYY';
81
- }
82
- return 'MMM YYYY ';
83
- case 'dmy hms':
84
- if (lang === 'vi') {
85
- return 'D MMM, YYYY HH:mm:ss';
86
- }
87
- return 'MMM D, YYYY HH:mm:ss';
88
- }
7
+ return formatDate(time, format, lang) || '';
89
8
  }
90
9
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormatDateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
91
10
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormatDateService, providedIn: 'root' });
@@ -1 +1 @@
1
- {"version":3,"file":"libs-ui-services-format-date.mjs","sources":["../../../../../libs-ui/services/format-date/src/format-date.service.ts","../../../../../libs-ui/services/format-date/src/libs-ui-services-format-date.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { UtilsCache, formatDate } from '@libs-ui/utils';\nimport dayjs from 'dayjs';\nimport * as en from 'dayjs/locale/en';\nimport * as vi from 'dayjs/locale/vi';\nimport plugin from 'dayjs/plugin/updateLocale';\ndayjs.extend(plugin);\n\n@Injectable({ providedIn: 'root' })\nexport class FormatDateService {\n\n private functionFormatDate: ((time: string | number | dayjs.Dayjs | undefined | null, format: string, lang?: string) => string) | undefined;\n\n public updateFunctionFormatDate(functionCustom: (time: string | number | dayjs.Dayjs | undefined | null, format: string, lang?: string) => string) {\n this.functionFormatDate = functionCustom;\n }\n\n public transform(time: string | number | dayjs.Dayjs | undefined | null, format = 'YYYY/MM/DD HH:mm', lang?: string): string {\n if (!time) {\n return '';\n }\n lang = lang || UtilsCache.getLang();\n if (this.functionFormatDate) {\n return this.functionFormatDate(time, format, lang);\n }\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 if (typeof time === 'number') {\n return dayjs.unix(time).format(this.getFormatData(this.getTypeByFormat(format), lang));\n }\n\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\n return;\n }\n dayjs.locale(en);\n }\n\n private getTypeByFormat(format: string): 'dm' | 'dmy' | 'dmy hm' | 'my' | 'dmy hms' {\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-services-format-date.mjs","sources":["../../../../../libs-ui/services/format-date/src/format-date.service.ts","../../../../../libs-ui/services/format-date/src/libs-ui-services-format-date.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { formatDate } from '@libs-ui/utils';\nimport dayjs from 'dayjs';\n\n@Injectable({ providedIn: 'root' })\nexport class FormatDateService {\n\n public transform(time: string | number | dayjs.Dayjs | undefined | null, format = 'YYYY/MM/DD HH:mm', lang?: string): string {\n return formatDate(time, format, lang) || '';\n }\n\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAKa,iBAAiB,CAAA;AAErB,IAAA,SAAS,CAAC,IAAsD,EAAE,MAAM,GAAG,kBAAkB,EAAE,IAAa,EAAA;QACjH,OAAO,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE;;wGAHlC,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAjB,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,cADJ,MAAM,EAAA,CAAA;;4FACnB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAD7B,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;ACJlC;;AAEG;;;;"}
@@ -1,12 +1,7 @@
1
1
  import dayjs from 'dayjs';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class FormatDateService {
4
- private functionFormatDate;
5
- updateFunctionFormatDate(functionCustom: (time: string | number | dayjs.Dayjs | undefined | null, format: string, lang?: string) => string): void;
6
4
  transform(time: string | number | dayjs.Dayjs | undefined | null, format?: string, lang?: string): string;
7
- private updateLocale;
8
- private getTypeByFormat;
9
- private getFormatData;
10
5
  static ɵfac: i0.ɵɵFactoryDeclaration<FormatDateService, never>;
11
6
  static ɵprov: i0.ɵɵInjectableDeclaration<FormatDateService>;
12
7
  }
package/package.json CHANGED
@@ -1,9 +1,10 @@
1
1
  {
2
2
  "name": "@libs-ui/services-format-date",
3
- "version": "0.2.88",
3
+ "version": "0.2.90",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^18.2.0",
6
- "@angular/core": "^18.2.0"
6
+ "@angular/core": "^18.2.0",
7
+ "dayjs": "1.11.5"
7
8
  },
8
9
  "sideEffects": false,
9
10
  "module": "fesm2022/libs-ui-services-format-date.mjs",