@rh-support/utils 1.0.91-beta.4 → 2.0.1-beta-1
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/lib/cjs/apiUtils.js +10 -24
- package/lib/cjs/appUtils.js +18 -19
- package/lib/cjs/cacheUtils.js +53 -93
- package/lib/cjs/caseUtils.d.ts +24 -0
- package/lib/cjs/caseUtils.d.ts.map +1 -1
- package/lib/cjs/caseUtils.js +141 -15
- package/lib/cjs/csvUtils.js +38 -87
- package/lib/cjs/customElementUtils.js +1 -1
- package/lib/cjs/dateUtils.js +19 -25
- package/lib/cjs/dropdownUtils.js +23 -15
- package/lib/cjs/eventUtils.js +4 -5
- package/lib/cjs/hostNameUtils.js +7 -7
- package/lib/cjs/hydraConfigUtils.js +14 -37
- package/lib/cjs/index.d.ts +1 -0
- package/lib/cjs/index.d.ts.map +1 -1
- package/lib/cjs/index.js +1 -0
- package/lib/cjs/insightRuleInfoUtils.js +7 -7
- package/lib/cjs/lruCacheUtils.js +18 -20
- package/lib/cjs/outlier.js +4 -4
- package/lib/cjs/productsUtils.js +41 -77
- package/lib/cjs/promiseUtils.js +9 -44
- package/lib/cjs/recommendationUtils.js +7 -19
- package/lib/cjs/scrollUtils.js +14 -25
- package/lib/cjs/searchApiUtils.js +12 -20
- package/lib/cjs/sentry.d.ts.map +1 -1
- package/lib/cjs/sentry.js +6 -19
- package/lib/cjs/solrUtils.js +81 -108
- package/lib/cjs/tncUtil.d.ts +16 -0
- package/lib/cjs/tncUtil.d.ts.map +1 -0
- package/lib/cjs/tncUtil.js +39 -0
- package/lib/cjs/translation-helper.js +2 -2
- package/lib/cjs/urlUtils.js +25 -38
- package/lib/cjs/userUtils.js +2 -2
- package/lib/cjs/validatorUtils.d.ts.map +1 -1
- package/lib/cjs/validatorUtils.js +9 -7
- package/lib/esm/caseUtils.d.ts +24 -0
- package/lib/esm/caseUtils.d.ts.map +1 -1
- package/lib/esm/caseUtils.js +123 -0
- package/lib/esm/dropdownUtils.js +15 -5
- package/lib/esm/index.d.ts +1 -0
- package/lib/esm/index.d.ts.map +1 -1
- package/lib/esm/index.js +1 -0
- package/lib/esm/productsUtils.js +3 -3
- package/lib/esm/searchApiUtils.js +1 -1
- package/lib/esm/sentry.d.ts.map +1 -1
- package/lib/esm/tncUtil.d.ts +16 -0
- package/lib/esm/tncUtil.d.ts.map +1 -0
- package/lib/esm/tncUtil.js +31 -0
- package/lib/esm/validatorUtils.d.ts.map +1 -1
- package/lib/esm/validatorUtils.js +2 -0
- package/package.json +14 -11
package/lib/cjs/csvUtils.js
CHANGED
|
@@ -2,65 +2,37 @@
|
|
|
2
2
|
// Most of it is copied from https://github.com/react-csv/react-csv/blob/master/src/core.js
|
|
3
3
|
// except we add the transform a column functionality and also we escape the double quotes
|
|
4
4
|
// for every value so that we dont break the csv
|
|
5
|
-
var __read = (this && this.__read) || function (o, n) {
|
|
6
|
-
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
7
|
-
if (!m) return o;
|
|
8
|
-
var i = m.call(o), r, ar = [], e;
|
|
9
|
-
try {
|
|
10
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
11
|
-
}
|
|
12
|
-
catch (error) { e = { error: error }; }
|
|
13
|
-
finally {
|
|
14
|
-
try {
|
|
15
|
-
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
16
|
-
}
|
|
17
|
-
finally { if (e) throw e.error; }
|
|
18
|
-
}
|
|
19
|
-
return ar;
|
|
20
|
-
};
|
|
21
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from) {
|
|
22
|
-
for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
|
|
23
|
-
to[j] = from[i];
|
|
24
|
-
return to;
|
|
25
|
-
};
|
|
26
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
27
6
|
exports.downloadCSV = exports.buildURI = exports.toCSV = exports.string2csv = exports.jsons2csv = exports.arrays2csv = exports.joiner = exports.elementOrEmpty = exports.getHeaderValue = exports.jsons2arrays = exports.jsonsHeaders = exports.isArrays = exports.isJsons = exports.escapeDoubleQuotes = exports.isSafari = void 0;
|
|
28
7
|
/**
|
|
29
8
|
* Simple safari detection based on user agent test
|
|
30
9
|
*/
|
|
31
|
-
|
|
10
|
+
const isSafari = () => /^((?!chrome|android).)*safari/i.test(navigator.userAgent);
|
|
32
11
|
exports.isSafari = isSafari;
|
|
33
|
-
|
|
12
|
+
const escapeDoubleQuotes = (data) => (data && typeof data === 'string' ? data.replace(/"/g, '""') : data);
|
|
34
13
|
exports.escapeDoubleQuotes = escapeDoubleQuotes;
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
return Array.isArray(array) && array.every(function (row) { return typeof row === 'object' && !(row instanceof Array); });
|
|
38
|
-
};
|
|
14
|
+
const defaultTransformFn = (data) => data;
|
|
15
|
+
const isJsons = (array) => Array.isArray(array) && array.every((row) => typeof row === 'object' && !(row instanceof Array));
|
|
39
16
|
exports.isJsons = isJsons;
|
|
40
|
-
|
|
17
|
+
const isArrays = (array) => Array.isArray(array) && array.every((row) => Array.isArray(row));
|
|
41
18
|
exports.isArrays = isArrays;
|
|
42
|
-
|
|
43
|
-
return Array.from(array.map(function (json) { return Object.keys(json); }).reduce(function (a, b) { return new Set(__spreadArray(__spreadArray([], __read(a)), __read(b))); }, []));
|
|
44
|
-
};
|
|
19
|
+
const jsonsHeaders = (array) => Array.from(array.map((json) => Object.keys(json)).reduce((a, b) => new Set([...a, ...b]), []));
|
|
45
20
|
exports.jsonsHeaders = jsonsHeaders;
|
|
46
|
-
|
|
21
|
+
const jsons2arrays = (jsons, headers) => {
|
|
47
22
|
headers = headers || exports.jsonsHeaders(jsons);
|
|
48
23
|
// allow headers to have custom labels, defaulting to having the header data key be the label
|
|
49
|
-
|
|
50
|
-
|
|
24
|
+
let headerLabels = headers;
|
|
25
|
+
let headerKeys = headers;
|
|
51
26
|
if (exports.isJsons(headers)) {
|
|
52
|
-
headerLabels = headers.map(
|
|
53
|
-
headerKeys = headers.map(
|
|
27
|
+
headerLabels = headers.map((header) => header.label);
|
|
28
|
+
headerKeys = headers.map((header) => ({ key: header['key'], transformFn: header['transform'] }));
|
|
54
29
|
}
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
});
|
|
58
|
-
return __spreadArray([headerLabels], __read(data));
|
|
30
|
+
const data = jsons.map((object) => headerKeys.map((header) => exports.getHeaderValue(header.key, object, header.transformFn)));
|
|
31
|
+
return [headerLabels, ...data];
|
|
59
32
|
};
|
|
60
33
|
exports.jsons2arrays = jsons2arrays;
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
var foundValue = property
|
|
34
|
+
const getHeaderValue = (property, obj, transformFn = defaultTransformFn) => {
|
|
35
|
+
const foundValue = property
|
|
64
36
|
.replace(/\[([^\]]+)]/g, '.$1')
|
|
65
37
|
.split('.')
|
|
66
38
|
.reduce(function (o, p, i, arr) {
|
|
@@ -80,73 +52,52 @@ var getHeaderValue = function (property, obj, transformFn) {
|
|
|
80
52
|
: transformFn(foundValue);
|
|
81
53
|
};
|
|
82
54
|
exports.getHeaderValue = getHeaderValue;
|
|
83
|
-
|
|
55
|
+
const elementOrEmpty = (element) => (element || element === 0 ? element : '');
|
|
84
56
|
exports.elementOrEmpty = elementOrEmpty;
|
|
85
|
-
|
|
86
|
-
if (separator === void 0) { separator = ','; }
|
|
87
|
-
if (enclosingCharacter === void 0) { enclosingCharacter = '"'; }
|
|
57
|
+
const joiner = (data, separator = ',', enclosingCharacter = '"') => {
|
|
88
58
|
return data
|
|
89
|
-
.filter(
|
|
90
|
-
.map(
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
})
|
|
96
|
-
.join("\n");
|
|
59
|
+
.filter((e) => e)
|
|
60
|
+
.map((row) => row
|
|
61
|
+
.map((element) => exports.elementOrEmpty(element))
|
|
62
|
+
.map((column) => `${enclosingCharacter}${column}${enclosingCharacter}`)
|
|
63
|
+
.join(separator))
|
|
64
|
+
.join(`\n`);
|
|
97
65
|
};
|
|
98
66
|
exports.joiner = joiner;
|
|
99
|
-
|
|
100
|
-
return exports.joiner(headers ? __spreadArray([headers], __read(data)) : data, separator, enclosingCharacter);
|
|
101
|
-
};
|
|
67
|
+
const arrays2csv = (data, headers, separator, enclosingCharacter) => exports.joiner(headers ? [headers, ...data] : data, separator, enclosingCharacter);
|
|
102
68
|
exports.arrays2csv = arrays2csv;
|
|
103
|
-
|
|
104
|
-
return exports.joiner(exports.jsons2arrays(data, headers), separator, enclosingCharacter);
|
|
105
|
-
};
|
|
69
|
+
const jsons2csv = (data, headers, separator, enclosingCharacter) => exports.joiner(exports.jsons2arrays(data, headers), separator, enclosingCharacter);
|
|
106
70
|
exports.jsons2csv = jsons2csv;
|
|
107
|
-
|
|
108
|
-
if (separator === void 0) { separator = ','; }
|
|
109
|
-
if (enclosingCharacter === void 0) { enclosingCharacter = '"'; }
|
|
110
|
-
return headers ? headers.join(separator) + "\n" + data : data;
|
|
111
|
-
};
|
|
71
|
+
const string2csv = (data, headers, separator = ',', enclosingCharacter = '"') => headers ? `${headers.join(separator)}\n${data}` : data;
|
|
112
72
|
exports.string2csv = string2csv;
|
|
113
|
-
|
|
114
|
-
if (separator === void 0) { separator = ','; }
|
|
115
|
-
if (enclosingCharacter === void 0) { enclosingCharacter = '"'; }
|
|
73
|
+
const toCSV = (data, headers, separator = ',', enclosingCharacter = '"') => {
|
|
116
74
|
if (exports.isJsons(data))
|
|
117
75
|
return exports.jsons2csv(data, headers, separator, enclosingCharacter);
|
|
118
76
|
if (exports.isArrays(data))
|
|
119
77
|
return exports.arrays2csv(data, headers, separator, enclosingCharacter);
|
|
120
78
|
if (typeof data === 'string')
|
|
121
79
|
return exports.string2csv(data, headers, separator);
|
|
122
|
-
throw new TypeError(
|
|
80
|
+
throw new TypeError(`Data should be a "String", "Array of arrays" OR "Array of objects" `);
|
|
123
81
|
};
|
|
124
82
|
exports.toCSV = toCSV;
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
var blob = new Blob([uFEFF ? '\uFEFF' : '', csv], { type: type });
|
|
132
|
-
var dataURI = "data:" + type + ";charset=utf-8," + (uFEFF ? '\uFEFF' : '') + csv;
|
|
133
|
-
var URL = window.URL || window.webkitURL;
|
|
83
|
+
const buildURI = (data, headers, uFEFF = true, separator = ',', enclosingCharacter = '"') => {
|
|
84
|
+
const csv = exports.toCSV(data, headers, separator, enclosingCharacter);
|
|
85
|
+
const type = exports.isSafari() ? 'application/csv' : 'text/csv';
|
|
86
|
+
const blob = new Blob([uFEFF ? '\uFEFF' : '', csv], { type });
|
|
87
|
+
const dataURI = `data:${type};charset=utf-8,${uFEFF ? '\uFEFF' : ''}${csv}`;
|
|
88
|
+
const URL = window.URL || window.webkitURL;
|
|
134
89
|
return typeof URL.createObjectURL === 'undefined' ? dataURI : URL.createObjectURL(blob);
|
|
135
90
|
};
|
|
136
91
|
exports.buildURI = buildURI;
|
|
137
|
-
|
|
138
|
-
if (fileName === void 0) { fileName = 'csvGenerator'; }
|
|
139
|
-
if (uFEFF === void 0) { uFEFF = true; }
|
|
140
|
-
if (separator === void 0) { separator = ','; }
|
|
141
|
-
if (enclosingCharacter === void 0) { enclosingCharacter = '"'; }
|
|
92
|
+
const downloadCSV = (data, headers, fileName = 'csvGenerator', uFEFF = true, separator = ',', enclosingCharacter = '"') => {
|
|
142
93
|
// If this browser is IE 11, it does not support the `download` attribute
|
|
143
94
|
if (window.navigator.msSaveOrOpenBlob) {
|
|
144
|
-
|
|
95
|
+
let blob = new Blob([uFEFF ? '\uFEFF' : '', exports.toCSV(data, headers, separator, enclosingCharacter)]);
|
|
145
96
|
window.navigator.msSaveBlob(blob, fileName);
|
|
146
97
|
}
|
|
147
98
|
else {
|
|
148
|
-
|
|
149
|
-
|
|
99
|
+
const uri = exports.buildURI(data, headers);
|
|
100
|
+
const element = document.createElement('a');
|
|
150
101
|
element.setAttribute('href', uri);
|
|
151
102
|
element.setAttribute('target', '_self');
|
|
152
103
|
element.setAttribute('download', fileName);
|
|
@@ -14,7 +14,7 @@ var CustomElements;
|
|
|
14
14
|
* the pfelement does not get defined twice.
|
|
15
15
|
*/
|
|
16
16
|
function requireCustomElement(elements) {
|
|
17
|
-
elements.forEach(
|
|
17
|
+
elements.forEach((elementObj) => {
|
|
18
18
|
if (window.customElements.get(elementObj.element) === undefined) {
|
|
19
19
|
elementObj.requireCb();
|
|
20
20
|
}
|
package/lib/cjs/dateUtils.js
CHANGED
|
@@ -4,10 +4,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.addDaysToDate = exports.isFutureDate = exports.isCurrentDateSameAsOrBeforeDate = exports.getPastUTCDateFromNow = exports.getTimezoneOffsetFromTZName = exports.isoDate = exports.formatDateTime = exports.formatDate = void 0;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
if (locale === void 0) { locale = 'en-us'; }
|
|
10
|
-
if (format === void 0) { format = { month: 'short', day: 'numeric', year: 'numeric' }; }
|
|
7
|
+
const moment_timezone_1 = __importDefault(require("moment-timezone"));
|
|
8
|
+
const formatDate = (date, locale = 'en-us', format = { month: 'short', day: 'numeric', year: 'numeric' }) => {
|
|
11
9
|
if (!date) {
|
|
12
10
|
return '';
|
|
13
11
|
}
|
|
@@ -17,46 +15,42 @@ var formatDate = function (date, locale, format) {
|
|
|
17
15
|
return new Intl.DateTimeFormat(locale, format).format(date);
|
|
18
16
|
};
|
|
19
17
|
exports.formatDate = formatDate;
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
timeZoneName: 'short',
|
|
31
|
-
}; }
|
|
18
|
+
const formatDateTime = (date, locale = 'en-us', format = {
|
|
19
|
+
weekday: 'short',
|
|
20
|
+
month: 'short',
|
|
21
|
+
day: 'numeric',
|
|
22
|
+
year: 'numeric',
|
|
23
|
+
hour: '2-digit',
|
|
24
|
+
minute: '2-digit',
|
|
25
|
+
second: '2-digit',
|
|
26
|
+
timeZoneName: 'short',
|
|
27
|
+
}) => {
|
|
32
28
|
if (!date) {
|
|
33
29
|
return '';
|
|
34
30
|
}
|
|
35
31
|
return exports.formatDate(date, locale, format);
|
|
36
32
|
};
|
|
37
33
|
exports.formatDateTime = formatDateTime;
|
|
38
|
-
|
|
34
|
+
const isoDate = (date) => new Date(date).toString();
|
|
39
35
|
exports.isoDate = isoDate;
|
|
40
|
-
|
|
36
|
+
const getTimezoneOffsetFromTZName = (tzName) => {
|
|
41
37
|
return moment_timezone_1.default().tz(tzName).format('Z');
|
|
42
38
|
};
|
|
43
39
|
exports.getTimezoneOffsetFromTZName = getTimezoneOffsetFromTZName;
|
|
44
|
-
|
|
40
|
+
const getPastUTCDateFromNow = (pastDays) => {
|
|
45
41
|
return moment_timezone_1.default().subtract(pastDays, 'days').utc().format();
|
|
46
42
|
};
|
|
47
43
|
exports.getPastUTCDateFromNow = getPastUTCDateFromNow;
|
|
48
|
-
|
|
49
|
-
if (granularity === void 0) { granularity = 'day'; }
|
|
44
|
+
const isCurrentDateSameAsOrBeforeDate = (date, granularity = 'day') => {
|
|
50
45
|
return moment_timezone_1.default(moment_timezone_1.default.now()).isSameOrBefore(date, granularity);
|
|
51
46
|
};
|
|
52
47
|
exports.isCurrentDateSameAsOrBeforeDate = isCurrentDateSameAsOrBeforeDate;
|
|
53
|
-
|
|
54
|
-
if (granularity === void 0) { granularity = 'day'; }
|
|
48
|
+
const isFutureDate = (date, granularity = 'day') => {
|
|
55
49
|
return moment_timezone_1.default(date).isAfter(moment_timezone_1.default(), granularity);
|
|
56
50
|
};
|
|
57
51
|
exports.isFutureDate = isFutureDate;
|
|
58
|
-
|
|
59
|
-
|
|
52
|
+
const addDaysToDate = (params) => {
|
|
53
|
+
const { days, date = new Date() } = params;
|
|
60
54
|
return moment_timezone_1.default(date).add(days, 'days');
|
|
61
55
|
};
|
|
62
56
|
exports.addDaysToDate = addDaysToDate;
|
package/lib/cjs/dropdownUtils.js
CHANGED
|
@@ -4,12 +4,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.getDropdownBtnPlaceholder = exports.toOptions = exports.toOption = void 0;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
function toOption(value, config) {
|
|
10
|
-
if (config === void 0) { config = {}; }
|
|
7
|
+
const isFunction_1 = __importDefault(require("lodash/isFunction"));
|
|
8
|
+
const map_1 = __importDefault(require("lodash/map"));
|
|
9
|
+
function toOption(value, config = {}) {
|
|
11
10
|
return (value && {
|
|
12
|
-
value
|
|
11
|
+
value,
|
|
13
12
|
label: ((config === null || config === void 0 ? void 0 : config.labelKey)
|
|
14
13
|
? isFunction_1.default(config === null || config === void 0 ? void 0 : config.labelKey)
|
|
15
14
|
? config === null || config === void 0 ? void 0 : config.labelKey(value)
|
|
@@ -17,20 +16,29 @@ function toOption(value, config) {
|
|
|
17
16
|
: value),
|
|
18
17
|
disabled: ((config === null || config === void 0 ? void 0 : config.disabledKey) ? value[config === null || config === void 0 ? void 0 : config.disabledKey] : false),
|
|
19
18
|
className: (config === null || config === void 0 ? void 0 : config.classNameFn) ? config === null || config === void 0 ? void 0 : config.classNameFn(value) : '',
|
|
20
|
-
children: ((config === null || config === void 0 ? void 0 : config.childrenKey)
|
|
19
|
+
children: ((config === null || config === void 0 ? void 0 : config.childrenKey)
|
|
20
|
+
? value[config === null || config === void 0 ? void 0 : config.childrenKey]
|
|
21
|
+
: undefined),
|
|
21
22
|
additionalInfo: ((config === null || config === void 0 ? void 0 : config.additionalInfoKey)
|
|
22
23
|
? value[config === null || config === void 0 ? void 0 : config.additionalInfoKey]
|
|
23
24
|
: undefined),
|
|
24
|
-
actionItem: ((config === null || config === void 0 ? void 0 : config.actionItemKey)
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
25
|
+
actionItem: ((config === null || config === void 0 ? void 0 : config.actionItemKey)
|
|
26
|
+
? value[config === null || config === void 0 ? void 0 : config.actionItemKey]
|
|
27
|
+
: undefined),
|
|
28
|
+
isNonActionable: ((config === null || config === void 0 ? void 0 : config.nonActionableItemKey)
|
|
29
|
+
? value[config === null || config === void 0 ? void 0 : config.nonActionableItemKey]
|
|
30
|
+
: false),
|
|
31
|
+
isNotSearchable: ((config === null || config === void 0 ? void 0 : config.nonSearchableItemKey)
|
|
32
|
+
? value[config === null || config === void 0 ? void 0 : config.nonSearchableItemKey]
|
|
33
|
+
: false),
|
|
34
|
+
isNotSelectable: ((config === null || config === void 0 ? void 0 : config.nonSelectableItemKey)
|
|
35
|
+
? value[config === null || config === void 0 ? void 0 : config.nonSelectableItemKey]
|
|
36
|
+
: false),
|
|
28
37
|
});
|
|
29
38
|
}
|
|
30
39
|
exports.toOption = toOption;
|
|
31
|
-
function toOptions(values, config) {
|
|
32
|
-
|
|
33
|
-
return map_1.default(values, function (v) { return toOption(v, config); });
|
|
40
|
+
function toOptions(values, config = {}) {
|
|
41
|
+
return map_1.default(values, (v) => toOption(v, config));
|
|
34
42
|
}
|
|
35
43
|
exports.toOptions = toOptions;
|
|
36
44
|
function getDropdownBtnPlaceholder(btnPlaceholder, selectedValues, type, totalLength, totalLengthString) {
|
|
@@ -38,14 +46,14 @@ function getDropdownBtnPlaceholder(btnPlaceholder, selectedValues, type, totalLe
|
|
|
38
46
|
return btnPlaceholder;
|
|
39
47
|
}
|
|
40
48
|
else if (selectedValues && selectedValues.length === 1) {
|
|
41
|
-
|
|
49
|
+
const selectedItem = selectedValues[0];
|
|
42
50
|
return typeof selectedItem === 'string' ? selectedItem : selectedItem.value;
|
|
43
51
|
}
|
|
44
52
|
else if (selectedValues && totalLength && selectedValues.length === totalLength) {
|
|
45
53
|
return totalLengthString || btnPlaceholder;
|
|
46
54
|
}
|
|
47
55
|
else {
|
|
48
|
-
return selectedValues.length
|
|
56
|
+
return `${selectedValues.length} ${type} selected`;
|
|
49
57
|
}
|
|
50
58
|
}
|
|
51
59
|
exports.getDropdownBtnPlaceholder = getDropdownBtnPlaceholder;
|
package/lib/cjs/eventUtils.js
CHANGED
|
@@ -4,8 +4,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.dtmTrackEvent = exports.pendoTrackEvent = exports.haltEvent = void 0;
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
const hydrajs_1 = require("@cee-eng/hydrajs");
|
|
8
|
+
const isEmpty_1 = __importDefault(require("lodash/isEmpty"));
|
|
9
9
|
function haltEvent(event) {
|
|
10
10
|
if (event) {
|
|
11
11
|
event.stopPropagation();
|
|
@@ -16,9 +16,8 @@ exports.haltEvent = haltEvent;
|
|
|
16
16
|
// https://support.pendo.io/hc/en-us/articles/360032294291-Track-Events-Configuration
|
|
17
17
|
// if event name is not exist in the pendo then it will create
|
|
18
18
|
// new event otherwise it will update existing event.
|
|
19
|
-
function pendoTrackEvent(name, properties) {
|
|
20
|
-
|
|
21
|
-
var pendo = window.pendo;
|
|
19
|
+
function pendoTrackEvent(name, properties = {}) {
|
|
20
|
+
const pendo = window.pendo;
|
|
22
21
|
// log the event for prod and local envirnoment
|
|
23
22
|
if (!isEmpty_1.default(pendo) && (hydrajs_1.Env.getEnvName() === hydrajs_1.Env.EnvNames.PROD || hydrajs_1.Env.isLocalEnv())) {
|
|
24
23
|
pendo.track(name, properties);
|
package/lib/cjs/hostNameUtils.js
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getSFDCSecureSupportCaseLink = exports.getSFDCEnv = exports.APP_HOST_NAMES = void 0;
|
|
4
|
-
|
|
4
|
+
const hydrajs_1 = require("@cee-eng/hydrajs");
|
|
5
5
|
var APP_HOST_NAMES;
|
|
6
6
|
(function (APP_HOST_NAMES) {
|
|
7
7
|
APP_HOST_NAMES["supportHubHostName"] = "supportHubHostName";
|
|
8
8
|
})(APP_HOST_NAMES || (APP_HOST_NAMES = {}));
|
|
9
9
|
exports.APP_HOST_NAMES = APP_HOST_NAMES;
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
const getSFDCEnv = () => {
|
|
11
|
+
const env = hydrajs_1.Env.getEnvName();
|
|
12
12
|
// Prod HostName
|
|
13
|
-
|
|
13
|
+
let hostName = 'gss.my.salesforce.com';
|
|
14
14
|
switch (env) {
|
|
15
15
|
case hydrajs_1.Env.EnvNames.QA:
|
|
16
16
|
hostName = 'gss--qa.cs53.my.salesforce.com';
|
|
@@ -28,8 +28,8 @@ var getSFDCEnv = function () {
|
|
|
28
28
|
return hostName;
|
|
29
29
|
};
|
|
30
30
|
exports.getSFDCEnv = getSFDCEnv;
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
return
|
|
31
|
+
const getSFDCSecureSupportCaseLink = (caseNumber) => {
|
|
32
|
+
const hostName = getSFDCEnv();
|
|
33
|
+
return `https://${hostName}/apex/Support#/cases/${caseNumber}`;
|
|
34
34
|
};
|
|
35
35
|
exports.getSFDCSecureSupportCaseLink = getSFDCSecureSupportCaseLink;
|
|
@@ -1,35 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __read = (this && this.__read) || function (o, n) {
|
|
3
|
-
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
4
|
-
if (!m) return o;
|
|
5
|
-
var i = m.call(o), r, ar = [], e;
|
|
6
|
-
try {
|
|
7
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
8
|
-
}
|
|
9
|
-
catch (error) { e = { error: error }; }
|
|
10
|
-
finally {
|
|
11
|
-
try {
|
|
12
|
-
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
13
|
-
}
|
|
14
|
-
finally { if (e) throw e.error; }
|
|
15
|
-
}
|
|
16
|
-
return ar;
|
|
17
|
-
};
|
|
18
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from) {
|
|
19
|
-
for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
|
|
20
|
-
to[j] = from[i];
|
|
21
|
-
return to;
|
|
22
|
-
};
|
|
23
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
24
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
25
4
|
};
|
|
26
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
27
6
|
exports.getFieldInParts = exports.getConfigField = exports.PCM_CONFIG_FIELD_TYPE = void 0;
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
7
|
+
const concat_1 = __importDefault(require("lodash/concat"));
|
|
8
|
+
const map_1 = __importDefault(require("lodash/map"));
|
|
9
|
+
const merge_1 = __importDefault(require("lodash/merge"));
|
|
10
|
+
const reduce_1 = __importDefault(require("lodash/reduce"));
|
|
11
|
+
const startsWith_1 = __importDefault(require("lodash/startsWith"));
|
|
33
12
|
var PCM_CONFIG_FIELD_TYPE;
|
|
34
13
|
(function (PCM_CONFIG_FIELD_TYPE) {
|
|
35
14
|
PCM_CONFIG_FIELD_TYPE["JSON"] = "JSON";
|
|
@@ -38,10 +17,9 @@ var PCM_CONFIG_FIELD_TYPE;
|
|
|
38
17
|
PCM_CONFIG_FIELD_TYPE["FEATURE_FLAG"] = "FEATURE-FLAG";
|
|
39
18
|
PCM_CONFIG_FIELD_TYPE["STRING_COMMA_SEPERATED"] = "STRING-COMMA-SEPERATED";
|
|
40
19
|
})(PCM_CONFIG_FIELD_TYPE = exports.PCM_CONFIG_FIELD_TYPE || (exports.PCM_CONFIG_FIELD_TYPE = {}));
|
|
41
|
-
function getConfigField(config, fieldName, fieldType) {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
return v.fieldName.startsWith(fieldName) ? __spreadArray(__spreadArray([], __read(result)), [v.fieldValue]) : result;
|
|
20
|
+
function getConfigField(config, fieldName, fieldType = null) {
|
|
21
|
+
let values = reduce_1.default(config, (result, v) => {
|
|
22
|
+
return v.fieldName.startsWith(fieldName) ? [...result, v.fieldValue] : result;
|
|
45
23
|
}, []);
|
|
46
24
|
if (fieldType && fieldType === PCM_CONFIG_FIELD_TYPE.FEATURE_FLAG) {
|
|
47
25
|
return values.length === 0 ? false : Boolean(parseInt(values[0]));
|
|
@@ -51,7 +29,7 @@ function getConfigField(config, fieldName, fieldType) {
|
|
|
51
29
|
if (!fieldType)
|
|
52
30
|
return values;
|
|
53
31
|
try {
|
|
54
|
-
|
|
32
|
+
const parsed = values.map((value) => JSON.parse(value));
|
|
55
33
|
if (fieldType === PCM_CONFIG_FIELD_TYPE.JSON)
|
|
56
34
|
return parsed;
|
|
57
35
|
if (fieldType === PCM_CONFIG_FIELD_TYPE.JSON_ARRAY)
|
|
@@ -64,10 +42,9 @@ function getConfigField(config, fieldName, fieldType) {
|
|
|
64
42
|
}
|
|
65
43
|
}
|
|
66
44
|
exports.getConfigField = getConfigField;
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
return startsWith_1.default(v.fieldName, fieldName) ? __spreadArray(__spreadArray([], __read(result)), [v.fieldValue]) : result;
|
|
45
|
+
const getFieldInParts = (config, fieldName, fieldType = null) => {
|
|
46
|
+
const values = reduce_1.default(config, (result, v) => {
|
|
47
|
+
return startsWith_1.default(v.fieldName, fieldName) ? [...result, v.fieldValue] : result;
|
|
71
48
|
}, []);
|
|
72
49
|
if (values.length === 0) {
|
|
73
50
|
return null;
|
|
@@ -77,11 +54,11 @@ var getFieldInParts = function (config, fieldName, fieldType) {
|
|
|
77
54
|
}
|
|
78
55
|
try {
|
|
79
56
|
if (fieldType === 'STRING-COMMA-SEPERATED') {
|
|
80
|
-
return reduce_1.default(values,
|
|
57
|
+
return reduce_1.default(values, (acc, value) => {
|
|
81
58
|
return acc.concat(value.split(','));
|
|
82
59
|
}, []);
|
|
83
60
|
}
|
|
84
|
-
|
|
61
|
+
const parsed = map_1.default(values, JSON.parse);
|
|
85
62
|
if (fieldType === 'JSON') {
|
|
86
63
|
return parsed;
|
|
87
64
|
}
|
package/lib/cjs/index.d.ts
CHANGED
package/lib/cjs/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,yBAAyB,CAAC;AACxC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,gCAAgC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,yBAAyB,CAAC;AACxC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,gCAAgC,CAAC;AAC/C,cAAc,WAAW,CAAC"}
|
package/lib/cjs/index.js
CHANGED
|
@@ -4,23 +4,23 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.parseDotTemplate = exports.getRuleReasonHtml = void 0;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
const ui_toolkit_1 = require("@cee-eng/ui-toolkit");
|
|
8
|
+
const doT_1 = __importDefault(require("dot/doT"));
|
|
9
|
+
const assign_1 = __importDefault(require("lodash/assign"));
|
|
10
10
|
doT_1.default.templateSettings = assign_1.default({}, doT_1.default.templateSettings, {
|
|
11
11
|
varname: 'pydata',
|
|
12
12
|
strip: false,
|
|
13
13
|
});
|
|
14
14
|
function getRuleReasonHtml(ruleReason, reportDetails) {
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
const resultText = parseDotTemplate(ruleReason, reportDetails);
|
|
16
|
+
const html = ui_toolkit_1.markdownToHTML(resultText);
|
|
17
17
|
return html;
|
|
18
18
|
}
|
|
19
19
|
exports.getRuleReasonHtml = getRuleReasonHtml;
|
|
20
20
|
function parseDotTemplate(dotString, reportDetails) {
|
|
21
|
-
|
|
21
|
+
let parsedDotString = '';
|
|
22
22
|
try {
|
|
23
|
-
|
|
23
|
+
const tempFn = doT_1.default.template(dotString);
|
|
24
24
|
parsedDotString = tempFn(reportDetails);
|
|
25
25
|
}
|
|
26
26
|
catch (e) {
|
package/lib/cjs/lruCacheUtils.js
CHANGED
|
@@ -1,22 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.LRUCache = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
if (max === void 0) { max = 10; }
|
|
4
|
+
class LRUCache {
|
|
5
|
+
constructor(max = 10) {
|
|
7
6
|
this.max = max;
|
|
8
7
|
this.cache = new Map();
|
|
9
8
|
}
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
get(key) {
|
|
10
|
+
let item = this.cache.get(key);
|
|
12
11
|
if (item) {
|
|
13
12
|
// refresh key
|
|
14
13
|
this.cache.delete(key);
|
|
15
14
|
this.cache.set(key, item);
|
|
16
15
|
}
|
|
17
16
|
return item;
|
|
18
|
-
}
|
|
19
|
-
|
|
17
|
+
}
|
|
18
|
+
set(key, val) {
|
|
20
19
|
// refresh key
|
|
21
20
|
if (this.cache.has(key))
|
|
22
21
|
this.cache.delete(key);
|
|
@@ -24,24 +23,23 @@ var LRUCache = /** @class */ (function () {
|
|
|
24
23
|
else if (this.cache.size === this.max)
|
|
25
24
|
this.cache.delete(this.first());
|
|
26
25
|
this.cache.set(key, val);
|
|
27
|
-
}
|
|
28
|
-
|
|
26
|
+
}
|
|
27
|
+
has(key) {
|
|
29
28
|
return this.cache.has(key);
|
|
30
|
-
}
|
|
31
|
-
|
|
29
|
+
}
|
|
30
|
+
size() {
|
|
32
31
|
return this.cache.size;
|
|
33
|
-
}
|
|
34
|
-
|
|
32
|
+
}
|
|
33
|
+
first() {
|
|
35
34
|
return this.cache.keys().next().value;
|
|
36
|
-
}
|
|
37
|
-
|
|
35
|
+
}
|
|
36
|
+
peek(key) {
|
|
38
37
|
if (this.cache.has(key)) {
|
|
39
38
|
return this.cache.get(key);
|
|
40
39
|
}
|
|
41
|
-
}
|
|
42
|
-
|
|
40
|
+
}
|
|
41
|
+
clear() {
|
|
43
42
|
this.cache.clear();
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
}());
|
|
43
|
+
}
|
|
44
|
+
}
|
|
47
45
|
exports.LRUCache = LRUCache;
|
package/lib/cjs/outlier.js
CHANGED
|
@@ -15,16 +15,16 @@
|
|
|
15
15
|
*/
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
exports.outlier = void 0;
|
|
18
|
-
|
|
18
|
+
const outlier = (array) => {
|
|
19
19
|
// Take array length
|
|
20
|
-
|
|
20
|
+
const arrayLength = array.length;
|
|
21
21
|
// Check if length is smaller than four then return array result as it is
|
|
22
22
|
if (arrayLength < 4) {
|
|
23
23
|
return array;
|
|
24
24
|
}
|
|
25
|
-
|
|
25
|
+
let q1, q3, iqr, upperBoundary, lowerBoundary;
|
|
26
26
|
// Make a copy of array plus sort it in ascending order
|
|
27
|
-
|
|
27
|
+
const sortedArray = array.slice().sort((a, b) => a - b);
|
|
28
28
|
// Find the quartiles range
|
|
29
29
|
// If median is odd adjust the index by minus one
|
|
30
30
|
if (((arrayLength - 1) / 4) % 1 === 0 || (arrayLength / 4) % 1 === 0) {
|