DevExtreme v25.1 is now available.

Explore our newest features/capabilities and share your thoughts with us.

Your search did not match any results.

Angular Card View - Search Panel

To enable user data search, activate the searchPanel by setting its visible property to true.

CardView searches through all fields, whether visible or hidden. To limit search operations within visible fields, enable the searchPanel.searchVisibleColumnsOnly property. To omit specific fields, set the field’s allowSearch property to false.

Backend API
<dx-card-view [dataSource]="tasks" keyExpr="Task_ID" cardsPerRow="auto" [cardMinWidth]="310" [wordWrapEnabled]="true" > <dxo-card-view-search-panel [visible]="true" text="an" ></dxo-card-view-search-panel> <dxo-card-view-header-filter [visible]="true"></dxo-card-view-header-filter> <dxi-card-view-column dataField="Task_Subject" caption="Subject" ></dxi-card-view-column> <dxi-card-view-column dataField="Task_Start_Date" caption="Start Date" dataType="date" ></dxi-card-view-column> <dxi-card-view-column dataField="Task_Due_Date" caption="Due Date" dataType="date" ></dxi-card-view-column> <dxi-card-view-column dataField="Task_Priority" caption="Priority" ></dxi-card-view-column> <dxi-card-view-column dataField="Task_Status" caption="Status" ></dxi-card-view-column> </dx-card-view>
import { NgModule, Component, enableProdMode } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; import { DxCardViewModule } from 'devextreme-angular'; import { Task, Service } from './app.service'; if (!/localhost/.test(document.location.host)) { enableProdMode(); } let modulePrefix = ''; // @ts-ignore if (window && window.config?.packageConfigPaths) { modulePrefix = '/app'; } @Component({ styleUrls: [`app/app.component.css`], selector: 'demo-app', templateUrl: `app/app.component.html`, providers: [Service], }) export class AppComponent { tasks: Task[]; constructor(service: Service) { this.tasks = service.getTasks(); } } @NgModule({ imports: [ BrowserModule, DxCardViewModule, ], declarations: [AppComponent], bootstrap: [AppComponent], }) export class AppModule { } platformBrowserDynamic().bootstrapModule(AppModule);
import { Injectable } from '@angular/core'; export interface Task { Task_ID: number; Task_Assigned_Employee_ID: number; Task_Owner_ID: number; Task_Subject: string; Task_Start_Date: string; Task_Due_Date: string; Task_Status: string; Task_Priority: number; Task_Completion: number; } const tasks: Task[] = [{ 'Task_ID': 1, 'Task_Assigned_Employee_ID': 7, 'Task_Owner_ID': 1, 'Task_Subject': 'Prepare 2013 Financial', 'Task_Start_Date': '2013-01-15T00:00:00', 'Task_Due_Date': '2013-01-31T00:00:00', 'Task_Status': 'Completed', 'Task_Priority': 4, 'Task_Completion': 100, }, { 'Task_ID': 2, 'Task_Assigned_Employee_ID': 4, 'Task_Owner_ID': 1, 'Task_Subject': 'Prepare 3013 Marketing Plan', 'Task_Start_Date': '2013-01-01T00:00:00', 'Task_Due_Date': '2013-01-31T00:00:00', 'Task_Status': 'Completed', 'Task_Priority': 4, 'Task_Completion': 100, }, { 'Task_ID': 3, 'Task_Assigned_Employee_ID': 2, 'Task_Owner_ID': 1, 'Task_Subject': 'Update Personnel Files', 'Task_Start_Date': '2013-02-03T00:00:00', 'Task_Due_Date': '2013-02-28T00:00:00', 'Task_Status': 'Completed', 'Task_Priority': 4, 'Task_Completion': 100, }, { 'Task_ID': 4, 'Task_Assigned_Employee_ID': 2, 'Task_Owner_ID': 1, 'Task_Subject': 'Review Health Insurance Options Under the Affordable Care Act', 'Task_Start_Date': '2013-02-12T00:00:00', 'Task_Due_Date': '2013-04-25T00:00:00', 'Task_Status': 'In Progress', 'Task_Priority': 4, 'Task_Completion': 50, }, { 'Task_ID': 5, 'Task_Assigned_Employee_ID': 1, 'Task_Owner_ID': 2, 'Task_Subject': 'Choose between PPO and HMO Health Plan', 'Task_Start_Date': '2013-02-15T00:00:00', 'Task_Due_Date': '2013-04-15T00:00:00', 'Task_Status': 'In Progress', 'Task_Priority': 4, 'Task_Completion': 75, }, { 'Task_ID': 6, 'Task_Assigned_Employee_ID': 1, 'Task_Owner_ID': 4, 'Task_Subject': 'Google AdWords Strategy', 'Task_Start_Date': '2013-02-16T00:00:00', 'Task_Due_Date': '2013-02-28T00:00:00', 'Task_Status': 'Completed', 'Task_Priority': 4, 'Task_Completion': 100, }, { 'Task_ID': 7, 'Task_Assigned_Employee_ID': 1, 'Task_Owner_ID': 4, 'Task_Subject': 'New Brochures', 'Task_Start_Date': '2013-02-17T00:00:00', 'Task_Due_Date': '2013-02-24T00:00:00', 'Task_Status': 'Completed', 'Task_Priority': 2, 'Task_Completion': 100, }, { 'Task_ID': 8, 'Task_Assigned_Employee_ID': 28, 'Task_Owner_ID': 1, 'Task_Subject': '2013 Brochure Designs', 'Task_Start_Date': '2013-02-19T00:00:00', 'Task_Due_Date': '2013-02-24T00:00:00', 'Task_Status': 'Completed', 'Task_Priority': 3, 'Task_Completion': 100, }, { 'Task_ID': 9, 'Task_Assigned_Employee_ID': 29, 'Task_Owner_ID': 28, 'Task_Subject': 'Brochure Design Review', 'Task_Start_Date': '2013-02-19T00:00:00', 'Task_Due_Date': '2013-02-22T00:00:00', 'Task_Status': 'Completed', 'Task_Priority': 2, 'Task_Completion': 100, }, { 'Task_ID': 10, 'Task_Assigned_Employee_ID': 29, 'Task_Owner_ID': 28, 'Task_Subject': 'Website Re-Design Plan', 'Task_Start_Date': '2013-02-19T00:00:00', 'Task_Due_Date': '2013-02-24T00:00:00', 'Task_Status': 'Completed', 'Task_Priority': 4, 'Task_Completion': 100, }, { 'Task_ID': 11, 'Task_Assigned_Employee_ID': 4, 'Task_Owner_ID': 1, 'Task_Subject': 'Rollout of New Website and Marketing Brochures', 'Task_Start_Date': '2013-02-20T00:00:00', 'Task_Due_Date': '2013-02-28T00:00:00', 'Task_Status': 'Completed', 'Task_Priority': 4, 'Task_Completion': 100, }, { 'Task_ID': 12, 'Task_Assigned_Employee_ID': 8, 'Task_Owner_ID': 4, 'Task_Subject': 'Update Sales Strategy Documents', 'Task_Start_Date': '2013-02-20T00:00:00', 'Task_Due_Date': '2013-02-22T00:00:00', 'Task_Status': 'Completed', 'Task_Priority': 2, 'Task_Completion': 100, }, { 'Task_ID': 13, 'Task_Assigned_Employee_ID': 41, 'Task_Owner_ID': 8, 'Task_Subject': 'Create 2012 Sales Report', 'Task_Start_Date': '2013-02-20T00:00:00', 'Task_Due_Date': '2013-02-21T00:00:00', 'Task_Status': 'Completed', 'Task_Priority': 2, 'Task_Completion': 100, }, { 'Task_ID': 14, 'Task_Assigned_Employee_ID': 42, 'Task_Owner_ID': 41, 'Task_Subject': 'Direct vs Online Sales Comparison Report', 'Task_Start_Date': '2013-02-20T00:00:00', 'Task_Due_Date': '2013-02-22T00:00:00', 'Task_Status': 'Completed', 'Task_Priority': 4, 'Task_Completion': 100, }, { 'Task_ID': 15, 'Task_Assigned_Employee_ID': 4, 'Task_Owner_ID': 41, 'Task_Subject': 'Review 2012 Sales Report and Approve 2013 Plans', 'Task_Start_Date': '2013-02-23T00:00:00', 'Task_Due_Date': '2013-02-28T00:00:00', 'Task_Status': 'Completed', 'Task_Priority': 2, 'Task_Completion': 100, }, { 'Task_ID': 16, 'Task_Assigned_Employee_ID': 3, 'Task_Owner_ID': 1, 'Task_Subject': 'Deliver R&D Plans for 2013', 'Task_Start_Date': '2013-03-01T00:00:00', 'Task_Due_Date': '2013-03-10T00:00:00', 'Task_Status': 'Completed', 'Task_Priority': 4, 'Task_Completion': 100, }, { 'Task_ID': 17, 'Task_Assigned_Employee_ID': 32, 'Task_Owner_ID': 3, 'Task_Subject': 'Create 2013 R&D Plans', 'Task_Start_Date': '2013-03-01T00:00:00', 'Task_Due_Date': '2013-03-07T00:00:00', 'Task_Status': 'Completed', 'Task_Priority': 2, 'Task_Completion': 100, }, { 'Task_ID': 18, 'Task_Assigned_Employee_ID': 33, 'Task_Owner_ID': 32, 'Task_Subject': '2013 QA Strategy Report', 'Task_Start_Date': '2013-03-02T00:00:00', 'Task_Due_Date': '2013-03-05T00:00:00', 'Task_Status': 'Completed', 'Task_Priority': 2, 'Task_Completion': 100, }, { 'Task_ID': 19, 'Task_Assigned_Employee_ID': 31, 'Task_Owner_ID': 33, 'Task_Subject': '2013 Training Events', 'Task_Start_Date': '2013-03-02T00:00:00', 'Task_Due_Date': '2013-03-04T00:00:00', 'Task_Status': 'Completed', 'Task_Priority': 4, 'Task_Completion': 100, }, { 'Task_ID': 20, 'Task_Assigned_Employee_ID': 5, 'Task_Owner_ID': 31, 'Task_Subject': 'Approve Hiring of John Jeffers', 'Task_Start_Date': '2013-03-02T00:00:00', 'Task_Due_Date': '2013-03-12T00:00:00', 'Task_Status': 'Completed', 'Task_Priority': 2, 'Task_Completion': 100, }, { 'Task_ID': 21, 'Task_Assigned_Employee_ID': 2, 'Task_Owner_ID': 5, 'Task_Subject': 'Non-Compete Agreements', 'Task_Start_Date': '2013-03-12T00:00:00', 'Task_Due_Date': '2013-03-14T00:00:00', 'Task_Status': 'Completed', 'Task_Priority': 1, 'Task_Completion': 100, }, { 'Task_ID': 22, 'Task_Assigned_Employee_ID': 1, 'Task_Owner_ID': 2, 'Task_Subject': 'Update NDA Agreement', 'Task_Start_Date': '2013-03-14T00:00:00', 'Task_Due_Date': '2013-03-16T00:00:00', 'Task_Status': 'Completed', 'Task_Priority': 4, 'Task_Completion': 100, }, { 'Task_ID': 23, 'Task_Assigned_Employee_ID': 5, 'Task_Owner_ID': 2, 'Task_Subject': 'Update Employee Files with New NDA', 'Task_Start_Date': '2013-03-16T00:00:00', 'Task_Due_Date': '2013-03-26T00:00:00', 'Task_Status': 'Need Assistance', 'Task_Priority': 2, 'Task_Completion': 90, }, { 'Task_ID': 24, 'Task_Assigned_Employee_ID': 6, 'Task_Owner_ID': 5, 'Task_Subject': 'Sign Updated NDA', 'Task_Start_Date': '2013-03-20T00:00:00', 'Task_Due_Date': '2013-03-25T00:00:00', 'Task_Status': 'Completed', 'Task_Priority': 3, 'Task_Completion': 100, }, { 'Task_ID': 25, 'Task_Assigned_Employee_ID': 7, 'Task_Owner_ID': 5, 'Task_Subject': 'Sign Updated NDA', 'Task_Start_Date': '2013-03-20T00:00:00', 'Task_Due_Date': '2013-03-25T00:00:00', 'Task_Status': 'Completed', 'Task_Priority': 3, 'Task_Completion': 100, }, { 'Task_ID': 26, 'Task_Assigned_Employee_ID': 8, 'Task_Owner_ID': 5, 'Task_Subject': 'Sign Updated NDA', 'Task_Start_Date': '2013-03-20T00:00:00', 'Task_Due_Date': '2013-03-25T00:00:00', 'Task_Status': 'Need Assistance', 'Task_Priority': 3, 'Task_Completion': 25, }, { 'Task_ID': 27, 'Task_Assigned_Employee_ID': 9, 'Task_Owner_ID': 5, 'Task_Subject': 'Sign Updated NDA', 'Task_Start_Date': '2013-03-20T00:00:00', 'Task_Due_Date': '2013-03-25T00:00:00', 'Task_Status': 'In Progress', 'Task_Priority': 3, 'Task_Completion': 100, }, { 'Task_ID': 28, 'Task_Assigned_Employee_ID': 17, 'Task_Owner_ID': 9, 'Task_Subject': 'Submit Questions Regarding New NDA', 'Task_Start_Date': '2013-03-21T00:00:00', 'Task_Due_Date': '2013-03-24T00:00:00', 'Task_Status': 'Completed', 'Task_Priority': 4, 'Task_Completion': 100, }, { 'Task_ID': 29, 'Task_Assigned_Employee_ID': 18, 'Task_Owner_ID': 9, 'Task_Subject': 'Submit Questions Regarding New NDA', 'Task_Start_Date': '2013-03-21T00:00:00', 'Task_Due_Date': '2013-03-24T00:00:00', 'Task_Status': 'Completed', 'Task_Priority': 4, 'Task_Completion': 100, }, { 'Task_ID': 30, 'Task_Assigned_Employee_ID': 19, 'Task_Owner_ID': 9, 'Task_Subject': 'Submit Questions Regarding New NDA', 'Task_Start_Date': '2013-03-21T00:00:00', 'Task_Due_Date': '2013-03-24T00:00:00', 'Task_Status': 'Need Assistance', 'Task_Priority': 4, 'Task_Completion': 25, }, { 'Task_ID': 31, 'Task_Assigned_Employee_ID': 14, 'Task_Owner_ID': 10, 'Task_Subject': 'Submit Signed NDA', 'Task_Start_Date': '2013-03-22T00:00:00', 'Task_Due_Date': '2013-03-24T00:00:00', 'Task_Status': 'Completed', 'Task_Priority': 3, 'Task_Completion': 100, }, { 'Task_ID': 32, 'Task_Assigned_Employee_ID': 13, 'Task_Owner_ID': 10, 'Task_Subject': 'Submit Signed NDA', 'Task_Start_Date': '2013-03-22T00:00:00', 'Task_Due_Date': '2013-03-24T00:00:00', 'Task_Status': 'Completed', 'Task_Priority': 3, 'Task_Completion': 100, }, { 'Task_ID': 33, 'Task_Assigned_Employee_ID': 15, 'Task_Owner_ID': 10, 'Task_Subject': 'Submit Signed NDA', 'Task_Start_Date': '2013-03-22T00:00:00', 'Task_Due_Date': '2013-03-24T00:00:00', 'Task_Status': 'Completed', 'Task_Priority': 3, 'Task_Completion': 100, }, { 'Task_ID': 34, 'Task_Assigned_Employee_ID': 16, 'Task_Owner_ID': 10, 'Task_Subject': 'Submit Signed NDA', 'Task_Start_Date': '2013-03-22T00:00:00', 'Task_Due_Date': '2013-03-24T00:00:00', 'Task_Status': 'Completed', 'Task_Priority': 3, 'Task_Completion': 100, }, { 'Task_ID': 35, 'Task_Assigned_Employee_ID': 7, 'Task_Owner_ID': 1, 'Task_Subject': 'Update Revenue Projections', 'Task_Start_Date': '2013-03-24T00:00:00', 'Task_Due_Date': '2013-04-07T00:00:00', 'Task_Status': 'Completed', 'Task_Priority': 2, 'Task_Completion': 100, }, { 'Task_ID': 36, 'Task_Assigned_Employee_ID': 8, 'Task_Owner_ID': 7, 'Task_Subject': 'Review Revenue Projections', 'Task_Start_Date': '2013-03-25T00:00:00', 'Task_Due_Date': '2013-04-06T00:00:00', 'Task_Status': 'Completed', 'Task_Priority': 4, 'Task_Completion': 100, }, { 'Task_ID': 37, 'Task_Assigned_Employee_ID': 41, 'Task_Owner_ID': 7, 'Task_Subject': 'Comment on Revenue Projections', 'Task_Start_Date': '2013-03-25T00:00:00', 'Task_Due_Date': '2013-04-03T00:00:00', 'Task_Status': 'Completed', 'Task_Priority': 3, 'Task_Completion': 100, }, { 'Task_ID': 38, 'Task_Assigned_Employee_ID': 42, 'Task_Owner_ID': 7, 'Task_Subject': 'Comment on Revenue Projections', 'Task_Start_Date': '2013-03-25T00:00:00', 'Task_Due_Date': '2013-04-03T00:00:00', 'Task_Status': 'Completed', 'Task_Priority': 3, 'Task_Completion': 100, }, { 'Task_ID': 39, 'Task_Assigned_Employee_ID': 45, 'Task_Owner_ID': 7, 'Task_Subject': 'Comment on Revenue Projections', 'Task_Start_Date': '2013-03-25T00:00:00', 'Task_Due_Date': '2013-04-03T00:00:00', 'Task_Status': 'Deferred', 'Task_Priority': 3, 'Task_Completion': 25, }, { 'Task_ID': 40, 'Task_Assigned_Employee_ID': 5, 'Task_Owner_ID': 11, 'Task_Subject': 'Provide New Health Insurance Docs', 'Task_Start_Date': '2013-03-28T00:00:00', 'Task_Due_Date': '2013-04-07T00:00:00', 'Task_Status': 'Completed', 'Task_Priority': 2, 'Task_Completion': 100, }, { 'Task_ID': 41, 'Task_Assigned_Employee_ID': 10, 'Task_Owner_ID': 11, 'Task_Subject': 'Review Changes to Health Insurance Coverage', 'Task_Start_Date': '2013-04-07T00:00:00', 'Task_Due_Date': '2013-04-30T00:00:00', 'Task_Status': 'Completed', 'Task_Priority': 2, 'Task_Completion': 100, }, { 'Task_ID': 42, 'Task_Assigned_Employee_ID': 14, 'Task_Owner_ID': 10, 'Task_Subject': 'Scan Health Insurance Forms', 'Task_Start_Date': '2013-04-15T00:00:00', 'Task_Due_Date': '2013-04-20T00:00:00', 'Task_Status': 'Completed', 'Task_Priority': 2, 'Task_Completion': 100, }, { 'Task_ID': 43, 'Task_Assigned_Employee_ID': 15, 'Task_Owner_ID': 14, 'Task_Subject': 'Sign Health Insurance Forms', 'Task_Start_Date': '2013-04-16T00:00:00', 'Task_Due_Date': '2013-04-19T00:00:00', 'Task_Status': 'Completed', 'Task_Priority': 4, 'Task_Completion': 100, }, { 'Task_ID': 44, 'Task_Assigned_Employee_ID': 13, 'Task_Owner_ID': 14, 'Task_Subject': 'Sign Health Insurance Forms', 'Task_Start_Date': '2013-04-16T00:00:00', 'Task_Due_Date': '2013-04-19T00:00:00', 'Task_Status': 'Completed', 'Task_Priority': 4, 'Task_Completion': 100, }, { 'Task_ID': 45, 'Task_Assigned_Employee_ID': 16, 'Task_Owner_ID': 14, 'Task_Subject': 'Sign Health Insurance Forms', 'Task_Start_Date': '2013-04-16T00:00:00', 'Task_Due_Date': '2013-04-19T00:00:00', 'Task_Status': 'Deferred', 'Task_Priority': 4, 'Task_Completion': 100, }, { 'Task_ID': 46, 'Task_Assigned_Employee_ID': 18, 'Task_Owner_ID': 9, 'Task_Subject': 'Follow up with West Coast Stores', 'Task_Start_Date': '2013-04-18T00:00:00', 'Task_Due_Date': '2014-02-04T00:00:00', 'Task_Status': 'In Progress', 'Task_Priority': 3, 'Task_Completion': 95, }, { 'Task_ID': 47, 'Task_Assigned_Employee_ID': 17, 'Task_Owner_ID': 9, 'Task_Subject': 'Follow up with East Coast Stores', 'Task_Start_Date': '2013-04-18T00:00:00', 'Task_Due_Date': '2014-01-04T00:00:00', 'Task_Status': 'In Progress', 'Task_Priority': 3, 'Task_Completion': 85, }, { 'Task_ID': 48, 'Task_Assigned_Employee_ID': 19, 'Task_Owner_ID': 9, 'Task_Subject': 'Send Email to Customers about Recall', 'Task_Start_Date': '2013-04-18T00:00:00', 'Task_Due_Date': '2013-04-30T00:00:00', 'Task_Status': 'Completed', 'Task_Priority': 4, 'Task_Completion': 100, }, { 'Task_ID': 49, 'Task_Assigned_Employee_ID': 9, 'Task_Owner_ID': 7, 'Task_Subject': 'Submit Refund Report for 2013 Recall', 'Task_Start_Date': '2013-04-25T00:00:00', 'Task_Due_Date': '2013-05-05T00:00:00', 'Task_Status': 'Completed', 'Task_Priority': 3, 'Task_Completion': 100, }, { 'Task_ID': 50, 'Task_Assigned_Employee_ID': 2, 'Task_Owner_ID': 7, 'Task_Subject': 'Give Final Approval for Refunds', 'Task_Start_Date': '2013-05-05T00:00:00', 'Task_Due_Date': '2013-05-15T00:00:00', 'Task_Status': 'Completed', 'Task_Priority': 2, 'Task_Completion': 100, }]; @Injectable() export class Service { getTasks() { return tasks; } }
// 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://js.devexpress.com/Documentation/Guide/Angular_Components/Getting_Started/Create_a_DevExtreme_Application/ const componentNames = [ 'accordion', 'action-sheet', 'autocomplete', 'bar-gauge', 'box', 'bullet', 'button-group', 'button', 'calendar', 'card-view', 'chart', 'chat', 'check-box', 'circular-gauge', 'color-box', 'context-menu', 'data-grid', 'date-box', 'date-range-box', 'defer-rendering', 'diagram', 'draggable', 'drawer', 'drop-down-box', 'drop-down-button', 'file-manager', 'file-uploader', 'filter-builder', 'form', 'funnel', 'gallery', 'gantt', 'html-editor', 'linear-gauge', 'list', 'load-indicator', 'load-panel', 'lookup', 'map', 'menu', 'multi-view', 'nested', 'number-box', 'pagination', 'pie-chart', 'pivot-grid-field-chooser', 'pivot-grid', 'polar-chart', 'popover', 'popup', 'progress-bar', 'radio-group', 'range-selector', 'range-slider', 'recurrence-editor', 'resizable', 'responsive-box', 'sankey', 'scheduler', 'scroll-view', 'select-box', 'slider', 'sortable', 'sparkline', 'speed-dial-action', 'splitter', 'stepper', 'switch', 'tab-panel', 'tabs', 'tag-box', 'text-area', 'text-box', 'tile-view', 'toast', 'toolbar', 'tooltip', 'tree-list', 'tree-map', 'tree-view', 'validation-group', 'validation-summary', 'validator', 'vector-map', ]; window.exports = window.exports || {}; window.config = { transpiler: 'ts', typescriptOptions: { module: 'system', emitDecoratorMetadata: true, experimentalDecorators: true, }, meta: { 'typescript': { 'exports': 'ts', }, 'devextreme/time_zone_utils.js': { 'esModule': true, }, 'devextreme/localization.js': { 'esModule': true, }, 'devextreme/viz/palette.js': { 'esModule': true, }, '@angular/platform-browser-dynamic': { 'esModule': true, }, '@angular/platform-browser': { 'esModule': true, }, '@angular/core': { 'esModule': true, }, '@angular/common': { 'esModule': true, }, '@angular/common/http': { 'esModule': true, }, '@angular/animations': { 'esModule': true, }, '@angular/forms': { 'esModule': true, }, 'openai': { 'esModule': true, }, }, paths: { 'npm:': 'https://cdn.jsdelivr.net/npm/', 'bundles:': '../../../../bundles/', 'externals:': '../../../../bundles/externals/', }, map: { 'ts': 'npm:plugin-typescript@8.0.0/lib/plugin.js', 'typescript': 'npm:typescript@4.2.4/lib/typescript.js', 'jszip': 'npm:jszip@3.10.1/dist/jszip.min.js', /* @angular */ '@angular/compiler': 'bundles:@angular/compiler.umd.js', '@angular/platform-browser-dynamic': 'bundles:@angular/platform-browser-dynamic.umd.js', '@angular/core': 'bundles:@angular/core.umd.js', '@angular/core/primitives/signals': 'bundles:@angular/core.primitives.signals.umd.js', '@angular/common': 'bundles:@angular/common.umd.js', '@angular/common/http': 'bundles:@angular/common-http.umd.js', '@angular/platform-browser': 'bundles:@angular/platform-browser.umd.js', '@angular/platform-browser/animations': 'bundles:@angular/platform-browser.umd.js', '@angular/forms': 'bundles:@angular/forms.umd.js', /* devextreme */ 'devextreme': 'npm:devextreme@25.1.3/cjs', 'devextreme-quill': 'npm:devextreme-quill@1.7.3/dist/dx-quill.min.js', 'devexpress-diagram': 'npm:devexpress-diagram@2.2.19', 'devexpress-gantt': 'npm:devexpress-gantt@4.1.62', /* devextreme-angular umd maps */ 'devextreme-angular': 'bundles:devextreme-angular/devextreme-angular.umd.js', 'devextreme-angular/common/ai-integration': 'bundles:devextreme-angular/devextreme-angular-common-ai-integration.umd.js', 'devextreme-angular/core': 'bundles:devextreme-angular/devextreme-angular-core.umd.js', 'devextreme-angular/common/charts': 'bundles:devextreme-angular/devextreme-angular-common-charts.umd.js', 'devextreme-angular/common/core/animation': 'bundles:devextreme-angular/devextreme-angular-common-core-animation.umd.js', 'devextreme-angular/common/core/environment': 'bundles:devextreme-angular/devextreme-angular-common-core-environment.umd.js', 'devextreme-angular/common/core/events': 'bundles:devextreme-angular/devextreme-angular-common-core-events.umd.js', 'devextreme-angular/common/core/localization': 'bundles:devextreme-angular/devextreme-angular-common-core-localization.umd.js', 'devextreme-angular/common/core': 'bundles:devextreme-angular/devextreme-angular-common-core.umd.js', 'devextreme-angular/common/data/custom-store': 'bundles:devextreme-angular/devextreme-angular-common-data-custom-store.umd.js', 'devextreme-angular/common/data': 'bundles:devextreme-angular/devextreme-angular-common-data.umd.js', 'devextreme-angular/common/export/excel': 'bundles:devextreme-angular/devextreme-angular-common-export-excel.umd.js', 'devextreme-angular/common/export/pdf': 'bundles:devextreme-angular/devextreme-angular-common-export-pdf.umd.js', 'devextreme-angular/common/export': 'bundles:devextreme-angular/devextreme-angular-common-export.umd.js', 'devextreme-angular/common/grids': 'bundles:devextreme-angular/devextreme-angular-common-grids.umd.js', 'devextreme-angular/common': 'bundles:devextreme-angular/devextreme-angular-common.umd.js', 'devextreme-angular/http': 'bundles:devextreme-angular/devextreme-angular-http.umd.js', ...componentNames.reduce((acc, name) => { acc[`devextreme-angular/ui/${name}`] = `bundles:devextreme-angular/devextreme-angular-ui-${name}.umd.js`; acc[`devextreme-angular/ui/${name}/nested`] = `bundles:devextreme-angular/devextreme-angular-ui-${name}-nested.umd.js`; return acc; }, {}), 'tslib': 'npm:tslib/tslib.js', 'rxjs': 'npm:rxjs@7.5.3/dist/bundles/rxjs.umd.js', 'rxjs/operators': 'npm:rxjs@7.5.3/dist/cjs/operators/index.js', 'rrule': 'npm:rrule@2.6.4/dist/es5/rrule.js', 'luxon': 'npm:luxon@3.4.4/build/global/luxon.min.js', 'es6-object-assign': 'npm:es6-object-assign', 'inferno': 'npm:inferno@8.2.3/dist/inferno.min.js', 'inferno-compat': 'npm:inferno-compat/dist/inferno-compat.min.js', 'inferno-create-element': 'npm:inferno-create-element@8.2.3/dist/inferno-create-element.min.js', 'inferno-dom': 'npm:inferno-dom/dist/inferno-dom.min.js', 'inferno-hydrate': 'npm:inferno-hydrate/dist/inferno-hydrate.min.js', 'inferno-clone-vnode': 'npm:inferno-clone-vnode/dist/inferno-clone-vnode.min.js', 'inferno-create-class': 'npm:inferno-create-class/dist/inferno-create-class.min.js', 'inferno-extras': 'npm:inferno-extras/dist/inferno-extras.min.js', '@preact/signals-core': 'npm:@preact/signals-core@1.8.0/dist/signals-core.min.js', // Prettier 'prettier/standalone': 'npm:prettier@2.8.8/standalone.js', 'prettier/parser-html': 'npm:prettier@2.8.8/parser-html.js', }, packages: { 'app': { main: './app.component.ts', defaultExtension: 'ts', }, 'devextreme': { defaultExtension: 'js', }, 'devextreme/events/utils': { main: 'index', }, 'devextreme/common/core/events/utils': { main: 'index', }, 'devextreme/events': { main: 'index', }, 'es6-object-assign': { main: './index.js', defaultExtension: 'js', }, 'rxjs': { defaultExtension: 'js', }, 'rxjs/operators': { defaultExtension: 'js', }, }, packageConfigPaths: [ 'npm:@devextreme/*/package.json', 'npm:rxjs@7.5.3/package.json', 'npm:rxjs@7.5.3/operators/package.json', 'npm:devexpress-diagram@2.2.19/package.json', 'npm:devexpress-gantt@4.1.62/package.json', ], }; System.config(window.config); // System.import('@angular/compiler').catch(console.error.bind(console));
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" lang="en"> <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=5.0" /> <link rel="stylesheet" type="text/css" href="https://cdn3.devexpress.com/jslib/25.1.3/css/dx.light.css" /> <script src="https://cdn.jsdelivr.net/npm/core-js@2.6.12/client/shim.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/zone.js@0.14.10/bundles/zone.umd.js"></script> <script src="https://cdn.jsdelivr.net/npm/reflect-metadata@0.1.13/Reflect.js"></script> <script src="https://cdn.jsdelivr.net/npm/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>

Numeric, date, and Boolean values match if they are equal to the search query. String values match if they contain the query. Search for string values is case-insensitive.

To specify a search query in code, set the searchPanel.text property or call the searchByText(text) method.