@qrvey/utils 1.15.0-2 → 1.15.0-20
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/dist/cjs/elements/helpers/fixed.d.ts +85 -0
- package/dist/cjs/elements/helpers/fixed.js +188 -0
- package/dist/cjs/elements/helpers/gridStrategy.d.ts +28 -0
- package/dist/cjs/elements/helpers/gridStrategy.js +81 -0
- package/dist/cjs/elements/helpers/index.d.ts +1 -0
- package/dist/cjs/elements/helpers/index.js +17 -0
- package/dist/cjs/elements/helpers/responsive.d.ts +87 -0
- package/dist/cjs/elements/helpers/responsive.js +166 -0
- package/dist/cjs/elements/index.d.ts +2 -0
- package/dist/cjs/elements/index.js +18 -0
- package/dist/cjs/elements/interfaces/ICanvasGrid.d.ts +5 -0
- package/dist/cjs/elements/interfaces/ICanvasGrid.js +9 -0
- package/dist/cjs/elements/interfaces/IFixedPosition.d.ts +5 -0
- package/dist/cjs/elements/interfaces/IFixedPosition.js +2 -0
- package/dist/cjs/elements/interfaces/IVemCore.d.ts +29 -0
- package/dist/cjs/elements/interfaces/IVemCore.js +3 -0
- package/dist/cjs/elements/interfaces/IVemPosition.d.ts +44 -0
- package/dist/cjs/elements/interfaces/IVemPosition.js +8 -0
- package/dist/cjs/elements/interfaces/index.d.ts +4 -0
- package/dist/cjs/elements/interfaces/index.js +20 -0
- package/dist/cjs/elements/utils/element.d.ts +4 -0
- package/dist/cjs/elements/utils/element.js +28 -0
- package/dist/cjs/elements/utils/general.d.ts +15 -0
- package/dist/cjs/elements/utils/general.js +20 -0
- package/dist/cjs/elements/utils/overlap.d.ts +63 -0
- package/dist/cjs/elements/utils/overlap.js +99 -0
- package/dist/cjs/elements/utils/position.d.ts +4 -0
- package/dist/cjs/elements/utils/position.js +5 -0
- package/dist/cjs/filters/adapters/FDToLogic.js +2 -1
- package/dist/cjs/filters/helpers/backend/buildFilters.d.ts +5 -0
- package/dist/cjs/filters/helpers/backend/buildFilters.js +23 -1
- package/dist/cjs/filters/helpers/common/getDateProperties.d.ts +6 -0
- package/dist/cjs/filters/helpers/common/getDateProperties.js +2 -1
- package/dist/cjs/filters/helpers/settings/getFilterSettings.js +1 -1
- package/dist/cjs/filters/interfaces/common/IFSScopeID.d.ts +4 -0
- package/dist/cjs/general/array/howManyByParam.d.ts +8 -0
- package/dist/cjs/general/array/howManyByParam.js +21 -0
- package/dist/cjs/general/array/index.d.ts +2 -0
- package/dist/cjs/general/array/index.js +2 -0
- package/dist/cjs/general/string/index.d.ts +4 -0
- package/dist/cjs/general/string/index.js +4 -0
- package/dist/cjs/general/string/secureHTML.d.ts +8 -0
- package/dist/cjs/general/string/secureHTML.js +13 -0
- package/dist/cjs/general/string/strategies/XSSEstrictedSanitizer.d.ts +8 -0
- package/dist/cjs/general/string/strategies/XSSEstrictedSanitizer.js +23 -0
- package/dist/cjs/general/string/strategies/XSSSanitizer.d.ts +8 -0
- package/dist/cjs/general/string/strategies/XSSSanitizer.js +19 -0
- package/dist/cjs/general/string/urlValidator.d.ts +10 -0
- package/dist/cjs/general/string/urlValidator.js +38 -0
- package/dist/cjs/globalization/interfaces/export/II18nExportingModal.d.ts +20 -0
- package/dist/cjs/globalization/interfaces/filters/II18nFilterDisplay.d.ts +1 -0
- package/dist/cjs/globalization/labels/export/I18N_EXPORT_MODAL.js +20 -0
- package/dist/cjs/globalization/labels/filters/I18N_FILTER_DISPLAY.js +1 -0
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/interfaces/SatinizerStrategy.d.ts +3 -0
- package/dist/cjs/interfaces/SatinizerStrategy.js +2 -0
- package/dist/elements/helpers/fixed.d.ts +85 -0
- package/dist/elements/helpers/fixed.js +177 -0
- package/dist/elements/helpers/gridStrategy.d.ts +28 -0
- package/dist/elements/helpers/gridStrategy.js +76 -0
- package/dist/elements/helpers/index.d.ts +1 -0
- package/dist/elements/helpers/index.js +1 -0
- package/dist/elements/helpers/responsive.d.ts +87 -0
- package/dist/elements/helpers/responsive.js +155 -0
- package/dist/elements/index.d.ts +2 -0
- package/dist/elements/index.js +2 -0
- package/dist/elements/interfaces/ICanvasGrid.d.ts +5 -0
- package/dist/elements/interfaces/ICanvasGrid.js +6 -0
- package/dist/elements/interfaces/IFixedPosition.d.ts +5 -0
- package/dist/elements/interfaces/IFixedPosition.js +1 -0
- package/dist/elements/interfaces/IVemCore.d.ts +29 -0
- package/dist/elements/interfaces/IVemCore.js +1 -0
- package/dist/elements/interfaces/IVemPosition.d.ts +44 -0
- package/dist/elements/interfaces/IVemPosition.js +5 -0
- package/dist/elements/interfaces/index.d.ts +4 -0
- package/dist/elements/interfaces/index.js +4 -0
- package/dist/elements/utils/element.d.ts +4 -0
- package/dist/elements/utils/element.js +24 -0
- package/dist/elements/utils/general.d.ts +15 -0
- package/dist/elements/utils/general.js +16 -0
- package/dist/elements/utils/overlap.d.ts +63 -0
- package/dist/elements/utils/overlap.js +95 -0
- package/dist/elements/utils/position.d.ts +4 -0
- package/dist/elements/utils/position.js +1 -0
- package/dist/filters/adapters/FDToLogic.js +2 -1
- package/dist/filters/helpers/backend/buildFilters.d.ts +5 -0
- package/dist/filters/helpers/backend/buildFilters.js +23 -1
- package/dist/filters/helpers/common/getDateProperties.d.ts +6 -0
- package/dist/filters/helpers/common/getDateProperties.js +1 -1
- package/dist/filters/helpers/settings/getFilterSettings.js +1 -1
- package/dist/filters/interfaces/common/IFSScopeID.d.ts +4 -0
- package/dist/general/array/howManyByParam.d.ts +8 -0
- package/dist/general/array/howManyByParam.js +17 -0
- package/dist/general/array/index.d.ts +2 -0
- package/dist/general/array/index.js +2 -0
- package/dist/general/string/index.d.ts +4 -0
- package/dist/general/string/index.js +4 -0
- package/dist/general/string/secureHTML.d.ts +8 -0
- package/dist/general/string/secureHTML.js +9 -0
- package/dist/general/string/strategies/XSSEstrictedSanitizer.d.ts +8 -0
- package/dist/general/string/strategies/XSSEstrictedSanitizer.js +19 -0
- package/dist/general/string/strategies/XSSSanitizer.d.ts +8 -0
- package/dist/general/string/strategies/XSSSanitizer.js +15 -0
- package/dist/general/string/urlValidator.d.ts +10 -0
- package/dist/general/string/urlValidator.js +34 -0
- package/dist/globalization/interfaces/export/II18nExportingModal.d.ts +20 -0
- package/dist/globalization/interfaces/filters/II18nFilterDisplay.d.ts +1 -0
- package/dist/globalization/labels/export/I18N_EXPORT_MODAL.js +20 -0
- package/dist/globalization/labels/filters/I18N_FILTER_DISPLAY.js +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/interfaces/SatinizerStrategy.d.ts +3 -0
- package/dist/interfaces/SatinizerStrategy.js +1 -0
- package/package.json +3 -2
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./helpers/index"), exports);
|
|
18
|
+
__exportStar(require("./interfaces/index"), exports);
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CanvasDevice = void 0;
|
|
4
|
+
var CanvasDevice;
|
|
5
|
+
(function (CanvasDevice) {
|
|
6
|
+
CanvasDevice["DESKTOP"] = "desktop";
|
|
7
|
+
CanvasDevice["TABLET"] = "tablet";
|
|
8
|
+
CanvasDevice["MOBILE"] = "mobile";
|
|
9
|
+
})(CanvasDevice || (exports.CanvasDevice = CanvasDevice = {}));
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { VemPositionConfigFixed, VemPositionConfigMap, VemPositionConfigResponsive, VemPositionType } from "./IVemPosition";
|
|
2
|
+
interface VemBase {
|
|
3
|
+
elementId: string;
|
|
4
|
+
type: string;
|
|
5
|
+
contentId?: string;
|
|
6
|
+
}
|
|
7
|
+
export interface VemCorePosition {
|
|
8
|
+
fixed?: VemPositionConfigFixed;
|
|
9
|
+
responsive?: VemPositionConfigResponsive;
|
|
10
|
+
}
|
|
11
|
+
interface VemCore<TPosition extends VemPositionType | unknown, TItemData = unknown> extends VemBase {
|
|
12
|
+
itemData: TItemData;
|
|
13
|
+
/** Indicates if its a personalized Vem */
|
|
14
|
+
isEup?: boolean;
|
|
15
|
+
/** Data to be saved in the client chart when it's saved by EUP (Only applies for VemAnalytics) */
|
|
16
|
+
chartBody?: unknown;
|
|
17
|
+
/** Dashboard Actions in the element */
|
|
18
|
+
actions?: unknown[];
|
|
19
|
+
position: TPosition extends VemPositionType ? VemCorePosition & Record<TPosition, VemPositionConfigMap[TPosition]> : VemCorePosition;
|
|
20
|
+
}
|
|
21
|
+
export type Vem<T = unknown, TPosition extends VemPositionType = VemPositionType> = VemCore<TPosition, T>;
|
|
22
|
+
export type VemPos<TPosition extends VemPositionType> = VemCore<TPosition>;
|
|
23
|
+
export type VemResponsive<T = unknown> = VemCore<VemPositionType.RESPONSIVE, T>;
|
|
24
|
+
export type VemFixed<T = unknown> = VemCore<VemPositionType.FIXED, T>;
|
|
25
|
+
export interface VemElementMap<T = unknown> {
|
|
26
|
+
[VemPositionType.FIXED]: VemFixed<T>;
|
|
27
|
+
[VemPositionType.RESPONSIVE]: VemResponsive<T>;
|
|
28
|
+
}
|
|
29
|
+
export {};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
export interface VemSizeFixed {
|
|
2
|
+
width: number;
|
|
3
|
+
height: number;
|
|
4
|
+
}
|
|
5
|
+
export interface VemSizeResponsive {
|
|
6
|
+
colSpan: number;
|
|
7
|
+
rowSpan: number;
|
|
8
|
+
}
|
|
9
|
+
export interface VemPositionFixed extends VemSizeFixed {
|
|
10
|
+
x: number;
|
|
11
|
+
y: number;
|
|
12
|
+
z: number;
|
|
13
|
+
}
|
|
14
|
+
export interface VemPositionResponsive extends VemSizeResponsive {
|
|
15
|
+
colStart: number;
|
|
16
|
+
rowStart: number;
|
|
17
|
+
}
|
|
18
|
+
export type VemPosition = VemPositionFixed | VemPositionResponsive;
|
|
19
|
+
export interface VemPositionMap {
|
|
20
|
+
[VemPositionType.FIXED]: VemPositionFixed;
|
|
21
|
+
[VemPositionType.RESPONSIVE]: VemPositionResponsive;
|
|
22
|
+
}
|
|
23
|
+
export declare enum VemPositionType {
|
|
24
|
+
FIXED = "fixed",
|
|
25
|
+
RESPONSIVE = "responsive"
|
|
26
|
+
}
|
|
27
|
+
interface VemPositionBase<TPosition extends VemPosition> {
|
|
28
|
+
desktop: TPosition;
|
|
29
|
+
tablet?: TPosition;
|
|
30
|
+
mobile?: TPosition;
|
|
31
|
+
}
|
|
32
|
+
export type VemPositionConfigFixed = VemPositionBase<VemPositionFixed>;
|
|
33
|
+
export type VemPositionConfigResponsive = VemPositionBase<VemPositionResponsive>;
|
|
34
|
+
export type VemPositionConfig = VemPositionConfigFixed | VemPositionConfigResponsive;
|
|
35
|
+
export interface VemPositionConfigMap {
|
|
36
|
+
[VemPositionType.FIXED]: VemPositionConfigFixed;
|
|
37
|
+
[VemPositionType.RESPONSIVE]: VemPositionConfigResponsive;
|
|
38
|
+
}
|
|
39
|
+
export type VemSize = VemSizeFixed | VemSizeResponsive;
|
|
40
|
+
export interface VemSizeConfig {
|
|
41
|
+
[VemPositionType.FIXED]: VemSizeFixed;
|
|
42
|
+
[VemPositionType.RESPONSIVE]: VemSizeResponsive;
|
|
43
|
+
}
|
|
44
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.VemPositionType = void 0;
|
|
4
|
+
var VemPositionType;
|
|
5
|
+
(function (VemPositionType) {
|
|
6
|
+
VemPositionType["FIXED"] = "fixed";
|
|
7
|
+
VemPositionType["RESPONSIVE"] = "responsive";
|
|
8
|
+
})(VemPositionType || (exports.VemPositionType = VemPositionType = {}));
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./ICanvasGrid"), exports);
|
|
18
|
+
__exportStar(require("./IFixedPosition"), exports);
|
|
19
|
+
__exportStar(require("./IVemCore"), exports);
|
|
20
|
+
__exportStar(require("./IVemPosition"), exports);
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { CanvasDevice } from "../interfaces/ICanvasGrid";
|
|
2
|
+
import { Vem } from "../interfaces/IVemCore";
|
|
3
|
+
import { VemPositionType } from "../interfaces/IVemPosition";
|
|
4
|
+
export declare const copyDesktopPositionToDevice: (elements: Vem[], newCanvasDevice: CanvasDevice, canvasType: VemPositionType) => Vem[];
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.copyDesktopPositionToDevice = void 0;
|
|
4
|
+
const position_1 = require("./position");
|
|
5
|
+
const ICanvasGrid_1 = require("../interfaces/ICanvasGrid");
|
|
6
|
+
const IVemPosition_1 = require("../interfaces/IVemPosition");
|
|
7
|
+
const copyDesktopPositionToDevice = (elements, newCanvasDevice, canvasType) => {
|
|
8
|
+
const defaultPositionMap = {
|
|
9
|
+
[IVemPosition_1.VemPositionType.FIXED]: {
|
|
10
|
+
x: 0,
|
|
11
|
+
y: 0,
|
|
12
|
+
},
|
|
13
|
+
[IVemPosition_1.VemPositionType.RESPONSIVE]: {
|
|
14
|
+
colStart: 1,
|
|
15
|
+
rowStart: 1,
|
|
16
|
+
},
|
|
17
|
+
};
|
|
18
|
+
return elements.map((element) => {
|
|
19
|
+
var _a;
|
|
20
|
+
if (!((_a = element.position[canvasType]) === null || _a === void 0 ? void 0 : _a[newCanvasDevice])) {
|
|
21
|
+
const desktopViewPosition = element.position[canvasType][ICanvasGrid_1.CanvasDevice.DESKTOP];
|
|
22
|
+
const newDevicePosition = Object.assign(Object.assign({}, desktopViewPosition), defaultPositionMap[canvasType]);
|
|
23
|
+
return (0, position_1.setElementPosition)(element, canvasType, newCanvasDevice, newDevicePosition);
|
|
24
|
+
}
|
|
25
|
+
return element;
|
|
26
|
+
});
|
|
27
|
+
};
|
|
28
|
+
exports.copyDesktopPositionToDevice = copyDesktopPositionToDevice;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Compares two objects based on their `distance` property and determines their relative order.
|
|
3
|
+
* @param a - An object with a `distance` property (number).
|
|
4
|
+
* @param b - Another object with a `distance` property (number).
|
|
5
|
+
* @param a.distance
|
|
6
|
+
* @param b.distance
|
|
7
|
+
* @returns - A negative number if `a` has a smaller distance than `b`,
|
|
8
|
+
* a positive number if `a` has a larger distance than `b`,
|
|
9
|
+
* or 0 if both have equal distances.
|
|
10
|
+
*/
|
|
11
|
+
export declare const sortByDistanceFunction: (a: {
|
|
12
|
+
distance: number;
|
|
13
|
+
}, b: {
|
|
14
|
+
distance: number;
|
|
15
|
+
}) => 0 | 1 | -1;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.sortByDistanceFunction = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Compares two objects based on their `distance` property and determines their relative order.
|
|
6
|
+
* @param a - An object with a `distance` property (number).
|
|
7
|
+
* @param b - Another object with a `distance` property (number).
|
|
8
|
+
* @param a.distance
|
|
9
|
+
* @param b.distance
|
|
10
|
+
* @returns - A negative number if `a` has a smaller distance than `b`,
|
|
11
|
+
* a positive number if `a` has a larger distance than `b`,
|
|
12
|
+
* or 0 if both have equal distances.
|
|
13
|
+
*/
|
|
14
|
+
const sortByDistanceFunction = (a, b) => {
|
|
15
|
+
if (a.distance === b.distance) {
|
|
16
|
+
return 0;
|
|
17
|
+
}
|
|
18
|
+
return a.distance < b.distance ? -1 : 1;
|
|
19
|
+
};
|
|
20
|
+
exports.sortByDistanceFunction = sortByDistanceFunction;
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
interface OverlapNode {
|
|
2
|
+
startX: number;
|
|
3
|
+
endX: number;
|
|
4
|
+
startY: number;
|
|
5
|
+
endY: number;
|
|
6
|
+
maxEndX: number;
|
|
7
|
+
maxEndY: number;
|
|
8
|
+
left?: OverlapNode;
|
|
9
|
+
right?: OverlapNode;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
*
|
|
13
|
+
*/
|
|
14
|
+
export declare class OverlapIntervalTree {
|
|
15
|
+
root?: OverlapNode;
|
|
16
|
+
/**
|
|
17
|
+
*
|
|
18
|
+
*/
|
|
19
|
+
constructor();
|
|
20
|
+
/**
|
|
21
|
+
*
|
|
22
|
+
* @param startX
|
|
23
|
+
* @param endX
|
|
24
|
+
* @param startY
|
|
25
|
+
* @param endY
|
|
26
|
+
*/
|
|
27
|
+
insert(startX: number, endX: number, startY: number, endY: number): void;
|
|
28
|
+
/**
|
|
29
|
+
*
|
|
30
|
+
* @param startX
|
|
31
|
+
* @param endX
|
|
32
|
+
* @param startY
|
|
33
|
+
* @param endY
|
|
34
|
+
*/
|
|
35
|
+
private _initNode;
|
|
36
|
+
/**
|
|
37
|
+
*
|
|
38
|
+
* @param node
|
|
39
|
+
* @param startX
|
|
40
|
+
* @param endX
|
|
41
|
+
* @param startY
|
|
42
|
+
* @param endY
|
|
43
|
+
*/
|
|
44
|
+
private _insert;
|
|
45
|
+
/**
|
|
46
|
+
*
|
|
47
|
+
* @param startX
|
|
48
|
+
* @param endX
|
|
49
|
+
* @param startY
|
|
50
|
+
* @param endY
|
|
51
|
+
*/
|
|
52
|
+
overlaps(startX: number, endX: number, startY: number, endY: number): boolean;
|
|
53
|
+
/**
|
|
54
|
+
*
|
|
55
|
+
* @param node
|
|
56
|
+
* @param startX
|
|
57
|
+
* @param endX
|
|
58
|
+
* @param startY
|
|
59
|
+
* @param endY
|
|
60
|
+
*/
|
|
61
|
+
private _overlaps;
|
|
62
|
+
}
|
|
63
|
+
export {};
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OverlapIntervalTree = void 0;
|
|
4
|
+
/**
|
|
5
|
+
*
|
|
6
|
+
*/
|
|
7
|
+
class OverlapIntervalTree {
|
|
8
|
+
/**
|
|
9
|
+
*
|
|
10
|
+
*/
|
|
11
|
+
constructor() {
|
|
12
|
+
this.root = undefined;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
*
|
|
16
|
+
* @param startX
|
|
17
|
+
* @param endX
|
|
18
|
+
* @param startY
|
|
19
|
+
* @param endY
|
|
20
|
+
*/
|
|
21
|
+
insert(startX, endX, startY, endY) {
|
|
22
|
+
this.root = this._insert(this.root, startX, endX, startY, endY);
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
*
|
|
26
|
+
* @param startX
|
|
27
|
+
* @param endX
|
|
28
|
+
* @param startY
|
|
29
|
+
* @param endY
|
|
30
|
+
*/
|
|
31
|
+
_initNode(startX, endX, startY, endY) {
|
|
32
|
+
return {
|
|
33
|
+
startX,
|
|
34
|
+
endX,
|
|
35
|
+
startY,
|
|
36
|
+
endY,
|
|
37
|
+
maxEndX: endX,
|
|
38
|
+
maxEndY: endY,
|
|
39
|
+
left: undefined,
|
|
40
|
+
right: undefined,
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
*
|
|
45
|
+
* @param node
|
|
46
|
+
* @param startX
|
|
47
|
+
* @param endX
|
|
48
|
+
* @param startY
|
|
49
|
+
* @param endY
|
|
50
|
+
*/
|
|
51
|
+
_insert(node, startX, endX, startY, endY) {
|
|
52
|
+
if (node === undefined) {
|
|
53
|
+
return this._initNode(startX, endX, startY, endY);
|
|
54
|
+
}
|
|
55
|
+
if (startY < node.startY) {
|
|
56
|
+
node.left = this._insert(node.left, startX, endX, startY, endY);
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
node.right = this._insert(node.right, startX, endX, startY, endY);
|
|
60
|
+
}
|
|
61
|
+
node.maxEndX = Math.max(node.maxEndX, endX);
|
|
62
|
+
node.maxEndY = Math.max(node.maxEndY, endY);
|
|
63
|
+
return node;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
*
|
|
67
|
+
* @param startX
|
|
68
|
+
* @param endX
|
|
69
|
+
* @param startY
|
|
70
|
+
* @param endY
|
|
71
|
+
*/
|
|
72
|
+
overlaps(startX, endX, startY, endY) {
|
|
73
|
+
return this._overlaps(this.root, startX, endX, startY, endY);
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
*
|
|
77
|
+
* @param node
|
|
78
|
+
* @param startX
|
|
79
|
+
* @param endX
|
|
80
|
+
* @param startY
|
|
81
|
+
* @param endY
|
|
82
|
+
*/
|
|
83
|
+
_overlaps(node, startX, endX, startY, endY) {
|
|
84
|
+
if (node === undefined) {
|
|
85
|
+
return false;
|
|
86
|
+
}
|
|
87
|
+
if (startX <= node.endX &&
|
|
88
|
+
endX >= node.startX &&
|
|
89
|
+
startY <= node.endY &&
|
|
90
|
+
endY >= node.startY) {
|
|
91
|
+
return true;
|
|
92
|
+
}
|
|
93
|
+
if (node.left !== undefined && node.left.maxEndY >= startY) {
|
|
94
|
+
return this._overlaps(node.left, startX, endX, startY, endY);
|
|
95
|
+
}
|
|
96
|
+
return this._overlaps(node.right, startX, endX, startY, endY);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
exports.OverlapIntervalTree = OverlapIntervalTree;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { CanvasDevice } from "../interfaces/ICanvasGrid";
|
|
2
|
+
import { Vem } from "../interfaces/IVemCore";
|
|
3
|
+
import { VemPosition, VemPositionType } from "../interfaces/IVemPosition";
|
|
4
|
+
export declare const setElementPosition: <T extends VemPositionType = VemPositionType>(baseElement: Vem<unknown, T>, type: T, device: CanvasDevice, position: VemPosition) => Vem<unknown, T>;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.setElementPosition = void 0;
|
|
4
|
+
const setElementPosition = (baseElement, type, device, position) => (Object.assign(Object.assign({}, baseElement), { position: Object.assign(Object.assign({}, baseElement.position), { [type]: Object.assign(Object.assign({}, baseElement.position[type]), { [device]: position }) }) }));
|
|
5
|
+
exports.setElementPosition = setElementPosition;
|
|
@@ -38,7 +38,8 @@ function getLogicBodyFromFD21(filterData) {
|
|
|
38
38
|
filters = filters.concat(expressions);
|
|
39
39
|
});
|
|
40
40
|
}
|
|
41
|
-
|
|
41
|
+
if (!(0, isEmpty_1.isEmpty)(filters))
|
|
42
|
+
logics.push(Object.assign(Object.assign({}, logic), { filters }));
|
|
42
43
|
return logics;
|
|
43
44
|
}, []);
|
|
44
45
|
}
|
|
@@ -1,3 +1,8 @@
|
|
|
1
1
|
import { IFBFilter } from "../../interfaces/backend/IFBFilter";
|
|
2
2
|
import { IFSFilter } from "../../interfaces/common/IFSFilter";
|
|
3
|
+
/**
|
|
4
|
+
*
|
|
5
|
+
* @param filters
|
|
6
|
+
* @param groupColumns
|
|
7
|
+
*/
|
|
3
8
|
export declare function buildFilters(filters: IFSFilter[], groupColumns?: boolean): IFBFilter[];
|
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.buildFilters = void 0;
|
|
4
|
+
const buildExpression_1 = require("./buildExpression");
|
|
4
5
|
const isEmpty_1 = require("../../../general/mix/isEmpty");
|
|
5
6
|
const hasProperty_1 = require("../../../general/object/hasProperty");
|
|
6
7
|
const FILTER_OPERATOR_1 = require("../../constants/common/FILTER_OPERATOR");
|
|
7
|
-
|
|
8
|
+
/**
|
|
9
|
+
*
|
|
10
|
+
* @param filters
|
|
11
|
+
* @param groupColumns
|
|
12
|
+
*/
|
|
8
13
|
function buildFilters(filters, groupColumns = false) {
|
|
9
14
|
const expression = numericExpression(filters, groupColumns);
|
|
10
15
|
const orOperators = expression.split("+");
|
|
@@ -28,6 +33,8 @@ function buildFilters(filters, groupColumns = false) {
|
|
|
28
33
|
return getColumnExpressions(group, getFilter);
|
|
29
34
|
})
|
|
30
35
|
.filter(Boolean);
|
|
36
|
+
if ((0, isEmpty_1.isEmpty)(expressions))
|
|
37
|
+
return [];
|
|
31
38
|
if (orOperators.length > 1) {
|
|
32
39
|
return [
|
|
33
40
|
{
|
|
@@ -42,6 +49,11 @@ function buildFilters(filters, groupColumns = false) {
|
|
|
42
49
|
return [{ operator: FILTER_OPERATOR_1.FILTER_OPERATOR.AND, expressions }];
|
|
43
50
|
}
|
|
44
51
|
exports.buildFilters = buildFilters;
|
|
52
|
+
/**
|
|
53
|
+
*
|
|
54
|
+
* @param group
|
|
55
|
+
* @param getFilter
|
|
56
|
+
*/
|
|
45
57
|
function getColumnExpressions(group, getFilter) {
|
|
46
58
|
const columnOrOperators = group.split("/");
|
|
47
59
|
if (columnOrOperators.length > 1) {
|
|
@@ -54,12 +66,22 @@ function getColumnExpressions(group, getFilter) {
|
|
|
54
66
|
}
|
|
55
67
|
return getFilter(group);
|
|
56
68
|
}
|
|
69
|
+
/**
|
|
70
|
+
*
|
|
71
|
+
* @param operator
|
|
72
|
+
* @param priority
|
|
73
|
+
*/
|
|
57
74
|
function logicToNumeric(operator, priority = false) {
|
|
58
75
|
if (operator === FILTER_OPERATOR_1.FILTER_OPERATOR.AND) {
|
|
59
76
|
return "*";
|
|
60
77
|
}
|
|
61
78
|
return priority ? "/" : "+";
|
|
62
79
|
}
|
|
80
|
+
/**
|
|
81
|
+
*
|
|
82
|
+
* @param filters
|
|
83
|
+
* @param groupColumns
|
|
84
|
+
*/
|
|
63
85
|
function numericExpression(filters, groupColumns = false) {
|
|
64
86
|
let expression = "";
|
|
65
87
|
filters.forEach((item, index) => {
|
|
@@ -8,3 +8,9 @@ import { IFValidator } from "../../interfaces/IFValidator";
|
|
|
8
8
|
* @returns properties of the Date column
|
|
9
9
|
*/
|
|
10
10
|
export declare function getDateProperties(column: IColumn, validator: IFValidator): IColumnPropertyInfo[];
|
|
11
|
+
/**
|
|
12
|
+
* Returns True or false when the output format in the date column exists and is a time type
|
|
13
|
+
* @param column Column prop
|
|
14
|
+
* @returns True if The Date Column has a time format, otherwise is false.
|
|
15
|
+
*/
|
|
16
|
+
export declare function isDateColumnTimeFormat(column: IColumn): boolean;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getDateProperties = void 0;
|
|
3
|
+
exports.isDateColumnTimeFormat = exports.getDateProperties = void 0;
|
|
4
4
|
const isValidatorMatchedToWindow_1 = require("./isValidatorMatchedToWindow");
|
|
5
5
|
const DATE_DISTINCT_PROPERTY_INFO_LIST_1 = require("../../../dates/constants/DATE_DISTINCT_PROPERTY_INFO_LIST");
|
|
6
6
|
const DATE_DISTINCT_TIME_PROPERTY_INFO_LIST_1 = require("../../../dates/constants/DATE_DISTINCT_TIME_PROPERTY_INFO_LIST");
|
|
@@ -44,3 +44,4 @@ function isDateColumnTimeFormat(column) {
|
|
|
44
44
|
const formatDate = (0, get_1._get)(column.outputFormat, "format");
|
|
45
45
|
return !(0, isEmpty_1.isEmpty)(formatDate) && formatDate.split(" ").length > 1;
|
|
46
46
|
}
|
|
47
|
+
exports.isDateColumnTimeFormat = isDateColumnTimeFormat;
|
|
@@ -19,7 +19,6 @@ const getScopesToDisplay_1 = require("./getScopesToDisplay");
|
|
|
19
19
|
*/
|
|
20
20
|
function getFilterSettings(filterSettings, allowedScopes = [], otherSettings) {
|
|
21
21
|
let settings = (0, mergeDeep_1.mergeDeep)(FILTER_SETTINGS_DEFAULT_1.FILTER_SETTINGS_DEFAULT, (0, objectCopy_1.objectCopy)(filterSettings));
|
|
22
|
-
settings = (0, mergeDeep_1.mergeDeep)(settings, otherSettings);
|
|
23
22
|
const scopesSettings = (0, getScopesToDisplay_1.getScopesToDisplay)(settings).filter((scope) => allowedScopes.includes(scope.id));
|
|
24
23
|
if (scopesSettings.length > 1) {
|
|
25
24
|
settings = getFilterSettingsByMultipleScopes(settings, allowedScopes);
|
|
@@ -30,6 +29,7 @@ function getFilterSettings(filterSettings, allowedScopes = [], otherSettings) {
|
|
|
30
29
|
else {
|
|
31
30
|
settings = getFilterSettingsByNoScopes(settings);
|
|
32
31
|
}
|
|
32
|
+
settings = (0, mergeDeep_1.mergeDeep)(settings, otherSettings);
|
|
33
33
|
return settings;
|
|
34
34
|
}
|
|
35
35
|
exports.getFilterSettings = getFilterSettings;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Gets the number of times that the param value exists into the object array
|
|
3
|
+
* @param array the given array
|
|
4
|
+
* @param param the param of the array object to compare
|
|
5
|
+
* @param value the value of the array object to compare
|
|
6
|
+
* @returns the number of times the parameter value exists
|
|
7
|
+
*/
|
|
8
|
+
export declare function howManyByParam<T = Record<string, unknown>>(array: T[], param: keyof T, value: unknown): number;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.howManyByParam = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Gets the number of times that the param value exists into the object array
|
|
6
|
+
* @param array the given array
|
|
7
|
+
* @param param the param of the array object to compare
|
|
8
|
+
* @param value the value of the array object to compare
|
|
9
|
+
* @returns the number of times the parameter value exists
|
|
10
|
+
*/
|
|
11
|
+
function howManyByParam(array, param, value) {
|
|
12
|
+
let count = 0;
|
|
13
|
+
if (!Array.isArray(array))
|
|
14
|
+
return count;
|
|
15
|
+
for (const i of array) {
|
|
16
|
+
if (i[param] === value)
|
|
17
|
+
count = count + 1;
|
|
18
|
+
}
|
|
19
|
+
return count;
|
|
20
|
+
}
|
|
21
|
+
exports.howManyByParam = howManyByParam;
|
|
@@ -4,5 +4,7 @@ export * from "./flattenDeep";
|
|
|
4
4
|
export * from "./getArrayByProperty";
|
|
5
5
|
export * from "./filterNestedTree";
|
|
6
6
|
export * from "./getFirstIndexFromArray";
|
|
7
|
+
export * from "./getUniqueArray";
|
|
8
|
+
export * from "./howManyByParam";
|
|
7
9
|
export * from "./getLastIndexFromArray";
|
|
8
10
|
export * from "./intersectObjectArrays";
|
|
@@ -20,5 +20,7 @@ __exportStar(require("./flattenDeep"), exports);
|
|
|
20
20
|
__exportStar(require("./getArrayByProperty"), exports);
|
|
21
21
|
__exportStar(require("./filterNestedTree"), exports);
|
|
22
22
|
__exportStar(require("./getFirstIndexFromArray"), exports);
|
|
23
|
+
__exportStar(require("./getUniqueArray"), exports);
|
|
24
|
+
__exportStar(require("./howManyByParam"), exports);
|
|
23
25
|
__exportStar(require("./getLastIndexFromArray"), exports);
|
|
24
26
|
__exportStar(require("./intersectObjectArrays"), exports);
|
|
@@ -2,3 +2,7 @@ export * from "./capitalize";
|
|
|
2
2
|
export * from "./padLeadingZeros";
|
|
3
3
|
export * from "./parseUrl";
|
|
4
4
|
export * from "./camelize";
|
|
5
|
+
export * from "./secureHTML";
|
|
6
|
+
export * from "./strategies/XSSSanitizer";
|
|
7
|
+
export * from "./strategies/XSSEstrictedSanitizer";
|
|
8
|
+
export * from "./urlValidator";
|
|
@@ -18,3 +18,7 @@ __exportStar(require("./capitalize"), exports);
|
|
|
18
18
|
__exportStar(require("./padLeadingZeros"), exports);
|
|
19
19
|
__exportStar(require("./parseUrl"), exports);
|
|
20
20
|
__exportStar(require("./camelize"), exports);
|
|
21
|
+
__exportStar(require("./secureHTML"), exports);
|
|
22
|
+
__exportStar(require("./strategies/XSSSanitizer"), exports);
|
|
23
|
+
__exportStar(require("./strategies/XSSEstrictedSanitizer"), exports);
|
|
24
|
+
__exportStar(require("./urlValidator"), exports);
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { SanitizerStrategy } from "../../interfaces/SatinizerStrategy";
|
|
2
|
+
/**
|
|
3
|
+
* Sanitizes HTML using the provided strategy.
|
|
4
|
+
* @param {string} html - HTML to sanitize.
|
|
5
|
+
* @param {SanitizerStrategy} sanitizer - Sanitization strategy.
|
|
6
|
+
* @returns {string} - Sanitized HTML.
|
|
7
|
+
*/
|
|
8
|
+
export declare const secureHTML: (html: string, sanitizer: SanitizerStrategy) => string;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.secureHTML = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Sanitizes HTML using the provided strategy.
|
|
6
|
+
* @param {string} html - HTML to sanitize.
|
|
7
|
+
* @param {SanitizerStrategy} sanitizer - Sanitization strategy.
|
|
8
|
+
* @returns {string} - Sanitized HTML.
|
|
9
|
+
*/
|
|
10
|
+
const secureHTML = (html, sanitizer) => {
|
|
11
|
+
return sanitizer.sanitize(html);
|
|
12
|
+
};
|
|
13
|
+
exports.secureHTML = secureHTML;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { IFilterXSSOptions } from "xss";
|
|
2
|
+
import { SanitizerStrategy } from "../../../interfaces/SatinizerStrategy";
|
|
3
|
+
export declare class XSSEstrictedSanitizer implements SanitizerStrategy {
|
|
4
|
+
private attributesBlackList;
|
|
5
|
+
private options;
|
|
6
|
+
constructor(options?: IFilterXSSOptions, attributesBlackList?: string[]);
|
|
7
|
+
sanitize(html: string): string;
|
|
8
|
+
}
|