August 8, 2016

What is the use of local storage?

Local storage is an industry-standard technology that allows a website or app to store and retrieve data on a person's computer, mobile phone or other device. Some examples include device or HTML5 local storage and caching. Most web browsers offer settings for you to control whether or not to allow local storage.

July 26, 2016

jQuery Mobile Tutorial

jQuery Mobile is a framework for creating mobile web applications.
jQuery Mobile works on all popular smartphones and tablets.
jQuery Mobile uses HTML5 & CSS3 for laying out pages with minimal scripting.

Visit: http://www.w3schools.com/jquerymobile/

Kendo UI ®- The Most Complete UI Library to Speed Up Your HTML/JS Development

  • 70+ UI Components

    Get any UI component you would ever need for your app - from the must-haves Data Grids, DropDowns, Menus and Buttons to the advanced line-of-business UIs, such as Charts, Spreadsheet, Gantt, Diagram, Scheduler, PivotGrid, and Maps.
  • Beautiful Themes

    Choose from dozens of ready-to-use themes to make your app pop without writing any CSS. Some of our most popular themes are: Material Design, SAP Fiori, and Office 365. A simple StyleBuilder tool further lets you customize those themes.
  • Smart UI for Any Screen Size

    Build cross-platform web applications delivering experience tailored to the user's screen size on desktop, tablet and phone. All components integrate seamlessly with grid-layout frameworks, such as Bootstrap and Zurb Foundation. Learn more about Kendo UI responsive capabilities.
  • Easy to Learn and Use

    Kendo UI uses a common JavaScript language and standards so that it’s easy for any JavaScript developer to get started. You can get ready-to-use sample apps saving you time to include the needed Kendo UI libraries and set-up the components in your apps.
  • Complete Training

    Get started with Kendo UI in just a few days. Online training courses and hands-on exercises help you quickly implement Kendo UI components into your apps.

February 13, 2014

Live examples of Knockout JS

To see working examples of using Knockout to create responsive UIs, choose from the menu on the left.
If you’re new to Knockout, start with the ‘Hello World’ example and perhaps read an introductory tutorial.

December 3, 2013

What is Knockout JS?

Knockout is a JavaScript library that helps you to create rich, responsive display and editor user interfaces with a clean underlying data model. Any time you have sections of UI that update dynamically (e.g., changing depending on the user’s actions or when an external data source changes), KO can help you implement it more simply and maintainably.
Headline features:
  • Elegant dependency tracking - automatically updates the right parts of your UI whenever your data model changes.
  • Declarative bindings - a simple and obvious way to connect parts of your UI to your data model. You can construct a complex dynamic UIs easily using arbitrarily nested binding contexts.
  • Trivially extensible - implement custom behaviors as new declarative bindings for easy reuse in just a few lines of code.

Additional benefits:
  • Pure JavaScript library - works with any server or client-side technology
  • Can be added on top of your existing web application without requiring major architectural changes
  • Compact - around 13kb after gzipping
  • Works on any mainstream browser (IE 6+, Firefox 2+, Chrome, Safari, others)
  • Comprehensive suite of specifications (developed BDD-style) means its correct functioning can easily be verified on new browsers and platforms

For more visit knockoutjs.com/ 

Sencha Touch, Build for Mobile

Sencha Touch bunch is the industry’s first HTML 5 product suite that provides phone developers with the JavaScript framework, development tools, and business class support they need to build fully touch based apps in a single, integrated package.

 Modern HTML5 App Dev for the Desktop

Sencha Ext JS is the industry's most powerful desktop application development platform with unparalleled cross-browser compatibility, advanced MVC architecture, plugin-free charting, and modern UI widgets.

What is Sencha Ext. JS?

Sencha Ext. JS is the leading standard for business-grade web application development. With over 100 examples, 1000 APIs, hundreds of components, a full documentation suite and built in themes, Ext JS provides the tools necessary to build robust desktop applications. Ext JS also brings a rich data package that allows developers to use a model-view-controller (MVC) architecture when building their app. The MVC leverages features like Big Data Grids enabling an entirely new level of interactivity in web apps.

Cross Browser Compatibility

Ext JS 4 lets developers deliver on an incredible variety of browsers and on more operating systems using the same code — over ten years of browsers in one release. On modern browsers, Ext JS 4 utilizes HTML5 features and falls back to alternatives on older browsers. Whether you’re using Ext JS’ built-in UI components, using the Charting package, or theming your application, Ext JS 4 makes it easy to build an app that gives you the power of the web regardless of what browser your customer uses.
Ext JS supports all major web browsers including:

Internet Explorer 6+
Firefox 3.6+ (PC, Mac)
Safari 4+
Chrome 10+
Opera 11+ (PC, Mac)


August 1, 2013

Custom HTML Select Box

