File

C:/GoDev/src/TCSTK-Angular/projects/tibco-tcstk/tc-core-lib/src/lib/components/tibco-cloud-splash-screen/tibco-cloud-splash-screen.component.ts

Description

Splash Screen

Implements

OnInit

Example

<tc-tibco-cloud-splash-screen></tc-tibco-cloud-splash-screen>

Metadata

selector tc-tibco-cloud-splash-screen
styleUrls tibco-cloud-splash-screen.component.css
templateUrl tibco-cloud-splash-screen.component.html

Index

Properties
Inputs
Outputs
Accessors

Constructor

constructor()

Shows Application Overview like Configured

Inputs

actionButtons
Type : ActionButtonConfig[]

Buttons configuration with text and route to go.

backGroundImage
Type : string

Splash Configured Background Image URL to a SVG, PNG or Jpeg

highlights
Type : LandingPageItemConfig[]

Bullet Point Item Configuration with Icon's and Text

subTitle
Type : string

Splash Sub-Title

title
Type : string

Splash Screen main Title

topMargin
Type : string

Outputs

getStartedEvent
Type : EventEmitter<RouteAction>

~event getStartedEvent : Get Started Clicked ~payload string : emits that user clicked get started button on cloud splash screen

Properties

getStartedClick
Default value : () => {...}

Get Started Click to open the Application

Public topMargin
Type : string
Default value : '0px'

Space above the highlight panel. Default is 0px

Accessors

TopMargin
setTopMargin(topMargin: string)
Parameters :
Name Type Optional
topMargin string No
Returns : void
import { Component, Input, OnInit, Output, EventEmitter } from '@angular/core';
import { TcCoreCommonFunctions } from '../../common/tc-core-common-functions';
import { Location } from '@angular/common';
import { LandingPageItemConfig, ActionButtonConfig } from '../../models/tc-general-landing-page-config';
import { RouteAction } from '../../models/tc-routing-actions';

/**
 * Splash Screen
 *
 *@example <tc-tibco-cloud-splash-screen></tc-tibco-cloud-splash-screen>
 */
@Component({
    selector: 'tc-tibco-cloud-splash-screen',
    templateUrl: 'tibco-cloud-splash-screen.component.html',
    styleUrls: ['tibco-cloud-splash-screen.component.css'],
})
export class TibcoCloudSplashScreenComponent implements OnInit {

  /**
   * Splash Screen main Title
   */
  @Input() title: string;
  /**
   * Splash Sub-Title
   */
  @Input() subTitle: string;
  /**
   * Splash Configured Background Image URL to a SVG, PNG or Jpeg
   */
  @Input() backGroundImage: string;
  /**
   * Space above the highlight panel. Default is 0px 
   */
  public topMargin: string = '0px';
  @Input('topMargin') set TopMargin(topMargin: string) {
    if (topMargin){
      this.topMargin = topMargin;
    }
  }
  /**
   * Bullet Point Item Configuration with Icon's and Text
   */
  @Input() highlights: LandingPageItemConfig[];
  /** 
   * Buttons configuration with text and route to go.
   */
  @Input() actionButtons: ActionButtonConfig[];

  /**
   * ~event getStartedEvent : Get Started Clicked
   * ~payload string : emits that user clicked get started button on cloud splash screen
   */
    @Output() getStartedEvent: EventEmitter<RouteAction> = new EventEmitter<RouteAction>();

    /**
     * Shows Application Overview like Configured
     */
    constructor() {
    }

    /**
     * @ignore
     */
    ngOnInit(): void {
      console.log(this);
    }

