C:/GoDev/src/TCSTK-Angular/projects/tibco-tcstk/tc-messaging-lib/src/lib/components/eftl-message-receiver/eftl-message-receiver.component.ts
Sample receiver component for Tibco Web Messaging
See Tibco Cloud Messaging docs for parameter information
<tcmsg-eftl-message-receiver></tcmsg-eftl-message-receiver>
selector | tcmsg-eftl-message-receiver |
styleUrls | ./eftl-message-receiver.component.css |
templateUrl | ./eftl-message-receiver.component.html |
Properties |
Methods |
Inputs |
constructor(eFTLService: EFTLService)
|
||||||
Parameters :
|
apiKey | |
Type : string
|
|
API Key |
clientId | |
Type : string
|
|
Client Id for subscription |
durable | |
Type : string
|
|
Durable Name |
matcher | |
Type : string
|
|
Matcher string |
wssUrl | |
Type : string
|
|
Web messaging URL |
ngOnChanges | ||||||
ngOnChanges(changes: SimpleChanges)
|
||||||
Parameters :
Returns :
void
|
Public configure |
Default value : () => {...}
|
Public messages |
Type : any[]
|
Default value : []
|
import {Component, Input, OnChanges, SimpleChanges} from '@angular/core';
import {EFTLService} from '../../services/e-ftl.service';
/**
* Sample receiver component for Tibco Web Messaging
*
* See Tibco Cloud Messaging docs for parameter information
*
*@example <tcmsg-eftl-message-receiver></tcmsg-eftl-message-receiver>
*/
@Component({
selector: 'tcmsg-eftl-message-receiver',
templateUrl: './eftl-message-receiver.component.html',
styleUrls: ['./eftl-message-receiver.component.css']
})
export class EftlMessageReceiverComponent implements OnChanges {
/**
* Web messaging URL
*/
@Input() wssUrl: string;
/**
* API Key
*/
@Input() apiKey: string;
/**
* Client Id for subscription
*/
@Input() clientId: string;
/**
* Matcher string
*/
@Input() matcher: string;
/**
* Durable Name
*/
@Input() durable: string;
public messages: any[] = [];
constructor(protected eFTLService: EFTLService) {
}
public configure = () => {
if (!this.eFTLService.connection) {
this.eFTLService.connect(this.wssUrl, this.apiKey, this.clientId).subscribe(
next => {
this.eFTLService.receiveMessage(this.matcher, this.durable).subscribe(
next2 => {
this.messages.push(next2);
}
);
}
);
}
}
ngOnChanges(changes: SimpleChanges): void {
if (changes.wssUrl.currentValue && changes.apiKey.currentValue && changes.clientId.currentValue) {
this.configure();
}
}
}
<div class="tcs-message-pane" fxLayout="column" style="overflow: hidden;">
<tc-tibco-cloud-widget-header fxFlex="nogrow" [headerText]="'Received Messages'" [icon]="'tcs-collaboration-feed'"
[toolbarButtons]="" [showHeader]="true"></tc-tibco-cloud-widget-header>
<div fxLayout="column">
<div *ngFor="let msgcontent of messages">
{{msgcontent.text}}
</div>
</div>
./eftl-message-receiver.component.css
.tcs-message-pane {
border-radius: 3px;
box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.33);
background-color: #ffffff;
height: 100%;
}