Installation

Basic Installation

Steps to be followed for getting started with the template:

There are followings basics packages you should install before going further.

  1. Open terminal or CMD and go the root directory of the template
  2. Run in terminal or CMD: npm install
  3. To Run project on Local environment run: npm run serve
  4. Then visit: http://localhost:8080

Development to production

Here is the steps of production:

  1. If you can deploy in subdirectory first you can copy and rename the following file .env.example to .env and set the production path by VUE_BASE_URL="" this key
  2. To Deploy project on server create production build by running: npm run build
  3. This will generate /dist folder in project root directory you'll have to upload these file using a FTP on your server
  4. Now that you have followed these steps your basic installation is complete and ready to flaunt your site to the world.

Folder Structure

Here is the general structure of the template:


code-vue
| - public
    | - img
        - favicon.ico
        - index.html

| - src
    | - assets
        | - css
        | - fonts
        | - images
        | - js
        | - pdf
        | - scss

    | - components
        | - core

    | - config

    | - layouts
        | - AuthLayouts
            - AuthLayouts1.vue
        | - Components
            - Customizer.vue
            - LayoutFixRightSide.vue
        - BlankLayout.vue
        - VerticleLayout.vue
    | - locales
    | - plugins
        - bootstrap-vue.js
    | - router
    | - services
    | - StaticData
        | - json
    | - store
    | - views
        - App.vue
        - main.js
        - registerServiceWorker.js
    - .browserslistrc
    - .editorconfig
    - .eslintrc.js
    - .eslintignore.js
    - .gitignore
    - babel.config.js
    - .env.example
    - package.json
    - README.md
    - vue.config.js
                                

Core custom components structure

Here is the general structure of the core custom components:


<!-- Core components -->

| - components
    | - core
        | - breadcrumbs
            - BreadCrumb.vue
        | - cards
            - iq-card.vue
        | - chart
            - AmChart.vue
            - ApexChart.vue
            - HighChart.vue
            - MorrisChart.vue
        | - footer
            - MiniFooter.vue
        | - loader
            - Loader.vue
        | - menus
            - CollapseMenu.vue
            - HoverMenu.vue
        | - navbars
            - DefaultNavBar.vue
            - MenuNavBar.vue
        | - rightsidebar
            - RightSideBar.vue
        | - search
            - GlobalSearch.vue
        | - sidebars
            - SideBar.vue
            - SmallSideBar.vue
        | - slider
            - Slick.vue
        | - tab
            - tab-content.vue
            - tab-content-item.vue
            - tab-nav.vue
            - tab-nav-item.vue
       | - timeline
            - TimeLine.vue
                                

For Favicon icon

Set favicon for replace favicon.ico and restart server

For Logo

Use the header style which is in components -> Booksto -> Partials -> Header. Replace "logo.png" with your own logo image URL.


| - code-vue
    | - src
        | - layouts
            - VerticleLayout.vue

<Sidebar :items="verticalMenu" :logo="logo" :onlyLogo="onlyLogo" :onlyLogoText="onlyLogoText" @toggle="sidebarMini" :toggleButton="toggleSideIcon" :sidebarGroupTitle="sidebarGroupTitle" />

<script>
  import SideBarItems from '../StaticData/json/SideBar'
  import WhiteLogo from '../assets/images/logo.png'
    data () {
        return {
          verticalMenu: SideBarItems,
          userProfile: profile,
          logo: WhiteLogo
        }
      }
</script>

Layout Configure

Here is the layout and routing configure


| - layouts
    | - AuthLayouts
        - AuthLayouts1.vue
    | - Components
        - Customizer.vue
        - LayoutFixRightSide.vue
    - BlankLayout.vue
    - VerticleLayout.vue
| - router
    | - index.js
                                

Router url configure


// Set Layout in this route
const routes = [
    {
    path: '/pages',
    name: 'pages',
    component: Default,
    children: pagesChildRoutes('default')
    }
]

// Set View in this function
const pagesChildRoutes = (prop) => [
    {
    path: 'maintenance',
    name: prop + '.maintenance',
    component: Maintenance
    }
]

                                

