From 55cdd502d3f3dec84c17cd6ee2ec077264d5d2c6 Mon Sep 17 00:00:00 2001 From: David Bezemer Date: Fri, 15 Aug 2014 00:57:54 +0200 Subject: [PATCH] Commit 2.6.8 --- README.txt | 70 +- config.php | 52 +- javascript/bootstrap.min.js | 6 - javascript/dock.js | 57 - jquery/bootstrap/affix.js | 117 - jquery/bootstrap/affix_2_3_2.js | 117 - jquery/bootstrap/alert.js | 99 - jquery/bootstrap/alert_2_3_2.js | 99 - jquery/bootstrap/button.js | 105 - jquery/bootstrap/button_2_3_2.js | 105 - jquery/bootstrap/carousel.js | 207 - jquery/bootstrap/carousel_2_3_2.js | 207 - jquery/bootstrap/collapse.js | 167 - jquery/bootstrap/collapse_2_3_2.js | 167 - jquery/bootstrap/dropdown.js | 169 - jquery/bootstrap/dropdown_2_3_2.js | 169 - jquery/bootstrap/modal.js | 247 - jquery/bootstrap/modal_2_3_2.js | 247 - jquery/bootstrap/popover.js | 114 - jquery/bootstrap/popover_2_3_2.js | 114 - jquery/bootstrap/scrollspy.js | 162 - jquery/bootstrap/scrollspy_2_3_2.js | 162 - jquery/bootstrap/tab.js | 144 - jquery/bootstrap/tab_2_3_2.js | 144 - jquery/bootstrap/tooltip.js | 361 -- jquery/bootstrap/tooltip_2_3_2.js | 361 -- jquery/bootstrap/transition.js | 60 - jquery/bootstrap/transition_2_3_2.js | 60 - jquery/bootstrap/typeahead.js | 335 -- jquery/bootstrap/typeahead_2_3_2.js | 335 -- jquery/bootstrap_2_3_2.js | 6 + jquery/html5shiv_3_7_2.js | 4 + jquery/jBreadCrumb_1_1.js | 186 + jquery/modernizr.js | 4 - jquery/modernizr_2_6_2.js | 4 - jquery/plugins.php | 17 +- lang/de/theme_essential.php | 234 - lang/en/theme_essential.php | 120 +- lang/en_ar/theme_essential.php | 268 - lang/en_us/theme_essential.php | 65 - lang/es/theme_essential.php | 233 - lang/nl/theme_essential.php | 446 -- lang/ru/theme_essential.php | 375 -- lang/tr/theme_essential.php | 207 - layout/columns1.php | 40 +- layout/columns2.php | 43 +- layout/columns3.php | 40 +- layout/embedded.php | 6 +- layout/frontpage.php | 128 +- layout/includes/analytics.php | 8 +- layout/includes/fonts.php | 36 +- layout/includes/footer.php | 21 +- layout/includes/header.php | 207 +- layout/includes/iosicons.php | 20 +- layout/includes/marketingspots.php | 24 +- layout/includes/pagesettings.php | 114 +- layout/includes/slideshow.php | 26 +- layout/login.php | 36 +- layout/popup.php | 27 +- less/alternative.less | 17 + less/bootstrap/accordion.less | 34 + less/bootstrap/alerts.less | 79 + less/bootstrap/bootstrap.less | 63 + less/bootstrap/breadcrumbs.less | 24 + less/bootstrap/button-groups.less | 229 + less/bootstrap/buttons.less | 228 + less/bootstrap/carousel.less | 158 + less/bootstrap/close.less | 32 + less/bootstrap/code.less | 61 + less/bootstrap/component-animations.less | 22 + less/bootstrap/dropdowns.less | 248 + less/bootstrap/forms.less | 690 +++ less/bootstrap/grid.less | 21 + less/bootstrap/hero-unit.less | 25 + less/bootstrap/labels-badges.less | 84 + less/bootstrap/layouts.less | 16 + less/bootstrap/media.less | 55 + less/bootstrap/mixins.less | 702 +++ less/bootstrap/modals.less | 95 + less/bootstrap/navbar.less | 497 ++ less/bootstrap/navs.less | 409 ++ less/bootstrap/pager.less | 43 + less/bootstrap/pagination.less | 123 + less/bootstrap/popovers.less | 133 + less/bootstrap/progress-bars.less | 122 + less/bootstrap/reset.less | 216 + less/bootstrap/responsive-1200px-min.less | 28 + less/bootstrap/responsive-767px-max.less | 193 + less/bootstrap/responsive-768px-979px.less | 19 + less/bootstrap/responsive-navbar.less | 189 + less/bootstrap/responsive-utilities.less | 59 + less/bootstrap/responsive.less | 48 + less/bootstrap/scaffolding.less | 53 + less/bootstrap/sprites.less | 197 + less/bootstrap/tables.less | 244 + less/bootstrap/thumbnails.less | 53 + less/bootstrap/tooltip.less | 70 + less/bootstrap/type.less | 247 + less/bootstrap/utilities.less | 30 + less/bootstrap/variables.less | 301 + less/bootstrap/wells.less | 29 + less/editor.less | 38 + less/essential.less | 47 + less/essential/alert.less | 10 + less/essential/alternative/alternative1.less | 489 ++ less/essential/alternative/alternative2.less | 489 ++ less/essential/alternative/alternative3.less | 489 ++ less/essential/blocks.less | 444 ++ less/essential/breadcrumb.less | 236 + less/essential/button.less | 120 + less/essential/calendar.less | 34 + less/essential/carousel.less | 1 + less/essential/categories.less | 129 + less/essential/core.less | 105 + less/essential/course.less | 164 + less/essential/dock.less | 322 ++ less/essential/editicons.less | 227 + less/essential/fixes.less | 25 + less/essential/footer.less | 222 + less/essential/form.less | 76 + less/essential/forum.less | 49 + less/essential/frontpage.less | 200 + less/essential/greybox.less | 48 + less/essential/header.less | 186 + less/essential/navigation.less | 223 + less/essential/print.less | 106 + less/essential/quiz.less | 32 + less/essential/responsive.less | 122 + less/essential/rtl.less | 111 + less/essential/settings.less | 455 ++ less/essential/tabs.less | 28 + less/essential/variables.less | 1 + less/fontawesome/bordered-pulled.less | 16 + less/fontawesome/core.less | 12 + less/fontawesome/fixed-width.less | 6 + less/fontawesome/font-awesome.less | 17 + less/fontawesome/icons.less | 506 ++ less/fontawesome/larger.less | 13 + less/fontawesome/list.less | 19 + less/fontawesome/mixins.less | 20 + less/fontawesome/path.less | 13 + less/fontawesome/rotated-flipped.less | 9 + less/fontawesome/spinning.less | 32 + less/fontawesome/stacked.less | 20 + less/fontawesome/variables.less | 513 ++ less/moodle.less | 64 + less/moodle/admin.less | 766 +++ less/moodle/backup-restore.less | 231 + less/moodle/blocks.less | 276 + less/moodle/bootstrapoverride.less | 35 + less/moodle/buttons.less | 84 + less/moodle/calendar.less | 191 + less/moodle/chat.less | 114 + less/moodle/core.less | 2230 ++++++++ less/moodle/course.less | 1361 +++++ less/moodle/debug.less | 80 + less/moodle/dock.less | 148 + less/moodle/editor.less | 5 + less/moodle/expendable.less | 106 + less/moodle/filemanager.less | 1221 +++++ less/moodle/forms.less | 477 ++ less/moodle/grade.less | 232 + less/moodle/message.less | 193 + less/moodle/modules.less | 286 + less/moodle/question.less | 551 ++ less/moodle/reports.less | 18 + less/moodle/responsive.less | 611 +++ less/moodle/tables.less | 6 + less/moodle/undo.less | 191 + less/moodle/user.less | 213 + less/moodle/yui_fixes.less | 10 + lib.php | 355 +- pix/bg/dot.png | Bin 2831 -> 121 bytes pix/fp/add_file.png | Bin 0 -> 247 bytes pix/fp/add_file.svg | 15 + pix/fp/alias.png | Bin 0 -> 1249 bytes pix/fp/alias_sm.png | Bin 0 -> 1158 bytes pix/fp/check.png | Bin 0 -> 1299 bytes pix/fp/create_folder.png | Bin 0 -> 209 bytes pix/fp/create_folder.svg | 14 + pix/fp/cross.png | Bin 0 -> 1286 bytes pix/fp/dnd_arrow.gif | Bin 0 -> 83796 bytes pix/fp/download_all.png | Bin 0 -> 266 bytes pix/fp/download_all.svg | 16 + pix/fp/help.png | Bin 0 -> 360 bytes pix/fp/help.svg | 16 + pix/fp/link.png | Bin 0 -> 1442 bytes pix/fp/link_sm.png | Bin 0 -> 1274 bytes pix/fp/logout.png | Bin 0 -> 262 bytes pix/fp/logout.svg | 15 + pix/fp/path_folder.png | Bin 0 -> 1413 bytes pix/fp/path_folder_rtl.png | Bin 0 -> 592 bytes pix/fp/refresh.png | Bin 0 -> 350 bytes pix/fp/refresh.svg | 15 + pix/fp/search.png | Bin 0 -> 372 bytes pix/fp/search.svg | 16 + pix/fp/setting.png | Bin 0 -> 361 bytes pix/fp/setting.svg | 18 + pix/fp/view_icon_active.png | Bin 0 -> 159 bytes pix/fp/view_icon_active.svg | 14 + pix/fp/view_list_active.png | Bin 0 -> 137 bytes pix/fp/view_list_active.svg | 13 + pix/fp/view_tree_active.png | Bin 0 -> 158 bytes pix/fp/view_tree_active.svg | 14 + pix/glyphicons-halflings-white.png | Bin 0 -> 4352 bytes pix/glyphicons-halflings.png | Bin 0 -> 4352 bytes pix/sprite.png | Bin 0 -> 1002 bytes pix/yui2-treeview-sprite-rtl.gif | Bin 0 -> 4344 bytes renderers.php | 7 +- ..._renderer.php => core_course_renderer.php} | 15 +- renderers/core_renderer.php | 687 ++- renderers/core_renderer_maintenance.php | 46 + settings.php | 1110 ++-- style/alternative.css | 1 + style/custom.css | 7 - style/essential-rtl.css | 4821 +---------------- style/essential.css | 3867 +------------ style/fontawesome.css | 1567 ------ style/moodle.css | 17 + style/rtl.css | 93 - thirdpartylibs.xml | 52 + version.php | 12 +- 222 files changed, 24627 insertions(+), 18210 deletions(-) delete mode 100644 javascript/bootstrap.min.js delete mode 100644 javascript/dock.js delete mode 100644 jquery/bootstrap/affix.js delete mode 100644 jquery/bootstrap/affix_2_3_2.js delete mode 100644 jquery/bootstrap/alert.js delete mode 100644 jquery/bootstrap/alert_2_3_2.js delete mode 100644 jquery/bootstrap/button.js delete mode 100644 jquery/bootstrap/button_2_3_2.js delete mode 100644 jquery/bootstrap/carousel.js delete mode 100644 jquery/bootstrap/carousel_2_3_2.js delete mode 100644 jquery/bootstrap/collapse.js delete mode 100644 jquery/bootstrap/collapse_2_3_2.js delete mode 100644 jquery/bootstrap/dropdown.js delete mode 100644 jquery/bootstrap/dropdown_2_3_2.js delete mode 100644 jquery/bootstrap/modal.js delete mode 100644 jquery/bootstrap/modal_2_3_2.js delete mode 100644 jquery/bootstrap/popover.js delete mode 100644 jquery/bootstrap/popover_2_3_2.js delete mode 100644 jquery/bootstrap/scrollspy.js delete mode 100644 jquery/bootstrap/scrollspy_2_3_2.js delete mode 100644 jquery/bootstrap/tab.js delete mode 100644 jquery/bootstrap/tab_2_3_2.js delete mode 100644 jquery/bootstrap/tooltip.js delete mode 100644 jquery/bootstrap/tooltip_2_3_2.js delete mode 100644 jquery/bootstrap/transition.js delete mode 100644 jquery/bootstrap/transition_2_3_2.js delete mode 100644 jquery/bootstrap/typeahead.js delete mode 100644 jquery/bootstrap/typeahead_2_3_2.js create mode 100644 jquery/bootstrap_2_3_2.js create mode 100644 jquery/html5shiv_3_7_2.js create mode 100644 jquery/jBreadCrumb_1_1.js delete mode 100644 jquery/modernizr.js delete mode 100644 jquery/modernizr_2_6_2.js delete mode 100644 lang/de/theme_essential.php delete mode 100644 lang/en_ar/theme_essential.php delete mode 100644 lang/en_us/theme_essential.php delete mode 100755 lang/es/theme_essential.php delete mode 100644 lang/nl/theme_essential.php delete mode 100644 lang/ru/theme_essential.php delete mode 100644 lang/tr/theme_essential.php create mode 100644 less/alternative.less create mode 100644 less/bootstrap/accordion.less create mode 100644 less/bootstrap/alerts.less create mode 100644 less/bootstrap/bootstrap.less create mode 100644 less/bootstrap/breadcrumbs.less create mode 100644 less/bootstrap/button-groups.less create mode 100644 less/bootstrap/buttons.less create mode 100644 less/bootstrap/carousel.less create mode 100644 less/bootstrap/close.less create mode 100644 less/bootstrap/code.less create mode 100644 less/bootstrap/component-animations.less create mode 100644 less/bootstrap/dropdowns.less create mode 100644 less/bootstrap/forms.less create mode 100644 less/bootstrap/grid.less create mode 100644 less/bootstrap/hero-unit.less create mode 100644 less/bootstrap/labels-badges.less create mode 100644 less/bootstrap/layouts.less create mode 100644 less/bootstrap/media.less create mode 100644 less/bootstrap/mixins.less create mode 100644 less/bootstrap/modals.less create mode 100644 less/bootstrap/navbar.less create mode 100644 less/bootstrap/navs.less create mode 100644 less/bootstrap/pager.less create mode 100644 less/bootstrap/pagination.less create mode 100644 less/bootstrap/popovers.less create mode 100644 less/bootstrap/progress-bars.less create mode 100644 less/bootstrap/reset.less create mode 100644 less/bootstrap/responsive-1200px-min.less create mode 100644 less/bootstrap/responsive-767px-max.less create mode 100644 less/bootstrap/responsive-768px-979px.less create mode 100644 less/bootstrap/responsive-navbar.less create mode 100644 less/bootstrap/responsive-utilities.less create mode 100644 less/bootstrap/responsive.less create mode 100644 less/bootstrap/scaffolding.less create mode 100644 less/bootstrap/sprites.less create mode 100644 less/bootstrap/tables.less create mode 100644 less/bootstrap/thumbnails.less create mode 100644 less/bootstrap/tooltip.less create mode 100644 less/bootstrap/type.less create mode 100644 less/bootstrap/utilities.less create mode 100644 less/bootstrap/variables.less create mode 100644 less/bootstrap/wells.less create mode 100644 less/editor.less create mode 100644 less/essential.less create mode 100644 less/essential/alert.less create mode 100644 less/essential/alternative/alternative1.less create mode 100644 less/essential/alternative/alternative2.less create mode 100644 less/essential/alternative/alternative3.less create mode 100644 less/essential/blocks.less create mode 100644 less/essential/breadcrumb.less create mode 100644 less/essential/button.less create mode 100644 less/essential/calendar.less create mode 100644 less/essential/carousel.less create mode 100644 less/essential/categories.less create mode 100644 less/essential/core.less create mode 100644 less/essential/course.less create mode 100644 less/essential/dock.less create mode 100644 less/essential/editicons.less create mode 100644 less/essential/fixes.less create mode 100644 less/essential/footer.less create mode 100644 less/essential/form.less create mode 100644 less/essential/forum.less create mode 100644 less/essential/frontpage.less create mode 100644 less/essential/greybox.less create mode 100644 less/essential/header.less create mode 100644 less/essential/navigation.less create mode 100644 less/essential/print.less create mode 100644 less/essential/quiz.less create mode 100644 less/essential/responsive.less create mode 100644 less/essential/rtl.less create mode 100644 less/essential/settings.less create mode 100644 less/essential/tabs.less create mode 100644 less/essential/variables.less create mode 100644 less/fontawesome/bordered-pulled.less create mode 100644 less/fontawesome/core.less create mode 100644 less/fontawesome/fixed-width.less create mode 100644 less/fontawesome/font-awesome.less create mode 100644 less/fontawesome/icons.less create mode 100644 less/fontawesome/larger.less create mode 100644 less/fontawesome/list.less create mode 100644 less/fontawesome/mixins.less create mode 100644 less/fontawesome/path.less create mode 100644 less/fontawesome/rotated-flipped.less create mode 100644 less/fontawesome/spinning.less create mode 100644 less/fontawesome/stacked.less create mode 100644 less/fontawesome/variables.less create mode 100644 less/moodle.less create mode 100644 less/moodle/admin.less create mode 100644 less/moodle/backup-restore.less create mode 100644 less/moodle/blocks.less create mode 100644 less/moodle/bootstrapoverride.less create mode 100644 less/moodle/buttons.less create mode 100644 less/moodle/calendar.less create mode 100644 less/moodle/chat.less create mode 100644 less/moodle/core.less create mode 100644 less/moodle/course.less create mode 100644 less/moodle/debug.less create mode 100644 less/moodle/dock.less create mode 100644 less/moodle/editor.less create mode 100644 less/moodle/expendable.less create mode 100644 less/moodle/filemanager.less create mode 100644 less/moodle/forms.less create mode 100644 less/moodle/grade.less create mode 100644 less/moodle/message.less create mode 100644 less/moodle/modules.less create mode 100644 less/moodle/question.less create mode 100644 less/moodle/reports.less create mode 100644 less/moodle/responsive.less create mode 100644 less/moodle/tables.less create mode 100644 less/moodle/undo.less create mode 100644 less/moodle/user.less create mode 100644 less/moodle/yui_fixes.less create mode 100644 pix/fp/add_file.png create mode 100644 pix/fp/add_file.svg create mode 100644 pix/fp/alias.png create mode 100644 pix/fp/alias_sm.png create mode 100644 pix/fp/check.png create mode 100644 pix/fp/create_folder.png create mode 100644 pix/fp/create_folder.svg create mode 100644 pix/fp/cross.png create mode 100644 pix/fp/dnd_arrow.gif create mode 100644 pix/fp/download_all.png create mode 100644 pix/fp/download_all.svg create mode 100644 pix/fp/help.png create mode 100644 pix/fp/help.svg create mode 100644 pix/fp/link.png create mode 100644 pix/fp/link_sm.png create mode 100644 pix/fp/logout.png create mode 100644 pix/fp/logout.svg create mode 100644 pix/fp/path_folder.png create mode 100644 pix/fp/path_folder_rtl.png create mode 100644 pix/fp/refresh.png create mode 100644 pix/fp/refresh.svg create mode 100644 pix/fp/search.png create mode 100644 pix/fp/search.svg create mode 100644 pix/fp/setting.png create mode 100644 pix/fp/setting.svg create mode 100644 pix/fp/view_icon_active.png create mode 100644 pix/fp/view_icon_active.svg create mode 100644 pix/fp/view_list_active.png create mode 100644 pix/fp/view_list_active.svg create mode 100644 pix/fp/view_tree_active.png create mode 100644 pix/fp/view_tree_active.svg create mode 100644 pix/glyphicons-halflings-white.png create mode 100644 pix/glyphicons-halflings.png create mode 100644 pix/sprite.png create mode 100644 pix/yui2-treeview-sprite-rtl.gif rename renderers/{course_renderer.php => core_course_renderer.php} (90%) create mode 100644 renderers/core_renderer_maintenance.php create mode 100644 style/alternative.css delete mode 100644 style/custom.css delete mode 100644 style/fontawesome.css create mode 100644 style/moodle.css delete mode 100644 style/rtl.css create mode 100644 thirdpartylibs.xml diff --git a/README.txt b/README.txt index d2dfc83f..2cccf86d 100644 --- a/README.txt +++ b/README.txt @@ -52,6 +52,26 @@ Uninstallation 3. In '/theme/' remove the folder 'essential'. 4. Put Moodle out of Maintenance Mode. +Downgrading +=========== +If for any reason you wish to downgrade to a previous version of the theme (unsupported) then this procedure will inform you of how to +do so: +1. Ensure that you have a copy of the existing and older replacement theme files. +2. Put Moodle into 'Maintenance mode' under 'Home -> Administration -> Site administration -> Server -> Maintenance mode', so that there + are no users using it bar you as the administrator. +3. Switch to a core theme, 'Clean' for example, under 'Home -> Administration -> Site administration -> Appearance -> Themes -> + Theme selector -> Default'. +4. In '/theme/' remove the folder 'essential' i.e. ALL of the contents - this is VITAL. +5. Put in the replacement 'essential' folder into '/theme/'. +6. In the database, remove the row with the 'plugin' of 'theme_essential' and 'name' of 'version' in the 'config_plugins' table, then + in the 'config' table find the 'name' with the value 'allversionhash' and clear its 'value' field. Perform a 'Purge all caches' + under 'Home -> Site administration -> Development -> Purge all caches'. +7. Go back in as an administrator and follow standard the 'plugin' update notification. If needed, go to + 'Site administration' -> 'Notifications' if this does not happen. +8. Switch the theme back to 'Essential' under 'Home -> Administration -> Site administration -> Appearance -> Themes -> Theme selector -> + Default'. +9. Put Moodle out of 'Maintenance mode' under 'Home -> Administration -> Site administration -> Server -> Maintenance mode'. + Reporting issues ================ Before reporting an issue, please ensure that you are running the latest version for your release of Moodle. It is essential @@ -66,7 +86,49 @@ It is essential that you provide as much information as possible, the critical i 'version.php' file. Other version information such as specific Moodle version, theme name and version also helps. A screen shot can be really useful in visualising the issue along with any files you consider to be relevant. -New in 2.7.4 +New in 2.6.8 +======================== +- FIX: Issue #96: 2.6.7 breaks 'oldnavbar' setting. +- FIX: Issue #98: Lang en/iosicondesc - Change 'them' to 'theme'. Thanks to Skylar Kelty. +- FIX: Issue #101: Navbar not expanding properly on android mobile and tablet. +- FIX: Issue #107: No fixed width to header on login page. +- FIX: Issue #113: Remove FontAwesome from all links in section heading except for the edit icon. +- FIX: Issue #110: Refactor middle blocks wording, thanks @mkpelletier. +- FIX: Issue #109: Re-order middle blocks settings, thanks @mkpelletier. +- FIX: Issue #108: Add similar toggle options to front page content, thanks @mkpelletier. +- FIX: Issue #67: Refactored so menus are renderer all separately. +- FIX: Issue #60: Add styling to invisible courses in breadcrumb. +- FIX: Issue #126: Header logo right border syntax. +- FIX: Issue #127: Need to guard against uninitialised settings. +- FIX: Issue #128: Dropdown menu items are invisible when navigation bar text is white. +- FIX: Issue #134: Marketing height broken. +- FIX: Issue #135: Cannot edit topic summary. +- FIX: Issue #136: Too many docked icons. +- FIX: Issue #138: Breadcrumb above content / blocks. +- FIX: Issue #141: Check slider caption underneath in 2.7.5g. +- FIX: Issue #142: Check slider speed. +- FIX: Issue #144: Unmatched end tags in carousel. +- FIX: Issue #145: Language dropdown cut short when open. +- FIX: Correctly show no enrolments message when all courses are hidden. +- FIX: Reworked header menu and added responsive options to apps/social icons. +- FIX: Removed dnd upload status as it blocks the edit icons. +- FIX: Further work on RTL support. +- FIX: Theme Cleanup milestone completely finished! +- FIX: Further performance optimalizations using own CSS +- FIX: Provide fixes for IE8, Essential now largely works with IE8 as expected, but no support is given +- NEW: Issue #114: Add downgrade instructions. See above. +- NEW: Removed bootstrapbase dependency for further minification. +- NEW: Split out alternative theme colours to reduce CSS loading when this is not enabled. +- NEW: Small tweak to site widths, now available options are 1400px, 1200px and 960px. +- NEW: Switched to bootstrap all in one for massive speed improvement (from 10 to 1 http request). +- NEW: Removed option for restricting block width as it was not possible to get this working properly. +- NEW: Issue #123: Add messages menu from Shoehorn and give it a FaceBook restyle +- NEW: Issue #14: Add a brand new user menu replacing the Dashboard menu +- NEW: Automatically collapsing breadcrumb +- NEW: Updated HTMLshiv +- NEW: Persistent link to your own grade report, available as long as you are enrolled in one visible course + +New in 2.6.7 ======================== - FIX: Issue #68. Expand all not showing on Edit course settings. - FIX: Issue #58. Add font colour setting. @@ -93,7 +155,7 @@ New in 2.7.4 a code solution to swapping files does not work at the moment and combining all possible CSS into one file leads to a big file with lots of redundant CSS. This presents problems when it comes to portable devices and bandwidth. -New in 2.7.3 +New in 2.6.6 ======================== - FIX: Fixed slide show by replacing with Bootstrap 2.3.2 one. Issue #18. - FIX: Make background image fixed and set a background transparent colour @@ -119,14 +181,14 @@ New in 2.7.3 - NEW: Full custom category icon settings (Thanks Danny Wahl) - NEW: Transparent fixed background when setting a background image -New in 2.7.2 +New in 2.6.5 ======================== - FIX: Slideshow CSS fixes - FIX: Image alignment on slideshow - NEW: Select slideshow background color - NEW: Option to bring back the old navbar location -New in 2.7.1 +New in 2.6.4 ======================== - FIX: Numerous CSS fixes - FIX: Translation fixes diff --git a/config.php b/config.php index 5336076d..5bfec70e 100644 --- a/config.php +++ b/config.php @@ -32,30 +32,28 @@ $THEME->doctype = 'html5'; $THEME->yuicssmodules = array(); -$THEME->parents = array('bootstrapbase'); -$THEME->sheets = array('fontawesome'); -/* -global $PAGE; -if (strpos($PAGE->bodyclasses, 'dir-rtl') === false) { // TODO - only works with TDM off. - $THEME->sheets[] = 'essential'; -} else { +$THEME->parents = array(); + +$THEME->sheets[] = 'moodle'; + +if (right_to_left()) { $THEME->sheets[] = 'essential-rtl'; - $THEME->sheets[] = 'rtl'; -} */ -$THEME->sheets[] = 'essential'; // LTR. -//$THEME->sheets[] = 'essential-rtl'; // RTL. -//$THEME->sheets[] = 'rtl'; // RTL. -// Note: Swap above and do a purge all caches if using an RTL language. -$THEME->sheets[] = 'custom'; -$THEME->supportscssoptimisation = false; +} else { + $THEME->sheets[] = 'essential'; +} -if ($CFG->version >= 2014051200.10 ) { - $THEME->enable_dock = true; +if ((get_config('theme_essential', 'enablealternativethemecolors1')) || + (get_config('theme_essential', 'enablealternativethemecolors2')) || + (get_config('theme_essential', 'enablealternativethemecolors3'))) +{ + $THEME->sheets[] = 'alternative'; } -$THEME->editor_sheets = array(); +$THEME->sheets[] = 'custom'; + +$THEME->supportscssoptimisation = false; -$THEME->plugins_exclude_sheets = array(); +$THEME->editor_sheets = array('editor'); $THEME->layouts = array( // Most backwards compatible layout without the blocks - this is the layout used by default. @@ -176,19 +174,7 @@ ), ); -$THEME->javascripts = array( - 'coloursswitcher', -); +$THEME->javascripts_footer[] = 'coloursswitcher'; $THEME->rendererfactory = 'theme_overridden_renderer_factory'; - -$THEME->csspostprocess = 'theme_essential_process_css'; - -$useragent = ''; -if (!empty($_SERVER['HTTP_USER_AGENT'])) { - $useragent = $_SERVER['HTTP_USER_AGENT']; -} - -if (core_useragent::is_ie() && !core_useragent::check_ie_version('9.0')) { - $THEME->javascripts[] = 'html5shiv'; -} \ No newline at end of file +$THEME->csspostprocess = 'theme_essential_process_css'; \ No newline at end of file diff --git a/javascript/bootstrap.min.js b/javascript/bootstrap.min.js deleted file mode 100644 index 1765631f..00000000 --- a/javascript/bootstrap.min.js +++ /dev/null @@ -1,6 +0,0 @@ -/** -* bootstrap.js v3.0.0 by @fat and @mdo -* Copyright 2013 Twitter Inc. -* http://www.apache.org/licenses/LICENSE-2.0 -*/ -if(!jQuery)throw new Error("Bootstrap requires jQuery");+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]}}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one(a.support.transition.end,function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b()})}(window.jQuery),+function(a){"use strict";var b='[data-dismiss="alert"]',c=function(c){a(c).on("click",b,this.close)};c.prototype.close=function(b){function c(){f.trigger("closed.bs.alert").remove()}var d=a(this),e=d.attr("data-target");e||(e=d.attr("href"),e=e&&e.replace(/.*(?=#[^\s]*$)/,""));var f=a(e);b&&b.preventDefault(),f.length||(f=d.hasClass("alert")?d:d.parent()),f.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one(a.support.transition.end,c).emulateTransitionEnd(150):c())};var d=a.fn.alert;a.fn.alert=function(b){return this.each(function(){var d=a(this),e=d.data("bs.alert");e||d.data("bs.alert",e=new c(this)),"string"==typeof b&&e[b].call(d)})},a.fn.alert.Constructor=c,a.fn.alert.noConflict=function(){return a.fn.alert=d,this},a(document).on("click.bs.alert.data-api",b,c.prototype.close)}(window.jQuery),+function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d)};b.DEFAULTS={loadingText:"loading..."},b.prototype.setState=function(a){var b="disabled",c=this.$element,d=c.is("input")?"val":"html",e=c.data();a+="Text",e.resetText||c.data("resetText",c[d]()),c[d](e[a]||this.options[a]),setTimeout(function(){"loadingText"==a?c.addClass(b).attr(b,b):c.removeClass(b).removeAttr(b)},0)},b.prototype.toggle=function(){var a=this.$element.closest('[data-toggle="buttons"]');if(a.length){var b=this.$element.find("input").prop("checked",!this.$element.hasClass("active")).trigger("change");"radio"===b.prop("type")&&a.find(".active").removeClass("active")}this.$element.toggleClass("active")};var c=a.fn.button;a.fn.button=function(c){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof c&&c;e||d.data("bs.button",e=new b(this,f)),"toggle"==c?e.toggle():c&&e.setState(c)})},a.fn.button.Constructor=b,a.fn.button.noConflict=function(){return a.fn.button=c,this},a(document).on("click.bs.button.data-api","[data-toggle^=button]",function(b){var c=a(b.target);c.hasClass("btn")||(c=c.closest(".btn")),c.button("toggle"),b.preventDefault()})}(window.jQuery),+function(a){"use strict";var b=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=this.sliding=this.interval=this.$active=this.$items=null,"hover"==this.options.pause&&this.$element.on("mouseenter",a.proxy(this.pause,this)).on("mouseleave",a.proxy(this.cycle,this))};b.DEFAULTS={interval:5e3,pause:"hover",wrap:!0},b.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},b.prototype.getActiveIndex=function(){return this.$active=this.$element.find(".item.active"),this.$items=this.$active.parent().children(),this.$items.index(this.$active)},b.prototype.to=function(b){var c=this,d=this.getActiveIndex();return b>this.$items.length-1||0>b?void 0:this.sliding?this.$element.one("slid",function(){c.to(b)}):d==b?this.pause().cycle():this.slide(b>d?"next":"prev",a(this.$items[b]))},b.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition.end&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},b.prototype.next=function(){return this.sliding?void 0:this.slide("next")},b.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},b.prototype.slide=function(b,c){var d=this.$element.find(".item.active"),e=c||d[b](),f=this.interval,g="next"==b?"left":"right",h="next"==b?"first":"last",i=this;if(!e.length){if(!this.options.wrap)return;e=this.$element.find(".item")[h]()}this.sliding=!0,f&&this.pause();var j=a.Event("slide.bs.carousel",{relatedTarget:e[0],direction:g});if(!e.hasClass("active")){if(this.$indicators.length&&(this.$indicators.find(".active").removeClass("active"),this.$element.one("slid",function(){var b=a(i.$indicators.children()[i.getActiveIndex()]);b&&b.addClass("active")})),a.support.transition&&this.$element.hasClass("slide")){if(this.$element.trigger(j),j.isDefaultPrevented())return;e.addClass(b),e[0].offsetWidth,d.addClass(g),e.addClass(g),d.one(a.support.transition.end,function(){e.removeClass([b,g].join(" ")).addClass("active"),d.removeClass(["active",g].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger("slid")},0)}).emulateTransitionEnd(600)}else{if(this.$element.trigger(j),j.isDefaultPrevented())return;d.removeClass("active"),e.addClass("active"),this.sliding=!1,this.$element.trigger("slid")}return f&&this.cycle(),this}};var c=a.fn.carousel;a.fn.carousel=function(c){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},b.DEFAULTS,d.data(),"object"==typeof c&&c),g="string"==typeof c?c:f.slide;e||d.data("bs.carousel",e=new b(this,f)),"number"==typeof c?e.to(c):g?e[g]():f.interval&&e.pause().cycle()})},a.fn.carousel.Constructor=b,a.fn.carousel.noConflict=function(){return a.fn.carousel=c,this},a(document).on("click.bs.carousel.data-api","[data-slide], [data-slide-to]",function(b){var c,d=a(this),e=a(d.attr("data-target")||(c=d.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"")),f=a.extend({},e.data(),d.data()),g=d.attr("data-slide-to");g&&(f.interval=!1),e.carousel(f),(g=d.attr("data-slide-to"))&&e.data("bs.carousel").to(g),b.preventDefault()}),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var b=a(this);b.carousel(b.data())})})}(window.jQuery),+function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d),this.transitioning=null,this.options.parent&&(this.$parent=a(this.options.parent)),this.options.toggle&&this.toggle()};b.DEFAULTS={toggle:!0},b.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},b.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b=a.Event("show.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.$parent&&this.$parent.find("> .panel > .in");if(c&&c.length){var d=c.data("bs.collapse");if(d&&d.transitioning)return;c.collapse("hide"),d||c.data("bs.collapse",null)}var e=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[e](0),this.transitioning=1;var f=function(){this.$element.removeClass("collapsing").addClass("in")[e]("auto"),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return f.call(this);var g=a.camelCase(["scroll",e].join("-"));this.$element.one(a.support.transition.end,a.proxy(f,this)).emulateTransitionEnd(350)[e](this.$element[0][g])}}},b.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse").removeClass("in"),this.transitioning=1;var d=function(){this.transitioning=0,this.$element.trigger("hidden.bs.collapse").removeClass("collapsing").addClass("collapse")};return a.support.transition?(this.$element[c](0).one(a.support.transition.end,a.proxy(d,this)).emulateTransitionEnd(350),void 0):d.call(this)}}},b.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()};var c=a.fn.collapse;a.fn.collapse=function(c){return this.each(function(){var d=a(this),e=d.data("bs.collapse"),f=a.extend({},b.DEFAULTS,d.data(),"object"==typeof c&&c);e||d.data("bs.collapse",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.collapse.Constructor=b,a.fn.collapse.noConflict=function(){return a.fn.collapse=c,this},a(document).on("click.bs.collapse.data-api","[data-toggle=collapse]",function(b){var c,d=a(this),e=d.attr("data-target")||b.preventDefault()||(c=d.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,""),f=a(e),g=f.data("bs.collapse"),h=g?"toggle":d.data(),i=d.attr("data-parent"),j=i&&a(i);g&&g.transitioning||(j&&j.find('[data-toggle=collapse][data-parent="'+i+'"]').not(d).addClass("collapsed"),d[f.hasClass("in")?"addClass":"removeClass"]("collapsed")),f.collapse(h)})}(window.jQuery),+function(a){"use strict";function b(){a(d).remove(),a(e).each(function(b){var d=c(a(this));d.hasClass("open")&&(d.trigger(b=a.Event("hide.bs.dropdown")),b.isDefaultPrevented()||d.removeClass("open").trigger("hidden.bs.dropdown"))})}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}var d=".dropdown-backdrop",e="[data-toggle=dropdown]",f=function(b){a(b).on("click.bs.dropdown",this.toggle)};f.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){if("ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(''}),b.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),b.prototype.constructor=b,b.prototype.getDefaults=function(){return b.DEFAULTS},b.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content")[this.options.html?"html":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},b.prototype.hasContent=function(){return this.getTitle()||this.getContent()},b.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},b.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")},b.prototype.tip=function(){return this.$tip||(this.$tip=a(this.options.template)),this.$tip};var c=a.fn.popover;a.fn.popover=function(c){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof c&&c;e||d.data("bs.popover",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.popover.Constructor=b,a.fn.popover.noConflict=function(){return a.fn.popover=c,this}}(window.jQuery),+function(a){"use strict";function b(c,d){var e,f=a.proxy(this.process,this);this.$element=a(c).is("body")?a(window):a(c),this.$body=a("body"),this.$scrollElement=this.$element.on("scroll.bs.scroll-spy.data-api",f),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||(e=a(c).attr("href"))&&e.replace(/.*(?=#[^\s]+$)/,"")||"")+" .nav li > a",this.offsets=a([]),this.targets=a([]),this.activeTarget=null,this.refresh(),this.process()}b.DEFAULTS={offset:10},b.prototype.refresh=function(){var b=this.$element[0]==window?"offset":"position";this.offsets=a([]),this.targets=a([]);var c=this;this.$body.find(this.selector).map(function(){var d=a(this),e=d.data("target")||d.attr("href"),f=/^#\w/.test(e)&&a(e);return f&&f.length&&[[f[b]().top+(!a.isWindow(c.$scrollElement.get(0))&&c.$scrollElement.scrollTop()),e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){c.offsets.push(this[0]),c.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.$scrollElement[0].scrollHeight||this.$body[0].scrollHeight,d=c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(b>=d)return g!=(a=f.last()[0])&&this.activate(a);for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(!e[a+1]||b<=e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){this.activeTarget=b,a(this.selector).parents(".active").removeClass("active");var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),d.trigger("activate")};var c=a.fn.scrollspy;a.fn.scrollspy=function(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=c,this},a(window).on("load",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);b.scrollspy(b.data())})})}(window.jQuery),+function(a){"use strict";var b=function(b){this.element=a(b)};b.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.attr("data-target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.find(".active:last a")[0],f=a.Event("show.bs.tab",{relatedTarget:e});if(b.trigger(f),!f.isDefaultPrevented()){var g=a(d);this.activate(b.parent("li"),c),this.activate(g,g.parent(),function(){b.trigger({type:"shown.bs.tab",relatedTarget:e})})}}},b.prototype.activate=function(b,c,d){function e(){f.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"),b.addClass("active"),g?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu")&&b.closest("li.dropdown").addClass("active"),d&&d()}var f=c.find("> .active"),g=d&&a.support.transition&&f.hasClass("fade");g?f.one(a.support.transition.end,e).emulateTransitionEnd(150):e(),f.removeClass("in")};var c=a.fn.tab;a.fn.tab=function(c){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new b(this)),"string"==typeof c&&e[c]()})},a.fn.tab.Constructor=b,a.fn.tab.noConflict=function(){return a.fn.tab=c,this},a(document).on("click.bs.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(b){b.preventDefault(),a(this).tab("show")})}(window.jQuery),+function(a){"use strict";var b=function(c,d){this.options=a.extend({},b.DEFAULTS,d),this.$window=a(window).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(c),this.affixed=this.unpin=null,this.checkPosition()};b.RESET="affix affix-top affix-bottom",b.DEFAULTS={offset:0},b.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},b.prototype.checkPosition=function(){if(this.$element.is(":visible")){var c=a(document).height(),d=this.$window.scrollTop(),e=this.$element.offset(),f=this.options.offset,g=f.top,h=f.bottom;"object"!=typeof f&&(h=g=f),"function"==typeof g&&(g=f.top()),"function"==typeof h&&(h=f.bottom());var i=null!=this.unpin&&d+this.unpin<=e.top?!1:null!=h&&e.top+this.$element.height()>=c-h?"bottom":null!=g&&g>=d?"top":!1;this.affixed!==i&&(this.unpin&&this.$element.css("top",""),this.affixed=i,this.unpin="bottom"==i?e.top-d:null,this.$element.removeClass(b.RESET).addClass("affix"+(i?"-"+i:"")),"bottom"==i&&this.$element.offset({top:document.body.offsetHeight-h-this.$element.height()}))}};var c=a.fn.affix;a.fn.affix=function(c){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof c&&c;e||d.data("bs.affix",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.affix.Constructor=b,a.fn.affix.noConflict=function(){return a.fn.affix=c,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var b=a(this),c=b.data();c.offset=c.offset||{},c.offsetBottom&&(c.offset.bottom=c.offsetBottom),c.offsetTop&&(c.offset.top=c.offsetTop),b.affix(c)})})}(window.jQuery); \ No newline at end of file diff --git a/javascript/dock.js b/javascript/dock.js deleted file mode 100644 index 3e29b497..00000000 --- a/javascript/dock.js +++ /dev/null @@ -1,57 +0,0 @@ -/** - * Customise the dock for this theme. - * - * Tasks we do within this function: - * - Add 'block' as a class to the dock panel so that its items are styled the same as they are when being displayed - * in page as blocks. - * - Constrain the width of the docked block to the window width using a responsible max-width. - * - Handle the opening/closing of the Bootstrap collapsible navbar on small screens. - */ -function customise_dock_for_theme(dock) { - // Add the "block" class to docked blocks. - // This prevents having to restyle all docked blocks and simply use standard block styling. - // First we wait until the panel has been generated. - dock.on('dock:panelgenerated', function() { - // Then we wait until the panel it is being shown for the first time. - dock.get('panel').once('dockpanel:beforeshow', function() { - // Finally we add the block class. - Y.all('.dockeditempanel_content').addClass('block'); - }); - dock.get('panel').on('dockpanel:beforeshow', function() { - var content = Y.all('.dockeditempanel_content'); - // Finally set a responsible max width. - content.setStyle('maxWidth', content.get('winWidth') - dock.get('dockNode').get('offsetWidth') - 10); - }); - }); - - // Handle the opening/closing of the bootstrap collapsible navbar on small screens. - // This is a complex little bit of JS because we need to simulate Bootstrap actions in order to measure height changes - // in the dom and apply them as spacing to the dock. - dock.on('dock:initialised', function() { - var navbar = Y.one('header.navbar'), - navbarbtn = Y.one('header.navbar .btn-navbar'), - navcollapse = Y.one('header.navbar .nav-collapse'), - container = Y.one('#dock .dockeditem_container'), - margintop = null, - newmargintop = null, - diff = null; - if (navbar && navbarbtn && container) { - margintop = parseInt(container.getStyle('marginTop').replace(/px$/, ''), 10); - diff = margintop - parseInt(navbar.get('offsetHeight'), 10); - navbarbtn.ancestor().on('click', function() { - // We need to fake the collapsible region being active, this JS *ALWAYS* executes before the bootstrap JS. - navcollapse.toggleClass('active'); - if (!this.hasClass('active')) { - newmargintop = (parseInt(navbar.get('offsetHeight'), 10) + diff); - container.setStyle('marginTop', newmargintop + 'px'); - } else { - container.setStyle('marginTop', margintop + 'px'); - } - // Undo the simulation. - navcollapse.toggleClass('active'); - // Tell the dock things have changed so that it automatically resizes things. - dock.fire('dock:itemschanged'); - }, navbarbtn); - } - }); -} \ No newline at end of file diff --git a/jquery/bootstrap/affix.js b/jquery/bootstrap/affix.js deleted file mode 100644 index c1059a83..00000000 --- a/jquery/bootstrap/affix.js +++ /dev/null @@ -1,117 +0,0 @@ -/* ========================================================== - * bootstrap-affix.js v2.3.2 - * http://getbootstrap.com/2.3.2/javascript.html#affix - * ========================================================== - * Copyright 2013 Twitter, Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ========================================================== */ - - -!function ($) { - - "use strict"; // jshint ;_; - - - /* AFFIX CLASS DEFINITION - * ====================== */ - - var Affix = function (element, options) { - this.options = $.extend({}, $.fn.affix.defaults, options) - this.$window = $(window) - .on('scroll.affix.data-api', $.proxy(this.checkPosition, this)) - .on('click.affix.data-api', $.proxy(function () { setTimeout($.proxy(this.checkPosition, this), 1) }, this)) - this.$element = $(element) - this.checkPosition() - } - - Affix.prototype.checkPosition = function () { - if (!this.$element.is(':visible')) return - - var scrollHeight = $(document).height() - , scrollTop = this.$window.scrollTop() - , position = this.$element.offset() - , offset = this.options.offset - , offsetBottom = offset.bottom - , offsetTop = offset.top - , reset = 'affix affix-top affix-bottom' - , affix - - if (typeof offset != 'object') offsetBottom = offsetTop = offset - if (typeof offsetTop == 'function') offsetTop = offset.top() - if (typeof offsetBottom == 'function') offsetBottom = offset.bottom() - - affix = this.unpin != null && (scrollTop + this.unpin <= position.top) ? - false : offsetBottom != null && (position.top + this.$element.height() >= scrollHeight - offsetBottom) ? - 'bottom' : offsetTop != null && scrollTop <= offsetTop ? - 'top' : false - - if (this.affixed === affix) return - - this.affixed = affix - this.unpin = affix == 'bottom' ? position.top - scrollTop : null - - this.$element.removeClass(reset).addClass('affix' + (affix ? '-' + affix : '')) - } - - - /* AFFIX PLUGIN DEFINITION - * ======================= */ - - var old = $.fn.affix - - $.fn.affix = function (option) { - return this.each(function () { - var $this = $(this) - , data = $this.data('affix') - , options = typeof option == 'object' && option - if (!data) $this.data('affix', (data = new Affix(this, options))) - if (typeof option == 'string') data[option]() - }) - } - - $.fn.affix.Constructor = Affix - - $.fn.affix.defaults = { - offset: 0 - } - - - /* AFFIX NO CONFLICT - * ================= */ - - $.fn.affix.noConflict = function () { - $.fn.affix = old - return this - } - - - /* AFFIX DATA-API - * ============== */ - - $(window).on('load', function () { - $('[data-spy="affix"]').each(function () { - var $spy = $(this) - , data = $spy.data() - - data.offset = data.offset || {} - - data.offsetBottom && (data.offset.bottom = data.offsetBottom) - data.offsetTop && (data.offset.top = data.offsetTop) - - $spy.affix(data) - }) - }) - - -}(window.jQuery); \ No newline at end of file diff --git a/jquery/bootstrap/affix_2_3_2.js b/jquery/bootstrap/affix_2_3_2.js deleted file mode 100644 index c1059a83..00000000 --- a/jquery/bootstrap/affix_2_3_2.js +++ /dev/null @@ -1,117 +0,0 @@ -/* ========================================================== - * bootstrap-affix.js v2.3.2 - * http://getbootstrap.com/2.3.2/javascript.html#affix - * ========================================================== - * Copyright 2013 Twitter, Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ========================================================== */ - - -!function ($) { - - "use strict"; // jshint ;_; - - - /* AFFIX CLASS DEFINITION - * ====================== */ - - var Affix = function (element, options) { - this.options = $.extend({}, $.fn.affix.defaults, options) - this.$window = $(window) - .on('scroll.affix.data-api', $.proxy(this.checkPosition, this)) - .on('click.affix.data-api', $.proxy(function () { setTimeout($.proxy(this.checkPosition, this), 1) }, this)) - this.$element = $(element) - this.checkPosition() - } - - Affix.prototype.checkPosition = function () { - if (!this.$element.is(':visible')) return - - var scrollHeight = $(document).height() - , scrollTop = this.$window.scrollTop() - , position = this.$element.offset() - , offset = this.options.offset - , offsetBottom = offset.bottom - , offsetTop = offset.top - , reset = 'affix affix-top affix-bottom' - , affix - - if (typeof offset != 'object') offsetBottom = offsetTop = offset - if (typeof offsetTop == 'function') offsetTop = offset.top() - if (typeof offsetBottom == 'function') offsetBottom = offset.bottom() - - affix = this.unpin != null && (scrollTop + this.unpin <= position.top) ? - false : offsetBottom != null && (position.top + this.$element.height() >= scrollHeight - offsetBottom) ? - 'bottom' : offsetTop != null && scrollTop <= offsetTop ? - 'top' : false - - if (this.affixed === affix) return - - this.affixed = affix - this.unpin = affix == 'bottom' ? position.top - scrollTop : null - - this.$element.removeClass(reset).addClass('affix' + (affix ? '-' + affix : '')) - } - - - /* AFFIX PLUGIN DEFINITION - * ======================= */ - - var old = $.fn.affix - - $.fn.affix = function (option) { - return this.each(function () { - var $this = $(this) - , data = $this.data('affix') - , options = typeof option == 'object' && option - if (!data) $this.data('affix', (data = new Affix(this, options))) - if (typeof option == 'string') data[option]() - }) - } - - $.fn.affix.Constructor = Affix - - $.fn.affix.defaults = { - offset: 0 - } - - - /* AFFIX NO CONFLICT - * ================= */ - - $.fn.affix.noConflict = function () { - $.fn.affix = old - return this - } - - - /* AFFIX DATA-API - * ============== */ - - $(window).on('load', function () { - $('[data-spy="affix"]').each(function () { - var $spy = $(this) - , data = $spy.data() - - data.offset = data.offset || {} - - data.offsetBottom && (data.offset.bottom = data.offsetBottom) - data.offsetTop && (data.offset.top = data.offsetTop) - - $spy.affix(data) - }) - }) - - -}(window.jQuery); \ No newline at end of file diff --git a/jquery/bootstrap/alert.js b/jquery/bootstrap/alert.js deleted file mode 100644 index 9577e62d..00000000 --- a/jquery/bootstrap/alert.js +++ /dev/null @@ -1,99 +0,0 @@ -/* ========================================================== - * bootstrap-alert.js v2.3.2 - * http://getbootstrap.com/2.3.2/javascript.html#alerts - * ========================================================== - * Copyright 2013 Twitter, Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ========================================================== */ - - -!function ($) { - - "use strict"; // jshint ;_; - - - /* ALERT CLASS DEFINITION - * ====================== */ - - var dismiss = '[data-dismiss="alert"]' - , Alert = function (el) { - $(el).on('click', dismiss, this.close) - } - - Alert.prototype.close = function (e) { - var $this = $(this) - , selector = $this.attr('data-target') - , $parent - - if (!selector) { - selector = $this.attr('href') - selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7 - } - - $parent = $(selector) - - e && e.preventDefault() - - $parent.length || ($parent = $this.hasClass('alert') ? $this : $this.parent()) - - $parent.trigger(e = $.Event('close')) - - if (e.isDefaultPrevented()) return - - $parent.removeClass('in') - - function removeElement() { - $parent - .trigger('closed') - .remove() - } - - $.support.transition && $parent.hasClass('fade') ? - $parent.on($.support.transition.end, removeElement) : - removeElement() - } - - - /* ALERT PLUGIN DEFINITION - * ======================= */ - - var old = $.fn.alert - - $.fn.alert = function (option) { - return this.each(function () { - var $this = $(this) - , data = $this.data('alert') - if (!data) $this.data('alert', (data = new Alert(this))) - if (typeof option == 'string') data[option].call($this) - }) - } - - $.fn.alert.Constructor = Alert - - - /* ALERT NO CONFLICT - * ================= */ - - $.fn.alert.noConflict = function () { - $.fn.alert = old - return this - } - - - /* ALERT DATA-API - * ============== */ - - $(document).on('click.alert.data-api', dismiss, Alert.prototype.close) - -}(window.jQuery); \ No newline at end of file diff --git a/jquery/bootstrap/alert_2_3_2.js b/jquery/bootstrap/alert_2_3_2.js deleted file mode 100644 index 9577e62d..00000000 --- a/jquery/bootstrap/alert_2_3_2.js +++ /dev/null @@ -1,99 +0,0 @@ -/* ========================================================== - * bootstrap-alert.js v2.3.2 - * http://getbootstrap.com/2.3.2/javascript.html#alerts - * ========================================================== - * Copyright 2013 Twitter, Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ========================================================== */ - - -!function ($) { - - "use strict"; // jshint ;_; - - - /* ALERT CLASS DEFINITION - * ====================== */ - - var dismiss = '[data-dismiss="alert"]' - , Alert = function (el) { - $(el).on('click', dismiss, this.close) - } - - Alert.prototype.close = function (e) { - var $this = $(this) - , selector = $this.attr('data-target') - , $parent - - if (!selector) { - selector = $this.attr('href') - selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7 - } - - $parent = $(selector) - - e && e.preventDefault() - - $parent.length || ($parent = $this.hasClass('alert') ? $this : $this.parent()) - - $parent.trigger(e = $.Event('close')) - - if (e.isDefaultPrevented()) return - - $parent.removeClass('in') - - function removeElement() { - $parent - .trigger('closed') - .remove() - } - - $.support.transition && $parent.hasClass('fade') ? - $parent.on($.support.transition.end, removeElement) : - removeElement() - } - - - /* ALERT PLUGIN DEFINITION - * ======================= */ - - var old = $.fn.alert - - $.fn.alert = function (option) { - return this.each(function () { - var $this = $(this) - , data = $this.data('alert') - if (!data) $this.data('alert', (data = new Alert(this))) - if (typeof option == 'string') data[option].call($this) - }) - } - - $.fn.alert.Constructor = Alert - - - /* ALERT NO CONFLICT - * ================= */ - - $.fn.alert.noConflict = function () { - $.fn.alert = old - return this - } - - - /* ALERT DATA-API - * ============== */ - - $(document).on('click.alert.data-api', dismiss, Alert.prototype.close) - -}(window.jQuery); \ No newline at end of file diff --git a/jquery/bootstrap/button.js b/jquery/bootstrap/button.js deleted file mode 100644 index 4b2a90ab..00000000 --- a/jquery/bootstrap/button.js +++ /dev/null @@ -1,105 +0,0 @@ -/* ============================================================ - * bootstrap-button.js v2.3.2 - * http://getbootstrap.com/2.3.2/javascript.html#buttons - * ============================================================ - * Copyright 2013 Twitter, Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============================================================ */ - - -!function ($) { - - "use strict"; // jshint ;_; - - - /* BUTTON PUBLIC CLASS DEFINITION - * ============================== */ - - var Button = function (element, options) { - this.$element = $(element) - this.options = $.extend({}, $.fn.button.defaults, options) - } - - Button.prototype.setState = function (state) { - var d = 'disabled' - , $el = this.$element - , data = $el.data() - , val = $el.is('input') ? 'val' : 'html' - - state = state + 'Text' - data.resetText || $el.data('resetText', $el[val]()) - - $el[val](data[state] || this.options[state]) - - // push to event loop to allow forms to submit - setTimeout(function () { - state == 'loadingText' ? - $el.addClass(d).attr(d, d) : - $el.removeClass(d).removeAttr(d) - }, 0) - } - - Button.prototype.toggle = function () { - var $parent = this.$element.closest('[data-toggle="buttons-radio"]') - - $parent && $parent - .find('.active') - .removeClass('active') - - this.$element.toggleClass('active') - } - - - /* BUTTON PLUGIN DEFINITION - * ======================== */ - - var old = $.fn.button - - $.fn.button = function (option) { - return this.each(function () { - var $this = $(this) - , data = $this.data('button') - , options = typeof option == 'object' && option - if (!data) $this.data('button', (data = new Button(this, options))) - if (option == 'toggle') data.toggle() - else if (option) data.setState(option) - }) - } - - $.fn.button.defaults = { - loadingText: 'loading...' - } - - $.fn.button.Constructor = Button - - - /* BUTTON NO CONFLICT - * ================== */ - - $.fn.button.noConflict = function () { - $.fn.button = old - return this - } - - - /* BUTTON DATA-API - * =============== */ - - $(document).on('click.button.data-api', '[data-toggle^=button]', function (e) { - var $btn = $(e.target) - if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn') - $btn.button('toggle') - }) - -}(window.jQuery); \ No newline at end of file diff --git a/jquery/bootstrap/button_2_3_2.js b/jquery/bootstrap/button_2_3_2.js deleted file mode 100644 index 4b2a90ab..00000000 --- a/jquery/bootstrap/button_2_3_2.js +++ /dev/null @@ -1,105 +0,0 @@ -/* ============================================================ - * bootstrap-button.js v2.3.2 - * http://getbootstrap.com/2.3.2/javascript.html#buttons - * ============================================================ - * Copyright 2013 Twitter, Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============================================================ */ - - -!function ($) { - - "use strict"; // jshint ;_; - - - /* BUTTON PUBLIC CLASS DEFINITION - * ============================== */ - - var Button = function (element, options) { - this.$element = $(element) - this.options = $.extend({}, $.fn.button.defaults, options) - } - - Button.prototype.setState = function (state) { - var d = 'disabled' - , $el = this.$element - , data = $el.data() - , val = $el.is('input') ? 'val' : 'html' - - state = state + 'Text' - data.resetText || $el.data('resetText', $el[val]()) - - $el[val](data[state] || this.options[state]) - - // push to event loop to allow forms to submit - setTimeout(function () { - state == 'loadingText' ? - $el.addClass(d).attr(d, d) : - $el.removeClass(d).removeAttr(d) - }, 0) - } - - Button.prototype.toggle = function () { - var $parent = this.$element.closest('[data-toggle="buttons-radio"]') - - $parent && $parent - .find('.active') - .removeClass('active') - - this.$element.toggleClass('active') - } - - - /* BUTTON PLUGIN DEFINITION - * ======================== */ - - var old = $.fn.button - - $.fn.button = function (option) { - return this.each(function () { - var $this = $(this) - , data = $this.data('button') - , options = typeof option == 'object' && option - if (!data) $this.data('button', (data = new Button(this, options))) - if (option == 'toggle') data.toggle() - else if (option) data.setState(option) - }) - } - - $.fn.button.defaults = { - loadingText: 'loading...' - } - - $.fn.button.Constructor = Button - - - /* BUTTON NO CONFLICT - * ================== */ - - $.fn.button.noConflict = function () { - $.fn.button = old - return this - } - - - /* BUTTON DATA-API - * =============== */ - - $(document).on('click.button.data-api', '[data-toggle^=button]', function (e) { - var $btn = $(e.target) - if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn') - $btn.button('toggle') - }) - -}(window.jQuery); \ No newline at end of file diff --git a/jquery/bootstrap/carousel.js b/jquery/bootstrap/carousel.js deleted file mode 100644 index c1e8ade8..00000000 --- a/jquery/bootstrap/carousel.js +++ /dev/null @@ -1,207 +0,0 @@ -/* ========================================================== - * bootstrap-carousel.js v2.3.2 - * http://getbootstrap.com/2.3.2/javascript.html#carousel - * ========================================================== - * Copyright 2013 Twitter, Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ========================================================== */ - - -!function ($) { - - "use strict"; // jshint ;_; - - - /* CAROUSEL CLASS DEFINITION - * ========================= */ - - var Carousel = function (element, options) { - this.$element = $(element) - this.$indicators = this.$element.find('.carousel-indicators') - this.options = options - this.options.pause == 'hover' && this.$element - .on('mouseenter', $.proxy(this.pause, this)) - .on('mouseleave', $.proxy(this.cycle, this)) - } - - Carousel.prototype = { - - cycle: function (e) { - if (!e) this.paused = false - if (this.interval) clearInterval(this.interval); - this.options.interval - && !this.paused - && (this.interval = setInterval($.proxy(this.next, this), this.options.interval)) - return this - } - - , getActiveIndex: function () { - this.$active = this.$element.find('.item.active') - this.$items = this.$active.parent().children() - return this.$items.index(this.$active) - } - - , to: function (pos) { - var activeIndex = this.getActiveIndex() - , that = this - - if (pos > (this.$items.length - 1) || pos < 0) return - - if (this.sliding) { - return this.$element.one('slid', function () { - that.to(pos) - }) - } - - if (activeIndex == pos) { - return this.pause().cycle() - } - - return this.slide(pos > activeIndex ? 'next' : 'prev', $(this.$items[pos])) - } - - , pause: function (e) { - if (!e) this.paused = true - if (this.$element.find('.next, .prev').length && $.support.transition.end) { - this.$element.trigger($.support.transition.end) - this.cycle(true) - } - clearInterval(this.interval) - this.interval = null - return this - } - - , next: function () { - if (this.sliding) return - return this.slide('next') - } - - , prev: function () { - if (this.sliding) return - return this.slide('prev') - } - - , slide: function (type, next) { - var $active = this.$element.find('.item.active') - , $next = next || $active[type]() - , isCycling = this.interval - , direction = type == 'next' ? 'left' : 'right' - , fallback = type == 'next' ? 'first' : 'last' - , that = this - , e - - this.sliding = true - - isCycling && this.pause() - - $next = $next.length ? $next : this.$element.find('.item')[fallback]() - - e = $.Event('slide', { - relatedTarget: $next[0] - , direction: direction - }) - - if ($next.hasClass('active')) return - - if (this.$indicators.length) { - this.$indicators.find('.active').removeClass('active') - this.$element.one('slid', function () { - var $nextIndicator = $(that.$indicators.children()[that.getActiveIndex()]) - $nextIndicator && $nextIndicator.addClass('active') - }) - } - - if ($.support.transition && this.$element.hasClass('slide')) { - this.$element.trigger(e) - if (e.isDefaultPrevented()) return - $next.addClass(type) - $next[0].offsetWidth // force reflow - $active.addClass(direction) - $next.addClass(direction) - this.$element.one($.support.transition.end, function () { - $next.removeClass([type, direction].join(' ')).addClass('active') - $active.removeClass(['active', direction].join(' ')) - that.sliding = false - setTimeout(function () { that.$element.trigger('slid') }, 0) - }) - } else { - this.$element.trigger(e) - if (e.isDefaultPrevented()) return - $active.removeClass('active') - $next.addClass('active') - this.sliding = false - this.$element.trigger('slid') - } - - isCycling && this.cycle() - - return this - } - - } - - - /* CAROUSEL PLUGIN DEFINITION - * ========================== */ - - var old = $.fn.carousel - - $.fn.carousel = function (option) { - return this.each(function () { - var $this = $(this) - , data = $this.data('carousel') - , options = $.extend({}, $.fn.carousel.defaults, typeof option == 'object' && option) - , action = typeof option == 'string' ? option : options.slide - if (!data) $this.data('carousel', (data = new Carousel(this, options))) - if (typeof option == 'number') data.to(option) - else if (action) data[action]() - else if (options.interval) data.pause().cycle() - }) - } - - $.fn.carousel.defaults = { - interval: 5000 - , pause: 'hover' - } - - $.fn.carousel.Constructor = Carousel - - - /* CAROUSEL NO CONFLICT - * ==================== */ - - $.fn.carousel.noConflict = function () { - $.fn.carousel = old - return this - } - - /* CAROUSEL DATA-API - * ================= */ - - $(document).on('click.carousel.data-api', '[data-slide], [data-slide-to]', function (e) { - var $this = $(this), href - , $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7 - , options = $.extend({}, $target.data(), $this.data()) - , slideIndex - - $target.carousel(options) - - if (slideIndex = $this.attr('data-slide-to')) { - $target.data('carousel').pause().to(slideIndex).cycle() - } - - e.preventDefault() - }) - -}(window.jQuery); \ No newline at end of file diff --git a/jquery/bootstrap/carousel_2_3_2.js b/jquery/bootstrap/carousel_2_3_2.js deleted file mode 100644 index c1e8ade8..00000000 --- a/jquery/bootstrap/carousel_2_3_2.js +++ /dev/null @@ -1,207 +0,0 @@ -/* ========================================================== - * bootstrap-carousel.js v2.3.2 - * http://getbootstrap.com/2.3.2/javascript.html#carousel - * ========================================================== - * Copyright 2013 Twitter, Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ========================================================== */ - - -!function ($) { - - "use strict"; // jshint ;_; - - - /* CAROUSEL CLASS DEFINITION - * ========================= */ - - var Carousel = function (element, options) { - this.$element = $(element) - this.$indicators = this.$element.find('.carousel-indicators') - this.options = options - this.options.pause == 'hover' && this.$element - .on('mouseenter', $.proxy(this.pause, this)) - .on('mouseleave', $.proxy(this.cycle, this)) - } - - Carousel.prototype = { - - cycle: function (e) { - if (!e) this.paused = false - if (this.interval) clearInterval(this.interval); - this.options.interval - && !this.paused - && (this.interval = setInterval($.proxy(this.next, this), this.options.interval)) - return this - } - - , getActiveIndex: function () { - this.$active = this.$element.find('.item.active') - this.$items = this.$active.parent().children() - return this.$items.index(this.$active) - } - - , to: function (pos) { - var activeIndex = this.getActiveIndex() - , that = this - - if (pos > (this.$items.length - 1) || pos < 0) return - - if (this.sliding) { - return this.$element.one('slid', function () { - that.to(pos) - }) - } - - if (activeIndex == pos) { - return this.pause().cycle() - } - - return this.slide(pos > activeIndex ? 'next' : 'prev', $(this.$items[pos])) - } - - , pause: function (e) { - if (!e) this.paused = true - if (this.$element.find('.next, .prev').length && $.support.transition.end) { - this.$element.trigger($.support.transition.end) - this.cycle(true) - } - clearInterval(this.interval) - this.interval = null - return this - } - - , next: function () { - if (this.sliding) return - return this.slide('next') - } - - , prev: function () { - if (this.sliding) return - return this.slide('prev') - } - - , slide: function (type, next) { - var $active = this.$element.find('.item.active') - , $next = next || $active[type]() - , isCycling = this.interval - , direction = type == 'next' ? 'left' : 'right' - , fallback = type == 'next' ? 'first' : 'last' - , that = this - , e - - this.sliding = true - - isCycling && this.pause() - - $next = $next.length ? $next : this.$element.find('.item')[fallback]() - - e = $.Event('slide', { - relatedTarget: $next[0] - , direction: direction - }) - - if ($next.hasClass('active')) return - - if (this.$indicators.length) { - this.$indicators.find('.active').removeClass('active') - this.$element.one('slid', function () { - var $nextIndicator = $(that.$indicators.children()[that.getActiveIndex()]) - $nextIndicator && $nextIndicator.addClass('active') - }) - } - - if ($.support.transition && this.$element.hasClass('slide')) { - this.$element.trigger(e) - if (e.isDefaultPrevented()) return - $next.addClass(type) - $next[0].offsetWidth // force reflow - $active.addClass(direction) - $next.addClass(direction) - this.$element.one($.support.transition.end, function () { - $next.removeClass([type, direction].join(' ')).addClass('active') - $active.removeClass(['active', direction].join(' ')) - that.sliding = false - setTimeout(function () { that.$element.trigger('slid') }, 0) - }) - } else { - this.$element.trigger(e) - if (e.isDefaultPrevented()) return - $active.removeClass('active') - $next.addClass('active') - this.sliding = false - this.$element.trigger('slid') - } - - isCycling && this.cycle() - - return this - } - - } - - - /* CAROUSEL PLUGIN DEFINITION - * ========================== */ - - var old = $.fn.carousel - - $.fn.carousel = function (option) { - return this.each(function () { - var $this = $(this) - , data = $this.data('carousel') - , options = $.extend({}, $.fn.carousel.defaults, typeof option == 'object' && option) - , action = typeof option == 'string' ? option : options.slide - if (!data) $this.data('carousel', (data = new Carousel(this, options))) - if (typeof option == 'number') data.to(option) - else if (action) data[action]() - else if (options.interval) data.pause().cycle() - }) - } - - $.fn.carousel.defaults = { - interval: 5000 - , pause: 'hover' - } - - $.fn.carousel.Constructor = Carousel - - - /* CAROUSEL NO CONFLICT - * ==================== */ - - $.fn.carousel.noConflict = function () { - $.fn.carousel = old - return this - } - - /* CAROUSEL DATA-API - * ================= */ - - $(document).on('click.carousel.data-api', '[data-slide], [data-slide-to]', function (e) { - var $this = $(this), href - , $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7 - , options = $.extend({}, $target.data(), $this.data()) - , slideIndex - - $target.carousel(options) - - if (slideIndex = $this.attr('data-slide-to')) { - $target.data('carousel').pause().to(slideIndex).cycle() - } - - e.preventDefault() - }) - -}(window.jQuery); \ No newline at end of file diff --git a/jquery/bootstrap/collapse.js b/jquery/bootstrap/collapse.js deleted file mode 100644 index ae3e4c63..00000000 --- a/jquery/bootstrap/collapse.js +++ /dev/null @@ -1,167 +0,0 @@ -/* ============================================================= - * bootstrap-collapse.js v2.3.2 - * http://getbootstrap.com/2.3.2/javascript.html#collapse - * ============================================================= - * Copyright 2013 Twitter, Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============================================================ */ - - -!function ($) { - - "use strict"; // jshint ;_; - - - /* COLLAPSE PUBLIC CLASS DEFINITION - * ================================ */ - - var Collapse = function (element, options) { - this.$element = $(element) - this.options = $.extend({}, $.fn.collapse.defaults, options) - - if (this.options.parent) { - this.$parent = $(this.options.parent) - } - - this.options.toggle && this.toggle() - } - - Collapse.prototype = { - - constructor: Collapse - - , dimension: function () { - var hasWidth = this.$element.hasClass('width') - return hasWidth ? 'width' : 'height' - } - - , show: function () { - var dimension - , scroll - , actives - , hasData - - if (this.transitioning || this.$element.hasClass('in')) return - - dimension = this.dimension() - scroll = $.camelCase(['scroll', dimension].join('-')) - actives = this.$parent && this.$parent.find('> .accordion-group > .in') - - if (actives && actives.length) { - hasData = actives.data('collapse') - if (hasData && hasData.transitioning) return - actives.collapse('hide') - hasData || actives.data('collapse', null) - } - - this.$element[dimension](0) - this.transition('addClass', $.Event('show'), 'shown') - $.support.transition && this.$element[dimension](this.$element[0][scroll]) - } - - , hide: function () { - var dimension - if (this.transitioning || !this.$element.hasClass('in')) return - dimension = this.dimension() - this.reset(this.$element[dimension]()) - this.transition('removeClass', $.Event('hide'), 'hidden') - this.$element[dimension](0) - } - - , reset: function (size) { - var dimension = this.dimension() - - this.$element - .removeClass('collapse') - [dimension](size || 'auto') - [0].offsetWidth - - this.$element[size !== null ? 'addClass' : 'removeClass']('collapse') - - return this - } - - , transition: function (method, startEvent, completeEvent) { - var that = this - , complete = function () { - if (startEvent.type == 'show') that.reset() - that.transitioning = 0 - that.$element.trigger(completeEvent) - } - - this.$element.trigger(startEvent) - - if (startEvent.isDefaultPrevented()) return - - this.transitioning = 1 - - this.$element[method]('in') - - $.support.transition && this.$element.hasClass('collapse') ? - this.$element.one($.support.transition.end, complete) : - complete() - } - - , toggle: function () { - this[this.$element.hasClass('in') ? 'hide' : 'show']() - } - - } - - - /* COLLAPSE PLUGIN DEFINITION - * ========================== */ - - var old = $.fn.collapse - - $.fn.collapse = function (option) { - return this.each(function () { - var $this = $(this) - , data = $this.data('collapse') - , options = $.extend({}, $.fn.collapse.defaults, $this.data(), typeof option == 'object' && option) - if (!data) $this.data('collapse', (data = new Collapse(this, options))) - if (typeof option == 'string') data[option]() - }) - } - - $.fn.collapse.defaults = { - toggle: true - } - - $.fn.collapse.Constructor = Collapse - - - /* COLLAPSE NO CONFLICT - * ==================== */ - - $.fn.collapse.noConflict = function () { - $.fn.collapse = old - return this - } - - - /* COLLAPSE DATA-API - * ================= */ - - $(document).on('click.collapse.data-api', '[data-toggle=collapse]', function (e) { - var $this = $(this), href - , target = $this.attr('data-target') - || e.preventDefault() - || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7 - , option = $(target).data('collapse') ? 'toggle' : $this.data() - $this[$(target).hasClass('in') ? 'addClass' : 'removeClass']('collapsed') - $(target).collapse(option) - }) - -}(window.jQuery); \ No newline at end of file diff --git a/jquery/bootstrap/collapse_2_3_2.js b/jquery/bootstrap/collapse_2_3_2.js deleted file mode 100644 index ae3e4c63..00000000 --- a/jquery/bootstrap/collapse_2_3_2.js +++ /dev/null @@ -1,167 +0,0 @@ -/* ============================================================= - * bootstrap-collapse.js v2.3.2 - * http://getbootstrap.com/2.3.2/javascript.html#collapse - * ============================================================= - * Copyright 2013 Twitter, Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============================================================ */ - - -!function ($) { - - "use strict"; // jshint ;_; - - - /* COLLAPSE PUBLIC CLASS DEFINITION - * ================================ */ - - var Collapse = function (element, options) { - this.$element = $(element) - this.options = $.extend({}, $.fn.collapse.defaults, options) - - if (this.options.parent) { - this.$parent = $(this.options.parent) - } - - this.options.toggle && this.toggle() - } - - Collapse.prototype = { - - constructor: Collapse - - , dimension: function () { - var hasWidth = this.$element.hasClass('width') - return hasWidth ? 'width' : 'height' - } - - , show: function () { - var dimension - , scroll - , actives - , hasData - - if (this.transitioning || this.$element.hasClass('in')) return - - dimension = this.dimension() - scroll = $.camelCase(['scroll', dimension].join('-')) - actives = this.$parent && this.$parent.find('> .accordion-group > .in') - - if (actives && actives.length) { - hasData = actives.data('collapse') - if (hasData && hasData.transitioning) return - actives.collapse('hide') - hasData || actives.data('collapse', null) - } - - this.$element[dimension](0) - this.transition('addClass', $.Event('show'), 'shown') - $.support.transition && this.$element[dimension](this.$element[0][scroll]) - } - - , hide: function () { - var dimension - if (this.transitioning || !this.$element.hasClass('in')) return - dimension = this.dimension() - this.reset(this.$element[dimension]()) - this.transition('removeClass', $.Event('hide'), 'hidden') - this.$element[dimension](0) - } - - , reset: function (size) { - var dimension = this.dimension() - - this.$element - .removeClass('collapse') - [dimension](size || 'auto') - [0].offsetWidth - - this.$element[size !== null ? 'addClass' : 'removeClass']('collapse') - - return this - } - - , transition: function (method, startEvent, completeEvent) { - var that = this - , complete = function () { - if (startEvent.type == 'show') that.reset() - that.transitioning = 0 - that.$element.trigger(completeEvent) - } - - this.$element.trigger(startEvent) - - if (startEvent.isDefaultPrevented()) return - - this.transitioning = 1 - - this.$element[method]('in') - - $.support.transition && this.$element.hasClass('collapse') ? - this.$element.one($.support.transition.end, complete) : - complete() - } - - , toggle: function () { - this[this.$element.hasClass('in') ? 'hide' : 'show']() - } - - } - - - /* COLLAPSE PLUGIN DEFINITION - * ========================== */ - - var old = $.fn.collapse - - $.fn.collapse = function (option) { - return this.each(function () { - var $this = $(this) - , data = $this.data('collapse') - , options = $.extend({}, $.fn.collapse.defaults, $this.data(), typeof option == 'object' && option) - if (!data) $this.data('collapse', (data = new Collapse(this, options))) - if (typeof option == 'string') data[option]() - }) - } - - $.fn.collapse.defaults = { - toggle: true - } - - $.fn.collapse.Constructor = Collapse - - - /* COLLAPSE NO CONFLICT - * ==================== */ - - $.fn.collapse.noConflict = function () { - $.fn.collapse = old - return this - } - - - /* COLLAPSE DATA-API - * ================= */ - - $(document).on('click.collapse.data-api', '[data-toggle=collapse]', function (e) { - var $this = $(this), href - , target = $this.attr('data-target') - || e.preventDefault() - || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7 - , option = $(target).data('collapse') ? 'toggle' : $this.data() - $this[$(target).hasClass('in') ? 'addClass' : 'removeClass']('collapsed') - $(target).collapse(option) - }) - -}(window.jQuery); \ No newline at end of file diff --git a/jquery/bootstrap/dropdown.js b/jquery/bootstrap/dropdown.js deleted file mode 100644 index d04da5d7..00000000 --- a/jquery/bootstrap/dropdown.js +++ /dev/null @@ -1,169 +0,0 @@ -/* ============================================================ - * bootstrap-dropdown.js v2.3.2 - * http://getbootstrap.com/2.3.2/javascript.html#dropdowns - * ============================================================ - * Copyright 2013 Twitter, Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============================================================ */ - - -!function ($) { - - "use strict"; // jshint ;_; - - - /* DROPDOWN CLASS DEFINITION - * ========================= */ - - var toggle = '[data-toggle=dropdown]' - , Dropdown = function (element) { - var $el = $(element).on('click.dropdown.data-api', this.toggle) - $('html').on('click.dropdown.data-api', function () { - $el.parent().removeClass('open') - }) - } - - Dropdown.prototype = { - - constructor: Dropdown - - , toggle: function (e) { - var $this = $(this) - , $parent - , isActive - - if ($this.is('.disabled, :disabled')) return - - $parent = getParent($this) - - isActive = $parent.hasClass('open') - - clearMenus() - - if (!isActive) { - if ('ontouchstart' in document.documentElement) { - // if mobile we we use a backdrop because click events don't delegate - $('
- +