diff --git a/projects/frontend/data-pipelines/gui/projects/data-pipelines/.eslintrc.json b/projects/frontend/data-pipelines/gui/projects/data-pipelines/.eslintrc.json new file mode 100644 index 0000000000..a7985874c4 --- /dev/null +++ b/projects/frontend/data-pipelines/gui/projects/data-pipelines/.eslintrc.json @@ -0,0 +1,113 @@ +{ + "extends": "../../.eslintrc.json", + "ignorePatterns": [ + "!**/*" + ], + "overrides": [ + { + "files": [ + "*.ts" + ], + "parserOptions": { + "project": [ + "projects/data-pipelines/tsconfig.lib.json" + ], + "createDefaultProgram": true + }, + "rules": { + "@angular-eslint/component-selector": [ + "error", + { + "type": "element", + "prefix": "lib", + "style": "kebab-case" + } + ], + "@angular-eslint/directive-selector": [ + "error", + { + "type": "attribute", + "prefix": "lib", + "style": "camelCase" + } + ], + "@typescript-eslint/naming-convention": [ + "warn", + { + "selector": "property", + "format": [ + "camelCase" + ], + "leadingUnderscore": "allow", + "filter": { + // you can expand this regex to add more allowed names + "regex": "^((\\$\\..+))$", + "match": false + } + }, + { + "selector": "classProperty", + "modifiers": [ + "static" + ], + "format": [ + "camelCase", + "UPPER_CASE" + ], + "leadingUnderscore": "allow" + } + ], + "@typescript-eslint/no-shadow": "error", + "no-shadow": "off" + } + }, + { + "files": [ + "*.spec.ts" + ], + "parserOptions": { + "project": [ + "projects/data-pipelines/tsconfig.spec.json" + ] + }, + "rules": { + "@typescript-eslint/naming-convention": [ + "warn", + { + "selector": "objectLiteralProperty", + "format": [ + "camelCase" + ], + "leadingUnderscore": "allow", + "filter": { + // you can expand this regex to add more allowed names + "regex": "^((\\$\\..+)|(test_)|(data-)|(aria-))", + "match": false + } + }, + { + "selector": "classProperty", + "modifiers": [ + "static" + ], + "format": [ + "camelCase", + "UPPER_CASE" + ], + "leadingUnderscore": "allow" + } + ], + "@typescript-eslint/ban-ts-comment": "off", + "@typescript-eslint/no-explicit-any": "off", + "@typescript-eslint/no-floating-promises": "off", + "@typescript-eslint/unbound-method": "off" + } + }, + { + "files": [ + "*.html" + ], + "rules": {} + } + ] +} diff --git a/projects/frontend/data-pipelines/gui/projects/data-pipelines/.gitignore b/projects/frontend/data-pipelines/gui/projects/data-pipelines/.gitignore new file mode 100644 index 0000000000..a3240fe7bb --- /dev/null +++ b/projects/frontend/data-pipelines/gui/projects/data-pipelines/.gitignore @@ -0,0 +1,46 @@ +# See http://help.github.com/ignore-files/ for more about ignoring files. + +# compiled output +/dist +/tmp +/out-tsc +/bazel-out + +# dependencies +/node_modules + +# profiling files +chrome-profiler-events*.json +speed-measure-plugin*.json + +# IDEs and editors +/.idea +.project +.classpath +.c9/ +*.launch +.settings/ +*.sublime-workspace + +# IDE - VSCode +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +.history/* + +# misc +/.sass-cache +/connect.lock +/coverage +/libpeerconnection.log +npm-debug.log +yarn-error.log +testem.log +/typings +/reports + +# System Files +.DS_Store +Thumbs.db diff --git a/projects/frontend/data-pipelines/projects/gui/projects/data-pipelines/README.md b/projects/frontend/data-pipelines/gui/projects/data-pipelines/README.md similarity index 96% rename from projects/frontend/data-pipelines/projects/gui/projects/data-pipelines/README.md rename to projects/frontend/data-pipelines/gui/projects/data-pipelines/README.md index 9445742a58..640c4384c8 100644 --- a/projects/frontend/data-pipelines/projects/gui/projects/data-pipelines/README.md +++ b/projects/frontend/data-pipelines/gui/projects/data-pipelines/README.md @@ -77,5 +77,5 @@ Run `npm run test` to execute the unit tests via [Karma](https://karma-runner.gi ### Testing -You can use the implementation in /projects/gui/projects/ui as showcase of the library. +You can use the implementation in projects/frontend/data-pipelines/gui/projects/ui. Using `npm link`(https://docs.npmjs.com/cli/v9/commands/npm-link) you can achieve real-time development of the library without the need to upload it to repository diff --git a/projects/frontend/data-pipelines/gui/projects/data-pipelines/assets/animations/chart-loading-animation.json b/projects/frontend/data-pipelines/gui/projects/data-pipelines/assets/animations/chart-loading-animation.json new file mode 100644 index 0000000000..8fb1a3c612 --- /dev/null +++ b/projects/frontend/data-pipelines/gui/projects/data-pipelines/assets/animations/chart-loading-animation.json @@ -0,0 +1 @@ +{"v":"5.5.7","meta":{"g":"LottieFiles AE 0.1.20","a":"","k":"","d":"","tc":""},"fr":29.9700012207031,"ip":0,"op":150.000006109625,"w":800,"h":800,"nm":"blob chart","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"bar 4","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[388,400,0],"ix":2},"a":{"a":0,"k":[387,328,0],"ix":1},"s":{"a":0,"k":[46,46,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[232.5,313.8],[232.5,-138.6],[373,-138.6],[373,313.8]],"c":true},"ix":2},"nm":"Path 4","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":16,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[387,328.2],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":40,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":47,"s":[80]},{"t":51.0000020772726,"s":[100]}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":4.00000016292334,"op":150.000006109625,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"bar 3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[388,400,0],"ix":2},"a":{"a":0,"k":[387,328,0],"ix":1},"s":{"a":0,"k":[46,46,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[30.7,313.7],[30.7,-313.8],[171.2,-313.8],[171.2,313.7]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":16,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[387,328.2],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":28,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":35,"s":[80]},{"t":39.0000015885026,"s":[100]}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":4.00000016292334,"op":150.000006109625,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"bar 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[388,400,0],"ix":2},"a":{"a":0,"k":[387,328,0],"ix":1},"s":{"a":0,"k":[46,46,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-171.2,313.7],[-171.2,-93.3],[-30.7,-93.3],[-30.7,313.7]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":16,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[387,328.2],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":17,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":24,"s":[80]},{"t":28.0000011404634,"s":[100]}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":4.00000016292334,"op":150.000006109625,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"bar 1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[388,400,0],"ix":2},"a":{"a":0,"k":[387,328,0],"ix":1},"s":{"a":0,"k":[46,46,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-373,313.8],[-373,86.5],[-232.5,86.5],[-232.5,313.8]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":16,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[387,328.2],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":4,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":11,"s":[80]},{"t":15.0000006109625,"s":[100]}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":4.00000016292334,"op":150.000006109625,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"blob line 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":25,"ix":10},"p":{"a":0,"k":[400,400,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[194,194,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[-1.078,-86.476],[-75.465,41.182],[13.381,71.523],[84.867,3.727]],"o":[[0.979,78.53],[68,-37.108],[-13.381,-71.523],[-84.867,-3.727]],"v":[[-181.063,-12.047],[74.992,189.061],[156.479,-8.047],[-15.008,-168.25]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":75,"s":[{"i":[[-14.796,-95.43],[-84.851,45.462],[-18.338,80.571],[77.53,23.431]],"o":[[19.823,127.848],[79.279,-42.476],[18.219,-80.048],[-76.852,-23.227]],"v":[[-127.063,-6.047],[54.992,151.061],[152.478,31.953],[-1.008,-172.25]],"c":true}]},{"t":150.000006109625,"s":[{"i":[[-1.078,-86.476],[-75.465,41.182],[13.381,71.523],[84.867,3.727]],"o":[[0.979,78.53],[68,-37.108],[-13.381,-71.523],[-84.867,-3.727]],"v":[[-181.063,-12.047],[74.992,189.061],[156.479,-8.047],[-15.008,-168.25]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":25,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[2.141,0.523],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"t":150.000006109625,"s":[360]}],"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":150.000006109625,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"blob line 1","sr":1,"ks":{"o":{"a":0,"k":75,"ix":11},"r":{"a":0,"k":-25,"ix":10},"p":{"a":0,"k":[400,400,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[194,194,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":-0.368,"s":[{"i":[[-5.945,-104],[-75.465,41.182],[-15.486,58],[72.839,11.506]],"o":[[5.945,104],[68,-37.108],[15.486,-58],[-100,-15.797]],"v":[[-169.063,25.953],[60.992,177.061],[170.479,35.953],[52.992,-160.25]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":75,"s":[{"i":[[-14.796,-95.43],[-80.851,53.462],[-18.338,80.571],[77.53,23.431]],"o":[[19.823,127.848],[75.023,-49.608],[18.219,-80.048],[-76.852,-23.227]],"v":[[-141.063,5.953],[38.992,123.061],[168.478,31.953],[34.992,-152.25]],"c":true}]},{"t":149.632506094657,"s":[{"i":[[-5.945,-104],[-75.465,41.182],[-15.486,58],[72.839,11.506]],"o":[[5.945,104],[68,-37.108],[15.486,-58],[-100,-15.797]],"v":[[-169.063,25.953],[60.992,177.061],[170.479,35.953],[52.992,-160.25]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":25,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":3,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[2.141,0.523],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"t":150.000006109625,"s":[-360]}],"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":150.000006109625,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"blob 3","sr":1,"ks":{"o":{"a":0,"k":50,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[400,400,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[194,194,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[-11.078,-132.477],[-75.465,41.182],[15.381,101.523],[114.867,-10.273]],"o":[[11.078,132.477],[68,-37.108],[-15.381,-101.523],[-114.867,10.273]],"v":[[-193.063,37.953],[76.992,173.061],[182.479,-38.047],[-29.008,-180.25]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":75,"s":[{"i":[[-14.796,-95.43],[-84.851,45.462],[-18.338,80.571],[77.53,23.431]],"o":[[19.823,127.848],[79.279,-42.476],[18.219,-80.048],[-76.852,-23.227]],"v":[[-127.063,-6.047],[54.992,151.061],[152.478,31.953],[-1.008,-172.25]],"c":true}]},{"t":150.000006109625,"s":[{"i":[[-11.078,-132.477],[-75.465,41.182],[15.381,101.523],[114.867,-10.273]],"o":[[11.078,132.477],[68,-37.108],[-15.381,-101.523],[-114.867,10.273]],"v":[[-193.063,37.953],[76.992,173.061],[182.479,-38.047],[-29.008,-180.25]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.17254901960784313,0.6941176470588235,0.8980392156862745,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[2.141,0.523],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"t":150.000006109625,"s":[720]}],"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":150.000006109625,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"blob 2","sr":1,"ks":{"o":{"a":0,"k":75,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[400,400,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[194,194,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[-1.078,-86.476],[-75.465,41.182],[13.381,71.523],[84.867,3.727]],"o":[[0.979,78.53],[68,-37.108],[-13.381,-71.523],[-84.867,-3.727]],"v":[[-181.063,-12.047],[74.992,189.061],[156.479,-8.047],[-15.008,-168.25]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":75,"s":[{"i":[[-14.796,-95.43],[-84.851,45.462],[-18.338,80.571],[77.53,23.431]],"o":[[19.823,127.848],[79.279,-42.476],[18.219,-80.048],[-76.852,-23.227]],"v":[[-127.063,-6.047],[54.992,151.061],[152.478,31.953],[-1.008,-172.25]],"c":true}]},{"t":150.000006109625,"s":[{"i":[[-1.078,-86.476],[-75.465,41.182],[13.381,71.523],[84.867,3.727]],"o":[[0.979,78.53],[68,-37.108],[-13.381,-71.523],[-84.867,-3.727]],"v":[[-181.063,-12.047],[74.992,189.061],[156.479,-8.047],[-15.008,-168.25]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.7254901960784313,0.7843137254901961,0.8196078431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[2.141,0.523],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"t":150.000006109625,"s":[-360]}],"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":150.000006109625,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"blob 1","sr":1,"ks":{"o":{"a":0,"k":75,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[400,400,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[194,194,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":-0.368,"s":[{"i":[[-5.945,-104],[-75.465,41.182],[-15.486,58],[72.839,11.506]],"o":[[5.945,104],[68,-37.108],[15.486,-58],[-100,-15.797]],"v":[[-169.063,25.953],[60.992,177.061],[170.479,35.953],[52.992,-160.25]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":75,"s":[{"i":[[-14.796,-95.43],[-80.851,53.462],[-18.338,80.571],[77.53,23.431]],"o":[[19.823,127.848],[75.023,-49.608],[18.219,-80.048],[-76.852,-23.227]],"v":[[-141.063,5.953],[38.992,123.061],[168.478,31.953],[34.992,-152.25]],"c":true}]},{"t":149.632506094657,"s":[{"i":[[-5.945,-104],[-75.465,41.182],[-15.486,58],[72.839,11.506]],"o":[[5.945,104],[68,-37.108],[15.486,-58],[-100,-15.797]],"v":[[-169.063,25.953],[60.992,177.061],[170.479,35.953],[52.992,-160.25]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0.5686274509803921,0.8549019607843137,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[2.141,0.523],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"t":150.000006109625,"s":[360]}],"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":150.000006109625,"st":0,"bm":0}],"markers":[]} diff --git a/projects/frontend/data-pipelines/gui/projects/data-pipelines/assets/icons/data-jobs-icon.png b/projects/frontend/data-pipelines/gui/projects/data-pipelines/assets/icons/data-jobs-icon.png new file mode 100644 index 0000000000..82d5671df9 Binary files /dev/null and b/projects/frontend/data-pipelines/gui/projects/data-pipelines/assets/icons/data-jobs-icon.png differ diff --git a/projects/frontend/data-pipelines/gui/projects/data-pipelines/assets/icons/data-jobs.svg b/projects/frontend/data-pipelines/gui/projects/data-pipelines/assets/icons/data-jobs.svg new file mode 100644 index 0000000000..f5ef9068a2 --- /dev/null +++ b/projects/frontend/data-pipelines/gui/projects/data-pipelines/assets/icons/data-jobs.svg @@ -0,0 +1,18 @@ + + + + + + + diff --git a/projects/frontend/data-pipelines/gui/projects/data-pipelines/assets/images/empty-plate.svg b/projects/frontend/data-pipelines/gui/projects/data-pipelines/assets/images/empty-plate.svg new file mode 100644 index 0000000000..004d7fe5af --- /dev/null +++ b/projects/frontend/data-pipelines/gui/projects/data-pipelines/assets/images/empty-plate.svg @@ -0,0 +1,136 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/projects/frontend/data-pipelines/gui/projects/data-pipelines/assets/images/no-events.svg b/projects/frontend/data-pipelines/gui/projects/data-pipelines/assets/images/no-events.svg new file mode 100644 index 0000000000..d25c9152f1 --- /dev/null +++ b/projects/frontend/data-pipelines/gui/projects/data-pipelines/assets/images/no-events.svg @@ -0,0 +1,62 @@ + + no events in timeframe + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/projects/frontend/data-pipelines/gui/projects/data-pipelines/assets/images/no-issues.svg b/projects/frontend/data-pipelines/gui/projects/data-pipelines/assets/images/no-issues.svg new file mode 100644 index 0000000000..37bc37745e --- /dev/null +++ b/projects/frontend/data-pipelines/gui/projects/data-pipelines/assets/images/no-issues.svg @@ -0,0 +1,62 @@ + + ES-no issues01 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/projects/frontend/data-pipelines/gui/projects/data-pipelines/karma.conf.js b/projects/frontend/data-pipelines/gui/projects/data-pipelines/karma.conf.js new file mode 100644 index 0000000000..37b77549e7 --- /dev/null +++ b/projects/frontend/data-pipelines/gui/projects/data-pipelines/karma.conf.js @@ -0,0 +1,68 @@ +/* + * Copyright 2021-2023 VMware, Inc. + * SPDX-License-Identifier: Apache-2.0 + */ + +// Karma configuration file, see link for more information +// https://karma-runner.github.io/1.0/config/configuration-file.html + +module.exports = function(config) { + config.set({ + basePath: '', + frameworks: ['jasmine', '@angular-devkit/build-angular'], + plugins: [ + require('karma-jasmine'), + require('karma-chrome-launcher'), + require('karma-jasmine-html-reporter'), + require('karma-junit-reporter'), + require('karma-coverage'), + require('@angular-devkit/build-angular/plugins/karma') + ], + client: { + jasmine: { + // you can add configuration options for Jasmine here + // the possible options are listed at https://jasmine.github.io/api/edge/Configuration.html + // for example, you can disable the random execution with `random: false` + // or set a specific seed with `seed: 4321` + }, + clearContext: false // leave Jasmine Spec Runner output visible in browser + }, + jasmineHtmlReporter: { + suppressAll: true // removes the duplicated traces + }, + coverageReporter: { + dir: require('path').join(__dirname, '../../reports/coverage/data-pipelines-lib'), + subdir: '.', + reporters: [ + //Code coverage - output in HTML file and Console(to be parsed in the CI/CD badge) + { type: 'html' }, + { type: 'text-summary' }, + { type: 'lcovonly' } + ], + check: { + global: { + lines: 80 + } + } + }, + reporters: ['progress', 'junit', 'coverage'], + junitReporter: { + outputDir: require('path').join(__dirname, '../../reports/test-results/data-pipelines-lib'), + outputFile: 'unit-tests.xml', + useBrowserName: false + }, + port: 9876, + colors: true, + logLevel: config.LOG_INFO, + autoWatch: true, + browsers: ['ChromeHeadless'], + customLaunchers: { + ChromeHeadless_No_Sandbox: { + base: 'ChromeHeadless', + flags: ['--no-sandbox'] + } + }, + singleRun: false, + restartOnFileChange: true + }); +}; diff --git a/projects/frontend/data-pipelines/gui/projects/data-pipelines/ng-package.json b/projects/frontend/data-pipelines/gui/projects/data-pipelines/ng-package.json new file mode 100644 index 0000000000..3c3515c378 --- /dev/null +++ b/projects/frontend/data-pipelines/gui/projects/data-pipelines/ng-package.json @@ -0,0 +1,10 @@ +{ + "$schema": "../../node_modules/ng-packagr/ng-package.schema.json", + "dest": "../../dist/data-pipelines", + "assets": [ + "./assets" + ], + "lib": { + "entryFile": "src/public-api.ts" + } +} diff --git a/projects/frontend/data-pipelines/gui/projects/data-pipelines/package.json b/projects/frontend/data-pipelines/gui/projects/data-pipelines/package.json new file mode 100644 index 0000000000..406fdf1bf8 --- /dev/null +++ b/projects/frontend/data-pipelines/gui/projects/data-pipelines/package.json @@ -0,0 +1,83 @@ +{ + "name": "@vdk/data-pipelines", + "version": "0.0.1", + "engines": { + "node": "^14.15.0 || >=16.10.0", + "npm": ">=8.5.5" + }, + "license": "Apache-2.0", + "peerDependencies": { + "@angular/animations": "~13.3.10", + "@angular/cdk": "~13.3.8", + "@angular/common": "~13.3.10", + "@angular/compiler": "~13.3.10", + "@angular/core": "~13.3.10", + "@angular/forms": "~13.3.10", + "@angular/platform-browser": "~13.3.10", + "@angular/platform-browser-dynamic": "~13.3.10", + "@angular/router": "~13.3.10", + "@apollo/client": "~3.6.5", + "@auth0/angular-jwt": "~5.0.2", + "@cds/core": "~5.7.2", + "@clr/angular": "~13.3.1", + "@clr/icons": "~13.0.2", + "@clr/ui": "~13.3.1", + "@fingerprintjs/fingerprintjs": "~3.3.3", + "@ngrx/effects": "~13.2.0", + "@ngrx/router-store": "~13.2.0", + "@ngrx/store": "~13.2.0", + "@swimlane/ngx-charts": "~16.0.0", + "@swimlane/ngx-graph": "~8.0.0", + "@vdk/shared": "0.0.1", + "@webcomponents/custom-elements": "~1.5.0", + "@yellowspot/ng-truncate": "~2.0.1", + "angular-ng-autocomplete": "~2.0.8", + "apollo-angular": "~3.0.1", + "argparse": "~1.0.10", + "chart.js": "~3.7.1", + "chartjs-adapter-date-fns": "~2.0.0", + "chartjs-plugin-datalabels": "~2.0.0", + "chartjs-plugin-zoom": "~1.2.1", + "cron-parser": "~4.4.0", + "cronstrue": "~2.7.0", + "d3": "~5.16.0", + "date-fns": "~2.28.0", + "debug": "~4.3.4", + "dompurify": "~2.3.8", + "elasticlunr": "~0.9.5", + "file-saver": "~2.0.5", + "graphql": "~16.5.0", + "html-element": "~2.3.1", + "html-frontmatter": "~1.6.1", + "js-sha256": "~0.9.0", + "lodash": "~4.17.21", + "lottie-web": "~5.9.4", + "lz-string": "~1.4.4", + "moment": "~2.29.3", + "ng2-date-picker": "~12.0.4", + "ngx-clipboard": "~15.1.0", + "ngx-cookie-service": "~13.2.1", + "ngx-lottie": "~8.2.0", + "ngx-timeago": "~2.0.0", + "remove-html-comments": "~1.0.2", + "rxjs": "~7.5.5", + "striptags": "~3.2.0", + "superagent": "~5.3.1", + "ua-parser-js": "~1.0.2", + "zone.js": "~0.11.5" + }, + "dependencies": { + "tslib": "2.3.1" + }, + "description": "Data Pipelines help Data Engineers develop, deploy, run, and manage data processing workloads (called 'Data Job')", + "repository": { + "type": "git", + "url": "-" + }, + "keywords": [ + "versatile-data-kit", + "vdk", + "data-pipelines" + ], + "author": "Versatile Data Kit (https://github.com/vmware/versatile-data-kit)" +} diff --git a/projects/frontend/data-pipelines/gui/projects/data-pipelines/tsconfig.lib.json b/projects/frontend/data-pipelines/gui/projects/data-pipelines/tsconfig.lib.json new file mode 100644 index 0000000000..cda10f11f6 --- /dev/null +++ b/projects/frontend/data-pipelines/gui/projects/data-pipelines/tsconfig.lib.json @@ -0,0 +1,26 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "outDir": "../../out-tsc/lib", + "target": "es2015", + "declaration": true, + "declarationMap": true, + "inlineSources": true, + "types": [], + "lib": [ + "dom", + "es2018" + ] + }, + "angularCompilerOptions": { + "enableIvy": true, + "skipTemplateCodegen": true, + "strictMetadataEmit": true, + "enableResourceInlining": true + }, + "exclude": [ + "src/test.ts", + "**/*.spec.ts" + ] +} diff --git a/projects/frontend/data-pipelines/gui/projects/data-pipelines/tsconfig.lib.prod.json b/projects/frontend/data-pipelines/gui/projects/data-pipelines/tsconfig.lib.prod.json new file mode 100644 index 0000000000..7d6cce11c1 --- /dev/null +++ b/projects/frontend/data-pipelines/gui/projects/data-pipelines/tsconfig.lib.prod.json @@ -0,0 +1,12 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ +{ + "extends": "./tsconfig.lib.json", + "compilerOptions": { + "declarationMap": false + }, + "angularCompilerOptions": { + "compilationMode": "full", + "enableIvy": true, + "fullTemplateTypeCheck": true + } +} diff --git a/projects/frontend/data-pipelines/gui/projects/data-pipelines/tsconfig.spec.json b/projects/frontend/data-pipelines/gui/projects/data-pipelines/tsconfig.spec.json new file mode 100644 index 0000000000..715dd0a5d2 --- /dev/null +++ b/projects/frontend/data-pipelines/gui/projects/data-pipelines/tsconfig.spec.json @@ -0,0 +1,17 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "outDir": "../../out-tsc/spec", + "types": [ + "jasmine" + ] + }, + "files": [ + "src/test.ts" + ], + "include": [ + "**/*.spec.ts", + "**/*.d.ts" + ] +}