UNPKG

alpaca

Version:

Alpaca provides the easiest and fastest way to generate interactive forms for the web and mobile devices. It runs simply as HTML5 or more elaborately using Bootstrap, jQuery Mobile or jQuery UI. Alpaca uses Handlebars to process JSON schema and provide

157 lines (128 loc) 4.37 kB
/*! DataTables jQuery UI integration * ©2011-2014 SpryMedia Ltd - datatables.net/license */ /* * IMPORTANT * This file has now been deprecated and replaced by support for the styling * integration with jQuery UI in the DataTables core software and its * accompanying extensions. Please refer to the styling documentation for * details: * https://datatables.net/manual/styling/ */ (function(window, document, undefined){ var factory = function( $, DataTable ) { "use strict"; var sort_prefix = 'css_right ui-icon ui-icon-'; var toolbar_prefix = 'fg-toolbar ui-toolbar ui-widget-header ui-helper-clearfix ui-corner-'; /* Set the defaults for DataTables initialisation */ $.extend( true, DataTable.defaults, { dom: '<"'+toolbar_prefix+'tl ui-corner-tr"lfr>'+ 't'+ '<"'+toolbar_prefix+'bl ui-corner-br"ip>', renderer: 'jqueryui' } ); $.extend( DataTable.ext.classes, { "sWrapper": "dataTables_wrapper dt-jqueryui", /* Full numbers paging buttons */ "sPageButton": "fg-button ui-button ui-state-default", "sPageButtonActive": "ui-state-disabled", "sPageButtonDisabled": "ui-state-disabled", /* Features */ "sPaging": "dataTables_paginate fg-buttonset ui-buttonset fg-buttonset-multi "+ "ui-buttonset-multi paging_", /* Note that the type is postfixed */ /* Sorting */ "sSortAsc": "ui-state-default sorting_asc", "sSortDesc": "ui-state-default sorting_desc", "sSortable": "ui-state-default sorting", "sSortableAsc": "ui-state-default sorting_asc_disabled", "sSortableDesc": "ui-state-default sorting_desc_disabled", "sSortableNone": "ui-state-default sorting_disabled", "sSortIcon": "DataTables_sort_icon", /* Scrolling */ "sScrollHead": "dataTables_scrollHead "+"ui-state-default", "sScrollFoot": "dataTables_scrollFoot "+"ui-state-default", /* Misc */ "sHeaderTH": "ui-state-default", "sFooterTH": "ui-state-default" } ); DataTable.ext.renderer.header.jqueryui = function ( settings, cell, column, classes ) { // Calculate what the unsorted class should be var noSortAppliedClass = sort_prefix+'carat-2-n-s'; var asc = $.inArray('asc', column.asSorting) !== -1; var desc = $.inArray('desc', column.asSorting) !== -1; if ( !column.bSortable || (!asc && !desc) ) { noSortAppliedClass = ''; } else if ( asc && !desc ) { noSortAppliedClass = sort_prefix+'carat-1-n'; } else if ( !asc && desc ) { noSortAppliedClass = sort_prefix+'carat-1-s'; } // Setup the DOM structure $('<div/>') .addClass( 'DataTables_sort_wrapper' ) .append( cell.contents() ) .append( $('<span/>') .addClass( classes.sSortIcon+' '+noSortAppliedClass ) ) .appendTo( cell ); // Attach a sort listener to update on sort $(settings.nTable).on( 'order.dt', function ( e, ctx, sorting, columns ) { if ( settings !== ctx ) { return; } var colIdx = column.idx; cell .removeClass( classes.sSortAsc +" "+classes.sSortDesc ) .addClass( columns[ colIdx ] == 'asc' ? classes.sSortAsc : columns[ colIdx ] == 'desc' ? classes.sSortDesc : column.sSortingClass ); cell .find( 'span.'+classes.sSortIcon ) .removeClass( sort_prefix+'triangle-1-n' +" "+ sort_prefix+'triangle-1-s' +" "+ sort_prefix+'carat-2-n-s' +" "+ sort_prefix+'carat-1-n' +" "+ sort_prefix+'carat-1-s' ) .addClass( columns[ colIdx ] == 'asc' ? sort_prefix+'triangle-1-n' : columns[ colIdx ] == 'desc' ? sort_prefix+'triangle-1-s' : noSortAppliedClass ); } ); }; /* * TableTools jQuery UI compatibility * Required TableTools 2.1+ */ if ( DataTable.TableTools ) { $.extend( true, DataTable.TableTools.classes, { "container": "DTTT_container ui-buttonset ui-buttonset-multi", "buttons": { "normal": "DTTT_button ui-button ui-state-default" }, "collection": { "container": "DTTT_collection ui-buttonset ui-buttonset-multi" } } ); } }; // /factory // Define as an AMD module if possible if ( typeof define === 'function' && define.amd ) { define( ['jquery', 'datatables'], factory ); } else if ( typeof exports === 'object' ) { // Node/CommonJS factory( require('jquery'), require('datatables') ); } else if ( jQuery ) { // Otherwise simply initialise as normal, stopping multiple evaluation factory( jQuery, jQuery.fn.dataTable ); } })(window, document);