mirror of
https://gitlab.com/signalytic/client-external/streamline/streamline-emr.git
synced 2026-09-12 19:21:33 +00:00
The official image from streamline does not currently work for the arm64 platform. As a temporary measure, the source code and docker build scripts have been lifted from the official images and are used to build locally. Some additional modifications are made to reduce overall image size, these are documented in docker/README.md
120 lines
3.9 KiB
JavaScript
Executable File
120 lines
3.9 KiB
JavaScript
Executable File
/*
|
|
* metismenu - v1.1.3
|
|
* Easy menu jQuery plugin for Twitter Bootstrap 3
|
|
* https://github.com/onokumus/metisMenu
|
|
*
|
|
* Made by Osman Nuri Okumus
|
|
* Under MIT License
|
|
*/
|
|
;(function($, window, document, undefined) {
|
|
|
|
var pluginName = "metisMenu",
|
|
defaults = {
|
|
toggle: true,
|
|
doubleTapToGo: false
|
|
};
|
|
|
|
function Plugin(element, options) {
|
|
this.element = $(element);
|
|
this.settings = $.extend({}, defaults, options);
|
|
this._defaults = defaults;
|
|
this._name = pluginName;
|
|
this.init();
|
|
}
|
|
|
|
Plugin.prototype = {
|
|
init: function() {
|
|
|
|
var $this = this.element,
|
|
$toggle = this.settings.toggle,
|
|
obj = this;
|
|
|
|
if (this.isIE() <= 9) {
|
|
$this.find("li.active").has("ul").children("ul").collapse("show");
|
|
$this.find("li").not(".active").has("ul").children("ul").collapse("hide");
|
|
} else {
|
|
$this.find("li.active").has("ul").children("ul").addClass("collapse in");
|
|
$this.find("li").not(".active").has("ul").children("ul").addClass("collapse");
|
|
}
|
|
|
|
//add the "doubleTapToGo" class to active items if needed
|
|
if (obj.settings.doubleTapToGo) {
|
|
$this.find("li.active").has("ul").children("a").addClass("doubleTapToGo");
|
|
}
|
|
|
|
$this.find("li").has("ul").children("a").on("click" + "." + pluginName, function(e) {
|
|
e.preventDefault();
|
|
|
|
//Do we need to enable the double tap
|
|
if (obj.settings.doubleTapToGo) {
|
|
|
|
//if we hit a second time on the link and the href is valid, navigate to that url
|
|
if (obj.doubleTapToGo($(this)) && $(this).attr("href") !== "#" && $(this).attr("href") !== "") {
|
|
e.stopPropagation();
|
|
document.location = $(this).attr("href");
|
|
return;
|
|
}
|
|
}
|
|
|
|
$(this).parent("li").toggleClass("active").children("ul").collapse("toggle");
|
|
|
|
if ($toggle) {
|
|
$(this).parent("li").siblings().removeClass("active").children("ul.in").collapse("hide");
|
|
}
|
|
|
|
});
|
|
},
|
|
|
|
isIE: function() { //https://gist.github.com/padolsey/527683
|
|
var undef,
|
|
v = 3,
|
|
div = document.createElement("div"),
|
|
all = div.getElementsByTagName("i");
|
|
|
|
while (
|
|
div.innerHTML = "<!--[if gt IE " + (++v) + "]><i></i><![endif]-->",
|
|
all[0]
|
|
) {
|
|
return v > 4 ? v : undef;
|
|
}
|
|
},
|
|
|
|
//Enable the link on the second click.
|
|
doubleTapToGo: function(elem) {
|
|
var $this = this.element;
|
|
|
|
//if the class "doubleTapToGo" exists, remove it and return
|
|
if (elem.hasClass("doubleTapToGo")) {
|
|
elem.removeClass("doubleTapToGo");
|
|
return true;
|
|
}
|
|
|
|
//does not exists, add a new class and return false
|
|
if (elem.parent().children("ul").length) {
|
|
//first remove all other class
|
|
$this.find(".doubleTapToGo").removeClass("doubleTapToGo");
|
|
//add the class on the current element
|
|
elem.addClass("doubleTapToGo");
|
|
return false;
|
|
}
|
|
},
|
|
|
|
remove: function() {
|
|
this.element.off("." + pluginName);
|
|
this.element.removeData(pluginName);
|
|
}
|
|
|
|
};
|
|
|
|
$.fn[pluginName] = function(options) {
|
|
this.each(function () {
|
|
var el = $(this);
|
|
if (el.data(pluginName)) {
|
|
el.data(pluginName).remove();
|
|
}
|
|
el.data(pluginName, new Plugin(this, options));
|
|
});
|
|
return this;
|
|
};
|
|
|
|
})(jQuery, window, document); |