@acorex/core 19.14.1 → 19.14.2
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/date-time/lib/formatters/time-duration.formatter.d.ts +3 -1
- package/fesm2022/acorex-core-components.mjs +3 -3
- package/fesm2022/acorex-core-config.mjs +3 -3
- package/fesm2022/acorex-core-date-time.mjs +77 -49
- package/fesm2022/acorex-core-date-time.mjs.map +1 -1
- package/fesm2022/acorex-core-events.mjs +3 -3
- package/fesm2022/acorex-core-file.mjs +10 -10
- package/fesm2022/acorex-core-format.mjs +19 -19
- package/fesm2022/acorex-core-image.mjs +3 -3
- package/fesm2022/acorex-core-locale.mjs +10 -10
- package/fesm2022/acorex-core-network.mjs +3 -3
- package/fesm2022/acorex-core-pipes.mjs +3 -3
- package/fesm2022/acorex-core-platform.mjs +3 -3
- package/fesm2022/acorex-core-storage.mjs +9 -9
- package/fesm2022/acorex-core-translation.mjs +16 -16
- package/fesm2022/acorex-core-utils.mjs +3 -3
- package/fesm2022/acorex-core-validation.mjs +40 -40
- package/package.json +1 -5
- package/fesm2022/acorex-core-types.mjs +0 -246
- package/fesm2022/acorex-core-types.mjs.map +0 -1
- package/types/README.md +0 -3
- package/types/index.d.ts +0 -2
- package/types/lib/events.d.ts +0 -96
- package/types/lib/placement.d.ts +0 -30
@@ -1,4 +1,5 @@
|
|
1
1
|
import { AXFormatOptions, AXFormatter } from '@acorex/core/format';
|
2
|
+
import { AXTranslationService } from '@acorex/core/translation';
|
2
3
|
import * as i0 from "@angular/core";
|
3
4
|
export interface AXTimeDurationFormatterOptions extends AXFormatOptions {
|
4
5
|
format: string;
|
@@ -12,7 +13,8 @@ type AXTimeDurationUnit = 'YEAR' | 'MONTH' | 'WEEK' | 'DAY' | 'HOUR' | 'MINUTE'
|
|
12
13
|
export declare class AXTimeDurationFormatter implements AXFormatter {
|
13
14
|
get name(): string;
|
14
15
|
format(value: number, options?: AXTimeDurationFormatterOptions): string;
|
15
|
-
|
16
|
+
translationService: AXTranslationService;
|
17
|
+
millisecondsToMask(ms: number, startUnit?: AXTimeDurationUnit, endUnit?: AXTimeDurationUnit): Promise<string>;
|
16
18
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXTimeDurationFormatter, never>;
|
17
19
|
static ɵprov: i0.ɵɵInjectableDeclaration<AXTimeDurationFormatter>;
|
18
20
|
}
|
@@ -20,10 +20,10 @@ class AXComponentService {
|
|
20
20
|
async createFromTemplate(content) {
|
21
21
|
return this.getRootViewContainerRef().createEmbeddedView(content);
|
22
22
|
}
|
23
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
24
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
23
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: AXComponentService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
24
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: AXComponentService, providedIn: 'root' }); }
|
25
25
|
}
|
26
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: AXComponentService, decorators: [{
|
27
27
|
type: Injectable,
|
28
28
|
args: [{
|
29
29
|
providedIn: 'root',
|
@@ -23,10 +23,10 @@ class AXConfigService {
|
|
23
23
|
const v2 = this.injector.get(providerToken);
|
24
24
|
return get(v2, parts[parts.length - 1], defaultValue);
|
25
25
|
}
|
26
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
27
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
26
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: AXConfigService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
27
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: AXConfigService, providedIn: 'root' }); }
|
28
28
|
}
|
29
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
29
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: AXConfigService, decorators: [{
|
30
30
|
type: Injectable,
|
31
31
|
args: [{ providedIn: 'root' }]
|
32
32
|
}], ctorParameters: () => [{ type: i0.Injector }] });
|
@@ -8,7 +8,7 @@ import { BehaviorSubject, Subject } from 'rxjs';
|
|
8
8
|
import { AX_GLOBAL_CONFIG } from '@acorex/core/config';
|
9
9
|
import { defaults, orderBy, set, isNil } from 'lodash-es';
|
10
10
|
import { isBrowser } from '@acorex/core/platform';
|
11
|
-
import { translateSync } from '@acorex/core/translation';
|
11
|
+
import { translateSync, AXTranslationService } from '@acorex/core/translation';
|
12
12
|
|
13
13
|
class AXCalendar {
|
14
14
|
/**
|
@@ -1192,10 +1192,10 @@ class AXCalendarService {
|
|
1192
1192
|
calendar: calendar.name(),
|
1193
1193
|
});
|
1194
1194
|
}
|
1195
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
1196
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
1195
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: AXCalendarService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
1196
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: AXCalendarService, providedIn: 'root' }); }
|
1197
1197
|
}
|
1198
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
1198
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: AXCalendarService, decorators: [{
|
1199
1199
|
type: Injectable,
|
1200
1200
|
args: [{ providedIn: 'root' }]
|
1201
1201
|
}], ctorParameters: () => [] });
|
@@ -1219,10 +1219,10 @@ class AXDateTimePipe {
|
|
1219
1219
|
const val = this._calendarService.convert(value, calendar.name());
|
1220
1220
|
return this.formatService.format(val, 'datetime', format);
|
1221
1221
|
}
|
1222
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
1223
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.
|
1222
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: AXDateTimePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
1223
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.11", ngImport: i0, type: AXDateTimePipe, isStandalone: true, name: "axDate" }); }
|
1224
1224
|
}
|
1225
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
1225
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: AXDateTimePipe, decorators: [{
|
1226
1226
|
type: Pipe,
|
1227
1227
|
args: [{ name: 'axDate' }]
|
1228
1228
|
}] });
|
@@ -1267,10 +1267,10 @@ class AXDateFormatter {
|
|
1267
1267
|
.convert(value, effectiveOptions.calendar)
|
1268
1268
|
.format(format, { locale: effectiveOptions.locale });
|
1269
1269
|
}
|
1270
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
1271
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
1270
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: AXDateFormatter, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
1271
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: AXDateFormatter }); }
|
1272
1272
|
}
|
1273
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
1273
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: AXDateFormatter, decorators: [{
|
1274
1274
|
type: Injectable
|
1275
1275
|
}] });
|
1276
1276
|
|
@@ -1324,14 +1324,17 @@ class AXDateTimeFormatter {
|
|
1324
1324
|
.convert(value, effectiveOptions.calendar)
|
1325
1325
|
.format(format, { locale: effectiveOptions.locale });
|
1326
1326
|
}
|
1327
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
1328
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
1327
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: AXDateTimeFormatter, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
1328
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: AXDateTimeFormatter }); }
|
1329
1329
|
}
|
1330
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
1330
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: AXDateTimeFormatter, decorators: [{
|
1331
1331
|
type: Injectable
|
1332
1332
|
}] });
|
1333
1333
|
|
1334
1334
|
class AXTimeDurationFormatter {
|
1335
|
+
constructor() {
|
1336
|
+
this.translationService = inject(AXTranslationService);
|
1337
|
+
}
|
1335
1338
|
get name() {
|
1336
1339
|
return 'time-duration';
|
1337
1340
|
}
|
@@ -1374,37 +1377,62 @@ class AXTimeDurationFormatter {
|
|
1374
1377
|
// Join the parts according to the format
|
1375
1378
|
return formattedTime.join(format.includes('ms') || format.includes('MS') ? ':' : ':');
|
1376
1379
|
}
|
1377
|
-
millisecondsToMask(
|
1378
|
-
if (
|
1380
|
+
async millisecondsToMask(ms, startUnit = 'YEAR', endUnit = 'MILLISECOND') {
|
1381
|
+
if (ms <= 0)
|
1379
1382
|
return '';
|
1380
|
-
const
|
1381
|
-
|
1382
|
-
|
1383
|
-
|
1384
|
-
|
1385
|
-
|
1386
|
-
|
1387
|
-
|
1388
|
-
|
1383
|
+
const translations = await Promise.all([
|
1384
|
+
this.translationService.translateAsync('dateTime.year'),
|
1385
|
+
this.translationService.translateAsync('dateTime.month'),
|
1386
|
+
this.translationService.translateAsync('dateTime.week'),
|
1387
|
+
this.translationService.translateAsync('dateTime.day'),
|
1388
|
+
this.translationService.translateAsync('dateTime.hour'),
|
1389
|
+
this.translationService.translateAsync('dateTime.minute'),
|
1390
|
+
this.translationService.translateAsync('dateTime.second'),
|
1391
|
+
this.translationService.translateAsync('dateTime.millisecond'),
|
1392
|
+
]);
|
1393
|
+
const units = [
|
1394
|
+
{ key: 'YEAR', label: translations[0].toLocaleUpperCase(), value: 1000 * 60 * 60 * 24 * 365 },
|
1395
|
+
{ key: 'MONTH', label: translations[1].toLocaleUpperCase(), value: 1000 * 60 * 60 * 24 * 30 },
|
1396
|
+
{ key: 'WEEK', label: translations[2].toLocaleUpperCase(), value: 1000 * 60 * 60 * 24 * 7 },
|
1397
|
+
{ key: 'DAY', label: translations[3].toLocaleUpperCase(), value: 1000 * 60 * 60 * 24 },
|
1398
|
+
{ key: 'HOUR', label: translations[4].toLocaleUpperCase(), value: 1000 * 60 * 60 },
|
1399
|
+
{ key: 'MINUTE', label: translations[5].toLocaleUpperCase(), value: 1000 * 60 },
|
1400
|
+
{ key: 'SECOND', label: translations[6].toLocaleUpperCase(), value: 1000 },
|
1401
|
+
{ key: 'MILLISECOND', label: translations[7].toLocaleUpperCase(), value: 1 },
|
1389
1402
|
];
|
1390
|
-
const startIndex =
|
1391
|
-
const endIndex =
|
1392
|
-
|
1393
|
-
|
1394
|
-
const parts = [];
|
1395
|
-
for (const unit of units) {
|
1396
|
-
if (remaining >= unit.value) {
|
1397
|
-
const value = Math.floor(remaining / unit.value);
|
1398
|
-
remaining = remaining % unit.value;
|
1399
|
-
parts.push(`${value.toString().padStart(2, '0')}(${unit.name})`);
|
1400
|
-
}
|
1403
|
+
const startIndex = units.findIndex((u) => u.key === startUnit.toUpperCase());
|
1404
|
+
const endIndex = units.findIndex((u) => u.key === endUnit.toUpperCase());
|
1405
|
+
if (startIndex === -1 || endIndex === -1 || startIndex > endIndex) {
|
1406
|
+
throw new Error('Invalid time unit range');
|
1401
1407
|
}
|
1402
|
-
|
1408
|
+
const limitedUnits = units.slice(startIndex, endIndex + 1);
|
1409
|
+
const result = limitedUnits.map((unit) => {
|
1410
|
+
const count = Math.floor(ms / unit.value);
|
1411
|
+
ms %= unit.value;
|
1412
|
+
// Special handling for milliseconds (3 digits)
|
1413
|
+
if (unit.key === 'MILLISECOND') {
|
1414
|
+
if (count < 10) {
|
1415
|
+
return `00${count} (${unit.label})`;
|
1416
|
+
}
|
1417
|
+
else if (count < 100) {
|
1418
|
+
return `0${count} (${unit.label})`;
|
1419
|
+
}
|
1420
|
+
else {
|
1421
|
+
return `${count} (${unit.label})`;
|
1422
|
+
}
|
1423
|
+
}
|
1424
|
+
else {
|
1425
|
+
// For other units, pad with one zero if less than 10
|
1426
|
+
const paddedCount = count < 10 ? `0${count}` : `${count}`;
|
1427
|
+
return `${paddedCount} (${unit.label})`;
|
1428
|
+
}
|
1429
|
+
});
|
1430
|
+
return result.join(' : ');
|
1403
1431
|
}
|
1404
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
1405
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
1432
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: AXTimeDurationFormatter, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
1433
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: AXTimeDurationFormatter }); }
|
1406
1434
|
}
|
1407
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
1435
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: AXTimeDurationFormatter, decorators: [{
|
1408
1436
|
type: Injectable
|
1409
1437
|
}] });
|
1410
1438
|
|
@@ -1448,10 +1476,10 @@ class AXTimeFormatter {
|
|
1448
1476
|
.convert(value, effectiveOptions.calendar)
|
1449
1477
|
.format(format, { locale: effectiveOptions.locale });
|
1450
1478
|
}
|
1451
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
1452
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
1479
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: AXTimeFormatter, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
1480
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: AXTimeFormatter }); }
|
1453
1481
|
}
|
1454
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
1482
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: AXTimeFormatter, decorators: [{
|
1455
1483
|
type: Injectable
|
1456
1484
|
}] });
|
1457
1485
|
|
@@ -1535,21 +1563,21 @@ class AXTimeLeftFormatter {
|
|
1535
1563
|
return 'Invalid format';
|
1536
1564
|
}
|
1537
1565
|
}
|
1538
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
1539
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
1566
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: AXTimeLeftFormatter, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
1567
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: AXTimeLeftFormatter }); }
|
1540
1568
|
}
|
1541
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
1569
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: AXTimeLeftFormatter, decorators: [{
|
1542
1570
|
type: Injectable
|
1543
1571
|
}] });
|
1544
1572
|
|
1545
1573
|
class AXDateTimeModule {
|
1546
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
1547
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.
|
1548
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.
|
1574
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: AXDateTimeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
1575
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.11", ngImport: i0, type: AXDateTimeModule, imports: [i1.AXFormatModule, AXDateTimePipe], exports: [AXDateTimePipe] }); }
|
1576
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: AXDateTimeModule, imports: [AXFormatModule.forChild({
|
1549
1577
|
formatters: [AXDateTimeFormatter, AXDateFormatter, AXTimeFormatter, AXTimeLeftFormatter, AXTimeDurationFormatter],
|
1550
1578
|
})] }); }
|
1551
1579
|
}
|
1552
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
1580
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: AXDateTimeModule, decorators: [{
|
1553
1581
|
type: NgModule,
|
1554
1582
|
args: [{
|
1555
1583
|
imports: [
|