Accordion supports to load external contents through AJAX
library. Refer the below steps.
Ajax
module from ej2-base
and initialize with URL path.Success
event to initialize Accordion with retrieved external path data.import { Component, ViewChild } from '@angular/core';
import { Ajax } from '@syncfusion/ej2-base';
import { AccordionComponent} from '@syncfusion/ej2-angular-navigations';
@Component({
selector: 'app-container',
template: `
<div id="acrdnContnet1" style="display:none">
<ul style="margin : 0px;padding:0px 16px; list-style-type: none">
<li>Testing</li>
<li>Development</li>
</ul>
</div>
<div id="acrdnContnet2" style="display:none">
<ul style="margin : 0px;padding:0px 16px; list-style-type: none">
<li>Mobile</li>
<li>Web</li>
</ul>
</div>
<ejs-accordion #acrdnInstance>
<e-accordionitems>
<e-accordionitem header='Department' content = '#acrdnContnet1'></e-accordionitem>
<e-accordionitem header='Platform' content = '#acrdnContnet2'></e-accordionitem>
<e-accordionitem header='Employee Details'></e-accordionitem>
</e-accordionitems>
</ejs-accordion>
`
})
export class AppComponent {
@ViewChild('acrdnInstance') acrdnInstance: AccordionComponent;
public contentData: string;
ngOnInit() {
let ajax: Ajax = new Ajax('./ajax.html', 'GET', true);
ajax.send().then();
ajax.onSuccess = (data: string): void => {
this.acrdnInstance.items[2].content = data;
this.acrdnInstance.refresh();
};
}
}}
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { AccordionModule } from '@syncfusion/ej2-angular-navigations';
import { AppComponent } from './app.component';
/**
* Module
*/
@NgModule({
imports: [
BrowserModule, AccordionModule
],
declarations: [AppComponent ],
bootstrap: [AppComponent]
})
export class AppModule { }
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { enableProdMode } from '@angular/core';
import { AppModule } from './app.module';
enableProdMode();
platformBrowserDynamic().bootstrapModule(AppModule);
<div>
<div class="comments-list">
<div class="cont-list">
<img src="http://js.syncfusion.com/demos/web/content/images/Employee/8.png" alt="contact" />
<br>
<div>
<div class="time-panel">1 hr</div>
<b class="headername">Erik Linden</b></div><br><br> London, one of the most popular tourist
destinations in the world for a reason. A cultural and historical hub, London has an excellent public
transportation system that allows visitors to see all the fantastic sights without spending a ton
of money on a rental car. London contains four World Heritage Sites.
<div class="comments">
<div class="c-list">Retweet</div>
<div class="c-list">Reply</div>
<div class="c-list">Share</div>
</div>
</div>
</div>
</div>
<style>
.cont-list img {
border-radius: 10px;
float: left;
height: 56px;
}
.comments {
padding: 10px;
color: #074B92;
font-weight: 600;
position: relative;
top: 6px;
}
.cont-list {
padding-bottom: 9px;
}
.cont-list:last-child {
border-bottom: none;
padding-bottom: 10px;
}
.time-panel {
float: right;
color: #2382C3;
margin-right: 10px;
margin-top: 7px;
}
.headername {
font-size: 16px;
font-weight: 600;
color: #074B92;
position: relative;
left: 9px;
}
.c-list {
float: right;
margin-top: -11px;
padding-right: 12px;
}
</style>