This commit is contained in:
Manuel Romero
2025-06-18 12:26:11 +02:00
parent ab6fcd7d11
commit b6c015caa4
19 changed files with 4002 additions and 5137 deletions

View File

@@ -36,18 +36,12 @@
"node_modules/angular-bootstrap-md/assets/scss/bootstrap/bootstrap.scss",
"node_modules/angular-bootstrap-md/assets/scss/mdb.scss",
"node_modules/animate.css/animate.css",
"node_modules/prismjs/themes/prism.css",
"src/styles.scss"
],
"scripts": [
"node_modules/chart.js/dist/Chart.js",
"node_modules/hammerjs/hammer.min.js",
"node_modules/marked/lib/marked.js",
"node_modules/prismjs/prism.js",
"node_modules/prismjs/plugins/line-highlight/prism-line-highlight.js",
"node_modules/prismjs/plugins/line-numbers/prism-line-numbers.js",
"src/assets/js/qdt-components.js",
"src/assets/js/qlikMashupQCS.js"
],
"aot": false,

Binary file not shown.

View File

@@ -14,11 +14,11 @@
data-host="https://qmicloud.qliktech.com/qcsproxy"></script>
-->
<script crossorigin="anonymous" type="application/javascript" src="https://cdn.jsdelivr.net/npm/@qlik/embed-web-components" data-host="https://innovation.us.qlikcloud.com" data-auth-type="Oauth2" data-client-id="21be5044bba1072c16a803a3e6e4dca0" data-redirect-uri="http://localhost:3000/oauth-callback.html" data-access-token-storage="session" data-auto-redirect="true"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://cdn.jsdelivr.net/npm/@qlik/embed-web-components" data-host="https://innovation.us.qlikcloud.com" data-auth-type="Oauth2" data-client-id="21be5044bba1072c16a803a3e6e4dca0" data-redirect-uri="https://qmicloud.qliktech.com/oauth-callback.html" data-access-token-storage="session" data-auto-redirect="true"></script>
<style>:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-family-monospace:SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}*,*:before,*:after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}@media print{*,*:before,*:after{text-shadow:none!important;box-shadow:none!important}@page{size:a3}body{min-width:992px!important}}@charset "UTF-8";body{font-family:Roboto,sans-serif;font-weight:300}@charset "UTF-8";:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-family-monospace:SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}*,*:before,*:after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,Liberation Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}@font-face{font-family:Inter;src:url(Inter-Regular.1282ebc61b96a9d9.ttf);font-weight:400;font-style:normal}*{-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-touch-callout:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:Inter!important;color:#444!important;font-size:inherit!important;background:#fafafa!important}:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-family-monospace:SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}*,*:before,*:after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,Liberation Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}@media print{*,*:before,*:after{text-shadow:none!important;box-shadow:none!important}@page{size:a3}body{min-width:992px!important}}</style><link rel="stylesheet" href="styles.eb2c0c2b69163926.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="styles.eb2c0c2b69163926.css"></noscript></head>
<style>:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-family-monospace:SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}@media print{*,*:before,*:after{text-shadow:none!important;box-shadow:none!important}@page{size:a3}body{min-width:992px!important}}body{font-family:Roboto,sans-serif;font-weight:300}@charset "UTF-8";@font-face{font-family:Inter;src:url(Inter-Regular.1282ebc61b96a9d9.ttf);font-weight:400;font-style:normal}*{-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-touch-callout:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:Inter!important;color:#444!important;font-size:inherit!important;background:#fafafa!important}:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-family-monospace:SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}*,*:before,*:after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,Liberation Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}@media print{*,*:before,*:after{text-shadow:none!important;box-shadow:none!important}@page{size:a3}body{min-width:992px!important}}</style><link rel="stylesheet" href="styles.369b9a2a6e9a8394.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="styles.369b9a2a6e9a8394.css"></noscript></head>
<body>
<app-root></app-root>
<script src="runtime.accab2fb1ba76796.js" type="module"></script><script src="polyfills.a3330b81e6cd47b6.js" type="module"></script><script src="scripts.244472b5a38aca06.js" defer></script><script src="main.d28dad3ead6b3a2c.js" type="module"></script>
<script src="runtime.accab2fb1ba76796.js" type="module"></script><script src="polyfills.7a6afdeb00d3088f.js" type="module"></script><script src="scripts.1be12de92f863a8e.js" defer></script><script src="main.223a3a682491c9fc.js" type="module"></script>
</body></html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

4973
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -9,17 +9,17 @@
"private": true,
"dependencies": {
"@QMI/qmi-cloud-common": "2.0.22",
"@angular-devkit/build-angular": "^14.2.13",
"@angular/animations": "^14.3.0",
"@angular/common": "^14.3.0",
"@angular/compiler": "^14.3.0",
"@angular/core": "^14.3.0",
"@angular/forms": "^14.3.0",
"@angular-devkit/build-angular": "^15.2.11",
"@angular/animations": "^15.2.10",
"@angular/common": "^15.2.10",
"@angular/compiler": "^15.2.10",
"@angular/core": "^15.2.10",
"@angular/forms": "^15.2.10",
"@angular/http": "^7.0.0",
"@angular/localize": "^14.3.0",
"@angular/platform-browser": "^14.3.0",
"@angular/platform-browser-dynamic": "^14.3.0",
"@angular/router": "^14.3.0",
"@angular/localize": "^15.2.10",
"@angular/platform-browser": "^15.2.10",
"@angular/platform-browser-dynamic": "^15.2.10",
"@angular/router": "^15.2.10",
"@fortawesome/fontawesome-free": "^5.12.1",
"@hapi/boom": "^9.1.0",
"@ng-bootstrap/ng-bootstrap": "6.2.0",
@@ -50,7 +50,6 @@
"moment": "^2.24.0",
"moment-timezone": "^0.5.31",
"mongoose": "^6.11.1",
"ngx-markdown": "^9.0.0",
"nodemon": "^1.19.1",
"passport": "^0.4.0",
"passport-openidconnect": "^0.1.2",
@@ -64,9 +63,9 @@
"zone.js": "~0.11.4"
},
"devDependencies": {
"@angular/cli": "^14.2.13",
"@angular/compiler-cli": "^14.3.0",
"@angular/language-service": "^14.3.0",
"@angular/cli": "^15.2.11",
"@angular/compiler-cli": "^15.2.10",
"@angular/language-service": "^15.2.10",
"@types/jasmine": "~2.8.8",
"@types/jasminewd2": "~2.0.3",
"@types/node": "~8.9.4",
@@ -81,6 +80,6 @@
"protractor": "~7.0.0",
"ts-node": "~7.0.0",
"tslint": "~6.1.0",
"typescript": "~4.6.4"
"typescript": "~4.9.5"
}
}

