myowjaYOY/ngx-admin
April 19, 2026
Training Manual
ngx-admin
Generated by DocAgent — automated codebase documentation analysis. Based on analysis of 100 screens. Subject matter expert review is recommended before distribution.
April 20, 2026
ngx-admin Application
Training Manual
Document Date: April 2026
Generated by DocAgent — automated codebase documentation analysis. Subject matter expert review is recommended before distribution.
About This Document
This Training Manual covers 100 screen(s) of the ngx-admin application.
Screens covered in this assessment:
Editors, Contacts, Electricity, Kitten, Rooms, Traffic, Country Orders, Chart (Country Orders), Back Side (Traffic Reveal Card), Map (Country Orders), Progress Section, Traffic Reveal Card, Legend Chart, Front Side (Profit Card), Traffic Cards Header, User Activity, Calendar Kit, Chat, Progress Bar, Form Inputs (Extra Components), Day Cell, Month Cell, Nebular Select, Extra Components, Alert, Visitors Analytics, Spinner In Buttons, Maps, Spinner Color, Leaflet, Pages, Tables, Dashboard, Icons, E Commerce, Footer, Chart Panel Header, Spinner, Chart Panel Summary, Player, Header, Calendar, Form Layouts, Window Form, Room Selector, Ui Features, Traffic Bar, Spinner In Tabs, Interactive Progress Bar, Datepicker, Form Inputs (Forms), Charts (E-Commerce), Bubble, Profit Card, Slide Out, Back Side (Profit Card), Smart Table, Typography, Modal Overlays, Visitors Statistics, Ckeditor, Grid, Echarts, Not Found, Visitors Analytics Chart, Tiny Mce (Editors), Front Side (Earning Card), Electricity Chart, Search Fields, Dialog Name Prompt, Tooltip, Search Map, Map (Search Map), Window, Dialog, Miscellaneous, Gmaps, Popovers, Search (Maps), Tree Grid, Showcase Dialog, Toastr, Search Input, Tiny Mce (Theme Component), Status Card, Front Side (Traffic Reveal Card), Earning Card, Solar, Security Cameras, Temperature Dragger, Charts (Shell), Chartjs, Temperature, D3, Back Side (Earning Card), Charts Panel, Forms, Weather, Buttons, Spinner Sizes
Screens and features not included in the assessed documentation are outside the scope of this document.
How to Use This Manual {#how-to-use-this-manual}
This manual is organized as a guided learning journey through the ngx-admin application. You will move from foundational orientation skills through increasingly specific feature areas.
Structure
Each section follows this pattern:
| Section | Purpose |
|---|---|
| Foundation Skills | Shared controls and patterns you will encounter across many screens. Complete these first. |
| Modules | Grouped by workflow, not by screen. Each module covers a related set of tasks. |
| Lessons | Each lesson teaches one discrete skill with a walkthrough, practice exercise, and knowledge check. |
| Capstone Exercise | A realistic end-to-end scenario combining skills from multiple modules. |
Estimated Total Time
| Section | Estimated Time |
|---|---|
| Foundation Skills (8 skills) | 60–80 minutes |
| Module 1: Getting Oriented | 30–40 minutes |
| Module 2: Dashboard | 45–60 minutes |
| Module 3: E-Commerce Analytics | 50–65 minutes |
| Module 4: Tables | 40–50 minutes |
| Module 5: Forms | 35–45 minutes |
| Module 6: Maps | 35–45 minutes |
| Module 7: Charts | 25–35 minutes |
| Module 8: Editors | 20–25 minutes |
| Module 9: Extra Components | 45–55 minutes |
| Module 10: Modal Overlays | 40–50 minutes |
| Module 11: UI Features | 25–30 minutes |
| Capstone Exercise | 30–45 minutes |
| Total | ~7–9 hours |
Tracking Your Progress
Use the Skills Checklist at the end of this document to mark off each skill as you complete it. You can work through the manual in order or jump to specific modules relevant to your role.
Prerequisites {#prerequisites}
Before starting this training, ensure you have:
An active account with login credentials for the ngx-admin application
A modern web browser (Chrome, Firefox, Edge, or Safari — current version recommended)
Internet access for map tile loading and any CDN-hosted resources (CKEditor, TinyMCE)
Screen resolution of at least 1024×768 (some features are optimized for wider screens)
No special permissions required for the demonstration and showcase features covered in this manual
Note: This application is a demonstration and component showcase platform. Most data displayed is sample data. No real transactions, orders, or user records are affected by your actions during training.
Foundation Skills {#foundation-skills}
Complete these foundation skills before starting the training modules. They teach controls and patterns that appear throughout the application.
FS-1: Navigating the Application Shell {#fs-1-navigating-the-application-shell}
What it is and where you'll encounter it: The application shell is the persistent frame around every screen — the header bar at the top and the sidebar navigation menu on the left. You will use these on every screen in the application.
Complete Walkthrough:
The application shell has two main regions:
The Header Bar (top of every page):
Hamburger/Toggle button (left side): Collapses or expands the sidebar menu. Click it to gain more screen space when working with charts or tables.
Home link: Navigates to the E-Commerce dashboard (the application's home page).
Theme selector (right side): A dropdown to switch between four visual themes — Light, Dark, Cosmic, and Corporate. Changing the theme affects colors across the entire application.
User avatar/name (right side): Displays your profile picture and name. On smaller screens, only the picture is shown.
User context menu: Click your avatar to reveal a menu with Profile and Log out options.
The Sidebar Menu (left side):
The sidebar contains all navigation links organized into groups.
Top-level items with a link (e.g., "E-commerce", "IoT Dashboard") navigate directly when clicked.
Top-level items with an arrow (e.g., "Forms", "Charts") expand to reveal child links when clicked.
The currently active page is highlighted in the menu.
Practice Exercise:
Click the hamburger button in the header to collapse the sidebar. Notice how the content area expands.
Click the hamburger button again to restore the sidebar.
Click the Theme selector and choose Dark. Observe how the colors change across the entire application.
Switch the theme back to Light (labeled "Default").
Expand the Forms menu group by clicking it. Confirm that child items appear (Form Inputs, Form Layouts, Buttons, Datepicker).
Click Form Inputs to navigate to that page.
Knowledge Check:
What happens when you click a top-level menu item that has child items?
How do you return to the application's home page from any screen?
Tips:
Tip: Collapsing the sidebar is useful when viewing wide charts or tables that need more horizontal space.
Tip: The theme you select persists while you are on the page. Refreshing the browser resets to the default theme.
FS-2: Working with Data Tables {#fs-2-working-with-data-tables}
What it is and where you'll encounter it: The application uses two types of data tables: the Smart Table (at /tables/smart-table) and the Tree Grid (at /tables/tree-grid). Both display structured data in rows and columns with interactive features.
Complete Walkthrough:
Smart Table features:
Column headers: Click any column header to sort the table by that column. Click again to reverse the sort direction. An arrow indicator shows the active sort column and direction.
Filter row: Below each column header is a text input. Type in any filter box to narrow the displayed rows in real time. The table updates as you type.
Add New button (toolbar, top-left): Opens an inline editable row at the top of the table for entering a new record.
Edit button (pencil icon on each row): Converts that row into an editable form in place.
Delete button (trash icon on each row): Triggers a confirmation dialog before removing the row.
Save/Cancel buttons: Appear when a row is in edit or add mode.
Tree Grid features:
Expand/Collapse toggle: Directory rows have a toggle arrow. Click it to expand or collapse child rows.
Column headers: Click to sort. An arrow shows the active sort direction.
Responsive columns: On narrower screens, some columns (Size, Kind, Items) are automatically hidden to keep the table readable.
Practice Exercise:
Navigate to Tables → Smart Table using the sidebar.
Click the Last Name column header to sort by last name. Click it again to reverse the sort.
Type "Sven" in the filter box under the First Name column. Observe the table filter in real time.
Clear the filter by deleting your text.
Navigate to Tables → Tree Grid.
Click the expand arrow next to Projects to reveal its child files.
Click the Name column header to sort alphabetically.
Knowledge Check:
How do you filter a Smart Table to show only rows matching a specific value?
What visual indicator tells you which column the Smart Table is currently sorted by?
Tips:
Tip: You can filter multiple columns simultaneously — each filter box works independently.
Gotcha: In the Tree Grid, the Items column shows a count of child entries. This count is informational and may not always match the number of visible child rows.
FS-3: Understanding Status Indicators and Theme Colors {#fs-3-understanding-status-indicators-and-theme-colors}
What it is and where you'll encounter it: Throughout the application, UI elements use a consistent set of five color-coded status values to communicate meaning. You will see these on buttons, cards, progress bars, alerts, and chart legends.
The Five Status Values:
| Status | Typical Color | Meaning |
|---|---|---|
| Primary | Blue | Default/main action |
| Success | Green | Positive outcome or active state |
| Info | Teal/Cyan | Informational or neutral |
| Warning | Orange/Yellow | Caution or moderate state |
| Danger | Red | Error, critical, or off state |
These colors shift slightly depending on the active theme (Light, Dark, Cosmic, Corporate).
Practice Exercise:
Navigate to Forms → Buttons using the sidebar.
Identify buttons in each of the five status colors.
Navigate to Dashboard (the IoT Dashboard).
Look at the four device status cards (Light, Roller Shades, Wireless Audio, Coffee Maker). Note which status color each card uses.
Switch the theme to Corporate using the theme selector in the header. Observe how the card colors change.
Switch back to Light (Default).
Knowledge Check:
Which status color typically indicates a warning or cautionary state?
Why might the same card appear in a different color when you switch themes?
Tips:
FS-4: Using Date and Period Selectors {#fs-4-using-date-and-period-selectors}
What it is and where you'll encounter it: Many screens allow you to filter data by time period. You will encounter period selectors (Week / Month / Year toggle buttons) on the Traffic, Electricity, User Activity, Traffic Reveal Card, and Charts Panel screens. You will encounter a date picker on the Forms → Datepicker screen.
Period Selector (toggle buttons):
A row of buttons labeled Week, Month, and Year (or similar).
Click a button to switch the displayed data to that time period.
The active period button is visually highlighted.
Changing the period updates the chart or list data immediately.
Date Picker (calendar popup):
Click a date input field to open a calendar popup.
Navigate months using the left/right arrows in the calendar header.
Click a date to select it. The input field updates with your selection.
Dates outside the allowed range (if configured) appear dimmed and cannot be selected.
Practice Exercise:
Navigate to Dashboard → Traffic (if available in the sidebar, or navigate directly).
Click the Month button in the period selector. Observe the chart update.
Click Year. Observe the change.
Click Week to return to the default view.
Navigate to Forms → Datepicker.
Click the first date input field to open the calendar popup.
Click a date within the highlighted (selectable) range to select it.
Observe the input field update with your chosen date.
Knowledge Check:
What happens to the chart data when you click a different period button?
How do you identify which dates are selectable in the date picker?
Tips:
Tip: Period selectors do not change the URL — if you refresh the page, the view resets to the default period.
Gotcha: On some screens, changing the period selector does not reload data from the server — it filters already-loaded data on the client side.
FS-5: Working with Interactive Charts {#fs-5-working-with-interactive-charts}
What it is and where you'll encounter it: The application uses Apache ECharts and Chart.js to render interactive charts across the E-Commerce dashboard, Charts section, and individual dashboard widgets. All charts share common interaction patterns.
Common Chart Interactions:
| Interaction | What Happens |
|---|---|
| Hover over a data point | A tooltip appears showing the value at that point |
| Hover over a bar or segment | The element may highlight; a tooltip shows the value |
| Click a legend item | Toggles that data series on or off (where supported) |
| Scroll wheel on a map chart | Zooms in or out |
| Click and drag on a map | Pans the view |
Reading Chart Legends:
Legends appear alongside charts and identify each data series by color and label.
The legend colors match the corresponding chart elements.
Practice Exercise:
Navigate to E-Commerce (the home page) using the sidebar or home link.
Find a chart on the page (e.g., the Orders or Profit chart).
Hover your mouse slowly over the chart bars or lines. Observe the tooltip that appears.
Navigate to Charts → Echarts.
Hover over data points on any chart to read tooltip values.
Knowledge Check:
How do you read the exact value of a data point on a chart?
What does a chart legend tell you?
Tips:
Tip: If a chart appears blank or very small, try resizing your browser window slightly — charts resize automatically to fit their container.
Tip: Tooltips disappear when you move your mouse away from the data point.
FS-6: Using Modal Overlays (Dialogs, Windows, Toasts) {#fs-6-using-modal-overlays-dialogs-windows-toasts}
What it is and where you'll encounter it: The application uses several types of overlay UI patterns. You will encounter these in the Modal Overlays section and throughout the application when actions require confirmation or additional input.
Types of Overlays:
| Type | Description | How to Close |
|---|---|---|
| Dialog | A centered modal that blocks the background. May contain a form or message. | Click the Dismiss or Cancel button, or press Escape |
| Window | A floating, draggable panel that may or may not block the background. | Click the X button in the window title bar |
| Toast (Toastr) | A small notification that appears at the edge of the screen and auto-dismisses. | Wait for it to disappear, or click it (if configured to dismiss on click) |
| Popover | A small overlay anchored to a trigger element, showing additional content. | Click elsewhere on the page |
| Tooltip | A brief label that appears on hover. | Move your mouse away |
Practice Exercise:
Navigate to Modal Overlays → Dialog using the sidebar.
Click the button to open the basic dialog. Read the content.
Click the Dismiss button to close it.
Click the button to open the name prompt dialog. Type your name and click Submit.
Observe that your name appears in the list below the button.
Navigate to Modal Overlays → Toastr.
Click the Make Toast button. Observe the notification that appears at the edge of the screen.
Knowledge Check:
What is the difference between a Dialog and a Window overlay?
How does a Toast notification differ from a Dialog?
Tips:
Tip: Some dialogs can be closed by clicking the dark backdrop behind them. Others require you to use the explicit close button.
Gotcha: A window opened with "no backdrop" and "no ESC close" can only be dismissed using the close button in the window's title bar.
FS-7: Using Progress Bars {#fs-7-using-progress-bars}
What it is and where you'll encounter it: Progress bars appear on the E-Commerce Progress Section screen and in the Extra Components → Progress Bar showcase. They visually represent a percentage value (0–100) using a filled bar with a status color.
Reading a Progress Bar:
The filled portion of the bar represents the current value as a percentage of the total.
The color of the bar indicates its status (see FS-3: Understanding Status Indicators).
Some progress bars display the percentage value as text inside or beside the bar.
Interactive Progress Bar:
The Interactive Progress Bar (at Extra Components → Progress Bar) has + and − buttons.
Each click changes the value by 25 percentage points.
The bar color changes automatically based on the value: red (0–25%), orange (26–50%), blue (51–75%), green (76–100%).
Practice Exercise:
Navigate to Extra Components → Progress Bar using the sidebar.
Find the interactive progress bar section.
Click the + (increase) button twice. Observe the bar fill and color change.
Click the − (decrease) button once. Observe the change.
Continue clicking until the bar reaches 100%. Note the color.
Click − until the bar reaches 0%. Note the color.
Knowledge Check:
At what value does the progress bar color change from orange to blue?
What happens when you try to click the − button when the value is already 0?
Tips:
FS-8: Working with Spinners {#fs-8-working-with-spinners}
What it is and where you'll encounter it: Spinners are animated loading indicators that appear when the application is processing or loading data. The Extra Components → Spinner section showcases spinner variants. You may also see spinners embedded inside buttons.
What spinners indicate:
A spinner means the application is busy — either loading data, processing a request, or simulating a delay.
Spinners automatically disappear when the operation completes.
Spinner variants in the showcase:
Spinner Colors: Shows the spinner in each of the five status colors.
Spinner Sizes: Shows the spinner at different size scales (tiny through giant).
Spinner In Buttons: Shows a spinner embedded inside a button during a loading state.
Spinner In Tabs: Shows a spinner inside a tabbed interface.
Practice Exercise:
Navigate to Extra Components → Spinner using the sidebar.
Click the trigger button to start the loading animation. Observe the spinner appear.
Wait 3 seconds for it to automatically stop.
Navigate to Extra Components → Spinner → Spinner In Buttons (if available as a sub-item).
Click the trigger button for the large button group. Observe the spinners inside the buttons.
Wait 3 seconds for the animation to stop automatically.
Knowledge Check:
How long does the demo spinner animation last before stopping automatically?
What does a spinner inside a button indicate?
Tips:
Module 1: Getting Oriented — Your First Session {#module-1-getting-oriented}
Learning Objectives
After completing this module, you will be able to:
Identify the major regions of the application layout
Navigate to any section using the sidebar menu
Switch between visual themes
Use the header controls including the user menu and search input
Estimated Time: 30–40 minutes
Lesson 1.1: Understanding the Application Layout {#lesson-1-1-understanding-the-application-layout}
What You'll Learn: When you first open ngx-admin, you need to understand what you're looking at before you can use it effectively. This lesson maps out every region of the screen so you always know where to look.
Before You Begin: No prerequisites — you can start this lesson at any time.
Walkthrough:
Open the application in your browser. You should see the main dashboard page.
Look at the top of the screen. This horizontal bar is the Header. It spans the full width of the page and is always visible.
Within the Header, locate the hamburger icon (three horizontal lines) on the far left. This is the sidebar toggle.
Look at the left side of the screen. This vertical panel is the Sidebar Menu. It contains all navigation links.
Look at the large area to the right of the sidebar. This is the Main Content Area. Every page you navigate to renders here.
Look at the bottom of the page. This is the Footer, which shows attribution information and social media links.
Within the Header, look at the right side. You should see a theme selector dropdown, and your user avatar or name.
You should now see a clear mental map of the four regions: Header (top), Sidebar (left), Content Area (center-right), Footer (bottom).
[Screenshot: Full application layout with Header, Sidebar, Content Area, and Footer labeled]
Try It Yourself:
Navigate to three different pages using the sidebar and observe that the Header, Sidebar, and Footer remain constant while only the Content Area changes:
Click E-Commerce in the sidebar. Note what appears in the Content Area.
Click Tables → Smart Table in the sidebar. Note what changes.
Click Maps → Leaflet Maps in the sidebar. Note what changes.
Confirm that the Header and Footer look identical on all three pages.
Knowledge Check:
Which region of the application changes when you navigate to a new page?
Which regions remain constant regardless of which page you are on?
Tips & Gotchas:
Tip: The Footer contains a copyright notice and social media links. The social media links are placeholder links in this version of the application.
Tip: On smaller screens (tablets, narrow windows), the sidebar may be hidden by default. Use the hamburger button to show it.
Lesson 1.2: Navigating with the Sidebar Menu {#lesson-1-2-navigating-with-the-sidebar-menu}
What You'll Learn: The sidebar menu is your primary navigation tool. This lesson teaches you how to use it efficiently, including expanding groups and identifying the active page.
Before You Begin: Complete Lesson 1.1: Understanding the Application Layout first.
Walkthrough:
Look at the sidebar. You will see a list of navigation items, some with icons.
Find the item labeled E-commerce near the top. It has a home icon and is marked as the application's home page.
Click E-commerce. The Content Area updates to show the E-Commerce dashboard. In the sidebar, the E-commerce item is now highlighted to show it is the active page.
Find the item labeled Forms in the sidebar. It has a right-pointing arrow indicating it has child items.
Click Forms. The item expands to reveal child links: Form Inputs, Form Layouts, Buttons, and Datepicker.
Click Form Inputs. The Content Area navigates to the Form Inputs page. The sidebar now shows Form Inputs as the active item, nested under Forms.
Click Forms again to collapse the group.
Find the FEATURES label in the sidebar. This is a non-clickable section divider — it groups related items visually but does not navigate anywhere.
[Screenshot: Sidebar with an expanded group showing child items and an active item highlighted]
Try It Yourself:
Expand the Charts group in the sidebar.
Click Echarts to navigate to that page.
Now expand the Modal Overlays group.
Click Dialog to navigate there.
Confirm that the sidebar correctly highlights Dialog as the active item under Modal Overlays.
Knowledge Check:
How can you tell which page you are currently on by looking at the sidebar?
What does the arrow icon next to a sidebar item indicate?
Tips & Gotchas:
Tip: You can have multiple groups expanded at the same time. Expanding one group does not collapse others.
Gotcha: The FEATURES section header in the sidebar is a visual divider, not a clickable link. Clicking it does nothing.
Lesson 1.3: Switching Themes {#lesson-1-3-switching-themes}
What You'll Learn: ngx-admin supports four visual themes. Switching themes changes the color palette of the entire application. This lesson teaches you how to switch themes and what to expect.
Before You Begin: Complete Lesson 1.1: Understanding the Application Layout first.
Walkthrough:
Look at the Header bar. On the right side, find the theme selector — it is a dropdown control showing the current theme name.
Click the theme selector to open the dropdown. You will see four options:
Light (also called "Default") — a light background with blue accents
Dark — a dark background with lighter text
Cosmic — a deep purple/dark theme
Corporate — a professional light theme with different accent colors
Click Dark. The entire application immediately switches to a dark color scheme. The sidebar, header, cards, and charts all update.
Navigate to Dashboard using the sidebar. Observe how the status cards appear in the Dark theme.
Click the theme selector again and choose Cosmic. Observe the purple color scheme.
Click the theme selector and choose Corporate. Notice that the Dashboard status cards now use different colors than in the other themes.
Click the theme selector and choose Light to return to the default.
[Screenshot: Theme selector dropdown open showing four theme options]
Try It Yourself:
Switch to the Cosmic theme.
Navigate to E-Commerce (the home page).
Observe how the charts and cards look in the Cosmic theme.
Switch to Corporate and observe the same page.
Note at least two visual differences between the Cosmic and Corporate themes.
Switch back to Light (Default) when done.
Knowledge Check:
How many themes are available in the application?
Does switching themes affect only the current page, or the entire application?
Tips & Gotchas:
Tip: Theme changes take effect immediately — you do not need to save or confirm.
Gotcha: The theme selection is not saved between browser sessions. Each time you reload the application, it starts in the default Light theme.
Lesson 1.4: Using the Header Controls {#lesson-1-4-using-the-header-controls}
What You'll Learn: The Header contains several controls beyond the sidebar toggle and theme selector. This lesson covers the user menu and the search input.
Before You Begin: Complete Lesson 1.1: Understanding the Application Layout first.
Walkthrough:
Using the User Menu:
Look at the right side of the Header. Find your user avatar (a profile picture or initials) and/or your name.
Click the avatar or name. A small context menu appears with two options: Profile and Log out.
The Profile option would navigate to your profile page (behavior depends on application configuration).
The Log out option would end your session and return you to the login screen.
Click elsewhere on the page to dismiss the menu without selecting anything.
Using the Search Input:
Look at the Header. Find the magnifying glass icon (search icon).
Click the magnifying glass icon. A text input field appears next to the icon.
Type a few characters. The search input emits your query to the application for processing.
Click elsewhere on the page (outside the input). The input field collapses back to just the icon.
Navigating Home:
Click the home link in the Header (typically the application logo or a home icon near the left side of the Header).
You should be taken to the E-Commerce dashboard, which is the application's designated home page.
[Screenshot: Header with user menu open showing Profile and Log out options]
Try It Yourself:
Click the magnifying glass icon in the Header.
Type the word "dashboard" into the search field.
Click elsewhere to collapse the search field.
Click the user avatar to open the user menu.
Observe the two menu options without clicking either.
Press Escape or click elsewhere to close the menu.
Knowledge Check:
What two options appear in the user context menu?
How do you collapse the search input field after opening it?
Tips & Gotchas:
Tip: On screens narrower than a certain width, the Header shows only your profile picture, not your name. This is normal responsive behavior.
Gotcha: The search input in the Header emits your query to the application but the actual search results behavior depends on how the application is configured. In this demonstration version, search may not return results.
Module 2: Exploring the Dashboard {#module-2-exploring-the-dashboard}
Learning Objectives
After completing this module, you will be able to:
Read and interpret the IoT Dashboard status cards
Switch between time periods on the Electricity and Traffic widgets
Select rooms and control media playback
Interpret solar energy and temperature data
Navigate between single-camera and multi-camera views in Security Cameras
Estimated Time: 45–60 minutes
Lesson 2.1: Reading the IoT Dashboard Overview {#lesson-2-1-reading-the-iot-dashboard-overview}
What You'll Learn: The IoT Dashboard is the application's secondary dashboard (the E-Commerce dashboard is the home page). It displays smart-home device status cards and a solar energy widget. This lesson teaches you how to read and interpret this overview.
Before You Begin: Complete Module 1 first. This screen uses status indicators — review FS-3: Understanding Status Indicators if needed.
Walkthrough:
In the sidebar, click IoT Dashboard. The Content Area loads the IoT Dashboard.
Look at the status cards section. You should see four cards, each representing a smart-home device:
Light — with a lightbulb icon
Roller Shades — with a roller shades icon
Wireless Audio — with an audio icon
Coffee Maker — with a coffee maker icon
Each card displays the device name and its current status. The card's color (primary, success, info, warning) indicates the device category.
Look for the Solar Energy Consumption widget. It displays a numeric value representing current solar output.
Note that the status card colors may differ depending on the active theme. Switch to Corporate theme and observe how the card colors change. Switch back to Light when done.
[Screenshot: IoT Dashboard showing four status cards and the solar widget]
Try It Yourself:
Navigate to the IoT Dashboard.
Identify which device is represented by the Warning status color in the default Light theme.
Switch to the Corporate theme.
Identify which device now uses the Warning status color.
Note the difference — the same device may use a different color in different themes.
Switch back to Light (Default).
Knowledge Check:
How many device status cards are shown on the IoT Dashboard?
Why might the same device card appear in a different color when you switch themes?
Tips & Gotchas:
Tip: The status card colors are theme-specific design decisions, not indicators of device health. A "warning" color does not mean the device has a problem.
Gotcha: The solar value displayed is sample data and does not represent real energy readings.
Lesson 2.2: Monitoring Electricity Consumption {#lesson-2-2-monitoring-electricity-consumption}
What You'll Learn: The Electricity screen shows electricity usage data broken down by category and time period. You will learn to switch between weekly, monthly, and yearly views and interpret the consumption metrics.
Before You Begin: Complete Lesson 2.1. Review FS-4: Using Date and Period Selectors and FS-5: Working with Interactive Charts.
Walkthrough:
In the sidebar, navigate to the Electricity screen. (It is located under the Dashboard section.)
The screen loads showing electricity data in the default Week view.
Look at the time period selector at the top of the screen — three buttons labeled Week, Month, and Year.
Click Month. The displayed data updates to show monthly electricity metrics.
Click Year to see the yearly view.
Click Week to return to the default.
Look at the electricity list panel. Each row represents a category (e.g., Heating, Lighting). For each category, you can see:
The month label
The delta — a percentage showing how consumption changed (e.g., "-8%")
A directional indicator (up or down arrow) showing whether consumption increased or decreased
The kWh value — kilowatt-hours consumed
The cost — the monetary cost for that period
Look at the electricity chart panel. It visualizes the same data as a bar or line chart.
[Screenshot: Electricity screen showing the list panel and chart with the Month period selected]
Try It Yourself:
Navigate to the Electricity screen.
Switch to the Year view using the period selector.
Find the category with the highest kWh value in the yearly view.
Switch to the Month view.
Find a category where the delta indicator shows a decrease (down arrow). Note the delta percentage.
Switch back to Week.
Knowledge Check:
What does the delta value on an electricity category row represent?
What does a down arrow next to the delta value indicate?
Tips & Gotchas:
Tip: The kWh column shows kilowatt-hours — the standard unit for measuring electricity consumption. Higher values mean more energy used.
Tip: A down arrow with a negative delta (e.g., "-12%") is a favorable indicator — it means consumption decreased.
Lesson 2.3: Controlling Rooms and Media Playback {#lesson-2-3-controlling-rooms-and-media-playback}
What You'll Learn: The Rooms screen lets you select a room from an interactive floor plan and control media playback for that room. This lesson teaches you how to select rooms and use the player controls.
Before You Begin: Complete Lesson 2.1.
Walkthrough:
Navigate to the Rooms screen (under the Dashboard section in the sidebar).
The screen shows a floor plan with four clickable rooms: Kitchen, Bedroom, Living Room, and Hallway. The Living Room is pre-selected by default.
Look at the media player below the floor plan. It shows the currently playing track with album art, track name, artist name, and playback controls.
Click the Bedroom room on the floor plan. The player collapses (on smaller screens) and the selected room changes.
Click the Bedroom room again (the same room you just selected). The player expands to show the full player view.
In the player, locate the following controls:
Previous track button (left arrow)
Play/Pause button (center)
Next track button (right arrow)
Shuffle toggle button
Loop toggle button
Volume slider
Progress bar (shows current position in the track)
Click the Play/Pause button to start playback. Click it again to pause.
Click the Next track button to advance to the next song.
Drag the Volume slider to adjust the volume.
Look for the collapse arrow icon at the top of the card. Click it to collapse the player view.
[Screenshot: Rooms screen showing the floor plan with Living Room selected and the media player expanded]
Try It Yourself:
Navigate to the Rooms screen.
Click the Kitchen room on the floor plan.
Click the Kitchen room again to expand the player.
Click the Shuffle button to enable shuffle mode.
Click the Next track button three times. Observe that tracks are selected randomly (not sequentially) when shuffle is on.
Click the Shuffle button again to disable shuffle.
Click the Loop button to enable loop mode.
Observe that the track repeats when it ends (or click Next — the same track should reload).
Disable Loop mode.
Knowledge Check:
What happens when you click a room that is already selected?
What is the difference between Shuffle mode and Loop mode?
Tips & Gotchas:
Tip: Selecting a different room collapses the player first. Selecting the same room expands it. This is the intended toggle behavior.
Gotcha: When Loop mode is on, clicking Previous or Next does not change the track — it reloads the same track. Disable Loop to navigate between tracks.
Lesson 2.4: Monitoring Traffic Consumption {#lesson-2-4-monitoring-traffic-consumption}
What You'll Learn: The Traffic widget displays network or application traffic data as a chart. You will learn to read the chart and use the period selector.
Before You Begin: Complete Lesson 2.1. Review FS-4: Using Date and Period Selectors and FS-5: Working with Interactive Charts.
Walkthrough:
Navigate to the Traffic screen (under the Dashboard section).
The screen shows a compact card titled "Traffic Consumption" with a chart and a period selector dropdown.
Look at the period selector — a dropdown (labeled with the current period, defaulting to Month). Click it to see the options: Week, Month, Year.
Select Week from the dropdown. The label updates to show "Week".
Select Year. The label updates to show "Year".
Hover over the chart to see tooltip values for individual data points.
Note: In this version of the application, changing the period selector updates the label but the chart data displayed reflects the data loaded when the page first opened. The chart does not reload with new data when you change the period.
[Screenshot: Traffic Consumption card showing the chart and period selector dropdown]
Try It Yourself:
Navigate to the Traffic screen.
Use the period selector to switch to Year.
Hover over several data points on the chart to read their values.
Switch back to Month.
Identify the highest and lowest data points visible on the chart.
Knowledge Check:
What does the Traffic Consumption chart visualize?
What is the default period shown when you first open the Traffic screen?
Tips & Gotchas:
Tip: The Traffic chart is a compact "tiny" card — it is designed to give a quick at-a-glance view, not detailed analysis.
Gotcha: Changing the period selector on this screen does not reload the chart data. The chart always shows the data that was loaded when the page opened.
Lesson 2.5: Viewing Security Cameras {#lesson-2-5-viewing-security-cameras}
What You'll Learn: The Security Cameras screen displays video feeds from multiple cameras. You will learn to switch between the grid view (all cameras) and the single-camera view.
Before You Begin: Complete Lesson 2.1.
Walkthrough:
Navigate to the Security Cameras screen (under the Dashboard section).
The screen opens in grid view, showing all available camera feeds simultaneously.
Click on any camera feed in the grid. The view switches to single-camera view, showing that camera's feed in a larger, focused display.
Look for a back or return control (typically an arrow or button) to return to the grid view. Click it to go back.
Notice that the first camera in the list is pre-selected when the page loads.
On smaller screens, the action buttons (controls) appear smaller. On wider screens, they appear at medium size.
[Screenshot: Security Cameras screen in grid view showing multiple camera feeds]
Try It Yourself:
Navigate to the Security Cameras screen.
Click the second camera feed in the grid.
Observe the single-camera view.
Return to the grid view.
Click the last camera feed in the grid.
Observe the single-camera view for that camera.
Return to the grid view.
Knowledge Check:
How do you switch from grid view to single-camera view?
Which camera is pre-selected when the Security Cameras page first loads?
Tips & Gotchas:
Tip: The camera feeds shown are sample/demo data. In a production deployment, these would show live or recorded video streams.
Gotcha: Refreshing the page always returns you to the grid view — the selected camera is not preserved in the URL.
Lesson 2.6: Reading Solar and Temperature Data {#lesson-2-6-reading-solar-and-temperature-data}
What You'll Learn: The Dashboard includes widgets for solar energy and temperature/humidity monitoring. This lesson teaches you to read these widgets and interact with the temperature controls.
Before You Begin: Complete Lesson 2.1.
Walkthrough:
Solar Widget:
Navigate to the IoT Dashboard (or the Solar screen if available separately).
Find the Solar Energy Consumption card. It shows a donut chart with a percentage fill.
The filled arc represents the percentage of solar energy consumed. The text below shows the consumed kWh value and the total capacity (e.g., "6.421 kWh out of 8.421 kWh").
Temperature Widget:
Navigate to the Temperature screen (under the Dashboard section).
The screen shows two panels: Temperature and Humidity.
Each panel displays the current value on a circular arc gauge (the Temperature Dragger).
Look for the ON/OFF toggle on each panel. The default state is ON for both.
Look for the mode selector on each panel:
Temperature defaults to Cool mode
Humidity defaults to Heat mode
Click the ON/OFF toggle on the Temperature panel to turn it off. Observe the gauge collapse to the minimum value.
Click the toggle again to turn it back on. The gauge returns to the previous value.
Try dragging the arc thumb (the circular handle on the gauge) clockwise or counterclockwise to adjust the temperature setpoint.
[Screenshot: Temperature screen showing the circular arc gauges for temperature and humidity]
Try It Yourself:
Navigate to the Temperature screen.
Drag the Temperature gauge thumb clockwise to increase the value. Note the new value.
Drag it counterclockwise to decrease the value.
Toggle the Humidity panel OFF. Observe the gauge.
Toggle it back ON.
Switch the Temperature mode from Cool to Heat (if a mode selector is visible).
Knowledge Check:
What does the filled arc on the Solar Energy donut chart represent?
What happens to the temperature gauge when you toggle the panel OFF?
Tips & Gotchas:
Tip: The temperature gauge uses a drag interaction — click and hold the thumb, then drag around the arc. Do not just click without dragging.
Gotcha: The solar widget shows hardcoded sample values ("6.421 kWh out of 8.421 kWh"). These numbers do not update dynamically in this demonstration version.
Module 3: Exploring the E-Commerce Analytics Dashboard {#module-3-exploring-the-e-commerce-analytics-dashboard}
Learning Objectives
After completing this module, you will be able to:
Navigate the E-Commerce dashboard and identify its key sections
Select countries on the interactive map and read order statistics
Flip traffic and earning cards to reveal chart details
Read visitor analytics charts and pie charts
Switch between chart types and time periods in the Charts Panel
Interpret progress metrics and user activity data
Estimated Time: 50–65 minutes
Lesson 3.1: Reading the E-Commerce Overview {#lesson-3-1-reading-the-e-commerce-overview}
What You'll Learn: The E-Commerce dashboard is the application's home page. It aggregates multiple analytics widgets into a single view. This lesson orients you to its layout.
Before You Begin: Complete Module 1. Review FS-5: Working with Interactive Charts.
Walkthrough:
Click the E-commerce item in the sidebar (or click the home link in the Header). The E-Commerce dashboard loads.
Scan the page. You will see multiple card-based widgets arranged in a grid. These include:
A Profit Card (front and back sides)
A Earning Card (front and back sides)
A Traffic Reveal Card (front and back sides)
A Country Orders map and chart
A Visitors Analytics section
A Charts Panel with Orders and Profit charts
A Progress Section with KPI metrics
A User Activity table
Hover over any chart to see tooltip values.
The page is designed to be scrolled — scroll down to see all widgets.
[Screenshot: E-Commerce dashboard showing the full layout of widgets]
Try It Yourself:
Navigate to the E-Commerce dashboard.
Scroll to the bottom of the page to see all available widgets.
Hover over the Profit chart to read a tooltip value.
Count how many distinct card widgets you can identify on the page.
Knowledge Check:
Is the E-Commerce dashboard the application's home page?
What type of data does the E-Commerce dashboard primarily display?
Tips & Gotchas:
Lesson 3.2: Analyzing Country Orders on the Map {#lesson-3-2-analyzing-country-orders-on-the-map}
What You'll Learn: The Country Orders section shows a world map where you can click countries to see their order statistics in a bar chart. This lesson teaches you to interact with the map and read the chart.
Before You Begin: Complete Lesson 3.1. Review FS-5: Working with Interactive Charts.
Walkthrough:
On the E-Commerce dashboard, find the Country Orders Statistics card. It contains a world map and a bar chart below it.
The map initializes with USA as the default country (the map highlights the USA region).
The bar chart below the map is initially empty — it populates when you select a country.
Click on any country on the map (e.g., click on Germany in Europe). The country polygon highlights with a distinct color.
The bar chart below the map updates to show order data for the selected country across multiple categories.
The chart header shows the name of the selected country.
Click a different country (e.g., click on Brazil in South America). The previous country's highlight resets, the new country highlights, and the chart updates.
Hover over a bar in the chart to see the exact order value for that category.
You can also hover over countries on the map without clicking — they will show a hover highlight different from the selection highlight.
[Screenshot: Country Orders card with a country selected on the map and the bar chart showing data]
Try It Yourself:
Navigate to the Country Orders Statistics card on the E-Commerce dashboard.
Click on France on the map. Read the bar chart values.
Click on China on the map. Compare the bar chart values to France's.
Hover over (without clicking) a country adjacent to China. Observe the hover highlight.
Click on Australia on the map. Read the chart.
Knowledge Check:
What happens to the bar chart when you click a country on the map?
What is the default country shown when the Country Orders card first loads?
Tips & Gotchas:
Tip: The map supports zoom (scroll wheel) and pan (click and drag) to navigate to smaller countries.
Gotcha: The bar chart is empty until you click a country. Clicking the map is required to populate the chart.
Lesson 3.3: Reading Traffic and Earning Cards {#lesson-3-3-reading-traffic-and-earning-cards}
What You'll Learn: The Traffic Reveal Card and Earning Card are "flip cards" — each has a front side showing a summary and a back side showing a detailed chart. This lesson teaches you to flip the cards and read both sides.
Before You Begin: Complete Lesson 3.1. Review FS-4: Using Date and Period Selectors.
Walkthrough:
Traffic Reveal Card:
On the E-Commerce dashboard, find the Traffic Reveal Card.
The front side shows:
The current date
A traffic value (number of visits/sessions)
A delta indicator (up or down arrow with a value) showing the change from the previous period
Comparison data showing the previous and next period dates and values
Look for a flip/toggle button in the card header (often an icon or button). Click it to flip the card to the back side.
The back side shows a bar chart of traffic data over time.
Click the flip button again to return to the front side.
Look for the period selector in the card header (Week / Month / Year). Click Month to switch the data to monthly view. Click Week to return.
Earning Card:
Find the Earning Card on the E-Commerce dashboard.
The front side shows an animated line chart of earnings over time.
Click the flip button to see the back side — a pie chart showing earnings broken down by category (e.g., different currencies or revenue streams).
Click a pie segment on the back side. The segment highlights and the parent card may update to show details for that category.
Click the flip button to return to the front side.
[Screenshot: Traffic Reveal Card showing the front side with delta indicator and comparison data]
Try It Yourself:
Find the Traffic Reveal Card on the E-Commerce dashboard.
Read the current traffic value and delta on the front side.
Flip to the back side and hover over bars in the chart to read values.
Switch the period to Month using the period selector.
Flip back to the front side and observe the updated data.
Find the Earning Card and flip it to the back side.
Click the second pie segment. Observe any visual change.
Flip back to the front side.
Knowledge Check:
What does the delta indicator on the Traffic Reveal Card front side represent?
How do you reveal the back side of a flip card?
Tips & Gotchas:
Tip: The flip button is typically located in the card's header area. Look for a small icon or button near the card title.
Gotcha: Refreshing the page resets all flip cards to their front side. The flipped state is not saved.
Lesson 3.4: Analyzing Visitor Analytics {#lesson-3-4-analyzing-visitor-analytics}
What You'll Learn: The Visitors Analytics section shows website traffic broken down into Unique Visitors and Page Views, displayed as line charts and a pie chart. This lesson teaches you to read these visualizations.
Before You Begin: Complete Lesson 3.1. Review FS-5: Working with Interactive Charts.
Walkthrough:
On the E-Commerce dashboard, find the Visitors Analytics section.
The section contains:
A dual-line chart showing two data series: Unique Visitors (inner line) and Page Views (outer line)
A pie/donut chart showing a percentage value (the ratio of new to returning visitors)
A legend with two colored icons: one for Unique Visitors and one for Page Views
Hover over the line chart to see tooltip values for individual data points. The tooltip shows a rounded numeric value.
Look at the Visitors Statistics pie chart (the donut chart). The filled arc represents the percentage of New Visitors. The remaining arc represents Return Visitors.
The legend below the pie chart labels the two segments: New Visitors and Return Visitors.
Note that the legend colors adapt to the active theme — switch themes to observe the color change.
[Screenshot: Visitors Analytics section showing the line chart and pie chart with legend]
Try It Yourself:
Navigate to the Visitors Analytics section on the E-Commerce dashboard.
Hover over the line chart at several points to read the tooltip values.
Identify which line represents Unique Visitors and which represents Page Views using the legend.
Look at the pie chart. Read the percentage value shown.
Switch to the Dark theme and observe how the legend colors change.
Switch back to Light.
Knowledge Check:
What two data series are shown in the Visitors Analytics line chart?
What does the filled arc in the Visitors Statistics pie chart represent?
Tips & Gotchas:
Lesson 3.5: Reading the Charts Panel {#lesson-3-5-reading-the-charts-panel}
What You'll Learn: The Charts Panel shows order and profit data in two chart types — a multi-line area chart (Orders) and a grouped bar chart (Profit). You can switch between them using tabs and filter by time period.
Before You Begin: Complete Lesson 3.1. Review FS-4: Using Date and Period Selectors and FS-5: Working with Interactive Charts.
Walkthrough:
On the E-Commerce dashboard, find the Charts Panel section.
At the top of the panel, find the period selector (Week / Month / Year buttons) and the chart legend showing three colored items: Payment, Canceled, and All orders.
Below the period selector, find two tabs: Orders and Profit.
The Orders tab is active by default. It shows a multi-line area chart with three overlapping lines.
Hover over the chart to see tooltip values.
Click the Profit tab. The chart switches to a grouped bar chart showing three bar groups side by side for each time period.
Hover over bars to see tooltip values.
Click the Week period button. The chart data updates to show weekly data.
Click Month and then Year to see different time ranges.
Look at the summary panel (usually above or beside the chart). It shows key metrics like total order counts or revenue figures with labels.
[Screenshot: Charts Panel showing the Profit tab with grouped bars and the period selector]
Try It Yourself:
Navigate to the Charts Panel on the E-Commerce dashboard.
Switch to the Profit tab.
Select the Month period.
Hover over the Canceled bars (first bar group) to read their values.
Switch to the Orders tab.
Select the Year period.
Hover over the highest point on the chart to read its value.
Read the summary metrics shown in the summary panel.
Knowledge Check:
What three data series are shown in the Charts Panel?
How do you switch between the Orders chart and the Profit chart?
Tips & Gotchas:
Tip: After switching tabs, the chart may briefly appear blank or misaligned. This is normal — the chart resizes itself to fit the newly visible tab panel.
Tip: The legend colors (Payment, Canceled, All orders) are consistent between the Orders and Profit charts.
Lesson 3.6: Reading Progress and User Activity Metrics {#lesson-3-6-reading-progress-and-user-activity-metrics}
What You'll Learn: The E-Commerce dashboard includes a Progress Section showing KPI metrics as progress bars, and a User Activity section showing page visit data. This lesson teaches you to read both.
Before You Begin: Complete Lesson 3.1. Review FS-7: Using Progress Bars and FS-4: Using Date and Period Selectors.
Walkthrough:
Progress Section:
On the E-Commerce dashboard, find the Progress Section.
It displays a list of metrics, each showing:
A title (e.g., "Revenue", "Orders")
A numeric value (the current measurement)
A progress bar filled to the activeProgress percentage
A description providing context
The progress bar fill percentage represents how close the metric is to its target or maximum.
User Activity:
Find the User Activity section on the E-Commerce dashboard.
It shows a table or list of activity entries, each with:
A date label
A pages visited count (number of pages viewed)
A trend indicator (up or down arrow) showing whether activity increased or decreased
A new visits count (first-time visitors)
Look for the period selector (Week / Month / Year). Click Week to see weekly data.
Click Year to see yearly data.
[Screenshot: User Activity section showing the data table with trend indicators and period selector]
Try It Yourself:
Navigate to the Progress Section on the E-Commerce dashboard.
Identify the metric with the highest activeProgress percentage (the most-filled progress bar).
Identify the metric with the lowest progress bar fill.
Navigate to the User Activity section.
Switch to the Year period.
Find the entry with the highest pages visited count.
Identify whether that entry's trend indicator shows an increase or decrease.
Knowledge Check:
What does the progress bar fill percentage represent in the Progress Section?
What does the trend indicator (up/down arrow) in User Activity represent?
Tips & Gotchas:
Module 4: Working with Tables {#module-4-working-with-tables}
Learning Objectives
After completing this module, you will be able to:
Sort and filter data in the Smart Table
Add, edit, and delete records using inline editing
Confirm or cancel a delete action
Expand and collapse rows in the Tree Grid
Sort the Tree Grid by column
Estimated Time: 40–50 minutes
Lesson 4.1: Using the Smart Table — Viewing and Filtering Data {#lesson-4-1-using-the-smart-table}
What You'll Learn: The Smart Table is a full-featured data grid. Before you can manage records, you need to know how to navigate and filter the data. This lesson covers reading and filtering.
Before You Begin: Complete Module 1. Review FS-2: Working with Data Tables.
Walkthrough:
In the sidebar, navigate to Tables → Smart Table.
The table loads with sample user data. You will see six columns: ID, First Name, Last Name, Username, E-mail, and Age.
Look at the column headers. Each header is clickable for sorting.
Click the Age column header. The table sorts by age in ascending order. An arrow indicator appears on the Age header.
Click Age again. The sort reverses to descending order.
Click First Name to sort alphabetically by first name.
Look at the filter row — the row of input boxes directly below the column headers.
Click the filter box under Last Name and type "Smi". The table immediately filters to show only rows where the last name contains "Smi".
Clear the filter by deleting your text. All rows reappear.
Type "30" in the filter box under Age. Observe the filtered results.
Clear the Age filter.
[Screenshot: Smart Table with the Last Name filter active showing filtered results]
Try It Yourself:
Navigate to Tables → Smart Table.
Sort the table by Username in ascending order.
Type "@" in the filter box under E-mail to show all rows (since all emails contain "@").
Clear that filter.
Type "25" in the Age filter. Note how many rows match.
Clear the filter.
Sort by ID in descending order.
Knowledge Check:
How do you reverse the sort direction on a column?
Does the filter box require you to press Enter, or does it filter as you type?
Tips & Gotchas:
Tip: You can filter multiple columns at the same time. Each filter box works independently and the results are combined.
Gotcha: Filters are case-insensitive — typing "smith" will match "Smith".
Lesson 4.2: Adding, Editing, and Deleting Records in the Smart Table {#lesson-4-2-adding-editing-deleting-smart-table}
What You'll Learn: The Smart Table supports full inline CRUD operations. This lesson teaches you to add new records, edit existing ones, and safely delete records.
Before You Begin: Complete Lesson 4.1: Using the Smart Table — Viewing and Filtering Data.
Walkthrough:
Adding a New Record:
Navigate to Tables → Smart Table.
Look at the toolbar above the table. Find the + (Add New) button and click it.
A new editable row appears at the top of the table with empty input fields for each column.
Click the First Name field in the new row and type "Alice".
Click the Last Name field and type "Johnson".
Fill in Username ("alicej"), E-mail ("alice@example.com"), and Age ("28").
Click the checkmark (Save) button on the new row. The row is saved and appears in the table.
Editing an Existing Record:
Find any row in the table. Look at the action icons on the right side of the row.
Click the pencil (Edit) icon on that row. The row becomes editable with input fields.
Change the Age value to a different number.
Click the checkmark (Save) button to save your changes. The row updates with the new value.
Deleting a Record:
Find a row you want to delete. Click the trash (Delete) icon on that row.
A browser confirmation dialog appears: "Are you sure you want to delete?"
Click OK to confirm the deletion. The row is removed from the table.
To practice canceling: click the trash icon on another row, then click Cancel in the confirmation dialog. The row is preserved.
[Screenshot: Smart Table with a row in edit mode showing the Save and Cancel buttons]
Try It Yourself:
Navigate to Tables → Smart Table.
Click the + button to add a new row.
Enter: First Name = "Carlos", Last Name = "Rivera", Username = "crivera", E-mail = "carlos@test.com", Age = "35".
Save the new row.
Find the row you just added and click the Edit icon.
Change the Age to "36" and save.
Click the Delete icon on the same row.
When the confirmation dialog appears, click Cancel (do not delete).
Confirm the row is still present.
Knowledge Check:
What happens if you click Cancel in the delete confirmation dialog?
Can you edit a row while another row is already in edit mode?
Tips & Gotchas:
Tip: If you click Cancel while adding a new row, the empty row disappears without saving.
Gotcha: There is no validation on the E-mail field — the table will accept any text, including non-email formats. Always enter valid data in production use.
Lesson 4.3: Navigating the Tree Grid {#lesson-4-3-navigating-the-tree-grid}
What You'll Learn: The Tree Grid displays hierarchical file-system data with expandable rows. This lesson teaches you to navigate the hierarchy and sort the data.
Before You Begin: Complete Lesson 4.1. Review FS-2: Working with Data Tables.
Walkthrough:
Navigate to Tables → Tree Grid using the sidebar.
The table shows three top-level directory rows: Projects, Reports, and Other. Each has an expand arrow on the left.
Click the expand arrow next to Projects. The row expands to reveal child file entries beneath it.
Look at the child rows. Each shows a file name, size, file type (Kind), and item count.
Click the expand arrow next to Reports to expand it as well. Both directories are now expanded simultaneously.
Click the expand arrow next to Projects again to collapse it.
Look at the column headers: Name, Size, Kind, Items. Click the Kind column header to sort by file type.
Click Kind again to reverse the sort.
Click Name to sort alphabetically by name.
On a narrower browser window, some columns (Size, Kind, Items) may be hidden automatically. Widen the window to see all columns.
[Screenshot: Tree Grid with Projects expanded showing child file rows]
Try It Yourself:
Navigate to Tables → Tree Grid.
Expand the Other directory.
Sort the table by Size in descending order.
Collapse the Other directory.
Expand all three directories simultaneously.
Sort by Name in ascending order.
Identify which directory contains the most child files.
Knowledge Check:
Can you have multiple directories expanded at the same time in the Tree Grid?
What does the Items column show for a directory row?
Tips & Gotchas:
Tip: The Tree Grid automatically hides columns on narrow screens. If you cannot see the Size or Kind columns, try widening your browser window.
Gotcha: The Items count shown for a directory may not always match the exact number of visible child rows — this is a known data inconsistency in the sample data.
Module 5: Working with Forms {#module-5-working-with-forms}
Learning Objectives
After completing this module, you will be able to:
Identify the available form layout patterns
Interact with form input components including rating widgets and radio buttons
Use the date picker with min/max date constraints
Identify button status, shape, and size variants
Estimated Time: 35–45 minutes
Lesson 5.1: Exploring Form Layouts {#lesson-5-1-exploring-form-layouts}
What You'll Learn: The Form Layouts screen demonstrates different ways form fields can be arranged. Understanding these patterns helps you recognize and use forms throughout the application.
Before You Begin: Complete Module 1.
Walkthrough:
Navigate to Forms → Form Layouts using the sidebar.
The screen displays multiple form layout examples. Scroll through the page to see all of them.
Look for the following layout patterns:
Inline forms — fields arranged side by side in a single row
Stacked forms — fields stacked vertically with labels above inputs
Side-label forms — labels aligned to the left of their input fields
Form groups — related fields grouped within a bordered section
These are visual demonstrations only — the form fields are not wired to any submission logic in this showcase.
[Screenshot: Form Layouts page showing multiple layout pattern examples]
Try It Yourself:
Navigate to Forms → Form Layouts.
Scroll through the entire page.
Identify at least three distinct layout patterns.
Try clicking into a text input field and typing some text. Observe the focus state styling.
Try clicking a checkbox or radio button if visible. Observe the selected state.
Knowledge Check:
Are the form fields on the Form Layouts page connected to any data submission?
What is the difference between an inline form and a stacked form layout?
Tips & Gotchas:
Lesson 5.2: Using Form Input Components {#lesson-5-2-using-form-input-components}
What You'll Learn: The Form Inputs screen showcases interactive input components including star ratings, heart ratings, and radio button groups. This lesson teaches you to interact with each.
Before You Begin: Complete Lesson 5.1.
Walkthrough:
Navigate to Forms → Form Inputs using the sidebar.
Find the Star Rating widget. It shows a row of star icons. The default value is 2 stars selected.
Click the 4th star to change the rating to 4. The first four stars fill in.
Click the 1st star to change the rating to 1.
Find the Heart Rating widget. It shows a row of heart icons. The default value is 4 hearts selected.
Click the 2nd heart to change the rating to 2.
Find the Radio Button Group. It shows several radio options. The default selected option is the second one ("This is value 2").
Click the first radio option to select it. The selection moves to the first option.
Click the third radio option to select it.
[Screenshot: Form Inputs page showing the star rating, heart rating, and radio button group]
Try It Yourself:
Navigate to Forms → Form Inputs.
Set the Star Rating to 5 stars.
Set the Heart Rating to 1 heart.
Select the last radio option in the radio group.
Now set the Star Rating back to 3 stars.
Confirm that changing the star rating does not affect the heart rating or radio selection.
Knowledge Check:
What is the default star rating value when the Form Inputs page first loads?
Can you select multiple radio options simultaneously?
Tips & Gotchas:
Tip: Rating widgets and radio buttons update immediately on click — there is no Save button needed.
Gotcha: These input values are not persisted. Refreshing the page resets all inputs to their defaults.
Lesson 5.3: Using the Datepicker {#lesson-5-3-using-the-datepicker}
What You'll Learn: The Datepicker screen demonstrates date selection with configurable minimum and maximum date constraints. This lesson teaches you to open the calendar, navigate months, and select dates within the allowed range.
Before You Begin: Complete Lesson 5.1. Review FS-4: Using Date and Period Selectors.
Walkthrough:
Navigate to Forms → Datepicker using the sidebar.
The screen shows one or more date input fields.
Click the first date input field. A calendar popup appears.
Look at the calendar. Some dates appear dimmed (grayed out) — these are outside the allowed range and cannot be selected.
The allowed range is centered on today's date: 5 days before today through 5 days after today.
Click a date within the highlighted (selectable) range. The calendar closes and the input field shows your selected date.
Click the input field again to reopen the calendar.
Try clicking a dimmed date. It should not respond to your click.
Look for navigation arrows in the calendar header. Click the left arrow to go to the previous month. Click the right arrow to return to the current month.
[Screenshot: Datepicker with the calendar popup open showing selectable and dimmed dates]
Try It Yourself:
Navigate to Forms → Datepicker.
Click the date input to open the calendar.
Select a date that is 3 days from today (in the future).
Confirm the input field shows the selected date.
Click the input again to reopen the calendar.
Try to click a date that is 10 days from today (outside the allowed range). Confirm it cannot be selected.
Select a date that is 2 days before today.
Knowledge Check:
What is the allowed date range on the Datepicker screen?
How do you identify which dates are outside the allowed range?
Tips & Gotchas:
Tip: The allowed date range is calculated relative to today's date each time the page loads. The range shifts every day.
Gotcha: Dimmed dates look slightly grayed out compared to selectable dates. The visual difference may be subtle depending on the active theme.
Lesson 5.4: Using Buttons {#lesson-5-4-using-buttons}
What You'll Learn: The Buttons screen is a reference for all button variants available in the design system. This lesson teaches you to identify button statuses, shapes, and sizes.
Before You Begin: Complete Lesson 5.1. Review FS-3: Understanding Status Indicators.
Walkthrough:
Navigate to Forms → Buttons using the sidebar.
The screen displays button examples organized by property. Scroll through to see all sections.
Find the Status section. It shows buttons in five colors: Primary (blue), Success (green), Info (teal), Warning (orange), and Danger (red).
Find the Shape section. It shows buttons in three shapes:
Rectangle — sharp corners
Semi-round — slightly rounded corners
Round — fully pill-shaped
Find the Size section. It shows buttons in five sizes from smallest to largest: Tiny, Small, Medium, Large, Giant.
These buttons are display examples only — clicking them does not trigger any application action.
[Screenshot: Buttons page showing status, shape, and size variants]
Try It Yourself:
Navigate to Forms → Buttons.
Identify the Danger status button. Note its color.
Identify the Round shape button. Note its appearance.
Identify the Giant size button. Compare it to the Tiny size button.
Switch to the Dark theme and observe how the button colors change.
Switch back to Light.
Knowledge Check:
What are the five button status values?
What are the three button shape options?
Tips & Gotchas:
Module 6: Working with Maps {#module-6-working-with-maps}
Learning Objectives
After completing this module, you will be able to:
Pan and zoom the Leaflet map
Read bubble map data by hovering over country bubbles
Search for a location using the Search Map
Navigate the Google Maps embed
Estimated Time: 35–45 minutes
Lesson 6.1: Exploring the Leaflet Map {#lesson-6-1-exploring-the-leaflet-map}
What You'll Learn: The Leaflet Maps screen shows an interactive tile-based world map. This lesson teaches you to navigate it using pan and zoom.
Before You Begin: Complete Module 1.
Walkthrough:
Navigate to Maps → Leaflet Maps using the sidebar.
The screen shows a card titled "Leaflet Maps" containing an interactive map.
The map opens centered on the Maryland/Washington D.C. area of the United States at zoom level 5 (regional view).
To zoom in: Scroll your mouse wheel upward while hovering over the map. The map zooms in toward your cursor position. Alternatively, click the + button in the top-left corner of the map.
To zoom out: Scroll your mouse wheel downward, or click the − button.
To pan: Click and hold anywhere on the map, then drag in any direction. Release to stop panning.
To zoom to a specific area: Double-click on any location on the map to zoom in one level centered on that point.
The maximum zoom level is 18 (street-level detail). The minimum zoom level shows the full world.
[Screenshot: Leaflet map showing the Maryland/D.C. area with zoom controls visible]
Try It Yourself:
Navigate to Maps → Leaflet Maps.
Zoom in 3 levels using the scroll wheel.
Pan the map to the right until you can see the Atlantic Ocean.
Zoom out until you can see the entire North American continent.
Double-click on Europe to zoom in on that region.
Use the − button to zoom back out to a world view.
Knowledge Check:
What is the default geographic center of the Leaflet map when it first loads?
What are two ways to zoom in on the Leaflet map?
Tips & Gotchas:
Tip: If the map tiles appear gray or blank, your internet connection may be slow. The map loads tiles from OpenStreetMap's servers.
Gotcha: The map attribution shows "..." instead of proper OpenStreetMap attribution. This is a placeholder in the demonstration version.
Lesson 6.2: Exploring the Bubble Map {#lesson-6-2-exploring-the-bubble-map}
What You'll Learn: The Bubble Map visualizes world population data as sized circles on a world map. Larger bubbles represent larger populations. This lesson teaches you to read and navigate the map.
Before You Begin: Complete Lesson 6.1. Review FS-5: Working with Interactive Charts.
Walkthrough:
Navigate to Maps → Bubble Maps using the sidebar.
The screen shows a card titled "Bubble Maps" with a world map covered in colored circles.
Each circle represents a country. The size of the circle is proportional to the country's population (2011 data).
Hover over any circle to see a tooltip showing the country name and its population value.
The circles are colored randomly from the application's color palette — color does not carry specific meaning.
To pan the map: Click and drag.
To zoom: Use the scroll wheel.
Find the largest bubble (China, with the largest population) and hover over it to confirm.
Find a small bubble (a country with a small population) and hover to read its value.
[Screenshot: Bubble Map showing colored circles of varying sizes over a world map]
Try It Yourself:
Navigate to Maps → Bubble Maps.
Hover over the largest bubble on the map. Read the country name and population.
Hover over the second-largest bubble. Read its values.
Pan to Africa and hover over several bubbles to read population values.
Zoom in on Europe to see smaller country bubbles more clearly.
Hover over a small European country bubble to read its population.
Knowledge Check:
What does the size of a bubble on the Bubble Map represent?
What year does the population data on the Bubble Map represent?
Tips & Gotchas:
Tip: Very small countries may have tiny bubbles that are hard to hover over. Zoom in to make them easier to interact with.
Gotcha: The bubble colors are assigned randomly each time the page loads — they do not represent any data category.
Lesson 6.3: Using the Search Map {#lesson-6-3-using-the-search-map}
What You'll Learn: The Search Map allows you to search for a geographic location by address and have the map navigate to that location. This lesson teaches you to use the address search feature.
Before You Begin: Complete Lesson 6.1.
Walkthrough:
Navigate to Maps → Search Maps using the sidebar.
The screen shows a map (defaulting to Minsk, Belarus) and a search input field.
Click the search input field at the top of the screen.
Begin typing an address, such as "New York". As you type, a dropdown of address suggestions appears (powered by Google Places).
Click one of the suggestions in the dropdown (e.g., "New York, NY, USA").
The map re-centers on the selected location at zoom level 12 (neighborhood/street level).
Try another search: type "London, UK" and select a suggestion. The map navigates to London.
If you allow the browser to access your location (when prompted), the map may also show your current geographic position.
Note: The address search requires an active internet connection and a valid Google Maps API key configured in the application. If suggestions do not appear, consult your system administrator.
[Screenshot: Search Map with the search input showing address suggestions dropdown]
Try It Yourself:
Navigate to Maps → Search Maps.
Search for "Paris, France" and select the suggestion.
Observe the map navigate to Paris.
Search for "Sydney, Australia" and select the suggestion.
Observe the map navigate to Sydney.
Search for a specific street address in your city (if you know one).
Knowledge Check:
What is the default location shown when the Search Map first loads?
What zoom level does the map use after you select a search result?
Tips & Gotchas:
Tip: The search is restricted to address-type results. Searching for a business name or point of interest may not return results.
Gotcha: If no suggestions appear when you type, the Google Maps API may not be configured. Contact your system administrator.
Lesson 6.4: Exploring Google Maps {#lesson-6-4-exploring-google-maps}
What You'll Learn: The Google Maps screen embeds a standard Google Maps view centered on a fixed location. This lesson teaches you to navigate it.
Before You Begin: Complete Lesson 6.1.
Walkthrough:
Navigate to Maps → Google Maps using the sidebar.
The screen shows a Google Maps embed centered on a location in Hamm, North Rhine-Westphalia, Germany (coordinates: 51.678418°N, 7.809007°E).
Use the standard Google Maps controls to navigate:
Scroll wheel to zoom in and out
Click and drag to pan
Double-click to zoom in on a specific point
The map position is fixed — there is no search input on this screen. The map always opens at the same location.
[Screenshot: Google Maps embed showing the Hamm, Germany area]
Try It Yourself:
Navigate to Maps → Google Maps.
Zoom in until you can see street-level detail.
Pan to a neighboring city.
Zoom back out to see the regional view.
Knowledge Check:
What city is the Google Maps screen centered on by default?
Is there a search feature on the Google Maps screen?
Tips & Gotchas:
Module 7: Working with Charts {#module-7-working-with-charts}
Learning Objectives
After completing this module, you will be able to:
Navigate to the ECharts, Chart.js, and D3 chart sections
Hover over chart elements to read tooltip values
Identify the chart types available in each section
Estimated Time: 25–35 minutes
Lesson 7.1: Exploring ECharts Visualizations {#lesson-7-1-exploring-echarts-visualizations}
What You'll Learn: The ECharts section showcases data visualizations built with Apache ECharts. This lesson teaches you to navigate the section and interact with the charts.
Before You Begin: Complete Module 1. Review FS-5: Working with Interactive Charts.
Walkthrough:
Navigate to Charts → Echarts using the sidebar.
The screen loads a page with one or more ECharts-based visualizations.
Scroll through the page to see all available charts.
Hover over data points, bars, or line segments to see tooltip values.
If a chart has a legend, try clicking legend items to toggle data series on or off (where supported).
Observe how the charts adapt to the active theme — switch to Dark theme and observe the color changes, then switch back to Light.
[Screenshot: ECharts page showing a sample chart with a tooltip visible]
Try It Yourself:
Navigate to Charts → Echarts.
Hover over at least five different data points across the charts on the page.
Read and note the tooltip values.
Switch to the Cosmic theme and observe how the chart colors change.
Switch back to Light.
Knowledge Check:
How do you read the exact value of a data point on an ECharts visualization?
Do ECharts visualizations adapt to theme changes?
Tips & Gotchas:
Lesson 7.2: Exploring Chart.js Visualizations {#lesson-7-2-exploring-chartjs-visualizations}
What You'll Learn: The Chart.js section showcases visualizations built with the Chart.js library. This lesson teaches you to navigate and interact with them.
Before You Begin: Complete Lesson 7.1.
Walkthrough:
Navigate to Charts → Charts.js using the sidebar.
The screen loads Chart.js-based visualizations.
Scroll through the page to see all available charts.
Hover over data points to see tooltip values.
If a chart has a legend, try clicking legend items to toggle series visibility.
[Screenshot: Chart.js page showing a sample chart]
Try It Yourself:
Navigate to Charts → Charts.js.
Hover over data points on at least two different charts.
If a legend is visible, click a legend item to hide that data series. Click it again to show it.
Knowledge Check:
What library powers the charts on the Charts.js page?
How do you hide a data series on a Chart.js chart?
Tips & Gotchas:
Lesson 7.3: Exploring D3 Visualizations {#lesson-7-3-exploring-d3-visualizations}
What You'll Learn: The D3 section showcases visualizations built with the D3.js library. D3 charts are often more custom and complex than ECharts or Chart.js charts.
Before You Begin: Complete Lesson 7.1.
Walkthrough:
Navigate to Charts → D3 using the sidebar.
The screen loads D3-based visualizations.
Scroll through the page to see all available charts.
Hover over chart elements to see any available tooltips or highlights.
Some D3 charts may support click interactions — try clicking on chart elements to see if they respond.
[Screenshot: D3 page showing a sample visualization]
Try It Yourself:
Navigate to Charts → D3.
Hover over chart elements to explore any interactive behavior.
Compare the visual style of D3 charts to the ECharts and Chart.js charts you explored earlier.
Knowledge Check:
Tips & Gotchas:
Module 8: Using Editors {#module-8-using-editors}
Learning Objectives
After completing this module, you will be able to:
Open and use the CKEditor rich text editor
Open and use the TinyMCE rich text editor
Apply basic text formatting using editor toolbars
Estimated Time: 20–25 minutes
Lesson 8.1: Using the CKEditor Rich Text Editor {#lesson-8-1-using-the-ckeditor}
What You'll Learn: CKEditor is a WYSIWYG (What You See Is What You Get) rich text editor. This lesson teaches you to compose and format text using its toolbar.
Before You Begin: Complete Module 1. An active internet connection is required (CKEditor loads from a CDN).
Walkthrough:
Navigate to Editors → CKEditor using the sidebar.
The screen shows a card titled "CKEditor" containing the editor interface.
The editor has a toolbar at the top with formatting buttons (Bold, Italic, Underline, lists, links, tables, etc.) and an editing area below it.
Click inside the editing area and type: "This is my first CKEditor entry.".
Select the word "first" by double-clicking it.
Click the Bold button (B) in the toolbar. The selected word becomes bold.
Click at the end of your text and press Enter to start a new line.
Type a second line: "CKEditor supports rich text formatting.".
Select the entire second line and click the Italic button (I). The text becomes italic.
Try inserting a bulleted list: click the Unordered List button in the toolbar, then type a few list items.
[Screenshot: CKEditor with formatted text showing bold and italic examples]
Try It Yourself:
Navigate to Editors → CKEditor.
Type the following text: "ngx-admin Training Exercise".
Select the entire text and make it Bold.
Press Enter and type a new line: "Completed on [today's date]".
Make the date portion Italic.
Add a numbered list below with three items: "Module 1", "Module 2", "Module 3".
Knowledge Check:
What does WYSIWYG mean in the context of a rich text editor?
How do you apply bold formatting to selected text in CKEditor?
Tips & Gotchas:
Tip: Use standard keyboard shortcuts in CKEditor: Ctrl+B for bold, Ctrl+I for italic, Ctrl+Z to undo.
Gotcha: CKEditor content is not saved when you navigate away from the page. This is a demonstration editor — no data is persisted.
Lesson 8.2: Using the TinyMCE Rich Text Editor {#lesson-8-2-using-the-tinymce}
What You'll Learn: TinyMCE is another popular WYSIWYG rich text editor. This lesson teaches you to use it alongside CKEditor so you can compare the two.
Before You Begin: Complete Lesson 8.1: Using the CKEditor Rich Text Editor. An active internet connection is required.
Walkthrough:
Navigate to Editors → TinyMCE using the sidebar.
The screen shows a card titled "Tiny MCE" containing the TinyMCE editor.
The editor has a toolbar at the top and an editing area below.
Click inside the editing area and type: "TinyMCE is a powerful rich text editor.".
Select the word "powerful" by double-clicking it.
Click the Bold button in the toolbar. The word becomes bold.
Press Enter and type a second paragraph.
Try inserting a table: look for the Table button in the toolbar and click it to insert a simple table.
Type content into the table cells.
[Screenshot: TinyMCE editor with formatted text and a table]
Try It Yourself:
Navigate to Editors → TinyMCE.
Type: "TinyMCE Training Exercise".
Select the text and apply Italic formatting.
Press Enter and type: "This editor supports tables and links.".
Select the word "tables" and apply Bold formatting.
Insert a hyperlink: select the word "links", click the Insert Link button in the toolbar, and enter a URL (e.g., "https://www.example.com").
Knowledge Check:
What are the three plugins loaded in the TinyMCE editor on this screen?
Is content typed into TinyMCE saved when you navigate away?
Tips & Gotchas:
Tip: TinyMCE content updates are emitted on every keystroke. In a production integration, this would allow real-time saving or preview.
Gotcha: Like CKEditor, TinyMCE content is not persisted in this demonstration. Navigating away loses your work.
Module 9: Exploring Extra Components {#module-9-exploring-extra-components}
Learning Objectives
After completing this module, you will be able to:
Select dates using the standard and range calendar components
Send messages and receive bot replies in the Chat interface
Identify alert component variants
Trigger and observe spinner animations
Use the interactive progress bar to change values and observe status color changes
Estimated Time: 45–55 minutes
Lesson 9.1: Using the Calendar and Calendar Kit {#lesson-9-1-using-the-calendar}
What You'll Learn: The Calendar screen demonstrates three calendar modes: single-date selection, range selection, and a custom cell calendar. The Calendar Kit shows a full-year view. This lesson teaches you to use all of them.
Before You Begin: Complete Module 1. Review FS-4: Using Date and Period Selectors.
Walkthrough:
Standard Calendar (Single Date):
Navigate to Extra Components → Calendar using the sidebar.
The screen shows multiple calendar widgets. Find the first standard calendar.
Click any date in the calendar grid. The date becomes highlighted as selected.
Click a different date. The selection moves to the new date.
Use the left/right arrows in the calendar header to navigate to the previous or next month.
Range Calendar:
Find the range calendar on the same page (it may be labeled or visually distinct).
The range calendar pre-selects a range: from 3 days after the first of the current month to 3 days before the last day.
Click a start date to begin a new range selection.
Click an end date. The calendar highlights all dates between the start and end.
Custom Day Cell Calendar:
Find the calendar that uses custom day cells. The cells may have a different visual style than the standard calendar.
Click a date. The custom click handler is registered but currently has no visible effect (it is a demonstration placeholder).
Calendar Kit (Full Year View):
Navigate to Extra Components → Calendar Kit using the sidebar.
The screen shows a full-year calendar where each cell contains a complete month's day grid.
Click any day within any month grid to select that date.
[Screenshot: Calendar screen showing the standard, range, and custom cell calendars]
Try It Yourself:
Navigate to Extra Components → Calendar.
Select today's date on the standard calendar.
Navigate to next month using the arrow.
Select the 15th of next month.
On the range calendar, click a new start date (e.g., the 5th of the current month).
Click an end date (e.g., the 20th). Observe the highlighted range.
Navigate to Extra Components → Calendar Kit.
Click a date in the March month grid.
Knowledge Check:
How do you select a date range in the range calendar?
What is unique about the Calendar Kit compared to the standard calendar?
Tips & Gotchas:
Tip: The range calendar pre-populates with a default range. You can override it by clicking a new start date.
Gotcha: The custom day cell calendar's click handler is a placeholder — clicking dates does not produce a visible result in this demonstration.
Lesson 9.2: Using the Chat Interface {#lesson-9-2-using-the-chat}
What You'll Learn: The Chat screen simulates a two-party conversation with an automated bot. You can send text messages and file attachments, and the bot responds with text, images, GIFs, maps, or quoted replies.
Before You Begin: Complete Module 1.
Walkthrough:
Navigate to Extra Components → Chat using the sidebar.
The screen shows a chat window with pre-loaded messages between "Jonh Doe" (you) and "Bot".
Your messages appear on the right side of the chat. Bot messages appear on the left side.
Look at the message input area at the bottom of the chat window.
Click the input field and type: "Hello".
Press Enter or click the Send button. Your message appears on the right side.
After about 500 milliseconds, the bot responds with a message on the left side.
Try typing "gif" and sending. The bot responds with a GIF image.
Try typing "pic" and sending. The bot responds with an image.
Try typing "file group" and sending. The bot responds with multiple file attachments.
Try typing "quote" and sending. The bot responds with a quoted reply.
[Screenshot: Chat interface showing a conversation with bot responses including a GIF]
Try It Yourself:
Navigate to Extra Components → Chat.
Send the message "map" and observe the bot's response (it may include a map attachment).
Send the message "Hello there" and observe a text response.
Send the message "pic" and observe the image response.
Try attaching a file: look for a file attachment button in the input area (a paperclip or similar icon). Click it and select any file from your computer.
Send the message with the attachment and observe how it appears in the chat.
Knowledge Check:
On which side of the chat window do your sent messages appear?
What keyword triggers the bot to respond with a GIF?
Tips & Gotchas:
Tip: The bot uses keyword matching to determine its response type. Try different words to discover different response types.
Gotcha: The bot's responses are randomly selected from a pool of options. Sending the same message twice may produce different responses.
Lesson 9.3: Exploring Alert Components {#lesson-9-3-exploring-alerts}
What You'll Learn: The Alert screen showcases the alert notification component in various configurations. This lesson teaches you to identify alert variants.
Before You Begin: Complete Module 1. Review FS-3: Understanding Status Indicators.
Walkthrough:
Navigate to Extra Components → Alert using the sidebar.
The screen displays multiple alert component examples.
Scroll through the page to see all variants.
Look for alerts in each of the five status colors: Primary, Success, Info, Warning, and Danger.
Look for dismissible alerts — alerts with a close (×) button. Click the × button on a dismissible alert to dismiss it.
Look for alerts with icons and alerts without icons.
[Screenshot: Alert page showing multiple alert variants in different status colors]
Try It Yourself:
Navigate to Extra Components → Alert.
Identify the Danger status alert. Note its color and any icon.
Identify the Success status alert.
If any alerts have a dismiss button (×), click it to dismiss one.
Switch to the Dark theme and observe how the alert colors change.
Switch back to Light.
Knowledge Check:
How many status color variants are shown for the alert component?
How do you dismiss a dismissible alert?
Tips & Gotchas:
Lesson 9.4: Exploring Spinner Variants {#lesson-9-4-exploring-spinners}
What You'll Learn: The Spinner section showcases loading spinners in different colors, sizes, and contexts (standalone, in buttons, in tabs). This lesson teaches you to trigger and observe spinner animations.
Before You Begin: Complete Module 1. Review FS-8: Working with Spinners.
Walkthrough:
Navigate to Extra Components → Spinner using the sidebar.
The main Spinner page shows a trigger button. Click it to start the spinner animation. It runs for 3 seconds then stops automatically.
Navigate to Extra Components → Spinner → Spinner In Buttons (if available as a sub-item in the sidebar).
Click the trigger button for the Large button group. Observe spinners appearing inside the large buttons. They stop after 3 seconds.
Click the trigger button for the Medium button group. Observe the smaller spinners.
Navigate to Extra Components → Spinner → Spinner In Tabs.
Click the trigger button. Observe the spinner appearing within the tab interface.
Navigate to Extra Components → Spinner → Spinner Color to see spinners in different status colors.
Navigate to Extra Components → Spinner → Spinner Sizes to see spinners at different size scales.
[Screenshot: Spinner In Buttons page showing active spinners inside button elements]
Try It Yourself:
Navigate to Extra Components → Spinner.
Click the trigger button and immediately click it again. Observe that the animation continues (multiple timers stack).
Navigate to Extra Components → Spinner → Spinner Color.
Identify the spinner in the Danger status color.
Navigate to Extra Components → Spinner → Spinner Sizes.
Identify the Giant size spinner and compare it to the Tiny size spinner.
Knowledge Check:
How long does the demo spinner animation last before stopping automatically?
What happens if you click the spinner trigger button multiple times in quick succession?
Tips & Gotchas:
Tip: In production use, spinners indicate real loading activity. The 3-second timer in this showcase is purely for demonstration.
Gotcha: Clicking the trigger button multiple times stacks timers. The spinner may stop earlier than expected if multiple timers fire in sequence.
Lesson 9.5: Using the Interactive Progress Bar {#lesson-9-5-interactive-progress-bar}
What You'll Learn: The Interactive Progress Bar lets you manually increase and decrease a progress value and observe how the bar color changes based on thresholds. This lesson teaches you to use it and understand the color logic.
Before You Begin: Complete Module 1. Review FS-7: Using Progress Bars.
Walkthrough:
Navigate to Extra Components → Progress Bar using the sidebar.
Find the Interactive Progress Bar section on the page.
The bar starts at 25% (the default value) and shows in red (Danger status).
Click the + (increase) button. The value increases by 25 to 50%. The bar color changes to orange (Warning status).
Click + again. The value increases to 75%. The bar color changes to blue (Info status).
Click + again. The value increases to 100%. The bar color changes to green (Success status).
The + button is now disabled (grayed out) — you cannot go above 100%.
Click the − (decrease) button. The value decreases to 75%. The color returns to blue.
Click − again to reach 50% (orange).
Click − again to reach 25% (red).
Click − again to reach 0%. The bar is empty and red.
The − button is now disabled — you cannot go below 0%.
[Screenshot: Interactive Progress Bar at 75% showing the blue Info status color]
Try It Yourself:
Navigate to Extra Components → Progress Bar → Interactive Progress Bar (or find it on the Progress Bar page).
Click + until the bar reaches 100%. Note the color.
Click − once. Note the new color and value.
Click − until the bar reaches 0%. Note the color.
Try clicking − when the value is already 0. Confirm the button is disabled and the value does not go negative.
Click + twice to reach 50%. Confirm the color is orange (Warning).
Knowledge Check:
At what percentage value does the progress bar color change from orange (Warning) to blue (Info)?
What happens when you try to click the + button when the value is already at 100%?
Tips & Gotchas:
Tip: The color thresholds are: 0–25% = Danger (red), 26–50% = Warning (orange), 51–75% = Info (blue), 76–100% = Success (green).
Gotcha: The step size is fixed at 25. You cannot set the value to, for example, 30% — only 0, 25, 50, 75, or 100 are reachable.
Module 10: Using Modal Overlays {#module-10-using-modal-overlays}
Learning Objectives
After completing this module, you will be able to:
Open and dismiss dialog overlays
Submit data through a dialog name prompt and see the result
Open and close window overlays including windows without backdrops
Configure and trigger toast notifications
Interact with popover and tooltip components
Estimated Time: 40–50 minutes
Lesson 10.1: Working with Dialogs {#lesson-10-1-working-with-dialogs}
What You'll Learn: Dialogs are modal overlays that require user interaction before you can return to the main page. This lesson teaches you to open, interact with, and close different dialog types.
Before You Begin: Complete Module 1. Review FS-6: Using Modal Overlays.
Walkthrough:
Navigate to Modal Overlays → Dialog using the sidebar.
The page shows several buttons, each opening a different dialog configuration.
Basic Dialog:
Click the button to open the basic dialog (labeled something like "Open Dialog" or "Open Component Dialog").
A modal dialog appears with a title and a Dismiss button.
Click Dismiss to close the dialog.
Template Dialog:
Click the button to open the template dialog.
A dialog appears with content from an inline template.
Close it using the Dismiss button or by pressing Escape.
Name Prompt Dialog:
Click the button to open the name prompt dialog.
A dialog appears with a text input field labeled for a name.
Type your name (e.g., "Alex") in the input field.
Click Submit. The dialog closes and your name appears in a list below the button.
Open the name prompt again. Type a different name (e.g., "Jordan"). Click Submit.
Confirm that both names now appear in the list.
Open the name prompt again. Click Cancel without entering a name. Confirm the list does not change.
No Backdrop Dialog:
Click the button to open the dialog without backdrop.
Notice that the background is not dimmed — you can see the page behind the dialog.
Close the dialog using its close button.
[Screenshot: Name prompt dialog with a text input field and Submit/Cancel buttons]
Try It Yourself:
Navigate to Modal Overlays → Dialog.
Open the name prompt dialog and submit the name "Taylor".
Open it again and submit "Morgan".
Confirm both names appear in the list.
Open the dialog without backdrop click close (if available). Try clicking outside the dialog. Confirm it does not close.
Close it using the dialog's own close button.
Open the dialog without ESC close. Press the Escape key. Confirm it does not close.
Close it using the dialog's close button.
Knowledge Check:
What happens to the names list when you click Cancel in the name prompt dialog?
How do you close a dialog that has closeOnEsc: false configured?
Tips & Gotchas:
Tip: The names list accumulates entries as long as you are on the page. Refreshing the page clears the list.
Gotcha: A dialog with both "no backdrop" and "no ESC close" can only be dismissed using the close button inside the dialog. If you cannot find the close button, try looking in the dialog's title bar.
Lesson 10.2: Working with Windows {#lesson-10-2-working-with-windows}
What You'll Learn: Windows are floating overlay panels that can be dragged and may or may not block the background. This lesson teaches you to open, interact with, and close window overlays.
Before You Begin: Complete Lesson 10.1. Review FS-6: Using Modal Overlays.
Walkthrough:
Navigate to Modal Overlays → Window using the sidebar.
The page shows three buttons for opening different window configurations.
Template Window:
Click the button to open the window from template (labeled something like "Open Window (Template)").
A floating window panel appears with a title bar and content.
Try dragging the window by clicking and holding its title bar, then moving your mouse. The window moves with your cursor.
Close the window by clicking the X button in the window's title bar.
Form Window:
Click the button to open the window with a form (labeled "Open Window (Form Component)").
A window appears containing a form with Subject and Text fields.
Click into the Subject field and type "Test Subject".
Click into the Text field and type "This is a test message.".
Close the window using the X button in the title bar.
Window Without Backdrop:
Click the button to open the window without backdrop.
Notice the background is not dimmed. You can interact with the page behind the window.
Try pressing Escape. The window should not close (ESC is disabled for this window type).
Close the window using the X button in the title bar.
[Screenshot: Window overlay showing the form with Subject and Text fields]
Try It Yourself:
Navigate to Modal Overlays → Window.
Open the template window.
Drag it to a different position on the screen.
Open the form window (without closing the template window first).
Observe that both windows can be open simultaneously.
Close both windows.
Open the window without backdrop.
Try clicking on the page content behind the window. Confirm you can interact with the background.
Close the window.
Knowledge Check:
How do you move a window overlay to a different position on the screen?
Can multiple windows be open at the same time?
Tips & Gotchas:
Tip: Windows can be stacked — opening multiple windows creates a layered effect. Each window has its own close button.
Gotcha: The form fields in the Window Form are not connected to any submission logic. Typing in them and closing the window discards the content.
Lesson 10.3: Using Toastr Notifications {#lesson-10-3-using-toastr}
What You'll Learn: Toastr notifications are small, auto-dismissing messages that appear at the edge of the screen. This lesson teaches you to configure and trigger them.
Before You Begin: Complete Lesson 10.1. Review FS-6: Using Modal Overlays.
Walkthrough:
Navigate to Modal Overlays → Toastr using the sidebar.
The page shows a configuration panel and two action buttons: Make Toast and Random Toast.
Look at the configuration options:
Title — the toast's title text (default: "HI there!")
Content — the toast's body text (default: "I'm cool toaster!")
Duration — how long the toast stays visible in milliseconds (default: 2000ms = 2 seconds)
Status — the color/type of the toast (Primary, Success, Info, Warning, Danger)
Position — where on the screen the toast appears (8 position options)
Destroy by click — whether clicking the toast dismisses it
Has icon — whether to show a status icon
Prevent duplicates — whether to suppress duplicate toasts
Click Make Toast. A notification appears at the configured position. It auto-dismisses after the configured duration.
Change the Status to Danger and click Make Toast again. The toast appears in red.
Change the Position to Bottom Left and click Make Toast. The toast appears in the bottom-left corner.
Click Random Toast. A toast appears with a randomly selected type and a random quote as the body text.
[Screenshot: Toastr page with a toast notification visible in the top-right corner]
Try It Yourself:
Navigate to Modal Overlays → Toastr.
Set the Status to Success and click Make Toast. Observe the green toast.
Set the Duration to 5000 (5 seconds) and click Make Toast. Observe it stays longer.
Set the Position to Bottom Right and click Make Toast.
Click Random Toast three times in quick succession. Observe multiple toasts stacking.
Set Destroy by click to enabled and click Make Toast. Click the toast before it auto-dismisses.
Knowledge Check:
What is the default duration for a toast notification?
What does the "Destroy by click" option control?
Tips & Gotchas:
Tip: Each toast is numbered sequentially (Toast 2, Toast 3, etc.) so you can distinguish multiple toasts.
Gotcha: Setting Duration to 0 typically makes the toast persist indefinitely until clicked (if "Destroy by click" is enabled).
Lesson 10.4: Using Popovers and Tooltips {#lesson-10-4-popovers-and-tooltips}
What You'll Learn: Popovers and tooltips are lightweight overlays anchored to trigger elements. This lesson teaches you to trigger and interact with them.
Before You Begin: Complete Lesson 10.1. Review FS-6: Using Modal Overlays.
Walkthrough:
Popovers:
Navigate to Modal Overlays → Popover using the sidebar.
The page shows trigger buttons for three popover types.
Click the button that opens the tabs popover. A floating panel appears with two tabs: "What's up?" and "Second Tab".
Click the Second Tab tab within the popover. The content changes.
Click elsewhere on the page to dismiss the popover.
Click the button that opens the form popover. A floating panel appears with a compose form (Recipients, Subject, Message fields).
Type in the Subject field. Note that the form is a demonstration — the Send button does not submit data.
Click elsewhere to dismiss.
Click the button that opens the card popover. A floating card with a warning-status header appears.
Click elsewhere to dismiss.
Tooltips:
Navigate to Modal Overlays → Tooltip using the sidebar.
The page shows elements with tooltips configured.
Hover over trigger elements to see tooltip text appear.
Move your mouse away to dismiss the tooltip.
[Screenshot: Popovers page showing the tabs popover open with two tabs]
Try It Yourself:
Navigate to Modal Overlays → Popover.
Open the tabs popover and click the Second Tab. Read the content.
Dismiss the popover.
Open the form popover and type "Training Test" in the Subject field.
Dismiss the popover.
Navigate to Modal Overlays → Tooltip.
Hover over at least three different trigger elements to read their tooltips.
Knowledge Check:
How do you dismiss a popover?
What is the difference between a popover and a tooltip?
Tips & Gotchas:
Tip: Popovers can contain rich content (tabs, forms, cards). Tooltips are typically brief text labels.
Gotcha: The form inside the popover is a demonstration only. Clicking Send does not submit any data.
Module 11: Exploring UI Features {#module-11-exploring-ui-features}
Learning Objectives
After completing this module, you will be able to:
Browse the icon library and identify icons by name
Identify typographic styles available in the design system
Understand the grid layout system
Identify search field component variants
Estimated Time: 25–30 minutes
Lesson 11.1: Browsing the Icon Library {#lesson-11-1-browsing-icons}
What You'll Learn: The Icons screen displays all available icons from three icon libraries: Eva Icons, Ionicons, and Font Awesome. This lesson teaches you to browse and identify icons.
Before You Begin: Complete Module 1.
Walkthrough:
Navigate to UI Features → Icons using the sidebar.
The screen displays icons organized into sections by library.
Find the Eva Icons section. These are SVG-based icons. The section shows only filled (non-outline) variants.
Find the Ionicons section. These are font-based icons with the ion- prefix.
Find the Font Awesome sections — one for Solid icons and one for Regular icons.
Scroll through each section to browse the available icons.
Each icon is displayed with its name label below it.
[Screenshot: Icons page showing the Eva Icons section with icon names visible]
Try It Yourself:
Navigate to UI Features → Icons.
Find the home icon in the Eva Icons section.
Find the email or mail icon.
Find the settings or gear icon.
Scroll to the Ionicons section and find the social-github icon.
Count approximately how many icons are in the Eva Icons section.
Knowledge Check:
What are the three icon libraries available in the application?
Why are outline variants of Eva Icons not shown on this page?
Tips & Gotchas:
Tip: When requesting an icon from a developer, specify both the icon name and the library (e.g., "the home icon from Eva Icons").
Tip: Eva Icons includes both filled and outline variants. This page shows only filled variants to avoid duplication.
Lesson 11.2: Exploring Typography Styles {#lesson-11-2-exploring-typography}
What You'll Learn: The Typography screen shows all text styles available in the design system, from headings to body text to captions. This lesson teaches you to identify and reference these styles.
Before You Begin: Complete Module 1.
Walkthrough:
Navigate to UI Features → Typography using the sidebar.
The screen displays text examples organized by style category.
Look for heading styles (H1 through H6) — each progressively smaller.
Look for body text styles — standard paragraph text.
Look for caption and label styles — smaller text used for supplementary information.
The typography styles adapt to the active theme. Switch to Dark theme and observe how the text colors change.
Switch back to Light.
Note that the screen also tracks the current viewport breakpoint — the layout may adjust as you resize your browser window.
[Screenshot: Typography page showing heading styles H1 through H6 and body text examples]
Try It Yourself:
Navigate to UI Features → Typography.
Identify the largest heading style (H1) and the smallest (H6).
Switch to the Cosmic theme and observe the text color changes.
Switch back to Light.
Resize your browser window to a narrow width and observe if any layout changes occur.
Knowledge Check:
How many heading levels are shown in the Typography section?
Do typography styles change when you switch themes?
Tips & Gotchas:
Lesson 11.3: Exploring the Grid System {#lesson-11-3-exploring-the-grid}
What You'll Learn: The Grid screen demonstrates the CSS grid layout system used to arrange content in columns. This lesson teaches you to identify grid patterns.
Before You Begin: Complete Module 1.
Walkthrough:
Navigate to UI Features → Grid using the sidebar.
The screen displays examples of the grid layout system.
Look for examples showing different column configurations (e.g., 2-column, 3-column, 4-column layouts).
Observe how columns stack vertically on narrower screens (responsive behavior).
Resize your browser window to see how the grid adapts.
[Screenshot: Grid page showing column layout examples]
Try It Yourself:
Navigate to UI Features → Grid.
Identify a 3-column grid example.
Resize your browser window to a narrow width. Observe how the columns stack.
Widen the window back to full width.
Knowledge Check:
What is the purpose of a grid layout system?
What happens to multi-column grid layouts on narrow screens?
Tips & Gotchas:
Lesson 11.4: Exploring Search Field Styles {#lesson-11-4-search-fields}
What You'll Learn: The Search Fields screen showcases different search input component styles. This lesson teaches you to identify the available variants.
Before You Begin: Complete Module 1.
Walkthrough:
Navigate to UI Features → Animated Searches using the sidebar.
The screen displays various search field component examples.
Scroll through to see all variants — different sizes, styles, and states (with/without icons, with/without buttons).
Try clicking into a search field and typing to observe the focus state and any animations.
[Screenshot: Search Fields page showing multiple search input variants]
Try It Yourself:
Navigate to UI Features → Animated Searches.
Click into each search field variant and type a few characters.
Observe any animations or visual changes on focus.
Identify at least two visually distinct search field styles.
Knowledge Check:
Tips & Gotchas:
Capstone Exercise {#capstone-exercise}
Congratulations on completing the training modules! This capstone exercise combines skills from Modules 1, 2, 3, 4, 9, and 10 into a realistic end-to-end scenario. Complete it without step-by-step instructions — use only the goal and success criteria below.
Scenario: Analytics Review and Data Management Session
You are an e-commerce analyst starting your morning review. Complete all of the following tasks in a single session without navigating away from the application:
Task 1: Theme and Navigation Setup
Switch to the Cosmic theme.
Collapse the sidebar to maximize screen space.
Expand the sidebar again.
Switch back to the Light (Default) theme.
Task 2: E-Commerce Dashboard Review
Navigate to the E-Commerce dashboard.
On the Country Orders map, select Japan. Read the bar chart values for Japan.
Select a second country of your choice. Compare its chart values to Japan's.
On the Traffic Reveal Card, switch to the Month period. Flip the card to see the bar chart. Flip it back.
On the Charts Panel, switch to the Profit tab and select the Year period. Identify the highest bar value visible.
Task 3: IoT Dashboard Check
Navigate to the IoT Dashboard.
Read the current solar energy consumption value.
Navigate to the Temperature screen.
Toggle the Humidity panel OFF, then back ON.
Drag the Temperature gauge to increase the value by at least one step.
Task 4: Data Management
Navigate to Tables → Smart Table.
Add a new record with the following data: First Name = "Sam", Last Name = "Chen", Username = "schen", E-mail = "sam.chen@company.com", Age = "29".
Sort the table by Last Name in ascending order.
Filter the table by typing "Chen" in the Last Name filter. Confirm your new record appears.
Clear the filter.
Delete the record you just added (confirm the deletion).
Task 5: Extra Components and Overlays
Navigate to Extra Components → Progress Bar.
Use the interactive progress bar to reach 75%. Note the color.
Navigate to Extra Components → Chat.
Send the message "gif" and observe the bot's response.
Navigate to Modal Overlays → Dialog.
Open the name prompt dialog and submit the name "Capstone".
Confirm the name appears in the list.
Open the Toastr page and trigger a Success status toast.
Success Criteria:
✅ You switched themes and navigated the sidebar without assistance.
✅ You selected two countries on the Country Orders map and read their chart data.
✅ You flipped the Traffic Reveal Card and changed its period.
✅ You identified the highest bar in the Profit/Year chart.
✅ You toggled the Humidity panel and adjusted the Temperature gauge.
✅ You added, found, and deleted a record in the Smart Table.
✅ You reached 75% on the interactive progress bar and identified its color as blue (Info).
✅ You received a GIF response from the chat bot.
✅ The name "Capstone" appears in the dialog names list.
✅ A Success status toast appeared on the Toastr page.
Glossary {#glossary}
| Term | Definition |
|---|---|
| Active Progress | The percentage fill value (0–100) of a progress bar, representing how complete or full a metric is. |
| Alert | A UI component that displays a contextual feedback message, categorized by status (Success, Info, Warning, Danger, Primary) and optionally dismissible. |
| Alive Flag | An internal mechanism used to automatically stop background data subscriptions when a screen is closed, preventing memory leaks. Not visible to users. |
| Autocomplete | A feature of the Search Map's address input that suggests matching addresses as you type, powered by Google Places. |
| Back Side | The reverse face of a flip card widget (e.g., Profit Card, Earning Card, Traffic Reveal Card). Revealed by clicking the flip button. |
| Breakpoint | A viewport width threshold at which the application's layout changes to accommodate different screen sizes (e.g., tablet vs. desktop). |
| Bubble Map | A geographic map visualization where circles (bubbles) are plotted at country coordinates, with bubble size proportional to a data value (population). |
| Card | A UI container component that groups related content with a border, shadow, and optional header and footer. |
| Chart Legend | A visual key alongside a chart that identifies each data series by color and label. |
| CKEditor | A WYSIWYG rich text editor library used in the Editors section of the application. |
| Collapsed / Expanded | The two states of the Rooms screen's media player. Expanded shows the full player; collapsed hides or minimizes it. |
| Comparison | In the Traffic Reveal Card, the sub-section showing the previous and next period dates and values for context around the current metric. |
| Corporate | One of four available Nebular UI themes, using a professional light color palette with different accent colors than the Default theme. |
| Cosmic | One of four available Nebular UI themes, using a deep purple/dark color palette. |
| Countries Categories | The set of labels forming the axis or grouping dimension of the Country Orders bar chart. |
| Dark | One of four available Nebular UI themes, using a dark background with lighter text. |
| Danger | A status color (typically red) indicating a critical, error, or low-value state. |
| Datepicker | A form control that opens a calendar popup for selecting a date. |
| Default (Light) | The standard Nebular UI theme using a light background with blue accents. Also called "Light". |
| Delta | The change in a metric value between the current period and a comparison period. Shown as a percentage or absolute value with a directional indicator. |
| Dialog | A modal overlay that blocks interaction with the background until dismissed. May contain a message, form, or confirmation prompt. |
| Dismiss | To close a dialog or overlay without submitting data. |
| Down Arrow (delta) | A directional indicator on the Electricity screen showing that consumption or cost decreased (a favorable change). |
| Earning Card | A flip card widget on the E-Commerce dashboard showing earnings data. The front shows a line chart; the back shows a pie chart breakdown. |
| ECharts | Apache ECharts — an open-source JavaScript charting library used for interactive data visualizations throughout the application. |
| Eva Icons | An open-source SVG icon set bundled with the Nebular UI framework. Includes filled and outline variants. |
| Expanded | See Collapsed / Expanded. |
| Feature Layer | In the Country Orders map, a Leaflet layer representing a single country polygon. |
| Flip Card | A UI pattern where a card widget has two faces (front and back) that can be toggled, typically with an animation. |
| Font Awesome | A widely-used icon font library. Available in Solid and Regular style variants in the Icons section. |
| Footer | The persistent bar at the bottom of every page showing attribution and social media links. |
| forkJoin | An internal data-loading pattern that fetches multiple data sources simultaneously before displaying results. Not visible to users but explains why some screens wait for all data before rendering. |
| Front Side | The default visible face of a flip card widget. |
| GeoJSON | A data format for geographic boundaries used by the Country Orders map and Bubble Map. |
| Giant | The largest size variant for UI components (buttons, spinners, etc.) in the Nebular design system. |
| Grid | A CSS-based layout system that arranges content into rows and columns. |
| Header | The persistent horizontal bar at the top of every page containing the sidebar toggle, home link, theme selector, and user controls. |
| Info | A status color (typically teal/cyan) indicating a neutral or informational state. |
| Inline Editing | The ability to edit a table row's data directly within the table, without navigating to a separate form. |
| Ionicons | An open-source icon font library used in the Icons section and the application Footer. |
| kWh | Kilowatt-hour — the unit of electrical energy used to measure consumption on the Electricity screen. |
| Large | A size variant for UI components, larger than Medium but smaller than Giant. |
| Leaflet | An open-source JavaScript library for interactive maps. Used in the Leaflet Maps and Country Orders Map screens. |
| Legend Chart | A component that renders a list of labeled legend items with colored icons, used alongside charts to identify data series. |
| Light (Default) | See Default (Light). |
| LocalDataSource | The in-memory data store used by the Smart Table. Data is stored client-side and not sent to a server. |
| Loop | A media player mode where the current track repeats indefinitely. When Loop is on, Previous/Next buttons do not change the track. |
| maxBoundsViscosity | A map setting that prevents panning outside the world boundaries. Not user-configurable. |
| Medium | A standard size variant for UI components. |
| Modal Overlay | A general category of UI patterns (dialogs, windows, toasts, popovers, tooltips) that render content above the main page. |
| Month Cell | A custom calendar cell component that renders a full month's day grid inside each cell of a parent calendar. Used in the Calendar Kit. |
| Nebular | The Angular UI component library (@nebular/theme) powering the application's visual design system. |
| New Visitors | Users visiting the e-commerce platform for the first time within the measured period. Shown in the Visitors Statistics pie chart. |
| ngx-admin | The open-source Angular admin dashboard template on which this application is based. |
| Not Found (404) | The error page displayed when a user navigates to a URL that does not exist in the application. |
| Outline Variant | A version of an Eva icon rendered with only strokes (no fill), named with the suffix "outline". Not shown on the Icons page. |
| Page Views | The total number of page views recorded, shown as one of the two data series in the Visitors Analytics chart. |
| Period | A time window for aggregating data. Common values: Week, Month, Year. |
| Player | The media playback component on the Rooms screen, showing track info and playback controls. |
| Popover | A small overlay panel anchored to a trigger element, showing richer content than a tooltip. Dismissed by clicking elsewhere. |
| Primary | A status color (typically blue) indicating the default or main action. |
| Progress Bar | A UI element that visually represents a percentage value (0–100) as a filled bar with a status color. |
| Profit Card | A flip card widget on the E-Commerce dashboard showing profit metrics. |
| Range Calendar | A calendar variant that allows selecting a start and end date, highlighting all dates in between. |
| Return Visitors | Users who have previously visited the e-commerce platform. Shown in the Visitors Statistics pie chart. |
| Reveal Card | See Flip Card. |
| Room | A logical media or streaming channel in the Rooms screen, represented by a named area on the floor plan. |
| Room Selector | The SVG floor plan component on the Rooms screen that allows users to click rooms to select them. |
| Round | A button shape variant with fully rounded (pill-shaped) corners. |
| Semi-round | A button shape variant with slightly rounded corners. |
| Shuffle | A media player mode where Previous/Next buttons select a random track instead of sequential navigation. |
| Sidebar | The persistent vertical navigation panel on the left side of every page. |
| Small | A size variant for UI components, smaller than Medium. |
| Smart Table | A data grid component (ng2-smart-table) providing inline CRUD, sorting, and filtering capabilities. |
| Solar Energy Consumption | The metric displayed on the Solar widget, showing current solar energy output as a percentage of total capacity. |
| Spinner | A circular animated loading indicator displayed when the application is processing or loading data. |
| Status | A color-coded classification applied to UI components (Primary, Success, Info, Warning, Danger) to communicate meaning. |
| Success | A status color (typically green) indicating a positive outcome or active state. |
| Theme | A visual color palette applied globally to the application. Four themes are available: Light (Default), Dark, Cosmic, Corporate. |
| Theme Selector | The dropdown control in the Header for switching between the four available themes. |
| TinyMCE | A WYSIWYG rich text editor library used in the Editors section of the application. |
| Tiny | The smallest size variant for UI components. |
| Toast / Toastr | A small, auto-dismissing notification that appears at the edge of the screen. Configured with status, position, duration, and other options. |
| Tooltip | A brief text label that appears when hovering over a trigger element. Disappears when the mouse moves away. |
| Traffic Consumption | The metric visualized on the Traffic widget — likely network bandwidth usage or HTTP request volume. |
| Traffic Reveal Card | A flip card widget on the E-Commerce dashboard showing traffic metrics. The front shows a summary; the back shows a bar chart. |
| Tree Grid | A hierarchical data grid that displays nested data (parent/child rows) with expand/collapse controls. |
| Unique Visitors | Users who visited the e-commerce platform at least once in the measured period, counted without duplicates. Shown in the Visitors Analytics chart. |
| Up Arrow (delta) | A directional indicator showing that a metric increased compared to the previous period. |
| User Activity | The section on the E-Commerce dashboard showing page visit counts and trend indicators over a selectable time period. |
| Visitors Analytics | The section on the E-Commerce dashboard showing Unique Visitors and Page Views as line charts, plus a New vs. Return Visitors pie chart. |
| Warning | A status color (typically orange/yellow) indicating a cautionary or moderate state. |
| Window | A floating, draggable overlay panel that may or may not block background interaction. Closed via the X button in its title bar. |
| WYSIWYG | "What You See Is What You Get" — an editing paradigm where the content displayed during editing matches the final rendered output. Used by CKEditor and TinyMCE. |
| Zoom Level | An integer controlling the scale of a map view. Higher numbers show more detail (street level); lower numbers show broader areas (world view). |
Skills Checklist {#skills-checklist}
Use this checklist to track your progress through the training. Check off each skill as you complete it.
Foundation Skills
Module 1: Getting Oriented
Module 2: Exploring the Dashboard
Module 3: Exploring the E-Commerce Analytics Dashboard
Module 4: Working with Tables
Module 5: Working with Forms
Module 6: Working with Maps
Module 7: Working with Charts
Module 8: Using Editors
Module 9: Exploring Extra Components
Module 10: Using Modal Overlays
Module 11: Exploring UI Features
Capstone Exercise
Appendix A: Source Traceability {#appendix-a-source-traceability}
This appendix is for document maintainers, not end users.
| Module / Lesson | Source Screen(s) | Route(s) |
|---|---|---|
| FS-1: Navigating the Application Shell | Header, Footer, Pages | /@theme/components/header, /@theme/components/footer, /pages |
| FS-2: Working with Data Tables | Smart Table, Tree Grid | /tables/smart-table, /tables/tree-grid |
| FS-3: Understanding Status Indicators | Dashboard, Buttons, Status Card | /dashboard, /forms/buttons, /dashboard/status-card |
| FS-4: Using Date and Period Selectors | Traffic, Electricity, Datepicker | /dashboard/traffic, /dashboard/electricity, /forms/datepicker |
| FS-5: Working with Interactive Charts | E Commerce, Charts Panel, Echarts | /e-commerce, /e-commerce/charts-panel, /charts/echarts |
| FS-6: Using Modal Overlays | Dialog, Window, Toastr, Popovers, Tooltip | /modal-overlays/dialog, /modal-overlays/window, /modal-overlays/toastr, /modal-overlays/popovers, /modal-overlays/tooltip |
| FS-7: Using Progress Bars | Progress Bar, Interactive Progress Bar, Progress Section | /extra-components/progress-bar, /extra-components/progress-bar/interactive-progress-bar, /e-commerce/progress-section |
| FS-8: Working with Spinners | Spinner, Spinner In Buttons, Spinner In Tabs, Spinner Color, Spinner Sizes | /extra-components/spinner, /extra-components/spinner/spinner-in-buttons, /extra-components/spinner/spinner-in-tabs, /extra-components/spinner/spinner-color, /extra-components/spinner/spinner-sizes |
| Lesson 1.1: Understanding the Application Layout | Header, Footer, Pages | /@theme/components/header, /@theme/components/footer, /pages |
| Lesson 1.2: Navigating with the Sidebar Menu | Pages | /pages |
| Lesson 1.3: Switching Themes | Header | /@theme/components/header |
| Lesson 1.4: Using the Header Controls | Header, Search Input | /@theme/components/header, /@theme/components/search-input |
| Lesson 2.1: Reading the IoT Dashboard Overview | Dashboard, Status Card, Solar | /dashboard, /dashboard/status-card, /dashboard/solar |
| Lesson 2.2: Monitoring Electricity Consumption | Electricity, Electricity Chart | /dashboard/electricity, /dashboard/electricity/electricity-chart |
| Lesson 2.3: Controlling Rooms and Media Playback | Rooms, Room Selector, Player | /dashboard/rooms, /dashboard/rooms/room-selector, /dashboard/rooms/player |
| Lesson 2.4: Monitoring Traffic Consumption | Traffic | /dashboard/traffic |
| Lesson 2.5: Viewing Security Cameras | Security Cameras | /dashboard/security-cameras |
| Lesson 2.6: Reading Solar and Temperature Data | Solar, Temperature, Temperature Dragger | /dashboard/solar, /dashboard/temperature, /dashboard/temperature/temperature-dragger |
| Lesson 3.1: Reading the E-Commerce Overview | E Commerce | /e-commerce |
| Lesson 3.2: Analyzing Country Orders on the Map | Country Orders, Map (Country Orders), Chart (Country Orders) | /e-commerce/country-orders, /e-commerce/country-orders/map, /e-commerce/country-orders/chart |
| Lesson 3.3: Reading Traffic and Earning Cards | Traffic Reveal Card, Front Side (Traffic), Back Side (Traffic), Traffic Cards Header, Traffic Bar, Earning Card, Front Side (Earning), Back Side (Earning) | /e-commerce/traffic-reveal-card, /e-commerce/traffic-reveal-card/front-side, /e-commerce/traffic-reveal-card/back-side, /e-commerce/traffic-reveal-card/traffic-cards-header, /e-commerce/traffic-reveal-card/front-side/traffic-bar, /e-commerce/earning-card, /e-commerce/earning-card/front-side, /e-commerce/earning-card/back-side |
| Lesson 3.4: Analyzing Visitor Analytics | Visitors Analytics, Visitors Analytics Chart, Visitors Statistics | /e-commerce/visitors-analytics, /e-commerce/visitors-analytics/visitors-analytics-chart, /e-commerce/visitors-analytics/visitors-statistics |
| Lesson 3.5: Reading the Charts Panel | Charts Panel, Charts (E-Commerce), Chart Panel Header, Chart Panel Summary | /e-commerce/charts-panel, /e-commerce/charts-panel/charts, /e-commerce/charts-panel/chart-panel-header, /e-commerce/charts-panel/chart-panel-summary |
| Lesson 3.6: Reading Progress and User Activity | Progress Section, User Activity, Legend Chart | /e-commerce/progress-section, /e-commerce/user-activity, /e-commerce/legend-chart |
| Lesson 4.1: Smart Table — Viewing and Filtering | Smart Table, Tables | /tables/smart-table, /tables |
| Lesson 4.2: Adding, Editing, Deleting in Smart Table | Smart Table | /tables/smart-table |
| Lesson 4.3: Navigating the Tree Grid | Tree Grid | /tables/tree-grid |
| Lesson 5.1: Exploring Form Layouts | Form Layouts, Forms | /forms/form-layouts, /forms |
| Lesson 5.2: Using Form Input Components | Form Inputs (Forms), Form Inputs (Extra Components), Nebular Select | /forms/form-inputs, /extra-components/form-inputs, /extra-components/form-inputs/nebular-select |
| Lesson 5.3: Using the Datepicker | Datepicker | /forms/datepicker |
| Lesson 5.4: Using Buttons | Buttons | /forms/buttons |
| Lesson 6.1: Exploring the Leaflet Map | Leaflet, Maps | /maps/leaflet, /maps |
| Lesson 6.2: Exploring the Bubble Map | Bubble | /maps/bubble |
| Lesson 6.3: Using the Search Map | Search Map, Map (Search Map), Search (Maps) | /maps/search-map, /maps/search-map/map, /maps/search-map/search |
| Lesson 6.4: Exploring Google Maps | Gmaps | /maps/gmaps |
| Lesson 7.1: Exploring ECharts Visualizations | Echarts, Charts (Shell) | /charts/echarts, /charts |
| Lesson 7.2: Exploring Chart.js Visualizations | Chartjs | /charts/chartjs |
| Lesson 7.3: Exploring D3 Visualizations | D3 | /charts/d3 |
| Lesson 8.1: Using the CKEditor | Ckeditor, Editors | /editors/ckeditor, /editors |
| Lesson 8.2: Using the TinyMCE | Tiny Mce (Editors), Tiny Mce (Theme Component) | /editors/tiny-mce, /@theme/components/tiny-mce |
| Lesson 9.1: Using the Calendar and Calendar Kit | Calendar, Day Cell, Calendar Kit, Month Cell | /extra-components/calendar, /extra-components/calendar/day-cell, /extra-components/calendar-kit, /extra-components/calendar-kit/month-cell |
| Lesson 9.2: Using the Chat Interface | Chat | /extra-components/chat |
| Lesson 9.3: Exploring Alert Components | Alert | /extra-components/alert |
| Lesson 9.4: Exploring Spinner Variants | Spinner, Spinner In Buttons, Spinner In Tabs, Spinner Color, Spinner Sizes | /extra-components/spinner, /extra-components/spinner/spinner-in-buttons, /extra-components/spinner/spinner-in-tabs, /extra-components/spinner/spinner-color, /extra-components/spinner/spinner-sizes |
| Lesson 9.5: Interactive Progress Bar | Interactive Progress Bar, Progress Bar | /extra-components/progress-bar/interactive-progress-bar, /extra-components/progress-bar |
| Lesson 10.1: Working with Dialogs | Dialog, Dialog Name Prompt, Showcase Dialog, Modal Overlays | /modal-overlays/dialog, /modal-overlays/dialog/dialog-name-prompt, /modal-overlays/dialog/showcase-dialog, /modal-overlays |
| Lesson 10.2: Working with Windows | Window, Window Form | /modal-overlays/window, /modal-overlays/window/window-form |
| Lesson 10.3: Using Toastr Notifications | Toastr | /modal-overlays/toastr |
| Lesson 10.4: Using Popovers and Tooltips | Popovers, Tooltip | /modal-overlays/popovers, /modal-overlays/tooltip |
| Lesson 11.1: Browsing the Icon Library | Icons, Ui Features | /ui-features/icons, /ui-features |
| Lesson 11.2: Exploring Typography Styles | Typography | /ui-features/typography |
| Lesson 11.3: Exploring the Grid System | Grid | /ui-features/grid |
| Lesson 11.4: Exploring Search Field Styles | Search Fields | /ui-features/search-fields |
| Capstone Exercise | Dashboard, E Commerce, Country Orders, Traffic Reveal Card, Charts Panel, Temperature, Smart Table, Progress Bar, Chat, Dialog, Toastr | Multiple routes — see individual lessons |
Additional screens documented but not mapped to a specific lesson (shell/container components with no direct user-facing content):
Appendix B: Documentation Coverage {#appendix-b-documentation-coverage}
This appendix is for document maintainers. It identifies gaps, inferences, and verification requirements before distribution.
Screens Covered
All 100 screens listed in the assessment scope are covered in this document. Shell/container components (those whose only content is a <router-outlet>) are documented as routing infrastructure and do not have dedicated lessons, as they present no user-facing UI of their own.
Partially Documented Workflows
The following workflows are partially documented due to missing template files or child component source files:
| Workflow | Gap | Steps Affected |
|---|---|---|
| Rooms / Media Player | The ngx-room-selector and ngx-player child component templates were not provided. Player control layout and exact button labels are inferred from the component class. | Lesson 2.3, Steps 6–10 |
| Security Cameras | The template file was not provided. The "back to grid" control label and exact layout are inferred. | Lesson 2.5, Steps 4–6 |
| Temperature / Humidity Controls | The template was not provided. The ON/OFF toggle and mode selector labels are inferred from component state variables. | Lesson 2.6, Steps 6–8 |
| E-Commerce Dashboard Layout | The e-commerce.component.html template was not provided. Widget arrangement and exact labels are inferred from child component documentation. | Lesson 3.1 |
| Traffic Reveal Card flip button | The flip trigger element is not defined in the provided TypeScript source. Its label and location are inferred from the toggleView() method. | Lesson 3.3, Steps 3, 5 |
| Earning Card flip button | Same as above — inferred from toggleView(). | Lesson 3.3, Steps 7–8 |
| Profit Card flip button | Same as above. | Lessons 3.3 |
| Charts Panel tab labels | The tab component labels ("Orders", "Profit") are inferred from the changeTab() method's tabTitle check. | Lesson 3.5, Steps 5–6 |
| User Activity period selector | The exact UI element type (tabs, buttons, dropdown) is inferred from the types array and getUserActivity() method. | Lesson 3.6, Steps 3–4 |
| Progress Section layout | The template was not provided. The layout is inferred from the ProgressInfo interface. | Lesson 3.6, Steps 1–3 |
| Form Layouts content | The template was not provided. Layout pattern names are inferred from common form design conventions. | Lesson 5.1 |
| Buttons page content | The template was not provided. Button variant names are sourced from the statuses, shapes, and sizes arrays in the component class. | Lesson 5.4 |
| Alert page content | The template was not provided. Alert variants are inferred from the component's purpose and Nebular conventions. | Lesson 9.3 |
| Popovers trigger elements | The exact trigger button labels are not in the provided source. Labels are inferred from the tabsComponent, cardComponent, formComponent property names. | Lesson 10.4, Steps 3–9 |
| Window overlay trigger button labels | Inferred from the openWindow(), openWindowForm(), openWindowWithoutBackdrop() method names. | Lesson 10.2, Steps 3, 7, 12 |
| Dialog trigger button labels | Inferred from the open(), open2(), open3(), openWithoutBackdrop() method names. | Lesson 10.1, Steps 3, 6, 9, 16 |
| Toastr configuration controls | The exact form control types (dropdowns, checkboxes, sliders) are inferred from the component's state properties. | Lesson 10.3, Step 3 |
| Search Map address input location | The exact position of the search input relative to the map is inferred from the component's container/presenter pattern. | Lesson 6.3, Steps 3–5 |
| Calendar Kit full-year layout | The exact visual arrangement of month cells is inferred from the CalendarKitMonthCellComponent documentation. | Lesson 9.1, Steps (Calendar Kit section) |
| Kitten screen | This screen is documented as a decorative placeholder page. No lesson was created as it has no user-facing functionality. | N/A |
| Weather screen | The component class is empty with no template provided. No lesson was created. | N/A |
| Contacts screen | The template was not provided and no interactive elements are defined in the class. No lesson was created. | N/A |
| Slide Out screen | The template was not provided. The toggleStatistics() method is documented but the trigger element label is unknown. | N/A (not included in a lesson) |
Inferred Information Requiring Verification
The following information was inferred from technology conventions, naming patterns, or component class logic rather than from explicit template documentation. Each item should be verified against the live application before distributing this manual.
| Item | Inference Basis | Recommendation |
|---|---|---|
| Sidebar menu item labels (e.g., "E-commerce", "IoT Dashboard", "Animated Searches") | Sourced from pages-menu.ts MENU_ITEMS array — these are the actual configured labels | Verified from source — no action needed |
| Traffic Reveal Card flip button location and label | Inferred from toggleView() method existence | Verify button label and location in the live application |
| Earning Card flip button location and label | Same as above | Verify in live application |
| Profit Card flip button location and label | Same as above | Verify in live application |
| Security Cameras "back to grid" control | Inferred from isSingleView boolean toggle | Verify the exact label and location of the return control |
| Temperature ON/OFF toggle label | Inferred from temperatureOff / humidityOff boolean properties | Verify exact toggle label in live application |
| Temperature mode selector labels ("Cool", "Heat") | Inferred from temperatureMode = 'cool' and humidityMode = 'heat' defaults | Verify exact mode labels in live application |
| Charts Panel tab labels ("Orders", "Profit") | Inferred from changeTab() method checking tabTitle === 'Profit' | Verify exact tab labels in live application |
| User Activity period selector UI type | Inferred from types array and getUserActivity() method | Verify whether it is tabs, buttons, or a dropdown |
| Toastr configuration control types | Inferred from component state property types | Verify exact control types (checkboxes, dropdowns, sliders) |
| Dialog trigger button labels | Inferred from method names | Verify exact button labels in live application |
| Window trigger button labels | Inferred from method names | Verify exact button labels in live application |
| Popover trigger button labels | Inferred from property names | Verify exact button labels in live application |
| Chat "Send" button behavior | Inferred from nb-chat-form Nebular component conventions | Verify that Enter key and Send button both submit messages |
| Progress Bar interactive section location | Inferred from route /extra-components/progress-bar/interactive-progress-bar | Verify whether it is a sub-page or a section on the main Progress Bar page |
| Spinner sub-items in sidebar | Inferred from route structure (/extra-components/spinner/spinner-in-buttons, etc.) | Verify whether these appear as sidebar sub-items or as sections on one page |
| Google Maps API key configuration | Inferred from component documentation noting CDN dependency | Verify that the Google Maps API key is configured in the deployment environment |
| CKEditor CDN availability | Component loads from //cdn.ckeditor.com/4.6.2/full-all/ | Verify CDN is accessible in the deployment environment |
| TinyMCE skin assets | Component loads from assets/skins/lightgray | Verify skin assets are present in the deployment |
| Search Map Google Places API | Component uses google.maps.places.Autocomplete | Verify Google Places API is configured and accessible |
Recommendations Before Distribution
Priority 1 — Verify before any distribution:
WHO: The development team lead WHAT: Confirm the exact labels of the flip/toggle buttons on the Traffic Reveal Card, Earning Card, and Profit Card WHERE: Insert verified labels in Lesson 3.3, Steps 3 and 7
WHO: The development team lead WHAT: Confirm the exact label and location of the "return to grid" control on the Security Cameras screen WHERE: Insert verified information in Lesson 2.5, Step 4
WHO: The development team lead WHAT: Confirm the exact labels of the Temperature ON/OFF toggle and mode selector WHERE: Insert verified labels in Lesson 2.6, Steps 6–8
WHO: The system administrator or deployment team WHAT: Confirm that Google Maps API, Google Places API, CKEditor CDN, and TinyMCE skin assets are all accessible in the target deployment environment WHERE: Insert a note in Prerequisites if any of these are unavailable
Priority 2 — Verify before wide distribution:
WHO: The development team lead WHAT: Confirm whether Spinner sub-pages (Spinner In Buttons, Spinner In Tabs, Spinner Color, Spinner Sizes) appear as sidebar sub-items or as sections on a single Spinner page WHERE: Update Lesson 9.4 navigation steps accordingly
WHO: The development team lead WHAT: Confirm whether the Interactive Progress Bar is a separate sub-page or a section on the main Progress Bar page WHERE: Update Lesson 9.5 navigation step 1 accordingly
WHO: The product owner WHAT: Confirm the intended purpose of the Kitten, Weather, and Contacts screens — are they placeholder pages or planned features? WHERE: If they are planned features, add lessons for them in Module 2
WHO: The development team lead WHAT: Confirm the exact tab labels in the Charts Panel ("Orders" and "Profit") and the exact period selector UI type on the User Activity screen WHERE: Update Lesson 3.5 and Lesson 3.6 accordingly