Add Jquery and call this id on your select box id="Items" in your page than call this script:========

jQuery.fn.extend({
    selectbox: function(options) {
        return this.each(function() {
            new jQuery.SelectBox(this, options);
        });
    }
});


/* For ie logging */
if (!window.console) {
    var console = {
        log: function(msg) {
     }
    }
}
/* */

jQuery.SelectBox = function(selectobj, options) {
   
    var opt = options || {};
    opt.inputClass = opt.inputClass || "selectbox";
    opt.containerClass = opt.containerClass || "selectbox-wrapper";
    opt.hoverClass = opt.hoverClass || "current";
    opt.currentClass = opt.selectedClass || "selected"
    opt.debug = opt.debug || false;
   
    var elm_id = selectobj.id;
    var active = -1;
    var inFocus = false;
    var hasfocus = 0;
    //jquery object for select element
    var $select = $(selectobj);
    // jquery container object
    var $container = setupContainer(opt);
    //jquery input object
    var $input = setupInput(opt);
    // hide select and append newly created elements
    $select.hide().before($input).before($container);
   
   
    init();
   
    $input
    .click(function(){
    if (!inFocus) {
          $container.toggle();
        }
    })
    .focus(function(){
       if ($container.not(':visible')) {
           inFocus = true;
           $container.show();
       }
    })
    .keydown(function(event) {      
        switch(event.keyCode) {
            case 38: // up
                event.preventDefault();
                moveSelect(-1);
                break;
            case 40: // down
                event.preventDefault();
                moveSelect(1);
                break;
            //case 9:  // tab
            case 13: // return
                event.preventDefault(); // seems not working in mac !
                $('li.'+opt.hoverClass).trigger('click');
                break;
            case 27: //escape
              hideMe();
              break;
        }
    })
    .blur(function() {
        if ($container.is(':visible') && hasfocus > 0 ) {
            if(opt.debug) console.log('container visible and has focus')
        } else {
            hideMe();   
        }
    });


    function hideMe() {
        hasfocus = 0;
        $container.hide();
    }
   
    function init() {
        $container.append(getSelectOptions($input.attr('id'))).hide();
        var width = $input.css('width');
        $container.width(width);
    }
   
    function setupContainer(options) {
        var container = document.createElement("div");
        $container = $(container);
        $container.attr('id', elm_id+'_container');
        $container.addClass(options.containerClass);
       
        return $container;
    }
   
    function setupInput(options) {
        var input = document.createElement("input");
        var $input = $(input);
        $input.attr("id", elm_id+"_input");
        $input.attr("type", "text");
        $input.addClass(options.inputClass);
        $input.attr("autocomplete", "off");
        $input.attr("readonly", "readonly");
        $input.attr("tabIndex", $select.attr("tabindex")); // "I" capital is important for ie
       
        return $input;   
    }
   
    function moveSelect(step) {
        var lis = $("li", $container);
        if (!lis) return;

        active += step;

        if (active < 0) {
            active = 0;
        } else if (active >= lis.size()) {
            active = lis.size() - 1;
        }

        lis.removeClass(opt.hoverClass);

        $(lis[active]).addClass(opt.hoverClass);
    }
   
    function setCurrent() {   
        var li = $("li."+opt.currentClass, $container).get(0);
        var ar = (''+li.id).split('_');
        var el = ar[ar.length-1];
        $select.val(el);
        $input.val($(li).html());
        return true;
    }
   
    // select value
    function getCurrentSelected() {
        return $select.val();
    }
   
    // input value
    function getCurrentValue() {
        return $input.val();
    }
   
    function getSelectOptions(parentid) {
        var select_options = new Array();
        var ul = document.createElement('ul');
        $select.children('option').each(function() {
            var li = document.createElement('li');
            li.setAttribute('id', parentid + '_' + $(this).val());
            li.innerHTML = $(this).html();
            if ($(this).is(':selected')) {
                $input.val($(this).html());
                $(li).addClass(opt.currentClass);
            }
            ul.appendChild(li);
            $(li)
            .mouseover(function(event) {
                hasfocus = 1;
                if (opt.debug) console.log('over on : '+this.id);
                jQuery(event.target, $container).addClass(opt.hoverClass);
            })
            .mouseout(function(event) {
                hasfocus = -1;
                if (opt.debug) console.log('out on : '+this.id);
                jQuery(event.target, $container).removeClass(opt.hoverClass);
            })
            .click(function(event) {
              var fl = $('li.'+opt.hoverClass, $container).get(0);
                if (opt.debug) console.log('click on :'+this.id);
                $('li.'+opt.currentClass).removeClass(opt.currentClass);
                $(this).addClass(opt.currentClass);
                setCurrent();
                hideMe();
            });
        });
        return ul;
    }
   
};