Skip to content

Commit

Permalink
General: Fix js, update outdated script. Query optimisation.
Browse files Browse the repository at this point in the history
  • Loading branch information
pascallapointe committed Apr 16, 2019
1 parent a81ce48 commit e66c8c2
Show file tree
Hide file tree
Showing 266 changed files with 1,740 additions and 22,160 deletions.
16 changes: 6 additions & 10 deletions assets/entry/global/app.js → assets/entry/global/_app_global.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,13 @@ require('../../plugins/jquery-ui/jquery-ui-1.10.3.custom.min.css');
require('../../plugins/bootstrap-toastr/toastr.css');

// Global Theme CSS
require('../../sass/global/components-rounded.scss');
require('../../sass/global/plugins.scss');
require('../../styles/global/components-rounded.scss');
require('../../styles/global/plugins.scss');


// Global Plugins
var $ = require('../../plugins/jquery.min');
global.$ = $;
global.jQuery = $;
var $ = require('jquery');
global.$ = global.jQuery = $;
require('../../plugins/jquery-migrate.min');
require('../../plugins/jquery-ui/jquery-ui-1.10.3.custom');
require('../../plugins/jquery.ui.touch-punch.min');
Expand All @@ -26,12 +25,9 @@ require('../../plugins/jquery.blockui');
require('../../plugins/uniform/jquery.uniform');
require('../../plugins/reactjsx/react-0.14.3');
require('../../plugins/reactjsx/react-dom-0.14.3');
require('../../plugins/moment/moment');
require('../../plugins/bootstrap-toastr/toastr');
// require('../../plugins/bootstrap-toastr/toastr');

// Global Scripts
require('../../../public/bundles/fosjsrouting/js/router');
require('../../../public/js/fos_js_routes');
require('../../js/global/metronic');
require('../../js/global/translations');
require('../../js/global/core-scripts');

3 changes: 2 additions & 1 deletion assets/entry/global/docready.js
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
require('../../plugins/docready');
require('../../plugins/docready');
global.docReady = docReady;
6 changes: 0 additions & 6 deletions assets/entry/site/app.js

This file was deleted.

22 changes: 22 additions & 0 deletions assets/entry/site/homepage.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
// Global CSS and Scripts
require('../global/_app_global');

// Page CSS
require('../../styles/site/layout/layout.scss');
require('../../styles/site/layout/themes/tutoriux.scss');
require('../../styles/site/search.scss');

// Page Script
var Metronic = require('../../scripts/global/metronic');
var Layout = require('../../scripts/site/layout');
var Tutoriux = require('../../scripts/global/core-scripts');
var TutoriuxSearch = require('../../scripts/site/search_engine');

// Page Script
jQuery(document).ready(function() {
Metronic.init();
Layout.init();
Tutoriux.init();
Tutoriux.initFrontend();
TutoriuxSearch.init(algolia_config);
});
5 changes: 0 additions & 5 deletions assets/entry/site/search.js

This file was deleted.

3 changes: 0 additions & 3 deletions assets/plugins/bootstrap-hover-dropdown/LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,3 @@ FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.



15 changes: 14 additions & 1 deletion assets/plugins/bootstrap-hover-dropdown/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,7 @@ This also works with submenus without any other configuring since Bootstrap alre

* **delay**: *(optional)* The delay in miliseconds. This is the time to wait before closing a dropdown when the mouse is no longer over the dropdown or the button/nav item that activated it. Defaults to `500`.
* **instantlyCloseOthers**: *(optional)* A boolean value that when true, will instantly close all other dropdowns matched by the selector used when you activate a new navigation. This is nice for when you have dropdowns close together that may overlap. Default is `true`.
* **hoverDelay**: *(optional)* A delay *before opening* in miliseconds. Some people argue this improves user experience as it decreases the number of accidental menu openings. Defaults to `0`.

## Demo