    /**
     * Get Started Click to open the Application
     */
    getStartedClick = (route: string): void => {
        this.getStartedEvent.emit(new RouteAction('buttonClicked', route));
    }


}
<div class="tcs-splash-content" fxFill fxLayout="column" fxFill>
    <div fxFill [ngClass]="backGroundImage ? 'custom-splash-bg' : 'default-splash-bg'" [ngStyle]="backGroundImage ? {'background-repeat': 'round', 'background-color': '#FFF', 'background-image': 'url(' + backGroundImage + ')'} : ''">
        <div class="text-center" id="initscreen">
            <div class="splash-heading-pane">
                <div ngClass.lt-md="splash-welcome-small" ngClass.gt-sm="splash-welcome-large" class="splash-welcome">
                    {{title}}</div>
                <div ngClass.lt-md="splash-welcome-message-small" ngClass.gt-sm="splash-welcome-message-large"
                    class="splash-welcome-message">
                    <span>{{subTitle}}</span>
                </div>
            </div>
            <div fxLayout="column" fxLayoutAlign="start center" [ngStyle]="{'margin-top': topMargin}">
                <div class="splash-modal" ngClass.lt-md="splash-modal-small" ngClass.gt-sm="splash-modal-large">
                    <table class="splash-highlightstable">
                        <tbody fxLayout="column" fxLayoutGap="30px">
                            <tr *ngFor="let highlight of highlights" fxLayoutAlign="start center" fxLayoutGap="30px"
                                fxLayout="row">
                                <td>
                                    <div class="splash-oval" ngStyle.gt-sm="height: 86px; width: 86px;" fxLayout="row"
                                        fxLayoutAlign="center center">
                                        <mat-icon ngStyle.gt-sm="height: 50px; width: 50px;" class="splash-svg"
                                            ngStyle.lt-md="padding: 2px;" [svgIcon]="highlight.iconURL"></mat-icon>
                                    </div>
                                </td>
                                <td fxLayout="column" fxLayoutAlign="space-around start">
                                    <span class="splash-highlight-item-title">{{highlight.title}}</span>
                                    <span class="splash-highlight-item-content">{{highlight.content}}</span>
                                </td>
                            </tr>
                        </tbody>
                    </table>
                    <div fxLayoutGap="10px">
                        <button *ngFor="let actionButton of actionButtons" (click)="getStartedClick(actionButton.route)" cdkFocusInitial class="splash-get-started-button" mat-button>{{actionButton.text}}</button>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>

tibco-cloud-splash-screen.component.css

/*
@font-face {
  font-family: Source Sans Pro;
  src: url(/assets/fonts/tibco_fonts_Source_Sans_Pro_Source Sans Pro-Regular.ttf);
}

@font-face {
  font-family: Source Sans ProBold;
  src: url(/assets/fonts/tibco_fonts_Source_Sans_Pro_Source Sans Pro-Bold.ttf);
}*/

.splash-welcome {
  font-family: Source Sans Pro;
  font-weight: 300;
  font-style: normal;
  font-stretch: normal;
  line-height: normal;
  letter-spacing: 0.3px;
  text-align: center;
  color: #ffffff;
  text-shadow: 0 2px 8px rgba(6, 46, 121, 0.5);
}

.splash-welcome-large {
  font-family: Source Sans Pro;
  font-size: 48px;
  margin-top: 88px;
}

.splash-welcome-small {
  font-family: Source Sans Pro;
  font-size: 22px;
  margin-top: 5px;
}

.splash-welcome-message {
  font-family: Source Sans Pro;
  font-weight: normal;
  font-style: normal;
  font-stretch: normal;
  line-height: normal;
  letter-spacing: 0.1px;
  text-align: center;
  color: #ffffff;
  text-shadow: 0 2px 8px rgba(6, 46, 121, 0.5);
}

.splash-welcome-message-large {
  font-size: 20px;
  margin-top: 19px;
  margin-bottom: 32px;
}

.splash-welcome-message-small {
  font-size: 15px;
  margin-top: 19px;
  margin-bottom: 32px;
}

.splash-heading-pane {
  margin-left: 10px;
  margin-right: 10px;
}

.splash-modal {
  margin: auto;
  max-width: 676px;
}

.splash-modal-large {
  border-radius: 10px;
  box-shadow: 10px 10px 20px 0 rgba(33, 33, 33, 0.04);
  background-color: #ffffff;
}

.splash-modal-small {
  box-shadow: 10px 10px 20px 0 rgba(33, 33, 33, 0.04);
  background-color: #ffffff;
  width: 100%;
}