View File

@@ -5,7 +5,7 @@ import { AdminComponent } from './admin/admin.component';
import { StatsComponent } from './stats/stats.component';
import { HomeComponent } from './home/home.component';
import { AuthGuard } from './services/auth.guard';
import { FaqComponent } from './faq/faq.component';
//import { FaqComponent } from './faq/faq.component';
import { UserDashboardComponent } from './user/user-dashboard.component';
import { ScenariosSectionComponent } from './scenarios/scenarios-section.component';
import { ProvisionsSharedComponent } from './provisions/provisions-shared.component';
@@ -19,7 +19,7 @@ import { ErrorComponent } from './home/error.component';
const routes: Routes = [
{ path: 'home', component: HomeComponent},
{ path: 'faq', component: FaqComponent},
//{ path: 'faq', component: FaqComponent},
{ path: 'error', component: ErrorComponent},
{ path: 'scenarios', component: ScenariosSectionComponent, canActivate: [AuthGuard]},
{ path: 'provision/:id', component: ProvComponent, canActivate: [AuthGuard]},

View File

@@ -13,7 +13,6 @@ import { ScenariosService } from './services/scenarios.service';
import { UsersService } from './services/users.service';
import { QlikService } from './services/qs.service';
import { MDBBootstrapModule } from 'angular-bootstrap-md';
import { MarkdownModule, MarkedOptions, MarkedRenderer } from 'ngx-markdown';
import { HttpClientModule, HttpClient } from '@angular/common/http';
import { LogsComponent } from './logs/logs.component';
@@ -34,7 +33,7 @@ import { AlertService } from './services/alert.service';
import { ModalInfoComponent } from './modals/modalinfo.component';
import { ModalConfirmComponent } from './modals/confirm.component';
import { FilterPipe } from './filter.pipe';
import { FaqComponent } from './faq/faq.component';
//import { FaqComponent } from './faq/faq.component';
import { NewProvisionConfirmComponent } from './modals/new-provision.component';
import { ScenarioModalComponent } from './modals/edit-scenario.component';
import { WebhookModalComponent } from './modals/edit-webhook.component';
@@ -71,17 +70,6 @@ import { SnapshotsService } from './services/snapshots.service';
import { MainAlertComponent } from './modals/mainalert.component';
export function markedOptions(): MarkedOptions {
const renderer = new MarkedRenderer();
renderer.blockquote = (text: string) => {
return '<blockquote class="blockquote"><p>' + text + '</p></blockquote>';
};
return { renderer };
}
@NgModule({
declarations: [
AppComponent,
@@ -101,7 +89,7 @@ export function markedOptions(): MarkedOptions {
ModalInfoComponent,
ModalConfirmComponent,
FilterPipe,
FaqComponent,
//FaqComponent,
NewProvisionConfirmComponent,
TableScenariosComponent,
TableNotificationsComponent,
@@ -136,9 +124,6 @@ export function markedOptions(): MarkedOptions {
HttpClientModule,
FormsModule,
MDBBootstrapModule.forRoot(),
MarkdownModule.forRoot({
loader: HttpClient
}),
NgbModule,
],
providers: [

View File

@@ -1,4 +1,5 @@
<div style="margin-top: 80px;">
<!-- loaded from remote url -->
<!-- loaded from remote url
<markdown [src]="'/assets/faq.md'" (load)="onLoad($event)" (error)="onError($event)"></markdown>
-->
</div>

View File

@@ -1,7 +1,7 @@
/* You can add global styles to this file, and also import other style files */
@import "~bootstrap/dist/css/bootstrap.css";
@import "~font-awesome/css/font-awesome.css";
@import "~leonardo-ui/dist/leonardo-ui.css";
@import "bootstrap/dist/css/bootstrap.css";
@import "font-awesome/css/font-awesome.css";
@import "leonardo-ui/dist/leonardo-ui.css";
@font-face {
font-family: "Inter";
@@ -77,7 +77,7 @@ body {
}
//@import "assets/album.css";
/* Importing Bootstrap SCSS file. */
@import '~bootstrap/scss/bootstrap';
@import 'bootstrap/scss/bootstrap';
.btn.btn-link {
padding: 0 !important;

View File

@@ -7,8 +7,6 @@ import {
platformBrowserDynamicTesting
} from '@angular/platform-browser-dynamic/testing';
declare const require: any;
// First, initialize the Angular testing environment.
getTestBed().initTestEnvironment(
BrowserDynamicTestingModule,
@@ -16,7 +14,3 @@ getTestBed().initTestEnvironment(
teardown: { destroyAfterEach: false }
}
);
// Then we find all the tests.
const context = require.context('./', true, /\.spec\.ts$/);
// And load the modules.
context.keys().map(context);

View File

@@ -8,13 +8,14 @@
"module": "es2015",
"moduleResolution": "node",
"experimentalDecorators": true,
"target": "es2020",
"target": "ES2022",
"typeRoots": [
"node_modules/@types"
],
"lib": [
"es2018",
"dom"
]
],
"useDefineForClassFields": false
}
}

4061
yarn.lock

File diff suppressed because it is too large Load Diff