Expand All @@ -93,6 +94,14 @@ This plugin purposedly lets you choose a selector (as opposed to apply this to e

I'm a slacker and only started keeping track of changes/bug fixes starting in March of 2013.

* **2015-12-01** *[v2.2.1]* Update README
* **2015-12-01** *[v2.2.0]* New logic: don't do anything when the navbar is collapsed
* **2015-02-07** *[v2.1.3]* Update version in JS files
* **2015-02-07** *[v2.1.2]* Forgot to minify the last couple updates...
* **2015-02-07** *[v2.1.1]* Merged another PR: `browserify` compatibility [#100](/../../issues/100).
* **2015-02-07** *[v2.1.0]* Merged a couple PRs: ARIA support [#95](/../../issues/95) and hover delay support [#99](/../../issues/99).
* **2014-06-16** Added package to composer.
* **2014-05-12** Fixed an issue where you could click a parent menu item to close it, but moving away from it would re-open the menu. Also cleaned up some code, removed some redundency.
* **2014-01-27** Fixed an issue where chaining could break on mobile and cleaned up the the way the plugin triggered events. Also cleaned up the demo (fixed navbar appearance).
* **2013-12-05** Change all references of *Twitter Bootstrap* to *Bootstrap* to reflect Bootstrap's name change.
* **2013-11-09** Disable this plugin for devices that support touch. The plugin was causing issues with some mobile devices, and it's not necessary for them.
Expand All @@ -107,7 +116,11 @@ I'm a slacker and only started keeping track of changes/bug fixes starting in Ma

## Contributions

[Mattia Larentis](https://github.com/nostalgiaz) helped me with the idea for the data-attributes and doing the options via an object.
Thanks to all of you who have contributed to this project, whether by code or by filing an issue to help improve it. But of course, especially the [ones that contribute code](/../../graphs/contributors) =)

A special thanks to [Mattia Larentis](https://github.com/nostalgiaz). He isn't in the contributor list, but he helped me with the idea for the data-attributes and doing the options via an object.

I will also issue a very special thanks in the README for help with setting up a [testing suite](/../../issues/69)!

## Roadmap

Expand Down
130 changes: 123 additions & 7 deletions assets/plugins/bootstrap-hover-dropdown/bootstrap-hover-dropdown.js
Original file line number Diff line number Diff line change
@@ -1,14 +1,130 @@
/**
* @preserve
* Project: Bootstrap Hover Dropdown
* Author: Cameron Spear
* Version: v2.2.1
* Contributors: Mattia Larentis
*
* Dependencies: Bootstrap's Dropdown plugin, jQuery
*
* A simple plugin to enable Bootstrap dropdowns to active on hover and provide a nice user experience.
*
* Description: A simple plugin to enable Bootstrap dropdowns to active on hover and provide a nice user experience.
* License: MIT
*
* http://cameronspear.com/blog/bootstrap-dropdown-on-hover-plugin/
* Homepage: http://cameronspear.com/blog/bootstrap-dropdown-on-hover-plugin/
*/
!function(e,n){var o=e();e.fn.dropdownHover=function(t){return"ontouchstart"in document?this:(o=o.add(this.parent()),this.each(function(){var i,r=e(this),s=r.parent(),d={delay:500,instantlyCloseOthers:!0},a={delay:e(this).data("delay"),instantlyCloseOthers:e(this).data("close-others")},h="show.bs.dropdown",u="hide.bs.dropdown",l=e.extend(!0,{},d,t,a);s.hover(function(e){return s.hasClass("open")||r.is(e.target)?(o.find(":focus").blur(),l.instantlyCloseOthers===!0&&o.removeClass("open"),n.clearTimeout(i),s.addClass("open"),void r.trigger(h)):!0},function(){i=n.setTimeout(function(){s.removeClass("open"),r.trigger(u)},l.delay)}),r.hover(function(){o.find(":focus").blur(),l.instantlyCloseOthers===!0&&o.removeClass("open"),n.clearTimeout(i),s.addClass("open"),r.trigger(h)}),s.find(".dropdown-submenu").each(function(){var o,t=e(this);t.hover(function(){n.clearTimeout(o),t.children(".dropdown-menu").show(),t.siblings().children(".dropdown-menu").hide()},function(){var e=t.children(".dropdown-menu");o=n.setTimeout(function(){e.hide()},l.delay)})})}))},e(document).ready(function(){e('[data-hover="dropdown"]').not(".hover-initialized").each(function(){e(this).dropdownHover(),e(this).addClass("hover-initialized")})})}(jQuery,this);
;(function ($, window, undefined) {
// outside the scope of the jQuery plugin to
// keep track of all dropdowns
var $allDropdowns = $();

// if instantlyCloseOthers is true, then it will instantly
// shut other nav items when a new one is hovered over
$.fn.dropdownHover = function (options) {
// don't do anything if touch is supported
// (plugin causes some issues on mobile)
if('ontouchstart' in document) return this; // don't want to affect chaining

// the element we really care about
// is the dropdown-toggle's parent
$allDropdowns = $allDropdowns.add(this.parent());

return this.each(function () {
var $this = $(this),
$parent = $this.parent(),
defaults = {
delay: 500,
hoverDelay: 0,
instantlyCloseOthers: true
},
data = {
delay: $(this).data('delay'),
hoverDelay: $(this).data('hover-delay'),
instantlyCloseOthers: $(this).data('close-others')
},
showEvent = 'show.bs.dropdown',
hideEvent = 'hide.bs.dropdown',
// shownEvent = 'shown.bs.dropdown',
// hiddenEvent = 'hidden.bs.dropdown',
settings = $.extend(true, {}, defaults, options, data),
timeout, timeoutHover;

$parent.hover(function (event) {
// so a neighbor can't open the dropdown
if(!$parent.hasClass('open') && !$this.is(event.target)) {
// stop this event, stop executing any code
// in this callback but continue to propagate
return true;
}

openDropdown(event);
}, function () {
// clear timer for hover event
window.clearTimeout(timeoutHover)
timeout = window.setTimeout(function () {
$this.attr('aria-expanded', 'false');
$parent.removeClass('open');
$this.trigger(hideEvent);
}, settings.delay);
});

// this helps with button groups!
$this.hover(function (event) {
// this helps prevent a double event from firing.
// see https://github.com/CWSpear/bootstrap-hover-dropdown/issues/55
if(!$parent.hasClass('open') && !$parent.is(event.target)) {
// stop this event, stop executing any code
// in this callback but continue to propagate
return true;
}

openDropdown(event);
});

// handle submenus
$parent.find('.dropdown-submenu').each(function (){
var $this = $(this);
var subTimeout;
$this.hover(function () {
window.clearTimeout(subTimeout);
$this.children('.dropdown-menu').show();
// always close submenu siblings instantly
$this.siblings().children('.dropdown-menu').hide();
}, function () {
var $submenu = $this.children('.dropdown-menu');
subTimeout = window.setTimeout(function () {
$submenu.hide();
}, settings.delay);
});
});

function openDropdown(event) {
if($this.parents(".navbar").find(".navbar-toggle").is(":visible")) {
// If we're inside a navbar, don't do anything when the
// navbar is collapsed, as it makes the navbar pretty unusable.
return;
}

// clear dropdown timeout here so it doesnt close before it should
window.clearTimeout(timeout);
// restart hover timer
window.clearTimeout(timeoutHover);

// delay for hover event.
timeoutHover = window.setTimeout(function () {
$allDropdowns.find(':focus').blur();

if(settings.instantlyCloseOthers === true)
$allDropdowns.removeClass('open');

// clear timer for hover event
window.clearTimeout(timeoutHover);
$this.attr('aria-expanded', 'true');
$parent.addClass('open');
$this.trigger(showEvent);
}, settings.hoverDelay);
}
});
};

$(document).ready(function () {
// apply dropdownHover to all elements with the data-hover="dropdown" attribute
$('[data-hover="dropdown"]').dropdownHover();
});
})(jQuery, window);

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

21 changes: 21 additions & 0 deletions assets/plugins/bootstrap-hover-dropdown/bower.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"name": "bootstrap-hover-dropdown",
"version": "2.2.1",
"description": "An unofficial Bootstrap plugin to enable Bootstrap dropdowns to activate on hover and provide a nice user experience.",
"main": "./bootstrap-hover-dropdown.js",
"keywords": [
"twitter",
"bootstrap",
"hover",
"dropdowns"
],
"homepage": "https://github.com/CWSpear/bootstrap-hover-dropdown",
"dependencies": {
"bootstrap": "^3.0.0",
"jquery": ">= 1.9.0"
},
"author": {
"name": "Cameron Spear",
"web": "http://cameronspear.com"
}
}
33 changes: 33 additions & 0 deletions assets/plugins/bootstrap-hover-dropdown/composer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
{
"name": "cwspear/bootstrap-hover-dropdown",
"version": "2.2.1",
"type": "component",
"description": "An unofficial Bootstrap plugin to enable Bootstrap dropdowns to activate on hover and provide a nice user experience.",
"keywords": [
"twitter",
"bootstrap",
"hover",
"dropdowns"
],
"license": "MIT",
"authors": [
{
"name": "Cameron Spear",
"email": "[email protected]",
"homepage": "http://cameronspear.com",
"role": "Developer"
}
],
"require": {
"components/jquery": ">=1.9",
"components/bootstrap": "~3.0"
},
"extra": {
"component": {
"name": "bootstrap-hover-dropdown",
"files": [
"bootstrap-hover-dropdown.js"
]
}
}
}
Loading

0 comments on commit e66c8c2

Please sign in to comment.