.splash-oval {
  /* border: solid 3px #349bed; */
  /* background-color: #349bed; */
  border: solid 3px #c8d4e8;
  border-radius: 43px;
  align-content: center;
  background-position: center;
  background-repeat: no-repeat;
}

.splash-oval mat-icon {
}

.tcs-splash-content {
  overflow: auto;
}

.splash-svg {
}

.splash-modal-small .splash-highlightstable {
  border-spacing: 25px;
}

.splash-highlightstable {
  border: 0;
  padding-top: 3px;
  padding-bottom: 0px;
  border-spacing: 45px;
  text-align: left;
  border-collapse: separate;
}

.splash-get-started-button {
  width: 117px;
  height: 40px;
  border-radius: 3px;
  background-color: #349bed;
  border: solid 1px #349bed;
  margin-bottom: 58px;
  font-family: Source Sans Pro;
  font-size: 16px;
  font-weight: 600;
  font-style: normal;
  font-stretch: normal;
  line-height: normal;
  letter-spacing: 0.3px;
  text-align: center;
  color: #ffffff;
}
.splash-get-started-button:hover{
  border: solid 1px #74bee4;
  background-color: #74bee4;
}

.splash-highlight-item-title {
  font-family: Source Sans Pro;
  font-size: 16px;
  font-weight: bold;
  font-style: normal;
  font-stretch: normal;
  line-height: 1.25;
  letter-spacing: 0.1px;
  color: #062e79;
}

.splash-modal-small .splash-highlight-item-content {
  font-size: 14px;
}

.splash-highlight-item-content {
  font-family: Source Sans Pro;
  font-size: 16px;
  font-weight: normal;
  font-style: normal;
  font-stretch: normal;
  line-height: 1.25;
  letter-spacing: 0.1px;
  color: #062e79;
  padding-top: 12px;
}

