|
onOpen(args: any) {
// To fetch the available child elements in body
let elements: Element[] = <NodeListOf<Element> & Element[]>document.querySelectorAll('body > *');
let value: string[] = [];
for (let i = 0; i < elements.length; i++) {
let element = document.defaultView.getComputedStyle(elements[i], null);
if (element.getPropertyValue('position') !== 'static') {
value.push(element.getPropertyValue('z-index') || element.getPropertyValue('zIndex'));// fetching z-index values
}
}
// fetching maximum z-index value
let index: any = parseInt(Math.max.apply(Math, value));
// setting z-index to calendar popup element
args.popup.element.style.zIndex = index + 1;
} |
|
<appComponent.html>
<button class="btn btn-lg btn-outline-primary" (click)="content.show()">Open Modal</button>
<custom-selector #content >
<div class="modal-body">
<div class="edit-box">
<div class="">
<div class="col-md-12 form-group">
<label class="addClientLabel">Dropdowns</label>
<ej-dropdownlist id='games' #sample [dataSource]='data' [query]='query' [fields]='fields' (open)="onOpen($event)" [placeholder]='waterMark'
[popupHeight]='height' [width]="width"></ej-dropdownlist>
</div>
<div class="col-md-12">
<label class="addClientLabel">Multiselect</label>
<ej-multiselect id='remoteData' #remote [dataSource]='data' [fields]='fields' [width]="width" [query]='query' (open)="onOpen($event)"
[placeholder]='waterMark'></ej-multiselect>
</div>
</div>
<div class="modal-footer">
</custom-selector>
<app.component.ts>
export class AppComponent {
closeResult: string;
@ViewChild('content') content :CustomComponent;
constructor(private viewContainerRef: ViewContainerRef, private modalService: NgbModal) {
}
}
<custom.component>
@Component({
selector: 'custom-selector',
template: `
<ng-template #content>
<div class="modal-header">
<h4 class="modal-title">Dropdownlist Sample</h4>
<button type="button" class="close" aria-label="Close" (click)="d('Cross click')">
</button>
</div>
<div class="modal-body">
<ng-content select=".modal-body"> </ng-content>
</div>
</ng-template> `
})
export class CustomComponent {
closeResult: string;
@ViewChild('content') contentTemplate: TemplateRef<any>;
@ViewChild('content')
public content: CustomComponent;
constructor(private modalService: NgbModal) {
}
} |
| <ejs-dropdownlist id='games' #sample [dataSource]='data' [query]='query' zIndex=100001 [fields]='fields' [placeholder]='waterMark' [popupHeight]='height' [width]="width"></ejs-dropdownlist> <ejs-multiselect id='remoteData' #remote [dataSource]='data' zIndex=100001 [fields]='fields' [width]="width" [query]='query' [placeholder]='waterMark'></ejs-multiselect> |
|
paths: {
'npm:': 'node_modules/',
"syncfusion:": "node_modules/@syncfusion/", //** syncfusion alias, if it is offline package ** },
|
|
class SerialNoAdaptor extends WebApiAdaptor {
public processResponse(): Object {
let i: number = 0;
//calling base class processResponse function
let original: Object[] = super.processResponse.apply(this, arguments);
//Adding serial number
original.forEach((item: Object) => item['Sno'] = ++i);
return original;
}
}
public data: DataManager = new DataManager({
url: 'http://localhost:62779/api/values', // set the localhost url
adaptor: new SerialNoAdaptor,
crossDomain: true
});
|
{
"name": "admin",
"version": "0.0.0",
"license": "MIT",
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build --prod",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e"
},
"private": true,
"dependencies": {
"@agm/core": "^1.0.0-beta.2",
"@angular-devkit/build-angular": "^0.11.3",
"@angular/animations": "^5.2.10",
"@angular/common": "5.1.0",
"@angular/compiler": "5.1.0",
"@angular/core": "^5.2.11",
"@angular/forms": "5.1.0",
"@angular/http": "5.1.0",
"@angular/platform-browser": "5.1.0",
"@angular/platform-browser-dynamic": "5.1.0",
"@angular/router": "5.1.0",
"@ng-bootstrap/ng-bootstrap": "^1.0.0-beta.5",
"@progress/kendo-angular-buttons": "^4.0.0",
"@progress/kendo-angular-dateinputs": "^2.2.0",
"@progress/kendo-angular-dropdowns": "^2.1.0",
"@progress/kendo-angular-excel-export": "^1.0.7",
"@progress/kendo-angular-grid": "^3.0.0",
"@progress/kendo-angular-inputs": "^2.2.0",
"@progress/kendo-angular-intl": "^1.4.0",
"@progress/kendo-angular-l10n": "^1.1.0",
"@progress/kendo-data-query": "^1.2.2",
"@progress/kendo-drawing": "^1.5.2",
"@swimlane/ngx-datatable": "^11.0.4",
"@syncfusion/ej2-angular-dropdowns": "^17.1.49",
"angular-bootstrap-md": "^5.0.5",
"angular2-chartjs": "^0.4.1",
"angular2-jwt": "^0.2.3",
"angular2-notifications": "^1.0.4",
"bootstrap": "^4.0.0-beta",
"c3": "^0.4.18",
"core-js": "^2.4.1",
"css-animator": "^2.1.1",
"d3": "^4.12.0",
"famfamfam-flags": "^1.0.0",
"font-awesome-scss": "^1.0.0",
"hammerjs": "^2.0.8",
"html2canvas": "^1.0.0-rc.1",
"jspdf": "^1.5.3",
"ng-click-outside": "^3.0.0",
"ng-select": "^1.0.0-rc.3",
"ng2-file-upload": "^1.2.1",
"ng2-google-charts": "^3.3.0",
"ng2-toasty": "^4.0.3",
"ng2-ui-switch": "^1.0.2",
"ng2-validation": "^4.2.0",
"ngx-bar-rating": "^1.1.0",
"ngx-carousel": "^1.3.5",
"ngx-chips": "^1.5.10",
"ngx-color-picker": "^5.0.4",
"ngx-perfect-scrollbar": "^5.0.1",
"ngx-spinner": "^2.0.0",
"node-sass": "^4.11.0",
"npm": "^6.4.1",
"rxjs": "^5.5.2",
"screenfull": "^3.3.2",
"sweetalert2": "^7.0.3",
"tslib": "^1.9.3",
"update": "^0.7.4",
"zone.js": "^0.8.14"
},
"devDependencies": {
"@angular/cli": "^7.1.3",
"@angular/compiler-cli": "^5.0.0",
"@angular/language-service": "^5.0.0",
"@types/jasmine": "^2.5.54",
"@types/jasminewd2": "~2.0.2",
"@types/node": "~6.0.60",
"codelyzer": "^4.0.1",
"jasmine-core": "~2.6.2",
"jasmine-spec-reporter": "~4.1.0",
"karma": "^3.1.3",
"karma-chrome-launcher": "~2.1.1",
"karma-cli": "~1.0.1",
"karma-jasmine": "~1.1.0",
"karma-jasmine-html-reporter": "^0.2.2",
"npm-run-all": "4.0.2",
"protractor": "^5.4.1",
"ts-node": "~3.2.0",
"tslint": "~5.7.0",
"typescript": "2.8.1"
}
}|
|
import { MultiSelectModule } from '@syncfusion/ej2-angular-dropdowns';