Sidebar & Header

Here is the sidebar object example just you can copy and past and rename then title and icon.


[
    {
    "title": "Shop",
    "name": "sidebar.shop",
    "is_heading": false,
    "is_active": false,
    "link": "",
    "class_name": "",
    "is_icon_class": true,
    "icon": "las la-home iq-arrow-left",
    "children": [
        {
            "title": "Home Page",
            "name": "sidebar.homepage",
            "is_active": false,
            "link": {
            "name": "shop.home"
            },
            "class_name": "",
            "is_icon_class": true,
            "icon": "las la-house-damage"
        }
    ]
]
                                

Sidebar based on json and check the file in spacific path ./src/StaticData/json/SideBar.json and import or add your array to sidebar key.


<Sidebar :items="verticalMenu" :logo="logo" :onlyLogo="onlyLogo" :onlyLogoText="onlyLogoText" @toggle="sidebarMini" :toggleButton="toggleSideIcon" :sidebarGroupTitle="sidebarGroupTitle" />
<!-- TOP Nav Bar -->
<DefaultNavBar title="Dashboard" :homeURL="{ name: 'shop.home' }" :sidebarGroupTitle="sidebarGroupTitle" @toggle="sidebarMini" :logo="logo">
    <template slot="responsiveRight">
    add your items
    </template>
</DefaultNavBar>
                                        

import SideBarItems from '../StaticData/json/SideBar'

data () {
    return {
       verticalMenu: SideBarItems
    }
}
                                        

Custom Components

Custom Card

We have build different types of custom card components. And these are the some prop and slots


<iq-card body-class="border text-center" class="text-white">
 <template v-slot:headerTitle>
      <h4>Card Title</h4>
  </template>
  <template v-slot:body>
    <p >lorium ipsum</b-button>
  </template>
  <template v-slot:footer>
    <b-button variant="danger">Button</b-button>
  </template>
</iq-card>
                                    

Prop

Prop is set the attriblute for the component.

Name Detail
headerClass Class added in card header div
bodyClass Class added in card body div
footerClass Class added in card footer div

Slots

Slot is set of the content between opening and closing tag.

Name Detail
headerTitle For card top left icon or title
headerAction For card top right icon or title
body For card body to add with padding
default For without padding added content

Am Chart


    <AmChart :element="item.type" :type="item.type" :option="item.bodyData"/>
                                        
Prop

Prop is set the attriblute for the component.

Name Type Detail
element String element is identify the unique div element like id
type String Difftrent type of chart set by type
option Object Chart data and setting by option object
Types

Types of Am Chart

  1. line
  2. column
  3. mixes-column
  4. stacked
  5. bar-line
  6. data-based
  7. line-zoom-h
  8. line-zoom-v
  9. radar
  10. polar-scatter
  11. polar
  12. pie

Apex Chart

Slot is set of the content between opening and closing tag.

 
    <ApexChart element="chart" :chartOption="option"/>
                                                
Prop

Prop is set the attriblute for the component.

Name Type Detail
element String element is identify the unique div element like id
chartOption Object Set Chart option

Morris Chart

 
    <MorrisChart :element="item.type+index" :type="item.type" :xKeys="item.xKeys" :data="item.bodyData" :colors="item.colors" :yKeys="item.yKeys" :labels="item.labels"/>
                                                
Prop

Prop is set the attriblute for the component.

Name Type Detail
element String element is identify the unique div element like id
data Object Set Chart data
xKeys Array X axis keys
yKeys Array Y Axis keys
labels Array -
colors Array -

High chart

Slot is set of the content between opening and closing tag.

 
    <HighChart :ref="item.type" :option="item.bodyData"/>
                                                
Prop

Prop is set the attriblute for the component.

Name Type Detail
ref String element is identify the unique div element like id
option Object Set Chart option

Tab

We have build custom tab components. And these are the some prop and slots

 
<tab-nav :tabs="true" id="myTab-1">
  <tab-nav-items :active="true" id="home-tab" ariaControls="home" role="tab" :ariaSelected="true" title="Home" />
  <tab-nav-items :active="false" id="profile-tab" ariaControls="profile" role="tab" :ariaSelected="false" title="Profile" />
  <tab-nav-items :active="false" id="contact-tab" ariaControls="contact" role="tab" :ariaSelected="false" title="Contact" />
</tab-nav>
<tab-content id="myTabContent">
  <tab-content-item :active="true" id="home" aria-labelled-by="home-tab">
    <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>
  </tab-content-item>
  <tab-content-item :active="false" id="profile" aria-labelled-by="profile-tab">
    <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>
  </tab-content-item>
  <tab-content-item :active="false" id="contact" aria-labelled-by="contact-tab">
    <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>
  </tab-content-item>
</tab-content>
                                            

Tab Nav

Prop

Prop is set the attriblute for the component.

Name Type Detail
id String -
pills Boolean pills is style of nav tab and pass the boolean value
tabs Boolean tabs is style of nav tab and pass the boolean value
vertical Boolean vertical is list style of nav tab and pass the boolean value
align String align nav tabs right, left and center
Events

Events is any functionality want any change of tab

Name Detail
change on tab change call this event

Tab Item

Prop

Prop is set the attriblute for the component.

Name Type Detail
id String identify the tab content for navigate
active Boolean CSS class (or classes) to apply to the currently active tab
ariaControls String The aria-controls attribute creates a cause and effect relationship
ariaSelected Boolean This attribute is used with single-selection and multiple-selection widgets
dataToggle String The toggle tells Bootstrap what to do and the target tells
href String Set navigation link
title String Pass Title as a string or set html content via slot
liClass String -
Slots

Slot is set of the content between opening and closing tag.

Name Detail
title For tab nav item content any html content or image by using slot

Tab Content

Prop

Prop is set the attriblute for the component.

Name Type Detail
id String id for identify the tab content to nav tab

Tab Content Item

Prop

Prop is set the attriblute for the component.

Name Type Detail
id String identify the tab content for navigate
active Boolean CSS class (or classes) to apply to the currently active tab
ariaLabelledBy String Identifies the element (or elements) that labels the current element.

TimeLine

We have build timeline components. And these are the some prop


timelineItems: [
    {
      color: 'danger',
      title: 'Dev Meetup',
      right: '20 November 2019',
      description: 'Bonbon macaroon jelly <a href="">beans gummi</a> bears jelly lollipop apple',
      child: {
        type: 'img',
        items: [
          require('../../assets/images/user/03.jpg'),
          require('../../assets/images/user/02.jpg'),
          require('../../assets/images/user/07.jpg'),
          require('../../assets/images/user/08.jpg'),
          require('../../assets/images/user/09.jpg'),
          require('../../assets/images/user/10.jpg')
        ]
      }
    }
  ]

<TimeLine :items="timelineItems" />
                                            

Prop

Prop is set the attriblute for the component.

Name Type Detail
items Array Pass Array of Object to create time line

Silder

We have build timeline components. And these are the some prop and slots


<Slick>
  <div>
    <a href="javascript:void(0)" class="iq-booking-date">
      <div class="iq-booking-dot"></div>
        <h3>Slider Item</h3>
    </a>
  </div>
</Slick>
                                            

Prop

Prop is set the attriblute for the component.

Name Type Detail
sliderOption Object this prop has pass the slider setting object

Slots

Slot is set of the content between opening and closing tag.

Name Detail
default Pass slider item in default slot

Bootstrap Components

Bootstrap has wonderfull documentation on the following components::

Vue Bootstrap for extra component https://bootstrap-vue.org/docs/components

Browser Support

Supports all major Browsers like Google Chrome, Mozilla Firefox, Safari, Opera, Internet Explorer 9 and above.

Change Log

Version 1.0

- Initial Release

Source & Credits

All images and videos are for preview purposes only and are not included in the download files. Images are of copyrights under Creative Commons CC0.


Images



Plugins



CSS & Fonts