.default-splash-bg {
  background: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTQ0MHB4IiBoZWlnaHQ9IjU3M3B4IiB2aWV3Qm94PSIwIDAgMTQ0MCA1NzMiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogc2tldGNodG9vbCA1MS4xICg1NzUwMSkgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+OTJDNzNCQTEtMjg0MS00NzJBLTg2MzctMTA5Nzc3QTkwOUNFPC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBza2V0Y2h0b29sLjwvZGVzYz4KICAgIDxkZWZzPgogICAgICAgIDxyZWN0IGlkPSJwYXRoLTEiIHg9IjAiIHk9IjAiIHdpZHRoPSIxNDQwIiBoZWlnaHQ9IjU3MyI+PC9yZWN0PgogICAgICAgIDxsaW5lYXJHcmFkaWVudCB4MT0iNTAlIiB5MT0iMTEuMTA2MTI4NiUiIHgyPSI1MCUiIHkyPSIxMTEuNjMwMzIlIiBpZD0ibGluZWFyR3JhZGllbnQtMyI+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiM0OUIzRDMiIG9mZnNldD0iMCUiPjwvc3RvcD4KICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iI0MyRkZFQSIgb2Zmc2V0PSIxMDAlIj48L3N0b3A+CiAgICAgICAgPC9saW5lYXJHcmFkaWVudD4KICAgICAgICA8bGluZWFyR3JhZGllbnQgeDE9IjUwJSIgeTE9IjYuNDQ3NzkxNDIlIiB4Mj0iNTAlIiB5Mj0iMTExLjE4NDk5OCUiIGlkPSJsaW5lYXJHcmFkaWVudC00Ij4KICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzAwNzhGNyIgb2Zmc2V0PSIwJSI+PC9zdG9wPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjREVGRkI4IiBvZmZzZXQ9IjEwMCUiPjwvc3RvcD4KICAgICAgICA8L2xpbmVhckdyYWRpZW50PgogICAgPC9kZWZzPgogICAgPGcgaWQ9IldlbGNvbWUtc2NyZWVucyIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9ImxhbmRpbmctcGFnZS1iZyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMDAwMDAsIC00MC4wMDAwMDApIj4KICAgICAgICAgICAgPGcgaWQ9ImJhY2tncm91bmQtaW1nIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjAwMDAwMCwgNDAuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICA8bWFzayBpZD0ibWFzay0yIiBmaWxsPSJ3aGl0ZSI+CiAgICAgICAgICAgICAgICAgICAgPHVzZSB4bGluazpocmVmPSIjcGF0aC0xIj48L3VzZT4KICAgICAgICAgICAgICAgIDwvbWFzaz4KICAgICAgICAgICAgICAgIDxnIGlkPSJNYXNrIiBmaWxsLXJ1bGU9Im5vbnplcm8iPjwvZz4KICAgICAgICAgICAgICAgIDxnIGlkPSJHcm91cCIgbWFzaz0idXJsKCNtYXNrLTIpIj4KICAgICAgICAgICAgICAgICAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNzguMDAwMDAwLCAtMTcyLjAwMDAwMCkiPgogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMjkuMDQ0MDgzMSwzOTguNzY4Nzg0IEMzNC41NzY4OTQxLDQ3NC42Njk0NjkgNzQuNTE0NzMwOCw1MzIuNTMwNzM1IDE0NC40NzM2NzYsNTY2LjA2OTY0NSBDMjAzLjgxODI2MSw1OTQuNTIxMDc4IDI3MS43MjkxNzcsNjAyLjQ3ODY3NCAzMzYuODA4MDczLDYwMy4yMzA0OTMgQzQ0OC45OTg0MTEsNjA0LjUyNTAxIDU1OC44MDEyMTYsNTcwLjk4MTAyIDY3MS4xNDczMzYsNTc2LjM3NDEzNSBDNzc0LjU4MzM4Nyw1ODEuMzM5Njk2IDg2Ny4xNTYxNjMsNjQzLjI5NjE3MyA5NTYuNjM0NDYsNjg5LjEyMzI1NyBDMTA2OC4yODIxLDc0Ni4zMDM4MjIgMTIwMS4xMjYyOSw3NTguNjg5MzYxIDEzMjIuNzQ5OTIsNzMwLjQ1MzgyMiBDMTQyMC4xNDc3Miw3MDcuODQxNjg0IDE1MjguODA2NzEsNjU3LjM5MzYyMyAxNTcyLjQ3NDAxLDU2MS4zMjQyMTIgQzE2MDIuMTA2NTEsNDk2LjEzMjcxMiAxNTk1LjMzMzM2LDAgMTU5NS4zMzMzNiwwIEwwLDAuMzU4OTc2NTcgQzAsMC4zNTg5NzY1NyAyOS4wMjYzMDM2LDM5OC41MTQ3OTEgMjkuMDQ0MDgzMSwzOTguNzY4Nzg0IiBpZD0iYm90dG9tIiBmaWxsPSJ1cmwoI2xpbmVhckdyYWRpZW50LTMpIiBvcGFjaXR5PSIwLjY5OTk5OTk4OCI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNTguMTUxMTg5Miw2NjYuMDE5NTg4IEM1OC41MTUwMDgxLDY3MS4wODM1NTQgNzMuOTQyODk3Nyw2ODAuMzM1NTM2IDc3LjM1ODIwNyw2ODIuNzY4MzcgQzk3LjI5MjA0MzMsNjk2Ljk3MTIzOCAxMjAuMzAzNTkxLDcwNi43NDYwMDQgMTQzLjY2MDExMSw3MTMuNzE5MjAxIEMyNDcuNTU0MTgxLDc0NC43MzQ3NjUgMzYzLjM1NDMwOCw3MjUuMTU0OTE1IDQ2NS40NDgxMyw2OTcuMTY3ODk3IEM1MzkuMzM3Nzg5LDY3Ni45MTIwMzIgNjA5LjYzNTk2Niw2NDQuODc4NzU4IDY4My44ODIwNyw2MjYuMDUyNzY3IEM3NTkuNzIxOTMxLDYwNi44MjExNjYgODQ5LjkwNDc3OSw2MDMuMTYzMzExIDkyMy4yOTcwNTYsNjMzLjA5ODA3MSBDOTcwLjcwMTY4LDY1Mi40MzM3MzcgMTAxNi42ODIxNyw2NzQuODUwMzkxIDEwNjQuNzc1MSw2OTIuNTgxNjQ4IEMxMjAxLjE0MDgzLDc0Mi44NTY2NzMgMTM1NC4zNDIyLDc2My40ODM3MzIgMTQ4OC40ODI0LDY5NC44MTYxODUgQzE0OTkuODE1NjksNjg5LjAxMzkyOCAxNTEwLjg3Mjg0LDY4Mi42NzU3NzYgMTUyMS42MjEwNiw2NzUuODUyNTMyIEwxNTMzLjkxMjI0LDExNy44MzI5NDQgTDE4LDEwOCBDMTgsMTA4IDU4LjE1MDM2OTcsNjY2LjAxMzAzMyA1OC4xNTExODkyLDY2Ni4wMTk1ODgiIGlkPSJ0b3AiIGZpbGw9InVybCgjbGluZWFyR3JhZGllbnQtNCkiIG9wYWNpdHk9IjAuNjk5OTk5OTg4Ij48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgICAgIDxnIGlkPSJncmFkaWVudC1jaXJjbGVzIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDM0Mi4wMDAwMDAsIDEyNS4wMDAwMDApIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaXJjbGUgaWQ9Ik92YWwtNi1Db3B5LTIiIGZpbGw9IiNGRkZGRkYiIG9wYWNpdHk9IjAuMDQ5OTk5OTk3IiBjeD0iNDU2LjUiIGN5PSI0NTYuNSIgcj0iNDU2LjUiPjwvY2lyY2xlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNpcmNsZSBpZD0iT3ZhbC02LUNvcHkiIGZpbGw9IiNGRkZGRkYiIG9wYWNpdHk9IjAuMDU5OTk5OTk4NyIgY3g9IjQ1NiIgY3k9IjQ1NyIgcj0iMzEwIj48L2NpcmNsZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaXJjbGUgaWQ9Ik92YWwtNiIgZmlsbD0iI0ZGRkZGRiIgb3BhY2l0eT0iMC4wNzAwMDAwMDAzIiBjeD0iNDU2IiBjeT0iNDU3IiByPSIxNTciPjwvY2lyY2xlPgogICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgIDxnIGlkPSJvdmVybGF5LWNpcmNsZXMiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTE4LjAwMDAwMCwgNDk2LjAwMDAwMCkiIG9wYWNpdHk9IjAuMDc2MzYyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaXJjbGUgaWQ9Ik92YWwtNyIgc3Ryb2tlPSIjRkZGRkZGIiBzdHJva2Utd2lkdGg9IjE0IiBzdHlsZT0ibWl4LWJsZW5kLW1vZGU6IG92ZXJsYXk7IiBjeD0iMTM0MiIgY3k9IjEzMiIgcj0iNTEiPjwvY2lyY2xlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNpcmNsZSBpZD0iT3ZhbC03LUNvcHktMiIgc3Ryb2tlPSIjRkZGRkZGIiBzdHJva2Utd2lkdGg9IjEwIiBzdHlsZT0ibWl4LWJsZW5kLW1vZGU6IG92ZXJsYXk7IiBjeD0iMjI0LjUiIGN5PSIxMDAuNSIgcj0iMjIuNSI+PC9jaXJjbGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGlkPSJPdmFsLTctQ29weS0zIiBzdHJva2U9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iMTQiIHN0eWxlPSJtaXgtYmxlbmQtbW9kZTogb3ZlcmxheTsiIGN4PSI1OCIgY3k9IjEzMSIgcj0iNTEiPjwvY2lyY2xlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNpcmNsZSBpZD0iT3ZhbC03LUNvcHkiIHN0cm9rZT0iI0ZGRkZGRiIgc3Ryb2tlLXdpZHRoPSIxMCIgc3R5bGU9Im1peC1ibGVuZC1tb2RlOiBvdmVybGF5OyIgY3g9IjExOTAuNSIgY3k9IjIyLjUiIHI9IjE3LjUiPjwvY2lyY2xlPgogICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4=") no-repeat;
  background-size: 100%;
}

.custom-splash-bg {

}
Legend
Html element
Component
Html element with directive

result-matching ""

    No results matching ""