Feature/virtual fields and alternative sections (#123)
* refactor: Fix name of the exported function in this file * feat(virtualFields): increase qqq-frontend-core patch version * fix(widgetBlocks): avoid NPE on missing text * fix(widgetBlocks): Add IconBlock * feat(fieldAdornmentWidgets): Initial checkin * feat(virtualFieldsAndAlternativeSections): Support for alternative sections in a table, virtual fields, and AdornmentType.WIDGET (to render FieldValueAsWidget) * feat(fieldAdornmentWidgets): Switch to use DashboardWidgets to (in theory) support any widget type... with new omitPaddingOnWidget param, to pass through to the <Widget> * feat(fieldAdornmentWidgets): Update to use a virtual field for the view screen, in an alternate section - to display the json of the filter (as the test expected), since now view screen tries to render the widget (but doesn't quite have the right data for it). this could improve, but this proves the point, and gets us passing again
This commit was merged in pull request #123.
This commit is contained in:
1 parent
92c6b464c8
commit
161c40faa7
12 files changed
+753
-261
No files matched your search
Generated
+285
-235
@@ -19,7 +19,7 @@
|
||||
"@mui/x-data-grid-pro": "5.17.23",
|
||||
"@mui/x-date-pickers": "7.1.1",
|
||||
"@mui/x-license-pro": "5.12.3",
|
||||
"@qrunio/qqq-frontend-core": "1.3.7-SNAPSHOT",
|
||||
"@qrunio/qqq-frontend-core": "1.3.8-SNAPSHOT",
|
||||
"@react-jvectormap/core": "1.0.1",
|
||||
"@react-jvectormap/unitedstates": "1.0.1",
|
||||
"@react-oauth/google": "0.2.8",
|
||||
@@ -3626,9 +3626,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@mui/utils/node_modules/react-is": {
|
||||
"version": "19.2.0",
|
||||
"resolved": "https://registry.npmjs.org/react-is/-/react-is-19.2.0.tgz",
|
||||
"integrity": "sha512-x3Ax3kNSMIIkyVYhWPyO09bu0uttcAIoecO/um/rKGQ4EltYWVYtyiGkS/3xMynrbVQdS69Jhlv8FXUEZehlzA==",
|
||||
"version": "19.2.1",
|
||||
"resolved": "https://registry.npmjs.org/react-is/-/react-is-19.2.1.tgz",
|
||||
"integrity": "sha512-L7BnWgRbMwzMAubQcS7sXdPdNLmKlucPlopgAzx7FtYbksWZgEWiuYM5x9T6UqS2Ne0rsgQTq5kY2SGqpzUkYA==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@mui/x-data-grid": {
|
||||
@@ -3878,9 +3878,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@mui/x-date-pickers/node_modules/react-is": {
|
||||
"version": "19.2.0",
|
||||
"resolved": "https://registry.npmjs.org/react-is/-/react-is-19.2.0.tgz",
|
||||
"integrity": "sha512-x3Ax3kNSMIIkyVYhWPyO09bu0uttcAIoecO/um/rKGQ4EltYWVYtyiGkS/3xMynrbVQdS69Jhlv8FXUEZehlzA==",
|
||||
"version": "19.2.1",
|
||||
"resolved": "https://registry.npmjs.org/react-is/-/react-is-19.2.1.tgz",
|
||||
"integrity": "sha512-L7BnWgRbMwzMAubQcS7sXdPdNLmKlucPlopgAzx7FtYbksWZgEWiuYM5x9T6UqS2Ne0rsgQTq5kY2SGqpzUkYA==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@mui/x-license-pro": {
|
||||
@@ -4024,9 +4024,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@qrunio/qqq-frontend-core": {
|
||||
"version": "1.3.7-SNAPSHOT",
|
||||
"resolved": "https://registry.npmjs.org/@qrunio/qqq-frontend-core/-/qqq-frontend-core-1.3.7-SNAPSHOT.tgz",
|
||||
"integrity": "sha512-Y59lQBAvElzv4lazDSBPfXgdVWWrrHPza+1ih/kVNRr5x9MzDS10K4SVd4RMCmhlrwwhXWK4B4IT5MXzTi+KtA==",
|
||||
"version": "1.3.8-SNAPSHOT",
|
||||
"resolved": "https://registry.npmjs.org/@qrunio/qqq-frontend-core/-/qqq-frontend-core-1.3.8-SNAPSHOT.tgz",
|
||||
"integrity": "sha512-NgjvJbZx54q2VA8ot5uKKLo5tdsJcP1zQfWTiOEnuVFm+aAusUFcnEQchMCC0Y6vzvnBcXw1BTrLP1PzNLmxiQ==",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"axios": "0.28.1",
|
||||
@@ -4791,13 +4791,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@swagger-api/apidom-ast": {
|
||||
"version": "1.0.0-rc.4",
|
||||
"resolved": "https://registry.npmjs.org/@swagger-api/apidom-ast/-/apidom-ast-1.0.0-rc.4.tgz",
|
||||
"integrity": "sha512-IaXz00VLMq0Kw5vh5f2MX4gNWzPy8ujBl5FInM5w+1mezoyrwTnVRiKO7sf611OthmNmnK5cWy3hjqURAT9wCQ==",
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@swagger-api/apidom-ast/-/apidom-ast-1.0.1.tgz",
|
||||
"integrity": "sha512-inTGo5b49XkHs/Vq48VafXnCzZrwwE+KTNcdfMybdm3RQTbfVFbvSUrS54WoHoaSbef1GsB9rnS/oXoXfNr72g==",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@babel/runtime-corejs3": "^7.26.10",
|
||||
"@swagger-api/apidom-error": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-error": "^1.0.1",
|
||||
"@types/ramda": "~0.30.0",
|
||||
"ramda": "~0.30.0",
|
||||
"ramda-adjunct": "^5.0.0",
|
||||
@@ -4805,14 +4805,14 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@swagger-api/apidom-core": {
|
||||
"version": "1.0.0-rc.4",
|
||||
"resolved": "https://registry.npmjs.org/@swagger-api/apidom-core/-/apidom-core-1.0.0-rc.4.tgz",
|
||||
"integrity": "sha512-dSvq/FmUffmv9nqBO8LZ5+ESFWPe/y7UsatRiwpqh6M7vBHy9xBuKdn6A/7QtmZnetjigkx3h4CXc4Mi30RZCg==",
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@swagger-api/apidom-core/-/apidom-core-1.0.1.tgz",
|
||||
"integrity": "sha512-biA53spAUphP2IMJSPdqcRFjvLbvLspv1mJQrZpePUq4XGxGOKOHof7dUc1bXJuYvl6OOxOwnVniv5oK2Wyblw==",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@babel/runtime-corejs3": "^7.26.10",
|
||||
"@swagger-api/apidom-ast": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-error": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-ast": "^1.0.1",
|
||||
"@swagger-api/apidom-error": "^1.0.1",
|
||||
"@types/ramda": "~0.30.0",
|
||||
"minim": "~0.23.8",
|
||||
"ramda": "~0.30.0",
|
||||
@@ -4822,37 +4822,37 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@swagger-api/apidom-error": {
|
||||
"version": "1.0.0-rc.4",
|
||||
"resolved": "https://registry.npmjs.org/@swagger-api/apidom-error/-/apidom-error-1.0.0-rc.4.tgz",
|
||||
"integrity": "sha512-uakMfKYyLgGjLrVaaUKWyl0D+wGxza+nh1Ct4fOFRiy0Dm91I4AD4HwsG3Uvk5gLrvqlf/OutKYzKt8Ufhlyig==",
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@swagger-api/apidom-error/-/apidom-error-1.0.1.tgz",
|
||||
"integrity": "sha512-uwduVNLg9a2qA+Pl4b8gPERH6Xhvm/Ilv4iKMUOpUicLwNmYjrlcRsyYxLvFiNlTghm70xuI3hap1iaXbrer4A==",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@babel/runtime-corejs3": "^7.20.7"
|
||||
}
|
||||
},
|
||||
"node_modules/@swagger-api/apidom-json-pointer": {
|
||||
"version": "1.0.0-rc.4",
|
||||
"resolved": "https://registry.npmjs.org/@swagger-api/apidom-json-pointer/-/apidom-json-pointer-1.0.0-rc.4.tgz",
|
||||
"integrity": "sha512-5bB6nemgzkWs440a8PX+lS3fGtEtJt2iYhK0Xf9E+9qU6d1eR9aiETPdAVjbdL8vLhyZvmgvZie/7q0l6bbLJg==",
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@swagger-api/apidom-json-pointer/-/apidom-json-pointer-1.0.1.tgz",
|
||||
"integrity": "sha512-Dgxd9hl1AiCIM1b5f4dSfmP+rGtASUso8Lw51+az605hqrohgykxt8voiQtaJxKySWYbS1J9Vz2xjLwrEmfTKg==",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@babel/runtime-corejs3": "^7.26.10",
|
||||
"@swagger-api/apidom-core": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-error": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-core": "^1.0.1",
|
||||
"@swagger-api/apidom-error": "^1.0.1",
|
||||
"@swaggerexpert/json-pointer": "^2.10.1"
|
||||
}
|
||||
},
|
||||
"node_modules/@swagger-api/apidom-ns-api-design-systems": {
|
||||
"version": "1.0.0-rc.4",
|
||||
"resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-api-design-systems/-/apidom-ns-api-design-systems-1.0.0-rc.4.tgz",
|
||||
"integrity": "sha512-JlOD1H2jSl/XxdFwa/zPOvRZh8rk/O/2B2xkoKaxhTmkVTKq2Y1rHsey8cyU9qrfQSkLpPm1cxXeIfqmhdPmqQ==",
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-api-design-systems/-/apidom-ns-api-design-systems-1.0.1.tgz",
|
||||
"integrity": "sha512-frRfiLjcufeBgqnHQOcXgl6dnvcIdP4+18pWb+qT3N+dv87geJBk1CbXo6RjW9AEQX/7BtvWYkfSMLrh8q2TZA==",
|
||||
"license": "Apache-2.0",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"@babel/runtime-corejs3": "^7.26.10",
|
||||
"@swagger-api/apidom-core": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-error": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-ns-openapi-3-1": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-core": "^1.0.1",
|
||||
"@swagger-api/apidom-error": "^1.0.1",
|
||||
"@swagger-api/apidom-ns-openapi-3-1": "^1.0.1",
|
||||
"@types/ramda": "~0.30.0",
|
||||
"ramda": "~0.30.0",
|
||||
"ramda-adjunct": "^5.0.0",
|
||||
@@ -4860,15 +4860,15 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@swagger-api/apidom-ns-arazzo-1": {
|
||||
"version": "1.0.0-rc.4",
|
||||
"resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-arazzo-1/-/apidom-ns-arazzo-1-1.0.0-rc.4.tgz",
|
||||
"integrity": "sha512-sKep7qCvJa2zB4q67e9zinLKjVx0vhV/e40OLEg3JeECMWcRrW3oI2JB3jSJ7ZZwCgvatfBc6/ucFsX/1oKpkg==",
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-arazzo-1/-/apidom-ns-arazzo-1-1.0.1.tgz",
|
||||
"integrity": "sha512-gJJY0vmi3TJtlCYNPsZahQnP6GA9GtJX1a9jEUASaYYxz6cBBfY39y8C5tQTo0Jvc7QEff/UZ8iGX0kltcwlzA==",
|
||||
"license": "Apache-2.0",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"@babel/runtime-corejs3": "^7.26.10",
|
||||
"@swagger-api/apidom-core": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-ns-json-schema-2020-12": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-core": "^1.0.1",
|
||||
"@swagger-api/apidom-ns-json-schema-2020-12": "^1.0.1",
|
||||
"@types/ramda": "~0.30.0",
|
||||
"ramda": "~0.30.0",
|
||||
"ramda-adjunct": "^5.0.0",
|
||||
@@ -4876,15 +4876,31 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@swagger-api/apidom-ns-asyncapi-2": {
|
||||
"version": "1.0.0-rc.4",
|
||||
"resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-asyncapi-2/-/apidom-ns-asyncapi-2-1.0.0-rc.4.tgz",
|
||||
"integrity": "sha512-RDNKv4kCAzQ+aA02VjgxS9Cve0UgnRkcFNEUxYEHWNbqVcMmxcck6GLQo4OuwhgJczEyZC3TB5idfxphRhaybg==",
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-asyncapi-2/-/apidom-ns-asyncapi-2-1.0.1.tgz",
|
||||
"integrity": "sha512-d8HBr2EVB2gK8FKrxj0Wsss6Qeael//WxnNv1ZtmNeCe1l83iC9RO/hjjq/OFob94ZTOfpPRNwGqZBd4tMxOnA==",
|
||||
"license": "Apache-2.0",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"@babel/runtime-corejs3": "^7.26.10",
|
||||
"@swagger-api/apidom-core": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-ns-json-schema-draft-7": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-core": "^1.0.1",
|
||||
"@swagger-api/apidom-ns-json-schema-draft-7": "^1.0.1",
|
||||
"@types/ramda": "~0.30.0",
|
||||
"ramda": "~0.30.0",
|
||||
"ramda-adjunct": "^5.0.0",
|
||||
"ts-mixer": "^6.0.3"
|
||||
}
|
||||
},
|
||||
"node_modules/@swagger-api/apidom-ns-asyncapi-3": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-asyncapi-3/-/apidom-ns-asyncapi-3-1.0.1.tgz",
|
||||
"integrity": "sha512-vonGt1ScMlT+GbbSGa/+oe874Zl7NVylX3ZoMAhMkRyqu49vmWB6dXUcWw6ZsZu2GxVphjNTm+D52Ikw8UAMWg==",
|
||||
"license": "Apache-2.0",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"@babel/runtime-corejs3": "^7.26.10",
|
||||
"@swagger-api/apidom-core": "^1.0.1",
|
||||
"@swagger-api/apidom-ns-asyncapi-2": "^1.0.1",
|
||||
"@types/ramda": "~0.30.0",
|
||||
"ramda": "~0.30.0",
|
||||
"ramda-adjunct": "^5.0.0",
|
||||
@@ -4892,15 +4908,15 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@swagger-api/apidom-ns-json-schema-2019-09": {
|
||||
"version": "1.0.0-rc.4",
|
||||
"resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-json-schema-2019-09/-/apidom-ns-json-schema-2019-09-1.0.0-rc.4.tgz",
|
||||
"integrity": "sha512-kgIo3d9VZjBFg30Cg0asokbBGVb4WvVckkf9U2T8/6wh2o1J+KMqvdRauo2Xz+o5EubLpGyZjrwOzMbFJv/viA==",
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-json-schema-2019-09/-/apidom-ns-json-schema-2019-09-1.0.1.tgz",
|
||||
"integrity": "sha512-wtVkFhkM7a0ybjAR0HCQyXzAwIWWcaoHmXiZGAS7wTpI2sDMLwCrBXBuISa7BoRkG4ieA2odDF5Eac73knWUbA==",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@babel/runtime-corejs3": "^7.26.10",
|
||||
"@swagger-api/apidom-core": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-error": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-ns-json-schema-draft-7": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-core": "^1.0.1",
|
||||
"@swagger-api/apidom-error": "^1.0.1",
|
||||
"@swagger-api/apidom-ns-json-schema-draft-7": "^1.0.1",
|
||||
"@types/ramda": "~0.30.0",
|
||||
"ramda": "~0.30.0",
|
||||
"ramda-adjunct": "^5.0.0",
|
||||
@@ -4908,15 +4924,15 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@swagger-api/apidom-ns-json-schema-2020-12": {
|
||||
"version": "1.0.0-rc.4",
|
||||
"resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-json-schema-2020-12/-/apidom-ns-json-schema-2020-12-1.0.0-rc.4.tgz",
|
||||
"integrity": "sha512-0mpBu8iXq8GaY+KDQGWSU+8Xvd1Kd5EXKOpW8tDgJINBgeYm7F3m8iP3irP0OMeCyX9ISMq+bDgXg+YjS8kYzA==",
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-json-schema-2020-12/-/apidom-ns-json-schema-2020-12-1.0.1.tgz",
|
||||
"integrity": "sha512-YBE5kYKARFWi+8HAiUVJxF9WpkdlW2ebH6K4oZt6mnOWROkPS+30Kjjxlz+Q994KhSZGBHKK0d3TU11xXUqyAQ==",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@babel/runtime-corejs3": "^7.26.10",
|
||||
"@swagger-api/apidom-core": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-error": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-ns-json-schema-2019-09": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-core": "^1.0.1",
|
||||
"@swagger-api/apidom-error": "^1.0.1",
|
||||
"@swagger-api/apidom-ns-json-schema-2019-09": "^1.0.1",
|
||||
"@types/ramda": "~0.30.0",
|
||||
"ramda": "~0.30.0",
|
||||
"ramda-adjunct": "^5.0.0",
|
||||
@@ -4924,14 +4940,14 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@swagger-api/apidom-ns-json-schema-draft-4": {
|
||||
"version": "1.0.0-rc.4",
|
||||
"resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-json-schema-draft-4/-/apidom-ns-json-schema-draft-4-1.0.0-rc.4.tgz",
|
||||
"integrity": "sha512-FOqR+EMMt5QPXmQv/gJ/syzp+G5QCrb+5n3tkmVwBNKhiPHcX4kOHt6/8wZo/6V++hhv1IzCt1JwGJGiNEuK9A==",
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-json-schema-draft-4/-/apidom-ns-json-schema-draft-4-1.0.1.tgz",
|
||||
"integrity": "sha512-OR3D7EXVq2H07n9uPKpNCikKC5857Pggbi1g5rt9X0znaUgxTtkYu8unPfbEcjQgFVglzIwqbGhMnahUFXYaTA==",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@babel/runtime-corejs3": "^7.26.10",
|
||||
"@swagger-api/apidom-ast": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-core": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-ast": "^1.0.1",
|
||||
"@swagger-api/apidom-core": "^1.0.1",
|
||||
"@types/ramda": "~0.30.0",
|
||||
"ramda": "~0.30.0",
|
||||
"ramda-adjunct": "^5.0.0",
|
||||
@@ -4939,15 +4955,15 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@swagger-api/apidom-ns-json-schema-draft-6": {
|
||||
"version": "1.0.0-rc.4",
|
||||
"resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-json-schema-draft-6/-/apidom-ns-json-schema-draft-6-1.0.0-rc.4.tgz",
|
||||
"integrity": "sha512-OQonOTVyPzKUvE2+6AB+JK7rkqqd0AG0QyarSyPJH+vbt2Nsj2tUaEXNY3WeP9OX1xvbtUysR74fefsOkjzO1Q==",
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-json-schema-draft-6/-/apidom-ns-json-schema-draft-6-1.0.1.tgz",
|
||||
"integrity": "sha512-J9/aSU9/YwiRU/avkSN1APYPs9sYVyrzaMpfq7XIY8xMFC4buwrPzCymrqshSOLbn1Qzr9Ruavcqx5Bwt0EuRg==",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@babel/runtime-corejs3": "^7.26.10",
|
||||
"@swagger-api/apidom-core": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-error": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-ns-json-schema-draft-4": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-core": "^1.0.1",
|
||||
"@swagger-api/apidom-error": "^1.0.1",
|
||||
"@swagger-api/apidom-ns-json-schema-draft-4": "^1.0.1",
|
||||
"@types/ramda": "~0.30.0",
|
||||
"ramda": "~0.30.0",
|
||||
"ramda-adjunct": "^5.0.0",
|
||||
@@ -4955,15 +4971,15 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@swagger-api/apidom-ns-json-schema-draft-7": {
|
||||
"version": "1.0.0-rc.4",
|
||||
"resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-json-schema-draft-7/-/apidom-ns-json-schema-draft-7-1.0.0-rc.4.tgz",
|
||||
"integrity": "sha512-p1YbbkHQDD0REbz30F/vMXjPjsh7j7jIjaHNgFv3zC+KZN776GkOwQIpdP56lwneWFdMj9jOSRhwBKp34h9iXw==",
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-json-schema-draft-7/-/apidom-ns-json-schema-draft-7-1.0.1.tgz",
|
||||
"integrity": "sha512-b8pNff3epzweot5Edoa05mM/jBMgvjqajvNTOvOa8SNPWHWLjSJNYkBT2jI3BnFqqEMMo7litEfKnblblFuDtQ==",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@babel/runtime-corejs3": "^7.26.10",
|
||||
"@swagger-api/apidom-core": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-error": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-ns-json-schema-draft-6": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-core": "^1.0.1",
|
||||
"@swagger-api/apidom-error": "^1.0.1",
|
||||
"@swagger-api/apidom-ns-json-schema-draft-6": "^1.0.1",
|
||||
"@types/ramda": "~0.30.0",
|
||||
"ramda": "~0.30.0",
|
||||
"ramda-adjunct": "^5.0.0",
|
||||
@@ -4971,16 +4987,16 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@swagger-api/apidom-ns-openapi-2": {
|
||||
"version": "1.0.0-rc.4",
|
||||
"resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-openapi-2/-/apidom-ns-openapi-2-1.0.0-rc.4.tgz",
|
||||
"integrity": "sha512-Wil2egcmJJIrgEDYGZVaDIMGlnLhcBw8I5ZjWBgyU8nLocuqdKVE8I1TwPO+7830dnfjCaXs+nUzfgkBcGefMg==",
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-openapi-2/-/apidom-ns-openapi-2-1.0.1.tgz",
|
||||
"integrity": "sha512-XZ1xHHvsZZaNNHkqk0KWggZxMM2Av5eJdjbxwLij7TFWjodYVJAMZLyWG15llDBjnTXQYtpFIVLGjndf2oC7Xg==",
|
||||
"license": "Apache-2.0",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"@babel/runtime-corejs3": "^7.26.10",
|
||||
"@swagger-api/apidom-core": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-error": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-ns-json-schema-draft-4": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-core": "^1.0.1",
|
||||
"@swagger-api/apidom-error": "^1.0.1",
|
||||
"@swagger-api/apidom-ns-json-schema-draft-4": "^1.0.1",
|
||||
"@types/ramda": "~0.30.0",
|
||||
"ramda": "~0.30.0",
|
||||
"ramda-adjunct": "^5.0.0",
|
||||
@@ -4988,15 +5004,15 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@swagger-api/apidom-ns-openapi-3-0": {
|
||||
"version": "1.0.0-rc.4",
|
||||
"resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-openapi-3-0/-/apidom-ns-openapi-3-0-1.0.0-rc.4.tgz",
|
||||
"integrity": "sha512-t4ZX6I76fcrCsV1Aj8Um6LiIceVCKNgakg5MIuBiRZaA0q8fZPerLSD1KIYMLWPd+cV5ptKZyv+bugzhlhQtTg==",
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-openapi-3-0/-/apidom-ns-openapi-3-0-1.0.1.tgz",
|
||||
"integrity": "sha512-BAypZcl8NO+jYpAmAXJVCLVe4f+v3ZoZN21Oxu03N2lsv+qz/P9vpl+6C0dOfta6X8fACkuGr4KIGU6leUPpJg==",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@babel/runtime-corejs3": "^7.26.10",
|
||||
"@swagger-api/apidom-core": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-error": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-ns-json-schema-draft-4": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-core": "^1.0.1",
|
||||
"@swagger-api/apidom-error": "^1.0.1",
|
||||
"@swagger-api/apidom-ns-json-schema-draft-4": "^1.0.1",
|
||||
"@types/ramda": "~0.30.0",
|
||||
"ramda": "~0.30.0",
|
||||
"ramda-adjunct": "^5.0.0",
|
||||
@@ -5004,17 +5020,17 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@swagger-api/apidom-ns-openapi-3-1": {
|
||||
"version": "1.0.0-rc.4",
|
||||
"resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-openapi-3-1/-/apidom-ns-openapi-3-1-1.0.0-rc.4.tgz",
|
||||
"integrity": "sha512-Ibv8PP0npBb8QupINmluQmLCZ1IhANlRUic8K7k32Lbc9ejMGTLCKGl2J3hPPeKsER3zqfEjHAhkins9r/CJcw==",
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-openapi-3-1/-/apidom-ns-openapi-3-1-1.0.1.tgz",
|
||||
"integrity": "sha512-nIkgyIW8XTV+zjzLKxP1JaA/lpgmtsRBLshh1mL+Fspd+RYAhyMpRDRNvBOmkIhva9Dst9LNYyMjBP9ssfKUwg==",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@babel/runtime-corejs3": "^7.26.10",
|
||||
"@swagger-api/apidom-ast": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-core": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-json-pointer": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-ns-json-schema-2020-12": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-ns-openapi-3-0": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-ast": "^1.0.1",
|
||||
"@swagger-api/apidom-core": "^1.0.1",
|
||||
"@swagger-api/apidom-json-pointer": "^1.0.1",
|
||||
"@swagger-api/apidom-ns-json-schema-2020-12": "^1.0.1",
|
||||
"@swagger-api/apidom-ns-openapi-3-0": "^1.0.1",
|
||||
"@types/ramda": "~0.30.0",
|
||||
"ramda": "~0.30.0",
|
||||
"ramda-adjunct": "^5.0.0",
|
||||
@@ -5022,112 +5038,144 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@swagger-api/apidom-parser-adapter-api-design-systems-json": {
|
||||
"version": "1.0.0-rc.4",
|
||||
"resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-api-design-systems-json/-/apidom-parser-adapter-api-design-systems-json-1.0.0-rc.4.tgz",
|
||||
"integrity": "sha512-/K9xj7tL6RB6B+krFf5JlzEGb3bebVt5c6t9a0ZZps+4TjcAQ3M1B9Gs3+ngR6Hy2RwtqIPKWKl0fhgfpArmnw==",
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-api-design-systems-json/-/apidom-parser-adapter-api-design-systems-json-1.0.1.tgz",
|
||||
"integrity": "sha512-Udj6vJ6Au+fcqZJZtgHlUi1Y/ImLHo8fx4ICSas7hewA7z1/eZ7Y3Yp8YSGZ7ZwqXHS6nnm5fBHws0DgAplnDA==",
|
||||
"license": "Apache-2.0",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"@babel/runtime-corejs3": "^7.26.10",
|
||||
"@swagger-api/apidom-core": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-ns-api-design-systems": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-parser-adapter-json": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-core": "^1.0.1",
|
||||
"@swagger-api/apidom-ns-api-design-systems": "^1.0.1",
|
||||
"@swagger-api/apidom-parser-adapter-json": "^1.0.1",
|
||||
"@types/ramda": "~0.30.0",
|
||||
"ramda": "~0.30.0",
|
||||
"ramda-adjunct": "^5.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@swagger-api/apidom-parser-adapter-api-design-systems-yaml": {
|
||||
"version": "1.0.0-rc.4",
|
||||
"resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-api-design-systems-yaml/-/apidom-parser-adapter-api-design-systems-yaml-1.0.0-rc.4.tgz",
|
||||
"integrity": "sha512-+J4hMSe7+cKxuDDEVxyF7MGfvAFv7cbFdyBKUDkvkKjtdkh40+5msTJ2ePuSxibNqZTJFGZhaJBIaPOfbqLpUQ==",
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-api-design-systems-yaml/-/apidom-parser-adapter-api-design-systems-yaml-1.0.1.tgz",
|
||||
"integrity": "sha512-YZ2IuTEzUGXRF8oFuHHGZpM15hRnSI/rZnweGT984bX53HXi1NFpZdNxOz49vmkhFz6XJgxRXp1R3EDN/98urg==",
|
||||
"license": "Apache-2.0",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"@babel/runtime-corejs3": "^7.26.10",
|
||||
"@swagger-api/apidom-core": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-ns-api-design-systems": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-parser-adapter-yaml-1-2": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-core": "^1.0.1",
|
||||
"@swagger-api/apidom-ns-api-design-systems": "^1.0.1",
|
||||
"@swagger-api/apidom-parser-adapter-yaml-1-2": "^1.0.1",
|
||||
"@types/ramda": "~0.30.0",
|
||||
"ramda": "~0.30.0",
|
||||
"ramda-adjunct": "^5.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@swagger-api/apidom-parser-adapter-arazzo-json-1": {
|
||||
"version": "1.0.0-rc.4",
|
||||
"resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-arazzo-json-1/-/apidom-parser-adapter-arazzo-json-1-1.0.0-rc.4.tgz",
|
||||
"integrity": "sha512-7sDeZgV1SVwiWQmckvRgBwEBZXUavxvJr5m8C2daEge9DTM9LE3qNBAjWdwvd5E4sPeDdslSiCWT9Ipi+aiBsg==",
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-arazzo-json-1/-/apidom-parser-adapter-arazzo-json-1-1.0.1.tgz",
|
||||
"integrity": "sha512-Re8EcgYOITyTXvGeJyE/4ZNsprkSrkXVmHzyM9hqTWoMpDILnqOtbrjc0YwLkbe9awBkUMWJ51CEFLYALSYfDA==",
|
||||
"license": "Apache-2.0",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"@babel/runtime-corejs3": "^7.26.10",
|
||||
"@swagger-api/apidom-core": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-ns-arazzo-1": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-parser-adapter-json": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-core": "^1.0.1",
|
||||
"@swagger-api/apidom-ns-arazzo-1": "^1.0.1",
|
||||
"@swagger-api/apidom-parser-adapter-json": "^1.0.1",
|
||||
"@types/ramda": "~0.30.0",
|
||||
"ramda": "~0.30.0",
|
||||
"ramda-adjunct": "^5.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@swagger-api/apidom-parser-adapter-arazzo-yaml-1": {
|
||||
"version": "1.0.0-rc.4",
|
||||
"resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-arazzo-yaml-1/-/apidom-parser-adapter-arazzo-yaml-1-1.0.0-rc.4.tgz",
|
||||
"integrity": "sha512-UnU6RLRKNMm0qbHjINbfrFgKQd6tD2pRKySWgR9HxLVS+VTL3J4Oid2Tt3ND5xy6nE4qZrV5vusZNkdDewZk7A==",
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-arazzo-yaml-1/-/apidom-parser-adapter-arazzo-yaml-1-1.0.1.tgz",
|
||||
"integrity": "sha512-++BB47Vf9sarAf+YCvlt9V2OqFd8O5AZMr/xXBKTls4SzwpUcLf4oIQJpHcr/rl+bgI4CKwxKXHvnhg2vhEVmg==",
|
||||
"license": "Apache-2.0",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"@babel/runtime-corejs3": "^7.26.10",
|
||||
"@swagger-api/apidom-core": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-ns-arazzo-1": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-parser-adapter-yaml-1-2": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-core": "^1.0.1",
|
||||
"@swagger-api/apidom-ns-arazzo-1": "^1.0.1",
|
||||
"@swagger-api/apidom-parser-adapter-yaml-1-2": "^1.0.1",
|
||||
"@types/ramda": "~0.30.0",
|
||||
"ramda": "~0.30.0",
|
||||
"ramda-adjunct": "^5.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@swagger-api/apidom-parser-adapter-asyncapi-json-2": {
|
||||
"version": "1.0.0-rc.4",
|
||||
"resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-asyncapi-json-2/-/apidom-parser-adapter-asyncapi-json-2-1.0.0-rc.4.tgz",
|
||||
"integrity": "sha512-fZJgQWRXQxPcZurKxiY2IcdtuS33CxuJyFD9Z+72v3OvVWFEII6mWGC6NdqevzYaD7WUVXhsQjAqibBNIcyJiQ==",
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-asyncapi-json-2/-/apidom-parser-adapter-asyncapi-json-2-1.0.1.tgz",
|
||||
"integrity": "sha512-dd8djfZy2utM1xO7oxDPB/dmExSFgEA2l71gjHaKmhJw7O5NB8E/1663w9lD4NElj2Ft8kuGLLDsqyKNhXW/9w==",
|
||||
"license": "Apache-2.0",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"@babel/runtime-corejs3": "^7.26.10",
|
||||
"@swagger-api/apidom-core": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-ns-asyncapi-2": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-parser-adapter-json": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-core": "^1.0.1",
|
||||
"@swagger-api/apidom-ns-asyncapi-2": "^1.0.1",
|
||||
"@swagger-api/apidom-parser-adapter-json": "^1.0.1",
|
||||
"@types/ramda": "~0.30.0",
|
||||
"ramda": "~0.30.0",
|
||||
"ramda-adjunct": "^5.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@swagger-api/apidom-parser-adapter-asyncapi-json-3": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-asyncapi-json-3/-/apidom-parser-adapter-asyncapi-json-3-1.0.1.tgz",
|
||||
"integrity": "sha512-qD+gbnSnc9PlZ8b45knyWihrWOMKhnAHDnvzRllX+NiyM3XdBJ7B6yLn8dl6gZuKjTBHoMORLEefoTGvmskneA==",
|
||||
"license": "Apache-2.0",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"@babel/runtime-corejs3": "^7.26.10",
|
||||
"@swagger-api/apidom-core": "^1.0.1",
|
||||
"@swagger-api/apidom-ns-asyncapi-3": "^1.0.1",
|
||||
"@swagger-api/apidom-parser-adapter-json": "^1.0.1",
|
||||
"@types/ramda": "~0.30.0",
|
||||
"ramda": "~0.30.0",
|
||||
"ramda-adjunct": "^5.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@swagger-api/apidom-parser-adapter-asyncapi-yaml-2": {
|
||||
"version": "1.0.0-rc.4",
|
||||
"resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-asyncapi-yaml-2/-/apidom-parser-adapter-asyncapi-yaml-2-1.0.0-rc.4.tgz",
|
||||
"integrity": "sha512-WNmlRSHiCLu9uCsadnoaWYxzV/aagUHAeVTY+Zgq+4bSNWx9DZTX5X1v/IW4aD5MAW6j1Inz8U5qdxWnrEdBBg==",
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-asyncapi-yaml-2/-/apidom-parser-adapter-asyncapi-yaml-2-1.0.1.tgz",
|
||||
"integrity": "sha512-G5RS0pCFCOIsFflKvWbH+DblunmcAdVi5X9ETTTkGLa1IF5s0DIdjU46WxJAzEQpCXOvmUhpDspjaAYXxGTYpQ==",
|
||||
"license": "Apache-2.0",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"@babel/runtime-corejs3": "^7.26.10",
|
||||
"@swagger-api/apidom-core": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-ns-asyncapi-2": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-parser-adapter-yaml-1-2": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-core": "^1.0.1",
|
||||
"@swagger-api/apidom-ns-asyncapi-2": "^1.0.1",
|
||||
"@swagger-api/apidom-parser-adapter-yaml-1-2": "^1.0.1",
|
||||
"@types/ramda": "~0.30.0",
|
||||
"ramda": "~0.30.0",
|
||||
"ramda-adjunct": "^5.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@swagger-api/apidom-parser-adapter-asyncapi-yaml-3": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-asyncapi-yaml-3/-/apidom-parser-adapter-asyncapi-yaml-3-1.0.1.tgz",
|
||||
"integrity": "sha512-hzgUkTsuKYraY0NXQlaYe/j1/LkvNF/8r30Iz7/1B27BYLOKIwHoFGN6jUa8UBA9/0qSp8QPzSwVWFLrgNiqJQ==",
|
||||
"license": "Apache-2.0",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"@babel/runtime-corejs3": "^7.26.10",
|
||||
"@swagger-api/apidom-core": "^1.0.1",
|
||||
"@swagger-api/apidom-ns-asyncapi-3": "^1.0.1",
|
||||
"@swagger-api/apidom-parser-adapter-yaml-1-2": "^1.0.1",
|
||||
"@types/ramda": "~0.30.0",
|
||||
"ramda": "~0.30.0",
|
||||
"ramda-adjunct": "^5.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@swagger-api/apidom-parser-adapter-json": {
|
||||
"version": "1.0.0-rc.4",
|
||||
"resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-json/-/apidom-parser-adapter-json-1.0.0-rc.4.tgz",
|
||||
"integrity": "sha512-UuYtpZtXoWuukny/1WIz2szlfKc6XDNh0W1E8PtZqhFOUDgaq0qXB7OBB7E/lDAJAIzlWfJu1lR87C2pwbJSRw==",
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-json/-/apidom-parser-adapter-json-1.0.1.tgz",
|
||||
"integrity": "sha512-95V2aMBGZ76rYXcod/PCJpVEMK+9mPk/gDgsDKEq2ka+YVMTtR1tUkPUIBmWlNC+brh5reks1QocyQL8B4f3TQ==",
|
||||
"license": "Apache-2.0",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"@babel/runtime-corejs3": "^7.26.10",
|
||||
"@swagger-api/apidom-ast": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-core": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-error": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-ast": "^1.0.1",
|
||||
"@swagger-api/apidom-core": "^1.0.1",
|
||||
"@swagger-api/apidom-error": "^1.0.1",
|
||||
"@types/ramda": "~0.30.0",
|
||||
"ramda": "~0.30.0",
|
||||
"ramda-adjunct": "^5.0.0",
|
||||
@@ -5157,112 +5205,112 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@swagger-api/apidom-parser-adapter-openapi-json-2": {
|
||||
"version": "1.0.0-rc.4",
|
||||
"resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-json-2/-/apidom-parser-adapter-openapi-json-2-1.0.0-rc.4.tgz",
|
||||
"integrity": "sha512-2OgY9MO0U2Ma7OiIOvsT7cn0J5XbfWy9JnOEGm6DCh+b1m+NGWSXuPKGB9o/R3DJu5Jar9ol7Mu+oyb6ENJKdg==",
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-json-2/-/apidom-parser-adapter-openapi-json-2-1.0.1.tgz",
|
||||
"integrity": "sha512-Gp02eAA32SN+hAgVDc82xpkUthHn0oAdLdri5g3co4pa45XVRsBSHS3L/H3NEbhDJ8wpXjcg+FLs/OAwcm42yw==",
|
||||
"license": "Apache-2.0",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"@babel/runtime-corejs3": "^7.26.10",
|
||||
"@swagger-api/apidom-core": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-ns-openapi-2": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-parser-adapter-json": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-core": "^1.0.1",
|
||||
"@swagger-api/apidom-ns-openapi-2": "^1.0.1",
|
||||
"@swagger-api/apidom-parser-adapter-json": "^1.0.1",
|
||||
"@types/ramda": "~0.30.0",
|
||||
"ramda": "~0.30.0",
|
||||
"ramda-adjunct": "^5.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@swagger-api/apidom-parser-adapter-openapi-json-3-0": {
|
||||
"version": "1.0.0-rc.4",
|
||||
"resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-json-3-0/-/apidom-parser-adapter-openapi-json-3-0-1.0.0-rc.4.tgz",
|
||||
"integrity": "sha512-XvZsBuUO2UY5qXsizw03A+dy745ZWvekwS0J3o5RmPoEuJ1eeRNXsUn+JoAHascX81vzlkam71Xp9XpcAlybYQ==",
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-json-3-0/-/apidom-parser-adapter-openapi-json-3-0-1.0.1.tgz",
|
||||
"integrity": "sha512-Ls3U0stAtMqvzesy981crjDa7vwqGHlCoulHIsWQ/V74dHg3Nl1Vg9AgerefKg8LHxxLiYTZJITfsWQMYsnlkA==",
|
||||
"license": "Apache-2.0",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"@babel/runtime-corejs3": "^7.26.10",
|
||||
"@swagger-api/apidom-core": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-ns-openapi-3-0": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-parser-adapter-json": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-core": "^1.0.1",
|
||||
"@swagger-api/apidom-ns-openapi-3-0": "^1.0.1",
|
||||
"@swagger-api/apidom-parser-adapter-json": "^1.0.1",
|
||||
"@types/ramda": "~0.30.0",
|
||||
"ramda": "~0.30.0",
|
||||
"ramda-adjunct": "^5.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@swagger-api/apidom-parser-adapter-openapi-json-3-1": {
|
||||
"version": "1.0.0-rc.4",
|
||||
"resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-json-3-1/-/apidom-parser-adapter-openapi-json-3-1-1.0.0-rc.4.tgz",
|
||||
"integrity": "sha512-cydbVKumtVTTfTnbtvfw1kayYRbQyTS6iZ5s/Y6xyZb7ro5VNi6XZy6htOu0EvXUBS/NJjY9YDeWcVKGUEuohw==",
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-json-3-1/-/apidom-parser-adapter-openapi-json-3-1-1.0.1.tgz",
|
||||
"integrity": "sha512-Xsf3jUCfgqZqZjiABWifPynBDLPkW54V210Oa4SvgyI7ZWgubcy5/Wgd68wvhq4knauRXqRmbgKc+WRm0UP3xw==",
|
||||
"license": "Apache-2.0",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"@babel/runtime-corejs3": "^7.26.10",
|
||||
"@swagger-api/apidom-core": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-ns-openapi-3-1": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-parser-adapter-json": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-core": "^1.0.1",
|
||||
"@swagger-api/apidom-ns-openapi-3-1": "^1.0.1",
|
||||
"@swagger-api/apidom-parser-adapter-json": "^1.0.1",
|
||||
"@types/ramda": "~0.30.0",
|
||||
"ramda": "~0.30.0",
|
||||
"ramda-adjunct": "^5.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@swagger-api/apidom-parser-adapter-openapi-yaml-2": {
|
||||
"version": "1.0.0-rc.4",
|
||||
"resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-yaml-2/-/apidom-parser-adapter-openapi-yaml-2-1.0.0-rc.4.tgz",
|
||||
"integrity": "sha512-pqoPgMFOvJJ2v4qA9MKMnTlhOYST+o2WhYmY34GMCoZrRrHue0rnvjtsAyH9BQNk9WEmS1gdonKpyHl6a5bewQ==",
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-yaml-2/-/apidom-parser-adapter-openapi-yaml-2-1.0.1.tgz",
|
||||
"integrity": "sha512-SygtOXG9XF6lYveg6rymk4u1Twgk1VTxzyVkQ8I6eQoGyBoYfJC00sI6qep9bGU/VnsaRaN/H8+N0vXBeAOsPg==",
|
||||
"license": "Apache-2.0",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"@babel/runtime-corejs3": "^7.26.10",
|
||||
"@swagger-api/apidom-core": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-ns-openapi-2": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-parser-adapter-yaml-1-2": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-core": "^1.0.1",
|
||||
"@swagger-api/apidom-ns-openapi-2": "^1.0.1",
|
||||
"@swagger-api/apidom-parser-adapter-yaml-1-2": "^1.0.1",
|
||||
"@types/ramda": "~0.30.0",
|
||||
"ramda": "~0.30.0",
|
||||
"ramda-adjunct": "^5.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@swagger-api/apidom-parser-adapter-openapi-yaml-3-0": {
|
||||
"version": "1.0.0-rc.4",
|
||||
"resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-yaml-3-0/-/apidom-parser-adapter-openapi-yaml-3-0-1.0.0-rc.4.tgz",
|
||||
"integrity": "sha512-7J+iWKNC6pjWGAsOy5it2FDJGYyiDJ+rvIrUFAiK3Giqk9t70/s6PmH54DtVnb8rzmpX/udd8PVxTE6uImru1Q==",
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-yaml-3-0/-/apidom-parser-adapter-openapi-yaml-3-0-1.0.1.tgz",
|
||||
"integrity": "sha512-xm8tY1NYe329tGF01WCtCi7uepppORWs3WpwzskSiZnDAmyjIu5ez3R0RFPCiXnMRGgj4wO6UzjawSrKGTJHjA==",
|
||||
"license": "Apache-2.0",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"@babel/runtime-corejs3": "^7.26.10",
|
||||
"@swagger-api/apidom-core": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-ns-openapi-3-0": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-parser-adapter-yaml-1-2": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-core": "^1.0.1",
|
||||
"@swagger-api/apidom-ns-openapi-3-0": "^1.0.1",
|
||||
"@swagger-api/apidom-parser-adapter-yaml-1-2": "^1.0.1",
|
||||
"@types/ramda": "~0.30.0",
|
||||
"ramda": "~0.30.0",
|
||||
"ramda-adjunct": "^5.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@swagger-api/apidom-parser-adapter-openapi-yaml-3-1": {
|
||||
"version": "1.0.0-rc.4",
|
||||
"resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-yaml-3-1/-/apidom-parser-adapter-openapi-yaml-3-1-1.0.0-rc.4.tgz",
|
||||
"integrity": "sha512-N3ehKEKvEWkZjL6QAV4Fwepa+2lSSun8DYN1h+ScVMa/QSWQh558vSXv6cF49ClYIO+IQjZg1fsbDoVg7qjlcA==",
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-yaml-3-1/-/apidom-parser-adapter-openapi-yaml-3-1-1.0.1.tgz",
|
||||
"integrity": "sha512-p0G3g63Jcd4Z5Y2hStNB0NgjwYJg9VBLhkDcmFdmKCbz9vYA45rMN+wn62pqkWQE7KBZ1F1zY0wacRlUy0VuuQ==",
|
||||
"license": "Apache-2.0",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"@babel/runtime-corejs3": "^7.26.10",
|
||||
"@swagger-api/apidom-core": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-ns-openapi-3-1": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-parser-adapter-yaml-1-2": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-core": "^1.0.1",
|
||||
"@swagger-api/apidom-ns-openapi-3-1": "^1.0.1",
|
||||
"@swagger-api/apidom-parser-adapter-yaml-1-2": "^1.0.1",
|
||||
"@types/ramda": "~0.30.0",
|
||||
"ramda": "~0.30.0",
|
||||
"ramda-adjunct": "^5.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@swagger-api/apidom-parser-adapter-yaml-1-2": {
|
||||
"version": "1.0.0-rc.4",
|
||||
"resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-yaml-1-2/-/apidom-parser-adapter-yaml-1-2-1.0.0-rc.4.tgz",
|
||||
"integrity": "sha512-go/s36rTmkgVIBt4Q/oAJzwRTwRjVdFQPeQGnuS6eX5mxMUWxzVrsKKLJ2qul5y8DVkzZsZ6K897RI5H0fUuuQ==",
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-yaml-1-2/-/apidom-parser-adapter-yaml-1-2-1.0.1.tgz",
|
||||
"integrity": "sha512-ppNo8mncbGA3TchroLmcDv1WUw9vruHa4M96WbWqI7cwH3zdJ1UddwfHkZ5IaCOUU08Iyo2uzMMRaarALAsl8g==",
|
||||
"license": "Apache-2.0",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"@babel/runtime-corejs3": "^7.26.10",
|
||||
"@swagger-api/apidom-ast": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-core": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-error": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-ast": "^1.0.1",
|
||||
"@swagger-api/apidom-core": "^1.0.1",
|
||||
"@swagger-api/apidom-error": "^1.0.1",
|
||||
"@tree-sitter-grammars/tree-sitter-yaml": "=0.7.1",
|
||||
"@types/ramda": "~0.30.0",
|
||||
"ramda": "~0.30.0",
|
||||
@@ -5272,14 +5320,14 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@swagger-api/apidom-reference": {
|
||||
"version": "1.0.0-rc.4",
|
||||
"resolved": "https://registry.npmjs.org/@swagger-api/apidom-reference/-/apidom-reference-1.0.0-rc.4.tgz",
|
||||
"integrity": "sha512-H0eVImmOEp8TjRBcVQuyBsCcUCR5094POMcgvcipUyKwAus62PwMivn1eQc+e/wyZSm7qqEbv1ksOcDLHltykA==",
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@swagger-api/apidom-reference/-/apidom-reference-1.0.1.tgz",
|
||||
"integrity": "sha512-FvM6cooFx1ppWN9gKXSLFG2Y4u3SRdv1FIJxj+5VC/6V3++BF2LUFkb7hK0IOaAjw2vQ7G0NUyP+5UY/3qKBjA==",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@babel/runtime-corejs3": "^7.26.10",
|
||||
"@swagger-api/apidom-core": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-error": "^1.0.0-rc.4",
|
||||
"@swagger-api/apidom-core": "^1.0.1",
|
||||
"@swagger-api/apidom-error": "^1.0.1",
|
||||
"@types/ramda": "~0.30.0",
|
||||
"axios": "^1.12.2",
|
||||
"minimatch": "^7.4.3",
|
||||
@@ -5288,26 +5336,28 @@
|
||||
"ramda-adjunct": "^5.0.0"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@swagger-api/apidom-json-pointer": "^1.0.0-rc.0",
|
||||
"@swagger-api/apidom-ns-arazzo-1": "^1.0.0-rc.0",
|
||||
"@swagger-api/apidom-ns-asyncapi-2": "^1.0.0-rc.0",
|
||||
"@swagger-api/apidom-ns-openapi-2": "^1.0.0-rc.0",
|
||||
"@swagger-api/apidom-ns-openapi-3-0": "^1.0.0-rc.0",
|
||||
"@swagger-api/apidom-ns-openapi-3-1": "^1.0.0-rc.0",
|
||||
"@swagger-api/apidom-parser-adapter-api-design-systems-json": "^1.0.0-rc.0",
|
||||
"@swagger-api/apidom-parser-adapter-api-design-systems-yaml": "^1.0.0-rc.0",
|
||||
"@swagger-api/apidom-parser-adapter-arazzo-json-1": "^1.0.0-rc.0",
|
||||
"@swagger-api/apidom-parser-adapter-arazzo-yaml-1": "^1.0.0-rc.0",
|
||||
"@swagger-api/apidom-parser-adapter-asyncapi-json-2": "^1.0.0-rc.0",
|
||||
"@swagger-api/apidom-parser-adapter-asyncapi-yaml-2": "^1.0.0-rc.0",
|
||||
"@swagger-api/apidom-parser-adapter-json": "^1.0.0-rc.0",
|
||||
"@swagger-api/apidom-parser-adapter-openapi-json-2": "^1.0.0-rc.0",
|
||||
"@swagger-api/apidom-parser-adapter-openapi-json-3-0": "^1.0.0-rc.0",
|
||||
"@swagger-api/apidom-parser-adapter-openapi-json-3-1": "^1.0.0-rc.0",
|
||||
"@swagger-api/apidom-parser-adapter-openapi-yaml-2": "^1.0.0-rc.0",
|
||||
"@swagger-api/apidom-parser-adapter-openapi-yaml-3-0": "^1.0.0-rc.0",
|
||||
"@swagger-api/apidom-parser-adapter-openapi-yaml-3-1": "^1.0.0-rc.0",
|
||||
"@swagger-api/apidom-parser-adapter-yaml-1-2": "^1.0.0-rc.0"
|
||||
"@swagger-api/apidom-json-pointer": "^1.0.1",
|
||||
"@swagger-api/apidom-ns-arazzo-1": "^1.0.1",
|
||||
"@swagger-api/apidom-ns-asyncapi-2": "^1.0.1",
|
||||
"@swagger-api/apidom-ns-openapi-2": "^1.0.1",
|
||||
"@swagger-api/apidom-ns-openapi-3-0": "^1.0.1",
|
||||
"@swagger-api/apidom-ns-openapi-3-1": "^1.0.1",
|
||||
"@swagger-api/apidom-parser-adapter-api-design-systems-json": "^1.0.1",
|
||||
"@swagger-api/apidom-parser-adapter-api-design-systems-yaml": "^1.0.1",
|
||||
"@swagger-api/apidom-parser-adapter-arazzo-json-1": "^1.0.1",
|
||||
"@swagger-api/apidom-parser-adapter-arazzo-yaml-1": "^1.0.1",
|
||||
"@swagger-api/apidom-parser-adapter-asyncapi-json-2": "^1.0.1",
|
||||
"@swagger-api/apidom-parser-adapter-asyncapi-json-3": "^1.0.1",
|
||||
"@swagger-api/apidom-parser-adapter-asyncapi-yaml-2": "^1.0.1",
|
||||
"@swagger-api/apidom-parser-adapter-asyncapi-yaml-3": "^1.0.1",
|
||||
"@swagger-api/apidom-parser-adapter-json": "^1.0.1",
|
||||
"@swagger-api/apidom-parser-adapter-openapi-json-2": "^1.0.1",
|
||||
"@swagger-api/apidom-parser-adapter-openapi-json-3-0": "^1.0.1",
|
||||
"@swagger-api/apidom-parser-adapter-openapi-json-3-1": "^1.0.1",
|
||||
"@swagger-api/apidom-parser-adapter-openapi-yaml-2": "^1.0.1",
|
||||
"@swagger-api/apidom-parser-adapter-openapi-yaml-3-0": "^1.0.1",
|
||||
"@swagger-api/apidom-parser-adapter-openapi-yaml-3-1": "^1.0.1",
|
||||
"@swagger-api/apidom-parser-adapter-yaml-1-2": "^1.0.1"
|
||||
}
|
||||
},
|
||||
"node_modules/@swagger-api/apidom-reference/node_modules/axios": {
|
||||
@@ -5718,9 +5768,9 @@
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@types/node": {
|
||||
"version": "24.10.1",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-24.10.1.tgz",
|
||||
"integrity": "sha512-GNWcUTRBgIRJD5zj+Tq0fKOJ5XZajIiBroOF0yvj2bSU1WvNdYS/dn9UxwsujGW4JX06dnHyjV2y9rRaybH0iQ==",
|
||||
"version": "24.10.2",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-24.10.2.tgz",
|
||||
"integrity": "sha512-WOhQTZ4G8xZ1tjJTvKOpyEVSGgOTvJAfDK3FNFgELyaTpzhdgHVHeqW8V+UJvzF5BT+/B54T/1S2K6gd9c7bbA==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
@@ -7439,9 +7489,9 @@
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/baseline-browser-mapping": {
|
||||
"version": "2.8.32",
|
||||
"resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.32.tgz",
|
||||
"integrity": "sha512-OPz5aBThlyLFgxyhdwf/s2+8ab3OvT7AdTNvKHBwpXomIYeXqpUUuT8LrdtxZSsWJ4R4CU1un4XGh5Ez3nlTpw==",
|
||||
"version": "2.9.5",
|
||||
"resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.5.tgz",
|
||||
"integrity": "sha512-D5vIoztZOq1XM54LUdttJVc96ggEsIfju2JBvht06pSzpckp3C7HReun67Bghzrtdsq9XdMGbSSB3v3GhMNmAA==",
|
||||
"devOptional": true,
|
||||
"license": "Apache-2.0",
|
||||
"bin": {
|
||||
@@ -7615,9 +7665,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/browserslist": {
|
||||
"version": "4.28.0",
|
||||
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.0.tgz",
|
||||
"integrity": "sha512-tbydkR/CxfMwelN0vwdP/pLkDwyAASZ+VfWm4EOwlB6SWhx1sYnWLqo8N5j0rAzPfzfRaxt0mM/4wPU/Su84RQ==",
|
||||
"version": "4.28.1",
|
||||
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz",
|
||||
"integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==",
|
||||
"devOptional": true,
|
||||
"funding": [
|
||||
{
|
||||
@@ -7636,11 +7686,11 @@
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"baseline-browser-mapping": "^2.8.25",
|
||||
"caniuse-lite": "^1.0.30001754",
|
||||
"electron-to-chromium": "^1.5.249",
|
||||
"baseline-browser-mapping": "^2.9.0",
|
||||
"caniuse-lite": "^1.0.30001759",
|
||||
"electron-to-chromium": "^1.5.263",
|
||||
"node-releases": "^2.0.27",
|
||||
"update-browserslist-db": "^1.1.4"
|
||||
"update-browserslist-db": "^1.2.0"
|
||||
},
|
||||
"bin": {
|
||||
"browserslist": "cli.js"
|
||||
@@ -7819,9 +7869,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/caniuse-lite": {
|
||||
"version": "1.0.30001757",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001757.tgz",
|
||||
"integrity": "sha512-r0nnL/I28Zi/yjk1el6ilj27tKcdjLsNqAOZr0yVjWPrSQyHgKI2INaEWw21bAQSv2LXRt1XuCS/GomNpWOxsQ==",
|
||||
"version": "1.0.30001760",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001760.tgz",
|
||||
"integrity": "sha512-7AAMPcueWELt1p3mi13HR/LHH0TJLT11cnwDJEs3xA4+CK/PLKeO9Kl1oru24htkyUKtkGCvAx4ohB0Ttry8Dw==",
|
||||
"devOptional": true,
|
||||
"funding": [
|
||||
{
|
||||
@@ -9455,9 +9505,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/electron-to-chromium": {
|
||||
"version": "1.5.262",
|
||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.262.tgz",
|
||||
"integrity": "sha512-NlAsMteRHek05jRUxUR0a5jpjYq9ykk6+kO0yRaMi5moe7u0fVIOeQ3Y30A8dIiWFBNUoQGi1ljb1i5VtS9WQQ==",
|
||||
"version": "1.5.267",
|
||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.267.tgz",
|
||||
"integrity": "sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw==",
|
||||
"devOptional": true,
|
||||
"license": "ISC"
|
||||
},
|
||||
@@ -10604,9 +10654,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/express": {
|
||||
"version": "4.22.0",
|
||||
"resolved": "https://registry.npmjs.org/express/-/express-4.22.0.tgz",
|
||||
"integrity": "sha512-c2iPh3xp5vvCLgaHK03+mWLFPhox7j1LwyxcZwFVApEv5i0X+IjPpbT50SJJwwLpdBVfp45AkK/v+AFgv/XlfQ==",
|
||||
"version": "4.22.1",
|
||||
"resolved": "https://registry.npmjs.org/express/-/express-4.22.1.tgz",
|
||||
"integrity": "sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@@ -15890,9 +15940,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/node-forge": {
|
||||
"version": "1.3.2",
|
||||
"resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.2.tgz",
|
||||
"integrity": "sha512-6xKiQ+cph9KImrRh0VsjH2d8/GXA4FIMlgU4B757iI1ApvcyA9VlouP0yZJha01V+huImO+kKMU7ih+2+E14fw==",
|
||||
"version": "1.3.3",
|
||||
"resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.3.tgz",
|
||||
"integrity": "sha512-rLvcdSyRCyouf6jcOIPe/BgwG/d7hKjzMKOas33/pHEr6gbq18IK9zV7DiPvzsz0oBJPme6qr6H6kGZuI9/DZg==",
|
||||
"dev": true,
|
||||
"license": "(BSD-3-Clause OR GPL-2.0)",
|
||||
"engines": {
|
||||
@@ -15984,9 +16034,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/nwsapi": {
|
||||
"version": "2.2.22",
|
||||
"resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.22.tgz",
|
||||
"integrity": "sha512-ujSMe1OWVn55euT1ihwCI1ZcAaAU3nxUiDwfDQldc51ZXaB9m2AyOn6/jh1BLe2t/G8xd6uKG1UBF2aZJeg2SQ==",
|
||||
"version": "2.2.23",
|
||||
"resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.23.tgz",
|
||||
"integrity": "sha512-7wfH4sLbt4M0gCDzGE6vzQBo0bfTKjU7Sfpqy/7gs1qBfYz2vEJH6vXcBKpO3+6Yu1telwd0t9HpyOoLEQQbIQ==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
@@ -21003,9 +21053,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/terser-webpack-plugin": {
|
||||
"version": "5.3.14",
|
||||
"resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.14.tgz",
|
||||
"integrity": "sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw==",
|
||||
"version": "5.3.15",
|
||||
"resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.15.tgz",
|
||||
"integrity": "sha512-PGkOdpRFK+rb1TzVz+msVhw4YMRT9txLF4kRqvJhGhCM324xuR3REBSHALN+l+sAhKUmz0aotnjp5D+P83mLhQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@@ -21721,9 +21771,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/update-browserslist-db": {
|
||||
"version": "1.1.4",
|
||||
"resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.4.tgz",
|
||||
"integrity": "sha512-q0SPT4xyU84saUX+tomz1WLkxUbuaJnR1xWt17M7fJtEJigJeWUNGUqrauFXsHnqev9y9JTRGwk13tFBuKby4A==",
|
||||
"version": "1.2.2",
|
||||
"resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.2.tgz",
|
||||
"integrity": "sha512-E85pfNzMQ9jpKkA7+TJAi4TJN+tBCuWh5rUcS/sv6cFi+1q9LYDwDI5dpUL0u/73EElyQ8d3TEaeW4sPedBqYA==",
|
||||
"devOptional": true,
|
||||
"funding": [
|
||||
{
|
||||
|
||||
+1
-1
@@ -15,7 +15,7 @@
|
||||
"@mui/x-data-grid-pro": "5.17.23",
|
||||
"@mui/x-date-pickers": "7.1.1",
|
||||
"@mui/x-license-pro": "5.12.3",
|
||||
"@qrunio/qqq-frontend-core": "1.3.7-SNAPSHOT",
|
||||
"@qrunio/qqq-frontend-core": "1.3.8-SNAPSHOT",
|
||||
"@react-jvectormap/core": "1.0.1",
|
||||
"@react-jvectormap/unitedstates": "1.0.1",
|
||||
"@react-oauth/google": "0.2.8",
|
||||
|
||||
@@ -75,6 +75,7 @@ interface Props
|
||||
entityPrimaryKey?: string;
|
||||
record?: QRecord;
|
||||
omitWrappingGridContainer: boolean;
|
||||
omitPaddingOnWidget: boolean;
|
||||
areChildren?: boolean;
|
||||
childUrlParams?: string;
|
||||
parentWidgetMetaData?: QWidgetMetaData;
|
||||
@@ -90,6 +91,7 @@ DashboardWidgets.defaultProps = {
|
||||
tableName: null,
|
||||
entityPrimaryKey: null,
|
||||
omitWrappingGridContainer: false,
|
||||
omitPaddingOnWidget: false,
|
||||
areChildren: false,
|
||||
childUrlParams: "",
|
||||
parentWidgetMetaData: null,
|
||||
@@ -100,7 +102,7 @@ DashboardWidgets.defaultProps = {
|
||||
screen: "dashboard",
|
||||
};
|
||||
|
||||
function DashboardWidgets({widgetMetaDataList, tableName, entityPrimaryKey, record, omitWrappingGridContainer, areChildren, childUrlParams, parentWidgetMetaData, wrapWidgetsInTabPanels, actionCallback, initialWidgetDataList, values, screen}: Props): JSX.Element
|
||||
function DashboardWidgets({widgetMetaDataList, tableName, entityPrimaryKey, record, omitWrappingGridContainer, omitPaddingOnWidget, areChildren, childUrlParams, parentWidgetMetaData, wrapWidgetsInTabPanels, actionCallback, initialWidgetDataList, values, screen}: Props): JSX.Element
|
||||
{
|
||||
const [widgetData, setWidgetData] = useState(initialWidgetDataList == null ? [] as any[] : initialWidgetDataList);
|
||||
const [errorsLoading, setErrorsLoading] = useState([] as any[]);
|
||||
@@ -468,12 +470,12 @@ function DashboardWidgets({widgetMetaDataList, tableName, entityPrimaryKey, reco
|
||||
message = "Error: " + e.message;
|
||||
}
|
||||
|
||||
return (<Widget widgetMetaData={widgetMetaData}>
|
||||
return (<Widget widgetMetaData={widgetMetaData} omitPadding={omitPaddingOnWidget}>
|
||||
<Alert severity="error">{message}</Alert>
|
||||
</Widget>);
|
||||
}
|
||||
|
||||
return (<Widget widgetMetaData={widgetMetaData}>
|
||||
return (<Widget widgetMetaData={widgetMetaData} omitPadding={omitPaddingOnWidget}>
|
||||
{
|
||||
skeleton ? skeleton : <Skeleton></Skeleton>
|
||||
}
|
||||
@@ -596,6 +598,7 @@ function DashboardWidgets({widgetMetaDataList, tableName, entityPrimaryKey, reco
|
||||
isChild={areChildren}
|
||||
labelAdditionalComponentsRight={labelAdditionalComponentsRight}
|
||||
labelAdditionalComponentsLeft={labelAdditionalComponentsLeft}
|
||||
omitPadding={omitPaddingOnWidget}
|
||||
>
|
||||
<StackedBarChart data={widgetData[i]?.chartData} chartSubheaderData={widgetData[i]?.chartSubheaderData} />
|
||||
</Widget>
|
||||
@@ -610,6 +613,7 @@ function DashboardWidgets({widgetMetaDataList, tableName, entityPrimaryKey, reco
|
||||
showReloadControl={false}
|
||||
labelAdditionalComponentsRight={labelAdditionalComponentsRight}
|
||||
labelAdditionalComponentsLeft={labelAdditionalComponentsLeft}
|
||||
omitPadding={omitPaddingOnWidget}
|
||||
>
|
||||
<div className="widgetProcessMidDiv" style={{height: "100%"}}>
|
||||
<ProcessRun process={widgetData[i]?.processMetaData} defaultProcessValues={widgetData[i]?.defaultValues} isWidget={true} forceReInit={widgetCounter} />
|
||||
@@ -625,6 +629,7 @@ function DashboardWidgets({widgetMetaDataList, tableName, entityPrimaryKey, reco
|
||||
reloadWidgetCallback={(data) => reloadWidget(i, data)}
|
||||
labelAdditionalComponentsRight={labelAdditionalComponentsRight}
|
||||
labelAdditionalComponentsLeft={labelAdditionalComponentsLeft}
|
||||
omitPadding={omitPaddingOnWidget}
|
||||
>
|
||||
<Box sx={{alignItems: "stretch", flexGrow: 1, display: "flex", marginTop: "0px", paddingTop: "0px"}}>
|
||||
<Box padding="1rem" sx={{width: "100%"}}>
|
||||
@@ -642,6 +647,7 @@ function DashboardWidgets({widgetMetaDataList, tableName, entityPrimaryKey, reco
|
||||
widgetData={widgetData[i]}
|
||||
labelAdditionalComponentsRight={labelAdditionalComponentsRight}
|
||||
labelAdditionalComponentsLeft={labelAdditionalComponentsLeft}
|
||||
omitPadding={omitPaddingOnWidget}
|
||||
>
|
||||
<Box>
|
||||
<MDTypography component="div" variant="button" color="text" fontWeight="light">
|
||||
@@ -675,6 +681,7 @@ function DashboardWidgets({widgetMetaDataList, tableName, entityPrimaryKey, reco
|
||||
reloadWidgetCallback={(data) => reloadWidget(i, data)}
|
||||
labelAdditionalComponentsRight={labelAdditionalComponentsRight}
|
||||
labelAdditionalComponentsLeft={labelAdditionalComponentsLeft}
|
||||
omitPadding={omitPaddingOnWidget}
|
||||
>
|
||||
<StatisticsCard
|
||||
widgetMetaData={widgetMetaData}
|
||||
@@ -718,6 +725,7 @@ function DashboardWidgets({widgetMetaDataList, tableName, entityPrimaryKey, reco
|
||||
isChild={areChildren}
|
||||
labelAdditionalComponentsRight={labelAdditionalComponentsRight}
|
||||
labelAdditionalComponentsLeft={labelAdditionalComponentsLeft}
|
||||
omitPadding={omitPaddingOnWidget}
|
||||
>
|
||||
<div>
|
||||
<PieChart
|
||||
@@ -753,6 +761,7 @@ function DashboardWidgets({widgetMetaDataList, tableName, entityPrimaryKey, reco
|
||||
isChild={areChildren}
|
||||
labelAdditionalComponentsRight={labelAdditionalComponentsRight}
|
||||
labelAdditionalComponentsLeft={labelAdditionalComponentsLeft}
|
||||
omitPadding={omitPaddingOnWidget}
|
||||
>
|
||||
<DefaultLineChart sx={{alignItems: "center"}}
|
||||
data={widgetData[i]?.chartData}
|
||||
@@ -797,6 +806,7 @@ function DashboardWidgets({widgetMetaDataList, tableName, entityPrimaryKey, reco
|
||||
isChild={areChildren}
|
||||
labelAdditionalComponentsRight={labelAdditionalComponentsRight}
|
||||
labelAdditionalComponentsLeft={labelAdditionalComponentsLeft}
|
||||
omitPadding={omitPaddingOnWidget}
|
||||
>
|
||||
<CompositeWidget widgetMetaData={widgetMetaData} data={widgetData[i]} actionCallback={actionCallback} values={values} />
|
||||
</Widget>
|
||||
@@ -811,6 +821,7 @@ function DashboardWidgets({widgetMetaDataList, tableName, entityPrimaryKey, reco
|
||||
isChild={areChildren}
|
||||
labelAdditionalComponentsRight={labelAdditionalComponentsRight}
|
||||
labelAdditionalComponentsLeft={labelAdditionalComponentsLeft}
|
||||
omitPadding={omitPaddingOnWidget}
|
||||
>
|
||||
<WidgetBlock widgetMetaData={widgetMetaData} block={widgetData[i]} />
|
||||
</Widget>
|
||||
@@ -819,7 +830,7 @@ function DashboardWidgets({widgetMetaDataList, tableName, entityPrimaryKey, reco
|
||||
{
|
||||
widgetMetaData.type === "dataBagViewer" && (
|
||||
widgetData && widgetData[i] && widgetData[i].queryParams &&
|
||||
<Widget widgetMetaData={widgetMetaData}>
|
||||
<Widget widgetMetaData={widgetMetaData} omitPadding={omitPaddingOnWidget}>
|
||||
<DataBagViewer dataBagId={widgetData[i].queryParams.id} />
|
||||
</Widget>
|
||||
)
|
||||
@@ -827,7 +838,7 @@ function DashboardWidgets({widgetMetaDataList, tableName, entityPrimaryKey, reco
|
||||
{
|
||||
widgetMetaData.type === "scriptViewer" && (
|
||||
widgetData && widgetData[i] && widgetData[i].queryParams &&
|
||||
<Widget widgetMetaData={widgetMetaData}>
|
||||
<Widget widgetMetaData={widgetMetaData} omitPadding={omitPaddingOnWidget}>
|
||||
<ScriptViewer scriptId={widgetData[i].queryParams.id} />
|
||||
</Widget>
|
||||
)
|
||||
@@ -880,7 +891,7 @@ function DashboardWidgets({widgetMetaDataList, tableName, entityPrimaryKey, reco
|
||||
{
|
||||
widgetMetaData.type === "customComponent" && (
|
||||
widgetData && widgetData[i] &&
|
||||
<Widget widgetMetaData={widgetMetaData}>
|
||||
<Widget widgetMetaData={widgetMetaData} omitPadding={omitPaddingOnWidget}>
|
||||
<CustomComponentWidget widgetMetaData={widgetMetaData} widgetData={widgetData[i]} record={record} />
|
||||
</Widget>
|
||||
)
|
||||
|
||||
@@ -24,6 +24,7 @@ import {QWidgetMetaData} from "@qrunio/qqq-frontend-core/lib/model/metaData/QWid
|
||||
import {Alert, Skeleton} from "@mui/material";
|
||||
import ButtonBlock from "qqq/components/widgets/blocks/ButtonBlock";
|
||||
import AudioBlock from "qqq/components/widgets/blocks/AudioBlock";
|
||||
import IconBlock from "qqq/components/widgets/blocks/IconBlock";
|
||||
import InputFieldBlock from "qqq/components/widgets/blocks/InputFieldBlock";
|
||||
import React from "react";
|
||||
import BigNumberBlock from "qqq/components/widgets/blocks/BigNumberBlock";
|
||||
@@ -97,6 +98,8 @@ export default function WidgetBlock({widgetMetaData, block, actionCallback, valu
|
||||
return (<AudioBlock widgetMetaData={widgetMetaData} data={block} />);
|
||||
case "IMAGE":
|
||||
return (<ImageBlock widgetMetaData={widgetMetaData} data={block} actionCallback={actionCallback} />);
|
||||
case "ICON":
|
||||
return (<IconBlock widgetMetaData={widgetMetaData} data={block} actionCallback={actionCallback} />);
|
||||
default:
|
||||
return (<Alert sx={{m: "0.5rem"}} color="warning">Unsupported block type: {block.blockTypeName}</Alert>)
|
||||
}
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
/*
|
||||
* QQQ - Low-code Application Framework for Engineers.
|
||||
* Copyright (C) 2021-2024. Kingsrook, LLC
|
||||
* 651 N Broad St Ste 205 # 6917 | Middletown DE 19709 | United States
|
||||
* contact@kingsrook.com
|
||||
* https://github.com/Kingsrook/
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as
|
||||
* published by the Free Software Foundation, either version 3 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import Icon from "@mui/material/Icon";
|
||||
import BlockElementWrapper from "qqq/components/widgets/blocks/BlockElementWrapper";
|
||||
import {StandardBlockComponentProps} from "qqq/components/widgets/blocks/BlockModels";
|
||||
import React from "react";
|
||||
|
||||
/*******************************************************************************
|
||||
** Block that renders ... an <Icon> tag
|
||||
**
|
||||
** <Icon>{name}</Icon>
|
||||
*******************************************************************************/
|
||||
export default function IconBlock({widgetMetaData, data}: StandardBlockComponentProps): JSX.Element
|
||||
{
|
||||
return (
|
||||
<BlockElementWrapper metaData={widgetMetaData} data={data} slot="">
|
||||
<span style={{color: data.styles?.color, lineHeight: 0, fontSize: data.styles?.fontSize}}>
|
||||
<Icon color={data.styles?.color}>{data.values?.name}</Icon>
|
||||
</span>
|
||||
</BlockElementWrapper>
|
||||
);
|
||||
}
|
||||
@@ -30,7 +30,7 @@ import React from "react";
|
||||
**
|
||||
** <audio src=${path} ${autoPlay} ${showControls} />
|
||||
*******************************************************************************/
|
||||
export default function AudioBlock({widgetMetaData, data}: StandardBlockComponentProps): JSX.Element
|
||||
export default function ImageBlock({widgetMetaData, data}: StandardBlockComponentProps): JSX.Element
|
||||
{
|
||||
let imageStyle: any = {};
|
||||
|
||||
|
||||
@@ -138,7 +138,7 @@ export default function TextBlock({widgetMetaData, data}: StandardBlockComponent
|
||||
}
|
||||
|
||||
const text = data.values.interpolatedText ?? data.values.text;
|
||||
const lines = text.split("\n");
|
||||
const lines = (text ?? "").split("\n");
|
||||
|
||||
const startIcon = data.values.startIcon?.name ? <Icon>{data.values.startIcon.name}</Icon> : null;
|
||||
const endIcon = data.values.endIcon?.name ? <Icon>{data.values.endIcon.name}</Icon> : null;
|
||||
|
||||
@@ -0,0 +1,124 @@
|
||||
/*
|
||||
* QQQ - Low-code Application Framework for Engineers.
|
||||
* Copyright (C) 2021-2025. Kingsrook, LLC
|
||||
* 651 N Broad St Ste 205 # 6917 | Middletown DE 19709 | United States
|
||||
* contact@kingsrook.com
|
||||
* https://github.com/Kingsrook/
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as
|
||||
* published by the Free Software Foundation, either version 3 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import {Box, Skeleton} from "@mui/material";
|
||||
import {AdornmentType} from "@qrunio/qqq-frontend-core/lib/model/metaData/AdornmentType";
|
||||
import {QFieldMetaData} from "@qrunio/qqq-frontend-core/lib/model/metaData/QFieldMetaData";
|
||||
import {QWidgetMetaData} from "@qrunio/qqq-frontend-core/lib/model/metaData/QWidgetMetaData";
|
||||
import {QRecord} from "@qrunio/qqq-frontend-core/lib/model/QRecord";
|
||||
import DashboardWidgets from "qqq/components/widgets/DashboardWidgets";
|
||||
import Client from "qqq/utils/qqq/Client";
|
||||
import React, {useEffect, useRef, useState} from "react";
|
||||
|
||||
const qController = Client.getInstance();
|
||||
|
||||
interface Props
|
||||
{
|
||||
field: QFieldMetaData;
|
||||
record: QRecord;
|
||||
}
|
||||
|
||||
/***************************************************************************
|
||||
* Render a field for a view-only screen (e.g., not a form), using a widget.
|
||||
* The field is expected to have an adornment of type WIDGET, with a value
|
||||
* "widgetName", which should be a valid widget name within the qInstance.
|
||||
***************************************************************************/
|
||||
export function FieldValueAsWidget({field, record}: Props): JSX.Element
|
||||
{
|
||||
const [widgetName] = useState(field?.getAdornment(AdornmentType.WIDGET)?.getValue("widgetName"));
|
||||
const [widgetMetaData, setWidgetMetaData] = useState(null as QWidgetMetaData);
|
||||
const [error, setError] = useState(null as string);
|
||||
const [ready, setReady] = useState(false);
|
||||
|
||||
const skeletonWrapperRef = useRef();
|
||||
|
||||
const widgetData = record.values.get(field.name);
|
||||
|
||||
useEffect(() =>
|
||||
{
|
||||
(async () =>
|
||||
{
|
||||
try
|
||||
{
|
||||
const metaData = await qController.loadMetaData();
|
||||
const widgetMetaData = metaData.widgets.get(widgetName);
|
||||
if (!widgetMetaData)
|
||||
{
|
||||
setError(`Could not load widget [${widgetName}]`);
|
||||
}
|
||||
else
|
||||
{
|
||||
setWidgetMetaData(widgetMetaData);
|
||||
setReady(true);
|
||||
}
|
||||
}
|
||||
catch (e)
|
||||
{
|
||||
setError(`${e}`);
|
||||
}
|
||||
})();
|
||||
}, []);
|
||||
|
||||
///////////////////////
|
||||
// if error, show it //
|
||||
///////////////////////
|
||||
if (error)
|
||||
{
|
||||
return (<span className="FieldValueAsWidget" style={{color: "red", fontSize: "0.875rem"}}>
|
||||
<span>Error: {error}</span>
|
||||
</span>
|
||||
);
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////
|
||||
// make skeleton fade in after a bit, so if content is fast enough, it doesn't flash //
|
||||
///////////////////////////////////////////////////////////////////////////////////////
|
||||
setTimeout(() =>
|
||||
{
|
||||
try
|
||||
{
|
||||
if (skeletonWrapperRef.current)
|
||||
{
|
||||
//@ts-ignore
|
||||
skeletonWrapperRef.current.style.opacity = "100";
|
||||
}
|
||||
}
|
||||
catch (e)
|
||||
{
|
||||
// ignore
|
||||
}
|
||||
}, 250);
|
||||
|
||||
/////////////////////////////////
|
||||
// if not ready, show skeleton //
|
||||
/////////////////////////////////
|
||||
if (!ready)
|
||||
{
|
||||
return (<div ref={skeletonWrapperRef} id="it" style={{opacity: 0, transition: "opacity 0.75s ease"}}><Skeleton /></div>);
|
||||
}
|
||||
|
||||
/////////////////////////////////////////////
|
||||
// assuming all is good, render the widget //
|
||||
/////////////////////////////////////////////
|
||||
return (<Box component="span" sx={{"& .widget": {padding: "0 !important", display: "inline-block"}}}>
|
||||
<DashboardWidgets key={`field:${field.name}`} widgetMetaDataList={[widgetMetaData]} initialWidgetDataList={[widgetData]} omitWrappingGridContainer={true} omitPaddingOnWidget={true} screen="recordView" />
|
||||
</Box>);
|
||||
}
|
||||
@@ -19,16 +19,6 @@
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import {QException} from "@qrunio/qqq-frontend-core/lib/exceptions/QException";
|
||||
import {Capability} from "@qrunio/qqq-frontend-core/lib/model/metaData/Capability";
|
||||
import {QFieldMetaData} from "@qrunio/qqq-frontend-core/lib/model/metaData/QFieldMetaData";
|
||||
import {QInstance} from "@qrunio/qqq-frontend-core/lib/model/metaData/QInstance";
|
||||
import {QProcessMetaData} from "@qrunio/qqq-frontend-core/lib/model/metaData/QProcessMetaData";
|
||||
import {QTableMetaData} from "@qrunio/qqq-frontend-core/lib/model/metaData/QTableMetaData";
|
||||
import {QTableSection} from "@qrunio/qqq-frontend-core/lib/model/metaData/QTableSection";
|
||||
import {QTableVariant} from "@qrunio/qqq-frontend-core/lib/model/metaData/QTableVariant";
|
||||
import {QRecord} from "@qrunio/qqq-frontend-core/lib/model/QRecord";
|
||||
import {QueryJoin} from "@qrunio/qqq-frontend-core/lib/model/query/QueryJoin";
|
||||
import {Alert, Typography} from "@mui/material";
|
||||
import Avatar from "@mui/material/Avatar";
|
||||
import Box from "@mui/material/Box";
|
||||
@@ -48,6 +38,17 @@ import MenuItem from "@mui/material/MenuItem";
|
||||
import Modal from "@mui/material/Modal";
|
||||
import Tooltip from "@mui/material/Tooltip/Tooltip";
|
||||
import {SxProps} from "@mui/system";
|
||||
import {QException} from "@qrunio/qqq-frontend-core/lib/exceptions/QException";
|
||||
import {AdornmentType} from "@qrunio/qqq-frontend-core/lib/model/metaData/AdornmentType";
|
||||
import {Capability} from "@qrunio/qqq-frontend-core/lib/model/metaData/Capability";
|
||||
import {QFieldMetaData} from "@qrunio/qqq-frontend-core/lib/model/metaData/QFieldMetaData";
|
||||
import {QInstance} from "@qrunio/qqq-frontend-core/lib/model/metaData/QInstance";
|
||||
import {QProcessMetaData} from "@qrunio/qqq-frontend-core/lib/model/metaData/QProcessMetaData";
|
||||
import {QTableMetaData} from "@qrunio/qqq-frontend-core/lib/model/metaData/QTableMetaData";
|
||||
import {QTableSection} from "@qrunio/qqq-frontend-core/lib/model/metaData/QTableSection";
|
||||
import {QTableVariant} from "@qrunio/qqq-frontend-core/lib/model/metaData/QTableVariant";
|
||||
import {QRecord} from "@qrunio/qqq-frontend-core/lib/model/QRecord";
|
||||
import {QueryJoin} from "@qrunio/qqq-frontend-core/lib/model/query/QueryJoin";
|
||||
import QContext from "QContext";
|
||||
import colors from "qqq/assets/theme/base/colors";
|
||||
import AuditBody from "qqq/components/audits/AuditBody";
|
||||
@@ -61,6 +62,7 @@ import ShareModal from "qqq/components/sharing/ShareModal";
|
||||
import DashboardWidgets from "qqq/components/widgets/DashboardWidgets";
|
||||
import BaseLayout from "qqq/layouts/BaseLayout";
|
||||
import ProcessRun from "qqq/pages/processes/ProcessRun";
|
||||
import {FieldValueAsWidget} from "qqq/pages/records/view/FieldValueAsWidget";
|
||||
import HistoryUtils from "qqq/utils/HistoryUtils";
|
||||
import HtmlUtils from "qqq/utils/HtmlUtils";
|
||||
import Client from "qqq/utils/qqq/Client";
|
||||
@@ -100,6 +102,14 @@ export function renderSectionOfFields(key: string, fieldNames: string[], tableMe
|
||||
{
|
||||
let [field, tableForField] = tableMetaData ? TableUtils.getFieldAndTable(tableMetaData, fieldName) : fieldMap ? [fieldMap[fieldName], null] : [null, null];
|
||||
|
||||
if(field == null)
|
||||
{
|
||||
if(tableMetaData?.virtualFields?.has(fieldName))
|
||||
{
|
||||
field = tableMetaData.virtualFields.get(fieldName);
|
||||
}
|
||||
}
|
||||
|
||||
if (field != null)
|
||||
{
|
||||
let label = field.label;
|
||||
@@ -111,6 +121,13 @@ export function renderSectionOfFields(key: string, fieldNames: string[], tableMe
|
||||
|
||||
const labelElement = <Typography variant="button" textTransform="none" fontWeight="bold" pr={1} color="rgb(52, 71, 103)" sx={{cursor: "default", ...(styleOverrides?.label ?? {})}}>{label}:</Typography>;
|
||||
|
||||
if(field.hasAdornment(AdornmentType.WIDGET))
|
||||
{
|
||||
return (<Grid item key={fieldName} lg={gridColumns} flexDirection="column" pr={2}>
|
||||
<FieldValueAsWidget field={field} record={record} />
|
||||
</Grid>);
|
||||
}
|
||||
|
||||
return (
|
||||
<Grid item key={fieldName} lg={gridColumns} flexDirection="column" pr={2}>
|
||||
<>
|
||||
@@ -594,7 +611,7 @@ function RecordView({table, record: overrideRecord, launchProcess}: Props): JSX.
|
||||
/////////////////////////////////////////////////
|
||||
// define the sections, e.g., for the left-bar //
|
||||
/////////////////////////////////////////////////
|
||||
const tableSections = TableUtils.getSectionsForRecordSidebar(tableMetaData);
|
||||
const tableSections = TableUtils.getSectionsForRecordSidebar(tableMetaData, null, undefined, "RECORD_VIEW");
|
||||
setTableSections(tableSections);
|
||||
|
||||
////////////////////////////////////////////////////
|
||||
@@ -604,7 +621,13 @@ function RecordView({table, record: overrideRecord, launchProcess}: Props): JSX.
|
||||
const nonT1TableSections = [];
|
||||
for (let i = 0; i < tableSections.length; i++)
|
||||
{
|
||||
const section = tableSections[i];
|
||||
let section = tableSections[i];
|
||||
|
||||
if(section.alternatives?.has("RECORD_VIEW"))
|
||||
{
|
||||
section = section.alternatives.get("RECORD_VIEW")
|
||||
}
|
||||
|
||||
if (section.isHidden)
|
||||
{
|
||||
continue;
|
||||
|
||||
@@ -44,7 +44,7 @@ class TableUtils
|
||||
** By default sections w/ widget names are excluded -- but -- to include them,
|
||||
** provide the metaData plus list of allowedWidgetTypes.
|
||||
*******************************************************************************/
|
||||
public static getSectionsForRecordSidebar(tableMetaData: QTableMetaData, allowedFieldNames: any = null, additionalInclusionPredicate?: (section: QTableSection) => boolean): QTableSection[]
|
||||
public static getSectionsForRecordSidebar(tableMetaData: QTableMetaData, allowedFieldNames: any = null, additionalInclusionPredicate?: (section: QTableSection) => boolean, alternativeType?: string): QTableSection[]
|
||||
{
|
||||
/////////////////////////////////////////////////////////////////
|
||||
// if the table has sections, then filter them and return some //
|
||||
@@ -72,7 +72,12 @@ class TableUtils
|
||||
const allowedSections: QTableSection[] = [];
|
||||
for (let i = 0; i < tableMetaData.sections.length; i++)
|
||||
{
|
||||
const section = tableMetaData.sections[i];
|
||||
let section = tableMetaData.sections[i];
|
||||
if(alternativeType && section.alternatives?.has(alternativeType))
|
||||
{
|
||||
section = section.alternatives.get(alternativeType);
|
||||
}
|
||||
|
||||
let includeSection = false;
|
||||
|
||||
for (let j = 0; j < section.fieldNames?.length; j++)
|
||||
@@ -101,8 +106,9 @@ class TableUtils
|
||||
|
||||
////////////////////////////////////////////////////////////////
|
||||
// if there are no filters to apply, then return all sections //
|
||||
// (potentially mapped to an alternative, by the type) //
|
||||
////////////////////////////////////////////////////////////////
|
||||
return (tableMetaData.sections);
|
||||
return (tableMetaData.sections.map((section) => section.alternatives?.get(alternativeType) ?? section));
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
+29
-2
@@ -23,9 +23,12 @@ package com.kingsrook.qqq.frontend.materialdashboard.seleniumwithqapplication.te
|
||||
|
||||
|
||||
import java.util.List;
|
||||
import com.kingsrook.qqq.backend.core.actions.customizers.TableCustomizerInterface;
|
||||
import com.kingsrook.qqq.backend.core.actions.customizers.TableCustomizers;
|
||||
import com.kingsrook.qqq.backend.core.actions.dashboard.widgets.AbstractWidgetRenderer;
|
||||
import com.kingsrook.qqq.backend.core.actions.tables.InsertAction;
|
||||
import com.kingsrook.qqq.backend.core.exceptions.QException;
|
||||
import com.kingsrook.qqq.backend.core.model.actions.tables.QueryOrGetInputInterface;
|
||||
import com.kingsrook.qqq.backend.core.model.actions.tables.insert.InsertInput;
|
||||
import com.kingsrook.qqq.backend.core.model.actions.widgets.RenderWidgetInput;
|
||||
import com.kingsrook.qqq.backend.core.model.actions.widgets.RenderWidgetOutput;
|
||||
@@ -39,8 +42,10 @@ import com.kingsrook.qqq.backend.core.model.metadata.fields.AdornmentType;
|
||||
import com.kingsrook.qqq.backend.core.model.metadata.fields.FieldAdornment;
|
||||
import com.kingsrook.qqq.backend.core.model.metadata.fields.QFieldMetaData;
|
||||
import com.kingsrook.qqq.backend.core.model.metadata.fields.QFieldType;
|
||||
import com.kingsrook.qqq.backend.core.model.metadata.fields.QVirtualFieldMetaData;
|
||||
import com.kingsrook.qqq.backend.core.model.metadata.layout.QIcon;
|
||||
import com.kingsrook.qqq.backend.core.model.metadata.tables.QFieldSection;
|
||||
import com.kingsrook.qqq.backend.core.model.metadata.tables.QFieldSectionAlternativeType;
|
||||
import com.kingsrook.qqq.backend.core.model.metadata.tables.QTableMetaData;
|
||||
import com.kingsrook.qqq.backend.core.model.metadata.tables.Tier;
|
||||
import com.kingsrook.qqq.frontend.materialdashboard.junit.TestUtils;
|
||||
@@ -85,8 +90,11 @@ public class FilterWidgetOnFieldIT extends QBaseSeleniumWithQApplicationTest
|
||||
.withFieldAdornment(new FieldAdornment(AdornmentType.WIDGET)
|
||||
.withValue(AdornmentType.WidgetValues.WIDGET_NAME, widget.getName())))
|
||||
.withSection(new QFieldSection("identity", new QIcon(), Tier.T1, List.of("id", "name")))
|
||||
.withSection(new QFieldSection("filter", new QIcon(), Tier.T2, List.of("filterJSON")))
|
||||
.withPrimaryKeyField("id");
|
||||
.withSection(new QFieldSection("filter", new QIcon(), Tier.T2, List.of("filterJSON"))
|
||||
.withAlternative(QFieldSectionAlternativeType.RECORD_VIEW, (s) -> s.setFieldNames(List.of("filterVirtual"))))
|
||||
.withVirtualField(new QVirtualFieldMetaData("filterVirtual", QFieldType.STRING).withLabel("Person Filter"))
|
||||
.withPrimaryKeyField("id")
|
||||
.withCustomizer(TableCustomizers.POST_QUERY_RECORD, new QCodeReference(TableCustomizer.class));
|
||||
|
||||
qInstance.addTable(table);
|
||||
PeopleAppProducer.addTableToGreetingsApp(qInstance, table.getName());
|
||||
@@ -122,6 +130,25 @@ public class FilterWidgetOnFieldIT extends QBaseSeleniumWithQApplicationTest
|
||||
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
*
|
||||
***************************************************************************/
|
||||
public static class TableCustomizer implements TableCustomizerInterface
|
||||
{
|
||||
@Override
|
||||
public List<QRecord> postQuery(QueryOrGetInputInterface queryInput, List<QRecord> records) throws QException
|
||||
{
|
||||
for(QRecord record : records)
|
||||
{
|
||||
record.setValue("filterVirtual", record.getValueString("filterJSON"));
|
||||
}
|
||||
|
||||
return (records);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
**
|
||||
*******************************************************************************/
|
||||
|
||||
+207
@@ -0,0 +1,207 @@
|
||||
/*
|
||||
* QQQ - Low-code Application Framework for Engineers.
|
||||
* Copyright (C) 2021-2024. Kingsrook, LLC
|
||||
* 651 N Broad St Ste 205 # 6917 | Middletown DE 19709 | United States
|
||||
* contact@kingsrook.com
|
||||
* https://github.com/Kingsrook/
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as
|
||||
* published by the Free Software Foundation, either version 3 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package com.kingsrook.qqq.frontend.materialdashboard.seleniumwithqapplication.tests;
|
||||
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.List;
|
||||
import com.kingsrook.qqq.backend.core.actions.customizers.TableCustomizerInterface;
|
||||
import com.kingsrook.qqq.backend.core.actions.customizers.TableCustomizers;
|
||||
import com.kingsrook.qqq.backend.core.actions.dashboard.widgets.AbstractWidgetRenderer;
|
||||
import com.kingsrook.qqq.backend.core.actions.tables.InsertAction;
|
||||
import com.kingsrook.qqq.backend.core.exceptions.QException;
|
||||
import com.kingsrook.qqq.backend.core.model.actions.tables.QueryOrGetInputInterface;
|
||||
import com.kingsrook.qqq.backend.core.model.actions.tables.insert.InsertInput;
|
||||
import com.kingsrook.qqq.backend.core.model.actions.widgets.RenderWidgetInput;
|
||||
import com.kingsrook.qqq.backend.core.model.actions.widgets.RenderWidgetOutput;
|
||||
import com.kingsrook.qqq.backend.core.model.dashboard.widgets.CompositeWidgetData;
|
||||
import com.kingsrook.qqq.backend.core.model.dashboard.widgets.WidgetType;
|
||||
import com.kingsrook.qqq.backend.core.model.dashboard.widgets.blocks.base.BaseStyles;
|
||||
import com.kingsrook.qqq.backend.core.model.dashboard.widgets.blocks.icon.IconBlockData;
|
||||
import com.kingsrook.qqq.backend.core.model.dashboard.widgets.blocks.icon.IconValues;
|
||||
import com.kingsrook.qqq.backend.core.model.dashboard.widgets.blocks.text.TextBlockData;
|
||||
import com.kingsrook.qqq.backend.core.model.dashboard.widgets.blocks.text.TextValues;
|
||||
import com.kingsrook.qqq.backend.core.model.data.QRecord;
|
||||
import com.kingsrook.qqq.backend.core.model.metadata.QInstance;
|
||||
import com.kingsrook.qqq.backend.core.model.metadata.code.QCodeReference;
|
||||
import com.kingsrook.qqq.backend.core.model.metadata.dashboard.QWidgetMetaData;
|
||||
import com.kingsrook.qqq.backend.core.model.metadata.fields.AdornmentType;
|
||||
import com.kingsrook.qqq.backend.core.model.metadata.fields.FieldAdornment;
|
||||
import com.kingsrook.qqq.backend.core.model.metadata.fields.QFieldMetaData;
|
||||
import com.kingsrook.qqq.backend.core.model.metadata.fields.QFieldType;
|
||||
import com.kingsrook.qqq.backend.core.model.metadata.fields.QVirtualFieldMetaData;
|
||||
import com.kingsrook.qqq.backend.core.model.metadata.layout.QIcon;
|
||||
import com.kingsrook.qqq.backend.core.model.metadata.tables.QFieldSection;
|
||||
import com.kingsrook.qqq.backend.core.model.metadata.tables.QFieldSectionAlternativeType;
|
||||
import com.kingsrook.qqq.backend.core.model.metadata.tables.QTableMetaData;
|
||||
import com.kingsrook.qqq.backend.core.model.metadata.tables.Tier;
|
||||
import com.kingsrook.qqq.frontend.materialdashboard.seleniumwithqapplication.lib.QBaseSeleniumWithQApplicationTest;
|
||||
import com.kingsrook.qqq.frontend.materialdashboard.seleniumwithqapplication.metadata.MemoryBackendProducer;
|
||||
import com.kingsrook.qqq.frontend.materialdashboard.seleniumwithqapplication.metadata.PeopleAppProducer;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
* Tests for some new features being added together:
|
||||
* 1) virtual field on a table
|
||||
* 2) used in an alternative section
|
||||
* 3) rendered as a widget on the view screen
|
||||
*******************************************************************************/
|
||||
public class VirtualFieldInAlternativeSectionViewedAsWidgetIT extends QBaseSeleniumWithQApplicationTest
|
||||
{
|
||||
private static final String TABLE_NAME = "tableWithVirtualFieldInAlternativeSectionViewedAsWidget";
|
||||
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
*
|
||||
***************************************************************************/
|
||||
@Override
|
||||
protected void customizeQInstance(QInstance qInstance) throws QException
|
||||
{
|
||||
QWidgetMetaData widget = new QWidgetMetaData()
|
||||
.withName("genericCompositeWidget")
|
||||
.withType(WidgetType.COMPOSITE.getType())
|
||||
.withCodeReference(new QCodeReference(NoopWidgetRenderer.class));
|
||||
qInstance.addWidget(widget);
|
||||
|
||||
QTableMetaData table = new QTableMetaData()
|
||||
.withName(TABLE_NAME)
|
||||
.withBackendName(MemoryBackendProducer.NAME)
|
||||
.withRecordLabelFormatAndFields("%s", "name")
|
||||
.withField(new QFieldMetaData("id", QFieldType.INTEGER).withIsEditable(false))
|
||||
.withField(new QFieldMetaData("name", QFieldType.STRING).withIsRequired(true))
|
||||
.withField(new QFieldMetaData("type", QFieldType.STRING))
|
||||
.withField(new QFieldMetaData("homeTown", QFieldType.STRING))
|
||||
.withField(new QFieldMetaData("createDate", QFieldType.DATE_TIME).withIsEditable(false))
|
||||
.withField(new QFieldMetaData("modifyDate", QFieldType.DATE_TIME).withIsEditable(false))
|
||||
.withSection(new QFieldSection("identity", new QIcon(), Tier.T1, List.of("id", "name", "homeTown"))
|
||||
.withAlternative(QFieldSectionAlternativeType.RECORD_VIEW, (s) -> s.setFieldNames(List.of("mergedField", "homeTown"))))
|
||||
.withSection(new QFieldSection("hidden", new QIcon(), Tier.T2, List.of("type"))
|
||||
.withAlternative(QFieldSectionAlternativeType.RECORD_VIEW, (s) -> s.setIsHidden(true)))
|
||||
.withSection(new QFieldSection("dates", new QIcon(), Tier.T3, List.of("createDate", "modifyDate"))
|
||||
.withAlternative(QFieldSectionAlternativeType.RECORD_VIEW, (s) -> s.getFieldNames().add(0, "currentDate")))
|
||||
.withPrimaryKeyField("id");
|
||||
|
||||
table.withVirtualField(new QVirtualFieldMetaData("mergedField", QFieldType.STRING)
|
||||
.withFieldAdornment(new FieldAdornment().withType(AdornmentType.WIDGET)
|
||||
.withValue(AdornmentType.WidgetValues.WIDGET_NAME, widget.getName())));
|
||||
|
||||
table.withVirtualField(new QVirtualFieldMetaData("currentDate", QFieldType.DATE));
|
||||
|
||||
table.withCustomizer(TableCustomizers.POST_QUERY_RECORD, new QCodeReference(TableCustomizer.class));
|
||||
|
||||
qInstance.addTable(table);
|
||||
PeopleAppProducer.addTableToGreetingsApp(qInstance, table.getName());
|
||||
}
|
||||
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
*
|
||||
***************************************************************************/
|
||||
@Override
|
||||
protected void setupTestData() throws QException
|
||||
{
|
||||
new InsertAction().execute(new InsertInput(TABLE_NAME).withRecord(new QRecord()
|
||||
.withValue("id", 1)
|
||||
.withValue("name", "Homer")
|
||||
.withValue("type", "Cartoon")
|
||||
.withValue("homeTown", "Springville")
|
||||
));
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
*
|
||||
***************************************************************************/
|
||||
public static class NoopWidgetRenderer extends AbstractWidgetRenderer
|
||||
{
|
||||
/***************************************************************************
|
||||
**
|
||||
***************************************************************************/
|
||||
@Override
|
||||
public RenderWidgetOutput render(RenderWidgetInput input) throws QException
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
*
|
||||
***************************************************************************/
|
||||
public static class TableCustomizer implements TableCustomizerInterface
|
||||
{
|
||||
/***************************************************************************
|
||||
*
|
||||
***************************************************************************/
|
||||
@Override
|
||||
public List<QRecord> postQuery(QueryOrGetInputInterface queryInput, List<QRecord> records)
|
||||
{
|
||||
for(QRecord record : records)
|
||||
{
|
||||
CompositeWidgetData widgetData = new CompositeWidgetData().withLayout(CompositeWidgetData.Layout.FLEX_ROW_WRAPPED)
|
||||
.withStyles(new BaseStyles().withPadding(BaseStyles.Directional.ofY("8")))
|
||||
.withBlocks(List.of(
|
||||
new IconBlockData().withValues(new IconValues().withName("gavel")),
|
||||
new TextBlockData().withValues(new TextValues(record.getValueString("id") + "|" + record.getValueString("name") + "|" + record.getValueString("type")))
|
||||
));
|
||||
|
||||
record.setValue("mergedField", widgetData);
|
||||
|
||||
record.setValue("currentDate", LocalDate.parse("2025-12-09"));
|
||||
}
|
||||
return records;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
**
|
||||
*******************************************************************************/
|
||||
@Test
|
||||
void test()
|
||||
{
|
||||
qSeleniumLib.gotoAndWaitForBreadcrumbHeaderToContain("/peopleApp/greetingsApp/" + TABLE_NAME + "/1", "Homer");
|
||||
|
||||
qSeleniumLib.waitForSelectorContaining(".material-icons-round", "gavel");
|
||||
qSeleniumLib.waitForSelectorContaining(".compositeWidget", "1|Homer|Cartoon");
|
||||
|
||||
qSeleniumLib.waitForSelectorContaining(".sidebar-section", "Identity");
|
||||
qSeleniumLib.waitForSelectorContainingToNotExist(".sidebar-section", "Hidden");
|
||||
qSeleniumLib.waitForSelectorContaining(".sidebar-section", "Dates");
|
||||
|
||||
qSeleniumLib.waitForSelectorContainingToNotExist("h6", "Hidden");
|
||||
qSeleniumLib.waitForSelectorContaining("h6", "Dates");
|
||||
|
||||
qfmdSeleniumLib.waitForViewScreenFieldValue("Home Town", "Springville");
|
||||
qfmdSeleniumLib.waitForViewScreenFieldValue("Current Date", "2025-12-09");
|
||||
|
||||
// qSeleniumLib.waitForever();
|
||||
}
|
||||
|
||||
}
|
||||
Reference in new issue
Block a user