From 6da4397a96a07f7b6e7cec3f3f129fe648600a70 Mon Sep 17 00:00:00 2001 From: Naomi Aro Date: Thu, 2 Feb 2012 23:15:39 +0100 Subject: [PATCH] CC-3174 : show builder can add playlists to the time line upgraded datatables to 1.9 upgraded qtip2 to a newer version put qtips on type column on lib table. --- airtime_mvc/application/Bootstrap.php | 6 +- .../controllers/LibraryController.php | 4 +- airtime_mvc/application/models/Scheduler.php | 36 +- .../library/get-file-meta-data.ajax.phtml | 4 +- .../public/css/datatables/css/TableTools.css | 265 + .../public/css/datatables/css/demo_page.css | 92 - .../public/css/datatables/css/demo_table.css | 538 - .../css/datatables/css/demo_table_jui.css | 513 - .../css/datatables/css/jquery.dataTables.css | 219 + .../css/jquery.dataTables_themeroller.css | 243 + .../css/datatables/images/back_disabled.jpg | Bin 612 -> 0 bytes .../css/datatables/images/back_disabled.png | Bin 0 -> 1361 bytes .../css/datatables/images/back_enabled.jpg | Bin 807 -> 0 bytes .../css/datatables/images/back_enabled.png | Bin 0 -> 1379 bytes .../datatables/images/back_enabled_hover.png | Bin 0 -> 1375 bytes .../datatables/images/forward_disabled.jpg | Bin 635 -> 0 bytes .../datatables/images/forward_disabled.png | Bin 0 -> 1363 bytes .../css/datatables/images/forward_enabled.jpg | Bin 852 -> 0 bytes .../css/datatables/images/forward_enabled.png | Bin 0 -> 1380 bytes .../images/forward_enabled_hover.png | Bin 0 -> 1379 bytes .../public/css/datatables/images/sort_asc.png | Bin 263 -> 1118 bytes .../datatables/images/sort_asc_disabled.png | Bin 252 -> 1050 bytes .../css/datatables/images/sort_both.png | Bin 282 -> 1136 bytes .../css/datatables/images/sort_desc.png | Bin 260 -> 1127 bytes .../datatables/images/sort_desc_disabled.png | Bin 251 -> 1045 bytes airtime_mvc/public/css/qtip/jquery.qtip.css | 557 + .../public/css/qtip/jquery.qtip.min.css | 2 +- .../library/events/library_playlistbuilder.js | 6 - .../library/events/library_showbuilder.js | 2 - .../public/js/airtime/library/library.js | 101 +- .../js/datatables/js/jquery.dataTables.js | 15378 ++++++++++------ .../js/datatables/js/jquery.dataTables.min.js | 280 +- .../js/datatables/unit_testing/controller.js | 94 - .../js/datatables/unit_testing/controller.php | 100 - .../js/datatables/unit_testing/index.html | 7 - .../unit_testing/performance/draw.html | 482 - .../unit_testing/performance/large.php | 107 - .../unit_testing/performance/page.html | 477 - .../unit_testing/performance/sort.html | 477 - .../templates/-complex_header.php | 469 - .../unit_testing/templates/2512.php | 464 - .../unit_testing/templates/dom_data.php | 465 - .../unit_testing/templates/dymanic_table.php | 45 - .../unit_testing/templates/empty_table.php | 55 - .../unit_testing/templates/js_data.php | 124 - .../unit_testing/templates/two_tables.php | 227 - .../tests_onhold/1_dom/-complex_header.js | 52 - .../unit_testing/tests_onhold/1_dom/-iDraw.js | 41 - .../unit_testing/tests_onhold/1_dom/2512.js | 17 - .../unit_testing/tests_onhold/1_dom/2530-2.js | 15 - .../unit_testing/tests_onhold/1_dom/2530.js | 29 - .../unit_testing/tests_onhold/1_dom/2569.js | 36 - .../unit_testing/tests_onhold/1_dom/2600.js | 44 - .../unit_testing/tests_onhold/1_dom/2608.js | 54 - .../unit_testing/tests_onhold/1_dom/2635.js | 40 - .../tests_onhold/1_dom/2746-stable-sort.js | 199 - .../unit_testing/tests_onhold/1_dom/2799.js | 14 - .../1_dom/2840-restore-table-width.js | 19 - .../1_dom/2914-state-save-sort.js | 39 - .../tests_onhold/1_dom/_zero_config.js | 437 - .../tests_onhold/1_dom/aaSorting.js | 183 - .../tests_onhold/1_dom/aaSortingFixed.js | 60 - .../1_dom/aoColumns.bSearchable.js | 67 - .../tests_onhold/1_dom/aoColumns.bSortable.js | 105 - .../1_dom/aoColumns.bUseRendered.js | 145 - .../tests_onhold/1_dom/aoColumns.bVisible.js | 132 - .../tests_onhold/1_dom/aoColumns.fnRender.js | 175 - .../tests_onhold/1_dom/aoColumns.iDataSort.js | 88 - .../tests_onhold/1_dom/aoColumns.sClass.js | 111 - .../tests_onhold/1_dom/aoColumns.sName.js | 27 - .../tests_onhold/1_dom/aoColumns.sTitle.js | 78 - .../tests_onhold/1_dom/aoColumns.sWidth.js | 84 - .../tests_onhold/1_dom/aoSearchCols.js | 112 - .../tests_onhold/1_dom/asStripClasses.js | 106 - .../tests_onhold/1_dom/bAutoWidth.js | 138 - .../tests_onhold/1_dom/bFilter.js | 40 - .../tests_onhold/1_dom/bInfiniteScroll.js | 130 - .../unit_testing/tests_onhold/1_dom/bInfo.js | 40 - .../tests_onhold/1_dom/bJQueryUI.js | 40 - .../tests_onhold/1_dom/bLengthChange.js | 71 - .../tests_onhold/1_dom/bPaginate.js | 55 - .../tests_onhold/1_dom/bProcessing.js | 99 - .../tests_onhold/1_dom/bServerSide.js | 18 - .../unit_testing/tests_onhold/1_dom/bSort.js | 101 - .../tests_onhold/1_dom/bSortClasses.js | 128 - .../tests_onhold/1_dom/fnCookieCallback.js | 97 - .../tests_onhold/1_dom/fnDeleteRow.js | 30 - .../tests_onhold/1_dom/fnDrawCallback.js | 80 - .../tests_onhold/1_dom/fnFooterCallback.js | 227 - .../tests_onhold/1_dom/fnHeaderCallback.js | 227 - .../tests_onhold/1_dom/fnInfoCallback.js | 115 - .../tests_onhold/1_dom/fnInitComplete.js | 94 - .../tests_onhold/1_dom/fnRowCallback.js | 105 - .../tests_onhold/1_dom/iDisplayLength.js | 76 - .../tests_onhold/1_dom/oLanguage.oPaginate.js | 80 - .../tests_onhold/1_dom/oLanguage.sInfo.js | 109 - .../1_dom/oLanguage.sInfoEmpty.js | 75 - .../1_dom/oLanguage.sInfoPostFix.js | 73 - .../1_dom/oLanguage.sLengthMenu.js | 101 - .../1_dom/oLanguage.sProcessing.js | 47 - .../tests_onhold/1_dom/oLanguage.sSearch.js | 61 - .../tests_onhold/1_dom/oLanguage.sUrl.js | 59 - .../1_dom/oLanguage.sZeroRecords.js | 45 - .../tests_onhold/1_dom/oSearch.js | 101 - .../tests_onhold/1_dom/sAjaxSource.js | 18 - .../unit_testing/tests_onhold/1_dom/sDom.js | 319 - .../tests_onhold/1_dom/sPaginationType.js | 122 - .../tests_onhold/2_js/_zero_config.js | 440 - .../tests_onhold/2_js/aaSorting.js | 198 - .../tests_onhold/2_js/aaSortingFixed.js | 64 - .../2_js/aoColumns.bSearchable.js | 71 - .../tests_onhold/2_js/aoColumns.bSortable.js | 109 - .../2_js/aoColumns.bUseRendered.js | 148 - .../tests_onhold/2_js/aoColumns.bVisible.js | 110 - .../tests_onhold/2_js/aoColumns.fnRender.js | 182 - .../tests_onhold/2_js/aoColumns.iDataSort.js | 90 - .../tests_onhold/2_js/aoColumns.sClass.js | 115 - .../tests_onhold/2_js/aoColumns.sName.js | 28 - .../tests_onhold/2_js/aoColumns.sTitle.js | 82 - .../tests_onhold/2_js/aoColumns.sWidth.js | 87 - .../tests_onhold/2_js/aoSearchCols.js | 119 - .../tests_onhold/2_js/asStripClasses.js | 100 - .../tests_onhold/2_js/bAutoWidth.js | 142 - .../unit_testing/tests_onhold/2_js/bFilter.js | 44 - .../unit_testing/tests_onhold/2_js/bInfo.js | 44 - .../tests_onhold/2_js/bLengthChange.js | 75 - .../tests_onhold/2_js/bPaginate.js | 59 - .../tests_onhold/2_js/bProcessing.js | 103 - .../tests_onhold/2_js/bServerSide.js | 20 - .../unit_testing/tests_onhold/2_js/bSort.js | 99 - .../tests_onhold/2_js/bSortClasses.js | 132 - .../tests_onhold/2_js/fnDrawCallback.js | 85 - .../tests_onhold/2_js/fnFooterCallback.js | 240 - .../tests_onhold/2_js/fnHeaderCallback.js | 240 - .../tests_onhold/2_js/fnInitComplete.js | 83 - .../tests_onhold/2_js/fnRowCallback.js | 112 - .../tests_onhold/2_js/iDisplayLength.js | 81 - .../tests_onhold/2_js/oLanguage.oPaginate.js | 84 - .../tests_onhold/2_js/oLanguage.sInfo.js | 117 - .../tests_onhold/2_js/oLanguage.sInfoEmpty.js | 79 - .../2_js/oLanguage.sInfoPostFix.js | 78 - .../2_js/oLanguage.sLengthMenu.js | 106 - .../2_js/oLanguage.sProcessing.js | 49 - .../tests_onhold/2_js/oLanguage.sSearch.js | 65 - .../tests_onhold/2_js/oLanguage.sUrl.js | 62 - .../2_js/oLanguage.sZeroRecords.js | 48 - .../unit_testing/tests_onhold/2_js/oSearch.js | 108 - .../tests_onhold/2_js/sAjaxSource.js | 20 - .../unit_testing/tests_onhold/2_js/sDom.js | 262 - .../tests_onhold/2_js/sPaginationType.js | 125 - .../tests_onhold/3_ajax/_zero_config.js | 440 - .../tests_onhold/3_ajax/aaSorting.js | 198 - .../tests_onhold/3_ajax/aaSortingFixed.js | 67 - .../3_ajax/aoColumns.bSearchable.js | 76 - .../3_ajax/aoColumns.bSortable.js | 109 - .../3_ajax/aoColumns.bUseRendered.js | 148 - .../tests_onhold/3_ajax/aoColumns.bVisible.js | 124 - .../tests_onhold/3_ajax/aoColumns.fnRender.js | 182 - .../3_ajax/aoColumns.iDataSort.js | 90 - .../tests_onhold/3_ajax/aoColumns.sClass.js | 115 - .../tests_onhold/3_ajax/aoColumns.sName.js | 28 - .../tests_onhold/3_ajax/aoColumns.sTitle.js | 82 - .../tests_onhold/3_ajax/aoColumns.sWidth.js | 87 - .../tests_onhold/3_ajax/aoSearchCols.js | 119 - .../tests_onhold/3_ajax/asStripClasses.js | 105 - .../tests_onhold/3_ajax/bAutoWidth.js | 142 - .../tests_onhold/3_ajax/bFilter.js | 44 - .../unit_testing/tests_onhold/3_ajax/bInfo.js | 44 - .../tests_onhold/3_ajax/bLengthChange.js | 75 - .../tests_onhold/3_ajax/bPaginate.js | 59 - .../tests_onhold/3_ajax/bProcessing.js | 103 - .../tests_onhold/3_ajax/bServerSide.js | 20 - .../unit_testing/tests_onhold/3_ajax/bSort.js | 99 - .../tests_onhold/3_ajax/bSortClasses.js | 132 - .../tests_onhold/3_ajax/fnDrawCallback.js | 98 - .../tests_onhold/3_ajax/fnHeaderCallback.js | 191 - .../tests_onhold/3_ajax/fnInitComplete.js | 100 - .../tests_onhold/3_ajax/fnRowCallback.js | 112 - .../tests_onhold/3_ajax/fnServerData.js | 64 - .../tests_onhold/3_ajax/iDisplayLength.js | 81 - .../3_ajax/oLanguage.oPaginate.js | 84 - .../tests_onhold/3_ajax/oLanguage.sInfo.js | 117 - .../3_ajax/oLanguage.sInfoEmpty.js | 79 - .../3_ajax/oLanguage.sInfoPostFix.js | 78 - .../3_ajax/oLanguage.sLengthMenu.js | 106 - .../3_ajax/oLanguage.sProcessing.js | 49 - .../tests_onhold/3_ajax/oLanguage.sSearch.js | 65 - .../tests_onhold/3_ajax/oLanguage.sUrl.js | 62 - .../3_ajax/oLanguage.sZeroRecords.js | 48 - .../tests_onhold/3_ajax/oSearch.js | 108 - .../tests_onhold/3_ajax/sAjaxSource.js | 22 - .../unit_testing/tests_onhold/3_ajax/sDom.js | 262 - .../tests_onhold/3_ajax/sPaginationType.js | 134 - .../tests_onhold/4_server-side/-iDraw.js | 44 - .../tests_onhold/4_server-side/2440.js | 32 - .../tests_onhold/4_server-side/2569.js | 47 - .../tests_onhold/4_server-side/2600.js | 47 - .../4_server-side/_zero_config.js | 424 - .../tests_onhold/4_server-side/aaSorting.js | 212 - .../4_server-side/aaSortingFixed.js | 67 - .../4_server-side/aoColumns.bSearchable.js | 25 - .../4_server-side/aoColumns.bSortable.js | 112 - .../4_server-side/aoColumns.bUseRendered.js | 43 - .../4_server-side/aoColumns.bVisible.js | 123 - .../4_server-side/aoColumns.fnRender.js | 189 - .../4_server-side/aoColumns.sClass.js | 118 - .../4_server-side/aoColumns.sName.js | 29 - .../4_server-side/aoColumns.sTitle.js | 85 - .../4_server-side/aoColumns.sWidth.js | 90 - .../4_server-side/aoSearchCols.js | 70 - .../4_server-side/asStripClasses.js | 109 - .../tests_onhold/4_server-side/bAutoWidth.js | 145 - .../tests_onhold/4_server-side/bFilter.js | 47 - .../4_server-side/bInfiniteScroll.js | 168 - .../tests_onhold/4_server-side/bInfo.js | 47 - .../4_server-side/bLengthChange.js | 78 - .../tests_onhold/4_server-side/bPaginate.js | 62 - .../tests_onhold/4_server-side/bProcessing.js | 106 - .../tests_onhold/4_server-side/bServerSide.js | 21 - .../tests_onhold/4_server-side/bSort.js | 102 - .../4_server-side/bSortClasses.js | 135 - .../4_server-side/fnDrawCallback.js | 89 - .../4_server-side/fnHeaderCallback.js | 191 - .../4_server-side/fnInitComplete.js | 105 - .../4_server-side/fnRowCallback.js | 118 - .../4_server-side/iDisplayLength.js | 85 - .../4_server-side/oLanguage.oPaginate.js | 86 - .../4_server-side/oLanguage.sInfo.js | 124 - .../4_server-side/oLanguage.sInfoEmpty.js | 82 - .../4_server-side/oLanguage.sInfoPostFix.js | 82 - .../4_server-side/oLanguage.sLengthMenu.js | 110 - .../4_server-side/oLanguage.sProcessing.js | 51 - .../4_server-side/oLanguage.sSearch.js | 68 - .../4_server-side/oLanguage.sUrl.js | 64 - .../4_server-side/oLanguage.sZeroRecords.js | 58 - .../tests_onhold/4_server-side/oSearch.js | 100 - .../tests_onhold/4_server-side/sAjaxSource.js | 23 - .../tests_onhold/4_server-side/sDom.js | 269 - .../4_server-side/sPaginationType.js | 138 - .../js/datatables/unit_testing/unit_test.js | 405 - .../public/js/libs/jquery-1.5.1.min.js | 16 - .../public/js/libs/jquery-1.5.2.min.js | 16 - airtime_mvc/public/js/qtip/jquery.qtip.js | 3244 ++++ airtime_mvc/public/js/qtip/jquery.qtip.min.js | 13 + .../public/js/qtip/jquery.qtip2.min.js | 13 - 245 files changed, 14530 insertions(+), 30519 deletions(-) create mode 100755 airtime_mvc/public/css/datatables/css/TableTools.css delete mode 100644 airtime_mvc/public/css/datatables/css/demo_page.css delete mode 100644 airtime_mvc/public/css/datatables/css/demo_table.css delete mode 100644 airtime_mvc/public/css/datatables/css/demo_table_jui.css create mode 100644 airtime_mvc/public/css/datatables/css/jquery.dataTables.css create mode 100644 airtime_mvc/public/css/datatables/css/jquery.dataTables_themeroller.css delete mode 100644 airtime_mvc/public/css/datatables/images/back_disabled.jpg create mode 100644 airtime_mvc/public/css/datatables/images/back_disabled.png delete mode 100644 airtime_mvc/public/css/datatables/images/back_enabled.jpg create mode 100644 airtime_mvc/public/css/datatables/images/back_enabled.png create mode 100644 airtime_mvc/public/css/datatables/images/back_enabled_hover.png delete mode 100644 airtime_mvc/public/css/datatables/images/forward_disabled.jpg create mode 100644 airtime_mvc/public/css/datatables/images/forward_disabled.png delete mode 100644 airtime_mvc/public/css/datatables/images/forward_enabled.jpg create mode 100644 airtime_mvc/public/css/datatables/images/forward_enabled.png create mode 100644 airtime_mvc/public/css/datatables/images/forward_enabled_hover.png create mode 100644 airtime_mvc/public/css/qtip/jquery.qtip.css delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/controller.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/controller.php delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/index.html delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/performance/draw.html delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/performance/large.php delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/performance/page.html delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/performance/sort.html delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/templates/-complex_header.php delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/templates/2512.php delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/templates/dom_data.php delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/templates/dymanic_table.php delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/templates/empty_table.php delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/templates/js_data.php delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/templates/two_tables.php delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/1_dom/-complex_header.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/1_dom/-iDraw.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/1_dom/2512.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/1_dom/2530-2.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/1_dom/2530.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/1_dom/2569.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/1_dom/2600.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/1_dom/2608.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/1_dom/2635.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/1_dom/2746-stable-sort.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/1_dom/2799.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/1_dom/2840-restore-table-width.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/1_dom/2914-state-save-sort.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/1_dom/_zero_config.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/1_dom/aaSorting.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/1_dom/aaSortingFixed.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/1_dom/aoColumns.bSearchable.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/1_dom/aoColumns.bSortable.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/1_dom/aoColumns.bUseRendered.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/1_dom/aoColumns.bVisible.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/1_dom/aoColumns.fnRender.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/1_dom/aoColumns.iDataSort.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/1_dom/aoColumns.sClass.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/1_dom/aoColumns.sName.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/1_dom/aoColumns.sTitle.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/1_dom/aoColumns.sWidth.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/1_dom/aoSearchCols.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/1_dom/asStripClasses.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/1_dom/bAutoWidth.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/1_dom/bFilter.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/1_dom/bInfiniteScroll.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/1_dom/bInfo.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/1_dom/bJQueryUI.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/1_dom/bLengthChange.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/1_dom/bPaginate.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/1_dom/bProcessing.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/1_dom/bServerSide.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/1_dom/bSort.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/1_dom/bSortClasses.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/1_dom/fnCookieCallback.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/1_dom/fnDeleteRow.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/1_dom/fnDrawCallback.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/1_dom/fnFooterCallback.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/1_dom/fnHeaderCallback.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/1_dom/fnInfoCallback.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/1_dom/fnInitComplete.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/1_dom/fnRowCallback.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/1_dom/iDisplayLength.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/1_dom/oLanguage.oPaginate.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/1_dom/oLanguage.sInfo.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/1_dom/oLanguage.sInfoEmpty.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/1_dom/oLanguage.sInfoPostFix.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/1_dom/oLanguage.sLengthMenu.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/1_dom/oLanguage.sProcessing.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/1_dom/oLanguage.sSearch.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/1_dom/oLanguage.sUrl.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/1_dom/oLanguage.sZeroRecords.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/1_dom/oSearch.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/1_dom/sAjaxSource.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/1_dom/sDom.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/1_dom/sPaginationType.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/2_js/_zero_config.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/2_js/aaSorting.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/2_js/aaSortingFixed.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/2_js/aoColumns.bSearchable.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/2_js/aoColumns.bSortable.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/2_js/aoColumns.bUseRendered.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/2_js/aoColumns.bVisible.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/2_js/aoColumns.fnRender.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/2_js/aoColumns.iDataSort.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/2_js/aoColumns.sClass.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/2_js/aoColumns.sName.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/2_js/aoColumns.sTitle.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/2_js/aoColumns.sWidth.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/2_js/aoSearchCols.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/2_js/asStripClasses.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/2_js/bAutoWidth.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/2_js/bFilter.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/2_js/bInfo.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/2_js/bLengthChange.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/2_js/bPaginate.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/2_js/bProcessing.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/2_js/bServerSide.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/2_js/bSort.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/2_js/bSortClasses.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/2_js/fnDrawCallback.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/2_js/fnFooterCallback.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/2_js/fnHeaderCallback.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/2_js/fnInitComplete.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/2_js/fnRowCallback.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/2_js/iDisplayLength.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/2_js/oLanguage.oPaginate.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/2_js/oLanguage.sInfo.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/2_js/oLanguage.sInfoEmpty.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/2_js/oLanguage.sInfoPostFix.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/2_js/oLanguage.sLengthMenu.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/2_js/oLanguage.sProcessing.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/2_js/oLanguage.sSearch.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/2_js/oLanguage.sUrl.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/2_js/oLanguage.sZeroRecords.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/2_js/oSearch.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/2_js/sAjaxSource.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/2_js/sDom.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/2_js/sPaginationType.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/3_ajax/_zero_config.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/3_ajax/aaSorting.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/3_ajax/aaSortingFixed.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/3_ajax/aoColumns.bSearchable.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/3_ajax/aoColumns.bSortable.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/3_ajax/aoColumns.bUseRendered.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/3_ajax/aoColumns.bVisible.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/3_ajax/aoColumns.fnRender.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/3_ajax/aoColumns.iDataSort.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/3_ajax/aoColumns.sClass.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/3_ajax/aoColumns.sName.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/3_ajax/aoColumns.sTitle.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/3_ajax/aoColumns.sWidth.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/3_ajax/aoSearchCols.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/3_ajax/asStripClasses.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/3_ajax/bAutoWidth.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/3_ajax/bFilter.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/3_ajax/bInfo.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/3_ajax/bLengthChange.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/3_ajax/bPaginate.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/3_ajax/bProcessing.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/3_ajax/bServerSide.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/3_ajax/bSort.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/3_ajax/bSortClasses.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/3_ajax/fnDrawCallback.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/3_ajax/fnHeaderCallback.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/3_ajax/fnInitComplete.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/3_ajax/fnRowCallback.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/3_ajax/fnServerData.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/3_ajax/iDisplayLength.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/3_ajax/oLanguage.oPaginate.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/3_ajax/oLanguage.sInfo.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/3_ajax/oLanguage.sInfoEmpty.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/3_ajax/oLanguage.sInfoPostFix.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/3_ajax/oLanguage.sLengthMenu.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/3_ajax/oLanguage.sProcessing.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/3_ajax/oLanguage.sSearch.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/3_ajax/oLanguage.sUrl.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/3_ajax/oLanguage.sZeroRecords.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/3_ajax/oSearch.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/3_ajax/sAjaxSource.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/3_ajax/sDom.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/3_ajax/sPaginationType.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/4_server-side/-iDraw.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/4_server-side/2440.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/4_server-side/2569.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/4_server-side/2600.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/4_server-side/_zero_config.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/4_server-side/aaSorting.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/4_server-side/aaSortingFixed.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/4_server-side/aoColumns.bSearchable.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/4_server-side/aoColumns.bSortable.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/4_server-side/aoColumns.bUseRendered.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/4_server-side/aoColumns.bVisible.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/4_server-side/aoColumns.fnRender.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/4_server-side/aoColumns.sClass.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/4_server-side/aoColumns.sName.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/4_server-side/aoColumns.sTitle.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/4_server-side/aoColumns.sWidth.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/4_server-side/aoSearchCols.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/4_server-side/asStripClasses.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/4_server-side/bAutoWidth.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/4_server-side/bFilter.js delete mode 100755 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/4_server-side/bInfiniteScroll.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/4_server-side/bInfo.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/4_server-side/bLengthChange.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/4_server-side/bPaginate.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/4_server-side/bProcessing.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/4_server-side/bServerSide.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/4_server-side/bSort.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/4_server-side/bSortClasses.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/4_server-side/fnDrawCallback.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/4_server-side/fnHeaderCallback.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/4_server-side/fnInitComplete.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/4_server-side/fnRowCallback.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/4_server-side/iDisplayLength.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/4_server-side/oLanguage.oPaginate.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/4_server-side/oLanguage.sInfo.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/4_server-side/oLanguage.sInfoEmpty.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/4_server-side/oLanguage.sInfoPostFix.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/4_server-side/oLanguage.sLengthMenu.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/4_server-side/oLanguage.sProcessing.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/4_server-side/oLanguage.sSearch.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/4_server-side/oLanguage.sUrl.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/4_server-side/oLanguage.sZeroRecords.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/4_server-side/oSearch.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/4_server-side/sAjaxSource.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/4_server-side/sDom.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/tests_onhold/4_server-side/sPaginationType.js delete mode 100644 airtime_mvc/public/js/datatables/unit_testing/unit_test.js delete mode 100644 airtime_mvc/public/js/libs/jquery-1.5.1.min.js delete mode 100644 airtime_mvc/public/js/libs/jquery-1.5.2.min.js create mode 100644 airtime_mvc/public/js/qtip/jquery.qtip.js create mode 100644 airtime_mvc/public/js/qtip/jquery.qtip.min.js delete mode 100644 airtime_mvc/public/js/qtip/jquery.qtip2.min.js diff --git a/airtime_mvc/application/Bootstrap.php b/airtime_mvc/application/Bootstrap.php index ae351982c..04ac05feb 100644 --- a/airtime_mvc/application/Bootstrap.php +++ b/airtime_mvc/application/Bootstrap.php @@ -55,7 +55,7 @@ class Bootstrap extends Zend_Application_Bootstrap_Bootstrap $view->headLink()->appendStylesheet($baseUrl.'/css/redmond/jquery-ui-1.8.8.custom.css'); $view->headLink()->appendStylesheet($baseUrl.'/css/pro_dropdown_3.css'); - $view->headLink()->appendStylesheet($baseUrl.'/css/qtip/jquery.qtip.min.css'); + $view->headLink()->appendStylesheet($baseUrl.'/css/qtip/jquery.qtip.css'); $view->headLink()->appendStylesheet($baseUrl.'/css/styles.css'); } @@ -64,10 +64,10 @@ class Bootstrap extends Zend_Application_Bootstrap_Bootstrap $view = $this->getResource('view'); $baseUrl = Zend_Controller_Front::getInstance()->getBaseUrl(); - $view->headScript()->appendFile($baseUrl.'/js/libs/jquery-1.5.2.min.js','text/javascript'); + $view->headScript()->appendFile($baseUrl.'/js/libs/jquery-1.7.1.min.js','text/javascript'); $view->headScript()->appendFile($baseUrl.'/js/libs/jquery-ui-1.8.11.custom.min.js','text/javascript'); $view->headScript()->appendFile($baseUrl.'/js/libs/jquery.stickyPanel.js','text/javascript'); - $view->headScript()->appendFile($baseUrl.'/js/qtip/jquery.qtip2.min.js','text/javascript'); + $view->headScript()->appendFile($baseUrl.'/js/qtip/jquery.qtip.min.js','text/javascript'); $view->headScript()->appendFile($baseUrl.'/js/jplayer/jquery.jplayer.min.js'); $view->headScript()->appendScript("var baseUrl='$baseUrl/'"); diff --git a/airtime_mvc/application/controllers/LibraryController.php b/airtime_mvc/application/controllers/LibraryController.php index e1bc4fa9e..97b5fbdff 100644 --- a/airtime_mvc/application/controllers/LibraryController.php +++ b/airtime_mvc/application/controllers/LibraryController.php @@ -268,12 +268,12 @@ class LibraryController extends Zend_Controller_Action $id = $this->_getParam('id'); $type = $this->_getParam('type'); - if($type == "au") { + if($type == "audioclip") { $file = Application_Model_StoredFile::Recall($id); $this->view->type = $type; $this->view->md = $file->getMetadata(); } - else if($type == "pl") { + else if($type == "playlist") { $file = Application_Model_Playlist::Recall($id); $this->view->type = $type; $this->view->md = $file->getAllPLMetaData(); diff --git a/airtime_mvc/application/models/Scheduler.php b/airtime_mvc/application/models/Scheduler.php index 369bc731d..76a86e596 100644 --- a/airtime_mvc/application/models/Scheduler.php +++ b/airtime_mvc/application/models/Scheduler.php @@ -15,6 +15,7 @@ class Application_Model_Scheduler { public function __construct($id = null) { + $this->con = Propel::getConnection(CcSchedulePeer::DATABASE_NAME); } /* @@ -28,7 +29,7 @@ class Application_Model_Scheduler { $files = array(); if ($type === "audioclip") { - $file = CcFilesQuery::create()->findPK($id); + $file = CcFilesQuery::create()->findPK($id, $this->con); $data = $this->fileInfo; $data["id"] = $id; @@ -38,6 +39,23 @@ class Application_Model_Scheduler { } else if ($type === "playlist") { + $contents = CcPlaylistcontentsQuery::create() + ->orderByDbPosition() + ->filterByDbPlaylistId($id) + ->find($this->con); + + foreach ($contents as $plItem) { + + $data = $this->fileInfo; + $data["id"] = $plItem->getDbFileId(); + $data["cliplength"] = $plItem->getDbCliplength(); + $data["cuein"] = $plItem->getDbCuein(); + $data["cueout"] = $plItem->getDbCueout(); + $data["fadein"] = $plItem->getDbFadein(); + $data["fadeout"] = $plItem->getDbFadeout(); + + $files[] = $data; + } } return $files; @@ -67,7 +85,7 @@ class Application_Model_Scheduler { Logging::log("scheduling after scheduled item: ".$id); if ($id !== 0) { - $schedItem = CcScheduleQuery::create()->findPK($id); + $schedItem = CcScheduleQuery::create()->findPK($id, $this->con); $instance = $schedItem->getDbInstanceId(); //user has an old copy of the time line opened. @@ -80,7 +98,7 @@ class Application_Model_Scheduler { } //selected empty row to add after else { - $showInstance = CcShowInstancesQuery::create()->findPK($schedule["instance"]); + $showInstance = CcShowInstancesQuery::create()->findPK($schedule["instance"], $this->con); $nextStartDT = $showInstance->getDbStarts(null); $instance = intval($schedule["instance"]); } @@ -90,7 +108,7 @@ class Application_Model_Scheduler { ->filterByDBStarts($schedItem->getDbStarts("Y-m-d H:i:s.u"), Criteria::GREATER_THAN) ->filterByDbInstanceId($instance) ->orderByDbStarts() - ->find(); + ->find($this->con); } foreach($schedFiles as $file) { @@ -104,7 +122,7 @@ class Application_Model_Scheduler { //item existed previously and is being moved. //need to keep same id for resources if we want REST. if (isset($file['sched_id'])) { - $sched = CcScheduleQuery::create()->findPK($file['sched_id']); + $sched = CcScheduleQuery::create()->findPK($file['sched_id'], $this->con); } else { $sched = new CcSchedule(); @@ -155,7 +173,6 @@ class Application_Model_Scheduler { */ public function scheduleAfter($scheduleItems, $mediaItems, $adjustSched = true) { - $this->con = Propel::getConnection(CcSchedulePeer::DATABASE_NAME); $this->con->beginTransaction(); $schedFiles = array(); @@ -184,7 +201,6 @@ class Application_Model_Scheduler { */ public function moveItem($selectedItem, $afterItem, $adjustSched = true) { - $this->con = Propel::getConnection(CcSchedulePeer::DATABASE_NAME); $this->con->beginTransaction(); try { @@ -234,8 +250,6 @@ class Application_Model_Scheduler { public function removeItems($scheduledIds, $adjustSched = true) { $showInstances = array(); - - $this->con = Propel::getConnection(CcSchedulePeer::DATABASE_NAME); $this->con->beginTransaction(); try { @@ -275,14 +289,14 @@ class Application_Model_Scheduler { Logging::log("removing gaps from show instance #".$showInstance); - $instance = CcShowInstancesQuery::create()->findPK($showInstance); + $instance = CcShowInstancesQuery::create()->findPK($showInstance, $this->con); $itemStartDT = $instance->getDbStarts(null); $schedule = CcScheduleQuery::create() ->filterByDbInstanceId($showInstance) ->filterByDbId($exclude, Criteria::NOT_IN) ->orderByDbStarts() - ->find(); + ->find($this->con); foreach ($schedule as $item) { diff --git a/airtime_mvc/application/views/scripts/library/get-file-meta-data.ajax.phtml b/airtime_mvc/application/views/scripts/library/get-file-meta-data.ajax.phtml index 43af9afcf..77fcdf933 100644 --- a/airtime_mvc/application/views/scripts/library/get-file-meta-data.ajax.phtml +++ b/airtime_mvc/application/views/scripts/library/get-file-meta-data.ajax.phtml @@ -1,4 +1,4 @@ -type == "au") : ?> +type == "audioclip") : ?>
Title:md["MDATA_KEY_TITLE"]);?>
Artist:md["MDATA_KEY_CREATOR"]);?>
Album:md["MDATA_KEY_SOURCE"]);?>
@@ -19,7 +19,7 @@ -type == "pl") : ?> +type == "playlist") : ?>
Name:md["dc:title"]);?>
Creator:md["dc:creator"]);?>
Length:md["dcterms:extent"]);?>
diff --git a/airtime_mvc/public/css/datatables/css/TableTools.css b/airtime_mvc/public/css/datatables/css/TableTools.css new file mode 100755 index 000000000..84ae6363f --- /dev/null +++ b/airtime_mvc/public/css/datatables/css/TableTools.css @@ -0,0 +1,265 @@ +/* + * File: TableTools.css + * Description: Styles for TableTools 2 + * Author: Allan Jardine (www.sprymedia.co.uk) + * Language: Javascript + * License: LGPL / 3 point BSD + * Project: DataTables + * + * Copyright 2010 Allan Jardine, all rights reserved. + * + * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * + * CSS name space: + * DTTT DataTables TableTools + * + * Colour dictionary: + * Button border #d0d0d0 + * Button border hover #999999 + * Hover background #f0f0f0 + * Action blue #4b66d9 + * + * Style sheet provides: + * CONTAINER TableTools container element and styles applying to all components + * BUTTON_STYLES Action specific button styles + * SELECTING Row selection styles + * COLLECTIONS Drop down list (collection) styles + * PRINTING Print display styles + * MISC Minor misc styles + */ + + +/* + * CONTAINER + * TableTools container element and styles applying to all components + */ +div.DTTT_container { + position: relative; + float: right; + margin-bottom: 1em; +} + +button.DTTT_button { + position: relative; + float: left; + height: 30px; + margin-right: 3px; + padding: 3px 5px; + border: 1px solid #d0d0d0; + background-color: #fff; + cursor: pointer; + *cursor: hand; +} + +button.DTTT_button::-moz-focus-inner { + border: none !important; + padding: 0; +} + + +/* + * BUTTON_STYLES + * Action specific button styles + */ + +button.DTTT_button_csv { + padding-right: 30px; + background: url(../images/csv.png) no-repeat center right; +} + +button.DTTT_button_csv_hover { + padding-right: 30px; + border: 1px solid #999; + background: #f0f0f0 url(../images/csv_hover.png) no-repeat center right; +} + + +button.DTTT_button_xls { + padding-right: 30px; + background: url(../images/xls.png) no-repeat center right; +} + +button.DTTT_button_xls_hover { + padding-right: 30px; + border: 1px solid #999; + background: #f0f0f0 url(../images/xls_hover.png) no-repeat center right; +} + + +button.DTTT_button_copy { + padding-right: 30px; + background: url(../images/copy.png) no-repeat center right; +} + +button.DTTT_button_copy_hover { + padding-right: 30px; + border: 1px solid #999; + background: #f0f0f0 url(../images/copy_hover.png) no-repeat center right; +} + + +button.DTTT_button_pdf { + padding-right: 30px; + background: url(../images/pdf.png) no-repeat center right; +} + +button.DTTT_button_pdf_hover { + padding-right: 30px; + border: 1px solid #999; + background: #f0f0f0 url(../images/pdf_hover.png) no-repeat center right; +} + + +button.DTTT_button_print { + padding-right: 30px; + background: url(../images/print.png) no-repeat center right; +} + +button.DTTT_button_print_hover { + padding-right: 30px; + border: 1px solid #999; + background: #f0f0f0 url(../images/print_hover.png) no-repeat center right; +} + + +button.DTTT_button_text { +} + +button.DTTT_button_text_hover { + border: 1px solid #999; + background-color: #f0f0f0; +} + + +button.DTTT_button_collection { + padding-right: 17px; + background: url(../images/collection.png) no-repeat center right; +} + +button.DTTT_button_collection_hover { + padding-right: 17px; + border: 1px solid #999; + background: #f0f0f0 url(../images/collection_hover.png) no-repeat center right; +} + + +/* + * SELECTING + * Row selection styles + */ +table.DTTT_selectable tbody tr { + cursor: pointer; + *cursor: hand; +} + +tr.DTTT_selected.odd { + background-color: #9FAFD1; +} + +tr.DTTT_selected.odd td.sorting_1 { + background-color: #9FAFD1; +} + +tr.DTTT_selected.odd td.sorting_2 { + background-color: #9FAFD1; +} + +tr.DTTT_selected.odd td.sorting_3 { + background-color: #9FAFD1; +} + + +tr.DTTT_selected.even { + background-color: #B0BED9; +} + +tr.DTTT_selected.even td.sorting_1 { + background-color: #B0BED9; +} + +tr.DTTT_selected.even td.sorting_2 { + background-color: #B0BED9; +} + +tr.DTTT_selected.even td.sorting_3 { + background-color: #B0BED9; +} + + +/* + * COLLECTIONS + * Drop down list (collection) styles + */ + +div.DTTT_collection { + width: 150px; + padding: 3px; + border: 1px solid #ccc; + background-color: #f3f3f3; + overflow: hidden; + z-index: 2002; +} + +div.DTTT_collection_background { + background: transparent url(../images/background.png) repeat top left; + z-index: 2001; +} + +div.DTTT_collection button.DTTT_button { + float: none; + width: 100%; + margin-bottom: 2px; + background-color: white; +} + + +/* + * PRINTING + * Print display styles + */ + +.DTTT_print_info { + position: absolute; + top: 50%; + left: 50%; + width: 400px; + height: 150px; + margin-left: -200px; + margin-top: -75px; + text-align: center; + background-color: #3f3f3f; + color: white; + padding: 10px 30px; + + opacity: 0.9; + + border-radius: 5px; + -moz-border-radius: 5px; + -webkit-border-radius: 5px; + + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.5); + -moz-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.5); + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.5); +} + +.DTTT_print_info h6 { + font-weight: normal; + font-size: 28px; + line-height: 28px; + margin: 1em; +} + +.DTTT_print_info p { + font-size: 14px; + line-height: 20px; +} + + +/* + * MISC + * Minor misc styles + */ + +.DTTT_disabled { + color: #999; +} diff --git a/airtime_mvc/public/css/datatables/css/demo_page.css b/airtime_mvc/public/css/datatables/css/demo_page.css deleted file mode 100644 index aede410ab..000000000 --- a/airtime_mvc/public/css/datatables/css/demo_page.css +++ /dev/null @@ -1,92 +0,0 @@ -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * General page setup - */ -#dt_example { - font: 80%/1.45em "Lucida Grande", Verdana, Arial, Helvetica, sans-serif; - margin: 0; - padding: 0; - color: #333; - background-color: #fff; -} - - -#dt_example #container { - width: 800px; - margin: 30px auto; - padding: 0; -} - - -#dt_example #footer { - margin: 50px auto 0 auto; - padding: 0; -} - -#dt_example #demo { - margin: 30px auto 0 auto; -} - -#dt_example .demo_jui { - margin: 30px auto 0 auto; -} - -#dt_example .big { - font-size: 1.3em; - font-weight: bold; - line-height: 1.6em; - color: #4E6CA3; -} - -#dt_example .spacer { - height: 20px; - clear: both; -} - -#dt_example .clear { - clear: both; -} - -#dt_example pre { - padding: 15px; - background-color: #F5F5F5; - border: 1px solid #CCCCCC; -} - -#dt_example h1 { - margin-top: 2em; - font-size: 1.3em; - font-weight: normal; - line-height: 1.6em; - color: #4E6CA3; - border-bottom: 1px solid #B0BED9; - clear: both; -} - -#dt_example h2 { - font-size: 1.2em; - font-weight: normal; - line-height: 1.6em; - color: #4E6CA3; - clear: both; -} - -#dt_example a { - color: #0063DC; - text-decoration: none; -} - -#dt_example a:hover { - text-decoration: underline; -} - -#dt_example ul { - color: #4E6CA3; -} - -.css_right { - float: right; -} - -.css_left { - float: left; -} \ No newline at end of file diff --git a/airtime_mvc/public/css/datatables/css/demo_table.css b/airtime_mvc/public/css/datatables/css/demo_table.css deleted file mode 100644 index 3bc043379..000000000 --- a/airtime_mvc/public/css/datatables/css/demo_table.css +++ /dev/null @@ -1,538 +0,0 @@ -/* - * File: demo_table.css - * CVS: $Id$ - * Description: CSS descriptions for DataTables demo pages - * Author: Allan Jardine - * Created: Tue May 12 06:47:22 BST 2009 - * Modified: $Date$ by $Author$ - * Language: CSS - * Project: DataTables - * - * Copyright 2009 Allan Jardine. All Rights Reserved. - * - * *************************************************************************** - * DESCRIPTION - * - * The styles given here are suitable for the demos that are used with the standard DataTables - * distribution (see www.datatables.net). You will most likely wish to modify these styles to - * meet the layout requirements of your site. - * - * Common issues: - * 'full_numbers' pagination - I use an extra selector on the body tag to ensure that there is - * no conflict between the two pagination types. If you want to use full_numbers pagination - * ensure that you either have "example_alt_pagination" as a body class name, or better yet, - * modify that selector. - * Note that the path used for Images is relative. All images are by default located in - * ../images/ - relative to this CSS file. - */ - -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * DataTables features - */ - -.dataTables_wrapper { - position: relative; - min-height: 302px; - clear: both; - _height: 302px; - zoom: 1; /* Feeling sorry for IE */ -} - -.dataTables_processing { - position: absolute; - top: 50%; - left: 50%; - width: 250px; - height: 30px; - margin-left: -125px; - margin-top: -15px; - padding: 14px 0 2px 0; - border: 1px solid #ddd; - text-align: center; - color: #999; - font-size: 14px; - background-color: white; -} - -.dataTables_length { - width: 40%; - float: left; -} - -.dataTables_filter { - width: 50%; - float: right; - text-align: right; -} - -.dataTables_info { - width: 60%; - float: left; -} - -.dataTables_paginate { - width: 44px; - * width: 50px; - float: right; - text-align: right; -} - -/* Pagination nested */ -.paginate_disabled_previous, .paginate_enabled_previous, .paginate_disabled_next, .paginate_enabled_next { - height: 19px; - width: 19px; - margin-left: 3px; - float: left; -} - -.paginate_disabled_previous { - background-image: url('../images/back_disabled.jpg'); -} - -.paginate_enabled_previous { - background-image: url('../images/back_enabled.jpg'); -} - -.paginate_disabled_next { - background-image: url('../images/forward_disabled.jpg'); -} - -.paginate_enabled_next { - background-image: url('../images/forward_enabled.jpg'); -} - - - -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * DataTables display - */ -table.display { - margin: 0 auto; - clear: both; - width: 100%; - - /* Note Firefox 3.5 and before have a bug with border-collapse - * ( https://bugzilla.mozilla.org/show%5Fbug.cgi?id=155955 ) - * border-spacing: 0; is one possible option. Conditional-css.com is - * useful for this kind of thing - * - * Further note IE 6/7 has problems when calculating widths with border width. - * It subtracts one px relative to the other browsers from the first column, and - * adds one to the end... - * - * If you want that effect I'd suggest setting a border-top/left on th/td's and - * then filling in the gaps with other borders. - */ -} - -table.display thead th { - padding: 3px 18px 3px 10px; - border-bottom: 1px solid black; - font-weight: bold; - cursor: pointer; - * cursor: hand; -} - -table.display tfoot th { - padding: 3px 18px 3px 10px; - border-top: 1px solid black; - font-weight: bold; -} - -table.display tr.heading2 td { - border-bottom: 1px solid #aaa; -} - -table.display td { - padding: 3px 10px; -} - -table.display td.center { - text-align: center; -} - - - -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * DataTables sorting - */ - -.sorting_asc { - background: url('../images/sort_asc.png') no-repeat center right; -} - -.sorting_desc { - background: url('../images/sort_desc.png') no-repeat center right; -} - -.sorting { - background: url('../images/sort_both.png') no-repeat center right; -} - -.sorting_asc_disabled { - background: url('../images/sort_asc_disabled.png') no-repeat center right; -} - -.sorting_desc_disabled { - background: url('../images/sort_desc_disabled.png') no-repeat center right; -} - - - - - -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * DataTables row classes - */ -table.display tr.odd.gradeA { - background-color: #ddffdd; -} - -table.display tr.even.gradeA { - background-color: #eeffee; -} - -table.display tr.odd.gradeC { - background-color: #ddddff; -} - -table.display tr.even.gradeC { - background-color: #eeeeff; -} - -table.display tr.odd.gradeX { - background-color: #ffdddd; -} - -table.display tr.even.gradeX { - background-color: #ffeeee; -} - -table.display tr.odd.gradeU { - background-color: #ddd; -} - -table.display tr.even.gradeU { - background-color: #eee; -} - - -tr.odd { - background-color: #E2E4FF; -} - -tr.even { - background-color: white; -} - - - - - -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Misc - */ -.dataTables_scroll { - clear: both; -} - -.dataTables_scrollBody { - *margin-top: -1px; -} - -.top, .bottom { - padding: 15px; - background-color: #F5F5F5; - border: 1px solid #CCCCCC; -} - -.top .dataTables_info { - float: none; -} - -.clear { - clear: both; -} - -.dataTables_empty { - text-align: center; -} - -tfoot input { - margin: 0.5em 0; - width: 100%; - color: #444; -} - -tfoot input.search_init { - color: #999; -} - -td.group { - background-color: #d1cfd0; - border-bottom: 2px solid #A19B9E; - border-top: 2px solid #A19B9E; -} - -td.details { - background-color: #d1cfd0; - border: 2px solid #A19B9E; -} - - -.example_alt_pagination div.dataTables_info { - width: 40%; -} - -.paging_full_numbers { - width: 400px; - height: 22px; - line-height: 22px; -} - -.paging_full_numbers span.paginate_button, - .paging_full_numbers span.paginate_active { - border: 1px solid #aaa; - -webkit-border-radius: 5px; - -moz-border-radius: 5px; - padding: 2px 5px; - margin: 0 3px; - cursor: pointer; - *cursor: hand; -} - -.paging_full_numbers span.paginate_button { - background-color: #ddd; -} - -.paging_full_numbers span.paginate_button:hover { - background-color: #ccc; -} - -.paging_full_numbers span.paginate_active { - background-color: #99B3FF; -} - -table.display tr.even.row_selected td { - background-color: #B0BED9; -} - -table.display tr.odd.row_selected td { - background-color: #9FAFD1; -} - - -/* - * Sorting classes for columns - */ -/* For the standard odd/even */ -tr.odd td.sorting_1 { - background-color: #D3D6FF; -} - -tr.odd td.sorting_2 { - background-color: #DADCFF; -} - -tr.odd td.sorting_3 { - background-color: #E0E2FF; -} - -tr.even td.sorting_1 { - background-color: #EAEBFF; -} - -tr.even td.sorting_2 { - background-color: #F2F3FF; -} - -tr.even td.sorting_3 { - background-color: #F9F9FF; -} - - -/* For the Conditional-CSS grading rows */ -/* - Colour calculations (based off the main row colours) - Level 1: - dd > c4 - ee > d5 - Level 2: - dd > d1 - ee > e2 - */ -tr.odd.gradeA td.sorting_1 { - background-color: #c4ffc4; -} - -tr.odd.gradeA td.sorting_2 { - background-color: #d1ffd1; -} - -tr.odd.gradeA td.sorting_3 { - background-color: #d1ffd1; -} - -tr.even.gradeA td.sorting_1 { - background-color: #d5ffd5; -} - -tr.even.gradeA td.sorting_2 { - background-color: #e2ffe2; -} - -tr.even.gradeA td.sorting_3 { - background-color: #e2ffe2; -} - -tr.odd.gradeC td.sorting_1 { - background-color: #c4c4ff; -} - -tr.odd.gradeC td.sorting_2 { - background-color: #d1d1ff; -} - -tr.odd.gradeC td.sorting_3 { - background-color: #d1d1ff; -} - -tr.even.gradeC td.sorting_1 { - background-color: #d5d5ff; -} - -tr.even.gradeC td.sorting_2 { - background-color: #e2e2ff; -} - -tr.even.gradeC td.sorting_3 { - background-color: #e2e2ff; -} - -tr.odd.gradeX td.sorting_1 { - background-color: #ffc4c4; -} - -tr.odd.gradeX td.sorting_2 { - background-color: #ffd1d1; -} - -tr.odd.gradeX td.sorting_3 { - background-color: #ffd1d1; -} - -tr.even.gradeX td.sorting_1 { - background-color: #ffd5d5; -} - -tr.even.gradeX td.sorting_2 { - background-color: #ffe2e2; -} - -tr.even.gradeX td.sorting_3 { - background-color: #ffe2e2; -} - -tr.odd.gradeU td.sorting_1 { - background-color: #c4c4c4; -} - -tr.odd.gradeU td.sorting_2 { - background-color: #d1d1d1; -} - -tr.odd.gradeU td.sorting_3 { - background-color: #d1d1d1; -} - -tr.even.gradeU td.sorting_1 { - background-color: #d5d5d5; -} - -tr.even.gradeU td.sorting_2 { - background-color: #e2e2e2; -} - -tr.even.gradeU td.sorting_3 { - background-color: #e2e2e2; -} - - -/* - * Row highlighting example - */ -.ex_highlight #example tbody tr.even:hover, #example tbody tr.even td.highlighted { - background-color: #ECFFB3; -} - -.ex_highlight #example tbody tr.odd:hover, #example tbody tr.odd td.highlighted { - background-color: #E6FF99; -} - -.ex_highlight_row #example tr.even:hover { - background-color: #ECFFB3; -} - -.ex_highlight_row #example tr.even:hover td.sorting_1 { - background-color: #DDFF75; -} - -.ex_highlight_row #example tr.even:hover td.sorting_2 { - background-color: #E7FF9E; -} - -.ex_highlight_row #example tr.even:hover td.sorting_3 { - background-color: #E2FF89; -} - -.ex_highlight_row #example tr.odd:hover { - background-color: #E6FF99; -} - -.ex_highlight_row #example tr.odd:hover td.sorting_1 { - background-color: #D6FF5C; -} - -.ex_highlight_row #example tr.odd:hover td.sorting_2 { - background-color: #E0FF84; -} - -.ex_highlight_row #example tr.odd:hover td.sorting_3 { - background-color: #DBFF70; -} - - -/* - * KeyTable - */ -table.KeyTable td { - border: 3px solid transparent; -} - -table.KeyTable td.focus { - border: 3px solid #3366FF; -} - -table.display tr.gradeA { - background-color: #eeffee; -} - -table.display tr.gradeC { - background-color: #ddddff; -} - -table.display tr.gradeX { - background-color: #ffdddd; -} - -table.display tr.gradeU { - background-color: #ddd; -} - -div.box { - height: 100px; - padding: 10px; - overflow: auto; - border: 1px solid #8080FF; - background-color: #E5E5FF; -} diff --git a/airtime_mvc/public/css/datatables/css/demo_table_jui.css b/airtime_mvc/public/css/datatables/css/demo_table_jui.css deleted file mode 100644 index b81a1cf99..000000000 --- a/airtime_mvc/public/css/datatables/css/demo_table_jui.css +++ /dev/null @@ -1,513 +0,0 @@ -/* - * File: demo_table_jui.css - * CVS: $Id$ - * Description: CSS descriptions for DataTables demo pages - * Author: Allan Jardine - * Created: Tue May 12 06:47:22 BST 2009 - * Modified: $Date$ by $Author$ - * Language: CSS - * Project: DataTables - * - * Copyright 2009 Allan Jardine. All Rights Reserved. - * - * *************************************************************************** - * DESCRIPTION - * - * The styles given here are suitable for the demos that are used with the standard DataTables - * distribution (see www.datatables.net). You will most likely wish to modify these styles to - * meet the layout requirements of your site. - * - * Common issues: - * 'full_numbers' pagination - I use an extra selector on the body tag to ensure that there is - * no conflict between the two pagination types. If you want to use full_numbers pagination - * ensure that you either have "example_alt_pagination" as a body class name, or better yet, - * modify that selector. - * Note that the path used for Images is relative. All images are by default located in - * ../images/ - relative to this CSS file. - */ - - -/* - * jQuery UI specific styling - */ - -.paging_two_button .ui-button { - float: left; - cursor: pointer; - * cursor: hand; -} - -.paging_full_numbers .ui-button { - padding: 2px 6px; - margin: 0; - cursor: pointer; - * cursor: hand; -} - -.ui-buttonset .ui-button { - margin-right: -0.1em !important; -} - -.paging_full_numbers { - width: 350px !important; -} - -.ui-toolbar { - padding: 5px; -} - -.dataTables_paginate { - width: auto; -} - -.dataTables_info { - padding-top: 3px; -} - -table.display thead th { - padding: 3px 0px 3px 10px; - cursor: pointer; - * cursor: hand; -} - -div.dataTables_wrapper .ui-widget-header { - font-weight: normal; -} - - -/* - * Sort arrow icon positioning - */ -table.display thead th div.DataTables_sort_wrapper { - position: relative; - padding-right: 20px; - padding-right: 20px; -} - -table.display thead th div.DataTables_sort_wrapper span { - position: absolute; - top: 50%; - margin-top: -8px; - right: 0; -} - - - - -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * - * Everything below this line is the same as demo_table.css. This file is - * required for 'cleanliness' of the markup - * - * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - - - -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * DataTables features - */ - -.dataTables_wrapper { - position: relative; - min-height: 302px; - _height: 302px; - clear: both; -} - -.dataTables_processing { - position: absolute; - top: 0px; - left: 50%; - width: 250px; - margin-left: -125px; - border: 1px solid #ddd; - text-align: center; - color: #999; - font-size: 11px; - padding: 2px 0; -} - -.dataTables_length { - width: 40%; - float: left; -} - -.dataTables_filter { - width: 50%; - float: right; - text-align: right; -} - -.dataTables_info { - width: 50%; - float: left; -} - -.dataTables_paginate { - float: right; - text-align: right; -} - -/* Pagination nested */ -.paginate_disabled_previous, .paginate_enabled_previous, .paginate_disabled_next, .paginate_enabled_next { - height: 19px; - width: 19px; - margin-left: 3px; - float: left; -} - -.paginate_disabled_previous { - background-image: url('../images/back_disabled.jpg'); -} - -.paginate_enabled_previous { - background-image: url('../images/back_enabled.jpg'); -} - -.paginate_disabled_next { - background-image: url('../images/forward_disabled.jpg'); -} - -.paginate_enabled_next { - background-image: url('../images/forward_enabled.jpg'); -} - - - -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * DataTables display - */ -table.display { - margin: 0 auto; - width: 100%; - clear: both; - border-collapse: collapse; -} - -table.display tfoot th { - padding: 3px 0px 3px 10px; - font-weight: bold; - font-weight: normal; -} - -table.display tr.heading2 td { - border-bottom: 1px solid #aaa; -} - -table.display td { - padding: 3px 10px; -} - -table.display td.center { - text-align: center; -} - - - -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * DataTables sorting - */ - -.sorting_asc { - background: url('../images/sort_asc.jpg') no-repeat center right; -} - -.sorting_desc { - background: url('../images/sort_desc.jpg') no-repeat center right; -} - -.sorting { - background: url('../images/sort_both.jpg') no-repeat center right; -} - - - - -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * DataTables row classes - */ -table.display tr.odd.gradeA { - background-color: #ddffdd; -} - -table.display tr.even.gradeA { - background-color: #eeffee; -} - - - - -table.display tr.odd.gradeA { - background-color: #ddffdd; -} - -table.display tr.even.gradeA { - background-color: #eeffee; -} - -table.display tr.odd.gradeC { - background-color: #ddddff; -} - -table.display tr.even.gradeC { - background-color: #eeeeff; -} - -table.display tr.odd.gradeX { - background-color: #ffdddd; -} - -table.display tr.even.gradeX { - background-color: #ffeeee; -} - -table.display tr.odd.gradeU { - background-color: #ddd; -} - -table.display tr.even.gradeU { - background-color: #eee; -} - - -tr.odd { - background-color: #E2E4FF; -} - -tr.even { - background-color: white; -} - - - - - -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Misc - */ -.dataTables_scroll { - clear: both; -} - -.top, .bottom { - padding: 15px; - background-color: #F5F5F5; - border: 1px solid #CCCCCC; -} - -.top .dataTables_info { - float: none; -} - -.clear { - clear: both; -} - -.dataTables_empty { - text-align: center; -} - -tfoot input { - margin: 0.5em 0; - width: 100%; - color: #444; -} - -tfoot input.search_init { - color: #999; -} - -td.group { - background-color: #d1cfd0; - border-bottom: 2px solid #A19B9E; - border-top: 2px solid #A19B9E; -} - -td.details { - background-color: #d1cfd0; - border: 2px solid #A19B9E; -} - - -.example_alt_pagination div.dataTables_info { - width: 40%; -} - -.paging_full_numbers span.paginate_button, - .paging_full_numbers span.paginate_active { - border: 1px solid #aaa; - -webkit-border-radius: 5px; - -moz-border-radius: 5px; - padding: 2px 5px; - margin: 0 3px; - cursor: pointer; - *cursor: hand; -} - -.paging_full_numbers span.paginate_button { - background-color: #ddd; -} - -.paging_full_numbers span.paginate_button:hover { - background-color: #ccc; -} - -.paging_full_numbers span.paginate_active { - background-color: #99B3FF; -} - -table.display tr.even.row_selected td { - background-color: #B0BED9; -} - -table.display tr.odd.row_selected td { - background-color: #9FAFD1; -} - - -/* - * Sorting classes for columns - */ -/* For the standard odd/even */ -tr.odd td.sorting_1 { - background-color: #D3D6FF; -} - -tr.odd td.sorting_2 { - background-color: #DADCFF; -} - -tr.odd td.sorting_3 { - background-color: #E0E2FF; -} - -tr.even td.sorting_1 { - background-color: #EAEBFF; -} - -tr.even td.sorting_2 { - background-color: #F2F3FF; -} - -tr.even td.sorting_3 { - background-color: #F9F9FF; -} - - -/* For the Conditional-CSS grading rows */ -/* - Colour calculations (based off the main row colours) - Level 1: - dd > c4 - ee > d5 - Level 2: - dd > d1 - ee > e2 - */ -tr.odd.gradeA td.sorting_1 { - background-color: #c4ffc4; -} - -tr.odd.gradeA td.sorting_2 { - background-color: #d1ffd1; -} - -tr.odd.gradeA td.sorting_3 { - background-color: #d1ffd1; -} - -tr.even.gradeA td.sorting_1 { - background-color: #d5ffd5; -} - -tr.even.gradeA td.sorting_2 { - background-color: #e2ffe2; -} - -tr.even.gradeA td.sorting_3 { - background-color: #e2ffe2; -} - -tr.odd.gradeC td.sorting_1 { - background-color: #c4c4ff; -} - -tr.odd.gradeC td.sorting_2 { - background-color: #d1d1ff; -} - -tr.odd.gradeC td.sorting_3 { - background-color: #d1d1ff; -} - -tr.even.gradeC td.sorting_1 { - background-color: #d5d5ff; -} - -tr.even.gradeC td.sorting_2 { - background-color: #e2e2ff; -} - -tr.even.gradeC td.sorting_3 { - background-color: #e2e2ff; -} - -tr.odd.gradeX td.sorting_1 { - background-color: #ffc4c4; -} - -tr.odd.gradeX td.sorting_2 { - background-color: #ffd1d1; -} - -tr.odd.gradeX td.sorting_3 { - background-color: #ffd1d1; -} - -tr.even.gradeX td.sorting_1 { - background-color: #ffd5d5; -} - -tr.even.gradeX td.sorting_2 { - background-color: #ffe2e2; -} - -tr.even.gradeX td.sorting_3 { - background-color: #ffe2e2; -} - -tr.odd.gradeU td.sorting_1 { - background-color: #c4c4c4; -} - -tr.odd.gradeU td.sorting_2 { - background-color: #d1d1d1; -} - -tr.odd.gradeU td.sorting_3 { - background-color: #d1d1d1; -} - -tr.even.gradeU td.sorting_1 { - background-color: #d5d5d5; -} - -tr.even.gradeU td.sorting_2 { - background-color: #e2e2e2; -} - -tr.even.gradeU td.sorting_3 { - background-color: #e2e2e2; -} - - -/* - * Row highlighting example - */ -.ex_highlight #example tbody tr.even:hover, #example tbody tr.even td.highlighted { - background-color: #ECFFB3; -} - -.ex_highlight #example tbody tr.odd:hover, #example tbody tr.odd td.highlighted { - background-color: #E6FF99; -} \ No newline at end of file diff --git a/airtime_mvc/public/css/datatables/css/jquery.dataTables.css b/airtime_mvc/public/css/datatables/css/jquery.dataTables.css new file mode 100644 index 000000000..dda16c419 --- /dev/null +++ b/airtime_mvc/public/css/datatables/css/jquery.dataTables.css @@ -0,0 +1,219 @@ + +/* + * Table + */ +table.dataTable { + margin: 0 auto; + clear: both; + width: 100%; +} + +table.dataTable thead th { + padding: 3px 18px 3px 10px; + border-bottom: 1px solid black; + font-weight: bold; + cursor: pointer; + *cursor: hand; +} + +table.dataTable tfoot th { + padding: 3px 18px 3px 10px; + border-top: 1px solid black; + font-weight: bold; +} + +table.dataTable td { + padding: 3px 10px; +} + +table.dataTable td.center, +table.dataTable td.dataTables_empty { + text-align: center; +} + +table.dataTable tr.odd { background-color: #E2E4FF; } +table.dataTable tr.even { background-color: white; } + +table.dataTable tr.odd td.sorting_1 { background-color: #D3D6FF; } +table.dataTable tr.odd td.sorting_2 { background-color: #DADCFF; } +table.dataTable tr.odd td.sorting_3 { background-color: #E0E2FF; } +table.dataTable tr.even td.sorting_1 { background-color: #EAEBFF; } +table.dataTable tr.even td.sorting_2 { background-color: #F2F3FF; } +table.dataTable tr.even td.sorting_3 { background-color: #F9F9FF; } + + +/* + * Table wrapper + */ +.dataTables_wrapper { + position: relative; + clear: both; + *zoom: 1; +} + + +/* + * Page length menu + */ +.dataTables_length { + float: left; +} + + +/* + * Filter + */ +.dataTables_filter { + float: right; + text-align: right; +} + + +/* + * Table information + */ +.dataTables_info { + clear: both; + float: left; +} + + +/* + * Pagination + */ +.dataTables_paginate { + float: right; + text-align: right; +} + +/* Two button pagination - previous / next */ +.paginate_disabled_previous, +.paginate_enabled_previous, +.paginate_disabled_next, +.paginate_enabled_next { + height: 19px; + float: left; + cursor: pointer; + *cursor: hand; + color: #111 !important; +} +.paginate_disabled_previous:hover, +.paginate_enabled_previous:hover, +.paginate_disabled_next:hover, +.paginate_enabled_next:hover { + text-decoration: none !important; +} +.paginate_disabled_previous:active, +.paginate_enabled_previous:active, +.paginate_disabled_next:active, +.paginate_enabled_next:active { + outline: none; +} + +.paginate_disabled_previous, +.paginate_disabled_next { + color: #666 !important; +} +.paginate_disabled_previous, +.paginate_enabled_previous { + padding-left: 23px; +} +.paginate_disabled_next, +.paginate_enabled_next { + padding-right: 23px; + margin-left: 10px; +} + +.paginate_enabled_previous { background: url('../images/back_enabled.png') no-repeat top left; } +.paginate_enabled_previous:hover { background: url('../images/back_enabled_hover.png') no-repeat top left; } +.paginate_disabled_previous { background: url('../images/back_disabled.png') no-repeat top left; } + +.paginate_enabled_next { background: url('../images/forward_enabled.png') no-repeat top right; } +.paginate_enabled_next:hover { background: url('../images/forward_enabled_hover.png') no-repeat top right; } +.paginate_disabled_next { background: url('../images/forward_disabled.png') no-repeat top right; } + +/* Full number pagination */ +.paging_full_numbers { + height: 22px; + line-height: 22px; +} +.paging_full_numbers a:active { + outline: none +} +.paging_full_numbers a:hover { + text-decoration: none; +} + +.paging_full_numbers a.paginate_button, +.paging_full_numbers a.paginate_active { + border: 1px solid #aaa; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + border-radius: 5px; + padding: 2px 5px; + margin: 0 3px; + cursor: pointer; + *cursor: hand; + color: #333 !important; +} + +.paging_full_numbers a.paginate_button { + background-color: #ddd; +} + +.paging_full_numbers a.paginate_button:hover { + background-color: #ccc; + text-decoration: none !important; +} + +.paging_full_numbers a.paginate_active { + background-color: #99B3FF; +} + + +/* + * Processing indicator + */ +.dataTables_processing { + position: absolute; + top: 50%; + left: 50%; + width: 250px; + height: 30px; + margin-left: -125px; + margin-top: -15px; + padding: 14px 0 2px 0; + border: 1px solid #ddd; + text-align: center; + color: #999; + font-size: 14px; + background-color: white; +} + + +/* + * Sorting + */ +.sorting { background: url('../images/sort_both.png') no-repeat center right; } +.sorting_asc { background: url('../images/sort_asc.png') no-repeat center right; } +.sorting_desc { background: url('../images/sort_desc.png') no-repeat center right; } + +.sorting_asc_disabled { background: url('../images/sort_asc_disabled.png') no-repeat center right; } +.sorting_desc_disabled { background: url('../images/sort_desc_disabled.png') no-repeat center right; } + +table.dataTable th:active { + outline: none; +} + + +/* + * Scrolling + */ +.dataTables_scroll { + clear: both; +} + +.dataTables_scrollBody { + *margin-top: -1px; +} + diff --git a/airtime_mvc/public/css/datatables/css/jquery.dataTables_themeroller.css b/airtime_mvc/public/css/datatables/css/jquery.dataTables_themeroller.css new file mode 100644 index 000000000..94a24c8c4 --- /dev/null +++ b/airtime_mvc/public/css/datatables/css/jquery.dataTables_themeroller.css @@ -0,0 +1,243 @@ + + +/* + * Table + */ +table.dataTable { + margin: 0 auto; + clear: both; + width: 100%; +} + +table.dataTable thead th { + padding: 3px 0px 3px 10px; + cursor: pointer; + *cursor: hand; +} + +table.dataTable tfoot th { + padding: 3px 10px; +} + +table.dataTable td { + padding: 3px 10px; +} + +table.dataTable td.center, +table.dataTable td.dataTables_empty { + text-align: center; +} + +table.dataTable tr.odd { background-color: #E2E4FF; } +table.dataTable tr.even { background-color: white; } + +table.dataTable tr.odd td.sorting_1 { background-color: #D3D6FF; } +table.dataTable tr.odd td.sorting_2 { background-color: #DADCFF; } +table.dataTable tr.odd td.sorting_3 { background-color: #E0E2FF; } +table.dataTable tr.even td.sorting_1 { background-color: #EAEBFF; } +table.dataTable tr.even td.sorting_2 { background-color: #F2F3FF; } +table.dataTable tr.even td.sorting_3 { background-color: #F9F9FF; } + + +/* + * Table wrapper + */ +.dataTables_wrapper { + position: relative; + clear: both; + *zoom: 1; +} +.dataTables_wrapper .ui-widget-header { + font-weight: normal; +} +.dataTables_wrapper .ui-toolbar { + padding: 5px; +} + + +/* + * Page length menu + */ +.dataTables_length { + float: left; +} + + +/* + * Filter + */ +.dataTables_filter { + float: right; + text-align: right; +} + + +/* + * Table information + */ +.dataTables_info { + padding-top: 3px; + clear: both; + float: left; +} + + +/* + * Pagination + */ +.dataTables_paginate { + float: right; + text-align: right; +} + +.dataTables_paginate .ui-button { + margin-right: -0.1em !important; +} + +.paging_two_button .ui-button { + float: left; + cursor: pointer; + * cursor: hand; +} + +.paging_full_numbers .ui-button { + padding: 2px 6px; + margin: 0; + cursor: pointer; + * cursor: hand; + color: #333 !important; +} + +/* Two button pagination - previous / next */ +.paginate_disabled_previous, +.paginate_enabled_previous, +.paginate_disabled_next, +.paginate_enabled_next { + height: 19px; + float: left; + cursor: pointer; + *cursor: hand; + color: #111 !important; +} +.paginate_disabled_previous:hover, +.paginate_enabled_previous:hover, +.paginate_disabled_next:hover, +.paginate_enabled_next:hover { + text-decoration: none !important; +} +.paginate_disabled_previous:active, +.paginate_enabled_previous:active, +.paginate_disabled_next:active, +.paginate_enabled_next:active { + outline: none; +} + +.paginate_disabled_previous, +.paginate_disabled_next { + color: #666 !important; +} +.paginate_disabled_previous, +.paginate_enabled_previous { + padding-left: 23px; +} +.paginate_disabled_next, +.paginate_enabled_next { + padding-right: 23px; + margin-left: 10px; +} + +.paginate_enabled_previous { background: url('../images/back_enabled.png') no-repeat top left; } +.paginate_enabled_previous:hover { background: url('../images/back_enabled_hover.png') no-repeat top left; } +.paginate_disabled_previous { background: url('../images/back_disabled.png') no-repeat top left; } + +.paginate_enabled_next { background: url('../images/forward_enabled.png') no-repeat top right; } +.paginate_enabled_next:hover { background: url('../images/forward_enabled_hover.png') no-repeat top right; } +.paginate_disabled_next { background: url('../images/forward_disabled.png') no-repeat top right; } + +/* Full number pagination */ +.paging_full_numbers a:active { + outline: none +} +.paging_full_numbers a:hover { + text-decoration: none; +} + +.paging_full_numbers a.paginate_button, +.paging_full_numbers a.paginate_active { + border: 1px solid #aaa; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + border-radius: 5px; + padding: 2px 5px; + margin: 0 3px; + cursor: pointer; + *cursor: hand; + color: #333 !important; +} + +.paging_full_numbers a.paginate_button { + background-color: #ddd; +} + +.paging_full_numbers a.paginate_button:hover { + background-color: #ccc; + text-decoration: none !important; +} + +.paging_full_numbers a.paginate_active { + background-color: #99B3FF; +} + + +/* + * Processing indicator + */ +.dataTables_processing { + position: absolute; + top: 50%; + left: 50%; + width: 250px; + height: 30px; + margin-left: -125px; + margin-top: -15px; + padding: 14px 0 2px 0; + border: 1px solid #ddd; + text-align: center; + color: #999; + font-size: 14px; + background-color: white; +} + + +/* + * Sorting + */ +table.dataTable thead th div.DataTables_sort_wrapper { + position: relative; + padding-right: 20px; + padding-right: 20px; +} + +table.dataTable thead th div.DataTables_sort_wrapper span { + position: absolute; + top: 50%; + margin-top: -8px; + right: 0; +} + +table.dataTable th:active { + outline: none; +} + + +/* + * Scrolling + */ +.dataTables_scroll { + clear: both; +} + +.dataTables_scrollBody { + *margin-top: -1px; +} + diff --git a/airtime_mvc/public/css/datatables/images/back_disabled.jpg b/airtime_mvc/public/css/datatables/images/back_disabled.jpg deleted file mode 100644 index 1e73a546e3609636f9cf4c543c2a4fe4050866c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 612 zcmex=C5UDGKfoZ!!63{a%*-grz$D1XEXer(2tyUn z+02YUSHb}sD?0}l&^EXLguy7lz`(-H!phDIlVN0HVHIR%V-ON%S2Pq6HFFG{Xryc+ zmRQ($@S#&sld*HEn>dFcBLmQ_$YwDLDjGT#PW*q1fd^^;oX+iLI)z|@;wX;U8Xr> zT8Qgxn;R!Cottl}#(8Ri${a3d=J*$R5qBRbK9bRJe*4BYwq9(uIM4mLS9%TSY?*y6 zE==owYH)vf>dq6(Uzum+IyVJqc3N&dRPD57vW(=l(=(DZ-K_!LSx zwPk@>bN@4B-OI9gCf>Wc_;CDAS%c@BJZ}kBlbDz~@y-*&Y^_U+@};q`xNUthN} On^Cj9W}Eu@|2F})$f79# diff --git a/airtime_mvc/public/css/datatables/images/back_disabled.png b/airtime_mvc/public/css/datatables/images/back_disabled.png new file mode 100644 index 0000000000000000000000000000000000000000..881de7976ff98955e2a5487dca66e618a0655f3d GIT binary patch literal 1361 zcmeAS@N?(olHy`uVBq!ia0vp^!XV7S1|*9D%+3HQ$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%u1Od5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|80+w{G(j&jGsVin+1c5}%-r12$=KP@(AChw*vQht)WY1&)XmVs z#Kj1v*Cju>G&eP`1g19yq1OVZUQklVEdbi=l3J8mmYU*Ll%J~r_OewbZnv1?G!Lpb z1-DzwaO%|uIz}H9u}BdO69T3l5EGtkfgE_kPt60S_99@i-f{BMZ3YI$qn<8~Ar-gQ zOt$tu93XPMc=CmoA1oW4o1+WYIB!k3r72K4*@xA>;l+b1ClB@qaOE!8@r8RwiN1wc zl+_Cb3(lEQAv#$bmh>Mfe(I7Woy4{G!}EFf?)^FUc%F02^;EH~5owLt3k}+qS-P)U z616t%^wT0PX2liq$807FHoQ4d$0`5rkQ{U2Kkgclu0)Awnd5T>ob((vrABTq*u(RS z>E?oy`!@uw+@i*D$dKV&#I(EL&;9;u$GTQAMM5faVZejQCzo(NvvlZ75dZt%IYnd( z*RL;GX3W}R-P)5>-Zsu`&nUT&Ho^GzHq{#}Ya$hT91>M0@O`!9^}b&yQ@87fac$Vj zkb72h`!2pMTYunpu!r@;1)uFRXDvHO zu{mw?PmW#JOy1f}J}ILj)G2cQ^TrhhTtyr5@7eCYm=Uoy?6qTPsOnt5?2i>S(pg>~ z>M~M93=YlxcD}*xKl_@hz5j0IZGT@9Yu_^8_RN8=&YkAdFR(fGAAWd4CvkG#0^hlN z8>(g;?I=2=cEEAHaL+WiOvRp~fl`n5dTf5V)bNv|ZcjyzLHRnz@2)SdPWo#3tF@Nf ZfT6u;&2Oo-XD5RSIZszVmvv4FO#nm}^+Nyv literal 0 HcmV?d00001 diff --git a/airtime_mvc/public/css/datatables/images/back_enabled.jpg b/airtime_mvc/public/css/datatables/images/back_enabled.jpg deleted file mode 100644 index a6d764c79c7a2047b6bf65bf9d96fcafd5161e38..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 807 zcmex=C5UDGKfoZ!!63{a%*-grz$D1XEXer(2*U&h z1}0{pBN2d|gO!bok%5r~RhW^Pm5qg+Lx6#Sm5Gs^od+h%$i&RTD#*spplB#0EW!~u z(MZ`u)XXulu<_tSr=TWdXR%Z_aiE1jZ7eM8Fl&IpCkWK1$Y$s$#2&a&N#sM~M5iWU z<^Q)Bc$gW1&SMs2uxGfw`}E06etb^r9k|jMc@Dlk(IlSD-Wwx*G{%4ThHhR%HnTsw zbu3z!=BtbC=-In5f5nt;je{+vrKZdWckk$U`c^FEYC6}Jn=lG)17QB>6z3khm7PHhg<-pEGSO0F>VA}N6`w53!8pr$>MbUW| zMEsFn=(%w+^5v0yp7Lmb+~3PpI4(#G~bQ$y_;t)oo+U5`bnSHZcn){CH~m7Ys2rz z2!R@xgGrCtcPz?eOPOzKr2P26p~(mTGjR1-c3?psA>uUGsyt|R2Ts3~!B zN71DGSrW%W*`w8#2{O$LX)%%8*<4Ycyr;tN(Hm8|M=_HtvR>P P+Rcr(b5Xx$|NkZcT0jT? diff --git a/airtime_mvc/public/css/datatables/images/back_enabled.png b/airtime_mvc/public/css/datatables/images/back_enabled.png new file mode 100644 index 0000000000000000000000000000000000000000..c608682b04a6d9b8002602450c8ef7e80ebba099 GIT binary patch literal 1379 zcmeAS@N?(olHy`uVBq!ia0vp^!XV7S1|*9D%+3HQ$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%u1Od5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|80+w{G(j&jGsVin+1c5}%-q<}$=KP@(AChw*vQht)WY1&)XmVs z#Kj1v*Cju>G&eP`1g19yq1ObbUQklVEdbi=l3J8mmYU*Ll%J~r_Oewb7Ppv~yBe68 zyO`lL52`l>w_A*G>eUB2MjsThND&Pa0;V1i6P|2=9C*S{%>$EaktaVzQ1|Nr*PTN#9zMHxeRlNl-}v#d8N^Zk>0_uB7B{#OES8f>#2yG~0qw!L6p zdFucF|1%kW<~W?`S<}!e5q#_SzEeiVo81hJjGh}A8F|(J{8J?#FoV5gKjTM#g@4`` zHat7G{ZGytn}0n$K9W8@XQml^^p~IC#Pg_K>J#_+(?*}aZPd`ZZNa#A3a7~tW{o3_ zI{&|(mY(2PV%myRe9%s|Nr;*;U>8s5-)SkmAo$(Keu+yr%y+}MlE>zy+BR9?SIdWBY}H< zKKU5g_O$y^9OKN@zGsEyW<{&Edwac(+`RcS*M!N;4lBR&3)I`!79H%>{JYJ#JU4sR zw=W-e8rT2-_sjK!ftX42KgY{w-6eiM*mqC=xu5>dtj80wm*z`6(^6Ws=-8Pfr#M2- zH|Sq%;`zb5)KTvzU)R6$^W*Do?c4e6>`&v<`V~L7?ymp$=Mn1__Wu)kQ(K;TCm0xpn=Pl3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|80+w{G(j&jGsVi#&A{2f&C=D-$=KD<(AChw*vQht)WY1&)XmVs z#Kj1v*Cju>G&eP`1g19yq1O$kUQklVEdbi=l3J8mmYU*Ll%J~r_OewbZnrq&G!Lpb z1-DyVaO%|uIz}H9u}BdO69T3l5EGtkfgE_kPt60S_99@io@8}5n}LDxvZsq#&7*Qma&&|D2p_oRXCd37) zY)8(V;EL!lR8{!YrXwuuEuySktariS<$U}5@0hthGki2x_{Vvqo>S_XblJrDt*y7` zPn>AToH0Sw=g;r$;tI__7PkF4^xDY!x~Ps)lA51GcnTBmM+UA!h136k{gg`)kQbFq_VoBPIz)-gPOY!2f65f}=7PcDED2?Ugq;l&g-#qfGNQQhO_+II&v(YRhj*tM|Nr;*pX&(& zF_Y$hj+f86OZ@)!^=7=>-T3-YSLKUdZuf3aZ4YHF;C{AO_%40X!?e|-Fvdj7ri>D1+zvG8V_^em6og*g*a z*EjxPy&}Hf@!5mZjQ6qphxS*AMC5UDGKfoZ!!63{a%*-grz$D1XEXer(2tySE z1JEp>E8&2Nm4%I+g9~UMTnNHo6kuRrVP;|B;)Y2uGBL9Vva&GlzGLeh=CM*_u2I6%$1L~6;-1yGa|?*FvavCW+Av>{Flt>+*?d?iZ`9)^O?_H|D3t8;Og6lD<#WHQvW(mo1ETsD>A@mr8@sqg(?1R z%d@qrmWLWmIn1#pQuo}{brVW*C8t%EDXbOt_DabwXgGW3;wDX1;~7hWrYL+ZX=qre z&-y^2q0zm?-FJb#(AWJTHOJ-3`S`D|JEhzC{KvY_h0kZinXP-?w!g_L@p#JQO^!z$ mYCgVwS7#SryXs@?>&L&t^Z(SozHVt~@Z#>58}s)6zX<@qORf(9 diff --git a/airtime_mvc/public/css/datatables/images/forward_disabled.png b/airtime_mvc/public/css/datatables/images/forward_disabled.png new file mode 100644 index 0000000000000000000000000000000000000000..6a6ded7de821619aedc71d1738c0b73463a4452e GIT binary patch literal 1363 zcmeAS@N?(olHy`uVBq!ia0vp^!XV7S1|*9D%+3HQ$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%u1Od5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|80+w{G(j&jGsVin+1c5}%-qS)$=KP@(AChw*vQht)WY1&)XmVs z#Kj1v*Cju>G&eP`1g19yq1PFwUQklVEdbi=l3J8mmYU*Ll%J~r_OewbZns$CG!Lpb z1-Dxqaq86vIz}H9u}BdO69T3l5EGtkfgE_kPt60S_99@ies{+CJ_7^eaZeY=kcwMt zrucd@1&XviUp=W&hC_Vigxz9qe=+JQiRZ>#-OmxVbJNmo0?O0%xE7^$7hDVzS=7nq zBvt-aWrpIMi;ByGX0JatRXb+C`iBGE*Nwm1%=tcVr*ri@cU^6Xtj>)g66P@%1db+s zWSF+QYf((v=9^+`Y}d3l_I1DM*_La4%-~FX zOD#3=6_)Nj)~$1T^@J$qollO4A6gI{9eUN=bCTSutFMe5M0p+_TYIkc<*t8mtFJEc zTKXwVqK$2(et`HF?-Em4wsukSTsY4VW0ic bdL|wQU%!)=<|i%z6_yO1u6{1-oD!M<;V$ow literal 0 HcmV?d00001 diff --git a/airtime_mvc/public/css/datatables/images/forward_enabled.jpg b/airtime_mvc/public/css/datatables/images/forward_enabled.jpg deleted file mode 100644 index 598c075f13ab0e4bbe05a4eeea7cf777ba73cf03..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 852 zcmex=C5UDGKfoZ!!63{a%*-grz$D1XEXer(2tywO z0~0eN(3Nn&%Fe>Z!NthH$ciG&$iU3P%Em6hz`z1zu=B#yGcqx=2(q#<2(fb*3M-3< zDh5t8G7&R#Oe}1C=oHjs?40T*F37+LbR`oj+(bq}CT0c}Rz*W0Hg?Cv#)(EB0yioN zi~PUEzyov)lOVGogFVA5dn3uE%Z<*rn&ugY^FIG9<<=87L*?mOy^~u`Rq(Eg+UDw^ z@^Uh}zJ$t~P2YpRT#sm2p`oEt8zJ-EBRfY;>b?DxZo!24Z)Q(O&}!Mbt}27`dKa(x zr)AHkZg5MjKa&4$syaupXWNXgp32dQs_rj-?|M=Q9pN^hZg^mV7=UWs>}D5 z$40(ME7Q1T4h8p}ZJ8O!G-Xk84;P~#ci!&o`A5I3kG@gLm*VlJbn%kvSqIh?3Y?HQ zAX0NL>XIkpf=MN83*!%}9-aN5)p7^py2Am>F9gW&pFSp#V0dxX#ZPW;UoD(gaI@8E z(rNQz1DBIiM13!LtZ|85lHB@$wW~n0fhRz-$?R&m{@z;uI}N|35As;}zdXB<I#+N1k=r*G-&mI78vJ_Ezs!yIV%J}l7d*c9>7Bn;xyLT84V&`$ z@9WMTAJ6DZyR)~=FS6P2e3MDv7lHB>{C&1H^7EJ9PIf=EdUwUYtGE9%$X9(m*ZWLf M_rC2^{;K~s0TRp{r2qf` diff --git a/airtime_mvc/public/css/datatables/images/forward_enabled.png b/airtime_mvc/public/css/datatables/images/forward_enabled.png new file mode 100644 index 0000000000000000000000000000000000000000..a4e6b5384b8454ee7f44a8f7c75b0321b7eeb9b1 GIT binary patch literal 1380 zcmeAS@N?(olHy`uVBq!ia0vp^!XV7S1|*9D%+3HQ$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%u1Od5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|80+w{G(j&jGsVip+||I$+{MJu$=KP@(AChw*vQht)WY1&)XmVs z#Kj1v*Cju>G&eP`1g19yq1P0rUQklVEdbi=l3J8mmYU*Ll%J~r_OewbZnqfWG!Lpb z1-Dy_aq86vIz}H9u}BdO69T3l5EGtkfgE_kPt60S_99@iW_)h2mVtrshNp{TNX4zB zKmY&RGjC-OW)@`(g)dh`10)R-NpU#bM1=1eo8Z2AYd)<-?^`_sqOFY@6XS7KM&8JXTA5$g^A9S z{TX;`xlCJF@2;-kt^WS)-(qj^YjbRh3Qo21zn9<7##PJs=)J=q?vtT6c$tqWSn$;S z{q^hJt*2*?^Szy4@bTi|;PVYm@{K=qh5oS|v0uoRWd7#=|NZ;-*VL7!+I+Ui=RzOdW2D@cF)|8@0kar@euUy>OYxL3%Wh|X{LVLRn7b4UH-Q)xXL zlsIOXI?k$WjNtJ4&-&^N(`qv`*KNBfVYRHPjKr+8GT t=fC*;><^O18kWptJjt-AJE?(znPJ1m)BPofdH;jTJx^CZmvv4FO#l_Q2A%)_ literal 0 HcmV?d00001 diff --git a/airtime_mvc/public/css/datatables/images/forward_enabled_hover.png b/airtime_mvc/public/css/datatables/images/forward_enabled_hover.png new file mode 100644 index 0000000000000000000000000000000000000000..fc46c5ebf0524b72a509fe2d7c1bc74995cb8a9d GIT binary patch literal 1379 zcmeAS@N?(olHy`uVBq!ia0vp^!XV7S1|*9D%+3HQ$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%u1Od5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|80+w{G(j&jGsVi#&A{2f&C=1($=KD<(AChw*vQht)WY1&)XmVs z#Kj1v*Cju>G&eP`1g19yq1OqgUQklVEdbi=l3J8mmYU*Ll%J~r_OewbZns$AG!Lpb z1-Dx)aq86vIz}H9u}BdO69T3l5EGtkfgE_kPt60S_99@imN7BvVqjpr?&;zfQgJKk z&;S4S%v%{AKQQkRwI?VL9s)YsRaG&b6_ zgRo<91_J$Y%O?`e|&#$ZtS+eXp_f= zjUUrLb7!pi%4at>{rxttxB!poqO-MU1}Hz4_scgh+`O`|pzGU*Ppd<;SGk>1td!-8 z=;-~nzrMci*RP)sFMiM0pIiAYgm$R?>m2vx|wYgZ#kAH7}W-quPuJDiV$o>g2t#=I)c$y9~%y7A9 zTfgc1jk&Lj_4ZX)f0PV(p)9c9_0ar=AL>^e-n9Mw|Nr~<^YZ!qF*`48{dsWi)b|VZ zD%w*xPFz?Y(EM+~bAgn@|LT8!dGP4_dwn}*-YUka%$2Ws1@^aZs%Q9^A9It(GQY{> zGt)+aDgU^S%wM?fC!gsP`E`4^jM#4)q-B&8J6^t!zrwrDf%l)k#^S|Oq%QdIe*R^@ tLh*lxrsW37V+~Wv{w==9!pqEIz%cpgo%)U5J^Y|z&(qb2Z8_q literal 0 HcmV?d00001 diff --git a/airtime_mvc/public/css/datatables/images/sort_asc.png b/airtime_mvc/public/css/datatables/images/sort_asc.png index a56d0e21902ce620cd57f87fa58a6d3e804135cf..a88d7975fe9017e4e5f2289a94bd1ed66a5f59dc 100644 GIT binary patch literal 1118 zcmbVLO=#0l98awuV{uMt6P_}u4rcI3idKFP2SpU%ZJIE?RL`X zK?Oyo=*5GG2SxDYK=7akJqV&hrl{aWJa`y*5xh+1%i2y4V}gO?edPc9{r;a9vjc}) zn|Cxb4AYwFmvVG%_ui)U^y_4!ujsO!qzYuv8YUIR!Aw%KiWp=JrG#@>(I!s4#N7H->?w+cxsH2#GA};A>g8lyFDGPKh!5)vuP_{)}*83+N zJUBU!S0_i+E{*Lu1iGsNB``2iK-CyCU7?y_mv{xb_pUh>ESZqe1Y2{eAZLMSIT%EO zFrdOH1W^=3p>Qk~I{J+k#s5zQ@j{%aIA!l^GQjJ zqA1Uc2%!{8qBKfMNh#9DCnKS_*uZ8?mnf!+8@f8xtz#prVg=E`3bCBLWsNmDAX~PG z<(4fQh=UOzE2?gKXRkc9XeI3Er?HlHECVd%SI}3`hy1_du3@$R$r(qT;k@Sft63UX zv;)2Ea_iH>^6+4jPK-lGM{Zw37Tz>~~zlHzO61x51(V4jcaKrcIVDG$-d>)z}S|7f!xxYhfUE}Kj zug_h&HZN}go22$5Ym1}P8~vYNx7-~$TWFJ;_nh!wFYSAQJF{CCo=xpK8^7?iY1^!H haOA^1D_`VC7fU=jcT delta 211 zcmcb|(atnMQi7R*fx)%!*gqh}lJ4m1$iT4vggI;1%ZZBW^$fZJJ|V7u{``OW`v30z z|9YqVyLR*c@-_cXp85a%`~S~h{{Q~{f8vaPvljeYvg%*YFkHDaVP*tpoBOXnuV2G$z;NY<&{waNO`CuwGI+ZBxvX>Yo&vx~s z*1>{0Sk$FMM28~iln?~vp$ zL+z1TilQ3g{c@7*P2Q^6L;g-8^nq-LaWstw(J;=d4x}PF%0Lh|)htXxRiC)>9(Gfd zk2X?ioL0_@8ZsHx!!QNYCTxo8?kU)+mV+2%VAin0^v_psXkh4J`eIPw6kCELM*pM( z2PX$o+GI}a)ajlxpt~Rv0TW^s6wEQp6$@dys4J4Qcg@nE2*J59y%|(mNdO5s5Cj>{ zuW=y`gm{Jzw6(Xlp9TWQb1WyYyx`~C#eg7k94LJ>@#g5mVp5Kkd=V>5k6>(zESt~g znS6jjPL}06J3BoMLGTlV-<`0qTJT$LYgs{tuI3mvHjo88MKy!QahN8NZl++`Te6m0 zDibLfTTpG5XE-mVGEhip#w2PB)JKi0I-PD8)*(7w)xTBHA4Yzu(Y*BKcijk8- zXslet#0bL39YHpb27^FRHN*1kB3@C%xaDHi(qLQ;(?o$W3|;IHBC-_Xc|nkPo{#bo zKE_Anh#c$_BEdk1ROZS^8#kea%Upe%D^%oqqhQ*^vkV>MD%4{RGC?tA(byrDwm?jZ z#$wTmdL^!2ITo%WmnFflUSt1hboq)*k9XV}TViYtKD5ZRJ7lb1H!ZJ`CviJ2M^c5A z%=*Sgk8hr8@-S*Kr`Ol~RJX(fddmmK4eR}lxGod_r9R{rmUi$&>f* z-~agWF!SI+GgVi4eQx#)5v`|tnnQYI}IcV9iXa@s4&y<$@-yUFVI1fW|R+y85}Sb4q9e0KuJSLI3~& diff --git a/airtime_mvc/public/css/datatables/images/sort_both.png b/airtime_mvc/public/css/datatables/images/sort_both.png index 839ac4bb5b0b414834c950de9deafff6dd94ed2d..18670406bc01ab2721781822dd6478917745ff54 100644 GIT binary patch literal 1136 zcmaJ>O=#0l98WD1Hz^GK+C=e@fhgE~b#2$Ux^~T`1v5)mw1NlIe}zC z+ge9alrMQeN|SYi`>tC{zIG}!O_oO7k;UC8kBf>8sknx65F`zy2d1H-4fel=trX>@ z^-LCL<%6P%3`TJ=Ov$hao1$9VN|vJbLJV@SM>nJN{L>dS(6uOiBq(#Tm4F5Pz>p2Q zhq^NAP_G)%=(c^JwImV&17Zb~j6Ty5OHq1RS0sD)n5Dro1ouYi-$7;N6i6T&f*`~B zRW8JV5YO;|=5RQ?2M8R`v7Es2f}anI0YT(Au=3Evo2})=wA8uci&#;*fUzaAY_V8m ziU9`MJuDxIL|hF)@DqgJ88op{@|#XmML~j&YU>u(kqKNyC5HxZlqQk>PQkENWld+L zOr&6JNwHX-;oOueKw17j)G$`j4o<^A@%~fT$qZVMO+yC_*eYpUzR7iEi3uAj7}*(w z`YKgS6%a;F0a+l?9R#wX>ZWTi<7HV)nhsV>6(*%9O%xbi*F?TK!383rh#(|*p6}q} zd?z25;!?0(hzA2Li3(Rj>VN@FT;Xbexbdo7cN7eZc$T28pMYAYjSR4yvZz;&C0tc+ zg{xJMrKKvDCBd+6WB+P&<%mp=yImbyVyq56G|9BvWUP^I>ms=lb4e+lDSgg;Us`JO zKB6{wH+j~F#-A4FY3K3qm~Z6m@V6}oQ%8?p-E$dw`#0C$PJfmCV8)v}3>Ydha%`fZ zJk~G*M^A3LGk$Td;R`icF67R~`sBOHv)Hlqlc%$jy~9_oZJcNyWxkbb_O9u#|7hLF z-<-NMLzh3S0YA@8gd1Pt(Df|3@16Y-n=aSvsF@AkI`ioeFg>&H3bXU&vBnE6gIChkL+(Ey+0iB4Z$Eze7t_CX>Hq)$ delta 230 zcmeysF^g$}qy#eq1A}Ydv422{CEd~2k%3|T33Jx2mlGA$>lxGod_r9R{rmUi$&>f* z-~agWF!Jrg|n7!)~J0*|bH{{Q{lLQ4j71-0DWQCgTe~DWM4fC&_f` diff --git a/airtime_mvc/public/css/datatables/images/sort_desc.png b/airtime_mvc/public/css/datatables/images/sort_desc.png index 90b295159df995329b3a84340d32761f3d1dbade..def071ed5afd264a036f6d9e75856366fd6ad153 100644 GIT binary patch literal 1127 zcmbVMOK8+U7*1U&zKRu5sR)h{1;yRWWV^4}ShvZpU2*HWU2!iy(qy)cZ89;Lb+`3m zMbruv!GjkO!3qksP*5)lD)k}=Dp*ht-n@8G5m8XoN!zU+ih_Y;=AZe$?|)|~*Ri8v z(dtDU$2DZy)jV65`|pB!_H}d7Cv0h=sUqzpC0fy3%q0!dg+a#Bx^W(BM*oq=xP{{a zC9_bZ#q2IgCss)FbwX9kVQ7wPX{|b%-is;d!ri7V^Y8E8=YeU+{JuyQW*r6hnC$~D z?i}bS=mWia!r)uCftISo2rNuBP__DOPpZoN6tBeg{;|M=DHYl)^V3chvpJv;7lTL$ z26Y&PAc{gL+#HL=wg3?#C_qs_Vi3iouqZ(YW*(kdbB&UeSJN}Lm?ZN(lsb|iR4SEF zB^)Adw}29fgwG+0L8cM(`faLJgSNN6#-L(PcTI+l@K3y+Xf(g*^61+0|J+O6zN2mb?UNGh6GU@A{1+eF%d@N2(^XdVmhis(y25|iAr;gV=io5OsYy0 zB}Gv|2&GUGrBPB%s*yG^841Ug8a88lRI_zlvuiTDGuXsmv6A9qjS{y&NMEf3ay^6+ zuZK85>5PD^rkl1e`{kLAR>iJ)6dP%mSYRr@k~xQcDE=$%X{_--ITM&Og5Ml}G)wJ> zb)dhUZG9%p4iC23#JFrUCcmwHz{cugMoku~ue-kg{Mj0~%`FeCcz9jAdg}QET-kSG za`+2B_+lRTaeAVz>E`F1pN7h>B=BbGqcz13d%ywZR&4OjkNNrF_U}#EcXDGa@V52B z>JnIW7#s%CHi delta 208 zcmaFP(ZV!AQi7R*fx)%!*gqh}lJ4m1$iT4vggI;1%ZZBW^$fZJJ|V7u{``OW`v30z z|9YqVyLR*c@-_cXp85a%`~S~h{{Q~{f8vaPvljeYvg%*YFkHDaVh;!F_}j!5h{=(I+oD$>E}OwWpE8<~#I zxbP-HH|5#WM-JPkcTVR$toz1>XU4n7M_#8jFfcO&9u@j}_soQwK;sxZUHx3vIVCg! E04-u~$^ZZW diff --git a/airtime_mvc/public/css/datatables/images/sort_desc_disabled.png b/airtime_mvc/public/css/datatables/images/sort_desc_disabled.png index 2409653dc94cd21a281a31c0e3819323b84704b7..7824973cc60fc1841b16f2cb39323cefcdc3f942 100644 GIT binary patch literal 1045 zcmaJ=&rj1(9IuWjVlWt@h#q(rlc~7%$2P_q>KN??ODrK{#&I!}_Kh{rzS=%m2N%F- zAW={L0VZBJnRrkSCK{q1NKA||(ZmA>6Hgw9o;Z-;>)3_|u*vIt-(X0AeGY5Bm`Mgoq{>2>Xkbiu%Ds= zw2?31f^tL9kQr8eOxQDR!ltPHq-U$zG{j&MP8pU+Z@qp?149?-TQP-IYzdZ(;duv+ z&5z`@`Drbo)5+_g-xG*{39$-1bH;K7Po%550y+EF3=OIfJT20DK^2ryARz~WSeOlI zY%dFXxiA-r#^dp8fM+?DVR?q*LtI>l@B+(%+D8*_j$RaUa;D~sSR!4**cKS3TrP*p zkuY+m7%q`W_!>MPB8ZS%v9RieEVsL^AVXJk3>zEB0=}X;iDt1#lSubcFztq{<<`nX z3dVS<&2VAXPpJ-6l>b9bvw?PT4(`W$ps<^-*pSIV7tJ~vX67YQ8ELa7v~ZoP?{i~^a{W;-ZQ@ymjxh)IjDt*2O<6Dwh=q$vY$VY; zc&J{Ds~-?cjVm3>Wk@iL-`IZ|UB4pJ;~yJiON_?gLyJtiL&kbxZhV_OiPfx}%6s1@ zcXoG^ffrPJ;LQ4(`t<(ickJ1j|E0&fC8lSh8sUh5lwUg=l~QoqsK t`nTanN|e2@a&yVMdhylxGod_r9R{rmUi$&>f* z-~agWF!Ne>RP@HmI{bV@TtOgJK8alolZqbl-1(wP;{44GOZF1|^4_Uu`T v^Y-aeXRB}?)_oJhGvi(If!Apb49pB3GXz|UGFKJ=O=IwM^>bP0l+XkK7dmG) diff --git a/airtime_mvc/public/css/qtip/jquery.qtip.css b/airtime_mvc/public/css/qtip/jquery.qtip.css new file mode 100644 index 000000000..778251922 --- /dev/null +++ b/airtime_mvc/public/css/qtip/jquery.qtip.css @@ -0,0 +1,557 @@ +/* +* qTip2 - Pretty powerful tooltips +* http://craigsworks.com/projects/qtip2/ +* +* Version: nightly +* Copyright 2009-2010 Craig Michael Thompson - http://craigsworks.com +* +* Dual licensed under MIT or GPLv2 licenses +* http://en.wikipedia.org/wiki/MIT_License +* http://en.wikipedia.org/wiki/GNU_General_Public_License +* +* Date: Tue Jan 31 10:16:34.0000000000 2012 +*/ + +/* Core qTip styles */ +.ui-tooltip, .qtip{ + position: absolute; + left: -28000px; + top: -28000px; + display: none; + + max-width: 600px; + min-width: 50px; + + font-size: 10.5px; + line-height: 12px; +} + + /* Fluid class for determining actual width in IE */ + .ui-tooltip-fluid{ + display: block; + visibility: hidden; + position: static !important; + float: left !important; + } + + .ui-tooltip-content{ + position: relative; + padding: 5px 9px; + overflow: hidden; + + border: 1px solid #000001; + + text-align: left; + word-wrap: break-word; + overflow: hidden; + } + + .ui-tooltip-titlebar{ + position: relative; + min-height: 14px; + padding: 5px 35px 5px 10px; + overflow: hidden; + + border: 1px solid #000001; + border-width: 1px 1px 0; + + font-weight: bold; + } + + .ui-tooltip-titlebar + .ui-tooltip-content{ border-top-width: 0px !important; } + + /*! Default close button class */ + .ui-tooltip-titlebar .ui-state-default{ + position: absolute; + right: 4px; + top: 50%; + margin-top: -9px; + + cursor: pointer; + outline: medium none; + + border-width: 1px; + border-style: solid; + } + + * html .ui-tooltip-titlebar .ui-state-default{ top: 16px; } /* IE fix */ + + .ui-tooltip-titlebar .ui-icon, + .ui-tooltip-icon .ui-icon{ + display: block; + text-indent: -1000em; + } + + .ui-tooltip-icon, .ui-tooltip-icon .ui-icon{ + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; + } + + .ui-tooltip-icon .ui-icon{ + width: 18px; + height: 14px; + + text-align: center; + text-indent: 0; + font: normal bold 10px/13px Tahoma,sans-serif; + + color: inherit; + background: transparent none no-repeat -100em -100em; + } + + +/* Applied to 'focused' tooltips e.g. most recently displayed/interacted with */ +.ui-tooltip-focus{ + +} + +/* Applied on hover of tooltips i.e. added/removed on mouseenter/mouseleave respectively */ +.ui-tooltip-hover{ + +} + + +/*! Default tooltip style */ +.ui-tooltip-default .ui-tooltip-titlebar, +.ui-tooltip-default .ui-tooltip-content{ + border-color: #F1D031; + background-color: #FFFFA3; + color: #555; +} + + .ui-tooltip-default .ui-tooltip-titlebar{ + background-color: #FFEF93; + } + + .ui-tooltip-default .ui-tooltip-icon{ + border-color: #CCC; + background: #F1F1F1; + color: #777; + } + + .ui-tooltip-default .ui-tooltip-titlebar .ui-state-hover{ + border-color: #AAA; + color: #111; + } + +/* Tips plugin */ +.ui-tooltip .ui-tooltip-tip{ + margin: 0 auto; + overflow: hidden; + z-index: 10; +} + + .ui-tooltip .ui-tooltip-tip, + .ui-tooltip .ui-tooltip-tip *{ + position: absolute; + + line-height: 0.1px !important; + font-size: 0.1px !important; + color: #123456; + + background: transparent; + border: 0px dashed transparent; + } + + .ui-tooltip .ui-tooltip-tip canvas{ top: 0; left: 0; } + + +/* Modal plugin */ +#qtip-overlay{ + position: fixed; + left: -10000em; + top: -10000em; +} + + /* Applied to modals with show.modal.blur set to true */ + #qtip-overlay.blurs{ cursor: pointer; } + + /* Change opacity of overlay here */ + #qtip-overlay div{ + position: absolute; + left: 0; top: 0; + width: 100%; height: 100%; + + background-color: black; + + opacity: 0.7; + filter:alpha(opacity=70); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"; + } + +/*! Light tooltip style */ +.ui-tooltip-light .ui-tooltip-titlebar, +.ui-tooltip-light .ui-tooltip-content{ + border-color: #E2E2E2; + color: #454545; +} + + .ui-tooltip-light .ui-tooltip-content{ + background-color: white; + } + + .ui-tooltip-light .ui-tooltip-titlebar{ + background-color: #f1f1f1; + } + + +/*! Dark tooltip style */ +.ui-tooltip-dark .ui-tooltip-titlebar, +.ui-tooltip-dark .ui-tooltip-content{ + border-color: #303030; + color: #f3f3f3; +} + + .ui-tooltip-dark .ui-tooltip-content{ + background-color: #505050; + } + + .ui-tooltip-dark .ui-tooltip-titlebar{ + background-color: #404040; + } + + .ui-tooltip-dark .ui-tooltip-icon{ + border-color: #444; + } + + .ui-tooltip-dark .ui-tooltip-titlebar .ui-state-hover{ + border-color: #303030; + } + + +/*! Cream tooltip style */ +.ui-tooltip-cream .ui-tooltip-titlebar, +.ui-tooltip-cream .ui-tooltip-content{ + border-color: #F9E98E; + color: #A27D35; +} + + .ui-tooltip-cream .ui-tooltip-content{ + background-color: #FBF7AA; + } + + .ui-tooltip-cream .ui-tooltip-titlebar{ + background-color: #F0DE7D; + } + + .ui-tooltip-cream .ui-state-default .ui-tooltip-icon{ + background-position: -82px 0; + } + + +/*! Red tooltip style */ +.ui-tooltip-red .ui-tooltip-titlebar, +.ui-tooltip-red .ui-tooltip-content{ + border-color: #D95252; + color: #912323; +} + + .ui-tooltip-red .ui-tooltip-content{ + background-color: #F78B83; + } + + .ui-tooltip-red .ui-tooltip-titlebar{ + background-color: #F06D65; + } + + .ui-tooltip-red .ui-state-default .ui-tooltip-icon{ + background-position: -102px 0; + } + + .ui-tooltip-red .ui-tooltip-icon{ + border-color: #D95252; + } + + .ui-tooltip-red .ui-tooltip-titlebar .ui-state-hover{ + border-color: #D95252; + } + + +/*! Green tooltip style */ +.ui-tooltip-green .ui-tooltip-titlebar, +.ui-tooltip-green .ui-tooltip-content{ + border-color: #90D93F; + color: #3F6219; +} + + .ui-tooltip-green .ui-tooltip-content{ + background-color: #CAED9E; + } + + .ui-tooltip-green .ui-tooltip-titlebar{ + background-color: #B0DE78; + } + + .ui-tooltip-green .ui-state-default .ui-tooltip-icon{ + background-position: -42px 0; + } + + +/*! Blue tooltip style */ +.ui-tooltip-blue .ui-tooltip-titlebar, +.ui-tooltip-blue .ui-tooltip-content{ + border-color: #ADD9ED; + color: #5E99BD; +} + + .ui-tooltip-blue .ui-tooltip-content{ + background-color: #E5F6FE; + } + + .ui-tooltip-blue .ui-tooltip-titlebar{ + background-color: #D0E9F5; + } + + .ui-tooltip-blue .ui-state-default .ui-tooltip-icon{ + background-position: -2px 0; + } + +/*! Add shadows to your tooltips in: FF3+, Chrome 2+, Opera 10.6+, IE6+, Safari 2+ */ +.ui-tooltip-shadow{ + -webkit-box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.15); + -moz-box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.15); + box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.15); +} + + .ui-tooltip-shadow .ui-tooltip-titlebar, + .ui-tooltip-shadow .ui-tooltip-content{ + filter: progid:DXImageTransform.Microsoft.Shadow(Color='gray', Direction=135, Strength=3); + -ms-filter:"progid:DXImageTransform.Microsoft.Shadow(Color='gray', Direction=135, Strength=3)"; + + _margin-bottom: -3px; /* IE6 */ + .margin-bottom: -3px; /* IE7 */ + } + + +/*! Add rounded corners to your tooltips in: FF3+, Chrome 2+, Opera 10.6+, IE9+, Safari 2+ */ +.ui-tooltip-rounded, +.ui-tooltip-rounded .ui-tooltip-content, +.ui-tooltip-tipsy, +.ui-tooltip-tipsy .ui-tooltip-content, +.ui-tooltip-youtube, +.ui-tooltip-youtube .ui-tooltip-content{ + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; +} + +.ui-tooltip-rounded .ui-tooltip-titlebar, +.ui-tooltip-tipsy .ui-tooltip-titlebar, +.ui-tooltip-youtube .ui-tooltip-titlebar{ + -moz-border-radius: 5px 5px 0 0; + -webkit-border-radius: 5px 5px 0 0; + border-radius: 5px 5px 0 0; +} + +.ui-tooltip-rounded .ui-tooltip-titlebar + .ui-tooltip-content, +.ui-tooltip-tipsy .ui-tooltip-titlebar + .ui-tooltip-content, +.ui-tooltip-youtube .ui-tooltip-titlebar + .ui-tooltip-content{ + -moz-border-radius: 0 0 5px 5px; + -webkit-border-radius: 0 0 5px 5px; + border-radius: 0 0 5px 5px; +} + + +/*! Youtube tooltip style */ +.ui-tooltip-youtube{ + -webkit-box-shadow: 0 0 3px #333; + -moz-box-shadow: 0 0 3px #333; + box-shadow: 0 0 3px #333; +} + + .ui-tooltip-youtube .ui-tooltip-titlebar, + .ui-tooltip-youtube .ui-tooltip-content{ + _margin-bottom: 0; /* IE6 */ + .margin-bottom: 0; /* IE7 */ + + background: transparent; + background: rgba(0, 0, 0, 0.85); + filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#D9000000,endColorstr=#D9000000); + -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#D9000000,endColorstr=#D9000000)"; + + color: white; + border-color: #CCCCCC; + } + + .ui-tooltip-youtube .ui-tooltip-icon{ + border-color: #222; + } + + .ui-tooltip-youtube .ui-tooltip-titlebar .ui-state-hover{ + border-color: #303030; + } + + +/* jQuery TOOLS Tooltip style */ +.ui-tooltip-jtools{ + background: #232323; + background: rgba(0, 0, 0, 0.7); + background-image: -moz-linear-gradient(top, #717171, #232323); + background-image: -webkit-gradient(linear, left top, left bottom, from(#717171), to(#232323)); + + border: 2px solid #ddd; + border: 2px solid rgba(241,241,241,1); + + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-radius: 2px; + + -webkit-box-shadow: 0 0 12px #333; + -moz-box-shadow: 0 0 12px #333; + box-shadow: 0 0 12px #333; +} + + /* IE Specific */ + .ui-tooltip-jtools .ui-tooltip-titlebar{ + filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#717171,endColorstr=#4A4A4A); + -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#717171,endColorstr=#4A4A4A)"; + } + .ui-tooltip-jtools .ui-tooltip-content{ + filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#4A4A4A,endColorstr=#232323); + -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#4A4A4A,endColorstr=#232323)"; + } + + .ui-tooltip-jtools .ui-tooltip-titlebar, + .ui-tooltip-jtools .ui-tooltip-content{ + background: transparent; + color: white; + border: 0 dashed transparent; + } + + .ui-tooltip-jtools .ui-tooltip-icon{ + border-color: #555; + } + + .ui-tooltip-jtools .ui-tooltip-titlebar .ui-state-hover{ + border-color: #333; + } + + +/* Cluetip style */ +.ui-tooltip-cluetip{ + -webkit-box-shadow: 4px 4px 5px rgba(0, 0, 0, 0.4); + -moz-box-shadow: 4px 4px 5px rgba(0, 0, 0, 0.4); + box-shadow: 4px 4px 5px rgba(0, 0, 0, 0.4); +} + + .ui-tooltip-cluetip .ui-tooltip-titlebar{ + background-color: #87876A; + color: white; + border: 0 dashed transparent; + } + + .ui-tooltip-cluetip .ui-tooltip-content{ + background-color: #D9D9C2; + color: #111; + border: 0 dashed transparent; + } + + .ui-tooltip-cluetip .ui-tooltip-icon{ + border-color: #808064; + } + + .ui-tooltip-cluetip .ui-tooltip-titlebar .ui-state-hover{ + border-color: #696952; + color: #696952; + } + + +/* Tipsy style */ +.ui-tooltip-tipsy{ + border: 0; +} + + .ui-tooltip-tipsy .ui-tooltip-titlebar, + .ui-tooltip-tipsy .ui-tooltip-content{ + _margin-bottom: 0; /* IE6 */ + .margin-bottom: 0; /* IE7 */ + + background: transparent; + background: rgba(0, 0, 0, .87); + filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#D9000000,endColorstr=#D9000000); + -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#D9000000,endColorstr=#D9000000)"; + + color: white; + border: 0px transparent; + + font-size: 11px; + font-family: 'Lucida Grande', sans-serif; + font-weight: bold; + line-height: 16px; + text-shadow: 0 1px black; + } + + .ui-tooltip-tipsy .ui-tooltip-titlebar{ + padding: 6px 35px 0 10; + } + + .ui-tooltip-tipsy .ui-tooltip-content{ + padding: 6px 10; + } + + .ui-tooltip-tipsy .ui-tooltip-icon{ + border-color: #222; + text-shadow: none; + } + + .ui-tooltip-tipsy .ui-tooltip-titlebar .ui-state-hover{ + border-color: #303030; + } + + +/* Tipped style */ +.ui-tooltip-tipped{ + +} + + .ui-tooltip-tipped .ui-tooltip-titlebar, + .ui-tooltip-tipped .ui-tooltip-content{ + border: 3px solid #959FA9; + + filter: none; -ms-filter: none; + } + + .ui-tooltip-tipped .ui-tooltip-titlebar{ + background: #3A79B8; + background-image: -moz-linear-gradient(top, #3A79B8, #2E629D); + background-image: -webkit-gradient(linear, left top, left bottom, from(#3A79B8), to(#2E629D)); + filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#3A79B8,endColorstr=#2E629D); + -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#3A79B8,endColorstr=#2E629D)"; + + color: white; + font-weight: normal; + font-family: serif; + + border-bottom-width: 0; + -moz-border-radius: 3px 3px 0 0; + -webkit-border-radius: 3px 3px 0 0; + border-radius: 3px 3px 0 0; + } + + .ui-tooltip-tipped .ui-tooltip-content{ + background-color: #F9F9F9; + color: #454545; + + -moz-border-radius: 0 0 3px 3px; + -webkit-border-radius: 0 0 3px 3px; + border-radius: 0 0 3px 3px; + } + + .ui-tooltip-tipped .ui-tooltip-icon{ + border: 2px solid #285589; + background: #285589; + } + + .ui-tooltip-tipped .ui-tooltip-icon .ui-icon{ + background-color: #FBFBFB; + color: #555; + } + +/* IE9 fix - removes all filters */ +.ui-tooltip:not(.ie9haxors) div.ui-tooltip-content, +.ui-tooltip:not(.ie9haxors) div.ui-tooltip-titlebar{ + filter: none; + -ms-filter: none; +} + diff --git a/airtime_mvc/public/css/qtip/jquery.qtip.min.css b/airtime_mvc/public/css/qtip/jquery.qtip.min.css index 6b0daf7c2..947c8f9d1 100644 --- a/airtime_mvc/public/css/qtip/jquery.qtip.min.css +++ b/airtime_mvc/public/css/qtip/jquery.qtip.min.css @@ -1 +1 @@ -.ui-tooltip,.qtip{position:absolute;left:-28000px;top:-28000px;display:none;max-width:280px;min-width:50px;font-size:10.5px;line-height:12px;z-index:15000;}.ui-tooltip-fluid{display:block;visibility:hidden;position:static!important;float:left!important;}.ui-tooltip-content{position:relative;padding:5px 9px;overflow:hidden;border-width:1px;border-style:solid;text-align:left;word-wrap:break-word;overflow:hidden;}.ui-tooltip-titlebar{position:relative;min-height:14px;padding:5px 35px 5px 10px;overflow:hidden;border-width:1px 1px 0;border-style:solid;font-weight:bold;}.ui-tooltip-titlebar+.ui-tooltip-content{border-top-width:0!important;}/*!Default close button class */ .ui-tooltip-titlebar .ui-state-default{position:absolute;right:4px;top:50%;margin-top:-9px;cursor:pointer;outline:medium none;border-width:1px;border-style:solid;}* html .ui-tooltip-titlebar .ui-state-default{top:16px;}.ui-tooltip-titlebar .ui-icon,.ui-tooltip-icon .ui-icon{display:block;text-indent:-1000em;}.ui-tooltip-icon,.ui-tooltip-icon .ui-icon{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;}.ui-tooltip-icon .ui-icon{width:18px;height:14px;text-align:center;text-indent:0;font:normal bold 10px/13px Tahoma,sans-serif;color:inherit;background:transparent none no-repeat -100em -100em;}/*!Default tooltip style */ .ui-tooltip-default .ui-tooltip-titlebar,.ui-tooltip-default .ui-tooltip-content{border-color:#F1D031;background-color:#FFFFA3;color:#555;}.ui-tooltip-default .ui-tooltip-titlebar{background-color:#FFEF93;}.ui-tooltip-default .ui-tooltip-icon{border-color:#CCC;background:#F1F1F1;color:#777;}.ui-tooltip-default .ui-tooltip-titlebar .ui-state-hover{border-color:#AAA;color:#111;}.ui-tooltip .ui-tooltip-tip{margin:0 auto;overflow:hidden;background:transparent!important;border:0 dashed transparent!important;z-index:10;}.ui-tooltip .ui-tooltip-tip,.ui-tooltip .ui-tooltip-tip *{position:absolute;line-height:.1px!important;font-size:.1px!important;color:#123456;background:transparent;border:0 dashed transparent;}.ui-tooltip .ui-tooltip-tip canvas{top:0;left:0;}#qtip-overlay{position:fixed;left:-10000em;top:-10000em;}#qtip-overlay.blurs{cursor:pointer;}#qtip-overlay div{position:absolute;left:0;top:0;width:100%;height:100%;background-color:black;opacity:.7;filter:alpha(opacity=70);-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";}/*!Light tooltip style */ .ui-tooltip-light .ui-tooltip-titlebar,.ui-tooltip-light .ui-tooltip-content{border-color:#E2E2E2;color:#454545;}.ui-tooltip-light .ui-tooltip-content{background-color:white;}.ui-tooltip-light .ui-tooltip-titlebar{background-color:#f1f1f1;}/*!Dark tooltip style */ .ui-tooltip-dark .ui-tooltip-titlebar,.ui-tooltip-dark .ui-tooltip-content{border-color:#303030;color:#f3f3f3;}.ui-tooltip-dark .ui-tooltip-content{background-color:#505050;}.ui-tooltip-dark .ui-tooltip-titlebar{background-color:#404040;}.ui-tooltip-dark .ui-tooltip-icon{border-color:#444;}.ui-tooltip-dark .ui-tooltip-titlebar .ui-state-hover{border-color:#303030;}/*!Cream tooltip style */ .ui-tooltip-cream .ui-tooltip-titlebar,.ui-tooltip-cream .ui-tooltip-content{border-color:#F9E98E;color:#A27D35;}.ui-tooltip-cream .ui-tooltip-content{background-color:#FBF7AA;}.ui-tooltip-cream .ui-tooltip-titlebar{background-color:#F0DE7D;}.ui-tooltip-cream .ui-state-default .ui-tooltip-icon{background-position:-82px 0;}/*!Red tooltip style */ .ui-tooltip-red .ui-tooltip-titlebar,.ui-tooltip-red .ui-tooltip-content{border-color:#D95252;color:#912323;}.ui-tooltip-red .ui-tooltip-content{background-color:#F78B83;}.ui-tooltip-red .ui-tooltip-titlebar{background-color:#F06D65;}.ui-tooltip-red .ui-state-default .ui-tooltip-icon{background-position:-102px 0;}.ui-tooltip-red .ui-tooltip-icon{border-color:#D95252;}.ui-tooltip-red .ui-tooltip-titlebar .ui-state-hover{border-color:#D95252;}/*!Green tooltip style */ .ui-tooltip-green .ui-tooltip-titlebar,.ui-tooltip-green .ui-tooltip-content{border-color:#90D93F;color:#3F6219;}.ui-tooltip-green .ui-tooltip-content{background-color:#CAED9E;}.ui-tooltip-green .ui-tooltip-titlebar{background-color:#B0DE78;}.ui-tooltip-green .ui-state-default .ui-tooltip-icon{background-position:-42px 0;}/*!Blue tooltip style */ .ui-tooltip-blue .ui-tooltip-titlebar,.ui-tooltip-blue .ui-tooltip-content{border-color:#ADD9ED;color:#5E99BD;}.ui-tooltip-blue .ui-tooltip-content{background-color:#E5F6FE;}.ui-tooltip-blue .ui-tooltip-titlebar{background-color:#D0E9F5;}.ui-tooltip-blue .ui-state-default .ui-tooltip-icon{background-position:-2px 0;}/*!Add shadows to your tooltips in:FF3+,Chrome 2+,Opera 10.6+,IE6+,Safari 2+*/ .ui-tooltip-shadow{-webkit-box-shadow:1px 1px 3px 1px rgba(0,0,0,0.15);-moz-box-shadow:1px 1px 3px 1px rgba(0,0,0,0.15);box-shadow:1px 1px 3px 1px rgba(0,0,0,0.15);}.ui-tooltip-shadow .ui-tooltip-titlebar,.ui-tooltip-shadow .ui-tooltip-content{filter:progid:DXImageTransform.Microsoft.Shadow(Color='gray',Direction=135,Strength=3);-ms-filter:"progid:DXImageTransform.Microsoft.Shadow(Color='gray',Direction=135,Strength=3)";_margin-bottom:-3px;.margin-bottom:-3px;}/*!Add rounded corners to your tooltips in:FF3+,Chrome 2+,Opera 10.6+,IE9+,Safari 2+*/ .ui-tooltip-rounded,.ui-tooltip-rounded .ui-tooltip-content,.ui-tooltip-tipsy,.ui-tooltip-tipsy .ui-tooltip-content,.ui-tooltip-youtube,.ui-tooltip-youtube .ui-tooltip-content{-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;}.ui-tooltip-rounded .ui-tooltip-titlebar,.ui-tooltip-tipsy .ui-tooltip-titlebar,.ui-tooltip-youtube .ui-tooltip-titlebar{-moz-border-radius:5px 5px 0 0;-webkit-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0;}.ui-tooltip-rounded .ui-tooltip-titlebar+.ui-tooltip-content,.ui-tooltip-tipsy .ui-tooltip-titlebar+.ui-tooltip-content,.ui-tooltip-youtube .ui-tooltip-titlebar+.ui-tooltip-content{-moz-border-radius:0 0 5px 5px;-webkit-border-radius:0 0 5px 5px;border-radius:0 0 5px 5px;}/*!Youtube tooltip style */ .ui-tooltip-youtube{-webkit-box-shadow:0 0 3px #333;-moz-box-shadow:0 0 3px #333;box-shadow:0 0 3px #333;}.ui-tooltip-youtube .ui-tooltip-titlebar,.ui-tooltip-youtube .ui-tooltip-content{_margin-bottom:0;.margin-bottom:0;background:transparent;background:rgba(0,0,0,0.85);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#D9000000,endColorstr=#D9000000);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#D9000000,endColorstr=#D9000000)";color:white;border-color:#CCC;}.ui-tooltip-youtube .ui-tooltip-icon{border-color:#222;}.ui-tooltip-youtube .ui-tooltip-titlebar .ui-state-hover{border-color:#303030;}.ui-tooltip-jtools{background:#232323;background:rgba(0,0,0,0.7);background-image:-moz-linear-gradient(top,#717171,#232323);background-image:-webkit-gradient(linear,left top,left bottom,from(#717171),to(#232323));border:2px solid #ddd;border:2px solid rgba(241,241,241,1);-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;-webkit-box-shadow:0 0 12px #333;-moz-box-shadow:0 0 12px #333;box-shadow:0 0 12px #333;}.ui-tooltip-jtools .ui-tooltip-titlebar{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#717171,endColorstr=#4A4A4A);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#717171,endColorstr=#4A4A4A)";}.ui-tooltip-jtools .ui-tooltip-content{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#4A4A4A,endColorstr=#232323);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#4A4A4A,endColorstr=#232323)";}.ui-tooltip-jtools .ui-tooltip-titlebar,.ui-tooltip-jtools .ui-tooltip-content{background:transparent;color:white;border:0 dashed transparent;}.ui-tooltip-jtools .ui-tooltip-icon{border-color:#555;}.ui-tooltip-jtools .ui-tooltip-titlebar .ui-state-hover{border-color:#333;}.ui-tooltip-cluetip{-webkit-box-shadow:4px 4px 5px rgba(0,0,0,0.4);-moz-box-shadow:4px 4px 5px rgba(0,0,0,0.4);box-shadow:4px 4px 5px rgba(0,0,0,0.4);}.ui-tooltip-cluetip .ui-tooltip-titlebar{background-color:#87876A;color:white;border:0 dashed transparent;}.ui-tooltip-cluetip .ui-tooltip-content{background-color:#D9D9C2;color:#111;border:0 dashed transparent;}.ui-tooltip-cluetip .ui-tooltip-icon{border-color:#808064;}.ui-tooltip-cluetip .ui-tooltip-titlebar .ui-state-hover{border-color:#696952;color:#696952;}.ui-tooltip-tipsy{border:0;}.ui-tooltip-tipsy .ui-tooltip-titlebar,.ui-tooltip-tipsy .ui-tooltip-content{_margin-bottom:0;.margin-bottom:0;background:transparent;background:rgba(0,0,0,.87);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#D9000000,endColorstr=#D9000000);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#D9000000,endColorstr=#D9000000)";color:white;border:0 transparent;font-size:11px;font-family:'Lucida Grande',sans-serif;font-weight:bold;line-height:16px;text-shadow:0 1px black;}.ui-tooltip-tipsy .ui-tooltip-titlebar{padding:6px 35px 0 10;}.ui-tooltip-tipsy .ui-tooltip-content{padding:6px 10;}.ui-tooltip-tipsy .ui-tooltip-icon{border-color:#222;text-shadow:none;}.ui-tooltip-tipsy .ui-tooltip-titlebar .ui-state-hover{border-color:#303030;}.ui-tooltip-tipped .ui-tooltip-titlebar,.ui-tooltip-tipped .ui-tooltip-content{border:3px solid #959FA9;filter:none;-ms-filter:none;}.ui-tooltip-tipped .ui-tooltip-titlebar{background:#3A79B8;background-image:-moz-linear-gradient(top,#3A79B8,#2E629D);background-image:-webkit-gradient(linear,left top,left bottom,from(#3A79B8),to(#2E629D));filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#3A79B8,endColorstr=#2E629D);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#3A79B8,endColorstr=#2E629D)";color:white;font-weight:normal;font-family:serif;border-bottom-width:0;-moz-border-radius:3px 3px 0 0;-webkit-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0;}.ui-tooltip-tipped .ui-tooltip-content{background-color:#F9F9F9;color:#454545;-moz-border-radius:0 0 3px 3px;-webkit-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px;}.ui-tooltip-tipped .ui-tooltip-icon{border:2px solid #285589;background:#285589;}.ui-tooltip-tipped .ui-tooltip-icon .ui-icon{background-color:#FBFBFB;color:#555;}.ui-tooltip:not(.ie9haxors) div.ui-tooltip-content,.ui-tooltip:not(.ie9haxors) div.ui-tooltip-titlebar{filter:none;-ms-filter:none;} \ No newline at end of file +.ui-tooltip,.qtip{position:absolute;left:-28000px;top:-28000px;display:none;max-width:280px;min-width:50px;font-size:10.5px;line-height:12px;}.ui-tooltip-fluid{display:block;visibility:hidden;position:static!important;float:left!important;}.ui-tooltip-content{position:relative;padding:5px 9px;overflow:hidden;border:1px solid #000001;text-align:left;word-wrap:break-word;overflow:hidden;}.ui-tooltip-titlebar{position:relative;min-height:14px;padding:5px 35px 5px 10px;overflow:hidden;border:1px solid #000001;border-width:1px 1px 0;font-weight:bold;}.ui-tooltip-titlebar+.ui-tooltip-content{border-top-width:0!important;}/*!Default close button class */ .ui-tooltip-titlebar .ui-state-default{position:absolute;right:4px;top:50%;margin-top:-9px;cursor:pointer;outline:medium none;border-width:1px;border-style:solid;}* html .ui-tooltip-titlebar .ui-state-default{top:16px;}.ui-tooltip-titlebar .ui-icon,.ui-tooltip-icon .ui-icon{display:block;text-indent:-1000em;}.ui-tooltip-icon,.ui-tooltip-icon .ui-icon{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;}.ui-tooltip-icon .ui-icon{width:18px;height:14px;text-align:center;text-indent:0;font:normal bold 10px/13px Tahoma,sans-serif;color:inherit;background:transparent none no-repeat -100em -100em;}/*!Default tooltip style */ .ui-tooltip-default .ui-tooltip-titlebar,.ui-tooltip-default .ui-tooltip-content{border-color:#F1D031;background-color:#FFFFA3;color:#555;}.ui-tooltip-default .ui-tooltip-titlebar{background-color:#FFEF93;}.ui-tooltip-default .ui-tooltip-icon{border-color:#CCC;background:#F1F1F1;color:#777;}.ui-tooltip-default .ui-tooltip-titlebar .ui-state-hover{border-color:#AAA;color:#111;}.ui-tooltip .ui-tooltip-tip{margin:0 auto;overflow:hidden;z-index:10;}.ui-tooltip .ui-tooltip-tip,.ui-tooltip .ui-tooltip-tip *{position:absolute;line-height:.1px!important;font-size:.1px!important;color:#123456;background:transparent;border:0 dashed transparent;}.ui-tooltip .ui-tooltip-tip canvas{top:0;left:0;}#qtip-overlay{position:fixed;left:-10000em;top:-10000em;}#qtip-overlay.blurs{cursor:pointer;}#qtip-overlay div{position:absolute;left:0;top:0;width:100%;height:100%;background-color:black;opacity:.7;filter:alpha(opacity=70);-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";}/*!Light tooltip style */ .ui-tooltip-light .ui-tooltip-titlebar,.ui-tooltip-light .ui-tooltip-content{border-color:#E2E2E2;color:#454545;}.ui-tooltip-light .ui-tooltip-content{background-color:white;}.ui-tooltip-light .ui-tooltip-titlebar{background-color:#f1f1f1;}/*!Dark tooltip style */ .ui-tooltip-dark .ui-tooltip-titlebar,.ui-tooltip-dark .ui-tooltip-content{border-color:#303030;color:#f3f3f3;}.ui-tooltip-dark .ui-tooltip-content{background-color:#505050;}.ui-tooltip-dark .ui-tooltip-titlebar{background-color:#404040;}.ui-tooltip-dark .ui-tooltip-icon{border-color:#444;}.ui-tooltip-dark .ui-tooltip-titlebar .ui-state-hover{border-color:#303030;}/*!Cream tooltip style */ .ui-tooltip-cream .ui-tooltip-titlebar,.ui-tooltip-cream .ui-tooltip-content{border-color:#F9E98E;color:#A27D35;}.ui-tooltip-cream .ui-tooltip-content{background-color:#FBF7AA;}.ui-tooltip-cream .ui-tooltip-titlebar{background-color:#F0DE7D;}.ui-tooltip-cream .ui-state-default .ui-tooltip-icon{background-position:-82px 0;}/*!Red tooltip style */ .ui-tooltip-red .ui-tooltip-titlebar,.ui-tooltip-red .ui-tooltip-content{border-color:#D95252;color:#912323;}.ui-tooltip-red .ui-tooltip-content{background-color:#F78B83;}.ui-tooltip-red .ui-tooltip-titlebar{background-color:#F06D65;}.ui-tooltip-red .ui-state-default .ui-tooltip-icon{background-position:-102px 0;}.ui-tooltip-red .ui-tooltip-icon{border-color:#D95252;}.ui-tooltip-red .ui-tooltip-titlebar .ui-state-hover{border-color:#D95252;}/*!Green tooltip style */ .ui-tooltip-green .ui-tooltip-titlebar,.ui-tooltip-green .ui-tooltip-content{border-color:#90D93F;color:#3F6219;}.ui-tooltip-green .ui-tooltip-content{background-color:#CAED9E;}.ui-tooltip-green .ui-tooltip-titlebar{background-color:#B0DE78;}.ui-tooltip-green .ui-state-default .ui-tooltip-icon{background-position:-42px 0;}/*!Blue tooltip style */ .ui-tooltip-blue .ui-tooltip-titlebar,.ui-tooltip-blue .ui-tooltip-content{border-color:#ADD9ED;color:#5E99BD;}.ui-tooltip-blue .ui-tooltip-content{background-color:#E5F6FE;}.ui-tooltip-blue .ui-tooltip-titlebar{background-color:#D0E9F5;}.ui-tooltip-blue .ui-state-default .ui-tooltip-icon{background-position:-2px 0;}/*!Add shadows to your tooltips in:FF3+,Chrome 2+,Opera 10.6+,IE6+,Safari 2+*/ .ui-tooltip-shadow{-webkit-box-shadow:1px 1px 3px 1px rgba(0,0,0,0.15);-moz-box-shadow:1px 1px 3px 1px rgba(0,0,0,0.15);box-shadow:1px 1px 3px 1px rgba(0,0,0,0.15);}.ui-tooltip-shadow .ui-tooltip-titlebar,.ui-tooltip-shadow .ui-tooltip-content{filter:progid:DXImageTransform.Microsoft.Shadow(Color='gray',Direction=135,Strength=3);-ms-filter:"progid:DXImageTransform.Microsoft.Shadow(Color='gray',Direction=135,Strength=3)";_margin-bottom:-3px;.margin-bottom:-3px;}/*!Add rounded corners to your tooltips in:FF3+,Chrome 2+,Opera 10.6+,IE9+,Safari 2+*/ .ui-tooltip-rounded,.ui-tooltip-rounded .ui-tooltip-content,.ui-tooltip-tipsy,.ui-tooltip-tipsy .ui-tooltip-content,.ui-tooltip-youtube,.ui-tooltip-youtube .ui-tooltip-content{-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;}.ui-tooltip-rounded .ui-tooltip-titlebar,.ui-tooltip-tipsy .ui-tooltip-titlebar,.ui-tooltip-youtube .ui-tooltip-titlebar{-moz-border-radius:5px 5px 0 0;-webkit-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0;}.ui-tooltip-rounded .ui-tooltip-titlebar+.ui-tooltip-content,.ui-tooltip-tipsy .ui-tooltip-titlebar+.ui-tooltip-content,.ui-tooltip-youtube .ui-tooltip-titlebar+.ui-tooltip-content{-moz-border-radius:0 0 5px 5px;-webkit-border-radius:0 0 5px 5px;border-radius:0 0 5px 5px;}/*!Youtube tooltip style */ .ui-tooltip-youtube{-webkit-box-shadow:0 0 3px #333;-moz-box-shadow:0 0 3px #333;box-shadow:0 0 3px #333;}.ui-tooltip-youtube .ui-tooltip-titlebar,.ui-tooltip-youtube .ui-tooltip-content{_margin-bottom:0;.margin-bottom:0;background:transparent;background:rgba(0,0,0,0.85);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#D9000000,endColorstr=#D9000000);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#D9000000,endColorstr=#D9000000)";color:white;border-color:#CCC;}.ui-tooltip-youtube .ui-tooltip-icon{border-color:#222;}.ui-tooltip-youtube .ui-tooltip-titlebar .ui-state-hover{border-color:#303030;}.ui-tooltip-jtools{background:#232323;background:rgba(0,0,0,0.7);background-image:-moz-linear-gradient(top,#717171,#232323);background-image:-webkit-gradient(linear,left top,left bottom,from(#717171),to(#232323));border:2px solid #ddd;border:2px solid rgba(241,241,241,1);-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;-webkit-box-shadow:0 0 12px #333;-moz-box-shadow:0 0 12px #333;box-shadow:0 0 12px #333;}.ui-tooltip-jtools .ui-tooltip-titlebar{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#717171,endColorstr=#4A4A4A);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#717171,endColorstr=#4A4A4A)";}.ui-tooltip-jtools .ui-tooltip-content{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#4A4A4A,endColorstr=#232323);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#4A4A4A,endColorstr=#232323)";}.ui-tooltip-jtools .ui-tooltip-titlebar,.ui-tooltip-jtools .ui-tooltip-content{background:transparent;color:white;border:0 dashed transparent;}.ui-tooltip-jtools .ui-tooltip-icon{border-color:#555;}.ui-tooltip-jtools .ui-tooltip-titlebar .ui-state-hover{border-color:#333;}.ui-tooltip-cluetip{-webkit-box-shadow:4px 4px 5px rgba(0,0,0,0.4);-moz-box-shadow:4px 4px 5px rgba(0,0,0,0.4);box-shadow:4px 4px 5px rgba(0,0,0,0.4);}.ui-tooltip-cluetip .ui-tooltip-titlebar{background-color:#87876A;color:white;border:0 dashed transparent;}.ui-tooltip-cluetip .ui-tooltip-content{background-color:#D9D9C2;color:#111;border:0 dashed transparent;}.ui-tooltip-cluetip .ui-tooltip-icon{border-color:#808064;}.ui-tooltip-cluetip .ui-tooltip-titlebar .ui-state-hover{border-color:#696952;color:#696952;}.ui-tooltip-tipsy{border:0;}.ui-tooltip-tipsy .ui-tooltip-titlebar,.ui-tooltip-tipsy .ui-tooltip-content{_margin-bottom:0;.margin-bottom:0;background:transparent;background:rgba(0,0,0,.87);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#D9000000,endColorstr=#D9000000);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#D9000000,endColorstr=#D9000000)";color:white;border:0 transparent;font-size:11px;font-family:'Lucida Grande',sans-serif;font-weight:bold;line-height:16px;text-shadow:0 1px black;}.ui-tooltip-tipsy .ui-tooltip-titlebar{padding:6px 35px 0 10;}.ui-tooltip-tipsy .ui-tooltip-content{padding:6px 10;}.ui-tooltip-tipsy .ui-tooltip-icon{border-color:#222;text-shadow:none;}.ui-tooltip-tipsy .ui-tooltip-titlebar .ui-state-hover{border-color:#303030;}.ui-tooltip-tipped .ui-tooltip-titlebar,.ui-tooltip-tipped .ui-tooltip-content{border:3px solid #959FA9;filter:none;-ms-filter:none;}.ui-tooltip-tipped .ui-tooltip-titlebar{background:#3A79B8;background-image:-moz-linear-gradient(top,#3A79B8,#2E629D);background-image:-webkit-gradient(linear,left top,left bottom,from(#3A79B8),to(#2E629D));filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#3A79B8,endColorstr=#2E629D);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#3A79B8,endColorstr=#2E629D)";color:white;font-weight:normal;font-family:serif;border-bottom-width:0;-moz-border-radius:3px 3px 0 0;-webkit-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0;}.ui-tooltip-tipped .ui-tooltip-content{background-color:#F9F9F9;color:#454545;-moz-border-radius:0 0 3px 3px;-webkit-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px;}.ui-tooltip-tipped .ui-tooltip-icon{border:2px solid #285589;background:#285589;}.ui-tooltip-tipped .ui-tooltip-icon .ui-icon{background-color:#FBFBFB;color:#555;}.ui-tooltip:not(.ie9haxors) div.ui-tooltip-content,.ui-tooltip:not(.ie9haxors) div.ui-tooltip-titlebar{filter:none;-ms-filter:none;} \ No newline at end of file diff --git a/airtime_mvc/public/js/airtime/library/events/library_playlistbuilder.js b/airtime_mvc/public/js/airtime/library/events/library_playlistbuilder.js index 5c273e3d0..0c8c48ff3 100644 --- a/airtime_mvc/public/js/airtime/library/events/library_playlistbuilder.js +++ b/airtime_mvc/public/js/airtime/library/events/library_playlistbuilder.js @@ -1,9 +1,5 @@ function fnLibraryTableRowCallback( nRow, aData, iDisplayIndex, iDisplayIndexFull ) { - function test() { - alert("hi"); - } - $(nRow).attr("id", aData["tr_id"]); $(nRow).find('td') @@ -12,8 +8,6 @@ function fnLibraryTableRowCallback( nRow, aData, iDisplayIndex, iDisplayIndexFul {id: aData["id"], type: aData["ftype"]}, {xposition: "mouse", yposition: "mouse"}); - //{title:"Menu Item 4 - Js function", action:{type:"fn",callback:function(){ alert('THIS IS THE TEST'); } - return nRow; } diff --git a/airtime_mvc/public/js/airtime/library/events/library_showbuilder.js b/airtime_mvc/public/js/airtime/library/events/library_showbuilder.js index a798ab18a..d445fbd00 100644 --- a/airtime_mvc/public/js/airtime/library/events/library_showbuilder.js +++ b/airtime_mvc/public/js/airtime/library/events/library_showbuilder.js @@ -12,8 +12,6 @@ function fnLibraryTableRowCallback( nRow, aData, iDisplayIndex, iDisplayIndexFul function fnLibraryTableDrawCallback() { addLibraryItemEvents(); - //addMetadataQtip(); - //setupGroupActions(); } function addLibraryItemEvents() { diff --git a/airtime_mvc/public/js/airtime/library/library.js b/airtime_mvc/public/js/airtime/library/library.js index 6b391cf9b..75426a001 100644 --- a/airtime_mvc/public/js/airtime/library/library.js +++ b/airtime_mvc/public/js/airtime/library/library.js @@ -198,58 +198,43 @@ function addQtipToSCIcons(){ }); } -function addMetadataQtip(){ - var tableRow = $('#library_display tbody tr'); - tableRow.each(function(){ - var title = $(this).find('td.library_title').html(); - var info = $(this).attr("id"); - info = info.split("_"); - var id = info[1]; - var type = info[0]; - $(this).qtip({ - content: { - text: "Loading...", - title: { - text: title - }, - ajax: { - url: "/Library/get-file-meta-data", - type: "post", - data: ({format: "html", id : id, type: type}), - success: function(data, status){ - this.set('content.text', data); - } - } - }, - position: { - target: 'event', - adjust: { - resize: true, - method: "flip flip" - }, - at: "right center", - my: "left top", - viewport: $(window) - }, - style: { - width: 570, - classes: "ui-tooltip-dark" - }, - show: 'mousedown', - events: { - show: function(event, api) { - // Only show the tooltip if it was a right-click - if(event.originalEvent.button !== 2) { - event.preventDefault(); - } - } - } - }); - }); - - tableRow.bind('contextmenu', function(e){ - return false; - }); +function fnCreatedRow( nRow, aData, iDataIndex ) { + + //add a tool tip to appear when the user clicks on the type icon. + $(nRow.children[1]).qtip({ + content: { + text: "Loading...", + title: { + text: aData.track_title + }, + ajax: { + url: "/Library/get-file-meta-data", + type: "get", + data: ({format: "html", id : aData.id, type: aData.ftype}), + success: function(data, status) { + this.set('content.text', data); + } + } + }, + position: { + my: 'left center', + at: 'right center', // Position the tooltip above the link + viewport: $(window), // Keep the tooltip on-screen at all times + effect: false // Disable positioning animation + }, + style: { + classes: "ui-tooltip-dark" + }, + show: { + event: 'click', + solo: true // Only show one tooltip at a time + }, + hide: 'mouseout', + + }).click(function(event) { + event.preventDefault(); + event.stopPropagation(); + }); } /** @@ -269,14 +254,6 @@ function getNumEntriesPreference(data) { return parseInt(data.libraryInit.numEntries, 10); } -function groupAdd() { - -} - -function groupDelete() { - -} - function createDataTable(data) { var oTable; @@ -295,6 +272,8 @@ function createDataTable(data) { } ); }, "fnRowCallback": fnLibraryTableRowCallback, + "fnCreatedRow": fnCreatedRow, + "fnCreatedRowCallback": fnCreatedRow, "fnDrawCallback": fnLibraryTableDrawCallback, "fnHeaderCallback": function(nHead) { $(nHead).find("input[type=checkbox]").attr("checked", false); @@ -309,7 +288,7 @@ function createDataTable(data) { /* Genre */ {"sTitle": "Genre", "sName": "genre", "mDataProp": "genre", "sClass": "library_genre"}, /* Year */ {"sTitle": "Year", "sName": "year", "mDataProp": "year", "sClass": "library_year"}, /* Length */ {"sTitle": "Length", "sName": "length", "mDataProp": "length", "sClass": "library_length"}, - /* Upload Time */ {"sTitle": "Upload Time", "sName": "utime", "mDataProp": "utime", "sClass": "library_upload_time"}, + /* Upload Time */ {"sTitle": "Uploaded", "sName": "utime", "mDataProp": "utime", "sClass": "library_upload_time"}, /* Last Modified */ {"sTitle": "Last Modified", "sName": "mtime", "bVisible": false, "mDataProp": "mtime", "sClass": "library_modified_time"} ], "aaSorting": [[2,'asc']], diff --git a/airtime_mvc/public/js/datatables/js/jquery.dataTables.js b/airtime_mvc/public/js/datatables/js/jquery.dataTables.js index a295d1706..35b8d1b57 100644 --- a/airtime_mvc/public/js/datatables/js/jquery.dataTables.js +++ b/airtime_mvc/public/js/datatables/js/jquery.dataTables.js @@ -1,18 +1,17 @@ -/* - * File: jquery.dataTables.js - * Version: 1.8.2 - * Description: Paginate, search and sort HTML tables - * Author: Allan Jardine (www.sprymedia.co.uk) - * Created: 28/3/2008 - * Language: Javascript - * License: GPL v2 or BSD 3 point style - * Project: Mtaala - * Contact: allan.jardine@sprymedia.co.uk - * - * Copyright 2008-2011 Allan Jardine, all rights reserved. +/** + * @summary DataTables + * @description Paginate, search and sort HTML tables + * @version 1.9.0 + * @file jquery.dataTables.js + * @author Allan Jardine (www.sprymedia.co.uk) + * @contact www.sprymedia.co.uk/contact + * + * @copyright Copyright 2008-2012 Allan Jardine, all rights reserved. * * This source file is free software, under either the GPL v2 license or a - * BSD style license, as supplied with this software. + * BSD style license, available at: + * http://datatables.net/license_gpl2 + * http://datatables.net/license_bsd * * This source file is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY @@ -21,2557 +20,89 @@ * For details please refer to: http://www.datatables.net */ -/* - * When considering jsLint, we need to allow eval() as it it is used for reading cookies - */ /*jslint evil: true, undef: true, browser: true */ -/*globals $, jQuery,_fnExternApiFunc,_fnInitialise,_fnInitComplete,_fnLanguageProcess,_fnAddColumn,_fnColumnOptions,_fnAddData,_fnCreateTr,_fnGatherData,_fnBuildHead,_fnDrawHead,_fnDraw,_fnReDraw,_fnAjaxUpdate,_fnAjaxParameters,_fnAjaxUpdateDraw,_fnServerParams,_fnAddOptionsHtml,_fnFeatureHtmlTable,_fnScrollDraw,_fnAdjustColumnSizing,_fnFeatureHtmlFilter,_fnFilterComplete,_fnFilterCustom,_fnFilterColumn,_fnFilter,_fnBuildSearchArray,_fnBuildSearchRow,_fnFilterCreateSearch,_fnDataToSearch,_fnSort,_fnSortAttachListener,_fnSortingClasses,_fnFeatureHtmlPaginate,_fnPageChange,_fnFeatureHtmlInfo,_fnUpdateInfo,_fnFeatureHtmlLength,_fnFeatureHtmlProcessing,_fnProcessingDisplay,_fnVisibleToColumnIndex,_fnColumnIndexToVisible,_fnNodeToDataIndex,_fnVisbleColumns,_fnCalculateEnd,_fnConvertToWidth,_fnCalculateColumnWidths,_fnScrollingWidthAdjust,_fnGetWidestNode,_fnGetMaxLenString,_fnStringToCss,_fnArrayCmp,_fnDetectType,_fnSettingsFromNode,_fnGetDataMaster,_fnGetTrNodes,_fnGetTdNodes,_fnEscapeRegex,_fnDeleteIndex,_fnReOrderIndex,_fnColumnOrdering,_fnLog,_fnClearTable,_fnSaveState,_fnLoadState,_fnCreateCookie,_fnReadCookie,_fnDetectHeader,_fnGetUniqueThs,_fnScrollBarWidth,_fnApplyToChildren,_fnMap,_fnGetRowData,_fnGetCellData,_fnSetCellData,_fnGetObjectDataFn,_fnSetObjectDataFn*/ +/*globals $, jQuery,_fnExternApiFunc,_fnInitialise,_fnInitComplete,_fnLanguageCompat,_fnAddColumn,_fnColumnOptions,_fnAddData,_fnCreateTr,_fnGatherData,_fnBuildHead,_fnDrawHead,_fnDraw,_fnReDraw,_fnAjaxUpdate,_fnAjaxParameters,_fnAjaxUpdateDraw,_fnServerParams,_fnAddOptionsHtml,_fnFeatureHtmlTable,_fnScrollDraw,_fnAdjustColumnSizing,_fnFeatureHtmlFilter,_fnFilterComplete,_fnFilterCustom,_fnFilterColumn,_fnFilter,_fnBuildSearchArray,_fnBuildSearchRow,_fnFilterCreateSearch,_fnDataToSearch,_fnSort,_fnSortAttachListener,_fnSortingClasses,_fnFeatureHtmlPaginate,_fnPageChange,_fnFeatureHtmlInfo,_fnUpdateInfo,_fnFeatureHtmlLength,_fnFeatureHtmlProcessing,_fnProcessingDisplay,_fnVisibleToColumnIndex,_fnColumnIndexToVisible,_fnNodeToDataIndex,_fnVisbleColumns,_fnCalculateEnd,_fnConvertToWidth,_fnCalculateColumnWidths,_fnScrollingWidthAdjust,_fnGetWidestNode,_fnGetMaxLenString,_fnStringToCss,_fnDetectType,_fnSettingsFromNode,_fnGetDataMaster,_fnGetTrNodes,_fnGetTdNodes,_fnEscapeRegex,_fnDeleteIndex,_fnReOrderIndex,_fnColumnOrdering,_fnLog,_fnClearTable,_fnSaveState,_fnLoadState,_fnCreateCookie,_fnReadCookie,_fnDetectHeader,_fnGetUniqueThs,_fnScrollBarWidth,_fnApplyToChildren,_fnMap,_fnGetRowData,_fnGetCellData,_fnSetCellData,_fnGetObjectDataFn,_fnSetObjectDataFn,_fnApplyColumnDefs,_fnBindAction,_fnCallbackReg,_fnCallbackFire,_fnJsonString,_fnRender,_fnNodeToColumnIndex*/ -(function($, window, document) { - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Section - DataTables variables - * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - - /* - * Variable: dataTableSettings - * Purpose: Store the settings for each dataTables instance - * Scope: jQuery.fn - */ - $.fn.dataTableSettings = []; - var _aoSettings = $.fn.dataTableSettings; /* Short reference for fast internal lookup */ - - /* - * Variable: dataTableExt - * Purpose: Container for customisable parts of DataTables - * Scope: jQuery.fn - */ - $.fn.dataTableExt = {}; - var _oExt = $.fn.dataTableExt; - - - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Section - DataTables extensible objects +(/** @lends */function($, window, document, undefined) { + /** + * DataTables is a plug-in for the jQuery Javascript library. It is a + * highly flexible tool, based upon the foundations of progressive + * enhancement, which will add advanced interaction controls to any + * HTML table. For a full list of features please refer to + * DataTables.net. + * + * Note that the DataTable object is not a global variable but is + * aliased to jQuery.fn.DataTable and jQuery.fn.dataTable through which + * it may be accessed. + * + * @class + * @param {object} [oInit={}] Configuration object for DataTables. Options + * are defined by {@link DataTable.defaults} + * @requires jQuery 1.3+ * - * The _oExt object is used to provide an area where user defined plugins can be - * added to DataTables. The following properties of the object are used: - * oApi - Plug-in API functions - * aTypes - Auto-detection of types - * oSort - Sorting functions used by DataTables (based on the type) - * oPagination - Pagination functions for different input styles - * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - - /* - * Variable: sVersion - * Purpose: Version string for plug-ins to check compatibility - * Scope: jQuery.fn.dataTableExt - * Notes: Allowed format is a.b.c.d.e where: - * a:int, b:int, c:int, d:string(dev|beta), e:int. d and e are optional + * @example + * // Basic initialisation + * $(document).ready( function { + * $('#example').dataTable(); + * } ); + * + * @example + * // Initialisation with configuration options - in this case, disable + * // pagination and sorting. + * $(document).ready( function { + * $('#example').dataTable( { + * "bPaginate": false, + * "bSort": false + * } ); + * } ); */ - _oExt.sVersion = "1.8.2"; - - /* - * Variable: sErrMode - * Purpose: How should DataTables report an error. Can take the value 'alert' or 'throw' - * Scope: jQuery.fn.dataTableExt - */ - _oExt.sErrMode = "alert"; - - /* - * Variable: iApiIndex - * Purpose: Index for what 'this' index API functions should use - * Scope: jQuery.fn.dataTableExt - */ - _oExt.iApiIndex = 0; - - /* - * Variable: oApi - * Purpose: Container for plugin API functions - * Scope: jQuery.fn.dataTableExt - */ - _oExt.oApi = { }; - - /* - * Variable: aFiltering - * Purpose: Container for plugin filtering functions - * Scope: jQuery.fn.dataTableExt - */ - _oExt.afnFiltering = [ ]; - - /* - * Variable: aoFeatures - * Purpose: Container for plugin function functions - * Scope: jQuery.fn.dataTableExt - * Notes: Array of objects with the following parameters: - * fnInit: Function for initialisation of Feature. Takes oSettings and returns node - * cFeature: Character that will be matched in sDom - case sensitive - * sFeature: Feature name - just for completeness :-) - */ - _oExt.aoFeatures = [ ]; - - /* - * Variable: ofnSearch - * Purpose: Container for custom filtering functions - * Scope: jQuery.fn.dataTableExt - * Notes: This is an object (the name should match the type) for custom filtering function, - * which can be used for live DOM checking or formatted text filtering - */ - _oExt.ofnSearch = { }; - - /* - * Variable: afnSortData - * Purpose: Container for custom sorting data source functions - * Scope: jQuery.fn.dataTableExt - * Notes: Array (associative) of functions which is run prior to a column of this - * 'SortDataType' being sorted upon. - * Function input parameters: - * object:oSettings- DataTables settings object - * int:iColumn - Target column number - * Return value: Array of data which exactly matched the full data set size for the column to - * be sorted upon - */ - _oExt.afnSortData = [ ]; - - /* - * Variable: oStdClasses - * Purpose: Storage for the various classes that DataTables uses - * Scope: jQuery.fn.dataTableExt - */ - _oExt.oStdClasses = { - /* Two buttons buttons */ - "sPagePrevEnabled": "paginate_enabled_previous", - "sPagePrevDisabled": "paginate_disabled_previous", - "sPageNextEnabled": "paginate_enabled_next", - "sPageNextDisabled": "paginate_disabled_next", - "sPageJUINext": "", - "sPageJUIPrev": "", - - /* Full numbers paging buttons */ - "sPageButton": "paginate_button", - "sPageButtonActive": "paginate_active", - "sPageButtonStaticDisabled": "paginate_button paginate_button_disabled", - "sPageFirst": "first", - "sPagePrevious": "previous", - "sPageNext": "next", - "sPageLast": "last", - - /* Striping classes */ - "sStripeOdd": "odd", - "sStripeEven": "even", - - /* Empty row */ - "sRowEmpty": "dataTables_empty", - - /* Features */ - "sWrapper": "dataTables_wrapper", - "sFilter": "dataTables_filter", - "sInfo": "dataTables_info", - "sPaging": "dataTables_paginate paging_", /* Note that the type is postfixed */ - "sLength": "dataTables_length", - "sProcessing": "dataTables_processing", - - /* Sorting */ - "sSortAsc": "sorting_asc", - "sSortDesc": "sorting_desc", - "sSortable": "sorting", /* Sortable in both directions */ - "sSortableAsc": "sorting_asc_disabled", - "sSortableDesc": "sorting_desc_disabled", - "sSortableNone": "sorting_disabled", - "sSortColumn": "sorting_", /* Note that an int is postfixed for the sorting order */ - "sSortJUIAsc": "", - "sSortJUIDesc": "", - "sSortJUI": "", - "sSortJUIAscAllowed": "", - "sSortJUIDescAllowed": "", - "sSortJUIWrapper": "", - "sSortIcon": "", - - /* Scrolling */ - "sScrollWrapper": "dataTables_scroll", - "sScrollHead": "dataTables_scrollHead", - "sScrollHeadInner": "dataTables_scrollHeadInner", - "sScrollBody": "dataTables_scrollBody", - "sScrollFoot": "dataTables_scrollFoot", - "sScrollFootInner": "dataTables_scrollFootInner", - - /* Misc */ - "sFooterTH": "" - }; - - /* - * Variable: oJUIClasses - * Purpose: Storage for the various classes that DataTables uses - jQuery UI suitable - * Scope: jQuery.fn.dataTableExt - */ - _oExt.oJUIClasses = { - /* Two buttons buttons */ - "sPagePrevEnabled": "fg-button ui-button ui-state-default ui-corner-left", - "sPagePrevDisabled": "fg-button ui-button ui-state-default ui-corner-left ui-state-disabled", - "sPageNextEnabled": "fg-button ui-button ui-state-default ui-corner-right", - "sPageNextDisabled": "fg-button ui-button ui-state-default ui-corner-right ui-state-disabled", - "sPageJUINext": "ui-icon ui-icon-circle-arrow-e", - "sPageJUIPrev": "ui-icon ui-icon-circle-arrow-w", - - /* Full numbers paging buttons */ - "sPageButton": "fg-button ui-button ui-state-default", - "sPageButtonActive": "fg-button ui-button ui-state-default ui-state-disabled", - "sPageButtonStaticDisabled": "fg-button ui-button ui-state-default ui-state-disabled", - "sPageFirst": "first ui-corner-tl ui-corner-bl", - "sPagePrevious": "previous", - "sPageNext": "next", - "sPageLast": "last ui-corner-tr ui-corner-br", - - /* Striping classes */ - "sStripeOdd": "odd", - "sStripeEven": "even", - - /* Empty row */ - "sRowEmpty": "dataTables_empty", - - /* Features */ - "sWrapper": "dataTables_wrapper", - "sFilter": "dataTables_filter", - "sInfo": "dataTables_info", - "sPaging": "dataTables_paginate fg-buttonset ui-buttonset fg-buttonset-multi "+ - "ui-buttonset-multi paging_", /* Note that the type is postfixed */ - "sLength": "dataTables_length", - "sProcessing": "dataTables_processing", - - /* Sorting */ - "sSortAsc": "ui-state-default", - "sSortDesc": "ui-state-default", - "sSortable": "ui-state-default", - "sSortableAsc": "ui-state-default", - "sSortableDesc": "ui-state-default", - "sSortableNone": "ui-state-default", - "sSortColumn": "sorting_", /* Note that an int is postfixed for the sorting order */ - "sSortJUIAsc": "css_right ui-icon ui-icon-triangle-1-n", - "sSortJUIDesc": "css_right ui-icon ui-icon-triangle-1-s", - "sSortJUI": "css_right ui-icon ui-icon-carat-2-n-s", - "sSortJUIAscAllowed": "css_right ui-icon ui-icon-carat-1-n", - "sSortJUIDescAllowed": "css_right ui-icon ui-icon-carat-1-s", - "sSortJUIWrapper": "DataTables_sort_wrapper", - "sSortIcon": "DataTables_sort_icon", - - /* Scrolling */ - "sScrollWrapper": "dataTables_scroll", - "sScrollHead": "dataTables_scrollHead ui-state-default", - "sScrollHeadInner": "dataTables_scrollHeadInner", - "sScrollBody": "dataTables_scrollBody", - "sScrollFoot": "dataTables_scrollFoot ui-state-default", - "sScrollFootInner": "dataTables_scrollFootInner", - - /* Misc */ - "sFooterTH": "ui-state-default" - }; - - /* - * Variable: oPagination - * Purpose: Container for the various type of pagination that dataTables supports - * Scope: jQuery.fn.dataTableExt - */ - _oExt.oPagination = { - /* - * Variable: two_button - * Purpose: Standard two button (forward/back) pagination - * Scope: jQuery.fn.dataTableExt.oPagination - */ - "two_button": { - /* - * Function: oPagination.two_button.fnInit - * Purpose: Initialise dom elements required for pagination with forward/back buttons only - * Returns: - - * Inputs: object:oSettings - dataTables settings object - * node:nPaging - the DIV which contains this pagination control - * function:fnCallbackDraw - draw function which must be called on update - */ - "fnInit": function ( oSettings, nPaging, fnCallbackDraw ) - { - var nPrevious, nNext, nPreviousInner, nNextInner; - - /* Store the next and previous elements in the oSettings object as they can be very - * usful for automation - particularly testing - */ - if ( !oSettings.bJUI ) - { - nPrevious = document.createElement( 'div' ); - nNext = document.createElement( 'div' ); - } - else - { - nPrevious = document.createElement( 'a' ); - nNext = document.createElement( 'a' ); - - nNextInner = document.createElement('span'); - nNextInner.className = oSettings.oClasses.sPageJUINext; - nNext.appendChild( nNextInner ); - - nPreviousInner = document.createElement('span'); - nPreviousInner.className = oSettings.oClasses.sPageJUIPrev; - nPrevious.appendChild( nPreviousInner ); - } - - nPrevious.className = oSettings.oClasses.sPagePrevDisabled; - nNext.className = oSettings.oClasses.sPageNextDisabled; - - nPrevious.title = oSettings.oLanguage.oPaginate.sPrevious; - nNext.title = oSettings.oLanguage.oPaginate.sNext; - - nPaging.appendChild( nPrevious ); - nPaging.appendChild( nNext ); - - $(nPrevious).bind( 'click.DT', function() { - if ( oSettings.oApi._fnPageChange( oSettings, "previous" ) ) - { - /* Only draw when the page has actually changed */ - fnCallbackDraw( oSettings ); - } - } ); - - $(nNext).bind( 'click.DT', function() { - if ( oSettings.oApi._fnPageChange( oSettings, "next" ) ) - { - fnCallbackDraw( oSettings ); - } - } ); - - /* Take the brutal approach to cancelling text selection */ - $(nPrevious).bind( 'selectstart.DT', function () { return false; } ); - $(nNext).bind( 'selectstart.DT', function () { return false; } ); - - /* ID the first elements only */ - if ( oSettings.sTableId !== '' && typeof oSettings.aanFeatures.p == "undefined" ) - { - nPaging.setAttribute( 'id', oSettings.sTableId+'_paginate' ); - nPrevious.setAttribute( 'id', oSettings.sTableId+'_previous' ); - nNext.setAttribute( 'id', oSettings.sTableId+'_next' ); - } - }, - - /* - * Function: oPagination.two_button.fnUpdate - * Purpose: Update the two button pagination at the end of the draw - * Returns: - - * Inputs: object:oSettings - dataTables settings object - * function:fnCallbackDraw - draw function to call on page change - */ - "fnUpdate": function ( oSettings, fnCallbackDraw ) - { - if ( !oSettings.aanFeatures.p ) - { - return; - } - - /* Loop over each instance of the pager */ - var an = oSettings.aanFeatures.p; - for ( var i=0, iLen=an.length ; i= (iPages - iPageCountHalf)) - { - iStartButton = iPages - iPageCount + 1; - iEndButton = iPages; - } - else - { - iStartButton = iCurrentPage - Math.ceil(iPageCount / 2) + 1; - iEndButton = iStartButton + iPageCount - 1; - } - } - } - - /* Build the dynamic list */ - for ( i=iStartButton ; i<=iEndButton ; i++ ) - { - if ( iCurrentPage != i ) - { - sList += ''+i+''; - } - else - { - sList += ''+i+''; - } - } - - /* Loop over each instance of the pager */ - var an = oSettings.aanFeatures.p; - var anButtons, anStatic, nPaginateList; - var fnClick = function(e) { - /* Use the information in the element to jump to the required page */ - var iTarget = (this.innerHTML * 1) - 1; - oSettings._iDisplayStart = iTarget * oSettings._iDisplayLength; - fnCallbackDraw( oSettings ); - e.preventDefault(); - }; - var fnFalse = function () { return false; }; - - for ( i=0, iLen=an.length ; i y) ? 1 : 0)); - }, - - "string-desc": function ( a, b ) - { - if ( typeof a != 'string' ) { a = ''; } - if ( typeof b != 'string' ) { b = ''; } - var x = a.toLowerCase(); - var y = b.toLowerCase(); - return ((x < y) ? 1 : ((x > y) ? -1 : 0)); - }, - - - /* - * html sorting (ignore html tags) - */ - "html-asc": function ( a, b ) - { - var x = a.replace( /<.*?>/g, "" ).toLowerCase(); - var y = b.replace( /<.*?>/g, "" ).toLowerCase(); - return ((x < y) ? -1 : ((x > y) ? 1 : 0)); - }, - - "html-desc": function ( a, b ) - { - var x = a.replace( /<.*?>/g, "" ).toLowerCase(); - var y = b.replace( /<.*?>/g, "" ).toLowerCase(); - return ((x < y) ? 1 : ((x > y) ? -1 : 0)); - }, - - - /* - * date sorting - */ - "date-asc": function ( a, b ) - { - var x = Date.parse( a ); - var y = Date.parse( b ); - - if ( isNaN(x) || x==="" ) - { - x = Date.parse( "01/01/1970 00:00:00" ); - } - if ( isNaN(y) || y==="" ) - { - y = Date.parse( "01/01/1970 00:00:00" ); - } - - return x - y; - }, - - "date-desc": function ( a, b ) - { - var x = Date.parse( a ); - var y = Date.parse( b ); - - if ( isNaN(x) || x==="" ) - { - x = Date.parse( "01/01/1970 00:00:00" ); - } - if ( isNaN(y) || y==="" ) - { - y = Date.parse( "01/01/1970 00:00:00" ); - } - - return y - x; - }, - - - /* - * numerical sorting - */ - "numeric-asc": function ( a, b ) - { - var x = (a=="-" || a==="") ? 0 : a*1; - var y = (b=="-" || b==="") ? 0 : b*1; - return x - y; - }, - - "numeric-desc": function ( a, b ) - { - var x = (a=="-" || a==="") ? 0 : a*1; - var y = (b=="-" || b==="") ? 0 : b*1; - return y - x; - } - }; - - - /* - * Variable: aTypes - * Purpose: Container for the various type of type detection that dataTables supports - * Scope: jQuery.fn.dataTableExt - * Notes: The functions in this array are expected to parse a string to see if it is a data - * type that it recognises. If so then the function should return the name of the type (a - * corresponding sort function should be defined!), if the type is not recognised then the - * function should return null such that the parser and move on to check the next type. - * Note that ordering is important in this array - the functions are processed linearly, - * starting at index 0. - * Note that the input for these functions is always a string! It cannot be any other data - * type - */ - _oExt.aTypes = [ - /* - * Function: - - * Purpose: Check to see if a string is numeric - * Returns: string:'numeric' or null - * Inputs: mixed:sText - string to check - */ - function ( sData ) - { - /* Allow zero length strings as a number */ - if ( typeof sData == 'number' ) - { - return 'numeric'; - } - else if ( typeof sData != 'string' ) - { - return null; - } - - var sValidFirstChars = "0123456789-"; - var sValidChars = "0123456789."; - var Char; - var bDecimal = false; - - /* Check for a valid first char (no period and allow negatives) */ - Char = sData.charAt(0); - if (sValidFirstChars.indexOf(Char) == -1) - { - return null; - } - - /* Check all the other characters are valid */ - for ( var i=1 ; i') != -1 ) - { - return 'html'; - } - return null; - } - ]; - - /* - * Function: fnVersionCheck - * Purpose: Check a version string against this version of DataTables. Useful for plug-ins - * Returns: bool:true -this version of DataTables is greater or equal to the required version - * false -this version of DataTales is not suitable - * Inputs: string:sVersion - the version to check against. May be in the following formats: - * "a", "a.b" or "a.b.c" - * Notes: This function will only check the first three parts of a version string. It is - * assumed that beta and dev versions will meet the requirements. This might change in future - */ - _oExt.fnVersionCheck = function( sVersion ) + var DataTable = function( oInit ) { - /* This is cheap, but very effective */ - var fnZPad = function (Zpad, count) - { - while(Zpad.length < count) { - Zpad += '0'; - } - return Zpad; - }; - var aThis = _oExt.sVersion.split('.'); - var aThat = sVersion.split('.'); - var sThis = '', sThat = ''; - - for ( var i=0, iLen=aThat.length ; i= parseInt(sThat, 10); - }; - - /* - * Variable: _oExternConfig - * Purpose: Store information for DataTables to access globally about other instances - * Scope: jQuery.fn.dataTableExt - */ - _oExt._oExternConfig = { - /* int:iNextUnique - next unique number for an instance */ - "iNextUnique": 0 - }; - - - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Section - DataTables prototype - * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - - /* - * Function: dataTable - * Purpose: DataTables information - * Returns: - - * Inputs: object:oInit - initialisation options for the table - */ - $.fn.dataTable = function( oInit ) - { - /* - * Function: classSettings - * Purpose: Settings container function for all 'class' properties which are required - * by dataTables - * Returns: - - * Inputs: - - */ - function classSettings () - { - this.fnRecordsTotal = function () - { - if ( this.oFeatures.bServerSide ) { - return parseInt(this._iRecordsTotal, 10); - } else { - return this.aiDisplayMaster.length; - } - }; - - this.fnRecordsDisplay = function () - { - if ( this.oFeatures.bServerSide ) { - return parseInt(this._iRecordsDisplay, 10); - } else { - return this.aiDisplay.length; - } - }; - - this.fnDisplayEnd = function () - { - if ( this.oFeatures.bServerSide ) { - if ( this.oFeatures.bPaginate === false || this._iDisplayLength == -1 ) { - return this._iDisplayStart+this.aiDisplay.length; - } else { - return Math.min( this._iDisplayStart+this._iDisplayLength, - this._iRecordsDisplay ); - } - } else { - return this._iDisplayEnd; - } - }; - - /* - * Variable: oInstance - * Purpose: The DataTables object for this table - * Scope: jQuery.dataTable.classSettings - */ - this.oInstance = null; - - /* - * Variable: sInstance - * Purpose: Unique idendifier for each instance of the DataTables object - * Scope: jQuery.dataTable.classSettings - */ - this.sInstance = null; - - /* - * Variable: oFeatures - * Purpose: Indicate the enablement of key dataTable features - * Scope: jQuery.dataTable.classSettings - */ - this.oFeatures = { - "bPaginate": true, - "bLengthChange": true, - "bFilter": true, - "bSort": true, - "bInfo": true, - "bAutoWidth": true, - "bProcessing": false, - "bSortClasses": true, - "bStateSave": false, - "bServerSide": false, - "bDeferRender": false - }; - - /* - * Variable: oScroll - * Purpose: Container for scrolling options - * Scope: jQuery.dataTable.classSettings - */ - this.oScroll = { - "sX": "", - "sXInner": "", - "sY": "", - "bCollapse": false, - "bInfinite": false, - "iLoadGap": 100, - "iBarWidth": 0, - "bAutoCss": true - }; - - /* - * Variable: aanFeatures - * Purpose: Array referencing the nodes which are used for the features - * Scope: jQuery.dataTable.classSettings - * Notes: The parameters of this object match what is allowed by sDom - i.e. - * 'l' - Length changing - * 'f' - Filtering input - * 't' - The table! - * 'i' - Information - * 'p' - Pagination - * 'r' - pRocessing - */ - this.aanFeatures = []; - - /* - * Variable: oLanguage - * Purpose: Store the language strings used by dataTables - * Scope: jQuery.dataTable.classSettings - * Notes: The words in the format _VAR_ are variables which are dynamically replaced - * by javascript - */ - this.oLanguage = { - "sProcessing": "Processing...", - "sLengthMenu": "Show _MENU_ entries", - "sZeroRecords": "No matching records found", - "sEmptyTable": "No data available in table", - "sLoadingRecords": "Loading...", - "sInfo": "Showing _START_ to _END_ of _TOTAL_ entries", - "sInfoEmpty": "Showing 0 to 0 of 0 entries", - "sInfoFiltered": "(filtered from _MAX_ total entries)", - "sInfoPostFix": "", - "sInfoThousands": ",", - "sSearch": "Search:", - "sUrl": "", - "oPaginate": { - "sFirst": "First", - "sPrevious": "Previous", - "sNext": "Next", - "sLast": "Last" - }, - "fnInfoCallback": null - }; - - /* - * Variable: aoData - * Purpose: Store data information - * Scope: jQuery.dataTable.classSettings - * Notes: This is an array of objects with the following parameters: - * int: _iId - internal id for tracking - * array: _aData - internal data - used for sorting / filtering etc - * node: nTr - display node - * array node: _anHidden - hidden TD nodes - * string: _sRowStripe - */ - this.aoData = []; - - /* - * Variable: aiDisplay - * Purpose: Array of indexes which are in the current display (after filtering etc) - * Scope: jQuery.dataTable.classSettings - */ - this.aiDisplay = []; - - /* - * Variable: aiDisplayMaster - * Purpose: Array of indexes for display - no filtering - * Scope: jQuery.dataTable.classSettings - */ - this.aiDisplayMaster = []; - - /* - * Variable: aoColumns - * Purpose: Store information about each column that is in use - * Scope: jQuery.dataTable.classSettings - */ - this.aoColumns = []; - - /* - * Variable: aoHeader - * Purpose: Store information about the table's header - * Scope: jQuery.dataTable.classSettings - */ - this.aoHeader = []; - - /* - * Variable: aoFooter - * Purpose: Store information about the table's footer - * Scope: jQuery.dataTable.classSettings - */ - this.aoFooter = []; - - /* - * Variable: iNextId - * Purpose: Store the next unique id to be used for a new row - * Scope: jQuery.dataTable.classSettings - */ - this.iNextId = 0; - - /* - * Variable: asDataSearch - * Purpose: Search data array for regular expression searching - * Scope: jQuery.dataTable.classSettings - */ - this.asDataSearch = []; - - /* - * Variable: oPreviousSearch - * Purpose: Store the previous search incase we want to force a re-search - * or compare the old search to a new one - * Scope: jQuery.dataTable.classSettings - */ - this.oPreviousSearch = { - "sSearch": "", - "bRegex": false, - "bSmart": true - }; - - /* - * Variable: aoPreSearchCols - * Purpose: Store the previous search for each column - * Scope: jQuery.dataTable.classSettings - */ - this.aoPreSearchCols = []; - - /* - * Variable: aaSorting - * Purpose: Sorting information - * Scope: jQuery.dataTable.classSettings - * Notes: Index 0 - column number - * Index 1 - current sorting direction - * Index 2 - index of asSorting for this column - */ - this.aaSorting = [ [0, 'asc', 0] ]; - - /* - * Variable: aaSortingFixed - * Purpose: Sorting information that is always applied - * Scope: jQuery.dataTable.classSettings - */ - this.aaSortingFixed = null; - - /* - * Variable: asStripeClasses - * Purpose: Classes to use for the striping of a table - * Scope: jQuery.dataTable.classSettings - */ - this.asStripeClasses = []; - - /* - * Variable: asDestroyStripes - * Purpose: If restoring a table - we should restore its striping classes as well - * Scope: jQuery.dataTable.classSettings - */ - this.asDestroyStripes = []; - - /* - * Variable: sDestroyWidth - * Purpose: If restoring a table - we should restore its width - * Scope: jQuery.dataTable.classSettings - */ - this.sDestroyWidth = 0; - - /* - * Variable: fnRowCallback - * Purpose: Call this function every time a row is inserted (draw) - * Scope: jQuery.dataTable.classSettings - */ - this.fnRowCallback = null; - - /* - * Variable: fnHeaderCallback - * Purpose: Callback function for the header on each draw - * Scope: jQuery.dataTable.classSettings - */ - this.fnHeaderCallback = null; - - /* - * Variable: fnFooterCallback - * Purpose: Callback function for the footer on each draw - * Scope: jQuery.dataTable.classSettings - */ - this.fnFooterCallback = null; - - /* - * Variable: aoDrawCallback - * Purpose: Array of callback functions for draw callback functions - * Scope: jQuery.dataTable.classSettings - * Notes: Each array element is an object with the following parameters: - * function:fn - function to call - * string:sName - name callback (feature). useful for arranging array - */ - this.aoDrawCallback = []; - - /* - * Variable: fnPreDrawCallback - * Purpose: Callback function for just before the table is redrawn. A return of false - * will be used to cancel the draw. - * Scope: jQuery.dataTable.classSettings - */ - this.fnPreDrawCallback = null; - - /* - * Variable: fnInitComplete - * Purpose: Callback function for when the table has been initialised - * Scope: jQuery.dataTable.classSettings - */ - this.fnInitComplete = null; - - /* - * Variable: sTableId - * Purpose: Cache the table ID for quick access - * Scope: jQuery.dataTable.classSettings - */ - this.sTableId = ""; - - /* - * Variable: nTable - * Purpose: Cache the table node for quick access - * Scope: jQuery.dataTable.classSettings - */ - this.nTable = null; - - /* - * Variable: nTHead - * Purpose: Permanent ref to the thead element - * Scope: jQuery.dataTable.classSettings - */ - this.nTHead = null; - - /* - * Variable: nTFoot - * Purpose: Permanent ref to the tfoot element - if it exists - * Scope: jQuery.dataTable.classSettings - */ - this.nTFoot = null; - - /* - * Variable: nTBody - * Purpose: Permanent ref to the tbody element - * Scope: jQuery.dataTable.classSettings - */ - this.nTBody = null; - - /* - * Variable: nTableWrapper - * Purpose: Cache the wrapper node (contains all DataTables controlled elements) - * Scope: jQuery.dataTable.classSettings - */ - this.nTableWrapper = null; - - /* - * Variable: bDeferLoading - * Purpose: Indicate if when using server-side processing the loading of data - * should be deferred until the second draw - * Scope: jQuery.dataTable.classSettings - */ - this.bDeferLoading = false; - - /* - * Variable: bInitialised - * Purpose: Indicate if all required information has been read in - * Scope: jQuery.dataTable.classSettings - */ - this.bInitialised = false; - - /* - * Variable: aoOpenRows - * Purpose: Information about open rows - * Scope: jQuery.dataTable.classSettings - * Notes: Has the parameters 'nTr' and 'nParent' - */ - this.aoOpenRows = []; - - /* - * Variable: sDom - * Purpose: Dictate the positioning that the created elements will take - * Scope: jQuery.dataTable.classSettings - * Notes: - * The following options are allowed: - * 'l' - Length changing - * 'f' - Filtering input - * 't' - The table! - * 'i' - Information - * 'p' - Pagination - * 'r' - pRocessing - * The following constants are allowed: - * 'H' - jQueryUI theme "header" classes - * 'F' - jQueryUI theme "footer" classes - * The following syntax is expected: - * '<' and '>' - div elements - * '<"class" and '>' - div with a class - * Examples: - * '<"wrapper"flipt>', 'ip>' - */ - this.sDom = 'lfrtip'; - - /* - * Variable: sPaginationType - * Purpose: Note which type of sorting should be used - * Scope: jQuery.dataTable.classSettings - */ - this.sPaginationType = "two_button"; - - /* - * Variable: iCookieDuration - * Purpose: The cookie duration (for bStateSave) in seconds - default 2 hours - * Scope: jQuery.dataTable.classSettings - */ - this.iCookieDuration = 60 * 60 * 2; - - /* - * Variable: sCookiePrefix - * Purpose: The cookie name prefix - * Scope: jQuery.dataTable.classSettings - */ - this.sCookiePrefix = "SpryMedia_DataTables_"; - - /* - * Variable: fnCookieCallback - * Purpose: Callback function for cookie creation - * Scope: jQuery.dataTable.classSettings - */ - this.fnCookieCallback = null; - - /* - * Variable: aoStateSave - * Purpose: Array of callback functions for state saving - * Scope: jQuery.dataTable.classSettings - * Notes: Each array element is an object with the following parameters: - * function:fn - function to call. Takes two parameters, oSettings and the JSON string to - * save that has been thus far created. Returns a JSON string to be inserted into a - * json object (i.e. '"param": [ 0, 1, 2]') - * string:sName - name of callback - */ - this.aoStateSave = []; - - /* - * Variable: aoStateLoad - * Purpose: Array of callback functions for state loading - * Scope: jQuery.dataTable.classSettings - * Notes: Each array element is an object with the following parameters: - * function:fn - function to call. Takes two parameters, oSettings and the object stored. - * May return false to cancel state loading. - * string:sName - name of callback - */ - this.aoStateLoad = []; - - /* - * Variable: oLoadedState - * Purpose: State that was loaded from the cookie. Useful for back reference - * Scope: jQuery.dataTable.classSettings - */ - this.oLoadedState = null; - - /* - * Variable: sAjaxSource - * Purpose: Source url for AJAX data for the table - * Scope: jQuery.dataTable.classSettings - */ - this.sAjaxSource = null; - - /* - * Variable: sAjaxDataProp - * Purpose: Property from a given object from which to read the table data from. This can - * be an empty string (when not server-side processing), in which case it is - * assumed an an array is given directly. - * Scope: jQuery.dataTable.classSettings - */ - this.sAjaxDataProp = 'aaData'; - - /* - * Variable: bAjaxDataGet - * Purpose: Note if draw should be blocked while getting data - * Scope: jQuery.dataTable.classSettings - */ - this.bAjaxDataGet = true; - - /* - * Variable: jqXHR - * Purpose: The last jQuery XHR object that was used for server-side data gathering. - * This can be used for working with the XHR information in one of the callbacks - * Scope: jQuery.dataTable.classSettings - */ - this.jqXHR = null; - - /* - * Variable: fnServerData - * Purpose: Function to get the server-side data - can be overruled by the developer - * Scope: jQuery.dataTable.classSettings - */ - this.fnServerData = function ( url, data, callback, settings ) { - settings.jqXHR = $.ajax( { - "url": url, - "data": data, - "success": function (json) { - $(settings.oInstance).trigger('xhr', settings); - callback( json ); - }, - "dataType": "json", - "cache": false, - "error": function (xhr, error, thrown) { - if ( error == "parsererror" ) { - alert( "DataTables warning: JSON data from server could not be parsed. "+ - "This is caused by a JSON formatting error." ); - } - } - } ); - }; - - /* - * Variable: aoServerParams - * Purpose: Functions which are called prior to sending an Ajax request so extra parameters - * can easily be sent to the server - * Scope: jQuery.dataTable.classSettings - * Notes: Each array element is an object with the following parameters: - * function:fn - function to call - * string:sName - name callback - useful for knowing where it came from (plugin etc) - */ - this.aoServerParams = []; - - /* - * Variable: fnFormatNumber - * Purpose: Format numbers for display - * Scope: jQuery.dataTable.classSettings - */ - this.fnFormatNumber = function ( iIn ) - { - if ( iIn < 1000 ) - { - /* A small optimisation for what is likely to be the vast majority of use cases */ - return iIn; - } - else - { - var s=(iIn+""), a=s.split(""), out="", iLen=s.length; - - for ( var i=0 ; i