File

src/app/main-head/main-head.component.ts

Description

The main-head component

Implements

OnInit

Metadata

selector app-main-head
styleUrls main-head.component.scss
templateUrl ./main-head.component.html

Index

Properties
Methods

Constructor

constructor(languageService: LanguageService)

Get languages, set dafault language

Parameters :
Name Type Optional
languageService LanguageService no

Methods

Public closeLanguageSelect
closeLanguageSelect()

Close language dropdown menu

Returns : void

void

ngOnInit
ngOnInit()

Lifecycle hook that is called after data-bound properties of a directive are initialized.

Returns : void

void

Public openLanguageSelect
openLanguageSelect()

Open language dropdown menu

Returns : void

void

Public toggleDropdown
toggleDropdown()

Toggle dropdown menu

Returns : void

void

Properties

isDropDownOpen
isDropDownOpen: boolean
Type : boolean
Default value : false
languages
languages: Array<Language>
Type : Array<Language>
LanguageSelect
LanguageSelect: NgSelectComponent
Type : NgSelectComponent
Decorators : ViewChild

The dropdown menu LanguageSelect ng-select.

selectedLanguage
selectedLanguage: any
Type : any
import {Component, OnInit, ViewChild} from '@angular/core';
import {Language} from '../models/language';
import {LanguageService} from '../services/language.service';
import { NgSelectComponent } from '@ng-select/ng-select';

/**
 * The main-head component
 */
@Component({
  selector: 'app-main-head',
  templateUrl: './main-head.component.html',
  styleUrls: ['./main-head.component.scss']
})

/**
 * @class MainHeadComponent
 * @implements OnInit
 */
export class MainHeadComponent implements OnInit {

  /**
   * The dropdown menu LanguageSelect ng-select.
   * @typedef NgSelectComponent
   */
  @ViewChild('LanguageSelect') LanguageSelect: NgSelectComponent;

  languages: Array<Language>;
  selectedLanguage: any;
  isDropDownOpen: boolean = false;

  /**
   * Get languages, set dafault language
   * @constructor
   * @param {LanguageService} languageService
   */
  constructor(private languageService: LanguageService) {
    this.languages = languageService.getLanguages();
    this.selectedLanguage = this.languages[0].id;
  }

  /**
   * Lifecycle hook that is called after data-bound
   * properties of a directive are initialized.
   * @returns void
   */
  ngOnInit(): void { }

  /**
   * Open language dropdown menu
   * @returns void
   */
  public openLanguageSelect(): void {
    this.isDropDownOpen = true;
  }

  /**
   * Close language dropdown menu
   * @returns void
   */
  public closeLanguageSelect(): void {
    this.isDropDownOpen = false;
  }

  /**
   * Toggle dropdown menu
   * @returns void
   */
  public toggleDropdown(): void {
    this.LanguageSelect.open();
  }

}
<div class="main-head">
  <div class="container">
    <div class="row d-none d-md-block">
      <div class="col-md">
        <div class="float-left main-head__brand">
          <span>This template created by Kiskin Vladyslav</span>
        </div>
      </div>
      <div class="col-md">
        <div class="float-right">
          <ul class="list-inline">
            <li class="main-head__li">
              <span>Email me:</span>
              <span>kiskinvlad@gmail.com</span>
            </li>
            <li class="main-head__li">
              <ng-select #LanguageSelect class="custom"
                         [items]="languages"
                         bindLabel="name"
                         bindValue="id"
                         [searchable]="false"
                         [clearable]="false"
                         (open)="openLanguageSelect()"
                         (close)="closeLanguageSelect()"
                         [(ngModel)]="selectedLanguage">
                <ng-template ng-label-tmp let-item="item">
                  <b>{{item.short}}</b>
                </ng-template>
                <ng-template ng-option-tmp let-item="item" let-index="index">
                  <b>{{item.name}}</b>
                </ng-template>
              </ng-select>
              <span (click)="toggleDropdown()"
                     class="header__select__wrapper__arrow"
                    [ngClass]="{'arrow-up': isDropDownOpen, 'arrow-down': !isDropDownOpen}">
                <i class="material-icons">arrow_drop_down</i>
              </span>
            </li>
          </ul>
        </div>
      </div>
    </div>
    <div class="main-head__info_wrapper">
      <div class="row">
        <div class="col-md-4 col-12">
          <div class="main-head__brand_wrapper">
            <div class="main-head__brand_wrapper__icon_wrapper">
              <div class="main-head__brand_icon"></div>
            </div>
            <div class="main-head__brand_wrapper__text_wrapper">
              <h3>K-Landing #2</h3>
              <span>Klanding template</span>
            </div>
          </div>
        </div>
        <div class="col-md-2 col-4">
          <div class="main-head__col_wrapper">
            <h4>Landing page #2</h4>
            <span>created by Kiskin</span>
          </div>
        </div>
        <div class="col-md-2 col-4">
          <div class="main-head__col_wrapper">
            <h4>Global Certificate</h4>
            <span>ISO certificate id:year</span>
          </div>
        </div>
        <div class="col-md-2 col-4">
          <div class="main-head__col_wrapper">
            <h4>Third col</h4>
            <span>Information on third col</span>
          </div>
        </div>
        <div class="col-md-2 col-12">
          <div class="main-head__button_wrapper">
            <button>Push Me</button>
          </div>
        </div>
      </div>
    </div>
  </div>
</div>



Legend
Html element
Component
Html element with directive

results matching ""

    No results matching ""