Thank you for purchasing ORB. We hope that the development of your new project based on our theme will bring you joy and happiness. We are also hope that you appreciate our work and will continue to purchase our products in future. Please do not forget to rate us in downloads section on Themeforest
This template — is the original author's vision of how the admin dashboard should look like. Nice combination of colors, unobtrusive transitions, responsive design, code culture and unique features — that is all our ORB. Please note that ORB made for professionals who engage in creation CRM and CMS back-ends and require programming skills and deep (medium) knowledge in JS, CSS3, HTML and PHP. If you a novice in web-development ORB could be great starting point to code diggin and copy-paste style studying.
This is a ORB page layout. Logically page bodyconsist from two horizontal blocks - top navigation and main content wrapper. Main wrapper consist from three vertical blocks – left main site navigation, central content and userbar, that is hidden by default, so called off-canvas block. Let have closer look under the hood.
Top Navigation — contains. At left: logo block, menu trigger, notification, inbox dropdown. At right lock screen button, settings dropdown, fullscreen trigger and userbar trigger.
<!--Navigation--> <nav class="main-header clearfix" role="navigation"> //Here comes the contents of top navbar// </nav> <!--/Navigation-->
As we stated before Main Wrapper consist of three blocks. Here they are speaking HTML language. As you see — there is no any difficulties. Everything simple.
<!--MainWrapper--> <div class="main-wrap"> <!-- /Offcanvas user menu--> <aside class="user-menu"> </aside> <!-- /Offcanvas user menu--> <!--Main Menu--> <div class="responsive-admin-menu"> </div> <!--/MainMenu--> <!--Content Wrapper--> <div class="content-wrapper"> </div> <!--/Content Wrapper --> </div> <!--/MainWrapper-->
<div class="smooth-overflow">
What is it? That div solve the problem of laggy scrolling on IOS devices. Content Block from top to bottom consist from horizontal dropdown block with dummy data - sparklines charts, breadcrumb, page header and content block itself.
<!--Content Wrapper--> <div class="content-wrapper"> <div class="row"> <!--Main Row--> <!--Horisontal Dropdown--> <nav class="cbp-hsmenu-wrapper" id="cbp-hsmenu-wrapper"> //Contents of horizontal dropdown// </nav> <!--Breadcrumb--> <div class="breadcrumb clearfix"> //Contents of breadcrumbs// </div> <!--/Breadcrumb--> <div class="page-header"> <h1>Header<small>Example</small></h1> </div> <!-- Widget Row Start grid --> <div class="row" id="powerwidgets"> <div class="col-md-12 bootstrap-grid"> //Main Content - Widgets, Panels... </div> <!-- /Inner Row Col-md-12 --> </div> <!-- /Widgets Row End Grid--> </div> <!-- / Content Wrapper -->
Shortlist of Cascading StyleSheets used in ORB Theme
CSS | Purpose | Required for |
---|---|---|
Styles style.css | Main StyleSheet File | Contains all styles for all pages |
Entypo entypo.css | Entypo Icon Font | Displaying Entypo Icons |
FontAwesome font-awesome.css | FontAwesome Icon Font | Displaying Font Awesome Icons |
Bootstrap bootstrap.min.css | Main Bootstrap CSS File | Displaying BS Elements, Grid, etc. |
Megamenu orbmm.css New in 1.1 | ORB MegaMenu | Displaying MegaMenu |
Vendors CSS |
||
Animate animate.css | CSS3 Transitions and Animations | Modal Animations, Popover Animations, any other animations you want |
Datatables datatables.css | Styles for Datatables | Displaying Datatables |
FullCalendar fullcalendar.css | Fullcalendar CSS File | Displaying Calendar |
Steps Wizard jquery.steps.css | Steps Form Wizard | Steps Form Wizard |
Summernote summernote.css and summernote-bs3.css | Summernote Editor | Summernote WYSIWYG Editor |
X-Editable address.css, bootstrap-editable.css, demo-bs3.css, select2.css, select2.css, select2-bootstrap.css, typeahead.js-bootstrap.css | Styles for correctly displaing styles using in X-Editable Form | X-Editables Due to performance reasons we include these sryleshits only at admin-forms-plugins.html page |
Predefined Colors |
||
Blue styles-blue.css | Styling in Blue | Change visual style of ORB |
Brown styles-brown.css | Styling in Brown | Change visual style of ORB |
Cherry styles-cherry.css | Styling in Cherry | Change visual style of ORB |
Green styles-green.css | Styling in Green | Change visual style of ORB |
Khaki styles-khaki.css | Styling in Khaki | Change visual style of ORB |
Purple styles-purple | Styling in Purple | Change visual style of ORB |
ORB Power Widgets is a heart of ORB. It is a powerwidgets.js
and powerwidgets.min.js
Widgets give user flexibility and full control over content organization. Generally, we have already take a look on ORB Widgets, their data-attributes and options. By now — take a look on advanced widget usage and options. Here is Javascript from scripts.js
that covers all parametres of widget usage.
if ($('#powerwidgets').length) { $('#powerwidgets').powerWidgets({ grid: '.bootstrap-grid', widgets: '.powerwidget', localStorage: true, deleteSettingsKey: '#deletesettingskey-options', settingsKeyLabel: 'Reset settings?', deletePositionKey: '#deletepositionkey-options', positionKeyLabel: 'Reset position?', sortable: true, buttonsHidden: false, toggleButton: true, toggleClass: 'fa fa-chevron-circle-up | fa fa-chevron-circle-down', toggleSpeed: 200, onToggle: function () {}, deleteButton: true, deleteClass: 'fa fa-times-circle', onDelete: function (widget) { $('#delete-widget').modal(); // shows the modal $(widget).addClass('deletethiswidget'); // ads an indicator class to find the widget }, editButton: true, editPlaceholder: '.powerwidget-editbox', editClass: 'fa fa-cog | fa fa-cog', editSpeed: 200, onEdit: function () {}, fullscreenButton: true, fullscreenClass: 'fa fa-arrows-alt | fa fa-arrows-alt', fullscreenDiff: 3, onFullscreen: function () {}, buttonOrder: '%refresh% %delete% %edit% %fullscreen% %toggle%', opacity: 1.0, dragHandle: '> header', placeholderClass: 'powerwidget-placeholder', indicator: true, indicatorTime: 600, ajax: true, timestampPlaceholder: '.powerwidget-timestamp', timestampFormat: 'Last update: %m%/%d%/%y% %h%:%i%:%s%', refreshButton: true, refreshButtonClass: 'fa fa-refresh', labelError: 'Sorry but there was a error:', labelUpdated: 'Last Update:', labelRefresh: 'Refresh', labelDelete: 'Delete widget:', afterLoad: function () {}, rtl: false, onChange: function () {}, onSave: function () {} }); } // Custom way to delete widgets. $('#trigger-deletewidget').click(function (e) { $('.deletethiswidget').remove(); // delete widget $('#delete-widget').modal('hide'); // close the modal }); $('#trigger-deletewidget-reset').click(function (e) { $('body').find('.deletethiswidget').removeClass('deletethiswidget'); // cancel so remove indicator class }); // Empty all local storage. (demo not needed) $('.empty-local-storage').click(function (e) { var $m = $('#confirm_replacer'); if ($m.length && typeof $.fn.modal === 'function') { $('#bootconfirm_confirm', $m).off(clickEvent).on(clickEvent, function (e) { localStorage.clear(); location.reload(); $m.modal().hide(); }); $('.modal-title', $m).text("Clear all localStorage"); $m.modal(); } else { var cls = confirm("Clear all localStorage?"); if (cls && localStorage) { localStorage.clear(); location.reload(); } } e.preventDefault(); });
ORB Widgets give you full controls over widgets and portlets (on widgets basis). You can change buttons styles, dragHandle, icons, set toggle and edit speed, change buttons order and much more. See options below.
Plugin options | Type | Default | Desctription |
---|---|---|---|
grid |
string | section | This is the class or element that are used for the sorting (if option sortable is set to true) of a widget. ORB uses .bootstrap-grid class. |
widgets |
string | .powerwidget | Widgets class. |
localStorage |
boolean | true | Everyting is saved in to the local storage, but you can turn this off. |
deleteSettingsKey |
string | You can delete the local storage settings key(if you are using local storage). The settings key is used to store things, style and title. This must be an unique(just for that page) Id or class for example: '#thelink'. | |
settingsKeyLabel |
string | Reset settings? | Set the text for the 'deleteSettingsKey' confirm dialog. |
deletePositionKey |
string | You can delete the local storage position key(if you are using local storage). The positions key is used to store the position of the widgets. This must be an unique(just for that page) Id or class for example: '#thelink'. | |
settingsKeyLabel |
string | Reset positions? | Set the text for the 'deletePositionKey' confirm dialog. |
sortable |
boolean | true | You can allow widgets to be sortable. |
buttonsHidden |
boolean | false | If you are using action button, you can set them to visible, or hidden. If you choose hidden(value true) the buttons will be showen if you hover over the widgets header. |
toggleButton |
boolean | true | Show a toggle button. |
toggleClass |
string | fa fa-chevron-circle-up | fa fa-chevron-circle-down | The button class, active and non-active state. The two classes must be seperated by a '|' in order to work. |
toggleSpeed |
number(integer) | 200 | The speed of the collapsable effect. |
onToggle |
function | function(){} | Callback function that runs if you toggle a widget. |
deleteButton |
boolean | true | Show a delete button. |
deleteClass |
string | fa fa-times-circle | The button class. |
onDelete |
function | function(){} | Callback function that runs once the delete button has been clicked. We also add custom way to delete the widget. |
editButton |
boolean | true | Show a edit button. |
editPlaceholder |
string | .powerwidget-editbox | The class of the edit box wrapper, which contains the title input and styling setters(see the markup demo above for an example). |
editClass |
string | fa fa-cog | fa fa-cog | The edit class, active and non-active state. The two classes must be seperated by a '|' in order to work. |
editSpeed |
number(integer) | 200 | The speed of the edit effect. |
onEdit |
function | function(){} | Callback function that runs once you close the edit box. |
fullscreenButton |
boolean | true | Show a fullscreen button. |
fullscreenClass |
string | fa fa-arrows-alt | fa fa-arrows-alt | The fullscreen class, active and non-active state. The two classes must be seperated by a '|' in order to work. |
fullscreenDiff |
number(integer) | 3 | If you change the layout fo the widget, you can use this to make sure the that fullscreen is fullscreen(if needed). |
onfullscreen |
function | function(){} | Callback function that runs once you go to fullscreen mode. |
buttonOrder |
string | %refresh% %delete% %edit% %fullscreen% %toggle% | You can change the order of the buttons |
opacity |
number(float) | 1.0 | The opacity of the widgets once you drag them. |
dragHandle |
string | > header | Choose the element that you want to use as an drag handle. The widgets main class is the parents class. |
placeholderClass |
string | powerwidget-placeholder | This is the class thats used for the placeholder. |
indicator |
boolean | true | Shows a animated image if there has been made a change in the widget(AJAX, deleting, toggle...). |
indicatorTime |
number(integer) | 600 | The speed of the indicator image(animated loader image). This is in milliseconds. |
ajax |
boolean | true | Allow widgets to use ajax. |
loadingLabel |
string | loading... | Placeholder text at the start of every page load. |
timestampPlaceholder |
string | .powerwidget-timestamp | Show a timestamp form the last update. Only use classes. |
timestampFormat |
string | Last update: %m%/%d%/%y% %h%:%i%:%s% | Choose the output format. |
refreshButton |
boolean | true | Allow users to refresh the ajax content manually. |
refreshClass |
string | fa fa-refresh | The class of the refresh button. |
labelError |
string | Sorry but there was a error: | Label of the ajax error(label + error code(s)). |
labelUpdated |
string | Last Update: | Label for the timestamp, which will be showen every time it has been updated. |
labelRefresh |
string | Refresh | Label for the refresh button, this button will allow u to refresh the ajax content. |
afterLoad |
function | function(){} | Callback function that runs if the widget loads any ajax content. |
rtl |
boolean | false | Need rtl, use this. (Under constraction) |
onChange |
function | function(){} | Callback function that runs if the position of the widgets get changed in the DOM. |
onSave |
function | onSave: function(){} | Callback function that runs if the data gets saved into the localStorage(you can turn off the localStorage and it still works). You can use this function to store with AJAX your data in a database. |
Use the update method to transform newly added widgets into powerwidgets.
$('#id').powerWdigets('update');//will update all of the new widgets on the page $('#id').powerWdigets('update', '#id');//will only update the new widgets inside this ID
How to add custom buttons to the widgets. Add the code after the plugin call. You need to change the widgets id, the button class (someclass) and the icon class (bookmark). The second block is a basic click event with
// add button $('#widgetsid').find('.powerwidget-ctrls').append(''); // run the custom action $('body').on('click', '.someclass',function(){ if($(this).children().hasClass('fa fa-bookmark')){ $(this).children().removeClass('fa fa-bookmark').addClass('fa fa-folder'); // your code goes here(start) }else{ $(this).children().removeClass('fa fa-folder').addClass('fa fa-bookmark'); // tour code goes here(end) } // code goes here(on every button click) });
This plugin has per-call(as the example above shows) and globally overridable options. Globally options can be used to override the default options, this is best used if you want to override the plugin options by default, this will prevent any issues with the plugin, as you dont have to change any thing in the plugin core it self. Usage: $.fn.pluginName.key = 'value';
Generally, ORB is creating with neutral color palette, and if you wish you can use all variety of colors. Hovewer, we define some main colors that is compartible with ORB and looks great in every app used in ORB. Please note, that these colors are repeatable — if you want, you can change them globally using search/replace feature of your favorite code editor.
As you seen that palette will cover all your possible dreams. Using of colors helpers or shortcodes will make your work quicker, accurate and even fun. Combining background colors and text colors you may reach interesting results and effects. Please see example below to ensure how easily you can manipulate colors shortcodes to get unique look for your blocks and text.
<div class="bg-green padding-20px text-white">...</div>
<div class="dropcap bg-cold-grey text-white>...</div>
<span class="label bg-purple">...</span>
The exactly the same situation when you style widgets and portles. There are two ways of styling widget — change default widget handler header and change background color of whole widget — in that case you get styled portlet. For both cases we get predefined styles. Let have closer look. This is a default ORB Power Widget.
<!-- New widget -->
<div class="powerwidget" id="chat" data-widget-editbutton="false">
<header>
<h2>Widget<small>So Grey and Boring</small></h2>
</header>
<div class="inner-spacer">Sample Widget</div>
</div>
<!-- End Widget -->
To get handle header styled just add color you wish. Find class="powerwidget"
and add blue
class. Yes! Let it be blue. You get now class="powerwidget blue"
. Full list of available colors see above. In main css file all styles for styling widget header in Colors Helpers Chapter, together with other color styles.
<!-- New widget -->
<div class="powerwidget blue" id="chat" data-widget-editbutton="false">
<header>
<h2>Widget<small>Blue and Nice</small></h2>
</header>
<div class="inner-spacer">Sample Widget</div>
</div>
<!-- End Widget -->
To get widget looks like portlet (as shown on Portlets Page) we need to get styled not only header but powerwidget inner-spacer
class. ORB has it shortcoded too. To get widget become blue portlet simple add .powerwidget-as-portlet-blue
class to your widget. Full list of available colors see above. In main css file all styles for styling widget header in Colors Helpers Chapter, together with other color styles.
<!-- New widget -->
<div class="powerwidget powerwidget-as-portlet-blue" id="chat" data-widget-editbutton="false">
<header>
<h2>Widget<small>Blue and Nice</small></h2>
</header>
<div class="inner-spacer">Sample Widget</div>
</div>
<!-- End Widget -->
.inner-spacer
class, see .powerwidget-as-portlet .inner-spacer { padding-top: 0 }
in portlets section in main CSS file. If we have only one component inside portlet — it will be good to remove padding at all with .powerwidget-as-portlet .inner-spacer.nopadding
class. All scripts initialization settings from all scripts engaged in ORB stored in mainscripts.js
file. This file also contains scripts and settings for all applications used on all page in theme. Like HTML and CSS ORB JavaScript is also hardly commented. So, you easily find code you need without any difficulties. Please note — we include only minified versions of apps in ORB archive. To get full versions please visit app homepage. Here is table of all scripts and apps used in ORB Theme.
Folder/Script | Purpose | HomePage | Scripts.js | pages affected |
---|---|---|---|---|
Animation animation.js | This scripts overrides BS 3 core Modal Class and add animation possibility to BS popovers. Script allows to add smooth animations from animate.css to BS Modals and popovers via data-attributes. | Animate.css | no | admin-animation.html |
Bootstrap-progress-bar bootstrap-progressbar.min | Bootstrap-progressbar is a jQuery plugin which extends the basic twitter-bootstrap progressbar. It provides the ability to animate the progressbar by adding Javascript in combination with the preexisting css transitions. Additionally you can display the current progress information in the bar or get the value via callback. | BS ProgressBar | yes | admin-components.html |
Bootstrap-Hover-dropdown New in 1.1 | A simple plugin to enable Bootstrap dropdowns to active on hover and provide a nice user experience. | BS Hover Dropdown | no | admin-megamenu.html |
jQuery gNap New in 1.1 | gMap is a lightweight jQuery plugin that helps you embed Google Maps into your website. With less than 2 KB in size (minified and gzipped) it is very flexible and highly customizable. | jQuery gNap | yes | Everywhere there Google Maps are used |
Chartjs chart.min.js | Easy, object oriented client side graphs for designers and geeks. | ChartJS | yes | admin-portlets.html, index.html, admin-chart-others.html |
Classie classie.js | A library agnostic extensible DOM utility. Nothing else. | Classie | no | All Pages |
Datatables |
||||
Datatables jquery.dataTables.min.js | DataTables is a plug-in for the jQuery Javascript library. It is a highly flexible tool, based upon the foundations of progressive enhancement, and will add advanced interaction controls to any HTML table. | DataTables | yes | admin-datatables.html |
Datatables ColVis colvis.extras.js and dataTables.colVis.js | ColVis adds a button to the toolbars around DataTables which gives the end user of the table the ability to dynamically change the visibility of the columns in the table - dynamically show and hide columns in a table, ability to exclude columns from being either hidden or shown. We use that plugin in #table3 Example |
ColVis Plugin | yes | admin-datatables.html |
Datatables Bootstrap jquery.dataTables-bootstrap.js | To have DataTables styled by Bootstrap, we need do, as well as including the DataTables core Javascript file on our page, is include the DataTables / Bootstrap CSS and Javascript integration files. These files simply alter the DataTables defaults, such as class names to use the names used by Bootstrap, and add styling information specific to DataTables. | Datatables BS Styling | no | admin-datatables.html |
Easing jquery.easing.1.3.min.js | JQuery Easing Plugin. The only one reason we use that old good because it's required for EasyPie Chart to operate | JQuery Easing | no | index.html |
Easypie jquery.easypiechart.min.js | Lightweight plugin to render simple, animated and retina optimized pie charts | EasyPie | yes | index.html |
Fitvids jquery.fitvids.js | A lightweight, really the smallest one, easy-to-use jQuery plugin for fluid width video embeds. | FitVids | yes | admin-portlets.html |
Flotchart jquery.flot.min.js (including pluginsjquery.flot.axislabels.js, jquery.flot.categories.min.js, jquery.flot.pie.min.js, jquery.flot.resize.min.js, jquery.flot.selection.min.js, jquery.flot.stack.min.js, jquery.flot.time.min.js, jquery.flot-tooltip.min.js) | Flot is a powerfull (may be even the most powerfull) pure JavaScript plotting library for jQuery, with a focus on simple usage, attractive looks and many many interactive features. Generally Flots is a standard for creating Dashboards. (There is no need to give description to every plugin. The name of plugin speaks itself.) | FlotCharts | yes | admin-chart.html |
justGaugejustgage.1.0.1.min New in 1.1.3 | JustGage is a handy JavaScript plugin for generating and animating nice & clean gauges. It is based on Raphaël library for vector drawing | JustGauge | noInline Used | admin-index-2.html |
Forms |
||||
Jquery Form jquery.form.min.js | The jQuery Form Plugin used for ORB Forms allows to easily and unobtrusively upgrade HTML forms to use AJAX. The main methods, ajaxForm and ajaxSubmit, gather information from the form element to determine how to manage the submit process. Both of these methods support numerous options which allows you to have full control over how the data is submitted. No special markup is needed, just a normal form. Submitting a form with AJAX doesn't get any easier than this! |
jQuery Form Plugin | yes | admin-forms.html, admin-login.html, admin-lock.html... |
Jquery MaskedInput jquery.maskedinput.min.js | This is a masked input plugin for the jQuery javascript library. It allows a user to more easily enter fixed width input where you would like them to enter the data in a certain format (dates,phone numbers, etc). | Masked Input Plugin | yes | admin-forms.html, admin-login.html, admin-lock.html... |
Jquery PlaceHolder jquery.placeholder.min.js | Tiny plugin for old browsers to support placeholder attribute. | jQuery Placeholder Polyfill | yes | admin-forms.html, admin-login.html, admin-lock.html... |
Jquery Validate jquery.validate.min.js | The jQuery Validation Plugin provides drop-in validation for forms, while making all kinds of customizations to fit application really easy. | jQuery Validation Plugin | yes | admin-forms.html, admin-login.html, admin-lock.html... |
Fullcalendar fullcalendar.min.js and gcal.js | FullCalendar is a jQuery plugin that provides a full-sized, drag & drop calendar like the one below. It uses AJAX to fetch events on-the-fly for each month and is easily configured to use your own feed format (an extension is provided for Google Calendar). It is visually customizable and exposes hooks for user-triggered events (like clicking or dragging an event). | FullCalendar | yes | admin-events.html, index.html |
Fullscreen screenfull.min.js | Simple wrapper for cross-browser usage of the JavaScript Fullscreen API, which lets you bring the page or any element into fullscreen. Smoothens out the browser implementation differences, so you don't have too. | FullScreen | yes | All Pages |
Horizontal cbpHorizontalSlideOutMenu.js | Requires modernizr.custom.js and classie.js A horizontal slide out menu with a grid-like layout for the submenu you can see at the top of content part on every theme page, with media query examples for smaller devices. | Horizontal Slide Out Menu | no | All pages |
ion.rangeSlider.min ion.rangeSlider.min.js | Ion.RangeSlider — cool, comfortable and easily customizable range slider that
supports events and public methods, has flexible settings, can be completely altered with CSS. We use own style for that plugin called ORB |
ion.rangeSlider | yes | admin-events.html, index.html |
jQuery and jQueryUIjquery.min.js and jquery-ui.min.js | jQuery and jQueryUI theirselves | jQuery | no | All Pages |
jQuery Steps jquery.steps.min.js | jQuery Steps is a smart UI component which allows you to easily create wizard-like interfaces. This plugin groups content into sections for a more structured and orderly page view. | jQuery Steps | yes | admin-forms-wizard.html |
jQuery.knob jquery.knob.js | Nice, downward compatible, touchable, jQuery input dial. | jQuery Knob | yes | admin-forms-plugins.html |
Modernizr modernizr.custom.js | Modernizr is a JavaScript library that detects HTML5 and CSS3 features in the user’s browser. | Modernizr | All Pages | |
Morris Chart morris.min.js | Simply the one of the best looking Charts. Requires raphael-min.js to operate. | Morris Chart | yes | admin-charts-morris.html |
Nanoscroller jquery.nanoscroller.min.js | jQuery plugin that offers a simplistic way of implementing Mac OS X Lion-styled scrollbars for ORB. We use Nanoscroller in main header dropdowns-menus, chat and other parts of the theme. | NanoScrollerJS | yes | All Pages |
jQuery Nestable jquery.nestable.js | Just Simple Nestable Lists | Nestable | yes | admin-nestable-lists.html |
Powerwidgets powerwidgets.min.js | ORB Power widgets — is a unique and extremely powerfull tool for organizing workspace in Dashboard. Sortable, easy-to-edit responsive blocks bring real joy and happyness. This is a premium plugin. | ORB Widgets | yes | All Pages |
Raphael raphael-min.js | Raphaël is a small JavaScript library that should simplify your work with vector graphics on the web. It uses the SVG W3C Recommendation and VML as a base for creating graphics. This means every graphical object you create is also a DOM object, so you can attach JavaScript event handlers or modify them later. Raphaël’s goal is to provide an adapter that will make drawing vector art compatible cross-browser and easy. This library needs for Morris Charts |
Raphaël | no | admin-chart-morris.html |
Skycons skycons.js | Skycons is a set of ten animated weather glyphs, procedurally generated by JavaScript using the HTML5 canvas tag. They're easy to use, and pretty lightweight. | SkyCons | inline | admin-portlets.html |
Sparklines jquery.sparkline.min.js | This jQuery plugin generates sparklines (small inline charts) directly in the browser using data supplied either inline in the HTML, or via javascript. | SparkLines | yes | All pages |
Summernote summernote.min.js | Summernote is a super simple WYSIWYG Editor based on Bootstrap | Summernote | yes | admin-inbox.html |
ToDos todos.js | Simple scripts for creating ToDo prototype | no | All pages | |
Vector Map jquery.vmap.min.js Includes jquery.vmap.europe.js, jquery.vmap.world.js, jquery.vmap.russia.js, jquery.vmap.sampledata.js, jquery.vmap.usa.js | Just Beautifull Vector Maps — heavily modified version of jVectorMap. | jQvMap | yes | admin-maps-vector.html, index.html, admin-portlets.html |
x-editable Consist of address.js, bootstrap-editable.min.js, demo.js, demo-mock.js, jquery.mockjax.js, moment.min.js, select2.js, typeahead.js, typeaheadjs.js | This library allows you to create editable elements on your page. | X-Editables | no | admin-forms-plugins.html |
Bootstrap Modal and Popover Animation — one of the feature of ORB. As we stated before ORB has modified Bootstrap Modal Class within animation.js
file to get animations work. As you seen on this page modal has two animated effects — before modal window open (incoming) and after modal closed or executed (outgoing). So we need to apply these animation to modal. Modified Modal Class allows to do it via data-attrbutes options.
<!-- The button -->
<a href="#myModal1" role="button" class="btn" data-toggle="modal">Button Label</a>
<!-- The modal -->
<div id="myModal1" class="modal" data-easein="fadeInLeft" data-easeout="fadeOutLeft"
tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3 id="myModalLabel">Modal header 1</h3>
</div>
<div class="modal-body">
<p>One fine body…</p>
</div>
<div class="modal-footer">
<button class="btn" data-dismiss="modal" aria-hidden="true">Close</button>
<button class="btn btn-primary">Save changes</button>
</div>
</div>
</div>
</div>
fade
class to modal.The main lesson you should learn from example above is data-attributes data-easein="fadeInLeft"
and data-easeout="fadeOutLeft"
, which are incoming and outgoing animations. The list of predefined and balanced modal animations you can found here. To experiment you can create your own animations pair using transitions in animate.css
animation.js
also extend default Bootstrap Popover behaviour to make possible to add animations to that kind of elements.
<a title="Popover on left" data-animation="false" data-easein="flipInX" href="#" class="btn btn-success"
rel="popover" data-placement="left" data-content="Vivamus sagittis lacus vel augue laoreet rutrum faucibus.">flipInX</a>
data-animation="false"
to disable the default fade animation in Bootstrap Popovers. ORB offers a set of beautiful form elements with large amount of javascript features: validation, masking, modals, ajax submit, datepickers. It allows you to create forms of any complexity and for any needs: login, registration, contacts, review, order, comment, checkout, etc.
The main HTML structure of the form consists of fieldset, legend, footer and sections. Each section contains label, form element and optional note. Here is the basic structure of registration form.
<form action="" class="orb-form">
<header>Registration form</header>
<fieldset>
<section>
<label class="input"> <i class="icon-append fa fa-user"></i>
<input type="text" name="username" placeholder="Username">
</label>
</section>
<section>
<label class="input"> <i class="icon-append fa fa-envelope-o"></i>
<input type="text" name="email" placeholder="Email address">
</label>
</section>
<section>
<label class="input"> <i class="icon-append fa fa-lock"></i>
<input type="password" name="password" placeholder="Password">
</label>
</section>
<section>
<label class="input"> <i class="icon-append fa fa-lock"></i>
<input type="password" name="passwordConfirm" placeholder="Confirm password">
</label>
</section>
<fieldset>
</fieldset>
<div class="row">
<section class="col col-6">
<label class="input">
<input type="text" name="firstmane" placeholder="First name">
</label>
</section>
<section class="col col-6">
<label class="input">
<input type="text" name="lastname" placeholder="Last name">
</label>
</section>
</div>
<section>
<label class="select">
<select name="gender">
<option value="0" selected disabled>Gender</option>
<option value="1">Male</option>
<option value="2">Female</option>
<option value="3">Other</option>
</select>
<i></i> </label>
</section>
<section>
<label class="checkbox">
<input type="checkbox" name="subscription" id="subscription">
<i></i>I want to receive news and special offers</label>
<label class="checkbox">
<input type="checkbox" name="terms" id="terms">
<i></i>I agree with the Terms and Conditions</label>
</section>
</fieldset>
<footer>
<button type="submit" class="btn btn-danger">Submit</button>
</footer>
</form>
ORB uses 3 set of icons — Glyphicons, FontAwesome, Entypo. Each set has almost the same markup format. For example, to use one of Font Awesome Icons you need to add tag with 3 classes. First class defines icon position: icon-append or icon-prepend. Other classes define appearance of the icon. For example, if we need appended user icon we get the following markup:
<section> <label class="input"> <i class="icon-append fa fa-user"></i> <input type="text"> </label> </section>
You can use placeholders for inputs and textareas. Just specify placeholder attribute like in demo below.
<section> <label class="input"> <input type="text" placeholder="Placeholder text"> </label> </section> <section> <label class="textarea"> <textarea rows="3" placeholder="Placeholder text"></textarea> </label> </section>
Also there is a possibility to add placeholder for select element. To do that we need to disable first element.
<section> <label class="select"> <select> <option value="0" selected disabled>Gender</option> <option value="1">Male</option> <option value="2">Female</option> <option value="3">Other</option> </select> <i></i> </label> </section>
Like in Bootstrap, Each element of ORB Forms has 3 additional states: error, success and disabled. To use one of them just add state-error, state-success or state-disabled class to element container.
<section> <label class="input state-error"> <input type="text"> </label> </section> <section> <label class="textarea state-success"> <textarea rows="3" placeholder="Placeholder text"></textarea> </label> </section>
When using disabled state don't forget to add disabled attribute to form element.
<section> <label class="input state-error"> <input type="text" disabled> </label> </section>
As we stated before in Javascript section we use jQuery plugin jquery.maskedinput.min.js
for masked input and jquery.validate.min.js
for form validation. Back-end for both plugins in scripts.js
you can find under the Forms Chapter
demo-checkout-process.php
, demo-order-process.php
and demo-review-process.php
. To see them in action please visit that demo page. Since version 1.1 ORB is bundled with MegaMenu, that allows you to create very complex menus with tons of elements inside like — Maps, Images, Videos, different kinds of lists, forms and more. MegaMenu is totally built on Bootstrap and use common BS dropdown behaviour, when dropdowns open by clicking on main links of the menu. The main thing you should know about MegaMenu that you can override that Bootstrap behaviour — and open dropdowns on mouse hover events. You should do the following two steps:
bootstrap-hover-dropdown.js
file right afrer Bootstrap core JavaScript$('.dropdown-toggle').dropdownHover().dropdown(); $(document).on('click', '.orbmm .dropdown-menu', function(e) { e.stopPropagation()
.keep_open
to get this kind of behaviour.ORB FrontEnd — is a set of well designed pages which will help you create typical corporate website. It comes bundled with new scripts, styles and apps, but the main idea and philosophy is the same with ORB Dashboard.
style.css
file from CSS folder of the site root. Please also pay attention that some apps (like jCart, for processors, captcha) require server environment for proper work. So if you test FE on local machine and want to get all ORB snacks working you should create install virtual local server.
Generally Front End uses the same scripts as in Dashboard, but it also have scripts, that not included in Dashboard. Let's have look on them.
Folder/Script | Purpose | HomePage | Scripts.js | pages affected |
---|---|---|---|---|
prettyPhoto jquery.prettyPhoto.js | prettyPhoto is a jQuery lightbox clone. Not only does it support images, it also support for videos, flash, YouTube, iframes and ajax. It’s a full blown media lightbox. |
prettyPhoto | inline | gallery.html |
Gritter gritter.js | A small growl-like notification plugin for jQuery. We use that plugin to show notification in Cart. Please pay attention that we slightly modified (made more simple) that plugin for FE. | Gritter | inline | product.html, products.html |
QuotesRotator jquery.cbpQTRotator.js | Simple automatic Quotes Rotator | Quotes Rotator | Yes | services.html, about.html |
jCart localstorage-jcart.js | Premium! $16 Value!JCart localStorage is a simple shopping cart application that uses HTML 5 localStorage, a new web technology that replaces the classic cookie, giving a much better data security. Please note — we are hardly modified that plugin for ORB FE to correnspond ORB quality, look and design. | localStorage JCart | no | product.html, products.html, checkout.html |
CountDown jquery.countdown.js | Great CountDown plugin with tons of options from Keith Wood. To change countdown target date you should find this code in countdown.html austDay = new Date(austDay.getFullYear() + 1, 12 - 1, 31);
That code means our target date is 31 December of current year. Here is another example –
First man in space anniversary wil be at 12 April 2013. Our code will be the next:
austDay = new Date(austDay.getFullYear() + 0, 4 - 1, 12);
For more explanation and description how countdown working please visit Keith
Wood Official page. |
jQuery Countdown | inline | countdown.html |
Isotope jquery.isotope.min.js | Plugin for filtering and sorting "magical layouts" | jQuery Isotope | Yes | gallery.html, portfolio.html |
ORB FrontEnd bundled with working dynamic pages for process incoming via page data. We have alrady talked about these file above. For example FE has save.php
file for storing inputed emails in MySQL Database. It is a very basic approach. Open and fill all the data to save.php file: $db = mysql_connect("localhost", "database_name",
"database_password"); mysql_select_db("database_name", $db);. Go further. Find base.sql
file for creation table in your MySQL Database. To setup MySQL database to save inputed emails please Run PHPMyAdmin or any other server software for work with MySQL. Choose your database, and import base.sql to your database.
Generally you should know one thing before startplaying with localStorage jCart — this is main values, stored in beginning of localstorage-jcart.js
file.
cartVat = 0.24; //Your Country VAT Rate cartCurrency = "$"; //Your Currency productPage = ""; // complete this with your .php product page imgPath = "images/cart/"; // complete this with yout images path
The example of sample PHP product page can be found below. It can be something like that:
<h2>your product id is: <?php if (isset($_GET['productid'])) { echo $_GET['productid']; } ?> </h2>
06.08.2014 — Version 1.2
20.06.2014 — Version 1.1.3
11.06.2014 — Version 1.1.1
09.06.2014 — Version 1.1
scripts.js
is now has rewrited Google Maps chapter. The main thing you should remember that Google Maps is now initialized via .map-container
class.23.05.2014 — Initial Release
We'll update ORB till the end of the time. As a respected buyer you'll get unlimited updates with bugfixes and new features for free forever.
Have answers, comment, bug reports — connect me via form. (You should be logged to Themeforest)