Your search did not match any results.
Load Panel

Load Panel

Documentation

The LoadPanel is an overlay widget notifying the viewer that loading is in progress.

Copy to CodeSandBox
Apply
Reset
<h1>John Heart</h1> <dx-button text="Load Data" (onClick)="showLoadPanel()"> </dx-button> <div id="employee"> <p> Birth date: <b>{{employeeInfo.Birth_Date}}</b> </p> <p class="address"> Address:<br /> <b>{{employeeInfo.City}}</b><br /> <span>{{employeeInfo.Zipcode}}</span> <span>{{employeeInfo.Address}}</span> </p> <p> Phone: <b>{{employeeInfo.Mobile_Phone}}</b><br /> Email: <b>{{employeeInfo.Email}}</b> </p> </div> <dx-load-panel #loadPanel shadingColor="rgba(0,0,0,0.4)" [position]="{ of: '#employee' }" [(visible)]="loadingVisible" [showIndicator]="true" [showPane]="true" [shading]="true" [closeOnOutsideClick]="false" (onShown)="onShown()" (onHidden)="onHidden()"> </dx-load-panel> <div class="options"> <div class="caption">Options</div> <div class="option"> <dx-check-box text="With indicator" [(value)]="loadPanel.showIndicator"> </dx-check-box> </div> <div class="option"> <dx-check-box text="With overlay" [(value)]="loadPanel.shading"> </dx-check-box> </div> <div class="option"> <dx-check-box text="With pane" [(value)]="loadPanel.showPane"> </dx-check-box> </div> <div class="option"> <dx-check-box text="Close on outside click" [(value)]="loadPanel.closeOnOutsideClick"> </dx-check-box> </div> </div>
import { NgModule, Component, enableProdMode } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; import { DxButtonModule, DxLoadPanelModule, DxCheckBoxModule } from 'devextreme-angular'; import { Employee, Service } from './app.service'; if(!/localhost/.test(document.location.host)) { enableProdMode(); } @Component({ selector: 'demo-app', providers: [ Service ], templateUrl: 'app/app.component.html', styleUrls: ['app/app.component.css'], preserveWhitespaces: true }) export class AppComponent { employee: Employee; employeeInfo: any = {}; loadingVisible = false; constructor(service: Service) { this.employee = service.getEmployee(); } onShown() { setTimeout(() => { this.loadingVisible = false; }, 3000); } onHidden() { this.employeeInfo = this.employee; } showLoadPanel() { this.employeeInfo = {}; this.loadingVisible = true; } } @NgModule({ imports: [ BrowserModule, DxButtonModule, DxLoadPanelModule, DxCheckBoxModule ], declarations: [AppComponent], bootstrap: [AppComponent] }) export class AppModule {} platformBrowserDynamic().bootstrapModule(AppModule);
h1 { display: inline-block; vertical-align: middle; padding: 10px; margin: 0; } ::ng-deep #employee { margin: 20px 0; -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; border-top: 1px solid lightgray; border-bottom: 1px solid lightgray; } ::ng-deep #employee > p { padding: 10px 20px; margin: 0; } ::ng-deep .address { height: 60px; } ::ng-deep .options { padding: 20px; background-color: rgba(191, 191, 191, 0.15); margin-top: 20px; } ::ng-deep .caption { font-size: 18px; font-weight: 500; } ::ng-deep .option { margin-top: 10px; }
import { Injectable } from '@angular/core'; export class Employee { Full_Name: string; Title: string; Birth_Date: string; Prefix: string; Address: string; City: string; Zipcode: number; Email: string; Skype: string; Home_Phone: string; Mobile_Phone: string; } let employee: Employee = { Full_Name: "John Heart", Title: "CEO", Birth_Date: "03/16/1964", Prefix: "Mr.", Address: "351 S Hill St.", City: "Los Angeles", Zipcode: 90013, Email: "jheart@dx-email.com", Skype: "jheart_DX_skype", Home_Phone: "(213) 555-9208", Mobile_Phone: "(213) 555-9392" }; @Injectable() export class Service { getEmployee() : Employee { return employee; } }
// In real applications, you should not transpile code in the browser. You can see how to create your own application with Angular and DevExtreme here: // https://github.com/DevExpress/devextreme-angular/blob/master/README.md System.config({ transpiler: 'ts', typescriptOptions: { module: "commonjs", emitDecoratorMetadata: true, experimentalDecorators: true }, meta: { 'typescript': { "exports": "ts" } }, paths: { 'npm:': 'https://unpkg.com/' }, map: { 'ts': 'npm:plugin-typescript@8.0.0/lib/plugin.js', 'typescript': 'npm:typescript@3.4.5/lib/typescript.js', '@angular/core': 'npm:@angular/core@8.0.0/bundles/core.umd.js', '@angular/common': 'npm:@angular/common@8.0.0/bundles/common.umd.js', '@angular/compiler': 'npm:@angular/compiler@8.0.0/bundles/compiler.umd.js', '@angular/platform-browser': 'npm:@angular/platform-browser@8.0.0/bundles/platform-browser.umd.js', '@angular/platform-browser-dynamic': 'npm:@angular/platform-browser-dynamic@8.0.0/bundles/platform-browser-dynamic.umd.js', '@angular/router': 'npm:@angular/router@8.0.0/bundles/router.umd.js', '@angular/forms': 'npm:@angular/forms@8.0.0/bundles/forms.umd.js', '@angular/common/http': 'npm:@angular/common@8.0.0/bundles/common-http.umd.js', 'tslib': 'npm:tslib/tslib.js', 'rxjs': 'npm:rxjs@6.3.3', 'rxjs/operators': 'npm:rxjs@6.3.3/operators', 'devextreme': 'npm:devextreme@19.1', 'jszip': 'npm:jszip@3.1.3/dist/jszip.min.js', 'quill': 'npm:quill@1.3.6/dist/quill.js', 'devexpress-diagram': 'npm:devexpress-diagram', 'devextreme-angular': 'npm:devextreme-angular@19.1' }, packages: { 'app': { main: './app.component.ts', defaultExtension: 'ts' }, 'devextreme': { defaultExtension: 'js' }, 'rxjs': { main: 'index.js', defaultExtension: 'js' }, 'rxjs/operators': { main: 'index.js', defaultExtension: 'js' }, 'devextreme-angular': { main: 'index.js', defaultExtension: 'js' } } });
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>DevExtreme Demo</title> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" /> <link rel="stylesheet" type="text/css" href="https://cdn3.devexpress.com/jslib/19.1.4/css/dx.common.css" /> <link rel="stylesheet" type="text/css" href="https://cdn3.devexpress.com/jslib/19.1.4/css/dx.light.css" /> <script src="https://unpkg.com/core-js@2.4.1/client/shim.min.js"></script> <script src="https://unpkg.com/zone.js@0.6.25/dist/zone.js"></script> <script src="https://unpkg.com/reflect-metadata@0.1.3/Reflect.js"></script> <script src="https://unpkg.com/systemjs@0.21.3/dist/system.js"></script> <script src="config.js"></script> <script> System.import('app').catch(console.error.bind(console)); </script> </head> <body class="dx-viewport"> <div class="demo-container"> <demo-app>Loading...</demo-app> </div> </body> </html>