File

C:/GoDev/src/TCSTK-Angular/projects/tibco-tcstk/tc-messaging-lib/src/lib/components/eftl-message-receiver/eftl-message-receiver.component.ts

Description

Sample receiver component for Tibco Web Messaging

See Tibco Cloud Messaging docs for parameter information

Implements

OnChanges

Example

<tcmsg-eftl-message-receiver></tcmsg-eftl-message-receiver>

Metadata

selector tcmsg-eftl-message-receiver
styleUrls ./eftl-message-receiver.component.css
templateUrl ./eftl-message-receiver.component.html

Index

Properties
Methods
Inputs

Constructor

constructor(eFTLService: EFTLService)
Parameters :
Name Type Optional
eFTLService EFTLService No

Inputs

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

Methods

ngOnChanges
ngOnChanges(changes: SimpleChanges)
Parameters :
Name Type Optional
changes SimpleChanges No
Returns : void

Properties

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%;
}
Legend
Html element
Component
Html element with directive

result-matching ""

    No results matching ""