@stemy/ngx-utils 13.2.0 → 13.2.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/bundles/stemy-ngx-utils.umd.js +65 -50
- package/bundles/stemy-ngx-utils.umd.js.map +1 -1
- package/esm2015/ngx-utils/directives/async-method.base.js +14 -2
- package/esm2015/ngx-utils/directives/async-method.directive.js +2 -9
- package/esm2015/ngx-utils/ngx-utils.module.js +3 -1
- package/esm2015/ngx-utils/pipes/replace.pipe.js +3 -2
- package/esm2015/ngx-utils/services/universal.service.js +2 -2
- package/esm2015/ngx-utils/utils/date.utils.js +8 -7
- package/esm2015/ngx-utils/utils/object.utils.js +3 -3
- package/esm2015/public_api.js +2 -1
- package/esm2015/stemy-ngx-utils.js +1 -2
- package/esm2020/ngx-utils/common-types.mjs +1 -1
- package/esm2020/ngx-utils/pipes/replace.pipe.mjs +3 -2
- package/esm2020/ngx-utils/plugins/resize-event.plugin.mjs +4 -4
- package/esm2020/ngx-utils/services/universal.service.mjs +2 -2
- package/esm2020/ngx-utils/utils/date.utils.mjs +8 -7
- package/esm2020/ngx-utils/utils/object.utils.mjs +3 -3
- package/fesm2015/stemy-ngx-utils.js +58 -51
- package/fesm2015/stemy-ngx-utils.js.map +1 -1
- package/fesm2015/stemy-ngx-utils.mjs +14 -13
- package/fesm2015/stemy-ngx-utils.mjs.map +1 -1
- package/fesm2020/stemy-ngx-utils.mjs +14 -13
- package/fesm2020/stemy-ngx-utils.mjs.map +1 -1
- package/ngx-utils/common-types.d.ts +2 -1
- package/ngx-utils/utils/date.utils.d.ts +1 -1
- package/package.json +1 -1
- package/stemy-ngx-utils.metadata.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { InjectionToken, TemplateRef, PLATFORM_ID, Injectable, Inject, Optional, Injector, EventEmitter, isDevMode, ErrorHandler, NgZone, Pipe, Directive, Input, Output, HostBinding, HostListener, Component, ContentChildren, ViewChild, ContentChild, APP_INITIALIZER, NgModule } from '@angular/core';
|
|
3
3
|
import 'reflect-metadata';
|
|
4
|
-
import
|
|
4
|
+
import moment from 'moment';
|
|
5
5
|
import { first, skipWhile, mergeMap, timeout, map } from 'rxjs/operators';
|
|
6
6
|
import { Subject, BehaviorSubject, Observable, Subscription, from, TimeoutError, combineLatest } from 'rxjs';
|
|
7
7
|
import { Invokable } from 'invokable';
|
|
@@ -16,13 +16,13 @@ import { HttpClient, HttpHeaders, HttpParams, HttpUrlEncodingCodec, HttpEventTyp
|
|
|
16
16
|
import * as JSON5 from 'json5';
|
|
17
17
|
import * as i1$2 from '@angular/platform-browser';
|
|
18
18
|
import { ɵDomEventsPlugin, EVENT_MANAGER_PLUGINS } from '@angular/platform-browser';
|
|
19
|
-
import
|
|
19
|
+
import * as detector from 'resize-detector';
|
|
20
20
|
import * as i4 from '@angular/forms';
|
|
21
21
|
import { FormsModule } from '@angular/forms';
|
|
22
22
|
|
|
23
23
|
const defaultPredicate = () => true;
|
|
24
|
-
const hasBlob = typeof Blob !== "undefined";
|
|
25
|
-
const hasFile = typeof File !== "undefined";
|
|
24
|
+
const hasBlob = typeof Blob !== "undefined" && !!Blob;
|
|
25
|
+
const hasFile = typeof File !== "undefined" && !!File;
|
|
26
26
|
class ObjectUtils {
|
|
27
27
|
static compare(a, b) {
|
|
28
28
|
if ((a === null || b === null) || (typeof a != typeof b)) {
|
|
@@ -479,21 +479,22 @@ AjaxRequestHandler.isOverridden = false;
|
|
|
479
479
|
|
|
480
480
|
class DateUtils {
|
|
481
481
|
static isHoliday(date) {
|
|
482
|
-
return
|
|
482
|
+
return moment(date).isoWeekday() > 5;
|
|
483
483
|
}
|
|
484
484
|
static isBusinessDay(date) {
|
|
485
|
-
return
|
|
485
|
+
return moment(date).isoWeekday() < 6;
|
|
486
486
|
}
|
|
487
487
|
static add(date, amount, unit) {
|
|
488
|
-
return
|
|
488
|
+
return moment(date).add(amount, unit).toDate();
|
|
489
489
|
}
|
|
490
|
-
static businessAdd(date, amount, unit) {
|
|
490
|
+
static businessAdd(date, amount, unit, freeDays = []) {
|
|
491
491
|
const signal = amount < 0 ? -1 : 1;
|
|
492
|
+
const freeMoments = freeDays.map(d => moment(d));
|
|
492
493
|
let remaining = Math.abs(amount);
|
|
493
494
|
let day = date;
|
|
494
495
|
while (remaining) {
|
|
495
496
|
day = DateUtils.add(day, signal, unit);
|
|
496
|
-
if (DateUtils.isBusinessDay(day)) {
|
|
497
|
+
if (DateUtils.isBusinessDay(day) && !freeMoments.some(m => m.isSame(day, "day"))) {
|
|
497
498
|
remaining--;
|
|
498
499
|
}
|
|
499
500
|
}
|
|
@@ -1279,7 +1280,7 @@ class UniversalService {
|
|
|
1279
1280
|
this.platformId = platformId;
|
|
1280
1281
|
this.dds = dds;
|
|
1281
1282
|
const info = this.dds.getDeviceInfo();
|
|
1282
|
-
this.crawler = /(bot|google|baidu|bing|msn|duckduckbot|teoma|slurp|yandex|lighthouse|angular-universal|PTST)/gi.test(info.userAgent);
|
|
1283
|
+
this.crawler = /(bot|google|baidu|bing|msn|duckduckbot|teoma|slurp|yandex|lighthouse|angular-universal|PTST|PostmanRuntime)/gi.test(info.userAgent);
|
|
1283
1284
|
}
|
|
1284
1285
|
get isBrowser() {
|
|
1285
1286
|
return isPlatformBrowser(this.platformId);
|
|
@@ -3310,7 +3311,7 @@ class ResizeEventPlugin extends ɵDomEventsPlugin {
|
|
|
3310
3311
|
element.addEventListener(eventName, cb);
|
|
3311
3312
|
}
|
|
3312
3313
|
else {
|
|
3313
|
-
addListener(element, cb);
|
|
3314
|
+
detector.addListener(element, cb);
|
|
3314
3315
|
}
|
|
3315
3316
|
return () => {
|
|
3316
3317
|
try {
|
|
@@ -3318,7 +3319,7 @@ class ResizeEventPlugin extends ɵDomEventsPlugin {
|
|
|
3318
3319
|
element.removeEventListener(eventName, cb);
|
|
3319
3320
|
}
|
|
3320
3321
|
else {
|
|
3321
|
-
removeListener(element, cb);
|
|
3322
|
+
detector.removeListener(element, cb);
|
|
3322
3323
|
}
|
|
3323
3324
|
}
|
|
3324
3325
|
catch (e) {
|
|
@@ -3809,7 +3810,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImpor
|
|
|
3809
3810
|
|
|
3810
3811
|
class ReplacePipe {
|
|
3811
3812
|
transform(value, from, to) {
|
|
3812
|
-
return value ? value
|
|
3813
|
+
return ObjectUtils.isDefined(value) ? `${value}`.replace(from, to) : ``;
|
|
3813
3814
|
}
|
|
3814
3815
|
}
|
|
3815
3816
|
ReplacePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ReplacePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|