This component should be used each time you define a new modal.
This will allows us to keep all modals with the same visual aspect.
Signed-off-by: Tiago Melo <tmelo@suse.com>
Signed-off-by: Stephan Müller <smueller@suse.com>
import { ReactiveFormsModule } from '@angular/forms';
import { ChartsModule } from 'ng2-charts/ng2-charts';
-import { AlertModule, PopoverModule, TooltipModule } from 'ngx-bootstrap';
+import { AlertModule, ModalModule, PopoverModule, TooltipModule } from 'ngx-bootstrap';
import { PipesModule } from '../pipes/pipes.module';
import {
DeleteConfirmationComponent
} from './delete-confirmation-modal/delete-confirmation-modal.component';
import { HelperComponent } from './helper/helper.component';
+import { ModalComponent } from './modal/modal.component';
import { SparklineComponent } from './sparkline/sparkline.component';
import { SubmitButtonComponent } from './submit-button/submit-button.component';
import { UsageBarComponent } from './usage-bar/usage-bar.component';
ChartsModule,
ReactiveFormsModule,
PipesModule,
+ ModalModule.forRoot()
],
declarations: [
ViewCacheComponent,
HelperComponent,
SubmitButtonComponent,
UsageBarComponent,
- DeleteConfirmationComponent
+ DeleteConfirmationComponent,
+ ModalComponent
],
providers: [],
exports: [
DeleteConfirmationComponent
],
entryComponents: [
- DeleteConfirmationComponent
+ DeleteConfirmationComponent,
+ ModalComponent
]
})
export class ComponentsModule { }
--- /dev/null
+<div class="modal-header">
+ <h4 class="modal-title pull-left">
+ <ng-content select=".modal-title"></ng-content>
+ </h4>
+ <button type="button"
+ class="close pull-right"
+ aria-label="Close"
+ (click)="modalRef.hide()">
+ <span aria-hidden="true">×</span>
+ </button>
+</div>
+
+<ng-content select=".modal-content"></ng-content>
--- /dev/null
+@mixin hf {
+ border-bottom: 1px solid #cccccc;
+ background-color: #f5f5f5;
+}
+
+.modal-header {
+ @include hf;
+ border-radius: 5px 5px 0 0;
+}
+
+.modal-footer {
+ @include hf;
+ border-radius: 0 0 5px 5px;
+}
--- /dev/null
+import { async, ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { ModalModule } from 'ngx-bootstrap/modal';
+
+import { ModalComponent } from './modal.component';
+
+describe('ModalComponent', () => {
+ let component: ModalComponent;
+ let fixture: ComponentFixture<ModalComponent>;
+
+ beforeEach(
+ async(() => {
+ TestBed.configureTestingModule({
+ imports: [ModalModule.forRoot()],
+ declarations: [ModalComponent]
+ }).compileComponents();
+ })
+ );
+
+ beforeEach(() => {
+ fixture = TestBed.createComponent(ModalComponent);
+ component = fixture.componentInstance;
+ fixture.detectChanges();
+ });
+
+ it('should create', () => {
+ expect(component).toBeTruthy();
+ });
+});
--- /dev/null
+import { Component, Input, TemplateRef } from '@angular/core';
+
+import { BsModalService } from 'ngx-bootstrap/modal';
+import { BsModalRef } from 'ngx-bootstrap/modal/bs-modal-ref.service';
+
+@Component({
+ selector: 'cd-modal',
+ templateUrl: './modal.component.html',
+ styleUrls: ['./modal.component.scss']
+})
+export class ModalComponent {
+ @Input() modalRef: BsModalRef;
+
+ constructor(private modalService: BsModalService) {}
+}
Buttons
Dropdown
Grid
- Modal
+ Modal Table (Task Queue)
Navbar
Navs
Notifications
padding-right: 30px;
}
-/* Modal */
-.modal-dialog {
- margin: 30px auto !important;
-}
-.modal .modal-content .openattic-modal-header,
-.modal .modal-content .openattic-modal-content,
-.modal .modal-content .openattic-modal-footer {
- padding: 10px 20px;
-}
-.modal .modal-content .openattic-modal-header {
- border-bottom: 1px solid #cccccc;
- border-radius: 5px 5px 0 0;
- background-color: #f5f5f5;
-}
-.modal .modal-content .openattic-modal-content {
- padding: 20px 20px 10px 20px;
- overflow-x: auto;
- max-height: 70vh;
-}
-.modal .modal-content .openattic-modal-content p {
- margin-bottom: 10px;
-}
-.modal .modal-content .openattic-modal-content legend {
- font-size: 1.833em;
-}
-.modal .modal-content .openattic-modal-footer {
- border-top: 1px solid #cccccc;
- border-radius: 0 0 5px 5px;
- background-color: #f5f5f5;
-}
-.modal .modal-content .openattic-modal-header span {
- display: block;
- font-size: 16px; /* Same as .panel-title */
-}
/* Modal Table (Task Queue) */
table.task-queue-table thead {