WireBootstrap
HomeDocsBuySupport
  • Introduction
  • Overview
  • Getting Started
  • Installation
  • Connecting to Data
    • Data Connectors
      • SQL Data
      • Custom Web Services
      • Local Data
      • Other Sources
    • Data Sources
    • Discovery
    • Building a Data Connector
  • Working With Queries
    • Select Queries
      • Query Extensions
    • Stored Procedures
    • Custom Web Services
    • Executing Queries
    • ORM
  • Writing Data
  • Updates
  • Deletes
  • Working with DataTables
    • Introduction
    • Filter and Sort
    • Select and Calculate
    • Joins
    • Rows
    • Columns
  • Working with DataSets
  • Introduction
  • Executing Queries
  • Transforms
  • Writing Data
  • Data Events
  • Working with Components
    • Introduction
    • Encapsulation
    • Configuration
      • Data
      • Events
      • Observables
      • Validation
      • Display
      • Vendor
      • Custom
    • Component
    • Web Frameworks
    • Building a Component
      • Hello World
      • Data Events
      • DataSets
  • Working With Data Events
    • Introduction
    • Event Basics
    • Event Data
    • Event Actions
  • Working with Themes
    • Introduction
    • Sample Data
    • Libraries
    • Pages
    • Building a Theme Project
  • Utilities
    • Formatting
    • Expressions
    • Collections
    • Spinners
    • Copy and Merge
    • Validation
    • Loading Assets
    • Service Calls
    • Download Files
    • Browser Location
    • Types
    • Promise
  • Reference
    • wire
      • wire.Collection
      • wire.download
      • wire.validate
    • wire.data
      • wire.data.DataEvent
      • wire.data.DataModel
      • wire.data.DataPromise
      • wire.data.DataSet
      • wire.data.DataSource
      • wire.data.DataTable
        • Columns
        • Rows
      • wire.data.StoredProcedure
      • wire.data.TableQuery
    • wire.ui
      • wire.ui.Component
      • wire.ui.validate
Powered by GitBook
On this page
  • Examples
  • Scaffolding
  • Cards/Panels
  • Project
  • Theme Assets
  • Code
  • Web Frameworks
  • Components
  • Questions

Was this helpful?

  1. Working with Themes

Building a Theme Project

The first question that needs to be answered when using WireBootstrap with a new Bootstrap themes is how best to integrate the two. While every theme is different in some way including how assets are organized or what is included in each, there are some best practices and things to consider that have worked well in the past. These are shared here on this page.

Examples

Existing WireBootstrap theme projects are a great reference for how to go about integrating with a new theme. The WireBootstrap for Gentelella project can be download for free. This project is a TypeScript project but a theme project can also be written in plain JavaScript and include integrations with other frameworks.

Scaffolding

Start development by creating an empty page that will be used as a template for all pages in the theme project. This is usually a page with references to web frameworks such as Bootstrap and the core WireBootstrap library with an empty bodytag.

Below is an excerpt from the WireBootstrap for Gentelella empty-page.html template page.

<html>

<head>
    <!-- Bootstrap -->
    <link href="../../gentelella/vendors/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet">
    
    <!-- Font Awesome -->
    <link href="../../gentelella/vendors/font-awesome/css/font-awesome.min.css" rel="stylesheet">
    
    <!-- Gentelella Theme -->
    <link href="../../gentelella/build/css/custom.min.css" rel="stylesheet">
    
    <!-- WireBootstrap -->
    <link href="../../lib/wire/wire.css" rel="stylesheet">
</head>

<body>

    !-- ********************************************************************************** -->
     YOUR CONTENT HERE
    !-- ********************************************************************************** -->
        
    <!-- jQuery/Bootstrap -->
    <script src="../../gentelella/vendors/jquery/dist/jquery.min.js" type="text/javascript"></script>
    <script src="../../gentelella/vendors/bootstrap/dist/js/bootstrap.bundle.min.js" type="text/javascript"></script>
        
    <!-- WireBootstrap -->
    <script src="../../lib/gentelella/custom-wire.js" type="text/javascript"></script>
    <script src="../../lib/wire/wire.js"></script>
    
</body>

</html>

Cards/Panels

Cards or panels are a staple UI component that provide the boxed borders for most content inside of an application developed using a theme. Its a good idea to also create an empty card template for this purpose.

Below is an excerpt from the WireBootstrap for Gentelella empty-panel.html card template.

    <!-- Begin Panel -->
    <div class="x_panel">
        
        <!-- Title -->
        <div class="x_title">
  
          <!-- Title Text -->
          <h2>Title Text <small>title description</small></h2>               
  
          <div class="clearfix"></div>
        </div>
        <!-- End Title -->
  
        <!-- Begin Content -->
        <div class="x_content">

          <!-- ********************************************************************************** -->
          YOUR CONTENT HERE
          <!-- ********************************************************************************** -->
          
        </div>
        <!-- End Content -->
  
      </div>
      <!-- End Panel -->

Project

Concerns related to the theme project center mainly on the project assets relative to the theme assets. This includes both application code and references to theme files such as CSS and JavaScript libraries.

Theme Assets

Deploying assets is a little easier if the theme is open source and the theme files can be distributed with the WireBootstrap theme project. If not, the project will have to be unzipped into an existing directory containing the theme. WireBootstrap for Gentelella contains the theme assets in the download while a theme such as WireBootstrap for Color Admin needs to be unzipped into a directory containing the purchased/licensed theme.

Code

The application code for theme projects are usually written in TypeScript or plain JavaScript. There may also be server-side components written in PHP, C# or other languages needed but these would most likely be specialty features that exist outside of the theme.

Web Frameworks

Components

Questions

PreviousPagesNextFormatting

Last updated 3 years ago

Was this helpful?

Application code as JavaScript inside HTML pages is simple. Quick examples of features are great for this. However, if the goal of the project is to create a starting point for a production application, it should probably be setup up with a more modern layout with concern separation and class-based code.

A theme project should also provide a way to serve pages. Consider the light-weigh npm package for this.

Themes often offer versions for different frameworks including , , and . Before creating a dedicated theme project for a specific web framework, visit the page to see if there is already a technology integration available for the web framework.

Most Bootstrap theme components are created by third-parties. Components such as and are included with most themes and are already available as .

However, some of the HTML components in a theme are specific to the theme. It's easy to create re-usable data-aware components from HTML and CSS in the theme in WireBootstrap. Read for details.

If you still have questions or need help with theme integration, email us at . We are happy to help.

module
http-server
Angular
React
Vue
WireBootstrap Integrations
DataTables
Select2
WireBootstrap components
Building a Component
info@wirebootstrap.com