@wavemaker/angular-codegen 11.14.1-1.6289 → 11.14.1-3.6306
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/angular-app/dependency-report.html +1 -1
- package/angular-app/npm-shrinkwrap.json +252 -146
- package/angular-app/package-lock.json +252 -146
- package/angular-app/package.json +5 -5
- package/dependencies/custom-widgets-bundle.cjs.js +1 -1
- package/dependencies/expression-parser.cjs.js +2 -2
- package/dependencies/pipe-provider.cjs.js +416 -104
- package/dependencies/transpilation-web.cjs.js +201 -46
- package/npm-shrinkwrap.json +41 -41
- package/package-lock.json +41 -41
- package/package.json +2 -2
|
@@ -33117,7 +33117,7 @@ function verifySemanticsOfNgModuleDef$1(moduleType, allowDuplicateDeclarationsIn
|
|
|
33117
33117
|
verifySemanticsOfNgModuleImport(modOrStandaloneCmpt, moduleType);
|
|
33118
33118
|
verifySemanticsOfNgModuleDef$1(modOrStandaloneCmpt, false, moduleType);
|
|
33119
33119
|
});
|
|
33120
|
-
const exports = maybeUnwrapFn$1(ngModuleDef.exports);
|
|
33120
|
+
const exports$1 = maybeUnwrapFn$1(ngModuleDef.exports);
|
|
33121
33121
|
declarations.forEach(verifyDeclarationsHaveDefinitions);
|
|
33122
33122
|
declarations.forEach(verifyDirectivesHaveSelector);
|
|
33123
33123
|
declarations.forEach((declarationType) => verifyNotStandalone(declarationType, moduleType));
|
|
@@ -33125,7 +33125,7 @@ function verifySemanticsOfNgModuleDef$1(moduleType, allowDuplicateDeclarationsIn
|
|
|
33125
33125
|
...declarations.map(resolveForwardRef$1),
|
|
33126
33126
|
...flatten$3(imports.map(computeCombinedExports$1)).map(resolveForwardRef$1),
|
|
33127
33127
|
];
|
|
33128
|
-
exports.forEach(verifyExportsAreDeclaredOrReExported);
|
|
33128
|
+
exports$1.forEach(verifyExportsAreDeclaredOrReExported);
|
|
33129
33129
|
declarations.forEach((decl) => verifyDeclarationIsUnique(decl, allowDuplicateDeclarationsInRoot));
|
|
33130
33130
|
const ngModule = getAnnotation$1(moduleType, 'NgModule');
|
|
33131
33131
|
if (ngModule) {
|
|
@@ -81193,7 +81193,7 @@ function verifySemanticsOfNgModuleDef(moduleType, allowDuplicateDeclarationsInRo
|
|
|
81193
81193
|
verifySemanticsOfNgModuleImport(modOrStandaloneCmpt, moduleType);
|
|
81194
81194
|
verifySemanticsOfNgModuleDef(modOrStandaloneCmpt, false, moduleType);
|
|
81195
81195
|
});
|
|
81196
|
-
const exports = maybeUnwrapFn(ngModuleDef.exports);
|
|
81196
|
+
const exports$1 = maybeUnwrapFn(ngModuleDef.exports);
|
|
81197
81197
|
declarations.forEach(verifyDeclarationsHaveDefinitions);
|
|
81198
81198
|
declarations.forEach(verifyDirectivesHaveSelector);
|
|
81199
81199
|
declarations.forEach((declarationType) => verifyNotStandalone(declarationType, moduleType));
|
|
@@ -81201,7 +81201,7 @@ function verifySemanticsOfNgModuleDef(moduleType, allowDuplicateDeclarationsInRo
|
|
|
81201
81201
|
...declarations.map(resolveForwardRef),
|
|
81202
81202
|
...flatten$1(imports.map(computeCombinedExports)).map(resolveForwardRef),
|
|
81203
81203
|
];
|
|
81204
|
-
exports.forEach(verifyExportsAreDeclaredOrReExported);
|
|
81204
|
+
exports$1.forEach(verifyExportsAreDeclaredOrReExported);
|
|
81205
81205
|
declarations.forEach((decl) => verifyDeclarationIsUnique(decl, allowDuplicateDeclarationsInRoot));
|
|
81206
81206
|
const ngModule = getAnnotation(moduleType, 'NgModule');
|
|
81207
81207
|
if (ngModule) {
|
|
@@ -102019,14 +102019,14 @@ function createNgModuleType$1(meta) {
|
|
|
102019
102019
|
if (meta.kind === R3NgModuleMetadataKind$1.Local) {
|
|
102020
102020
|
return new ExpressionType$1$1(meta.type.value);
|
|
102021
102021
|
}
|
|
102022
|
-
const { type: moduleType, declarations, exports, imports, includeImportTypes, publicDeclarationTypes, } = meta;
|
|
102022
|
+
const { type: moduleType, declarations, exports: exports$1, imports, includeImportTypes, publicDeclarationTypes, } = meta;
|
|
102023
102023
|
return new ExpressionType$1$1(importExpr$1(Identifiers$1.NgModuleDeclaration, [
|
|
102024
102024
|
new ExpressionType$1$1(moduleType.type),
|
|
102025
102025
|
publicDeclarationTypes === null
|
|
102026
102026
|
? tupleTypeOf$1(declarations)
|
|
102027
102027
|
: tupleOfTypes$1(publicDeclarationTypes),
|
|
102028
102028
|
includeImportTypes ? tupleTypeOf$1(imports) : NONE_TYPE$1,
|
|
102029
|
-
tupleTypeOf$1(exports),
|
|
102029
|
+
tupleTypeOf$1(exports$1),
|
|
102030
102030
|
]));
|
|
102031
102031
|
}
|
|
102032
102032
|
/**
|
|
@@ -133049,7 +133049,7 @@ var hasRequiredEntities$1;
|
|
|
133049
133049
|
function requireEntities$1 () {
|
|
133050
133050
|
if (hasRequiredEntities$1) return entities$1;
|
|
133051
133051
|
hasRequiredEntities$1 = 1;
|
|
133052
|
-
(function (exports) {
|
|
133052
|
+
(function (exports$1) {
|
|
133053
133053
|
|
|
133054
133054
|
var freeze = requireConventions$1().freeze;
|
|
133055
133055
|
|
|
@@ -133060,7 +133060,7 @@ function requireEntities$1 () {
|
|
|
133060
133060
|
* @see https://www.w3.org/TR/2008/REC-xml-20081126/#sec-predefined-ent W3C XML 1.0
|
|
133061
133061
|
* @see https://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references#Predefined_entities_in_XML Wikipedia
|
|
133062
133062
|
*/
|
|
133063
|
-
exports.XML_ENTITIES = freeze({
|
|
133063
|
+
exports$1.XML_ENTITIES = freeze({
|
|
133064
133064
|
amp: '&',
|
|
133065
133065
|
apos: "'",
|
|
133066
133066
|
gt: '>',
|
|
@@ -133082,7 +133082,7 @@ function requireEntities$1 () {
|
|
|
133082
133082
|
* @see https://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references#Character_entity_references_in_HTML Wikipedia (HTML)
|
|
133083
133083
|
* @see https://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references#Entities_representing_special_characters_in_XHTML Wikpedia (XHTML)
|
|
133084
133084
|
*/
|
|
133085
|
-
exports.HTML_ENTITIES = freeze({
|
|
133085
|
+
exports$1.HTML_ENTITIES = freeze({
|
|
133086
133086
|
Aacute: '\u00C1',
|
|
133087
133087
|
aacute: '\u00E1',
|
|
133088
133088
|
Abreve: '\u0102',
|
|
@@ -135214,7 +135214,7 @@ function requireEntities$1 () {
|
|
|
135214
135214
|
* @deprecated use `HTML_ENTITIES` instead
|
|
135215
135215
|
* @see HTML_ENTITIES
|
|
135216
135216
|
*/
|
|
135217
|
-
exports.entityMap = exports.HTML_ENTITIES;
|
|
135217
|
+
exports$1.entityMap = exports$1.HTML_ENTITIES;
|
|
135218
135218
|
} (entities$1));
|
|
135219
135219
|
return entities$1;
|
|
135220
135220
|
}
|
|
@@ -137022,7 +137022,7 @@ var hasRequiredMoment$1;
|
|
|
137022
137022
|
function requireMoment$1 () {
|
|
137023
137023
|
if (hasRequiredMoment$1) return moment$2.exports;
|
|
137024
137024
|
hasRequiredMoment$1 = 1;
|
|
137025
|
-
(function (module, exports) {
|
|
137025
|
+
(function (module, exports$1) {
|
|
137026
137026
|
(function (global, factory) {
|
|
137027
137027
|
module.exports = factory() ;
|
|
137028
137028
|
}(this, (function () {
|
|
@@ -147299,11 +147299,11 @@ const CURRENCY_INFO = {
|
|
|
147299
147299
|
}
|
|
147300
147300
|
};
|
|
147301
147301
|
|
|
147302
|
-
const $RAF$1
|
|
147302
|
+
const $RAF$1 = window.requestAnimationFrame;
|
|
147303
147303
|
const $RAFQueue$1 = [];
|
|
147304
147304
|
const invokeLater$1 = fn => {
|
|
147305
147305
|
if (!$RAFQueue$1.length) {
|
|
147306
|
-
$RAF$1
|
|
147306
|
+
$RAF$1(() => {
|
|
147307
147307
|
$RAFQueue$1.forEach(f => f());
|
|
147308
147308
|
$RAFQueue$1.length = 0;
|
|
147309
147309
|
});
|
|
@@ -147845,70 +147845,220 @@ const getFnForEventExpr$1 = (expr) => {
|
|
|
147845
147845
|
return fnExecutor$1(expr, ExpressionType$2.Action);
|
|
147846
147846
|
};
|
|
147847
147847
|
|
|
147848
|
+
// Constants
|
|
147849
|
+
const WIDGET_ID_REGEX$1 = /^(widget-[^_]+)/;
|
|
147850
|
+
const WIDGET_PROPERTY_REGEX$1 = /^widget-[^_]+_(.+)$/;
|
|
147851
|
+
const ARRAY_INDEX_PLACEHOLDER$1 = '[$i]';
|
|
147852
|
+
const ARRAY_INDEX_ZERO$1 = '[0]';
|
|
147848
147853
|
const registry$1 = new Map();
|
|
147849
147854
|
const watchIdGenerator$1 = new IDGenerator$1('watch-id-');
|
|
147850
|
-
const FIRST_TIME_WATCH$1 = {};
|
|
147851
|
-
|
|
147855
|
+
const FIRST_TIME_WATCH$1 = Object.freeze({});
|
|
147856
|
+
/**
|
|
147857
|
+
* Extracts widget ID from identifier (e.g., "widget-id23_eventsource" -> "widget-id23")
|
|
147858
|
+
*/
|
|
147859
|
+
const getWidgetId$1 = (identifier) => {
|
|
147860
|
+
if (!identifier || typeof identifier !== 'string') {
|
|
147861
|
+
return null;
|
|
147862
|
+
}
|
|
147863
|
+
const match = identifier.match(WIDGET_ID_REGEX$1);
|
|
147864
|
+
return match ? match[1] : null;
|
|
147865
|
+
};
|
|
147866
|
+
/**
|
|
147867
|
+
* Extracts property name from identifier (e.g., "widget-id23_eventsource" -> "eventsource")
|
|
147868
|
+
*/
|
|
147869
|
+
const getPropertyName$1 = (identifier) => {
|
|
147870
|
+
if (!identifier || typeof identifier !== 'string') {
|
|
147871
|
+
return identifier;
|
|
147872
|
+
}
|
|
147873
|
+
const match = identifier.match(WIDGET_PROPERTY_REGEX$1);
|
|
147874
|
+
return match ? match[1] : identifier;
|
|
147875
|
+
};
|
|
147876
|
+
/**
|
|
147877
|
+
* Array consumer wrapper for array-based expressions
|
|
147878
|
+
*/
|
|
147852
147879
|
const arrayConsumer$1 = (listenerFn, restExpr, newVal, oldVal) => {
|
|
147853
|
-
|
|
147854
|
-
|
|
147855
|
-
formattedData = data.map(function (datum) {
|
|
147856
|
-
return findValueOf$1(datum, restExpr);
|
|
147857
|
-
});
|
|
147858
|
-
// If resulting structure is an array of array, flatten it
|
|
147859
|
-
if (isArray$1(formattedData[0])) {
|
|
147860
|
-
formattedData = flatten$2(formattedData);
|
|
147861
|
-
}
|
|
147862
|
-
listenerFn(formattedData, oldVal);
|
|
147880
|
+
if (!isArray$1(newVal)) {
|
|
147881
|
+
return;
|
|
147863
147882
|
}
|
|
147883
|
+
let formattedData = newVal.map(datum => findValueOf$1(datum, restExpr));
|
|
147884
|
+
// Flatten if result is array of arrays
|
|
147885
|
+
if (isArray$1(formattedData[0])) {
|
|
147886
|
+
formattedData = flatten$2(formattedData);
|
|
147887
|
+
}
|
|
147888
|
+
listenerFn(formattedData, oldVal);
|
|
147864
147889
|
};
|
|
147865
|
-
|
|
147866
|
-
|
|
147867
|
-
|
|
147868
|
-
|
|
147890
|
+
/**
|
|
147891
|
+
* Updates watch info for array expressions
|
|
147892
|
+
*/
|
|
147893
|
+
const getUpdatedWatchInfo$1 = (expr, acceptsArray, listener) => {
|
|
147894
|
+
const regex = /\[\$i\]/g;
|
|
147869
147895
|
if (!acceptsArray) {
|
|
147870
147896
|
return {
|
|
147871
|
-
|
|
147872
|
-
|
|
147897
|
+
expr: expr.replace(regex, ARRAY_INDEX_ZERO$1),
|
|
147898
|
+
listener
|
|
147873
147899
|
};
|
|
147874
147900
|
}
|
|
147875
|
-
|
|
147876
|
-
|
|
147877
|
-
|
|
147878
|
-
|
|
147879
|
-
|
|
147880
|
-
|
|
147901
|
+
const lastIndex = expr.lastIndexOf(ARRAY_INDEX_PLACEHOLDER$1);
|
|
147902
|
+
const baseExpr = expr.substring(0, lastIndex).replace(ARRAY_INDEX_PLACEHOLDER$1, ARRAY_INDEX_ZERO$1);
|
|
147903
|
+
const restExpr = expr.substring(lastIndex + ARRAY_INDEX_PLACEHOLDER$1.length);
|
|
147904
|
+
const arrayConsumerFn = restExpr
|
|
147905
|
+
? arrayConsumer$1.bind(undefined, listener, restExpr)
|
|
147906
|
+
: listener;
|
|
147881
147907
|
return {
|
|
147882
|
-
|
|
147883
|
-
|
|
147908
|
+
expr: baseExpr,
|
|
147909
|
+
listener: arrayConsumerFn
|
|
147884
147910
|
};
|
|
147885
147911
|
};
|
|
147912
|
+
/**
|
|
147913
|
+
* Determines if an expression is static (doesn't need to be watched)
|
|
147914
|
+
*/
|
|
147915
|
+
const STATIC_EXPRESSION_NAMES$1 = [
|
|
147916
|
+
"row.getProperty('investment')",
|
|
147917
|
+
"row.getProperty('factsheetLink')",
|
|
147918
|
+
"row.getProperty('isRebalanceEligible')"
|
|
147919
|
+
];
|
|
147920
|
+
const isStaticExpression$1 = (expr) => {
|
|
147921
|
+
if (typeof expr !== 'string') {
|
|
147922
|
+
return false;
|
|
147923
|
+
}
|
|
147924
|
+
const trimmedExpr = expr.trim();
|
|
147925
|
+
// Expressions that always evaluate to localization strings
|
|
147926
|
+
if (trimmedExpr.includes('appLocale')) {
|
|
147927
|
+
return true;
|
|
147928
|
+
}
|
|
147929
|
+
// Hard-coded static expression names
|
|
147930
|
+
if (STATIC_EXPRESSION_NAMES$1.includes(trimmedExpr)) {
|
|
147931
|
+
return true;
|
|
147932
|
+
}
|
|
147933
|
+
return false;
|
|
147934
|
+
};
|
|
147935
|
+
/**
|
|
147936
|
+
* Gets the scope type from the scope object
|
|
147937
|
+
*/
|
|
147938
|
+
const getScopeType$1 = ($scope) => {
|
|
147939
|
+
if (!$scope) {
|
|
147940
|
+
return null;
|
|
147941
|
+
}
|
|
147942
|
+
if ($scope.pageName)
|
|
147943
|
+
return 'Page';
|
|
147944
|
+
if ($scope.prefabName)
|
|
147945
|
+
return 'Prefab';
|
|
147946
|
+
if ($scope.partialName)
|
|
147947
|
+
return 'Partial';
|
|
147948
|
+
// Check for App scope
|
|
147949
|
+
if ($scope.Variables !== undefined &&
|
|
147950
|
+
$scope.Actions !== undefined &&
|
|
147951
|
+
!$scope.pageName &&
|
|
147952
|
+
!$scope.prefabName &&
|
|
147953
|
+
!$scope.partialName) {
|
|
147954
|
+
return 'App';
|
|
147955
|
+
}
|
|
147956
|
+
if ($scope.constructor?.name === 'AppRef') {
|
|
147957
|
+
return 'App';
|
|
147958
|
+
}
|
|
147959
|
+
return null;
|
|
147960
|
+
};
|
|
147961
|
+
/**
|
|
147962
|
+
* Gets scope name based on scope type
|
|
147963
|
+
*/
|
|
147964
|
+
const getScopeName$1 = ($scope, scopeType) => {
|
|
147965
|
+
if (!scopeType || !$scope) {
|
|
147966
|
+
return null;
|
|
147967
|
+
}
|
|
147968
|
+
switch (scopeType) {
|
|
147969
|
+
case 'Prefab': return $scope.prefabName || null;
|
|
147970
|
+
case 'Partial': return $scope.partialName || null;
|
|
147971
|
+
case 'Page': return $scope.pageName || null;
|
|
147972
|
+
default: return null;
|
|
147973
|
+
}
|
|
147974
|
+
};
|
|
147975
|
+
/**
|
|
147976
|
+
* Main watch function
|
|
147977
|
+
*/
|
|
147886
147978
|
const $watch$1 = (expr, $scope, $locals, listener, identifier = watchIdGenerator$1.nextUid(), doNotClone = false, config = {}, isMuted) => {
|
|
147887
|
-
|
|
147888
|
-
|
|
147979
|
+
// Handle array expressions
|
|
147980
|
+
if (expr.includes(ARRAY_INDEX_PLACEHOLDER$1)) {
|
|
147981
|
+
const watchInfo = getUpdatedWatchInfo$1(expr, config.arrayType || config.isList || false, listener);
|
|
147889
147982
|
expr = watchInfo.expr;
|
|
147890
147983
|
listener = watchInfo.listener;
|
|
147891
147984
|
}
|
|
147985
|
+
// Handle static expressions
|
|
147986
|
+
if (isStaticExpression$1(expr)) {
|
|
147987
|
+
try {
|
|
147988
|
+
const fn = $parseExpr$1(expr);
|
|
147989
|
+
const staticValue = fn($scope, $locals);
|
|
147990
|
+
listener(staticValue, FIRST_TIME_WATCH$1);
|
|
147991
|
+
}
|
|
147992
|
+
catch (e) {
|
|
147993
|
+
console.warn(`Error evaluating static expression '${expr}':`, e);
|
|
147994
|
+
listener(undefined, FIRST_TIME_WATCH$1);
|
|
147995
|
+
}
|
|
147996
|
+
return () => { }; // No-op unsubscribe
|
|
147997
|
+
}
|
|
147892
147998
|
const fn = $parseExpr$1();
|
|
147893
|
-
|
|
147894
|
-
|
|
147999
|
+
const scopeType = getScopeType$1($scope);
|
|
148000
|
+
const scopeName = getScopeName$1($scope, scopeType);
|
|
148001
|
+
const watchInfo = {
|
|
148002
|
+
fn: fn.bind(null, $scope, $locals),
|
|
147895
148003
|
listener,
|
|
147896
148004
|
expr,
|
|
147897
148005
|
last: FIRST_TIME_WATCH$1,
|
|
147898
148006
|
doNotClone,
|
|
147899
|
-
isMuted
|
|
147900
|
-
|
|
148007
|
+
isMuted,
|
|
148008
|
+
scopeType,
|
|
148009
|
+
scopeName
|
|
148010
|
+
};
|
|
148011
|
+
// Store in registry
|
|
148012
|
+
const widgetId = getWidgetId$1(identifier);
|
|
148013
|
+
if (widgetId) {
|
|
148014
|
+
const propertyName = getPropertyName$1(identifier);
|
|
148015
|
+
if (!registry$1.has(widgetId)) {
|
|
148016
|
+
registry$1.set(widgetId, {});
|
|
148017
|
+
}
|
|
148018
|
+
const widgetGroup = registry$1.get(widgetId);
|
|
148019
|
+
widgetGroup[propertyName] = watchInfo;
|
|
148020
|
+
}
|
|
148021
|
+
else {
|
|
148022
|
+
registry$1.set(identifier, watchInfo);
|
|
148023
|
+
}
|
|
147901
148024
|
return () => $unwatch$1(identifier);
|
|
147902
148025
|
};
|
|
147903
|
-
|
|
147904
|
-
|
|
148026
|
+
/**
|
|
148027
|
+
* Unwatches a single identifier
|
|
148028
|
+
*/
|
|
148029
|
+
const $unwatch$1 = (identifier) => {
|
|
148030
|
+
const widgetId = getWidgetId$1(identifier);
|
|
148031
|
+
if (widgetId) {
|
|
148032
|
+
const propertyName = getPropertyName$1(identifier);
|
|
148033
|
+
const widgetGroup = registry$1.get(widgetId);
|
|
148034
|
+
if (widgetGroup && typeof widgetGroup === 'object' && !widgetGroup.fn) {
|
|
148035
|
+
const watchInfo = widgetGroup[propertyName];
|
|
148036
|
+
if (watchInfo) {
|
|
148037
|
+
delete widgetGroup[propertyName];
|
|
148038
|
+
// Clean up empty widget groups
|
|
148039
|
+
if (Object.keys(widgetGroup).length === 0) {
|
|
148040
|
+
registry$1.delete(widgetId);
|
|
148041
|
+
}
|
|
148042
|
+
return true;
|
|
148043
|
+
}
|
|
148044
|
+
}
|
|
148045
|
+
}
|
|
148046
|
+
// Fallback to direct lookup
|
|
148047
|
+
if (registry$1.has(identifier)) {
|
|
148048
|
+
registry$1.delete(identifier);
|
|
148049
|
+
return true;
|
|
148050
|
+
}
|
|
148051
|
+
return false;
|
|
148052
|
+
};
|
|
147905
148053
|
const $appDigest$1 = (() => {
|
|
147906
|
-
return (force) => {
|
|
148054
|
+
return (force = false) => {
|
|
147907
148055
|
{
|
|
147908
148056
|
return;
|
|
147909
148057
|
}
|
|
147910
148058
|
};
|
|
147911
148059
|
})();
|
|
148060
|
+
// Export registry for debugging
|
|
148061
|
+
// (window as any).watchRegistry = registry;
|
|
147912
148062
|
|
|
147913
148063
|
var ComponentType$1;
|
|
147914
148064
|
(function (ComponentType) {
|
|
@@ -147964,8 +148114,8 @@ var Operation$1;
|
|
|
147964
148114
|
const DataSource$1 = {
|
|
147965
148115
|
Operation: Operation$1
|
|
147966
148116
|
};
|
|
147967
|
-
class App {
|
|
147968
|
-
}
|
|
148117
|
+
let App$1 = class App {
|
|
148118
|
+
};
|
|
147969
148119
|
let AbstractI18nService$1 = class AbstractI18nService {
|
|
147970
148120
|
};
|
|
147971
148121
|
|
|
@@ -147983,6 +148133,7 @@ const REGEX$1 = {
|
|
|
147983
148133
|
SUPPORTED_AUDIO_FORMAT: /\.(mp3|ogg|webm|wma|3gp|wav|m4a)$/i,
|
|
147984
148134
|
SUPPORTED_VIDEO_FORMAT: /\.(mp4|ogg|webm|wmv|mpeg|mpg|avi|mov)$/i,
|
|
147985
148135
|
VALID_WEB_URL: /^(http[s]?:\/\/)(www\.){0,1}[a-zA-Z0-9=:?\/\.\-]+(\.[a-zA-Z]{2,5}[\.]{0,1})?/,
|
|
148136
|
+
VALID_IMAGE_URL: /^(https?|blob|data|file|ftp):/i,
|
|
147986
148137
|
REPLACE_PATTERN: /\$\{([^\}]+)\}/g,
|
|
147987
148138
|
DATA_URL: /^\s*data:([a-z]+\/[a-z0-9-+.]+(;[a-z-]+=[a-z0-9-]+)?)?(;base64)?,([a-z0-9!$&',()*+;=\-._~:@\/?%\s]*)\s*$/i,
|
|
147988
148139
|
ISO_DATE_FORMAT: /(\d{4}-\d{2}-\d{2})T(\d{2}:\d{2}:\d{2})(\.\d+)?([+-]\d{2}:?\d{2}|Z)$/
|
|
@@ -148205,6 +148356,9 @@ const isVideoFile$1 = (fileName) => {
|
|
|
148205
148356
|
const isValidWebURL$1 = (url) => {
|
|
148206
148357
|
return (REGEX$1.VALID_WEB_URL).test(url);
|
|
148207
148358
|
};
|
|
148359
|
+
const isValidImageUrl$1 = (url) => {
|
|
148360
|
+
return (REGEX$1.VALID_IMAGE_URL).test(url?.trim());
|
|
148361
|
+
};
|
|
148208
148362
|
/*This function returns the url to the resource after checking the validity of url*/
|
|
148209
148363
|
const getResourceURL$1 = (urlString) => {
|
|
148210
148364
|
return urlString;
|
|
@@ -149458,6 +149612,7 @@ var Utils$1 = /*#__PURE__*/Object.freeze({
|
|
|
149458
149612
|
isPageable: isPageable$1,
|
|
149459
149613
|
isSafari: isSafari$1,
|
|
149460
149614
|
isTablet: isTablet$1,
|
|
149615
|
+
isValidImageUrl: isValidImageUrl$1,
|
|
149461
149616
|
isValidWebURL: isValidWebURL$1,
|
|
149462
149617
|
isVideoFile: isVideoFile$1,
|
|
149463
149618
|
loadScript: loadScript$1,
|
|
@@ -150692,14 +150847,14 @@ class ToDatePipe extends WmPipe {
|
|
|
150692
150847
|
}
|
|
150693
150848
|
return this.returnFn('', arguments, this.app.Variables);
|
|
150694
150849
|
}
|
|
150695
|
-
constructor(datePipe, i18nService, customPipeManager) {
|
|
150850
|
+
constructor(datePipe, i18nService, app, customPipeManager) {
|
|
150696
150851
|
super('toDate', customPipeManager);
|
|
150697
150852
|
this.datePipe = datePipe;
|
|
150698
150853
|
this.i18nService = i18nService;
|
|
150854
|
+
this.app = app;
|
|
150699
150855
|
this.customPipeManager = customPipeManager;
|
|
150700
|
-
this.app = inject(App);
|
|
150701
150856
|
}
|
|
150702
|
-
static { this.ɵfac = function ToDatePipe_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ToDatePipe)(ɵɵdirectiveInject(DatePipe, 16), ɵɵdirectiveInject(AbstractI18nService$1, 16), ɵɵdirectiveInject(CustomPipeManager$1, 16)); }; }
|
|
150857
|
+
static { this.ɵfac = function ToDatePipe_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ToDatePipe)(ɵɵdirectiveInject(DatePipe, 16), ɵɵdirectiveInject(AbstractI18nService$1, 16), ɵɵdirectiveInject(App$1, 16), ɵɵdirectiveInject(CustomPipeManager$1, 16)); }; }
|
|
150703
150858
|
static { this.ɵpipe = /*@__PURE__*/ ɵɵdefinePipe({ name: "toDate", type: ToDatePipe, pure: true, standalone: true }); }
|
|
150704
150859
|
}
|
|
150705
150860
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(ToDatePipe, [{
|
|
@@ -150708,7 +150863,7 @@ class ToDatePipe extends WmPipe {
|
|
|
150708
150863
|
standalone: true,
|
|
150709
150864
|
name: 'toDate'
|
|
150710
150865
|
}]
|
|
150711
|
-
}], () => [{ type: DatePipe }, { type: AbstractI18nService$1 }, { type: CustomPipeManager$1 }], null); })();
|
|
150866
|
+
}], () => [{ type: DatePipe }, { type: AbstractI18nService$1 }, { type: App$1 }, { type: CustomPipeManager$1 }], null); })();
|
|
150712
150867
|
class ToNumberPipe {
|
|
150713
150868
|
transform(data, fracSize) {
|
|
150714
150869
|
if (fracSize && !String(fracSize).match(/^(\d+)?\.((\d+)(-(\d+))?)?$/)) {
|
|
@@ -150796,9 +150951,9 @@ class SuffixPipe {
|
|
|
150796
150951
|
* Custom pipe: It is work as interceptor between the user custom pipe function and angular pipe
|
|
150797
150952
|
*/
|
|
150798
150953
|
class CustomPipe {
|
|
150799
|
-
constructor(custmeUserPipe) {
|
|
150954
|
+
constructor(app, custmeUserPipe) {
|
|
150955
|
+
this.app = app;
|
|
150800
150956
|
this.custmeUserPipe = custmeUserPipe;
|
|
150801
|
-
this.app = inject(App);
|
|
150802
150957
|
}
|
|
150803
150958
|
transform(data, pipename) {
|
|
150804
150959
|
let argumentArr = [];
|
|
@@ -150818,7 +150973,7 @@ class CustomPipe {
|
|
|
150818
150973
|
return data;
|
|
150819
150974
|
}
|
|
150820
150975
|
}
|
|
150821
|
-
static { this.ɵfac = function CustomPipe_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CustomPipe)(ɵɵdirectiveInject(CustomPipeManager$1, 16)); }; }
|
|
150976
|
+
static { this.ɵfac = function CustomPipe_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CustomPipe)(ɵɵdirectiveInject(App$1, 16), ɵɵdirectiveInject(CustomPipeManager$1, 16)); }; }
|
|
150822
150977
|
static { this.ɵpipe = /*@__PURE__*/ ɵɵdefinePipe({ name: "custom", type: CustomPipe, pure: true, standalone: true }); }
|
|
150823
150978
|
}
|
|
150824
150979
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(CustomPipe, [{
|
|
@@ -150827,7 +150982,7 @@ class CustomPipe {
|
|
|
150827
150982
|
standalone: true,
|
|
150828
150983
|
name: 'custom'
|
|
150829
150984
|
}]
|
|
150830
|
-
}], () => [{ type: CustomPipeManager$1 }], null); })();
|
|
150985
|
+
}], () => [{ type: App$1 }, { type: CustomPipeManager$1 }], null); })();
|
|
150831
150986
|
class TimeFromNowPipe {
|
|
150832
150987
|
transform(data) {
|
|
150833
150988
|
let timestamp;
|
|
@@ -158694,14 +158849,14 @@ function createNgModuleType(meta) {
|
|
|
158694
158849
|
if (meta.kind === R3NgModuleMetadataKind.Local) {
|
|
158695
158850
|
return new ExpressionType$1(meta.type.value);
|
|
158696
158851
|
}
|
|
158697
|
-
const { type: moduleType, declarations, exports, imports, includeImportTypes, publicDeclarationTypes, } = meta;
|
|
158852
|
+
const { type: moduleType, declarations, exports: exports$1, imports, includeImportTypes, publicDeclarationTypes, } = meta;
|
|
158698
158853
|
return new ExpressionType$1(importExpr(Identifiers.NgModuleDeclaration, [
|
|
158699
158854
|
new ExpressionType$1(moduleType.type),
|
|
158700
158855
|
publicDeclarationTypes === null
|
|
158701
158856
|
? tupleTypeOf(declarations)
|
|
158702
158857
|
: tupleOfTypes(publicDeclarationTypes),
|
|
158703
158858
|
includeImportTypes ? tupleTypeOf(imports) : NONE_TYPE,
|
|
158704
|
-
tupleTypeOf(exports),
|
|
158859
|
+
tupleTypeOf(exports$1),
|
|
158705
158860
|
]));
|
|
158706
158861
|
}
|
|
158707
158862
|
/**
|
|
@@ -189724,7 +189879,7 @@ var hasRequiredEntities;
|
|
|
189724
189879
|
function requireEntities () {
|
|
189725
189880
|
if (hasRequiredEntities) return entities;
|
|
189726
189881
|
hasRequiredEntities = 1;
|
|
189727
|
-
(function (exports) {
|
|
189882
|
+
(function (exports$1) {
|
|
189728
189883
|
|
|
189729
189884
|
var freeze = requireConventions().freeze;
|
|
189730
189885
|
|
|
@@ -189735,7 +189890,7 @@ function requireEntities () {
|
|
|
189735
189890
|
* @see https://www.w3.org/TR/2008/REC-xml-20081126/#sec-predefined-ent W3C XML 1.0
|
|
189736
189891
|
* @see https://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references#Predefined_entities_in_XML Wikipedia
|
|
189737
189892
|
*/
|
|
189738
|
-
exports.XML_ENTITIES = freeze({
|
|
189893
|
+
exports$1.XML_ENTITIES = freeze({
|
|
189739
189894
|
amp: '&',
|
|
189740
189895
|
apos: "'",
|
|
189741
189896
|
gt: '>',
|
|
@@ -189757,7 +189912,7 @@ function requireEntities () {
|
|
|
189757
189912
|
* @see https://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references#Character_entity_references_in_HTML Wikipedia (HTML)
|
|
189758
189913
|
* @see https://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references#Entities_representing_special_characters_in_XHTML Wikpedia (XHTML)
|
|
189759
189914
|
*/
|
|
189760
|
-
exports.HTML_ENTITIES = freeze({
|
|
189915
|
+
exports$1.HTML_ENTITIES = freeze({
|
|
189761
189916
|
Aacute: '\u00C1',
|
|
189762
189917
|
aacute: '\u00E1',
|
|
189763
189918
|
Abreve: '\u0102',
|
|
@@ -191889,7 +192044,7 @@ function requireEntities () {
|
|
|
191889
192044
|
* @deprecated use `HTML_ENTITIES` instead
|
|
191890
192045
|
* @see HTML_ENTITIES
|
|
191891
192046
|
*/
|
|
191892
|
-
exports.entityMap = exports.HTML_ENTITIES;
|
|
192047
|
+
exports$1.entityMap = exports$1.HTML_ENTITIES;
|
|
191893
192048
|
} (entities));
|
|
191894
192049
|
return entities;
|
|
191895
192050
|
}
|
|
@@ -193697,7 +193852,7 @@ var hasRequiredMoment;
|
|
|
193697
193852
|
function requireMoment () {
|
|
193698
193853
|
if (hasRequiredMoment) return moment$1.exports;
|
|
193699
193854
|
hasRequiredMoment = 1;
|
|
193700
|
-
(function (module, exports) {
|
|
193855
|
+
(function (module, exports$1) {
|
|
193701
193856
|
(function (global, factory) {
|
|
193702
193857
|
module.exports = factory() ;
|
|
193703
193858
|
}(this, (function () {
|
|
@@ -202909,11 +203064,11 @@ var DEFAULT_FORMATS;
|
|
|
202909
203064
|
DEFAULT_FORMATS["DATE_TIME"] = "yyyy-MM-dd HH:mm:ss";
|
|
202910
203065
|
})(DEFAULT_FORMATS || (DEFAULT_FORMATS = {}));
|
|
202911
203066
|
|
|
202912
|
-
const $RAF
|
|
203067
|
+
const $RAF = window.requestAnimationFrame;
|
|
202913
203068
|
const $RAFQueue = [];
|
|
202914
203069
|
const invokeLater = fn => {
|
|
202915
203070
|
if (!$RAFQueue.length) {
|
|
202916
|
-
$RAF
|
|
203071
|
+
$RAF(() => {
|
|
202917
203072
|
$RAFQueue.forEach(f => f());
|
|
202918
203073
|
$RAFQueue.length = 0;
|
|
202919
203074
|
});
|
|
@@ -203455,70 +203610,220 @@ const getFnForEventExpr = (expr) => {
|
|
|
203455
203610
|
return fnExecutor(expr, ExpressionType.Action);
|
|
203456
203611
|
};
|
|
203457
203612
|
|
|
203613
|
+
// Constants
|
|
203614
|
+
const WIDGET_ID_REGEX = /^(widget-[^_]+)/;
|
|
203615
|
+
const WIDGET_PROPERTY_REGEX = /^widget-[^_]+_(.+)$/;
|
|
203616
|
+
const ARRAY_INDEX_PLACEHOLDER = '[$i]';
|
|
203617
|
+
const ARRAY_INDEX_ZERO = '[0]';
|
|
203458
203618
|
const registry = new Map();
|
|
203459
203619
|
const watchIdGenerator = new IDGenerator('watch-id-');
|
|
203460
|
-
const FIRST_TIME_WATCH = {};
|
|
203461
|
-
|
|
203620
|
+
const FIRST_TIME_WATCH = Object.freeze({});
|
|
203621
|
+
/**
|
|
203622
|
+
* Extracts widget ID from identifier (e.g., "widget-id23_eventsource" -> "widget-id23")
|
|
203623
|
+
*/
|
|
203624
|
+
const getWidgetId = (identifier) => {
|
|
203625
|
+
if (!identifier || typeof identifier !== 'string') {
|
|
203626
|
+
return null;
|
|
203627
|
+
}
|
|
203628
|
+
const match = identifier.match(WIDGET_ID_REGEX);
|
|
203629
|
+
return match ? match[1] : null;
|
|
203630
|
+
};
|
|
203631
|
+
/**
|
|
203632
|
+
* Extracts property name from identifier (e.g., "widget-id23_eventsource" -> "eventsource")
|
|
203633
|
+
*/
|
|
203634
|
+
const getPropertyName = (identifier) => {
|
|
203635
|
+
if (!identifier || typeof identifier !== 'string') {
|
|
203636
|
+
return identifier;
|
|
203637
|
+
}
|
|
203638
|
+
const match = identifier.match(WIDGET_PROPERTY_REGEX);
|
|
203639
|
+
return match ? match[1] : identifier;
|
|
203640
|
+
};
|
|
203641
|
+
/**
|
|
203642
|
+
* Array consumer wrapper for array-based expressions
|
|
203643
|
+
*/
|
|
203462
203644
|
const arrayConsumer = (listenerFn, restExpr, newVal, oldVal) => {
|
|
203463
|
-
|
|
203464
|
-
|
|
203465
|
-
formattedData = data.map(function (datum) {
|
|
203466
|
-
return findValueOf(datum, restExpr);
|
|
203467
|
-
});
|
|
203468
|
-
// If resulting structure is an array of array, flatten it
|
|
203469
|
-
if (isArray(formattedData[0])) {
|
|
203470
|
-
formattedData = flatten(formattedData);
|
|
203471
|
-
}
|
|
203472
|
-
listenerFn(formattedData, oldVal);
|
|
203645
|
+
if (!isArray(newVal)) {
|
|
203646
|
+
return;
|
|
203473
203647
|
}
|
|
203648
|
+
let formattedData = newVal.map(datum => findValueOf(datum, restExpr));
|
|
203649
|
+
// Flatten if result is array of arrays
|
|
203650
|
+
if (isArray(formattedData[0])) {
|
|
203651
|
+
formattedData = flatten(formattedData);
|
|
203652
|
+
}
|
|
203653
|
+
listenerFn(formattedData, oldVal);
|
|
203474
203654
|
};
|
|
203475
|
-
|
|
203476
|
-
|
|
203477
|
-
|
|
203478
|
-
|
|
203655
|
+
/**
|
|
203656
|
+
* Updates watch info for array expressions
|
|
203657
|
+
*/
|
|
203658
|
+
const getUpdatedWatchInfo = (expr, acceptsArray, listener) => {
|
|
203659
|
+
const regex = /\[\$i\]/g;
|
|
203479
203660
|
if (!acceptsArray) {
|
|
203480
203661
|
return {
|
|
203481
|
-
|
|
203482
|
-
|
|
203662
|
+
expr: expr.replace(regex, ARRAY_INDEX_ZERO),
|
|
203663
|
+
listener
|
|
203483
203664
|
};
|
|
203484
203665
|
}
|
|
203485
|
-
|
|
203486
|
-
|
|
203487
|
-
|
|
203488
|
-
|
|
203489
|
-
|
|
203490
|
-
|
|
203666
|
+
const lastIndex = expr.lastIndexOf(ARRAY_INDEX_PLACEHOLDER);
|
|
203667
|
+
const baseExpr = expr.substring(0, lastIndex).replace(ARRAY_INDEX_PLACEHOLDER, ARRAY_INDEX_ZERO);
|
|
203668
|
+
const restExpr = expr.substring(lastIndex + ARRAY_INDEX_PLACEHOLDER.length);
|
|
203669
|
+
const arrayConsumerFn = restExpr
|
|
203670
|
+
? arrayConsumer.bind(undefined, listener, restExpr)
|
|
203671
|
+
: listener;
|
|
203491
203672
|
return {
|
|
203492
|
-
|
|
203493
|
-
|
|
203673
|
+
expr: baseExpr,
|
|
203674
|
+
listener: arrayConsumerFn
|
|
203494
203675
|
};
|
|
203495
203676
|
};
|
|
203677
|
+
/**
|
|
203678
|
+
* Determines if an expression is static (doesn't need to be watched)
|
|
203679
|
+
*/
|
|
203680
|
+
const STATIC_EXPRESSION_NAMES = [
|
|
203681
|
+
"row.getProperty('investment')",
|
|
203682
|
+
"row.getProperty('factsheetLink')",
|
|
203683
|
+
"row.getProperty('isRebalanceEligible')"
|
|
203684
|
+
];
|
|
203685
|
+
const isStaticExpression = (expr) => {
|
|
203686
|
+
if (typeof expr !== 'string') {
|
|
203687
|
+
return false;
|
|
203688
|
+
}
|
|
203689
|
+
const trimmedExpr = expr.trim();
|
|
203690
|
+
// Expressions that always evaluate to localization strings
|
|
203691
|
+
if (trimmedExpr.includes('appLocale')) {
|
|
203692
|
+
return true;
|
|
203693
|
+
}
|
|
203694
|
+
// Hard-coded static expression names
|
|
203695
|
+
if (STATIC_EXPRESSION_NAMES.includes(trimmedExpr)) {
|
|
203696
|
+
return true;
|
|
203697
|
+
}
|
|
203698
|
+
return false;
|
|
203699
|
+
};
|
|
203700
|
+
/**
|
|
203701
|
+
* Gets the scope type from the scope object
|
|
203702
|
+
*/
|
|
203703
|
+
const getScopeType = ($scope) => {
|
|
203704
|
+
if (!$scope) {
|
|
203705
|
+
return null;
|
|
203706
|
+
}
|
|
203707
|
+
if ($scope.pageName)
|
|
203708
|
+
return 'Page';
|
|
203709
|
+
if ($scope.prefabName)
|
|
203710
|
+
return 'Prefab';
|
|
203711
|
+
if ($scope.partialName)
|
|
203712
|
+
return 'Partial';
|
|
203713
|
+
// Check for App scope
|
|
203714
|
+
if ($scope.Variables !== undefined &&
|
|
203715
|
+
$scope.Actions !== undefined &&
|
|
203716
|
+
!$scope.pageName &&
|
|
203717
|
+
!$scope.prefabName &&
|
|
203718
|
+
!$scope.partialName) {
|
|
203719
|
+
return 'App';
|
|
203720
|
+
}
|
|
203721
|
+
if ($scope.constructor?.name === 'AppRef') {
|
|
203722
|
+
return 'App';
|
|
203723
|
+
}
|
|
203724
|
+
return null;
|
|
203725
|
+
};
|
|
203726
|
+
/**
|
|
203727
|
+
* Gets scope name based on scope type
|
|
203728
|
+
*/
|
|
203729
|
+
const getScopeName = ($scope, scopeType) => {
|
|
203730
|
+
if (!scopeType || !$scope) {
|
|
203731
|
+
return null;
|
|
203732
|
+
}
|
|
203733
|
+
switch (scopeType) {
|
|
203734
|
+
case 'Prefab': return $scope.prefabName || null;
|
|
203735
|
+
case 'Partial': return $scope.partialName || null;
|
|
203736
|
+
case 'Page': return $scope.pageName || null;
|
|
203737
|
+
default: return null;
|
|
203738
|
+
}
|
|
203739
|
+
};
|
|
203740
|
+
/**
|
|
203741
|
+
* Main watch function
|
|
203742
|
+
*/
|
|
203496
203743
|
const $watch = (expr, $scope, $locals, listener, identifier = watchIdGenerator.nextUid(), doNotClone = false, config = {}, isMuted) => {
|
|
203497
|
-
|
|
203498
|
-
|
|
203744
|
+
// Handle array expressions
|
|
203745
|
+
if (expr.includes(ARRAY_INDEX_PLACEHOLDER)) {
|
|
203746
|
+
const watchInfo = getUpdatedWatchInfo(expr, config.arrayType || config.isList || false, listener);
|
|
203499
203747
|
expr = watchInfo.expr;
|
|
203500
203748
|
listener = watchInfo.listener;
|
|
203501
203749
|
}
|
|
203750
|
+
// Handle static expressions
|
|
203751
|
+
if (isStaticExpression(expr)) {
|
|
203752
|
+
try {
|
|
203753
|
+
const fn = $parseExpr(expr);
|
|
203754
|
+
const staticValue = fn($scope, $locals);
|
|
203755
|
+
listener(staticValue, FIRST_TIME_WATCH);
|
|
203756
|
+
}
|
|
203757
|
+
catch (e) {
|
|
203758
|
+
console.warn(`Error evaluating static expression '${expr}':`, e);
|
|
203759
|
+
listener(undefined, FIRST_TIME_WATCH);
|
|
203760
|
+
}
|
|
203761
|
+
return () => { }; // No-op unsubscribe
|
|
203762
|
+
}
|
|
203502
203763
|
const fn = $parseExpr();
|
|
203503
|
-
|
|
203504
|
-
|
|
203764
|
+
const scopeType = getScopeType($scope);
|
|
203765
|
+
const scopeName = getScopeName($scope, scopeType);
|
|
203766
|
+
const watchInfo = {
|
|
203767
|
+
fn: fn.bind(null, $scope, $locals),
|
|
203505
203768
|
listener,
|
|
203506
203769
|
expr,
|
|
203507
203770
|
last: FIRST_TIME_WATCH,
|
|
203508
203771
|
doNotClone,
|
|
203509
|
-
isMuted
|
|
203510
|
-
|
|
203772
|
+
isMuted,
|
|
203773
|
+
scopeType,
|
|
203774
|
+
scopeName
|
|
203775
|
+
};
|
|
203776
|
+
// Store in registry
|
|
203777
|
+
const widgetId = getWidgetId(identifier);
|
|
203778
|
+
if (widgetId) {
|
|
203779
|
+
const propertyName = getPropertyName(identifier);
|
|
203780
|
+
if (!registry.has(widgetId)) {
|
|
203781
|
+
registry.set(widgetId, {});
|
|
203782
|
+
}
|
|
203783
|
+
const widgetGroup = registry.get(widgetId);
|
|
203784
|
+
widgetGroup[propertyName] = watchInfo;
|
|
203785
|
+
}
|
|
203786
|
+
else {
|
|
203787
|
+
registry.set(identifier, watchInfo);
|
|
203788
|
+
}
|
|
203511
203789
|
return () => $unwatch(identifier);
|
|
203512
203790
|
};
|
|
203513
|
-
|
|
203514
|
-
|
|
203791
|
+
/**
|
|
203792
|
+
* Unwatches a single identifier
|
|
203793
|
+
*/
|
|
203794
|
+
const $unwatch = (identifier) => {
|
|
203795
|
+
const widgetId = getWidgetId(identifier);
|
|
203796
|
+
if (widgetId) {
|
|
203797
|
+
const propertyName = getPropertyName(identifier);
|
|
203798
|
+
const widgetGroup = registry.get(widgetId);
|
|
203799
|
+
if (widgetGroup && typeof widgetGroup === 'object' && !widgetGroup.fn) {
|
|
203800
|
+
const watchInfo = widgetGroup[propertyName];
|
|
203801
|
+
if (watchInfo) {
|
|
203802
|
+
delete widgetGroup[propertyName];
|
|
203803
|
+
// Clean up empty widget groups
|
|
203804
|
+
if (Object.keys(widgetGroup).length === 0) {
|
|
203805
|
+
registry.delete(widgetId);
|
|
203806
|
+
}
|
|
203807
|
+
return true;
|
|
203808
|
+
}
|
|
203809
|
+
}
|
|
203810
|
+
}
|
|
203811
|
+
// Fallback to direct lookup
|
|
203812
|
+
if (registry.has(identifier)) {
|
|
203813
|
+
registry.delete(identifier);
|
|
203814
|
+
return true;
|
|
203815
|
+
}
|
|
203816
|
+
return false;
|
|
203817
|
+
};
|
|
203515
203818
|
const $appDigest = (() => {
|
|
203516
|
-
return (force) => {
|
|
203819
|
+
return (force = false) => {
|
|
203517
203820
|
{
|
|
203518
203821
|
return;
|
|
203519
203822
|
}
|
|
203520
203823
|
};
|
|
203521
203824
|
})();
|
|
203825
|
+
// Export registry for debugging
|
|
203826
|
+
// (window as any).watchRegistry = registry;
|
|
203522
203827
|
|
|
203523
203828
|
var ComponentType;
|
|
203524
203829
|
(function (ComponentType) {
|
|
@@ -203574,6 +203879,8 @@ var Operation;
|
|
|
203574
203879
|
const DataSource = {
|
|
203575
203880
|
Operation
|
|
203576
203881
|
};
|
|
203882
|
+
class App {
|
|
203883
|
+
}
|
|
203577
203884
|
class AbstractI18nService {
|
|
203578
203885
|
}
|
|
203579
203886
|
|
|
@@ -203591,6 +203898,7 @@ const REGEX = {
|
|
|
203591
203898
|
SUPPORTED_AUDIO_FORMAT: /\.(mp3|ogg|webm|wma|3gp|wav|m4a)$/i,
|
|
203592
203899
|
SUPPORTED_VIDEO_FORMAT: /\.(mp4|ogg|webm|wmv|mpeg|mpg|avi|mov)$/i,
|
|
203593
203900
|
VALID_WEB_URL: /^(http[s]?:\/\/)(www\.){0,1}[a-zA-Z0-9=:?\/\.\-]+(\.[a-zA-Z]{2,5}[\.]{0,1})?/,
|
|
203901
|
+
VALID_IMAGE_URL: /^(https?|blob|data|file|ftp):/i,
|
|
203594
203902
|
REPLACE_PATTERN: /\$\{([^\}]+)\}/g,
|
|
203595
203903
|
DATA_URL: /^\s*data:([a-z]+\/[a-z0-9-+.]+(;[a-z-]+=[a-z0-9-]+)?)?(;base64)?,([a-z0-9!$&',()*+;=\-._~:@\/?%\s]*)\s*$/i,
|
|
203596
203904
|
ISO_DATE_FORMAT: /(\d{4}-\d{2}-\d{2})T(\d{2}:\d{2}:\d{2})(\.\d+)?([+-]\d{2}:?\d{2}|Z)$/
|
|
@@ -203813,6 +204121,9 @@ const isVideoFile = (fileName) => {
|
|
|
203813
204121
|
const isValidWebURL = (url) => {
|
|
203814
204122
|
return (REGEX.VALID_WEB_URL).test(url);
|
|
203815
204123
|
};
|
|
204124
|
+
const isValidImageUrl = (url) => {
|
|
204125
|
+
return (REGEX.VALID_IMAGE_URL).test(url?.trim());
|
|
204126
|
+
};
|
|
203816
204127
|
/*This function returns the url to the resource after checking the validity of url*/
|
|
203817
204128
|
const getResourceURL = (urlString) => {
|
|
203818
204129
|
return urlString;
|
|
@@ -205066,6 +205377,7 @@ var Utils = /*#__PURE__*/Object.freeze({
|
|
|
205066
205377
|
isPageable: isPageable,
|
|
205067
205378
|
isSafari: isSafari,
|
|
205068
205379
|
isTablet: isTablet,
|
|
205380
|
+
isValidImageUrl: isValidImageUrl,
|
|
205069
205381
|
isValidWebURL: isValidWebURL,
|
|
205070
205382
|
isVideoFile: isVideoFile,
|
|
205071
205383
|
loadScript: loadScript,
|
|
@@ -207905,7 +208217,7 @@ class PipeProvider {
|
|
|
207905
208217
|
this.preparePipeMeta(CurrencyPipe$1, 'currency', true, [this._locale]),
|
|
207906
208218
|
this.preparePipeMeta(DatePipe$1, 'date', true, [this._locale]),
|
|
207907
208219
|
this.preparePipeMeta(ToDatePipe, 'toDate', true, [
|
|
207908
|
-
new DatePipe$1(this._locale), undefined, this.injector.get(CustomPipeManager)
|
|
208220
|
+
new DatePipe$1(this._locale), undefined, this.injector.get(App), this.injector.get(CustomPipeManager)
|
|
207909
208221
|
]),
|
|
207910
208222
|
this.preparePipeMeta(ToNumberPipe, 'toNumber', true, [
|
|
207911
208223
|
new DecimalPipe$1(this._locale),
|
|
@@ -207922,7 +208234,7 @@ class PipeProvider {
|
|
|
207922
208234
|
new DecimalPipe$1(this._locale)
|
|
207923
208235
|
]),
|
|
207924
208236
|
this.preparePipeMeta(StringToNumberPipe, 'stringToNumber', true),
|
|
207925
|
-
this.preparePipeMeta(CustomPipe, 'custom', true, [this.injector.get(CustomPipeManager)]),
|
|
208237
|
+
this.preparePipeMeta(CustomPipe, 'custom', true, [this.injector.get(App), this.injector.get(CustomPipeManager)]),
|
|
207926
208238
|
this.preparePipeMeta(TrustAsPipe, 'trustAs', true, [this.domSanitizer]),
|
|
207927
208239
|
this.preparePipeMeta(SanitizePipe, 'sanitize', true, [this.domSanitizer]),
|
|
207928
208240
|
this.preparePipeMeta(TemplateReplacePipe, 'templateReplace', true),
|