@ui5/webcomponents-localization 0.0.0-c6d8872f3 → 0.0.0-cad512aa3
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/.eslintignore +1 -0
- package/.eslintrc.js +3 -0
- package/CHANGELOG.md +394 -0
- package/README.md +36 -6
- package/dist/Assets-static.d.ts +1 -0
- package/dist/Assets-static.js +3 -0
- package/dist/Assets-static.js.map +1 -0
- package/dist/Assets.d.ts +1 -0
- package/dist/Assets.js +2 -1
- package/dist/Assets.js.map +1 -0
- package/dist/DateFormat.d.ts +6 -0
- package/dist/DateFormat.js +6 -2
- package/dist/DateFormat.js.map +1 -0
- package/dist/LocaleData.d.ts +6 -0
- package/dist/LocaleData.js +6 -2
- package/dist/LocaleData.js.map +1 -0
- package/dist/dates/CalendarDate.d.ts +41 -0
- package/dist/dates/CalendarDate.js +170 -181
- package/dist/dates/CalendarDate.js.map +1 -0
- package/dist/dates/ExtremeDates.d.ts +5 -0
- package/dist/dates/ExtremeDates.js +29 -0
- package/dist/dates/ExtremeDates.js.map +1 -0
- package/dist/dates/UniversalDate.d.ts +46 -0
- package/dist/dates/UniversalDate.js +5 -0
- package/dist/dates/UniversalDate.js.map +1 -0
- package/dist/dates/calculateWeekNumber.d.ts +4 -0
- package/dist/dates/calculateWeekNumber.js +42 -48
- package/dist/dates/calculateWeekNumber.js.map +1 -0
- package/dist/dates/convertMonthNumbersToMonthNames.d.ts +16 -0
- package/dist/dates/convertMonthNumbersToMonthNames.js +30 -0
- package/dist/dates/convertMonthNumbersToMonthNames.js.map +1 -0
- package/dist/dates/getDaysInMonth.d.ts +3 -0
- package/dist/dates/getDaysInMonth.js +10 -0
- package/dist/dates/getDaysInMonth.js.map +1 -0
- package/dist/dates/getRoundedTimestamp.d.ts +7 -0
- package/dist/dates/getRoundedTimestamp.js +14 -0
- package/dist/dates/getRoundedTimestamp.js.map +1 -0
- package/dist/dates/getTodayUTCTimestamp.d.ts +7 -0
- package/dist/dates/getTodayUTCTimestamp.js +8 -0
- package/dist/dates/getTodayUTCTimestamp.js.map +1 -0
- package/dist/dates/modifyDateBy.d.ts +13 -0
- package/dist/dates/modifyDateBy.js +40 -0
- package/dist/dates/modifyDateBy.js.map +1 -0
- package/dist/dates/transformDateToSecondaryType.d.ts +7 -0
- package/dist/dates/transformDateToSecondaryType.js +17 -0
- package/dist/dates/transformDateToSecondaryType.js.map +1 -0
- package/dist/features/calendar/Buddhist.js +1 -0
- package/dist/features/calendar/Buddhist.js.map +1 -0
- package/dist/features/calendar/Gregorian.js +1 -0
- package/dist/features/calendar/Gregorian.js.map +1 -0
- package/dist/features/calendar/Islamic.js +1 -0
- package/dist/features/calendar/Islamic.js.map +1 -0
- package/dist/features/calendar/Japanese.js +1 -0
- package/dist/features/calendar/Japanese.js.map +1 -0
- package/dist/features/calendar/Persian.js +1 -0
- package/dist/features/calendar/Persian.js.map +1 -0
- package/dist/generated/assets/cldr/ar.json +2804 -5904
- package/dist/generated/assets/cldr/ar_EG.json +2804 -5904
- package/dist/generated/assets/cldr/ar_SA.json +2804 -5904
- package/dist/generated/assets/cldr/bg.json +2727 -4977
- package/dist/generated/assets/cldr/ca.json +2670 -4994
- package/dist/generated/assets/cldr/cs.json +2710 -5496
- package/dist/generated/assets/cldr/cy.json +2793 -0
- package/dist/generated/assets/cldr/da.json +2591 -4886
- package/dist/generated/assets/cldr/de.json +2608 -4914
- package/dist/generated/assets/cldr/de_AT.json +2608 -4915
- package/dist/generated/assets/cldr/de_CH.json +2608 -4913
- package/dist/generated/assets/cldr/el.json +2589 -4881
- package/dist/generated/assets/cldr/el_CY.json +2589 -4881
- package/dist/generated/assets/cldr/en.json +2577 -4968
- package/dist/generated/assets/cldr/en_AU.json +2586 -4960
- package/dist/generated/assets/cldr/en_GB.json +2578 -4969
- package/dist/generated/assets/cldr/en_HK.json +2584 -4975
- package/dist/generated/assets/cldr/en_IE.json +2578 -4969
- package/dist/generated/assets/cldr/en_IN.json +2579 -4970
- package/dist/generated/assets/cldr/en_NZ.json +2578 -4969
- package/dist/generated/assets/cldr/en_PG.json +2578 -4970
- package/dist/generated/assets/cldr/en_SG.json +2579 -4971
- package/dist/generated/assets/cldr/en_ZA.json +2578 -4970
- package/dist/generated/assets/cldr/es.json +2633 -4910
- package/dist/generated/assets/cldr/es_AR.json +2638 -4912
- package/dist/generated/assets/cldr/es_BO.json +2638 -4911
- package/dist/generated/assets/cldr/es_CL.json +2638 -4912
- package/dist/generated/assets/cldr/es_CO.json +2637 -4911
- package/dist/generated/assets/cldr/es_MX.json +2638 -4913
- package/dist/generated/assets/cldr/es_PE.json +2638 -4911
- package/dist/generated/assets/cldr/es_UY.json +2638 -4913
- package/dist/generated/assets/cldr/es_VE.json +2638 -4912
- package/dist/generated/assets/cldr/et.json +2593 -4965
- package/dist/generated/assets/cldr/fa.json +2606 -4881
- package/dist/generated/assets/cldr/fi.json +2635 -5006
- package/dist/generated/assets/cldr/fr.json +2583 -4977
- package/dist/generated/assets/cldr/fr_BE.json +2583 -4977
- package/dist/generated/assets/cldr/fr_CA.json +2598 -4971
- package/dist/generated/assets/cldr/fr_CH.json +2600 -4995
- package/dist/generated/assets/cldr/fr_LU.json +2583 -4977
- package/dist/generated/assets/cldr/he.json +2699 -5376
- package/dist/generated/assets/cldr/hi.json +2593 -4827
- package/dist/generated/assets/cldr/hr.json +2646 -4917
- package/dist/generated/assets/cldr/hu.json +2592 -4854
- package/dist/generated/assets/cldr/id.json +2538 -4656
- package/dist/generated/assets/cldr/it.json +2583 -4948
- package/dist/generated/assets/cldr/it_CH.json +2583 -4948
- package/dist/generated/assets/cldr/ja.json +2655 -4828
- package/dist/generated/assets/cldr/kk.json +2583 -4723
- package/dist/generated/assets/cldr/ko.json +2632 -4736
- package/dist/generated/assets/cldr/lt.json +2714 -5479
- package/dist/generated/assets/cldr/lv.json +2638 -5110
- package/dist/generated/assets/cldr/ms.json +2532 -4513
- package/dist/generated/assets/cldr/nb.json +2615 -4975
- package/dist/generated/assets/cldr/nl.json +2595 -4882
- package/dist/generated/assets/cldr/nl_BE.json +2595 -4882
- package/dist/generated/assets/cldr/pl.json +2717 -5174
- package/dist/generated/assets/cldr/pt.json +2600 -4803
- package/dist/generated/assets/cldr/pt_PT.json +2651 -4938
- package/dist/generated/assets/cldr/ro.json +2639 -5088
- package/dist/generated/assets/cldr/ru.json +2698 -5405
- package/dist/generated/assets/cldr/ru_UA.json +2698 -5405
- package/dist/generated/assets/cldr/sk.json +2720 -5368
- package/dist/generated/assets/cldr/sl.json +2682 -5338
- package/dist/generated/assets/cldr/sr.json +2657 -5124
- package/dist/generated/assets/cldr/sr_Latn.json +2660 -0
- package/dist/generated/assets/cldr/sv.json +2625 -5009
- package/dist/generated/assets/cldr/th.json +2626 -4795
- package/dist/generated/assets/cldr/tr.json +2606 -4977
- package/dist/generated/assets/cldr/uk.json +2678 -5351
- package/dist/generated/assets/cldr/vi.json +2549 -4671
- package/dist/generated/assets/cldr/zh_CN.json +2541 -4630
- package/dist/generated/assets/cldr/zh_HK.json +2549 -4638
- package/dist/generated/assets/cldr/zh_SG.json +2548 -4638
- package/dist/generated/assets/cldr/zh_TW.json +2556 -4726
- package/dist/generated/json-imports/LocaleData-static.js +90 -0
- package/dist/generated/json-imports/LocaleData.js +93 -0
- package/dist/getCachedLocaleDataInstance.d.ts +4 -0
- package/dist/getCachedLocaleDataInstance.js +10 -0
- package/dist/getCachedLocaleDataInstance.js.map +1 -0
- package/dist/locale/getLocaleData.d.ts +11 -0
- package/dist/locale/getLocaleData.js +13 -17
- package/dist/locale/getLocaleData.js.map +1 -0
- package/dist/sap/base/Log.js +28 -37
- package/dist/sap/base/assert.js +5 -10
- package/dist/sap/base/util/LoaderExtensions.d.ts +4 -0
- package/dist/sap/base/util/LoaderExtensions.js +11 -4
- package/dist/sap/base/util/LoaderExtensions.js.map +1 -0
- package/dist/sap/base/util/ObjectPath.js +1 -1
- package/dist/sap/base/util/array/uniqueSort.js +7 -7
- package/dist/sap/base/util/deepEqual.js +1 -5
- package/dist/sap/ui/base/Interface.js +3 -5
- package/dist/sap/ui/base/Metadata.js +1 -3
- package/dist/sap/ui/base/Object.js +26 -2
- package/dist/sap/ui/core/Configuration.d.ts +17 -0
- package/dist/sap/ui/core/Configuration.js +20 -0
- package/dist/sap/ui/core/Configuration.js.map +1 -0
- package/dist/sap/ui/core/Core.d.ts +26 -0
- package/dist/sap/ui/core/Core.js +7 -32
- package/dist/sap/ui/core/Core.js.map +1 -0
- package/dist/sap/ui/core/FormatSettings.d.ts +10 -0
- package/dist/sap/ui/core/FormatSettings.js +14 -0
- package/dist/sap/ui/core/FormatSettings.js.map +1 -0
- package/dist/sap/ui/core/Locale.js +70 -31
- package/dist/sap/ui/core/LocaleData.js +133 -1506
- package/dist/sap/ui/core/date/Buddhist.js +0 -6
- package/dist/sap/ui/core/date/CalendarUtils.js +36 -0
- package/dist/sap/ui/core/date/CalendarWeekNumbering.js +7 -0
- package/dist/sap/ui/core/date/Islamic.js +3 -3
- package/dist/sap/ui/core/date/Japanese.js +4 -4
- package/dist/sap/ui/core/date/UniversalDate.js +82 -23
- package/dist/sap/ui/core/format/DateFormat.js +530 -222
- package/dist/sap/ui/core/format/TimezoneUtil.js +94 -0
- package/package-scripts.js +16 -8
- package/package.json +13 -12
- package/tsconfig.json +14 -0
- package/used-modules.txt +10 -7
- package/dist/json-imports/LocaleData.js +0 -171
- package/src/Assets.js +0 -2
- package/src/DateFormat.js +0 -3
- package/src/LocaleData.js +0 -3
- package/src/dates/CalendarDate.js +0 -203
- package/src/dates/calculateWeekNumber.js +0 -51
- package/src/json-imports/LocaleData.js +0 -171
- package/src/locale/getLocaleData.js +0 -27
- package/src/sap/base/util/LoaderExtensions.js +0 -7
- package/src/sap/ui/core/Core.js +0 -38
- /package/{src/features/calendar/Buddhist.js → dist/features/calendar/Buddhist.d.ts} +0 -0
- /package/{src/features/calendar/Gregorian.js → dist/features/calendar/Gregorian.d.ts} +0 -0
- /package/{src/features/calendar/Islamic.js → dist/features/calendar/Islamic.d.ts} +0 -0
- /package/{src/features/calendar/Japanese.js → dist/features/calendar/Japanese.d.ts} +0 -0
- /package/{src/features/calendar/Persian.js → dist/features/calendar/Persian.d.ts} +0 -0
@@ -0,0 +1,94 @@
|
|
1
|
+
var TimezoneUtil = {};
|
2
|
+
var sLocalTimezone = "";
|
3
|
+
var aSupportedTimezoneIDs;
|
4
|
+
var oIntlDateTimeFormatCache = {
|
5
|
+
_oCache: new Map(),
|
6
|
+
_iCacheLimit: 10,
|
7
|
+
get: function (sTimezone) {
|
8
|
+
var cacheEntry = this._oCache.get(sTimezone);
|
9
|
+
if (cacheEntry) {
|
10
|
+
return cacheEntry;
|
11
|
+
}
|
12
|
+
var oOptions = {
|
13
|
+
hourCycle: "h23",
|
14
|
+
hour: "2-digit",
|
15
|
+
minute: "2-digit",
|
16
|
+
second: "2-digit",
|
17
|
+
fractionalSecondDigits: 3,
|
18
|
+
day: "2-digit",
|
19
|
+
month: "2-digit",
|
20
|
+
year: "numeric",
|
21
|
+
timeZone: sTimezone,
|
22
|
+
timeZoneName: "short",
|
23
|
+
era: "narrow"
|
24
|
+
};
|
25
|
+
var oInstance = new Intl.DateTimeFormat("en-US", oOptions);
|
26
|
+
if (this._oCache.size === this._iCacheLimit) {
|
27
|
+
this._oCache = new Map();
|
28
|
+
}
|
29
|
+
this._oCache.set(sTimezone, oInstance);
|
30
|
+
return oInstance;
|
31
|
+
}
|
32
|
+
};
|
33
|
+
TimezoneUtil.isValidTimezone = function (sTimezone) {
|
34
|
+
if (!sTimezone) {
|
35
|
+
return false;
|
36
|
+
}
|
37
|
+
if (Intl.supportedValuesOf) {
|
38
|
+
try {
|
39
|
+
aSupportedTimezoneIDs = aSupportedTimezoneIDs || Intl.supportedValuesOf("timeZone");
|
40
|
+
if (aSupportedTimezoneIDs.includes(sTimezone)) {
|
41
|
+
return true;
|
42
|
+
}
|
43
|
+
} catch (oError) {
|
44
|
+
aSupportedTimezoneIDs = [];
|
45
|
+
}
|
46
|
+
}
|
47
|
+
try {
|
48
|
+
oIntlDateTimeFormatCache.get(sTimezone);
|
49
|
+
return true;
|
50
|
+
} catch (oError) {
|
51
|
+
return false;
|
52
|
+
}
|
53
|
+
};
|
54
|
+
TimezoneUtil.convertToTimezone = function (oDate, sTargetTimezone) {
|
55
|
+
var oFormatParts = this._getParts(oDate, sTargetTimezone);
|
56
|
+
return TimezoneUtil._getDateFromParts(oFormatParts);
|
57
|
+
};
|
58
|
+
TimezoneUtil._getParts = function (oDate, sTargetTimezone) {
|
59
|
+
var oIntlDate = oIntlDateTimeFormatCache.get(sTargetTimezone);
|
60
|
+
var oParts = oIntlDate.formatToParts(new Date(oDate.getTime()));
|
61
|
+
var oDateParts = Object.create(null);
|
62
|
+
for (var sKey in oParts) {
|
63
|
+
var oPart = oParts[sKey];
|
64
|
+
if (oPart.type !== "literal") {
|
65
|
+
oDateParts[oPart.type] = oPart.value;
|
66
|
+
}
|
67
|
+
}
|
68
|
+
return oDateParts;
|
69
|
+
};
|
70
|
+
TimezoneUtil._getDateFromParts = function (oParts) {
|
71
|
+
var oDate = new Date(0);
|
72
|
+
var iUTCYear = parseInt(oParts.year);
|
73
|
+
if (oParts.era === "B") {
|
74
|
+
iUTCYear = iUTCYear * -1 + 1;
|
75
|
+
}
|
76
|
+
oDate.setUTCFullYear(iUTCYear, parseInt(oParts.month) - 1, parseInt(oParts.day));
|
77
|
+
oDate.setUTCHours(parseInt(oParts.hour), parseInt(oParts.minute), parseInt(oParts.second), parseInt(oParts.fractionalSecond || 0));
|
78
|
+
return oDate;
|
79
|
+
};
|
80
|
+
TimezoneUtil.calculateOffset = function (oDate, sTimezoneSource) {
|
81
|
+
var oFirstGuess = this.convertToTimezone(oDate, sTimezoneSource);
|
82
|
+
var iInitialOffset = oDate.getTime() - oFirstGuess.getTime();
|
83
|
+
var oDateSource = new Date(oDate.getTime() + iInitialOffset);
|
84
|
+
var oDateTarget = this.convertToTimezone(oDateSource, sTimezoneSource);
|
85
|
+
return (oDateSource.getTime() - oDateTarget.getTime()) / 1000;
|
86
|
+
};
|
87
|
+
TimezoneUtil.getLocalTimezone = function () {
|
88
|
+
if (sLocalTimezone) {
|
89
|
+
return sLocalTimezone;
|
90
|
+
}
|
91
|
+
sLocalTimezone = new Intl.DateTimeFormat().resolvedOptions().timeZone;
|
92
|
+
return sLocalTimezone;
|
93
|
+
};
|
94
|
+
export default TimezoneUtil;
|
package/package-scripts.js
CHANGED
@@ -1,24 +1,32 @@
|
|
1
|
+
const resolve = require("resolve");
|
2
|
+
const copyUsedModules = resolve.sync("@ui5/webcomponents-tools/lib/copy-list/index.js");
|
3
|
+
const replaceGlobalCore = resolve.sync("@ui5/webcomponents-tools/lib/replace-global-core/index.js");
|
4
|
+
const esmAbsToRel = resolve.sync("@ui5/webcomponents-tools/lib/esm-abs-to-rel/index.js");
|
5
|
+
|
1
6
|
const scripts = {
|
2
7
|
clean: "rimraf dist",
|
3
|
-
lint: "eslint . --config config/.eslintrc.js",
|
8
|
+
lint: "cross-env UI5_TS=true eslint . --config config/.eslintrc.js",
|
4
9
|
build: {
|
5
|
-
"default": "
|
6
|
-
all: "nps lint clean copy.used-modules copy.cldr copy.overlay build.replace-amd build.replace-export-true build.replace-export-false build.amd-to-es6 build.replace-global-core-usage build.esm-abs-to-rel copy.src",
|
10
|
+
"default": "nps lint clean copy.used-modules copy.cldr copy.overlay build.replace-amd build.replace-export-true build.replace-export-false build.amd-to-es6 build.replace-global-core-usage build.esm-abs-to-rel build.jsonImports build.typescript copy.src",
|
7
11
|
"replace-amd": "replace-in-file sap.ui.define define dist/**/*.js",
|
8
12
|
"replace-export-true": `replace-in-file ", /* bExport= */ true" "" dist/**/*.js`,
|
9
13
|
"replace-export-false": `replace-in-file ", /* bExport= */ false" "" dist/**/*.js`,
|
10
14
|
"amd-to-es6": "amdtoes6 --src=dist --replace --glob=**/*.js",
|
11
|
-
"replace-global-core-usage":
|
12
|
-
"esm-abs-to-rel":
|
15
|
+
"replace-global-core-usage": `node "${replaceGlobalCore}" dist/`,
|
16
|
+
"esm-abs-to-rel": `node "${esmAbsToRel}" dist/`,
|
17
|
+
typescript: "tsc",
|
18
|
+
jsonImports: "node ./lib/generate-json-imports/cldr.js"
|
13
19
|
},
|
20
|
+
typescript: "tsc",
|
14
21
|
copy: {
|
15
|
-
"used-modules":
|
16
|
-
cldr: `copy-and-
|
22
|
+
"used-modules": `node "${copyUsedModules}" ./used-modules.txt dist/`,
|
23
|
+
cldr: `node ./lib/copy-and-strip-cldr/index.js "../../node_modules/@openui5/sap.ui.core/src/sap/ui/core/cldr/" dist/generated/assets/cldr/`,
|
17
24
|
overlay: `copy-and-watch "overlay/**/*.js" dist/`,
|
18
25
|
src: `copy-and-watch "src/**/*.js" dist/`,
|
19
26
|
},
|
20
27
|
watch: {
|
21
|
-
default: 'nps watch.src',
|
28
|
+
default: 'concurrently "nps watch.src" "nps watch.typescript" ',
|
29
|
+
typescript: "tsc --watch",
|
22
30
|
src: `nps "copy.src --watch --skip-initial-copy"`,
|
23
31
|
},
|
24
32
|
start: "nps watch",
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@ui5/webcomponents-localization",
|
3
|
-
"version": "0.0.0-
|
3
|
+
"version": "0.0.0-cad512aa3",
|
4
4
|
"description": "Localization for UI5 Web Components",
|
5
5
|
"author": "SAP SE (https://www.sap.com)",
|
6
6
|
"license": "Apache-2.0",
|
@@ -14,6 +14,11 @@
|
|
14
14
|
"url": "https://github.com/SAP/ui5-webcomponents.git",
|
15
15
|
"directory": "packages/localization"
|
16
16
|
},
|
17
|
+
"exports": {
|
18
|
+
"./dist/*": "./dist/*",
|
19
|
+
"./package.json": "./package.json",
|
20
|
+
"./*": "./dist/*"
|
21
|
+
},
|
17
22
|
"scripts": {
|
18
23
|
"clean": "nps clean",
|
19
24
|
"lint": "nps lint",
|
@@ -22,18 +27,14 @@
|
|
22
27
|
"prepublishOnly": "npm run clean && npm run build"
|
23
28
|
},
|
24
29
|
"devDependencies": {
|
25
|
-
"@
|
26
|
-
"@
|
27
|
-
"
|
28
|
-
"
|
29
|
-
"
|
30
|
-
"esprima": "^4.0.1",
|
31
|
-
"glob": "^7.1.3",
|
32
|
-
"path-exists-cli": "^1.0.0",
|
33
|
-
"replace-in-file": "^3.4.2",
|
34
|
-
"rimraf": "^2.6.2"
|
30
|
+
"@openui5/sap.ui.core": "1.109.0",
|
31
|
+
"@ui5/webcomponents-tools": "0.0.0-cad512aa3",
|
32
|
+
"chromedriver": "110.0.0",
|
33
|
+
"mkdirp": "^1.0.4",
|
34
|
+
"resolve": "^1.20.0"
|
35
35
|
},
|
36
36
|
"dependencies": {
|
37
|
-
"@
|
37
|
+
"@types/openui5": "^1.109.0",
|
38
|
+
"@ui5/webcomponents-base": "0.0.0-cad512aa3"
|
38
39
|
}
|
39
40
|
}
|
package/tsconfig.json
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
{
|
2
|
+
"include": ["src/**/*"],
|
3
|
+
"compilerOptions": {
|
4
|
+
"target": "ES2021",
|
5
|
+
// Generate d.ts files
|
6
|
+
"declaration": true,
|
7
|
+
"outDir": "dist",
|
8
|
+
"skipLibCheck": true,
|
9
|
+
"sourceMap": true,
|
10
|
+
"inlineSources": true,
|
11
|
+
"strict": true,
|
12
|
+
"moduleResolution": "node",
|
13
|
+
},
|
14
|
+
}
|
package/used-modules.txt
CHANGED
@@ -16,10 +16,13 @@ sap/ui/base/Object.js
|
|
16
16
|
sap/ui/core/CalendarType.js
|
17
17
|
sap/ui/core/Locale.js
|
18
18
|
sap/ui/core/LocaleData.js
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
sap/ui/core/
|
19
|
+
sap/ui/core/date/Buddhist.js
|
20
|
+
sap/ui/core/date/CalendarUtils.js
|
21
|
+
sap/ui/core/date/CalendarWeekNumbering.js
|
22
|
+
sap/ui/core/date/Gregorian.js
|
23
|
+
sap/ui/core/date/Islamic.js
|
24
|
+
sap/ui/core/date/Japanese.js
|
25
|
+
sap/ui/core/date/Persian.js
|
26
|
+
sap/ui/core/date/UniversalDate.js
|
27
|
+
sap/ui/core/format/TimezoneUtil.js
|
28
|
+
sap/ui/core/format/DateFormat.js
|
@@ -1,171 +0,0 @@
|
|
1
|
-
import { registerCldr, setCldrData } from "@ui5/webcomponents-base/dist/asset-registries/LocaleData.js";
|
2
|
-
|
3
|
-
/* eslint-disable camelcase */
|
4
|
-
import ar from "../generated/assets/cldr/ar.json";
|
5
|
-
import ar_EG from "../generated/assets/cldr/ar_EG.json";
|
6
|
-
import ar_SA from "../generated/assets/cldr/ar_SA.json";
|
7
|
-
import bg from "../generated/assets/cldr/bg.json";
|
8
|
-
import ca from "../generated/assets/cldr/ca.json";
|
9
|
-
import cs from "../generated/assets/cldr/cs.json";
|
10
|
-
import da from "../generated/assets/cldr/da.json";
|
11
|
-
import de from "../generated/assets/cldr/de.json";
|
12
|
-
import de_AT from "../generated/assets/cldr/de_AT.json";
|
13
|
-
import de_CH from "../generated/assets/cldr/de_CH.json";
|
14
|
-
import el from "../generated/assets/cldr/el.json";
|
15
|
-
import el_CY from "../generated/assets/cldr/el_CY.json";
|
16
|
-
import en from "../generated/assets/cldr/en.json";
|
17
|
-
import en_AU from "../generated/assets/cldr/en_AU.json";
|
18
|
-
import en_GB from "../generated/assets/cldr/en_GB.json";
|
19
|
-
import en_HK from "../generated/assets/cldr/en_HK.json";
|
20
|
-
import en_IE from "../generated/assets/cldr/en_IE.json";
|
21
|
-
import en_IN from "../generated/assets/cldr/en_IN.json";
|
22
|
-
import en_NZ from "../generated/assets/cldr/en_NZ.json";
|
23
|
-
import en_PG from "../generated/assets/cldr/en_PG.json";
|
24
|
-
import en_SG from "../generated/assets/cldr/en_SG.json";
|
25
|
-
import en_ZA from "../generated/assets/cldr/en_ZA.json";
|
26
|
-
import es from "../generated/assets/cldr/es.json";
|
27
|
-
import es_AR from "../generated/assets/cldr/es_AR.json";
|
28
|
-
import es_BO from "../generated/assets/cldr/es_BO.json";
|
29
|
-
import es_CL from "../generated/assets/cldr/es_CL.json";
|
30
|
-
import es_CO from "../generated/assets/cldr/es_CO.json";
|
31
|
-
import es_MX from "../generated/assets/cldr/es_MX.json";
|
32
|
-
import es_PE from "../generated/assets/cldr/es_PE.json";
|
33
|
-
import es_UY from "../generated/assets/cldr/es_UY.json";
|
34
|
-
import es_VE from "../generated/assets/cldr/es_VE.json";
|
35
|
-
import et from "../generated/assets/cldr/et.json";
|
36
|
-
import fa from "../generated/assets/cldr/fa.json";
|
37
|
-
import fi from "../generated/assets/cldr/fi.json";
|
38
|
-
import fr from "../generated/assets/cldr/fr.json";
|
39
|
-
import fr_BE from "../generated/assets/cldr/fr_BE.json";
|
40
|
-
import fr_CA from "../generated/assets/cldr/fr_CA.json";
|
41
|
-
import fr_CH from "../generated/assets/cldr/fr_CH.json";
|
42
|
-
import fr_LU from "../generated/assets/cldr/fr_LU.json";
|
43
|
-
import he from "../generated/assets/cldr/he.json";
|
44
|
-
import hi from "../generated/assets/cldr/hi.json";
|
45
|
-
import hr from "../generated/assets/cldr/hr.json";
|
46
|
-
import hu from "../generated/assets/cldr/hu.json";
|
47
|
-
import id from "../generated/assets/cldr/id.json";
|
48
|
-
import it from "../generated/assets/cldr/it.json";
|
49
|
-
import it_CH from "../generated/assets/cldr/it_CH.json";
|
50
|
-
import ja from "../generated/assets/cldr/ja.json";
|
51
|
-
import kk from "../generated/assets/cldr/kk.json";
|
52
|
-
import ko from "../generated/assets/cldr/ko.json";
|
53
|
-
import lt from "../generated/assets/cldr/lt.json";
|
54
|
-
import lv from "../generated/assets/cldr/lv.json";
|
55
|
-
import ms from "../generated/assets/cldr/ms.json";
|
56
|
-
import nb from "../generated/assets/cldr/nb.json";
|
57
|
-
import nl from "../generated/assets/cldr/nl.json";
|
58
|
-
import nl_BE from "../generated/assets/cldr/nl_BE.json";
|
59
|
-
import pl from "../generated/assets/cldr/pl.json";
|
60
|
-
import pt from "../generated/assets/cldr/pt.json";
|
61
|
-
import pt_PT from "../generated/assets/cldr/pt_PT.json";
|
62
|
-
import ro from "../generated/assets/cldr/ro.json";
|
63
|
-
import ru from "../generated/assets/cldr/ru.json";
|
64
|
-
import ru_UA from "../generated/assets/cldr/ru_UA.json";
|
65
|
-
import sk from "../generated/assets/cldr/sk.json";
|
66
|
-
import sl from "../generated/assets/cldr/sl.json";
|
67
|
-
import sr from "../generated/assets/cldr/sr.json";
|
68
|
-
import sv from "../generated/assets/cldr/sv.json";
|
69
|
-
import th from "../generated/assets/cldr/th.json";
|
70
|
-
import tr from "../generated/assets/cldr/tr.json";
|
71
|
-
import uk from "../generated/assets/cldr/uk.json";
|
72
|
-
import vi from "../generated/assets/cldr/vi.json";
|
73
|
-
import zh_CN from "../generated/assets/cldr/zh_CN.json";
|
74
|
-
import zh_HK from "../generated/assets/cldr/zh_HK.json";
|
75
|
-
import zh_SG from "../generated/assets/cldr/zh_SG.json";
|
76
|
-
import zh_TW from "../generated/assets/cldr/zh_TW.json";
|
77
|
-
|
78
|
-
const cldrData = {
|
79
|
-
ar,
|
80
|
-
ar_EG,
|
81
|
-
ar_SA,
|
82
|
-
bg,
|
83
|
-
ca,
|
84
|
-
cs,
|
85
|
-
da,
|
86
|
-
de,
|
87
|
-
de_AT,
|
88
|
-
de_CH,
|
89
|
-
el,
|
90
|
-
el_CY,
|
91
|
-
en,
|
92
|
-
en_AU,
|
93
|
-
en_GB,
|
94
|
-
en_HK,
|
95
|
-
en_IE,
|
96
|
-
en_IN,
|
97
|
-
en_NZ,
|
98
|
-
en_PG,
|
99
|
-
en_SG,
|
100
|
-
en_ZA,
|
101
|
-
es,
|
102
|
-
es_AR,
|
103
|
-
es_BO,
|
104
|
-
es_CL,
|
105
|
-
es_CO,
|
106
|
-
es_MX,
|
107
|
-
es_PE,
|
108
|
-
es_UY,
|
109
|
-
es_VE,
|
110
|
-
et,
|
111
|
-
fa,
|
112
|
-
fi,
|
113
|
-
fr,
|
114
|
-
fr_BE,
|
115
|
-
fr_CA,
|
116
|
-
fr_CH,
|
117
|
-
fr_LU,
|
118
|
-
he,
|
119
|
-
hi,
|
120
|
-
hr,
|
121
|
-
hu,
|
122
|
-
id,
|
123
|
-
it,
|
124
|
-
it_CH,
|
125
|
-
ja,
|
126
|
-
kk,
|
127
|
-
ko,
|
128
|
-
lt,
|
129
|
-
lv,
|
130
|
-
ms,
|
131
|
-
nb,
|
132
|
-
nl,
|
133
|
-
nl_BE,
|
134
|
-
pl,
|
135
|
-
pt,
|
136
|
-
pt_PT,
|
137
|
-
ro,
|
138
|
-
ru,
|
139
|
-
ru_UA,
|
140
|
-
sk,
|
141
|
-
sl,
|
142
|
-
sr,
|
143
|
-
sv,
|
144
|
-
th,
|
145
|
-
tr,
|
146
|
-
uk,
|
147
|
-
vi,
|
148
|
-
zh_CN,
|
149
|
-
zh_HK,
|
150
|
-
zh_SG,
|
151
|
-
zh_TW,
|
152
|
-
};
|
153
|
-
|
154
|
-
const allEntriesInlined = Object.entries(cldrData).every(([_key, value]) => typeof (value) === "object");
|
155
|
-
/* eslint-disable */
|
156
|
-
if (allEntriesInlined) {
|
157
|
-
console.warn(`Inefficient bundling detected: consider bundling CLDR imports as URLs instead of inlining them.
|
158
|
-
See rollup-plugin-url or webpack file-loader for more information.
|
159
|
-
Suggested pattern: "assets\\\/.*\\\.json"`);
|
160
|
-
}
|
161
|
-
/* eslint-enable */
|
162
|
-
|
163
|
-
Object.entries(cldrData).forEach(([key, value]) => {
|
164
|
-
if (typeof (value) === "object") {
|
165
|
-
setCldrData(key, value);
|
166
|
-
} else {
|
167
|
-
registerCldr(key, value);
|
168
|
-
}
|
169
|
-
});
|
170
|
-
|
171
|
-
/* eslint-enable camelcase */
|
package/src/Assets.js
DELETED
package/src/DateFormat.js
DELETED
package/src/LocaleData.js
DELETED
@@ -1,203 +0,0 @@
|
|
1
|
-
import UniversalDate from "../sap/ui/core/date/UniversalDate.js";
|
2
|
-
|
3
|
-
class CalendarDate {
|
4
|
-
constructor() {
|
5
|
-
let aArgs = arguments, // eslint-disable-line
|
6
|
-
oJSDate,
|
7
|
-
oNow,
|
8
|
-
sCalendarType;
|
9
|
-
|
10
|
-
switch (aArgs.length) {
|
11
|
-
case 0: // defaults to the current date
|
12
|
-
oNow = new Date();
|
13
|
-
return this.constructor(oNow.getFullYear(), oNow.getMonth(), oNow.getDate());
|
14
|
-
|
15
|
-
case 1: // CalendarDate
|
16
|
-
case 2: // CalendarDate, sCalendarType
|
17
|
-
if (!(aArgs[0] instanceof CalendarDate)) {
|
18
|
-
throw new Error("Invalid arguments: the first argument must be of type sap.ui.unified.calendar.CalendarDate.");
|
19
|
-
}
|
20
|
-
sCalendarType = aArgs[1] ? aArgs[1] : aArgs[0]._oUDate.sCalendarType;
|
21
|
-
// Use source.valueOf() (returns the same point of time regardless calendar type) instead of
|
22
|
-
// source's getters to avoid non-gregorian Year, Month and Date may be used to construct a Gregorian date
|
23
|
-
oJSDate = new Date(aArgs[0].valueOf());
|
24
|
-
|
25
|
-
// Make this date really local. Now getters are safe.
|
26
|
-
oJSDate.setFullYear(oJSDate.getUTCFullYear(), oJSDate.getUTCMonth(), oJSDate.getUTCDate());
|
27
|
-
oJSDate.setHours(oJSDate.getUTCHours(), oJSDate.getUTCMinutes(), oJSDate.getUTCSeconds(), oJSDate.getUTCMilliseconds());
|
28
|
-
|
29
|
-
this._oUDate = createUniversalUTCDate(oJSDate, sCalendarType);
|
30
|
-
break;
|
31
|
-
|
32
|
-
case 3: // year, month, date
|
33
|
-
case 4: // year, month, date, sCalendarType
|
34
|
-
checkNumericLike(aArgs[0], `Invalid year: ${aArgs[0]}`);
|
35
|
-
checkNumericLike(aArgs[1], `Invalid month: ${aArgs[1]}`);
|
36
|
-
checkNumericLike(aArgs[2], `Invalid date: ${aArgs[2]}`);
|
37
|
-
|
38
|
-
oJSDate = new Date(0, 0, 1);
|
39
|
-
oJSDate.setFullYear(aArgs[0], aArgs[1], aArgs[2]); // 2 digits year is not supported. If so, it is considered as full year as well.
|
40
|
-
|
41
|
-
if (aArgs[3]) {
|
42
|
-
sCalendarType = aArgs[3];
|
43
|
-
}
|
44
|
-
this._oUDate = createUniversalUTCDate(oJSDate, sCalendarType);
|
45
|
-
break;
|
46
|
-
|
47
|
-
default:
|
48
|
-
throw new Error(`${"Invalid arguments. Accepted arguments are: 1) oCalendarDate, (optional)calendarType"
|
49
|
-
+ "or 2) year, month, date, (optional) calendarType"}${aArgs}`);
|
50
|
-
}
|
51
|
-
}
|
52
|
-
|
53
|
-
getYear() {
|
54
|
-
return this._oUDate.getUTCFullYear();
|
55
|
-
}
|
56
|
-
|
57
|
-
setYear(year) {
|
58
|
-
checkNumericLike(year, `Invalid year: ${year}`);
|
59
|
-
this._oUDate.setUTCFullYear(year);
|
60
|
-
return this;
|
61
|
-
}
|
62
|
-
|
63
|
-
getMonth() {
|
64
|
-
return this._oUDate.getUTCMonth();
|
65
|
-
}
|
66
|
-
|
67
|
-
setMonth(month) {
|
68
|
-
checkNumericLike(month, `Invalid month: ${month}`);
|
69
|
-
this._oUDate.setUTCMonth(month);
|
70
|
-
return this;
|
71
|
-
}
|
72
|
-
|
73
|
-
getDate() {
|
74
|
-
return this._oUDate.getUTCDate();
|
75
|
-
}
|
76
|
-
|
77
|
-
setDate(date) {
|
78
|
-
checkNumericLike(date, `Invalid date: ${date}`);
|
79
|
-
this._oUDate.setUTCDate(date);
|
80
|
-
return this;
|
81
|
-
}
|
82
|
-
|
83
|
-
getDay() {
|
84
|
-
return this._oUDate.getUTCDay();
|
85
|
-
}
|
86
|
-
|
87
|
-
getCalendarType() {
|
88
|
-
return this._oUDate.sCalendarType;
|
89
|
-
}
|
90
|
-
|
91
|
-
isBefore(oCalendarDate) {
|
92
|
-
checkCalendarDate(oCalendarDate);
|
93
|
-
return this.valueOf() < oCalendarDate.valueOf();
|
94
|
-
}
|
95
|
-
|
96
|
-
isAfter(oCalendarDate) {
|
97
|
-
checkCalendarDate(oCalendarDate);
|
98
|
-
return this.valueOf() > oCalendarDate.valueOf();
|
99
|
-
}
|
100
|
-
|
101
|
-
isSameOrBefore(oCalendarDate) {
|
102
|
-
checkCalendarDate(oCalendarDate);
|
103
|
-
return this.valueOf() <= oCalendarDate.valueOf();
|
104
|
-
}
|
105
|
-
|
106
|
-
isSameOrAfter(oCalendarDate) {
|
107
|
-
checkCalendarDate(oCalendarDate);
|
108
|
-
return this.valueOf() >= oCalendarDate.valueOf();
|
109
|
-
}
|
110
|
-
|
111
|
-
isSame(oCalendarDate) {
|
112
|
-
checkCalendarDate(oCalendarDate);
|
113
|
-
return this.valueOf() === oCalendarDate.valueOf();
|
114
|
-
}
|
115
|
-
|
116
|
-
toLocalJSDate() {
|
117
|
-
// Use this._oUDate.getTime()(returns the same point of time regardless calendar type) instead of
|
118
|
-
// this._oUDate's getters to avoid non-gregorian Year, Month and Date to be used to construct a Gregorian date
|
119
|
-
const oLocalDate = new Date(this._oUDate.getTime());
|
120
|
-
|
121
|
-
// Make this date really local. Now getters are safe.
|
122
|
-
oLocalDate.setFullYear(oLocalDate.getUTCFullYear(), oLocalDate.getUTCMonth(), oLocalDate.getUTCDate());
|
123
|
-
oLocalDate.setHours(0, 0, 0, 0);
|
124
|
-
|
125
|
-
return oLocalDate;
|
126
|
-
}
|
127
|
-
|
128
|
-
toUTCJSDate() {
|
129
|
-
// Use this._oUDate.getTime()(returns the same point of time regardless calendar type) instead of
|
130
|
-
// this._oUDate's getters to avoid non-gregorian Year, Month and Date to be used to construct a Gregorian date
|
131
|
-
const oUTCDate = new Date(this._oUDate.getTime());
|
132
|
-
oUTCDate.setUTCHours(0, 0, 0, 0);
|
133
|
-
|
134
|
-
return oUTCDate;
|
135
|
-
}
|
136
|
-
|
137
|
-
toString() {
|
138
|
-
return `${this._oUDate.sCalendarType}: ${this.getYear()}/${this.getMonth() + 1}/${this.getDate()}`;
|
139
|
-
}
|
140
|
-
|
141
|
-
valueOf() {
|
142
|
-
return this._oUDate.getTime();
|
143
|
-
}
|
144
|
-
|
145
|
-
static fromLocalJSDate(oJSDate, sCalendarType) {
|
146
|
-
// Cross frame check for a date should be performed here otherwise setDateValue would fail in OPA tests
|
147
|
-
// because Date object in the test is different than the Date object in the application (due to the iframe).
|
148
|
-
// We can use jQuery.type or this method:
|
149
|
-
function isValidDate(date) {
|
150
|
-
return date && Object.prototype.toString.call(date) === "[object Date]" && !isNaN(date); // eslint-disable-line
|
151
|
-
}
|
152
|
-
if (!isValidDate(oJSDate)) {
|
153
|
-
throw new Error(`Date parameter must be a JavaScript Date object: [${oJSDate}].`);
|
154
|
-
}
|
155
|
-
return new CalendarDate(oJSDate.getFullYear(), oJSDate.getMonth(), oJSDate.getDate(), sCalendarType);
|
156
|
-
}
|
157
|
-
|
158
|
-
static fromTimestamp(iTimestamp, sCalendarType) {
|
159
|
-
const oCalDate = new CalendarDate(0, 0, 1);
|
160
|
-
oCalDate._oUDate = UniversalDate.getInstance(new Date(iTimestamp), sCalendarType);
|
161
|
-
return oCalDate;
|
162
|
-
}
|
163
|
-
}
|
164
|
-
|
165
|
-
function createUniversalUTCDate(oDate, sCalendarType) {
|
166
|
-
if (sCalendarType) {
|
167
|
-
return UniversalDate.getInstance(createUTCDate(oDate), sCalendarType);
|
168
|
-
}
|
169
|
-
return new UniversalDate(createUTCDate(oDate).getTime());
|
170
|
-
}
|
171
|
-
|
172
|
-
/**
|
173
|
-
* Creates a JavaScript UTC Date corresponding to the given JavaScript Date.
|
174
|
-
* @param {Date} oDate JavaScript date object. Time related information is cut.
|
175
|
-
* @returns {Date} JavaScript date created from the date object, but this time considered as UTC date information.
|
176
|
-
*/
|
177
|
-
function createUTCDate(oDate) {
|
178
|
-
const oUTCDate = new Date(Date.UTC(0, 0, 1));
|
179
|
-
|
180
|
-
oUTCDate.setUTCFullYear(oDate.getFullYear(), oDate.getMonth(), oDate.getDate());
|
181
|
-
|
182
|
-
return oUTCDate;
|
183
|
-
}
|
184
|
-
|
185
|
-
function checkCalendarDate(oCalendarDate) {
|
186
|
-
if (!(oCalendarDate instanceof CalendarDate)) {
|
187
|
-
throw new Error(`Invalid calendar date: [${oCalendarDate}]. Expected: sap.ui.unified.calendar.CalendarDate`);
|
188
|
-
}
|
189
|
-
}
|
190
|
-
|
191
|
-
/**
|
192
|
-
* Verifies the given value is numeric like, i.e. 3, "3" and throws an error if it is not.
|
193
|
-
* @param {any} value The value of any type to check. If null or undefined, this method throws an error.
|
194
|
-
* @param {string} message The message to be used if an error is to be thrown
|
195
|
-
* @throws will throw an error if the value is null or undefined or is not like a number
|
196
|
-
*/
|
197
|
-
function checkNumericLike(value, message) {
|
198
|
-
if (value === undefined || value === Infinity || isNaN(value)) { // eslint-disable-line
|
199
|
-
throw message;
|
200
|
-
}
|
201
|
-
}
|
202
|
-
|
203
|
-
export default CalendarDate;
|
@@ -1,51 +0,0 @@
|
|
1
|
-
import UniversalDate from "../sap/ui/core/date/UniversalDate.js";
|
2
|
-
|
3
|
-
const calculateWeekNumber = (confFirstDayOfWeek, oDate, iYear, oLocale, oLocaleData) => {
|
4
|
-
let iWeekNum = 0;
|
5
|
-
let iWeekDay = 0;
|
6
|
-
const iFirstDayOfWeek = Number.isInteger(confFirstDayOfWeek) ? confFirstDayOfWeek : oLocaleData.getFirstDayOfWeek();
|
7
|
-
|
8
|
-
// search Locale for containing "en-US", since sometimes
|
9
|
-
// when any user settings have been defined, subtag "sapufmt" is added to the locale name
|
10
|
-
// this is described inside sap.ui.core.Configuration file
|
11
|
-
if (oLocale && (oLocale.getLanguage() === "en" && oLocale.getRegion() === "US")) {
|
12
|
-
/*
|
13
|
-
* in US the week starts with Sunday
|
14
|
-
* The first week of the year starts with January 1st. But Dec. 31 is still in the last year
|
15
|
-
* So the week beginning in December and ending in January has 2 week numbers
|
16
|
-
*/
|
17
|
-
const oJanFirst = new UniversalDate(oDate.getTime());
|
18
|
-
oJanFirst.setUTCFullYear(iYear, 0, 1);
|
19
|
-
iWeekDay = oJanFirst.getUTCDay();
|
20
|
-
|
21
|
-
// get the date for the same weekday like jan 1.
|
22
|
-
const oCheckDate = new UniversalDate(oDate.getTime());
|
23
|
-
oCheckDate.setUTCDate(oCheckDate.getUTCDate() - oCheckDate.getUTCDay() + iWeekDay);
|
24
|
-
|
25
|
-
iWeekNum = Math.round((oCheckDate.getTime() - oJanFirst.getTime()) / 86400000 / 7) + 1;
|
26
|
-
} else {
|
27
|
-
// normally the first week of the year is the one where the first Thursday of the year is
|
28
|
-
// find Thursday of this week
|
29
|
-
// if the checked day is before the 1. day of the week use a day of the previous week to check
|
30
|
-
const oThursday = new UniversalDate(oDate.getTime());
|
31
|
-
oThursday.setUTCDate(oThursday.getUTCDate() - iFirstDayOfWeek);
|
32
|
-
iWeekDay = oThursday.getUTCDay();
|
33
|
-
oThursday.setUTCDate(oThursday.getUTCDate() - iWeekDay + 4);
|
34
|
-
|
35
|
-
const oFirstDayOfYear = new UniversalDate(oThursday.getTime());
|
36
|
-
oFirstDayOfYear.setUTCMonth(0, 1);
|
37
|
-
iWeekDay = oFirstDayOfYear.getUTCDay();
|
38
|
-
let iAddDays = 0;
|
39
|
-
if (iWeekDay > 4) {
|
40
|
-
iAddDays = 7; // first day of year is after Thursday, so first Thursday is in the next week
|
41
|
-
}
|
42
|
-
const oFirstThursday = new UniversalDate(oFirstDayOfYear.getTime());
|
43
|
-
oFirstThursday.setUTCDate(1 - iWeekDay + 4 + iAddDays);
|
44
|
-
|
45
|
-
iWeekNum = Math.round((oThursday.getTime() - oFirstThursday.getTime()) / 86400000 / 7) + 1;
|
46
|
-
}
|
47
|
-
|
48
|
-
return iWeekNum;
|
49
|
-
};
|
50
|
-
|
51
|
-
export default calculateWeekNumber;
|