diff --git a/.gitattributes b/.gitattributes index e8d2162cf8..6ee47c85de 100644 --- a/.gitattributes +++ b/.gitattributes @@ -4,3 +4,4 @@ /templates/**/*.tmpl linguist-language=Handlebars /.eslintrc linguist-language=YAML /.stylelintrc linguist-language=YAML +/web_src/fomantic/build/** linguist-generated diff --git a/Makefile b/Makefile index 8339e77f4f..ff03e4c0bb 100644 --- a/Makefile +++ b/Makefile @@ -701,6 +701,7 @@ fomantic: cp -rf $(FOMANTIC_WORK_DIR)/_site $(FOMANTIC_WORK_DIR)/node_modules/fomantic-ui/src/ cp -f web_src/js/vendor/dropdown.js $(FOMANTIC_WORK_DIR)/node_modules/fomantic-ui/src/definitions/modules cd $(FOMANTIC_WORK_DIR) && npx gulp -f node_modules/fomantic-ui/gulpfile.js build + rm -f $(FOMANTIC_WORK_DIR)/build/*.min.* .PHONY: webpack webpack: $(WEBPACK_DEST) diff --git a/web_src/fomantic/build/semantic.css b/web_src/fomantic/build/semantic.css index 27ff073a56..188affa116 100644 --- a/web_src/fomantic/build/semantic.css +++ b/web_src/fomantic/build/semantic.css @@ -38142,603 +38142,6 @@ template { Theme Overrides *******************************/ -/******************************* - Site Overrides -*******************************/ -/*! - * # Fomantic-UI - Sidebar - * http://github.com/fomantic/Fomantic-UI/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -/******************************* - Sidebar -*******************************/ - -/* Sidebar Menu */ - -.ui.sidebar { - position: fixed; - top: 0; - left: 0; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - transition: none; - will-change: transform; - transform: translate3d(0, 0, 0); - visibility: hidden; - -webkit-overflow-scrolling: touch; - height: 100% !important; - max-height: 100%; - border-radius: 0 !important; - margin: 0 !important; - overflow-y: auto !important; - z-index: 102; -} - -/* GPU Layers for Child Elements */ - -.ui.sidebar > * { - -webkit-backface-visibility: hidden; - backface-visibility: hidden; -} - -/*-------------- - Direction ----------------*/ - -.ui.left.sidebar { - right: auto; - left: 0; - transform: translate3d(-100%, 0, 0); -} - -.ui.right.sidebar { - right: 0 !important; - left: auto !important; - transform: translate3d(100%, 0, 0); -} - -.ui.top.sidebar, -.ui.bottom.sidebar { - width: 100% !important; - height: auto !important; -} - -.ui.top.sidebar { - top: 0 !important; - bottom: auto !important; - transform: translate3d(0, -100%, 0); -} - -.ui.bottom.sidebar { - top: auto !important; - bottom: 0 !important; - transform: translate3d(0, 100%, 0); -} - -/*-------------- - Pushable ----------------*/ - -.pushable { - height: 100%; - overflow-x: hidden; - padding: 0 !important; -} - -/* Whole Page */ - -body.pushable { - background: #545454; -} - -body.pushable.dimmed { - background: inherit; -} - -/* Page Context */ - -.pushable:not(body) { - transform: translate3d(0, 0, 0); - overflow-y: hidden; -} - -.pushable:not(body) > .ui.sidebar, -.pushable:not(body) > .fixed, -.pushable:not(body) > .pusher:after { - position: absolute; -} - -/*-------------- - Fixed ----------------*/ - -.pushable > .fixed { - position: fixed; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - transition: transform 500ms ease; - will-change: transform; - z-index: 101; -} - -/*-------------- - Page ----------------*/ - -.pushable > .pusher { - position: relative; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - overflow: hidden; - min-height: 100%; - transition: transform 500ms ease; - z-index: 2; - /* Pusher should inherit background from context */ - background: inherit; -} - -body.pushable > .pusher { - background: #FFFFFF; -} - -/*-------------- - Dimmer ----------------*/ - -.pushable > .pusher:after { - position: fixed; - top: 0; - right: 0; - content: ''; - background: rgba(0, 0, 0, 0.4); - overflow: hidden; - opacity: 0; - transition: opacity 500ms; - will-change: opacity; - z-index: 1000; -} - -/*-------------- - Coupling ----------------*/ - -.ui.sidebar.menu .item { - border-radius: 0 !important; -} - -/******************************* - States -*******************************/ - -/*-------------- - Dimmed ----------------*/ - -.pushable > .pusher.dimmed:after { - width: 100% !important; - height: 100% !important; - opacity: 1 !important; -} - -/*-------------- - Animating ----------------*/ - -.ui.animating.sidebar { - visibility: visible; -} - -/*-------------- - Visible ----------------*/ - -.ui.visible.sidebar { - visibility: visible; - transform: translate3d(0, 0, 0); -} - -/* Shadow Direction */ - -.ui.left.visible.sidebar, -.ui.right.visible.sidebar { - box-shadow: 0 0 20px rgba(34, 36, 38, 0.15); -} - -.ui.top.visible.sidebar, -.ui.bottom.visible.sidebar { - box-shadow: 0 0 20px rgba(34, 36, 38, 0.15); -} - -/* Visible On Load */ - -.ui.visible.left.sidebar ~ .fixed, -.ui.visible.left.sidebar ~ .pusher { - transform: translate3d(260px, 0, 0); -} - -.ui.visible.right.sidebar ~ .fixed, -.ui.visible.right.sidebar ~ .pusher { - transform: translate3d(-260px, 0, 0); -} - -.ui.visible.top.sidebar ~ .fixed, -.ui.visible.top.sidebar ~ .pusher { - transform: translate3d(0, 36px, 0); -} - -.ui.visible.bottom.sidebar ~ .fixed, -.ui.visible.bottom.sidebar ~ .pusher { - transform: translate3d(0, -36px, 0); -} - -/* opposite sides visible forces content overlay */ - -.ui.visible.left.sidebar ~ .ui.visible.right.sidebar ~ .fixed, -.ui.visible.left.sidebar ~ .ui.visible.right.sidebar ~ .pusher, -.ui.visible.right.sidebar ~ .ui.visible.left.sidebar ~ .fixed, -.ui.visible.right.sidebar ~ .ui.visible.left.sidebar ~ .pusher { - transform: translate3d(0, 0, 0); -} - -/*-------------- - iOS ----------------*/ - -/******************************* - Variations -*******************************/ - -/*-------------- - Width ----------------*/ - -/* Left / Right */ - -.ui.thin.left.sidebar, -.ui.thin.right.sidebar { - width: 150px; -} - -.ui[class*="very thin"].left.sidebar, -.ui[class*="very thin"].right.sidebar { - width: 60px; -} - -.ui.left.sidebar, -.ui.right.sidebar { - width: 260px; -} - -.ui.wide.left.sidebar, -.ui.wide.right.sidebar { - width: 350px; -} - -.ui[class*="very wide"].left.sidebar, -.ui[class*="very wide"].right.sidebar { - width: 475px; -} - -/* Left Visible */ - -.ui.visible.thin.left.sidebar ~ .fixed, -.ui.visible.thin.left.sidebar ~ .pusher { - transform: translate3d(150px, 0, 0); -} - -.ui.visible[class*="very thin"].left.sidebar ~ .fixed, -.ui.visible[class*="very thin"].left.sidebar ~ .pusher { - transform: translate3d(60px, 0, 0); -} - -.ui.visible.wide.left.sidebar ~ .fixed, -.ui.visible.wide.left.sidebar ~ .pusher { - transform: translate3d(350px, 0, 0); -} - -.ui.visible[class*="very wide"].left.sidebar ~ .fixed, -.ui.visible[class*="very wide"].left.sidebar ~ .pusher { - transform: translate3d(475px, 0, 0); -} - -/* Right Visible */ - -.ui.visible.thin.right.sidebar ~ .fixed, -.ui.visible.thin.right.sidebar ~ .pusher { - transform: translate3d(-150px, 0, 0); -} - -.ui.visible[class*="very thin"].right.sidebar ~ .fixed, -.ui.visible[class*="very thin"].right.sidebar ~ .pusher { - transform: translate3d(-60px, 0, 0); -} - -.ui.visible.wide.right.sidebar ~ .fixed, -.ui.visible.wide.right.sidebar ~ .pusher { - transform: translate3d(-350px, 0, 0); -} - -.ui.visible[class*="very wide"].right.sidebar ~ .fixed, -.ui.visible[class*="very wide"].right.sidebar ~ .pusher { - transform: translate3d(-475px, 0, 0); -} - -/******************************* - Animations -*******************************/ - -/*-------------- - Overlay - ---------------*/ - -/* Set-up */ - -.ui.overlay.sidebar { - z-index: 102; -} - -/* Initial */ - -.ui.left.overlay.sidebar { - transform: translate3d(-100%, 0, 0); -} - -.ui.right.overlay.sidebar { - transform: translate3d(100%, 0, 0); -} - -.ui.top.overlay.sidebar { - transform: translate3d(0%, -100%, 0); -} - -.ui.bottom.overlay.sidebar { - transform: translate3d(0%, 100%, 0); -} - -/* Animation */ - -.animating.ui.overlay.sidebar, -.ui.visible.overlay.sidebar { - transition: transform 500ms ease; -} - -/* End - Sidebar */ - -.ui.visible.left.overlay.sidebar { - transform: translate3d(0%, 0, 0); -} - -.ui.visible.right.overlay.sidebar { - transform: translate3d(0%, 0, 0); -} - -.ui.visible.top.overlay.sidebar { - transform: translate3d(0%, 0, 0); -} - -.ui.visible.bottom.overlay.sidebar { - transform: translate3d(0%, 0, 0); -} - -/* End - Pusher */ - -.ui.visible.overlay.sidebar ~ .fixed, -.ui.visible.overlay.sidebar ~ .pusher { - transform: none !important; -} - -/*-------------- - Push - ---------------*/ - -/* Initial */ - -.ui.push.sidebar { - transition: transform 500ms ease; - z-index: 102; -} - -/* Sidebar - Initial */ - -.ui.left.push.sidebar { - transform: translate3d(-100%, 0, 0); -} - -.ui.right.push.sidebar { - transform: translate3d(100%, 0, 0); -} - -.ui.top.push.sidebar { - transform: translate3d(0%, -100%, 0); -} - -.ui.bottom.push.sidebar { - transform: translate3d(0%, 100%, 0); -} - -/* End */ - -.ui.visible.push.sidebar { - transform: translate3d(0%, 0, 0); -} - -/*-------------- - Uncover - ---------------*/ - -/* Initial */ - -.ui.uncover.sidebar { - transform: translate3d(0, 0, 0); - z-index: 1; -} - -/* End */ - -.ui.visible.uncover.sidebar { - transform: translate3d(0, 0, 0); - transition: transform 500ms ease; -} - -/*-------------- - Slide Along - ---------------*/ - -/* Initial */ - -.ui.slide.along.sidebar { - z-index: 1; -} - -/* Sidebar - Initial */ - -.ui.left.slide.along.sidebar { - transform: translate3d(-50%, 0, 0); -} - -.ui.right.slide.along.sidebar { - transform: translate3d(50%, 0, 0); -} - -.ui.top.slide.along.sidebar { - transform: translate3d(0, -50%, 0); -} - -.ui.bottom.slide.along.sidebar { - transform: translate3d(0%, 50%, 0); -} - -/* Animation */ - -.ui.animating.slide.along.sidebar { - transition: transform 500ms ease; -} - -/* End */ - -.ui.visible.slide.along.sidebar { - transform: translate3d(0%, 0, 0); -} - -/*-------------- - Slide Out - ---------------*/ - -/* Initial */ - -.ui.slide.out.sidebar { - z-index: 1; -} - -/* Sidebar - Initial */ - -.ui.left.slide.out.sidebar { - transform: translate3d(50%, 0, 0); -} - -.ui.right.slide.out.sidebar { - transform: translate3d(-50%, 0, 0); -} - -.ui.top.slide.out.sidebar { - transform: translate3d(0%, 50%, 0); -} - -.ui.bottom.slide.out.sidebar { - transform: translate3d(0%, -50%, 0); -} - -/* Animation */ - -.ui.animating.slide.out.sidebar { - transition: transform 500ms ease; -} - -/* End */ - -.ui.visible.slide.out.sidebar { - transform: translate3d(0%, 0, 0); -} - -/*-------------- - Scale Down - ---------------*/ - -/* Initial */ - -.ui.scale.down.sidebar { - transition: transform 500ms ease; - z-index: 102; -} - -.ui.left.scale.down.sidebar { - transform: translate3d(-100%, 0, 0); -} - -.ui.right.scale.down.sidebar { - transform: translate3d(100%, 0, 0); -} - -.ui.top.scale.down.sidebar { - transform: translate3d(0%, -100%, 0); -} - -.ui.bottom.scale.down.sidebar { - transform: translate3d(0%, 100%, 0); -} - -/* Pusher - Initial */ - -.ui.scale.down.left.sidebar ~ .pusher { - transform-origin: 75% 50%; -} - -.ui.scale.down.right.sidebar ~ .pusher { - transform-origin: 25% 50%; -} - -.ui.scale.down.top.sidebar ~ .pusher { - transform-origin: 50% 75%; -} - -.ui.scale.down.bottom.sidebar ~ .pusher { - transform-origin: 50% 25%; -} - -/* Animation */ - -.ui.animating.scale.down > .visible.ui.sidebar { - transition: transform 500ms ease; -} - -.ui.visible.scale.down.sidebar ~ .pusher, -.ui.animating.scale.down.sidebar ~ .pusher { - display: block !important; - width: 100%; - height: 100%; - overflow: hidden !important; -} - -/* End */ - -.ui.visible.scale.down.sidebar { - transform: translate3d(0, 0, 0); -} - -.ui.visible.scale.down.sidebar ~ .pusher { - transform: scale(0.75); -} - -/******************************* - Theme Overrides -*******************************/ - /******************************* Site Overrides *******************************/ diff --git a/web_src/fomantic/build/semantic.js b/web_src/fomantic/build/semantic.js index 6514e99e33..2d5b7d8202 100644 --- a/web_src/fomantic/build/semantic.js +++ b/web_src/fomantic/build/semantic.js @@ -14542,1043 +14542,6 @@ $.fn.search.settings = { } }; -})( jQuery, window, document ); - -/*! - * # Fomantic-UI - Sidebar - * http://github.com/fomantic/Fomantic-UI/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -;(function ($, window, document, undefined) { - -'use strict'; - -$.isFunction = $.isFunction || function(obj) { - return typeof obj === "function" && typeof obj.nodeType !== "number"; -}; - -window = (typeof window != 'undefined' && window.Math == Math) - ? window - : (typeof self != 'undefined' && self.Math == Math) - ? self - : Function('return this')() -; - -$.fn.sidebar = function(parameters) { - var - $allModules = $(this), - $window = $(window), - $document = $(document), - $html = $('html'), - $head = $('head'), - - moduleSelector = $allModules.selector || '', - - time = new Date().getTime(), - performance = [], - - query = arguments[0], - methodInvoked = (typeof query == 'string'), - queryArguments = [].slice.call(arguments, 1), - - requestAnimationFrame = window.requestAnimationFrame - || window.mozRequestAnimationFrame - || window.webkitRequestAnimationFrame - || window.msRequestAnimationFrame - || function(callback) { setTimeout(callback, 0); }, - - returnedValue - ; - - $allModules - .each(function() { - var - settings = ( $.isPlainObject(parameters) ) - ? $.extend(true, {}, $.fn.sidebar.settings, parameters) - : $.extend({}, $.fn.sidebar.settings), - - selector = settings.selector, - className = settings.className, - namespace = settings.namespace, - regExp = settings.regExp, - error = settings.error, - - eventNamespace = '.' + namespace, - moduleNamespace = 'module-' + namespace, - - $module = $(this), - $context = $(settings.context), - - $sidebars = $module.children(selector.sidebar), - $fixed = $context.children(selector.fixed), - $pusher = $context.children(selector.pusher), - $style, - - element = this, - instance = $module.data(moduleNamespace), - - elementNamespace, - id, - currentScroll, - transitionEvent, - - module - ; - - module = { - - initialize: function() { - module.debug('Initializing sidebar', parameters); - - module.create.id(); - - transitionEvent = module.get.transitionEvent(); - - // avoids locking rendering if initialized in onReady - if(settings.delaySetup) { - requestAnimationFrame(module.setup.layout); - } - else { - module.setup.layout(); - } - - requestAnimationFrame(function() { - module.setup.cache(); - }); - - module.instantiate(); - }, - - instantiate: function() { - module.verbose('Storing instance of module', module); - instance = module; - $module - .data(moduleNamespace, module) - ; - }, - - create: { - id: function() { - id = (Math.random().toString(16) + '000000000').substr(2,8); - elementNamespace = '.' + id; - module.verbose('Creating unique id for element', id); - } - }, - - destroy: function() { - module.verbose('Destroying previous module for', $module); - $module - .off(eventNamespace) - .removeData(moduleNamespace) - ; - if(module.is.ios()) { - module.remove.ios(); - } - // bound by uuid - $context.off(elementNamespace); - $window.off(elementNamespace); - $document.off(elementNamespace); - }, - - event: { - clickaway: function(event) { - if(settings.closable){ - var - clickedInPusher = ($pusher.find(event.target).length > 0 || $pusher.is(event.target)), - clickedContext = ($context.is(event.target)) - ; - if(clickedInPusher) { - module.verbose('User clicked on dimmed page'); - module.hide(); - } - if(clickedContext) { - module.verbose('User clicked on dimmable context (scaled out page)'); - module.hide(); - } - } - }, - touch: function(event) { - //event.stopPropagation(); - }, - containScroll: function(event) { - if(element.scrollTop <= 0) { - element.scrollTop = 1; - } - if((element.scrollTop + element.offsetHeight) >= element.scrollHeight) { - element.scrollTop = element.scrollHeight - element.offsetHeight - 1; - } - }, - scroll: function(event) { - if( $(event.target).closest(selector.sidebar).length === 0 ) { - event.preventDefault(); - } - } - }, - - bind: { - clickaway: function() { - module.verbose('Adding clickaway events to context', $context); - $context - .on('click' + elementNamespace, module.event.clickaway) - .on('touchend' + elementNamespace, module.event.clickaway) - ; - }, - scrollLock: function() { - if(settings.scrollLock) { - module.debug('Disabling page scroll'); - $window - .on('DOMMouseScroll' + elementNamespace, module.event.scroll) - ; - } - module.verbose('Adding events to contain sidebar scroll'); - $document - .on('touchmove' + elementNamespace, module.event.touch) - ; - $module - .on('scroll' + eventNamespace, module.event.containScroll) - ; - } - }, - unbind: { - clickaway: function() { - module.verbose('Removing clickaway events from context', $context); - $context.off(elementNamespace); - }, - scrollLock: function() { - module.verbose('Removing scroll lock from page'); - $document.off(elementNamespace); - $window.off(elementNamespace); - $module.off('scroll' + eventNamespace); - } - }, - - add: { - inlineCSS: function() { - var - width = module.cache.width || $module.outerWidth(), - height = module.cache.height || $module.outerHeight(), - isRTL = module.is.rtl(), - direction = module.get.direction(), - distance = { - left : width, - right : -width, - top : height, - bottom : -height - }, - style - ; - - if(isRTL){ - module.verbose('RTL detected, flipping widths'); - distance.left = -width; - distance.right = width; - } - - style = ''; - $style = $(style) - .appendTo($head) - ; - module.debug('Adding sizing css to head', $style); - } - }, - - refresh: function() { - module.verbose('Refreshing selector cache'); - $context = $(settings.context); - $sidebars = $context.children(selector.sidebar); - $pusher = $context.children(selector.pusher); - $fixed = $context.children(selector.fixed); - module.clear.cache(); - }, - - refreshSidebars: function() { - module.verbose('Refreshing other sidebars'); - $sidebars = $context.children(selector.sidebar); - }, - - repaint: function() { - module.verbose('Forcing repaint event'); - element.style.display = 'none'; - var ignored = element.offsetHeight; - element.scrollTop = element.scrollTop; - element.style.display = ''; - }, - - setup: { - cache: function() { - module.cache = { - width : $module.outerWidth(), - height : $module.outerHeight() - }; - }, - layout: function() { - if( $context.children(selector.pusher).length === 0 ) { - module.debug('Adding wrapper element for sidebar'); - module.error(error.pusher); - $pusher = $('
'); - $context - .children() - .not(selector.omitted) - .not($sidebars) - .wrapAll($pusher) - ; - module.refresh(); - } - if($module.nextAll(selector.pusher).length === 0 || $module.nextAll(selector.pusher)[0] !== $pusher[0]) { - module.debug('Moved sidebar to correct parent element'); - module.error(error.movedSidebar, element); - $module.detach().prependTo($context); - module.refresh(); - } - module.clear.cache(); - module.set.pushable(); - module.set.direction(); - } - }, - - attachEvents: function(selector, event) { - var - $toggle = $(selector) - ; - event = $.isFunction(module[event]) - ? module[event] - : module.toggle - ; - if($toggle.length > 0) { - module.debug('Attaching sidebar events to element', selector, event); - $toggle - .on('click' + eventNamespace, event) - ; - } - else { - module.error(error.notFound, selector); - } - }, - - show: function(callback) { - callback = $.isFunction(callback) - ? callback - : function(){} - ; - if(module.is.hidden()) { - module.refreshSidebars(); - if(settings.overlay) { - module.error(error.overlay); - settings.transition = 'overlay'; - } - module.refresh(); - if(module.othersActive()) { - module.debug('Other sidebars currently visible'); - if(settings.exclusive) { - // if not overlay queue animation after hide - if(settings.transition != 'overlay') { - module.hideOthers(module.show); - return; - } - else { - module.hideOthers(); - } - } - else { - settings.transition = 'overlay'; - } - } - module.pushPage(function() { - callback.call(element); - settings.onShow.call(element); - }); - settings.onChange.call(element); - settings.onVisible.call(element); - } - else { - module.debug('Sidebar is already visible'); - } - }, - - hide: function(callback) { - callback = $.isFunction(callback) - ? callback - : function(){} - ; - if(module.is.visible() || module.is.animating()) { - module.debug('Hiding sidebar', callback); - module.refreshSidebars(); - module.pullPage(function() { - callback.call(element); - settings.onHidden.call(element); - }); - settings.onChange.call(element); - settings.onHide.call(element); - } - }, - - othersAnimating: function() { - return ($sidebars.not($module).filter('.' + className.animating).length > 0); - }, - othersVisible: function() { - return ($sidebars.not($module).filter('.' + className.visible).length > 0); - }, - othersActive: function() { - return(module.othersVisible() || module.othersAnimating()); - }, - - hideOthers: function(callback) { - var - $otherSidebars = $sidebars.not($module).filter('.' + className.visible), - sidebarCount = $otherSidebars.length, - callbackCount = 0 - ; - callback = callback || function(){}; - $otherSidebars - .sidebar('hide', function() { - callbackCount++; - if(callbackCount == sidebarCount) { - callback(); - } - }) - ; - }, - - toggle: function() { - module.verbose('Determining toggled direction'); - if(module.is.hidden()) { - module.show(); - } - else { - module.hide(); - } - }, - - pushPage: function(callback) { - var - transition = module.get.transition(), - $transition = (transition === 'overlay' || module.othersActive()) - ? $module - : $pusher, - animate, - dim, - transitionEnd - ; - callback = $.isFunction(callback) - ? callback - : function(){} - ; - if(settings.transition == 'scale down') { - module.scrollToTop(); - } - module.set.transition(transition); - module.repaint(); - animate = function() { - module.bind.clickaway(); - module.add.inlineCSS(); - module.set.animating(); - module.set.visible(); - }; - dim = function() { - module.set.dimmed(); - }; - transitionEnd = function(event) { - if( event.target == $transition[0] ) { - $transition.off(transitionEvent + elementNamespace, transitionEnd); - module.remove.animating(); - module.bind.scrollLock(); - callback.call(element); - } - }; - $transition.off(transitionEvent + elementNamespace); - $transition.on(transitionEvent + elementNamespace, transitionEnd); - requestAnimationFrame(animate); - if(settings.dimPage && !module.othersVisible()) { - requestAnimationFrame(dim); - } - }, - - pullPage: function(callback) { - var - transition = module.get.transition(), - $transition = (transition == 'overlay' || module.othersActive()) - ? $module - : $pusher, - animate, - transitionEnd - ; - callback = $.isFunction(callback) - ? callback - : function(){} - ; - module.verbose('Removing context push state', module.get.direction()); - - module.unbind.clickaway(); - module.unbind.scrollLock(); - - animate = function() { - module.set.transition(transition); - module.set.animating(); - module.remove.visible(); - if(settings.dimPage && !module.othersVisible()) { - $pusher.removeClass(className.dimmed); - } - }; - transitionEnd = function(event) { - if( event.target == $transition[0] ) { - $transition.off(transitionEvent + elementNamespace, transitionEnd); - module.remove.animating(); - module.remove.transition(); - module.remove.inlineCSS(); - if(transition == 'scale down' || (settings.returnScroll && module.is.mobile()) ) { - module.scrollBack(); - } - callback.call(element); - } - }; - $transition.off(transitionEvent + elementNamespace); - $transition.on(transitionEvent + elementNamespace, transitionEnd); - requestAnimationFrame(animate); - }, - - scrollToTop: function() { - module.verbose('Scrolling to top of page to avoid animation issues'); - currentScroll = $(window).scrollTop(); - $module.scrollTop(0); - window.scrollTo(0, 0); - }, - - scrollBack: function() { - module.verbose('Scrolling back to original page position'); - window.scrollTo(0, currentScroll); - }, - - clear: { - cache: function() { - module.verbose('Clearing cached dimensions'); - module.cache = {}; - } - }, - - set: { - - // ios only (scroll on html not document). This prevent auto-resize canvas/scroll in ios - // (This is no longer necessary in latest iOS) - ios: function() { - $html.addClass(className.ios); - }, - - // container - pushed: function() { - $context.addClass(className.pushed); - }, - pushable: function() { - $context.addClass(className.pushable); - }, - - // pusher - dimmed: function() { - $pusher.addClass(className.dimmed); - }, - - // sidebar - active: function() { - $module.addClass(className.active); - }, - animating: function() { - $module.addClass(className.animating); - }, - transition: function(transition) { - transition = transition || module.get.transition(); - $module.addClass(transition); - }, - direction: function(direction) { - direction = direction || module.get.direction(); - $module.addClass(className[direction]); - }, - visible: function() { - $module.addClass(className.visible); - }, - overlay: function() { - $module.addClass(className.overlay); - } - }, - remove: { - - inlineCSS: function() { - module.debug('Removing inline css styles', $style); - if($style && $style.length > 0) { - $style.remove(); - } - }, - - // ios scroll on html not document - ios: function() { - $html.removeClass(className.ios); - }, - - // context - pushed: function() { - $context.removeClass(className.pushed); - }, - pushable: function() { - $context.removeClass(className.pushable); - }, - - // sidebar - active: function() { - $module.removeClass(className.active); - }, - animating: function() { - $module.removeClass(className.animating); - }, - transition: function(transition) { - transition = transition || module.get.transition(); - $module.removeClass(transition); - }, - direction: function(direction) { - direction = direction || module.get.direction(); - $module.removeClass(className[direction]); - }, - visible: function() { - $module.removeClass(className.visible); - }, - overlay: function() { - $module.removeClass(className.overlay); - } - }, - - get: { - direction: function() { - if($module.hasClass(className.top)) { - return className.top; - } - else if($module.hasClass(className.right)) { - return className.right; - } - else if($module.hasClass(className.bottom)) { - return className.bottom; - } - return className.left; - }, - transition: function() { - var - direction = module.get.direction(), - transition - ; - transition = ( module.is.mobile() ) - ? (settings.mobileTransition == 'auto') - ? settings.defaultTransition.mobile[direction] - : settings.mobileTransition - : (settings.transition == 'auto') - ? settings.defaultTransition.computer[direction] - : settings.transition - ; - module.verbose('Determined transition', transition); - return transition; - }, - transitionEvent: function() { - var - element = document.createElement('element'), - transitions = { - 'transition' :'transitionend', - 'OTransition' :'oTransitionEnd', - 'MozTransition' :'transitionend', - 'WebkitTransition' :'webkitTransitionEnd' - }, - transition - ; - for(transition in transitions){ - if( element.style[transition] !== undefined ){ - return transitions[transition]; - } - } - } - }, - - is: { - - ie: function() { - var - isIE11 = (!(window.ActiveXObject) && 'ActiveXObject' in window), - isIE = ('ActiveXObject' in window) - ; - return (isIE11 || isIE); - }, - - ios: function() { - var - userAgent = navigator.userAgent, - isIOS = userAgent.match(regExp.ios), - isMobileChrome = userAgent.match(regExp.mobileChrome) - ; - if(isIOS && !isMobileChrome) { - module.verbose('Browser was found to be iOS', userAgent); - return true; - } - else { - return false; - } - }, - mobile: function() { - var - userAgent = navigator.userAgent, - isMobile = userAgent.match(regExp.mobile) - ; - if(isMobile) { - module.verbose('Browser was found to be mobile', userAgent); - return true; - } - else { - module.verbose('Browser is not mobile, using regular transition', userAgent); - return false; - } - }, - hidden: function() { - return !module.is.visible(); - }, - visible: function() { - return $module.hasClass(className.visible); - }, - // alias - open: function() { - return module.is.visible(); - }, - closed: function() { - return module.is.hidden(); - }, - vertical: function() { - return $module.hasClass(className.top); - }, - animating: function() { - return $context.hasClass(className.animating); - }, - rtl: function () { - if(module.cache.rtl === undefined) { - module.cache.rtl = $module.attr('dir') === 'rtl' || $module.css('direction') === 'rtl'; - } - return module.cache.rtl; - } - }, - - setting: function(name, value) { - module.debug('Changing setting', name, value); - if( $.isPlainObject(name) ) { - $.extend(true, settings, name); - } - else if(value !== undefined) { - if($.isPlainObject(settings[name])) { - $.extend(true, settings[name], value); - } - else { - settings[name] = value; - } - } - else { - return settings[name]; - } - }, - internal: function(name, value) { - if( $.isPlainObject(name) ) { - $.extend(true, module, name); - } - else if(value !== undefined) { - module[name] = value; - } - else { - return module[name]; - } - }, - debug: function() { - if(!settings.silent && settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.debug.apply(console, arguments); - } - } - }, - verbose: function() { - if(!settings.silent && settings.verbose && settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.verbose.apply(console, arguments); - } - } - }, - error: function() { - if(!settings.silent) { - module.error = Function.prototype.bind.call(console.error, console, settings.name + ':'); - module.error.apply(console, arguments); - } - }, - performance: { - log: function(message) { - var - currentTime, - executionTime, - previousTime - ; - if(settings.performance) { - currentTime = new Date().getTime(); - previousTime = time || currentTime; - executionTime = currentTime - previousTime; - time = currentTime; - performance.push({ - 'Name' : message[0], - 'Arguments' : [].slice.call(message, 1) || '', - 'Element' : element, - 'Execution Time' : executionTime - }); - } - clearTimeout(module.performance.timer); - module.performance.timer = setTimeout(module.performance.display, 500); - }, - display: function() { - var - title = settings.name + ':', - totalTime = 0 - ; - time = false; - clearTimeout(module.performance.timer); - $.each(performance, function(index, data) { - totalTime += data['Execution Time']; - }); - title += ' ' + totalTime + 'ms'; - if(moduleSelector) { - title += ' \'' + moduleSelector + '\''; - } - if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) { - console.groupCollapsed(title); - if(console.table) { - console.table(performance); - } - else { - $.each(performance, function(index, data) { - console.log(data['Name'] + ': ' + data['Execution Time']+'ms'); - }); - } - console.groupEnd(); - } - performance = []; - } - }, - invoke: function(query, passedArguments, context) { - var - object = instance, - maxDepth, - found, - response - ; - passedArguments = passedArguments || queryArguments; - context = element || context; - if(typeof query == 'string' && object !== undefined) { - query = query.split(/[\. ]/); - maxDepth = query.length - 1; - $.each(query, function(depth, value) { - var camelCaseValue = (depth != maxDepth) - ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1) - : query - ; - if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) { - object = object[camelCaseValue]; - } - else if( object[camelCaseValue] !== undefined ) { - found = object[camelCaseValue]; - return false; - } - else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) { - object = object[value]; - } - else if( object[value] !== undefined ) { - found = object[value]; - return false; - } - else { - module.error(error.method, query); - return false; - } - }); - } - if ( $.isFunction( found ) ) { - response = found.apply(context, passedArguments); - } - else if(found !== undefined) { - response = found; - } - if(Array.isArray(returnedValue)) { - returnedValue.push(response); - } - else if(returnedValue !== undefined) { - returnedValue = [returnedValue, response]; - } - else if(response !== undefined) { - returnedValue = response; - } - return found; - } - } - ; - - if(methodInvoked) { - if(instance === undefined) { - module.initialize(); - } - module.invoke(query); - } - else { - if(instance !== undefined) { - module.invoke('destroy'); - } - module.initialize(); - } - }); - - return (returnedValue !== undefined) - ? returnedValue - : this - ; -}; - -$.fn.sidebar.settings = { - - name : 'Sidebar', - namespace : 'sidebar', - - silent : false, - debug : false, - verbose : false, - performance : true, - - transition : 'auto', - mobileTransition : 'auto', - - defaultTransition : { - computer: { - left : 'uncover', - right : 'uncover', - top : 'overlay', - bottom : 'overlay' - }, - mobile: { - left : 'uncover', - right : 'uncover', - top : 'overlay', - bottom : 'overlay' - } - }, - - context : 'body', - exclusive : false, - closable : true, - dimPage : true, - scrollLock : false, - returnScroll : false, - delaySetup : false, - - duration : 500, - - onChange : function(){}, - onShow : function(){}, - onHide : function(){}, - - onHidden : function(){}, - onVisible : function(){}, - - className : { - active : 'active', - animating : 'animating', - dimmed : 'dimmed', - ios : 'ios', - pushable : 'pushable', - pushed : 'pushed', - right : 'right', - top : 'top', - left : 'left', - bottom : 'bottom', - visible : 'visible' - }, - - selector: { - fixed : '.fixed', - omitted : 'script, link, style, .ui.modal, .ui.dimmer, .ui.nag, .ui.fixed', - pusher : '.pusher', - sidebar : '.ui.sidebar' - }, - - regExp: { - ios : /(iPad|iPhone|iPod)/g, - mobileChrome : /(CriOS)/g, - mobile : /Mobile|iP(hone|od|ad)|Android|BlackBerry|IEMobile|Kindle|NetFront|Silk-Accelerated|(hpw|web)OS|Fennec|Minimo|Opera M(obi|ini)|Blazer|Dolfin|Dolphin|Skyfire|Zune/g - }, - - error : { - method : 'The method you called is not defined.', - pusher : 'Had to add pusher element. For optimal performance make sure body content is inside a pusher element', - movedSidebar : 'Had to move sidebar. For optimal performance make sure sidebar and pusher are direct children of your body tag', - overlay : 'The overlay setting is no longer supported, use animation: overlay', - notFound : 'There were no elements that matched the specified selector' - } - -}; - - })( jQuery, window, document ); /*! diff --git a/web_src/fomantic/semantic.json b/web_src/fomantic/semantic.json index fa1d6c029f..a6c7eb1b27 100644 --- a/web_src/fomantic/semantic.json +++ b/web_src/fomantic/semantic.json @@ -49,7 +49,6 @@ "reset", "search", "segment", - "sidebar", "site", "tab", "table",