<!--
~ Copyright 2018-present Open Networking Foundation
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
~ You may obtain a copy of the License at
~
~     http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->

<div style="text-align:center">
  <onos-icon [classes]="'inactive'" iconId="nav_apps" iconSize="200" toolTip="Test app"></onos-icon>
  <h1>
    Welcome to {{ title }}!
  </h1>
</div>
<h2>Test App - Do not use or extend</h2>
<p>This app is just a wrapper around the GUI 2 Framework Library and is
  necessary only to provide a base for that library.
It has a use in validating that the library can be loaded.

The library is linked in here by the addition of the paths statement in
  tsconfig.json. This is fine for accessing a local library, but for another
  project it should be added in through package.json, using the 'file' locator.
  Then run "npm install" in that target project and the tar will be expanded in
  to it's node_modules folder.

A good article on the creation and use of libraries in Angular 6 is given in<br />
  <a href="https://blog.angularindepth.com/creating-a-library-in-angular-6-87799552e7e5">The Angular Library Series - Creating a Library with the Angular CLI</a><br />
  and <br />
  <a href="https://blog.angularindepth.com/creating-a-library-in-angular-6-part-2-6e2bc1e14121">The Angular Library Series - Building and Packaging</a><br />

This "app" component is not built by Bazel - it's only the library that is built
  by bazel which in turn calls "ng build --prod gui2-fw-lib" and then "npm pack"
  resulting in a tar file that can be used as an NPM package anywhere.
<br />
Note: Please remember that in Angular 6 rebuilding of libraries is not automatic.
  If you change anything in the library, you will have to build it again before
  it is picked up in this app.
</p>
<onos-quickhelp #qh></onos-quickhelp>
<button (click)="qh.ks.quickHelpShown = true">Toggle quick help shown</button>
