diff options
Diffstat (limited to 'src/app/components/modal')
-rw-r--r-- | src/app/components/modal/modal-content.html | 30 | ||||
-rw-r--r-- | src/app/components/modal/modal-content.ts | 32 | ||||
-rw-r--r-- | src/app/components/modal/modal.service.ts | 38 |
3 files changed, 100 insertions, 0 deletions
diff --git a/src/app/components/modal/modal-content.html b/src/app/components/modal/modal-content.html new file mode 100644 index 0000000..ec3b6c4 --- /dev/null +++ b/src/app/components/modal/modal-content.html @@ -0,0 +1,30 @@ +<!-- + ~ Copyright (c) 2022. Deutsche Telekom AG + ~ + ~ Licensed under the Apache License, Version 2.0 (the "License"); + ~ you may not use this file except in compliance with the License. + ~ You may obtain a copy of the License at + ~ + ~ http://www.apache.org/licenses/LICENSE-2.0 + ~ + ~ Unless required by applicable law or agreed to in writing, software + ~ distributed under the License is distributed on an "AS IS" BASIS, + ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + ~ See the License for the specific language governing permissions and + ~ limitations under the License. + ~ + ~ SPDX-License-Identifier: Apache-2.0 + --> + + +<div class="modal-body m-3" style="text-align: justify"> + <h4 class="modal-title">{{'modal.error.accessDenied' | translate}}</h4> + <p><br />{{'modal.error.accessDenied' | translate}}</p> + <details> + <summary>{{'modal.error.details' | translate}}</summary> + <p>{{message}}</p> + </details> + <div style="text-align: right"> + <button class="btn btn-primary" (click)="oauthService.logOut()">Logout</button> + </div> +</div> diff --git a/src/app/components/modal/modal-content.ts b/src/app/components/modal/modal-content.ts new file mode 100644 index 0000000..01211df --- /dev/null +++ b/src/app/components/modal/modal-content.ts @@ -0,0 +1,32 @@ +/* + * Copyright (c) 2022. Deutsche Telekom AG + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + + +import { Component, Input } from '@angular/core'; +import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; +import { OAuthService } from 'angular-oauth2-oidc'; + +@Component({ + selector: 'app-modal-content', + templateUrl: './modal-content.html', +}) +export class ModalContentComponent { + @Input() message: any; + + constructor(public activeModal: NgbActiveModal, public oauthService: OAuthService) {} +} diff --git a/src/app/components/modal/modal.service.ts b/src/app/components/modal/modal.service.ts new file mode 100644 index 0000000..083bcb1 --- /dev/null +++ b/src/app/components/modal/modal.service.ts @@ -0,0 +1,38 @@ +/* + * Copyright (c) 2022. Deutsche Telekom AG + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + + +import { Injectable } from '@angular/core'; +import { NgbModal, NgbModalConfig } from '@ng-bootstrap/ng-bootstrap'; +import { ModalContentComponent } from './modal-content'; + +@Injectable({ + providedIn: 'root', +}) +export class ModalService { + constructor(private modalService: NgbModal, private modalConfig: NgbModalConfig) { + // customize default values of modals used by this component tree + modalConfig.backdrop = 'static'; + modalConfig.keyboard = false; + } + + open(message: string) { + const modalRef = this.modalService.open(ModalContentComponent,{backdropClass:'backdropClass'}); + modalRef.componentInstance.message = message; + } +} |