diff --git a/app/static/semantic/components/accordion.css b/app/static/semantic/components/accordion.css deleted file mode 100755 index e9b104d..0000000 --- a/app/static/semantic/components/accordion.css +++ /dev/null @@ -1,253 +0,0 @@ -/*! - * # Semantic UI 2.4.1 - Accordion - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - - -/******************************* - Accordion -*******************************/ - -.ui.accordion, -.ui.accordion .accordion { - max-width: 100%; -} -.ui.accordion .accordion { - margin: 1em 0em 0em; - padding: 0em; -} - -/* Title */ -.ui.accordion .title, -.ui.accordion .accordion .title { - cursor: pointer; -} - -/* Default Styling */ -.ui.accordion .title:not(.ui) { - padding: 0.5em 0em; - font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif; - font-size: 1em; - color: rgba(0, 0, 0, 0.87); -} - -/* Content */ -.ui.accordion .title ~ .content, -.ui.accordion .accordion .title ~ .content { - display: none; -} - -/* Default Styling */ -.ui.accordion:not(.styled) .title ~ .content:not(.ui), -.ui.accordion:not(.styled) .accordion .title ~ .content:not(.ui) { - margin: ''; - padding: 0.5em 0em 1em; -} -.ui.accordion:not(.styled) .title ~ .content:not(.ui):last-child { - padding-bottom: 0em; -} - -/* Arrow */ -.ui.accordion .title .dropdown.icon, -.ui.accordion .accordion .title .dropdown.icon { - display: inline-block; - float: none; - opacity: 1; - width: 1.25em; - height: 1em; - margin: 0em 0.25rem 0em 0rem; - padding: 0em; - font-size: 1em; - -webkit-transition: opacity 0.1s ease, -webkit-transform 0.1s ease; - transition: opacity 0.1s ease, -webkit-transform 0.1s ease; - transition: transform 0.1s ease, opacity 0.1s ease; - transition: transform 0.1s ease, opacity 0.1s ease, -webkit-transform 0.1s ease; - vertical-align: baseline; - -webkit-transform: none; - transform: none; -} - -/*-------------- - Coupling ----------------*/ - - -/* Menu */ -.ui.accordion.menu .item .title { - display: block; - padding: 0em; -} -.ui.accordion.menu .item .title > .dropdown.icon { - float: right; - margin: 0.21425em 0em 0em 1em; - -webkit-transform: rotate(180deg); - transform: rotate(180deg); -} - -/* Header */ -.ui.accordion .ui.header .dropdown.icon { - font-size: 1em; - margin: 0em 0.25rem 0em 0rem; -} - - -/******************************* - States -*******************************/ - -.ui.accordion .active.title .dropdown.icon, -.ui.accordion .accordion .active.title .dropdown.icon { - -webkit-transform: rotate(90deg); - transform: rotate(90deg); -} -.ui.accordion.menu .item .active.title > .dropdown.icon { - -webkit-transform: rotate(90deg); - transform: rotate(90deg); -} - - -/******************************* - Types -*******************************/ - - -/*-------------- - Styled ----------------*/ - -.ui.styled.accordion { - width: 600px; -} -.ui.styled.accordion, -.ui.styled.accordion .accordion { - border-radius: 0.28571429rem; - background: #FFFFFF; - -webkit-box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15), 0px 0px 0px 1px rgba(34, 36, 38, 0.15); - box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15), 0px 0px 0px 1px rgba(34, 36, 38, 0.15); -} -.ui.styled.accordion .title, -.ui.styled.accordion .accordion .title { - margin: 0em; - padding: 0.75em 1em; - color: rgba(0, 0, 0, 0.4); - font-weight: bold; - border-top: 1px solid rgba(34, 36, 38, 0.15); - -webkit-transition: background 0.1s ease, color 0.1s ease; - transition: background 0.1s ease, color 0.1s ease; -} -.ui.styled.accordion > .title:first-child, -.ui.styled.accordion .accordion .title:first-child { - border-top: none; -} - -/* Content */ -.ui.styled.accordion .content, -.ui.styled.accordion .accordion .content { - margin: 0em; - padding: 0.5em 1em 1.5em; -} -.ui.styled.accordion .accordion .content { - padding: 0em; - padding: 0.5em 1em 1.5em; -} - -/* Hover */ -.ui.styled.accordion .title:hover, -.ui.styled.accordion .active.title, -.ui.styled.accordion .accordion .title:hover, -.ui.styled.accordion .accordion .active.title { - background: transparent; - color: rgba(0, 0, 0, 0.87); -} -.ui.styled.accordion .accordion .title:hover, -.ui.styled.accordion .accordion .active.title { - background: transparent; - color: rgba(0, 0, 0, 0.87); -} - -/* Active */ -.ui.styled.accordion .active.title { - background: transparent; - color: rgba(0, 0, 0, 0.95); -} -.ui.styled.accordion .accordion .active.title { - background: transparent; - color: rgba(0, 0, 0, 0.95); -} - - -/******************************* - States -*******************************/ - - -/*-------------- - Active ----------------*/ - -.ui.accordion .active.content, -.ui.accordion .accordion .active.content { - display: block; -} - - -/******************************* - Variations -*******************************/ - - -/*-------------- - Fluid ----------------*/ - -.ui.fluid.accordion, -.ui.fluid.accordion .accordion { - width: 100%; -} - -/*-------------- - Inverted ----------------*/ - -.ui.inverted.accordion .title:not(.ui) { - color: rgba(255, 255, 255, 0.9); -} - - -/******************************* - Theme Overrides -*******************************/ - -@font-face { - font-family: 'Accordion'; - src: url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMggjB5AAAAC8AAAAYGNtYXAPfOIKAAABHAAAAExnYXNwAAAAEAAAAWgAAAAIZ2x5Zryj6HgAAAFwAAAAyGhlYWT/0IhHAAACOAAAADZoaGVhApkB5wAAAnAAAAAkaG10eAJuABIAAAKUAAAAGGxvY2EAjABWAAACrAAAAA5tYXhwAAgAFgAAArwAAAAgbmFtZfC1n04AAALcAAABPHBvc3QAAwAAAAAEGAAAACAAAwIAAZAABQAAAUwBZgAAAEcBTAFmAAAA9QAZAIQAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADw2gHg/+D/4AHgACAAAAABAAAAAAAAAAAAAAAgAAAAAAACAAAAAwAAABQAAwABAAAAFAAEADgAAAAKAAgAAgACAAEAIPDa//3//wAAAAAAIPDZ//3//wAB/+MPKwADAAEAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQASAEkAtwFuABMAADc0PwE2FzYXFh0BFAcGJwYvASY1EgaABQgHBQYGBQcIBYAG2wcGfwcBAQcECf8IBAcBAQd/BgYAAAAAAQAAAEkApQFuABMAADcRNDc2MzIfARYVFA8BBiMiJyY1AAUGBwgFgAYGgAUIBwYFWwEACAUGBoAFCAcFgAYGBQcAAAABAAAAAQAAqWYls18PPPUACwIAAAAAAM/9o+4AAAAAz/2j7gAAAAAAtwFuAAAACAACAAAAAAAAAAEAAAHg/+AAAAIAAAAAAAC3AAEAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAQAAAAC3ABIAtwAAAAAAAAAKABQAHgBCAGQAAAABAAAABgAUAAEAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAADgCuAAEAAAAAAAEADAAAAAEAAAAAAAIADgBAAAEAAAAAAAMADAAiAAEAAAAAAAQADABOAAEAAAAAAAUAFgAMAAEAAAAAAAYABgAuAAEAAAAAAAoANABaAAMAAQQJAAEADAAAAAMAAQQJAAIADgBAAAMAAQQJAAMADAAiAAMAAQQJAAQADABOAAMAAQQJAAUAFgAMAAMAAQQJAAYADAA0AAMAAQQJAAoANABaAHIAYQB0AGkAbgBnAFYAZQByAHMAaQBvAG4AIAAxAC4AMAByAGEAdABpAG4AZ3JhdGluZwByAGEAdABpAG4AZwBSAGUAZwB1AGwAYQByAHIAYQB0AGkAbgBnAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA) format('truetype'), url(data:application/font-woff;charset=utf-8;base64,d09GRk9UVE8AAASwAAoAAAAABGgAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABDRkYgAAAA9AAAAS0AAAEtFpovuE9TLzIAAAIkAAAAYAAAAGAIIweQY21hcAAAAoQAAABMAAAATA984gpnYXNwAAAC0AAAAAgAAAAIAAAAEGhlYWQAAALYAAAANgAAADb/0IhHaGhlYQAAAxAAAAAkAAAAJAKZAedobXR4AAADNAAAABgAAAAYAm4AEm1heHAAAANMAAAABgAAAAYABlAAbmFtZQAAA1QAAAE8AAABPPC1n05wb3N0AAAEkAAAACAAAAAgAAMAAAEABAQAAQEBB3JhdGluZwABAgABADr4HAL4GwP4GAQeCgAZU/+Lix4KABlT/4uLDAeLa/iU+HQFHQAAAHkPHQAAAH4RHQAAAAkdAAABJBIABwEBBw0PERQZHnJhdGluZ3JhdGluZ3UwdTF1MjB1RjBEOXVGMERBAAACAYkABAAGAQEEBwoNVp38lA78lA78lA77lA773Z33bxWLkI2Qj44I9xT3FAWOj5CNkIuQi4+JjoePiI2Gi4YIi/uUBYuGiYeHiIiHh4mGi4aLho2Ijwj7FPcUBYeOiY+LkAgO+92L5hWL95QFi5CNkI6Oj4+PjZCLkIuQiY6HCPcU+xQFj4iNhouGi4aJh4eICPsU+xQFiIeGiYaLhouHjYePiI6Jj4uQCA74lBT4lBWLDAoAAAAAAwIAAZAABQAAAUwBZgAAAEcBTAFmAAAA9QAZAIQAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADw2gHg/+D/4AHgACAAAAABAAAAAAAAAAAAAAAgAAAAAAACAAAAAwAAABQAAwABAAAAFAAEADgAAAAKAAgAAgACAAEAIPDa//3//wAAAAAAIPDZ//3//wAB/+MPKwADAAEAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAEAADfYOJZfDzz1AAsCAAAAAADP/aPuAAAAAM/9o+4AAAAAALcBbgAAAAgAAgAAAAAAAAABAAAB4P/gAAACAAAAAAAAtwABAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAEAAAAAtwASALcAAAAAUAAABgAAAAAADgCuAAEAAAAAAAEADAAAAAEAAAAAAAIADgBAAAEAAAAAAAMADAAiAAEAAAAAAAQADABOAAEAAAAAAAUAFgAMAAEAAAAAAAYABgAuAAEAAAAAAAoANABaAAMAAQQJAAEADAAAAAMAAQQJAAIADgBAAAMAAQQJAAMADAAiAAMAAQQJAAQADABOAAMAAQQJAAUAFgAMAAMAAQQJAAYADAA0AAMAAQQJAAoANABaAHIAYQB0AGkAbgBnAFYAZQByAHMAaQBvAG4AIAAxAC4AMAByAGEAdABpAG4AZ3JhdGluZwByAGEAdABpAG4AZwBSAGUAZwB1AGwAYQByAHIAYQB0AGkAbgBnAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA) format('woff'); - font-weight: normal; - font-style: normal; -} - -/* Dropdown Icon */ -.ui.accordion .title .dropdown.icon, -.ui.accordion .accordion .title .dropdown.icon { - font-family: Accordion; - line-height: 1; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - font-weight: normal; - font-style: normal; - text-align: center; -} -.ui.accordion .title .dropdown.icon:before, -.ui.accordion .accordion .title .dropdown.icon:before { - content: '\f0da' /*rtl:'\f0d9'*/; -} - - -/******************************* - User Overrides -*******************************/ - diff --git a/app/static/semantic/components/accordion.js b/app/static/semantic/components/accordion.js deleted file mode 100755 index 94e8830..0000000 --- a/app/static/semantic/components/accordion.js +++ /dev/null @@ -1,613 +0,0 @@ -/*! - * # Semantic UI 2.4.1 - Accordion - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -;(function ($, window, document, undefined) { - -'use strict'; - -window = (typeof window != 'undefined' && window.Math == Math) - ? window - : (typeof self != 'undefined' && self.Math == Math) - ? self - : Function('return this')() -; - -$.fn.accordion = function(parameters) { - var - $allModules = $(this), - - 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.accordion.settings, parameters) - : $.extend({}, $.fn.accordion.settings), - - className = settings.className, - namespace = settings.namespace, - selector = settings.selector, - error = settings.error, - - eventNamespace = '.' + namespace, - moduleNamespace = 'module-' + namespace, - moduleSelector = $allModules.selector || '', - - $module = $(this), - $title = $module.find(selector.title), - $content = $module.find(selector.content), - - element = this, - instance = $module.data(moduleNamespace), - observer, - module - ; - - module = { - - initialize: function() { - module.debug('Initializing', $module); - module.bind.events(); - if(settings.observeChanges) { - module.observeChanges(); - } - module.instantiate(); - }, - - instantiate: function() { - instance = module; - $module - .data(moduleNamespace, module) - ; - }, - - destroy: function() { - module.debug('Destroying previous instance', $module); - $module - .off(eventNamespace) - .removeData(moduleNamespace) - ; - }, - - refresh: function() { - $title = $module.find(selector.title); - $content = $module.find(selector.content); - }, - - observeChanges: function() { - if('MutationObserver' in window) { - observer = new MutationObserver(function(mutations) { - module.debug('DOM tree modified, updating selector cache'); - module.refresh(); - }); - observer.observe(element, { - childList : true, - subtree : true - }); - module.debug('Setting up mutation observer', observer); - } - }, - - bind: { - events: function() { - module.debug('Binding delegated events'); - $module - .on(settings.on + eventNamespace, selector.trigger, module.event.click) - ; - } - }, - - event: { - click: function() { - module.toggle.call(this); - } - }, - - toggle: function(query) { - var - $activeTitle = (query !== undefined) - ? (typeof query === 'number') - ? $title.eq(query) - : $(query).closest(selector.title) - : $(this).closest(selector.title), - $activeContent = $activeTitle.next($content), - isAnimating = $activeContent.hasClass(className.animating), - isActive = $activeContent.hasClass(className.active), - isOpen = (isActive && !isAnimating), - isOpening = (!isActive && isAnimating) - ; - module.debug('Toggling visibility of content', $activeTitle); - if(isOpen || isOpening) { - if(settings.collapsible) { - module.close.call($activeTitle); - } - else { - module.debug('Cannot close accordion content collapsing is disabled'); - } - } - else { - module.open.call($activeTitle); - } - }, - - open: function(query) { - var - $activeTitle = (query !== undefined) - ? (typeof query === 'number') - ? $title.eq(query) - : $(query).closest(selector.title) - : $(this).closest(selector.title), - $activeContent = $activeTitle.next($content), - isAnimating = $activeContent.hasClass(className.animating), - isActive = $activeContent.hasClass(className.active), - isOpen = (isActive || isAnimating) - ; - if(isOpen) { - module.debug('Accordion already open, skipping', $activeContent); - return; - } - module.debug('Opening accordion content', $activeTitle); - settings.onOpening.call($activeContent); - settings.onChanging.call($activeContent); - if(settings.exclusive) { - module.closeOthers.call($activeTitle); - } - $activeTitle - .addClass(className.active) - ; - $activeContent - .stop(true, true) - .addClass(className.animating) - ; - if(settings.animateChildren) { - if($.fn.transition !== undefined && $module.transition('is supported')) { - $activeContent - .children() - .transition({ - animation : 'fade in', - queue : false, - useFailSafe : true, - debug : settings.debug, - verbose : settings.verbose, - duration : settings.duration - }) - ; - } - else { - $activeContent - .children() - .stop(true, true) - .animate({ - opacity: 1 - }, settings.duration, module.resetOpacity) - ; - } - } - $activeContent - .slideDown(settings.duration, settings.easing, function() { - $activeContent - .removeClass(className.animating) - .addClass(className.active) - ; - module.reset.display.call(this); - settings.onOpen.call(this); - settings.onChange.call(this); - }) - ; - }, - - close: function(query) { - var - $activeTitle = (query !== undefined) - ? (typeof query === 'number') - ? $title.eq(query) - : $(query).closest(selector.title) - : $(this).closest(selector.title), - $activeContent = $activeTitle.next($content), - isAnimating = $activeContent.hasClass(className.animating), - isActive = $activeContent.hasClass(className.active), - isOpening = (!isActive && isAnimating), - isClosing = (isActive && isAnimating) - ; - if((isActive || isOpening) && !isClosing) { - module.debug('Closing accordion content', $activeContent); - settings.onClosing.call($activeContent); - settings.onChanging.call($activeContent); - $activeTitle - .removeClass(className.active) - ; - $activeContent - .stop(true, true) - .addClass(className.animating) - ; - if(settings.animateChildren) { - if($.fn.transition !== undefined && $module.transition('is supported')) { - $activeContent - .children() - .transition({ - animation : 'fade out', - queue : false, - useFailSafe : true, - debug : settings.debug, - verbose : settings.verbose, - duration : settings.duration - }) - ; - } - else { - $activeContent - .children() - .stop(true, true) - .animate({ - opacity: 0 - }, settings.duration, module.resetOpacity) - ; - } - } - $activeContent - .slideUp(settings.duration, settings.easing, function() { - $activeContent - .removeClass(className.animating) - .removeClass(className.active) - ; - module.reset.display.call(this); - settings.onClose.call(this); - settings.onChange.call(this); - }) - ; - } - }, - - closeOthers: function(index) { - var - $activeTitle = (index !== undefined) - ? $title.eq(index) - : $(this).closest(selector.title), - $parentTitles = $activeTitle.parents(selector.content).prev(selector.title), - $activeAccordion = $activeTitle.closest(selector.accordion), - activeSelector = selector.title + '.' + className.active + ':visible', - activeContent = selector.content + '.' + className.active + ':visible', - $openTitles, - $nestedTitles, - $openContents - ; - if(settings.closeNested) { - $openTitles = $activeAccordion.find(activeSelector).not($parentTitles); - $openContents = $openTitles.next($content); - } - else { - $openTitles = $activeAccordion.find(activeSelector).not($parentTitles); - $nestedTitles = $activeAccordion.find(activeContent).find(activeSelector).not($parentTitles); - $openTitles = $openTitles.not($nestedTitles); - $openContents = $openTitles.next($content); - } - if( ($openTitles.length > 0) ) { - module.debug('Exclusive enabled, closing other content', $openTitles); - $openTitles - .removeClass(className.active) - ; - $openContents - .removeClass(className.animating) - .stop(true, true) - ; - if(settings.animateChildren) { - if($.fn.transition !== undefined && $module.transition('is supported')) { - $openContents - .children() - .transition({ - animation : 'fade out', - useFailSafe : true, - debug : settings.debug, - verbose : settings.verbose, - duration : settings.duration - }) - ; - } - else { - $openContents - .children() - .stop(true, true) - .animate({ - opacity: 0 - }, settings.duration, module.resetOpacity) - ; - } - } - $openContents - .slideUp(settings.duration , settings.easing, function() { - $(this).removeClass(className.active); - module.reset.display.call(this); - }) - ; - } - }, - - reset: { - - display: function() { - module.verbose('Removing inline display from element', this); - $(this).css('display', ''); - if( $(this).attr('style') === '') { - $(this) - .attr('style', '') - .removeAttr('style') - ; - } - }, - - opacity: function() { - module.verbose('Removing inline opacity from element', this); - $(this).css('opacity', ''); - if( $(this).attr('style') === '') { - $(this) - .attr('style', '') - .removeAttr('style') - ; - } - }, - - }, - - 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) { - module.debug('Changing internal', name, value); - if(value !== undefined) { - if( $.isPlainObject(name) ) { - $.extend(true, module, name); - } - else { - 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($.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) { - instance.invoke('destroy'); - } - module.initialize(); - } - }) - ; - return (returnedValue !== undefined) - ? returnedValue - : this - ; -}; - -$.fn.accordion.settings = { - - name : 'Accordion', - namespace : 'accordion', - - silent : false, - debug : false, - verbose : false, - performance : true, - - on : 'click', // event on title that opens accordion - - observeChanges : true, // whether accordion should automatically refresh on DOM insertion - - exclusive : true, // whether a single accordion content panel should be open at once - collapsible : true, // whether accordion content can be closed - closeNested : false, // whether nested content should be closed when a panel is closed - animateChildren : true, // whether children opacity should be animated - - duration : 350, // duration of animation - easing : 'easeOutQuad', // easing equation for animation - - onOpening : function(){}, // callback before open animation - onClosing : function(){}, // callback before closing animation - onChanging : function(){}, // callback before closing or opening animation - - onOpen : function(){}, // callback after open animation - onClose : function(){}, // callback after closing animation - onChange : function(){}, // callback after closing or opening animation - - error: { - method : 'The method you called is not defined' - }, - - className : { - active : 'active', - animating : 'animating' - }, - - selector : { - accordion : '.accordion', - title : '.title', - trigger : '.title', - content : '.content' - } - -}; - -// Adds easing -$.extend( $.easing, { - easeOutQuad: function (x, t, b, c, d) { - return -c *(t/=d)*(t-2) + b; - } -}); - -})( jQuery, window, document ); - diff --git a/app/static/semantic/components/accordion.min.css b/app/static/semantic/components/accordion.min.css deleted file mode 100755 index 80a8e46..0000000 --- a/app/static/semantic/components/accordion.min.css +++ /dev/null @@ -1,9 +0,0 @@ -/*! - * # Semantic UI 2.4.1 - Accordion - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */.ui.accordion,.ui.accordion .accordion{max-width:100%}.ui.accordion .accordion{margin:1em 0 0;padding:0}.ui.accordion .accordion .title,.ui.accordion .title{cursor:pointer}.ui.accordion .title:not(.ui){padding:.5em 0;font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;font-size:1em;color:rgba(0,0,0,.87)}.ui.accordion .accordion .title~.content,.ui.accordion .title~.content{display:none}.ui.accordion:not(.styled) .accordion .title~.content:not(.ui),.ui.accordion:not(.styled) .title~.content:not(.ui){margin:'';padding:.5em 0 1em}.ui.accordion:not(.styled) .title~.content:not(.ui):last-child{padding-bottom:0}.ui.accordion .accordion .title .dropdown.icon,.ui.accordion .title .dropdown.icon{display:inline-block;float:none;opacity:1;width:1.25em;height:1em;margin:0 .25rem 0 0;padding:0;font-size:1em;-webkit-transition:opacity .1s ease,-webkit-transform .1s ease;transition:opacity .1s ease,-webkit-transform .1s ease;transition:transform .1s ease,opacity .1s ease;transition:transform .1s ease,opacity .1s ease,-webkit-transform .1s ease;vertical-align:baseline;-webkit-transform:none;transform:none}.ui.accordion.menu .item .title{display:block;padding:0}.ui.accordion.menu .item .title>.dropdown.icon{float:right;margin:.21425em 0 0 1em;-webkit-transform:rotate(180deg);transform:rotate(180deg)}.ui.accordion .ui.header .dropdown.icon{font-size:1em;margin:0 .25rem 0 0}.ui.accordion .accordion .active.title .dropdown.icon,.ui.accordion .active.title .dropdown.icon{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.ui.accordion.menu .item .active.title>.dropdown.icon{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.ui.styled.accordion{width:600px}.ui.styled.accordion,.ui.styled.accordion .accordion{border-radius:.28571429rem;background:#fff;-webkit-box-shadow:0 1px 2px 0 rgba(34,36,38,.15),0 0 0 1px rgba(34,36,38,.15);box-shadow:0 1px 2px 0 rgba(34,36,38,.15),0 0 0 1px rgba(34,36,38,.15)}.ui.styled.accordion .accordion .title,.ui.styled.accordion .title{margin:0;padding:.75em 1em;color:rgba(0,0,0,.4);font-weight:700;border-top:1px solid rgba(34,36,38,.15);-webkit-transition:background .1s ease,color .1s ease;transition:background .1s ease,color .1s ease}.ui.styled.accordion .accordion .title:first-child,.ui.styled.accordion>.title:first-child{border-top:none}.ui.styled.accordion .accordion .content,.ui.styled.accordion .content{margin:0;padding:.5em 1em 1.5em}.ui.styled.accordion .accordion .content{padding:0;padding:.5em 1em 1.5em}.ui.styled.accordion .accordion .active.title,.ui.styled.accordion .accordion .title:hover,.ui.styled.accordion .active.title,.ui.styled.accordion .title:hover{background:0 0;color:rgba(0,0,0,.87)}.ui.styled.accordion .accordion .active.title,.ui.styled.accordion .accordion .title:hover{background:0 0;color:rgba(0,0,0,.87)}.ui.styled.accordion .active.title{background:0 0;color:rgba(0,0,0,.95)}.ui.styled.accordion .accordion .active.title{background:0 0;color:rgba(0,0,0,.95)}.ui.accordion .accordion .active.content,.ui.accordion .active.content{display:block}.ui.fluid.accordion,.ui.fluid.accordion .accordion{width:100%}.ui.inverted.accordion .title:not(.ui){color:rgba(255,255,255,.9)}@font-face{font-family:Accordion;src:url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMggjB5AAAAC8AAAAYGNtYXAPfOIKAAABHAAAAExnYXNwAAAAEAAAAWgAAAAIZ2x5Zryj6HgAAAFwAAAAyGhlYWT/0IhHAAACOAAAADZoaGVhApkB5wAAAnAAAAAkaG10eAJuABIAAAKUAAAAGGxvY2EAjABWAAACrAAAAA5tYXhwAAgAFgAAArwAAAAgbmFtZfC1n04AAALcAAABPHBvc3QAAwAAAAAEGAAAACAAAwIAAZAABQAAAUwBZgAAAEcBTAFmAAAA9QAZAIQAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADw2gHg/+D/4AHgACAAAAABAAAAAAAAAAAAAAAgAAAAAAACAAAAAwAAABQAAwABAAAAFAAEADgAAAAKAAgAAgACAAEAIPDa//3//wAAAAAAIPDZ//3//wAB/+MPKwADAAEAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQASAEkAtwFuABMAADc0PwE2FzYXFh0BFAcGJwYvASY1EgaABQgHBQYGBQcIBYAG2wcGfwcBAQcECf8IBAcBAQd/BgYAAAAAAQAAAEkApQFuABMAADcRNDc2MzIfARYVFA8BBiMiJyY1AAUGBwgFgAYGgAUIBwYFWwEACAUGBoAFCAcFgAYGBQcAAAABAAAAAQAAqWYls18PPPUACwIAAAAAAM/9o+4AAAAAz/2j7gAAAAAAtwFuAAAACAACAAAAAAAAAAEAAAHg/+AAAAIAAAAAAAC3AAEAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAQAAAAC3ABIAtwAAAAAAAAAKABQAHgBCAGQAAAABAAAABgAUAAEAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAADgCuAAEAAAAAAAEADAAAAAEAAAAAAAIADgBAAAEAAAAAAAMADAAiAAEAAAAAAAQADABOAAEAAAAAAAUAFgAMAAEAAAAAAAYABgAuAAEAAAAAAAoANABaAAMAAQQJAAEADAAAAAMAAQQJAAIADgBAAAMAAQQJAAMADAAiAAMAAQQJAAQADABOAAMAAQQJAAUAFgAMAAMAAQQJAAYADAA0AAMAAQQJAAoANABaAHIAYQB0AGkAbgBnAFYAZQByAHMAaQBvAG4AIAAxAC4AMAByAGEAdABpAG4AZ3JhdGluZwByAGEAdABpAG4AZwBSAGUAZwB1AGwAYQByAHIAYQB0AGkAbgBnAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA) format('truetype'),url(data:application/font-woff;charset=utf-8;base64,d09GRk9UVE8AAASwAAoAAAAABGgAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABDRkYgAAAA9AAAAS0AAAEtFpovuE9TLzIAAAIkAAAAYAAAAGAIIweQY21hcAAAAoQAAABMAAAATA984gpnYXNwAAAC0AAAAAgAAAAIAAAAEGhlYWQAAALYAAAANgAAADb/0IhHaGhlYQAAAxAAAAAkAAAAJAKZAedobXR4AAADNAAAABgAAAAYAm4AEm1heHAAAANMAAAABgAAAAYABlAAbmFtZQAAA1QAAAE8AAABPPC1n05wb3N0AAAEkAAAACAAAAAgAAMAAAEABAQAAQEBB3JhdGluZwABAgABADr4HAL4GwP4GAQeCgAZU/+Lix4KABlT/4uLDAeLa/iU+HQFHQAAAHkPHQAAAH4RHQAAAAkdAAABJBIABwEBBw0PERQZHnJhdGluZ3JhdGluZ3UwdTF1MjB1RjBEOXVGMERBAAACAYkABAAGAQEEBwoNVp38lA78lA78lA77lA773Z33bxWLkI2Qj44I9xT3FAWOj5CNkIuQi4+JjoePiI2Gi4YIi/uUBYuGiYeHiIiHh4mGi4aLho2Ijwj7FPcUBYeOiY+LkAgO+92L5hWL95QFi5CNkI6Oj4+PjZCLkIuQiY6HCPcU+xQFj4iNhouGi4aJh4eICPsU+xQFiIeGiYaLhouHjYePiI6Jj4uQCA74lBT4lBWLDAoAAAAAAwIAAZAABQAAAUwBZgAAAEcBTAFmAAAA9QAZAIQAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADw2gHg/+D/4AHgACAAAAABAAAAAAAAAAAAAAAgAAAAAAACAAAAAwAAABQAAwABAAAAFAAEADgAAAAKAAgAAgACAAEAIPDa//3//wAAAAAAIPDZ//3//wAB/+MPKwADAAEAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAEAADfYOJZfDzz1AAsCAAAAAADP/aPuAAAAAM/9o+4AAAAAALcBbgAAAAgAAgAAAAAAAAABAAAB4P/gAAACAAAAAAAAtwABAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAEAAAAAtwASALcAAAAAUAAABgAAAAAADgCuAAEAAAAAAAEADAAAAAEAAAAAAAIADgBAAAEAAAAAAAMADAAiAAEAAAAAAAQADABOAAEAAAAAAAUAFgAMAAEAAAAAAAYABgAuAAEAAAAAAAoANABaAAMAAQQJAAEADAAAAAMAAQQJAAIADgBAAAMAAQQJAAMADAAiAAMAAQQJAAQADABOAAMAAQQJAAUAFgAMAAMAAQQJAAYADAA0AAMAAQQJAAoANABaAHIAYQB0AGkAbgBnAFYAZQByAHMAaQBvAG4AIAAxAC4AMAByAGEAdABpAG4AZ3JhdGluZwByAGEAdABpAG4AZwBSAGUAZwB1AGwAYQByAHIAYQB0AGkAbgBnAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA) format('woff');font-weight:400;font-style:normal}.ui.accordion .accordion .title .dropdown.icon,.ui.accordion .title .dropdown.icon{font-family:Accordion;line-height:1;-webkit-backface-visibility:hidden;backface-visibility:hidden;font-weight:400;font-style:normal;text-align:center}.ui.accordion .accordion .title .dropdown.icon:before,.ui.accordion .title .dropdown.icon:before{content:'\f0da'} \ No newline at end of file diff --git a/app/static/semantic/components/accordion.min.js b/app/static/semantic/components/accordion.min.js deleted file mode 100755 index 1dd73b8..0000000 --- a/app/static/semantic/components/accordion.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(F,A,e,q){"use strict";A=void 0!==A&&A.Math==Math?A:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")(),F.fn.accordion=function(a){var v,s=F(this),b=(new Date).getTime(),y=[],C=a,O="string"==typeof C,x=[].slice.call(arguments,1);A.requestAnimationFrame||A.mozRequestAnimationFrame||A.webkitRequestAnimationFrame||A.msRequestAnimationFrame;return s.each(function(){var e,c,u=F.isPlainObject(a)?F.extend(!0,{},F.fn.accordion.settings,a):F.extend({},F.fn.accordion.settings),d=u.className,n=u.namespace,g=u.selector,l=u.error,t="."+n,i="module-"+n,o=s.selector||"",f=F(this),m=f.find(g.title),p=f.find(g.content),r=this,h=f.data(i);c={initialize:function(){c.debug("Initializing",f),c.bind.events(),u.observeChanges&&c.observeChanges(),c.instantiate()},instantiate:function(){h=c,f.data(i,c)},destroy:function(){c.debug("Destroying previous instance",f),f.off(t).removeData(i)},refresh:function(){m=f.find(g.title),p=f.find(g.content)},observeChanges:function(){"MutationObserver"in A&&((e=new MutationObserver(function(e){c.debug("DOM tree modified, updating selector cache"),c.refresh()})).observe(r,{childList:!0,subtree:!0}),c.debug("Setting up mutation observer",e))},bind:{events:function(){c.debug("Binding delegated events"),f.on(u.on+t,g.trigger,c.event.click)}},event:{click:function(){c.toggle.call(this)}},toggle:function(e){var n=e!==q?"number"==typeof e?m.eq(e):F(e).closest(g.title):F(this).closest(g.title),t=n.next(p),i=t.hasClass(d.animating),o=t.hasClass(d.active),a=o&&!i,s=!o&&i;c.debug("Toggling visibility of content",n),a||s?u.collapsible?c.close.call(n):c.debug("Cannot close accordion content collapsing is disabled"):c.open.call(n)},open:function(e){var n=e!==q?"number"==typeof e?m.eq(e):F(e).closest(g.title):F(this).closest(g.title),t=n.next(p),i=t.hasClass(d.animating);t.hasClass(d.active)||i?c.debug("Accordion already open, skipping",t):(c.debug("Opening accordion content",n),u.onOpening.call(t),u.onChanging.call(t),u.exclusive&&c.closeOthers.call(n),n.addClass(d.active),t.stop(!0,!0).addClass(d.animating),u.animateChildren&&(F.fn.transition!==q&&f.transition("is supported")?t.children().transition({animation:"fade in",queue:!1,useFailSafe:!0,debug:u.debug,verbose:u.verbose,duration:u.duration}):t.children().stop(!0,!0).animate({opacity:1},u.duration,c.resetOpacity)),t.slideDown(u.duration,u.easing,function(){t.removeClass(d.animating).addClass(d.active),c.reset.display.call(this),u.onOpen.call(this),u.onChange.call(this)}))},close:function(e){var n=e!==q?"number"==typeof e?m.eq(e):F(e).closest(g.title):F(this).closest(g.title),t=n.next(p),i=t.hasClass(d.animating),o=t.hasClass(d.active);!o&&!(!o&&i)||o&&i||(c.debug("Closing accordion content",t),u.onClosing.call(t),u.onChanging.call(t),n.removeClass(d.active),t.stop(!0,!0).addClass(d.animating),u.animateChildren&&(F.fn.transition!==q&&f.transition("is supported")?t.children().transition({animation:"fade out",queue:!1,useFailSafe:!0,debug:u.debug,verbose:u.verbose,duration:u.duration}):t.children().stop(!0,!0).animate({opacity:0},u.duration,c.resetOpacity)),t.slideUp(u.duration,u.easing,function(){t.removeClass(d.animating).removeClass(d.active),c.reset.display.call(this),u.onClose.call(this),u.onChange.call(this)}))},closeOthers:function(e){var n,t,i,o=e!==q?m.eq(e):F(this).closest(g.title),a=o.parents(g.content).prev(g.title),s=o.closest(g.accordion),l=g.title+"."+d.active+":visible",r=g.content+"."+d.active+":visible";i=u.closeNested?(n=s.find(l).not(a)).next(p):(n=s.find(l).not(a),t=s.find(r).find(l).not(a),(n=n.not(t)).next(p)),0 .progress { - white-space: nowrap; - position: absolute; - width: auto; - font-size: 0.92857143em; - top: 50%; - right: 0.5em; - left: auto; - bottom: auto; - color: rgba(255, 255, 255, 0.7); - text-shadow: none; - margin-top: -0.5em; - font-weight: bold; - text-align: left; -} - -/* Label */ -.ui.progress > .label { - position: absolute; - width: 100%; - font-size: 1em; - top: 100%; - right: auto; - left: 0%; - bottom: auto; - color: rgba(0, 0, 0, 0.87); - font-weight: bold; - text-shadow: none; - margin-top: 0.2em; - text-align: center; - -webkit-transition: color 0.4s ease; - transition: color 0.4s ease; -} - - -/******************************* - Types -*******************************/ - - -/* Indicating */ -.ui.indicating.progress[data-percent^="1"] .bar, -.ui.indicating.progress[data-percent^="2"] .bar { - background-color: #D95C5C; -} -.ui.indicating.progress[data-percent^="3"] .bar { - background-color: #EFBC72; -} -.ui.indicating.progress[data-percent^="4"] .bar, -.ui.indicating.progress[data-percent^="5"] .bar { - background-color: #E6BB48; -} -.ui.indicating.progress[data-percent^="6"] .bar { - background-color: #DDC928; -} -.ui.indicating.progress[data-percent^="7"] .bar, -.ui.indicating.progress[data-percent^="8"] .bar { - background-color: #B4D95C; -} -.ui.indicating.progress[data-percent^="9"] .bar, -.ui.indicating.progress[data-percent^="100"] .bar { - background-color: #66DA81; -} - -/* Indicating Label */ -.ui.indicating.progress[data-percent^="1"] .label, -.ui.indicating.progress[data-percent^="2"] .label { - color: rgba(0, 0, 0, 0.87); -} -.ui.indicating.progress[data-percent^="3"] .label { - color: rgba(0, 0, 0, 0.87); -} -.ui.indicating.progress[data-percent^="4"] .label, -.ui.indicating.progress[data-percent^="5"] .label { - color: rgba(0, 0, 0, 0.87); -} -.ui.indicating.progress[data-percent^="6"] .label { - color: rgba(0, 0, 0, 0.87); -} -.ui.indicating.progress[data-percent^="7"] .label, -.ui.indicating.progress[data-percent^="8"] .label { - color: rgba(0, 0, 0, 0.87); -} -.ui.indicating.progress[data-percent^="9"] .label, -.ui.indicating.progress[data-percent^="100"] .label { - color: rgba(0, 0, 0, 0.87); -} - -/* Single Digits */ -.ui.indicating.progress[data-percent="1"] .bar, -.ui.indicating.progress[data-percent="2"] .bar, -.ui.indicating.progress[data-percent="3"] .bar, -.ui.indicating.progress[data-percent="4"] .bar, -.ui.indicating.progress[data-percent="5"] .bar, -.ui.indicating.progress[data-percent="6"] .bar, -.ui.indicating.progress[data-percent="7"] .bar, -.ui.indicating.progress[data-percent="8"] .bar, -.ui.indicating.progress[data-percent="9"] .bar { - background-color: #D95C5C; -} -.ui.indicating.progress[data-percent="1"] .label, -.ui.indicating.progress[data-percent="2"] .label, -.ui.indicating.progress[data-percent="3"] .label, -.ui.indicating.progress[data-percent="4"] .label, -.ui.indicating.progress[data-percent="5"] .label, -.ui.indicating.progress[data-percent="6"] .label, -.ui.indicating.progress[data-percent="7"] .label, -.ui.indicating.progress[data-percent="8"] .label, -.ui.indicating.progress[data-percent="9"] .label { - color: rgba(0, 0, 0, 0.87); -} - -/* Indicating Success */ -.ui.indicating.progress.success .label { - color: #1A531B; -} - - -/******************************* - States -*******************************/ - - -/*-------------- - Success ----------------*/ - -.ui.progress.success .bar { - background-color: #21BA45 !important; -} -.ui.progress.success .bar, -.ui.progress.success .bar::after { - -webkit-animation: none !important; - animation: none !important; -} -.ui.progress.success > .label { - color: #1A531B; -} - -/*-------------- - Warning ----------------*/ - -.ui.progress.warning .bar { - background-color: #F2C037 !important; -} -.ui.progress.warning .bar, -.ui.progress.warning .bar::after { - -webkit-animation: none !important; - animation: none !important; -} -.ui.progress.warning > .label { - color: #794B02; -} - -/*-------------- - Error ----------------*/ - -.ui.progress.error .bar { - background-color: #DB2828 !important; -} -.ui.progress.error .bar, -.ui.progress.error .bar::after { - -webkit-animation: none !important; - animation: none !important; -} -.ui.progress.error > .label { - color: #912D2B; -} - -/*-------------- - Active ----------------*/ - -.ui.active.progress .bar { - position: relative; - min-width: 2em; -} -.ui.active.progress .bar::after { - content: ''; - opacity: 0; - position: absolute; - top: 0px; - left: 0px; - right: 0px; - bottom: 0px; - background: #FFFFFF; - border-radius: 0.28571429rem; - -webkit-animation: progress-active 2s ease infinite; - animation: progress-active 2s ease infinite; -} -@-webkit-keyframes progress-active { - 0% { - opacity: 0.3; - width: 0; - } - 100% { - opacity: 0; - width: 100%; - } -} -@keyframes progress-active { - 0% { - opacity: 0.3; - width: 0; - } - 100% { - opacity: 0; - width: 100%; - } -} - -/*-------------- - Disabled ----------------*/ - -.ui.disabled.progress { - opacity: 0.35; -} -.ui.disabled.progress .bar, -.ui.disabled.progress .bar::after { - -webkit-animation: none !important; - animation: none !important; -} - - -/******************************* - Variations -*******************************/ - - -/*-------------- - Inverted ----------------*/ - -.ui.inverted.progress { - background: rgba(255, 255, 255, 0.08); - border: none; -} -.ui.inverted.progress .bar { - background: #888888; -} -.ui.inverted.progress .bar > .progress { - color: #F9FAFB; -} -.ui.inverted.progress > .label { - color: #FFFFFF; -} -.ui.inverted.progress.success > .label { - color: #21BA45; -} -.ui.inverted.progress.warning > .label { - color: #F2C037; -} -.ui.inverted.progress.error > .label { - color: #DB2828; -} - -/*-------------- - Attached ----------------*/ - - -/* bottom attached */ -.ui.progress.attached { - background: transparent; - position: relative; - border: none; - margin: 0em; -} -.ui.progress.attached, -.ui.progress.attached .bar { - display: block; - height: 0.2rem; - padding: 0px; - overflow: hidden; - border-radius: 0em 0em 0.28571429rem 0.28571429rem; -} -.ui.progress.attached .bar { - border-radius: 0em; -} - -/* top attached */ -.ui.progress.top.attached, -.ui.progress.top.attached .bar { - top: 0px; - border-radius: 0.28571429rem 0.28571429rem 0em 0em; -} -.ui.progress.top.attached .bar { - border-radius: 0em; -} - -/* Coupling */ -.ui.segment > .ui.attached.progress, -.ui.card > .ui.attached.progress { - position: absolute; - top: auto; - left: 0; - bottom: 100%; - width: 100%; -} -.ui.segment > .ui.bottom.attached.progress, -.ui.card > .ui.bottom.attached.progress { - top: 100%; - bottom: auto; -} - -/*-------------- - Colors ----------------*/ - - -/* Red */ -.ui.red.progress .bar { - background-color: #DB2828; -} -.ui.red.inverted.progress .bar { - background-color: #FF695E; -} - -/* Orange */ -.ui.orange.progress .bar { - background-color: #F2711C; -} -.ui.orange.inverted.progress .bar { - background-color: #FF851B; -} - -/* Yellow */ -.ui.yellow.progress .bar { - background-color: #FBBD08; -} -.ui.yellow.inverted.progress .bar { - background-color: #FFE21F; -} - -/* Olive */ -.ui.olive.progress .bar { - background-color: #B5CC18; -} -.ui.olive.inverted.progress .bar { - background-color: #D9E778; -} - -/* Green */ -.ui.green.progress .bar { - background-color: #21BA45; -} -.ui.green.inverted.progress .bar { - background-color: #2ECC40; -} - -/* Teal */ -.ui.teal.progress .bar { - background-color: #00B5AD; -} -.ui.teal.inverted.progress .bar { - background-color: #6DFFFF; -} - -/* Blue */ -.ui.blue.progress .bar { - background-color: #2185D0; -} -.ui.blue.inverted.progress .bar { - background-color: #54C8FF; -} - -/* Violet */ -.ui.violet.progress .bar { - background-color: #6435C9; -} -.ui.violet.inverted.progress .bar { - background-color: #A291FB; -} - -/* Purple */ -.ui.purple.progress .bar { - background-color: #A333C8; -} -.ui.purple.inverted.progress .bar { - background-color: #DC73FF; -} - -/* Pink */ -.ui.pink.progress .bar { - background-color: #E03997; -} -.ui.pink.inverted.progress .bar { - background-color: #FF8EDF; -} - -/* Brown */ -.ui.brown.progress .bar { - background-color: #A5673F; -} -.ui.brown.inverted.progress .bar { - background-color: #D67C1C; -} - -/* Grey */ -.ui.grey.progress .bar { - background-color: #767676; -} -.ui.grey.inverted.progress .bar { - background-color: #DCDDDE; -} - -/* Black */ -.ui.black.progress .bar { - background-color: #1B1C1D; -} -.ui.black.inverted.progress .bar { - background-color: #545454; -} - -/*-------------- - Sizes ----------------*/ - -.ui.tiny.progress { - font-size: 0.85714286rem; -} -.ui.tiny.progress .bar { - height: 0.5em; -} -.ui.small.progress { - font-size: 0.92857143rem; -} -.ui.small.progress .bar { - height: 1em; -} -.ui.progress { - font-size: 1rem; -} -.ui.progress .bar { - height: 1.75em; -} -.ui.large.progress { - font-size: 1.14285714rem; -} -.ui.large.progress .bar { - height: 2.5em; -} -.ui.big.progress { - font-size: 1.28571429rem; -} -.ui.big.progress .bar { - height: 3.5em; -} - - -/******************************* - Progress -*******************************/ - - - -/******************************* - Site Overrides -*******************************/ - diff --git a/app/static/semantic/components/progress.js b/app/static/semantic/components/progress.js deleted file mode 100755 index d727f77..0000000 --- a/app/static/semantic/components/progress.js +++ /dev/null @@ -1,931 +0,0 @@ -/*! - * # Semantic UI 2.4.1 - Progress - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -;(function ($, window, document, undefined) { - -'use strict'; - -window = (typeof window != 'undefined' && window.Math == Math) - ? window - : (typeof self != 'undefined' && self.Math == Math) - ? self - : Function('return this')() -; - -var - global = (typeof window != 'undefined' && window.Math == Math) - ? window - : (typeof self != 'undefined' && self.Math == Math) - ? self - : Function('return this')() -; - -$.fn.progress = function(parameters) { - var - $allModules = $(this), - - moduleSelector = $allModules.selector || '', - - time = new Date().getTime(), - performance = [], - - query = arguments[0], - methodInvoked = (typeof query == 'string'), - queryArguments = [].slice.call(arguments, 1), - - returnedValue - ; - - $allModules - .each(function() { - var - settings = ( $.isPlainObject(parameters) ) - ? $.extend(true, {}, $.fn.progress.settings, parameters) - : $.extend({}, $.fn.progress.settings), - - className = settings.className, - metadata = settings.metadata, - namespace = settings.namespace, - selector = settings.selector, - error = settings.error, - - eventNamespace = '.' + namespace, - moduleNamespace = 'module-' + namespace, - - $module = $(this), - $bar = $(this).find(selector.bar), - $progress = $(this).find(selector.progress), - $label = $(this).find(selector.label), - - element = this, - instance = $module.data(moduleNamespace), - - animating = false, - transitionEnd, - module - ; - - module = { - - initialize: function() { - module.debug('Initializing progress bar', settings); - - module.set.duration(); - module.set.transitionEvent(); - - module.read.metadata(); - module.read.settings(); - - module.instantiate(); - }, - - instantiate: function() { - module.verbose('Storing instance of progress', module); - instance = module; - $module - .data(moduleNamespace, module) - ; - }, - destroy: function() { - module.verbose('Destroying previous progress for', $module); - clearInterval(instance.interval); - module.remove.state(); - $module.removeData(moduleNamespace); - instance = undefined; - }, - - reset: function() { - module.remove.nextValue(); - module.update.progress(0); - }, - - complete: function() { - if(module.percent === undefined || module.percent < 100) { - module.remove.progressPoll(); - module.set.percent(100); - } - }, - - read: { - metadata: function() { - var - data = { - percent : $module.data(metadata.percent), - total : $module.data(metadata.total), - value : $module.data(metadata.value) - } - ; - if(data.percent) { - module.debug('Current percent value set from metadata', data.percent); - module.set.percent(data.percent); - } - if(data.total) { - module.debug('Total value set from metadata', data.total); - module.set.total(data.total); - } - if(data.value) { - module.debug('Current value set from metadata', data.value); - module.set.value(data.value); - module.set.progress(data.value); - } - }, - settings: function() { - if(settings.total !== false) { - module.debug('Current total set in settings', settings.total); - module.set.total(settings.total); - } - if(settings.value !== false) { - module.debug('Current value set in settings', settings.value); - module.set.value(settings.value); - module.set.progress(module.value); - } - if(settings.percent !== false) { - module.debug('Current percent set in settings', settings.percent); - module.set.percent(settings.percent); - } - } - }, - - bind: { - transitionEnd: function(callback) { - var - transitionEnd = module.get.transitionEnd() - ; - $bar - .one(transitionEnd + eventNamespace, function(event) { - clearTimeout(module.failSafeTimer); - callback.call(this, event); - }) - ; - module.failSafeTimer = setTimeout(function() { - $bar.triggerHandler(transitionEnd); - }, settings.duration + settings.failSafeDelay); - module.verbose('Adding fail safe timer', module.timer); - } - }, - - increment: function(incrementValue) { - var - maxValue, - startValue, - newValue - ; - if( module.has.total() ) { - startValue = module.get.value(); - incrementValue = incrementValue || 1; - newValue = startValue + incrementValue; - } - else { - startValue = module.get.percent(); - incrementValue = incrementValue || module.get.randomValue(); - - newValue = startValue + incrementValue; - maxValue = 100; - module.debug('Incrementing percentage by', startValue, newValue); - } - newValue = module.get.normalizedValue(newValue); - module.set.progress(newValue); - }, - decrement: function(decrementValue) { - var - total = module.get.total(), - startValue, - newValue - ; - if(total) { - startValue = module.get.value(); - decrementValue = decrementValue || 1; - newValue = startValue - decrementValue; - module.debug('Decrementing value by', decrementValue, startValue); - } - else { - startValue = module.get.percent(); - decrementValue = decrementValue || module.get.randomValue(); - newValue = startValue - decrementValue; - module.debug('Decrementing percentage by', decrementValue, startValue); - } - newValue = module.get.normalizedValue(newValue); - module.set.progress(newValue); - }, - - has: { - progressPoll: function() { - return module.progressPoll; - }, - total: function() { - return (module.get.total() !== false); - } - }, - - get: { - text: function(templateText) { - var - value = module.value || 0, - total = module.total || 0, - percent = (animating) - ? module.get.displayPercent() - : module.percent || 0, - left = (module.total > 0) - ? (total - value) - : (100 - percent) - ; - templateText = templateText || ''; - templateText = templateText - .replace('{value}', value) - .replace('{total}', total) - .replace('{left}', left) - .replace('{percent}', percent) - ; - module.verbose('Adding variables to progress bar text', templateText); - return templateText; - }, - - normalizedValue: function(value) { - if(value < 0) { - module.debug('Value cannot decrement below 0'); - return 0; - } - if(module.has.total()) { - if(value > module.total) { - module.debug('Value cannot increment above total', module.total); - return module.total; - } - } - else if(value > 100 ) { - module.debug('Value cannot increment above 100 percent'); - return 100; - } - return value; - }, - - updateInterval: function() { - if(settings.updateInterval == 'auto') { - return settings.duration; - } - return settings.updateInterval; - }, - - randomValue: function() { - module.debug('Generating random increment percentage'); - return Math.floor((Math.random() * settings.random.max) + settings.random.min); - }, - - numericValue: function(value) { - return (typeof value === 'string') - ? (value.replace(/[^\d.]/g, '') !== '') - ? +(value.replace(/[^\d.]/g, '')) - : false - : value - ; - }, - - transitionEnd: 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]; - } - } - }, - - // gets current displayed percentage (if animating values this is the intermediary value) - displayPercent: function() { - var - barWidth = $bar.width(), - totalWidth = $module.width(), - minDisplay = parseInt($bar.css('min-width'), 10), - displayPercent = (barWidth > minDisplay) - ? (barWidth / totalWidth * 100) - : module.percent - ; - return (settings.precision > 0) - ? Math.round(displayPercent * (10 * settings.precision)) / (10 * settings.precision) - : Math.round(displayPercent) - ; - }, - - percent: function() { - return module.percent || 0; - }, - value: function() { - return module.nextValue || module.value || 0; - }, - total: function() { - return module.total || false; - } - }, - - create: { - progressPoll: function() { - module.progressPoll = setTimeout(function() { - module.update.toNextValue(); - module.remove.progressPoll(); - }, module.get.updateInterval()); - }, - }, - - is: { - complete: function() { - return module.is.success() || module.is.warning() || module.is.error(); - }, - success: function() { - return $module.hasClass(className.success); - }, - warning: function() { - return $module.hasClass(className.warning); - }, - error: function() { - return $module.hasClass(className.error); - }, - active: function() { - return $module.hasClass(className.active); - }, - visible: function() { - return $module.is(':visible'); - } - }, - - remove: { - progressPoll: function() { - module.verbose('Removing progress poll timer'); - if(module.progressPoll) { - clearTimeout(module.progressPoll); - delete module.progressPoll; - } - }, - nextValue: function() { - module.verbose('Removing progress value stored for next update'); - delete module.nextValue; - }, - state: function() { - module.verbose('Removing stored state'); - delete module.total; - delete module.percent; - delete module.value; - }, - active: function() { - module.verbose('Removing active state'); - $module.removeClass(className.active); - }, - success: function() { - module.verbose('Removing success state'); - $module.removeClass(className.success); - }, - warning: function() { - module.verbose('Removing warning state'); - $module.removeClass(className.warning); - }, - error: function() { - module.verbose('Removing error state'); - $module.removeClass(className.error); - } - }, - - set: { - barWidth: function(value) { - if(value > 100) { - module.error(error.tooHigh, value); - } - else if (value < 0) { - module.error(error.tooLow, value); - } - else { - $bar - .css('width', value + '%') - ; - $module - .attr('data-percent', parseInt(value, 10)) - ; - } - }, - duration: function(duration) { - duration = duration || settings.duration; - duration = (typeof duration == 'number') - ? duration + 'ms' - : duration - ; - module.verbose('Setting progress bar transition duration', duration); - $bar - .css({ - 'transition-duration': duration - }) - ; - }, - percent: function(percent) { - percent = (typeof percent == 'string') - ? +(percent.replace('%', '')) - : percent - ; - // round display percentage - percent = (settings.precision > 0) - ? Math.round(percent * (10 * settings.precision)) / (10 * settings.precision) - : Math.round(percent) - ; - module.percent = percent; - if( !module.has.total() ) { - module.value = (settings.precision > 0) - ? Math.round( (percent / 100) * module.total * (10 * settings.precision)) / (10 * settings.precision) - : Math.round( (percent / 100) * module.total * 10) / 10 - ; - if(settings.limitValues) { - module.value = (module.value > 100) - ? 100 - : (module.value < 0) - ? 0 - : module.value - ; - } - } - module.set.barWidth(percent); - module.set.labelInterval(); - module.set.labels(); - settings.onChange.call(element, percent, module.value, module.total); - }, - labelInterval: function() { - var - animationCallback = function() { - module.verbose('Bar finished animating, removing continuous label updates'); - clearInterval(module.interval); - animating = false; - module.set.labels(); - } - ; - clearInterval(module.interval); - module.bind.transitionEnd(animationCallback); - animating = true; - module.interval = setInterval(function() { - var - isInDOM = $.contains(document.documentElement, element) - ; - if(!isInDOM) { - clearInterval(module.interval); - animating = false; - } - module.set.labels(); - }, settings.framerate); - }, - labels: function() { - module.verbose('Setting both bar progress and outer label text'); - module.set.barLabel(); - module.set.state(); - }, - label: function(text) { - text = text || ''; - if(text) { - text = module.get.text(text); - module.verbose('Setting label to text', text); - $label.text(text); - } - }, - state: function(percent) { - percent = (percent !== undefined) - ? percent - : module.percent - ; - if(percent === 100) { - if(settings.autoSuccess && !(module.is.warning() || module.is.error() || module.is.success())) { - module.set.success(); - module.debug('Automatically triggering success at 100%'); - } - else { - module.verbose('Reached 100% removing active state'); - module.remove.active(); - module.remove.progressPoll(); - } - } - else if(percent > 0) { - module.verbose('Adjusting active progress bar label', percent); - module.set.active(); - } - else { - module.remove.active(); - module.set.label(settings.text.active); - } - }, - barLabel: function(text) { - if(text !== undefined) { - $progress.text( module.get.text(text) ); - } - else if(settings.label == 'ratio' && module.total) { - module.verbose('Adding ratio to bar label'); - $progress.text( module.get.text(settings.text.ratio) ); - } - else if(settings.label == 'percent') { - module.verbose('Adding percentage to bar label'); - $progress.text( module.get.text(settings.text.percent) ); - } - }, - active: function(text) { - text = text || settings.text.active; - module.debug('Setting active state'); - if(settings.showActivity && !module.is.active() ) { - $module.addClass(className.active); - } - module.remove.warning(); - module.remove.error(); - module.remove.success(); - text = settings.onLabelUpdate('active', text, module.value, module.total); - if(text) { - module.set.label(text); - } - module.bind.transitionEnd(function() { - settings.onActive.call(element, module.value, module.total); - }); - }, - success : function(text) { - text = text || settings.text.success || settings.text.active; - module.debug('Setting success state'); - $module.addClass(className.success); - module.remove.active(); - module.remove.warning(); - module.remove.error(); - module.complete(); - if(settings.text.success) { - text = settings.onLabelUpdate('success', text, module.value, module.total); - module.set.label(text); - } - else { - text = settings.onLabelUpdate('active', text, module.value, module.total); - module.set.label(text); - } - module.bind.transitionEnd(function() { - settings.onSuccess.call(element, module.total); - }); - }, - warning : function(text) { - text = text || settings.text.warning; - module.debug('Setting warning state'); - $module.addClass(className.warning); - module.remove.active(); - module.remove.success(); - module.remove.error(); - module.complete(); - text = settings.onLabelUpdate('warning', text, module.value, module.total); - if(text) { - module.set.label(text); - } - module.bind.transitionEnd(function() { - settings.onWarning.call(element, module.value, module.total); - }); - }, - error : function(text) { - text = text || settings.text.error; - module.debug('Setting error state'); - $module.addClass(className.error); - module.remove.active(); - module.remove.success(); - module.remove.warning(); - module.complete(); - text = settings.onLabelUpdate('error', text, module.value, module.total); - if(text) { - module.set.label(text); - } - module.bind.transitionEnd(function() { - settings.onError.call(element, module.value, module.total); - }); - }, - transitionEvent: function() { - transitionEnd = module.get.transitionEnd(); - }, - total: function(totalValue) { - module.total = totalValue; - }, - value: function(value) { - module.value = value; - }, - progress: function(value) { - if(!module.has.progressPoll()) { - module.debug('First update in progress update interval, immediately updating', value); - module.update.progress(value); - module.create.progressPoll(); - } - else { - module.debug('Updated within interval, setting next update to use new value', value); - module.set.nextValue(value); - } - }, - nextValue: function(value) { - module.nextValue = value; - } - }, - - update: { - toNextValue: function() { - var - nextValue = module.nextValue - ; - if(nextValue) { - module.debug('Update interval complete using last updated value', nextValue); - module.update.progress(nextValue); - module.remove.nextValue(); - } - }, - progress: function(value) { - var - percentComplete - ; - value = module.get.numericValue(value); - if(value === false) { - module.error(error.nonNumeric, value); - } - value = module.get.normalizedValue(value); - if( module.has.total() ) { - module.set.value(value); - percentComplete = (value / module.total) * 100; - module.debug('Calculating percent complete from total', percentComplete); - module.set.percent( percentComplete ); - } - else { - percentComplete = value; - module.debug('Setting value to exact percentage value', percentComplete); - module.set.percent( percentComplete ); - } - } - }, - - 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($.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) { - instance.invoke('destroy'); - } - module.initialize(); - } - }) - ; - - return (returnedValue !== undefined) - ? returnedValue - : this - ; -}; - -$.fn.progress.settings = { - - name : 'Progress', - namespace : 'progress', - - silent : false, - debug : false, - verbose : false, - performance : true, - - random : { - min : 2, - max : 5 - }, - - duration : 300, - - updateInterval : 'auto', - - autoSuccess : true, - showActivity : true, - limitValues : true, - - label : 'percent', - precision : 0, - framerate : (1000 / 30), /// 30 fps - - percent : false, - total : false, - value : false, - - // delay in ms for fail safe animation callback - failSafeDelay : 100, - - onLabelUpdate : function(state, text, value, total){ - return text; - }, - onChange : function(percent, value, total){}, - onSuccess : function(total){}, - onActive : function(value, total){}, - onError : function(value, total){}, - onWarning : function(value, total){}, - - error : { - method : 'The method you called is not defined.', - nonNumeric : 'Progress value is non numeric', - tooHigh : 'Value specified is above 100%', - tooLow : 'Value specified is below 0%' - }, - - regExp: { - variable: /\{\$*[A-z0-9]+\}/g - }, - - metadata: { - percent : 'percent', - total : 'total', - value : 'value' - }, - - selector : { - bar : '> .bar', - label : '> .label', - progress : '.bar > .progress' - }, - - text : { - active : false, - error : false, - success : false, - warning : false, - percent : '{percent}%', - ratio : '{value} of {total}' - }, - - className : { - active : 'active', - error : 'error', - success : 'success', - warning : 'warning' - } - -}; - - -})( jQuery, window, document ); diff --git a/app/static/semantic/components/progress.min.css b/app/static/semantic/components/progress.min.css deleted file mode 100755 index 9328a2d..0000000 --- a/app/static/semantic/components/progress.min.css +++ /dev/null @@ -1,9 +0,0 @@ -/*! - * # Semantic UI 2.4.0 - Progress Bar - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */.ui.progress{position:relative;display:block;max-width:100%;border:none;margin:1em 0 2.5em;-webkit-box-shadow:none;box-shadow:none;background:rgba(0,0,0,.1);padding:0;border-radius:.28571429rem}.ui.progress:first-child{margin:0 0 2.5em}.ui.progress:last-child{margin:0 0 1.5em}.ui.progress .bar{display:block;line-height:1;position:relative;width:0%;min-width:2em;background:#888;border-radius:.28571429rem;-webkit-transition:width .1s ease,background-color .1s ease;transition:width .1s ease,background-color .1s ease}.ui.progress .bar>.progress{white-space:nowrap;position:absolute;width:auto;font-size:.92857143em;top:50%;right:.5em;left:auto;bottom:auto;color:rgba(255,255,255,.7);text-shadow:none;margin-top:-.5em;font-weight:700;text-align:left}.ui.progress>.label{position:absolute;width:100%;font-size:1em;top:100%;right:auto;left:0;bottom:auto;color:rgba(0,0,0,.87);font-weight:700;text-shadow:none;margin-top:.2em;text-align:center;-webkit-transition:color .4s ease;transition:color .4s ease}.ui.indicating.progress[data-percent^="1"] .bar,.ui.indicating.progress[data-percent^="2"] .bar{background-color:#d95c5c}.ui.indicating.progress[data-percent^="3"] .bar{background-color:#efbc72}.ui.indicating.progress[data-percent^="4"] .bar,.ui.indicating.progress[data-percent^="5"] .bar{background-color:#e6bb48}.ui.indicating.progress[data-percent^="6"] .bar{background-color:#ddc928}.ui.indicating.progress[data-percent^="7"] .bar,.ui.indicating.progress[data-percent^="8"] .bar{background-color:#b4d95c}.ui.indicating.progress[data-percent^="100"] .bar,.ui.indicating.progress[data-percent^="9"] .bar{background-color:#66da81}.ui.indicating.progress[data-percent^="1"] .label,.ui.indicating.progress[data-percent^="2"] .label{color:rgba(0,0,0,.87)}.ui.indicating.progress[data-percent^="3"] .label{color:rgba(0,0,0,.87)}.ui.indicating.progress[data-percent^="4"] .label,.ui.indicating.progress[data-percent^="5"] .label{color:rgba(0,0,0,.87)}.ui.indicating.progress[data-percent^="6"] .label{color:rgba(0,0,0,.87)}.ui.indicating.progress[data-percent^="7"] .label,.ui.indicating.progress[data-percent^="8"] .label{color:rgba(0,0,0,.87)}.ui.indicating.progress[data-percent^="100"] .label,.ui.indicating.progress[data-percent^="9"] .label{color:rgba(0,0,0,.87)}.ui.indicating.progress[data-percent="1"] .bar,.ui.indicating.progress[data-percent="2"] .bar,.ui.indicating.progress[data-percent="3"] .bar,.ui.indicating.progress[data-percent="4"] .bar,.ui.indicating.progress[data-percent="5"] .bar,.ui.indicating.progress[data-percent="6"] .bar,.ui.indicating.progress[data-percent="7"] .bar,.ui.indicating.progress[data-percent="8"] .bar,.ui.indicating.progress[data-percent="9"] .bar{background-color:#d95c5c}.ui.indicating.progress[data-percent="1"] .label,.ui.indicating.progress[data-percent="2"] .label,.ui.indicating.progress[data-percent="3"] .label,.ui.indicating.progress[data-percent="4"] .label,.ui.indicating.progress[data-percent="5"] .label,.ui.indicating.progress[data-percent="6"] .label,.ui.indicating.progress[data-percent="7"] .label,.ui.indicating.progress[data-percent="8"] .label,.ui.indicating.progress[data-percent="9"] .label{color:rgba(0,0,0,.87)}.ui.indicating.progress.success .label{color:#1a531b}.ui.progress.success .bar{background-color:#21ba45!important}.ui.progress.success .bar,.ui.progress.success .bar::after{-webkit-animation:none!important;animation:none!important}.ui.progress.success>.label{color:#1a531b}.ui.progress.warning .bar{background-color:#f2c037!important}.ui.progress.warning .bar,.ui.progress.warning .bar::after{-webkit-animation:none!important;animation:none!important}.ui.progress.warning>.label{color:#794b02}.ui.progress.error .bar{background-color:#db2828!important}.ui.progress.error .bar,.ui.progress.error .bar::after{-webkit-animation:none!important;animation:none!important}.ui.progress.error>.label{color:#912d2b}.ui.active.progress .bar{position:relative;min-width:2em}.ui.active.progress .bar::after{content:'';opacity:0;position:absolute;top:0;left:0;right:0;bottom:0;background:#fff;border-radius:.28571429rem;-webkit-animation:progress-active 2s ease infinite;animation:progress-active 2s ease infinite}@-webkit-keyframes progress-active{0%{opacity:.3;width:0}100%{opacity:0;width:100%}}@keyframes progress-active{0%{opacity:.3;width:0}100%{opacity:0;width:100%}}.ui.disabled.progress{opacity:.35}.ui.disabled.progress .bar,.ui.disabled.progress .bar::after{-webkit-animation:none!important;animation:none!important}.ui.inverted.progress{background:rgba(255,255,255,.08);border:none}.ui.inverted.progress .bar{background:#888}.ui.inverted.progress .bar>.progress{color:#f9fafb}.ui.inverted.progress>.label{color:#fff}.ui.inverted.progress.success>.label{color:#21ba45}.ui.inverted.progress.warning>.label{color:#f2c037}.ui.inverted.progress.error>.label{color:#db2828}.ui.progress.attached{background:0 0;position:relative;border:none;margin:0}.ui.progress.attached,.ui.progress.attached .bar{display:block;height:.2rem;padding:0;overflow:hidden;border-radius:0 0 .28571429rem .28571429rem}.ui.progress.attached .bar{border-radius:0}.ui.progress.top.attached,.ui.progress.top.attached .bar{top:0;border-radius:.28571429rem .28571429rem 0 0}.ui.progress.top.attached .bar{border-radius:0}.ui.card>.ui.attached.progress,.ui.segment>.ui.attached.progress{position:absolute;top:auto;left:0;bottom:100%;width:100%}.ui.card>.ui.bottom.attached.progress,.ui.segment>.ui.bottom.attached.progress{top:100%;bottom:auto}.ui.red.progress .bar{background-color:#db2828}.ui.red.inverted.progress .bar{background-color:#ff695e}.ui.orange.progress .bar{background-color:#f2711c}.ui.orange.inverted.progress .bar{background-color:#ff851b}.ui.yellow.progress .bar{background-color:#fbbd08}.ui.yellow.inverted.progress .bar{background-color:#ffe21f}.ui.olive.progress .bar{background-color:#b5cc18}.ui.olive.inverted.progress .bar{background-color:#d9e778}.ui.green.progress .bar{background-color:#21ba45}.ui.green.inverted.progress .bar{background-color:#2ecc40}.ui.teal.progress .bar{background-color:#00b5ad}.ui.teal.inverted.progress .bar{background-color:#6dffff}.ui.blue.progress .bar{background-color:#2185d0}.ui.blue.inverted.progress .bar{background-color:#54c8ff}.ui.violet.progress .bar{background-color:#6435c9}.ui.violet.inverted.progress .bar{background-color:#a291fb}.ui.purple.progress .bar{background-color:#a333c8}.ui.purple.inverted.progress .bar{background-color:#dc73ff}.ui.pink.progress .bar{background-color:#e03997}.ui.pink.inverted.progress .bar{background-color:#ff8edf}.ui.brown.progress .bar{background-color:#a5673f}.ui.brown.inverted.progress .bar{background-color:#d67c1c}.ui.grey.progress .bar{background-color:#767676}.ui.grey.inverted.progress .bar{background-color:#dcddde}.ui.black.progress .bar{background-color:#1b1c1d}.ui.black.inverted.progress .bar{background-color:#545454}.ui.tiny.progress{font-size:.85714286rem}.ui.tiny.progress .bar{height:.5em}.ui.small.progress{font-size:.92857143rem}.ui.small.progress .bar{height:1em}.ui.progress{font-size:1rem}.ui.progress .bar{height:1.75em}.ui.large.progress{font-size:1.14285714rem}.ui.large.progress .bar{height:2.5em}.ui.big.progress{font-size:1.28571429rem}.ui.big.progress .bar{height:3.5em} \ No newline at end of file diff --git a/app/static/semantic/components/progress.min.js b/app/static/semantic/components/progress.min.js deleted file mode 100755 index 3b82edf..0000000 --- a/app/static/semantic/components/progress.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(E,e,P,T){"use strict";void 0!==(e=void 0!==e&&e.Math==Math?e:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")())&&e.Math==Math||("undefined"!=typeof self&&self.Math==Math?self:Function("return this")());E.fn.progress=function(m){var b,e=E(this),h=e.selector||"",x=(new Date).getTime(),w=[],y=m,V="string"==typeof y,C=[].slice.call(arguments,1);return e.each(function(){var s,r=E.isPlainObject(m)?E.extend(!0,{},E.fn.progress.settings,m):E.extend({},E.fn.progress.settings),t=r.className,n=r.metadata,e=r.namespace,a=r.selector,l=r.error,o="."+e,i="module-"+e,c=E(this),u=E(this).find(a.bar),d=E(this).find(a.progress),g=E(this).find(a.label),v=this,p=c.data(i),f=!1;s={initialize:function(){s.debug("Initializing progress bar",r),s.set.duration(),s.set.transitionEvent(),s.read.metadata(),s.read.settings(),s.instantiate()},instantiate:function(){s.verbose("Storing instance of progress",s),p=s,c.data(i,s)},destroy:function(){s.verbose("Destroying previous progress for",c),clearInterval(p.interval),s.remove.state(),c.removeData(i),p=T},reset:function(){s.remove.nextValue(),s.update.progress(0)},complete:function(){(s.percent===T||s.percent<100)&&(s.remove.progressPoll(),s.set.percent(100))},read:{metadata:function(){var e={percent:c.data(n.percent),total:c.data(n.total),value:c.data(n.value)};e.percent&&(s.debug("Current percent value set from metadata",e.percent),s.set.percent(e.percent)),e.total&&(s.debug("Total value set from metadata",e.total),s.set.total(e.total)),e.value&&(s.debug("Current value set from metadata",e.value),s.set.value(e.value),s.set.progress(e.value))},settings:function(){!1!==r.total&&(s.debug("Current total set in settings",r.total),s.set.total(r.total)),!1!==r.value&&(s.debug("Current value set in settings",r.value),s.set.value(r.value),s.set.progress(s.value)),!1!==r.percent&&(s.debug("Current percent set in settings",r.percent),s.set.percent(r.percent))}},bind:{transitionEnd:function(t){var e=s.get.transitionEnd();u.one(e+o,function(e){clearTimeout(s.failSafeTimer),t.call(this,e)}),s.failSafeTimer=setTimeout(function(){u.triggerHandler(e)},r.duration+r.failSafeDelay),s.verbose("Adding fail safe timer",s.timer)}},increment:function(e){var t,n;s.has.total()?n=(t=s.get.value())+(e=e||1):(n=(t=s.get.percent())+(e=e||s.get.randomValue()),100,s.debug("Incrementing percentage by",t,n)),n=s.get.normalizedValue(n),s.set.progress(n)},decrement:function(e){var t,n;s.get.total()?(n=(t=s.get.value())-(e=e||1),s.debug("Decrementing value by",e,t)):(n=(t=s.get.percent())-(e=e||s.get.randomValue()),s.debug("Decrementing percentage by",e,t)),n=s.get.normalizedValue(n),s.set.progress(n)},has:{progressPoll:function(){return s.progressPoll},total:function(){return!1!==s.get.total()}},get:{text:function(e){var t=s.value||0,n=s.total||0,r=f?s.get.displayPercent():s.percent||0,a=0s.total)return s.debug("Value cannot increment above total",s.total),s.total}else if(100 .bar",label:"> .label",progress:".bar > .progress"},text:{active:!1,error:!1,success:!1,warning:!1,percent:"{percent}%",ratio:"{value} of {total}"},className:{active:"active",error:"error",success:"success",warning:"warning"}}}(jQuery,window,document); \ No newline at end of file diff --git a/app/static/semantic/components/sticky.css b/app/static/semantic/components/sticky.css deleted file mode 100755 index 19aca17..0000000 --- a/app/static/semantic/components/sticky.css +++ /dev/null @@ -1,78 +0,0 @@ -/*! - * # Semantic UI 2.4.0 - Sticky - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - - -/******************************* - Sticky -*******************************/ - -.ui.sticky { - position: static; - -webkit-transition: none; - transition: none; - z-index: 800; -} - - -/******************************* - States -*******************************/ - - -/* Bound */ -.ui.sticky.bound { - position: absolute; - left: auto; - right: auto; -} - -/* Fixed */ -.ui.sticky.fixed { - position: fixed; - left: auto; - right: auto; -} - -/* Bound/Fixed Position */ -.ui.sticky.bound.top, -.ui.sticky.fixed.top { - top: 0px; - bottom: auto; -} -.ui.sticky.bound.bottom, -.ui.sticky.fixed.bottom { - top: auto; - bottom: 0px; -} - - -/******************************* - Types -*******************************/ - -.ui.native.sticky { - position: -webkit-sticky; - position: -moz-sticky; - position: -ms-sticky; - position: -o-sticky; - position: sticky; -} - - -/******************************* - Theme Overrides -*******************************/ - - - -/******************************* - Site Overrides -*******************************/ - diff --git a/app/static/semantic/components/sticky.js b/app/static/semantic/components/sticky.js deleted file mode 100755 index 6b7773a..0000000 --- a/app/static/semantic/components/sticky.js +++ /dev/null @@ -1,959 +0,0 @@ -/*! - * # Semantic UI 2.4.1 - Sticky - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -;(function ($, window, document, undefined) { - -'use strict'; - -window = (typeof window != 'undefined' && window.Math == Math) - ? window - : (typeof self != 'undefined' && self.Math == Math) - ? self - : Function('return this')() -; - -$.fn.sticky = function(parameters) { - var - $allModules = $(this), - moduleSelector = $allModules.selector || '', - - time = new Date().getTime(), - performance = [], - - query = arguments[0], - methodInvoked = (typeof query == 'string'), - queryArguments = [].slice.call(arguments, 1), - returnedValue - ; - - $allModules - .each(function() { - var - settings = ( $.isPlainObject(parameters) ) - ? $.extend(true, {}, $.fn.sticky.settings, parameters) - : $.extend({}, $.fn.sticky.settings), - - className = settings.className, - namespace = settings.namespace, - error = settings.error, - - eventNamespace = '.' + namespace, - moduleNamespace = 'module-' + namespace, - - $module = $(this), - $window = $(window), - $scroll = $(settings.scrollContext), - $container, - $context, - - selector = $module.selector || '', - instance = $module.data(moduleNamespace), - - requestAnimationFrame = window.requestAnimationFrame - || window.mozRequestAnimationFrame - || window.webkitRequestAnimationFrame - || window.msRequestAnimationFrame - || function(callback) { setTimeout(callback, 0); }, - - element = this, - - documentObserver, - observer, - module - ; - - module = { - - initialize: function() { - - module.determineContainer(); - module.determineContext(); - module.verbose('Initializing sticky', settings, $container); - - module.save.positions(); - module.checkErrors(); - module.bind.events(); - - if(settings.observeChanges) { - module.observeChanges(); - } - module.instantiate(); - }, - - instantiate: function() { - module.verbose('Storing instance of module', module); - instance = module; - $module - .data(moduleNamespace, module) - ; - }, - - destroy: function() { - module.verbose('Destroying previous instance'); - module.reset(); - if(documentObserver) { - documentObserver.disconnect(); - } - if(observer) { - observer.disconnect(); - } - $window - .off('load' + eventNamespace, module.event.load) - .off('resize' + eventNamespace, module.event.resize) - ; - $scroll - .off('scrollchange' + eventNamespace, module.event.scrollchange) - ; - $module.removeData(moduleNamespace); - }, - - observeChanges: function() { - if('MutationObserver' in window) { - documentObserver = new MutationObserver(module.event.documentChanged); - observer = new MutationObserver(module.event.changed); - documentObserver.observe(document, { - childList : true, - subtree : true - }); - observer.observe(element, { - childList : true, - subtree : true - }); - observer.observe($context[0], { - childList : true, - subtree : true - }); - module.debug('Setting up mutation observer', observer); - } - }, - - determineContainer: function() { - if(settings.container) { - $container = $(settings.container); - } - else { - $container = $module.offsetParent(); - } - }, - - determineContext: function() { - if(settings.context) { - $context = $(settings.context); - } - else { - $context = $container; - } - if($context.length === 0) { - module.error(error.invalidContext, settings.context, $module); - return; - } - }, - - checkErrors: function() { - if( module.is.hidden() ) { - module.error(error.visible, $module); - } - if(module.cache.element.height > module.cache.context.height) { - module.reset(); - module.error(error.elementSize, $module); - return; - } - }, - - bind: { - events: function() { - $window - .on('load' + eventNamespace, module.event.load) - .on('resize' + eventNamespace, module.event.resize) - ; - // pub/sub pattern - $scroll - .off('scroll' + eventNamespace) - .on('scroll' + eventNamespace, module.event.scroll) - .on('scrollchange' + eventNamespace, module.event.scrollchange) - ; - } - }, - - event: { - changed: function(mutations) { - clearTimeout(module.timer); - module.timer = setTimeout(function() { - module.verbose('DOM tree modified, updating sticky menu', mutations); - module.refresh(); - }, 100); - }, - documentChanged: function(mutations) { - [].forEach.call(mutations, function(mutation) { - if(mutation.removedNodes) { - [].forEach.call(mutation.removedNodes, function(node) { - if(node == element || $(node).find(element).length > 0) { - module.debug('Element removed from DOM, tearing down events'); - module.destroy(); - } - }); - } - }); - }, - load: function() { - module.verbose('Page contents finished loading'); - requestAnimationFrame(module.refresh); - }, - resize: function() { - module.verbose('Window resized'); - requestAnimationFrame(module.refresh); - }, - scroll: function() { - requestAnimationFrame(function() { - $scroll.triggerHandler('scrollchange' + eventNamespace, $scroll.scrollTop() ); - }); - }, - scrollchange: function(event, scrollPosition) { - module.stick(scrollPosition); - settings.onScroll.call(element); - } - }, - - refresh: function(hardRefresh) { - module.reset(); - if(!settings.context) { - module.determineContext(); - } - if(hardRefresh) { - module.determineContainer(); - } - module.save.positions(); - module.stick(); - settings.onReposition.call(element); - }, - - supports: { - sticky: function() { - var - $element = $('
'), - element = $element[0] - ; - $element.addClass(className.supported); - return($element.css('position').match('sticky')); - } - }, - - save: { - lastScroll: function(scroll) { - module.lastScroll = scroll; - }, - elementScroll: function(scroll) { - module.elementScroll = scroll; - }, - positions: function() { - var - scrollContext = { - height : $scroll.height() - }, - element = { - margin: { - top : parseInt($module.css('margin-top'), 10), - bottom : parseInt($module.css('margin-bottom'), 10), - }, - offset : $module.offset(), - width : $module.outerWidth(), - height : $module.outerHeight() - }, - context = { - offset : $context.offset(), - height : $context.outerHeight() - }, - container = { - height: $container.outerHeight() - } - ; - if( !module.is.standardScroll() ) { - module.debug('Non-standard scroll. Removing scroll offset from element offset'); - - scrollContext.top = $scroll.scrollTop(); - scrollContext.left = $scroll.scrollLeft(); - - element.offset.top += scrollContext.top; - context.offset.top += scrollContext.top; - element.offset.left += scrollContext.left; - context.offset.left += scrollContext.left; - } - module.cache = { - fits : ( (element.height + settings.offset) <= scrollContext.height), - sameHeight : (element.height == context.height), - scrollContext : { - height : scrollContext.height - }, - element: { - margin : element.margin, - top : element.offset.top - element.margin.top, - left : element.offset.left, - width : element.width, - height : element.height, - bottom : element.offset.top + element.height - }, - context: { - top : context.offset.top, - height : context.height, - bottom : context.offset.top + context.height - } - }; - module.set.containerSize(); - - module.stick(); - module.debug('Caching element positions', module.cache); - } - }, - - get: { - direction: function(scroll) { - var - direction = 'down' - ; - scroll = scroll || $scroll.scrollTop(); - if(module.lastScroll !== undefined) { - if(module.lastScroll < scroll) { - direction = 'down'; - } - else if(module.lastScroll > scroll) { - direction = 'up'; - } - } - return direction; - }, - scrollChange: function(scroll) { - scroll = scroll || $scroll.scrollTop(); - return (module.lastScroll) - ? (scroll - module.lastScroll) - : 0 - ; - }, - currentElementScroll: function() { - if(module.elementScroll) { - return module.elementScroll; - } - return ( module.is.top() ) - ? Math.abs(parseInt($module.css('top'), 10)) || 0 - : Math.abs(parseInt($module.css('bottom'), 10)) || 0 - ; - }, - - elementScroll: function(scroll) { - scroll = scroll || $scroll.scrollTop(); - var - element = module.cache.element, - scrollContext = module.cache.scrollContext, - delta = module.get.scrollChange(scroll), - maxScroll = (element.height - scrollContext.height + settings.offset), - elementScroll = module.get.currentElementScroll(), - possibleScroll = (elementScroll + delta) - ; - if(module.cache.fits || possibleScroll < 0) { - elementScroll = 0; - } - else if(possibleScroll > maxScroll ) { - elementScroll = maxScroll; - } - else { - elementScroll = possibleScroll; - } - return elementScroll; - } - }, - - remove: { - lastScroll: function() { - delete module.lastScroll; - }, - elementScroll: function(scroll) { - delete module.elementScroll; - }, - minimumSize: function() { - $container - .css('min-height', '') - ; - }, - offset: function() { - $module.css('margin-top', ''); - } - }, - - set: { - offset: function() { - module.verbose('Setting offset on element', settings.offset); - $module - .css('margin-top', settings.offset) - ; - }, - containerSize: function() { - var - tagName = $container.get(0).tagName - ; - if(tagName === 'HTML' || tagName == 'body') { - // this can trigger for too many reasons - //module.error(error.container, tagName, $module); - module.determineContainer(); - } - else { - if( Math.abs($container.outerHeight() - module.cache.context.height) > settings.jitter) { - module.debug('Context has padding, specifying exact height for container', module.cache.context.height); - $container.css({ - height: module.cache.context.height - }); - } - } - }, - minimumSize: function() { - var - element = module.cache.element - ; - $container - .css('min-height', element.height) - ; - }, - scroll: function(scroll) { - module.debug('Setting scroll on element', scroll); - if(module.elementScroll == scroll) { - return; - } - if( module.is.top() ) { - $module - .css('bottom', '') - .css('top', -scroll) - ; - } - if( module.is.bottom() ) { - $module - .css('top', '') - .css('bottom', scroll) - ; - } - }, - size: function() { - if(module.cache.element.height !== 0 && module.cache.element.width !== 0) { - element.style.setProperty('width', module.cache.element.width + 'px', 'important'); - element.style.setProperty('height', module.cache.element.height + 'px', 'important'); - } - } - }, - - is: { - standardScroll: function() { - return ($scroll[0] == window); - }, - top: function() { - return $module.hasClass(className.top); - }, - bottom: function() { - return $module.hasClass(className.bottom); - }, - initialPosition: function() { - return (!module.is.fixed() && !module.is.bound()); - }, - hidden: function() { - return (!$module.is(':visible')); - }, - bound: function() { - return $module.hasClass(className.bound); - }, - fixed: function() { - return $module.hasClass(className.fixed); - } - }, - - stick: function(scroll) { - var - cachedPosition = scroll || $scroll.scrollTop(), - cache = module.cache, - fits = cache.fits, - sameHeight = cache.sameHeight, - element = cache.element, - scrollContext = cache.scrollContext, - context = cache.context, - offset = (module.is.bottom() && settings.pushing) - ? settings.bottomOffset - : settings.offset, - scroll = { - top : cachedPosition + offset, - bottom : cachedPosition + offset + scrollContext.height - }, - direction = module.get.direction(scroll.top), - elementScroll = (fits) - ? 0 - : module.get.elementScroll(scroll.top), - - // shorthand - doesntFit = !fits, - elementVisible = (element.height !== 0) - ; - if(elementVisible && !sameHeight) { - - if( module.is.initialPosition() ) { - if(scroll.top >= context.bottom) { - module.debug('Initial element position is bottom of container'); - module.bindBottom(); - } - else if(scroll.top > element.top) { - if( (element.height + scroll.top - elementScroll) >= context.bottom ) { - module.debug('Initial element position is bottom of container'); - module.bindBottom(); - } - else { - module.debug('Initial element position is fixed'); - module.fixTop(); - } - } - - } - else if( module.is.fixed() ) { - - // currently fixed top - if( module.is.top() ) { - if( scroll.top <= element.top ) { - module.debug('Fixed element reached top of container'); - module.setInitialPosition(); - } - else if( (element.height + scroll.top - elementScroll) >= context.bottom ) { - module.debug('Fixed element reached bottom of container'); - module.bindBottom(); - } - // scroll element if larger than screen - else if(doesntFit) { - module.set.scroll(elementScroll); - module.save.lastScroll(scroll.top); - module.save.elementScroll(elementScroll); - } - } - - // currently fixed bottom - else if(module.is.bottom() ) { - - // top edge - if( (scroll.bottom - element.height) <= element.top) { - module.debug('Bottom fixed rail has reached top of container'); - module.setInitialPosition(); - } - // bottom edge - else if(scroll.bottom >= context.bottom) { - module.debug('Bottom fixed rail has reached bottom of container'); - module.bindBottom(); - } - // scroll element if larger than screen - else if(doesntFit) { - module.set.scroll(elementScroll); - module.save.lastScroll(scroll.top); - module.save.elementScroll(elementScroll); - } - - } - } - else if( module.is.bottom() ) { - if( scroll.top <= element.top ) { - module.debug('Jumped from bottom fixed to top fixed, most likely used home/end button'); - module.setInitialPosition(); - } - else { - if(settings.pushing) { - if(module.is.bound() && scroll.bottom <= context.bottom ) { - module.debug('Fixing bottom attached element to bottom of browser.'); - module.fixBottom(); - } - } - else { - if(module.is.bound() && (scroll.top <= context.bottom - element.height) ) { - module.debug('Fixing bottom attached element to top of browser.'); - module.fixTop(); - } - } - } - } - } - }, - - bindTop: function() { - module.debug('Binding element to top of parent container'); - module.remove.offset(); - $module - .css({ - left : '', - top : '', - marginBottom : '' - }) - .removeClass(className.fixed) - .removeClass(className.bottom) - .addClass(className.bound) - .addClass(className.top) - ; - settings.onTop.call(element); - settings.onUnstick.call(element); - }, - bindBottom: function() { - module.debug('Binding element to bottom of parent container'); - module.remove.offset(); - $module - .css({ - left : '', - top : '' - }) - .removeClass(className.fixed) - .removeClass(className.top) - .addClass(className.bound) - .addClass(className.bottom) - ; - settings.onBottom.call(element); - settings.onUnstick.call(element); - }, - - setInitialPosition: function() { - module.debug('Returning to initial position'); - module.unfix(); - module.unbind(); - }, - - - fixTop: function() { - module.debug('Fixing element to top of page'); - if(settings.setSize) { - module.set.size(); - } - module.set.minimumSize(); - module.set.offset(); - $module - .css({ - left : module.cache.element.left, - bottom : '', - marginBottom : '' - }) - .removeClass(className.bound) - .removeClass(className.bottom) - .addClass(className.fixed) - .addClass(className.top) - ; - settings.onStick.call(element); - }, - - fixBottom: function() { - module.debug('Sticking element to bottom of page'); - if(settings.setSize) { - module.set.size(); - } - module.set.minimumSize(); - module.set.offset(); - $module - .css({ - left : module.cache.element.left, - bottom : '', - marginBottom : '' - }) - .removeClass(className.bound) - .removeClass(className.top) - .addClass(className.fixed) - .addClass(className.bottom) - ; - settings.onStick.call(element); - }, - - unbind: function() { - if( module.is.bound() ) { - module.debug('Removing container bound position on element'); - module.remove.offset(); - $module - .removeClass(className.bound) - .removeClass(className.top) - .removeClass(className.bottom) - ; - } - }, - - unfix: function() { - if( module.is.fixed() ) { - module.debug('Removing fixed position on element'); - module.remove.minimumSize(); - module.remove.offset(); - $module - .removeClass(className.fixed) - .removeClass(className.top) - .removeClass(className.bottom) - ; - settings.onUnstick.call(element); - } - }, - - reset: function() { - module.debug('Resetting elements position'); - module.unbind(); - module.unfix(); - module.resetCSS(); - module.remove.offset(); - module.remove.lastScroll(); - }, - - resetCSS: function() { - $module - .css({ - width : '', - height : '' - }) - ; - $container - .css({ - height: '' - }) - ; - }, - - setting: function(name, value) { - if( $.isPlainObject(name) ) { - $.extend(true, settings, name); - } - else if(value !== undefined) { - 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, 0); - }, - 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 { - return false; - } - }); - } - if ( $.isFunction( found ) ) { - response = found.apply(context, passedArguments); - } - else if(found !== undefined) { - response = found; - } - if($.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) { - instance.invoke('destroy'); - } - module.initialize(); - } - }) - ; - - return (returnedValue !== undefined) - ? returnedValue - : this - ; -}; - -$.fn.sticky.settings = { - - name : 'Sticky', - namespace : 'sticky', - - silent : false, - debug : false, - verbose : true, - performance : true, - - // whether to stick in the opposite direction on scroll up - pushing : false, - - context : false, - container : false, - - // Context to watch scroll events - scrollContext : window, - - // Offset to adjust scroll - offset : 0, - - // Offset to adjust scroll when attached to bottom of screen - bottomOffset : 0, - - // will only set container height if difference between context and container is larger than this number - jitter : 5, - - // set width of sticky element when it is fixed to page (used to make sure 100% width is maintained if no fixed size set) - setSize : true, - - // Whether to automatically observe changes with Mutation Observers - observeChanges : false, - - // Called when position is recalculated - onReposition : function(){}, - - // Called on each scroll - onScroll : function(){}, - - // Called when element is stuck to viewport - onStick : function(){}, - - // Called when element is unstuck from viewport - onUnstick : function(){}, - - // Called when element reaches top of context - onTop : function(){}, - - // Called when element reaches bottom of context - onBottom : function(){}, - - error : { - container : 'Sticky element must be inside a relative container', - visible : 'Element is hidden, you must call refresh after element becomes visible. Use silent setting to surpress this warning in production.', - method : 'The method you called is not defined.', - invalidContext : 'Context specified does not exist', - elementSize : 'Sticky element is larger than its container, cannot create sticky.' - }, - - className : { - bound : 'bound', - fixed : 'fixed', - supported : 'native', - top : 'top', - bottom : 'bottom' - } - -}; - -})( jQuery, window, document ); diff --git a/app/static/semantic/components/sticky.min.css b/app/static/semantic/components/sticky.min.css deleted file mode 100755 index 2fcb95b..0000000 --- a/app/static/semantic/components/sticky.min.css +++ /dev/null @@ -1,9 +0,0 @@ -/*! - * # Semantic UI 2.4.0 - Sticky - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */.ui.sticky{position:static;-webkit-transition:none;transition:none;z-index:800}.ui.sticky.bound{position:absolute;left:auto;right:auto}.ui.sticky.fixed{position:fixed;left:auto;right:auto}.ui.sticky.bound.top,.ui.sticky.fixed.top{top:0;bottom:auto}.ui.sticky.bound.bottom,.ui.sticky.fixed.bottom{top:auto;bottom:0}.ui.native.sticky{position:-webkit-sticky;position:-moz-sticky;position:-ms-sticky;position:-o-sticky;position:sticky} \ No newline at end of file diff --git a/app/static/semantic/components/sticky.min.js b/app/static/semantic/components/sticky.min.js deleted file mode 100755 index cf831ca..0000000 --- a/app/static/semantic/components/sticky.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(T,w,B,P){"use strict";w=void 0!==w&&w.Math==Math?w:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")(),T.fn.sticky=function(b){var v,e=T(this),x=e.selector||"",C=(new Date).getTime(),S=[],y=b,k="string"==typeof y,z=[].slice.call(arguments,1);return e.each(function(){var n,i,e,t,m,u=T.isPlainObject(b)?T.extend(!0,{},T.fn.sticky.settings,b):T.extend({},T.fn.sticky.settings),o=u.className,s=u.namespace,r=u.error,c="."+s,l="module-"+s,a=T(this),f=T(w),d=T(u.scrollContext),h=(a.selector,a.data(l)),g=w.requestAnimationFrame||w.mozRequestAnimationFrame||w.webkitRequestAnimationFrame||w.msRequestAnimationFrame||function(e){setTimeout(e,0)},p=this;m={initialize:function(){m.determineContainer(),m.determineContext(),m.verbose("Initializing sticky",u,n),m.save.positions(),m.checkErrors(),m.bind.events(),u.observeChanges&&m.observeChanges(),m.instantiate()},instantiate:function(){m.verbose("Storing instance of module",m),h=m,a.data(l,m)},destroy:function(){m.verbose("Destroying previous instance"),m.reset(),e&&e.disconnect(),t&&t.disconnect(),f.off("load"+c,m.event.load).off("resize"+c,m.event.resize),d.off("scrollchange"+c,m.event.scrollchange),a.removeData(l)},observeChanges:function(){"MutationObserver"in w&&(e=new MutationObserver(m.event.documentChanged),t=new MutationObserver(m.event.changed),e.observe(B,{childList:!0,subtree:!0}),t.observe(p,{childList:!0,subtree:!0}),t.observe(i[0],{childList:!0,subtree:!0}),m.debug("Setting up mutation observer",t))},determineContainer:function(){n=u.container?T(u.container):a.offsetParent()},determineContext:function(){0!==(i=u.context?T(u.context):n).length||m.error(r.invalidContext,u.context,a)},checkErrors:function(){if(m.is.hidden()&&m.error(r.visible,a),m.cache.element.height>m.cache.context.height)return m.reset(),void m.error(r.elementSize,a)},bind:{events:function(){f.on("load"+c,m.event.load).on("resize"+c,m.event.resize),d.off("scroll"+c).on("scroll"+c,m.event.scroll).on("scrollchange"+c,m.event.scrollchange)}},event:{changed:function(e){clearTimeout(m.timer),m.timer=setTimeout(function(){m.verbose("DOM tree modified, updating sticky menu",e),m.refresh()},100)},documentChanged:function(e){[].forEach.call(e,function(e){e.removedNodes&&[].forEach.call(e.removedNodes,function(e){(e==p||0");e[0];return e.addClass(o.supported),e.css("position").match("sticky")}},save:{lastScroll:function(e){m.lastScroll=e},elementScroll:function(e){m.elementScroll=e},positions:function(){var e={height:d.height()},t={margin:{top:parseInt(a.css("margin-top"),10),bottom:parseInt(a.css("margin-bottom"),10)},offset:a.offset(),width:a.outerWidth(),height:a.outerHeight()},o={offset:i.offset(),height:i.outerHeight()};n.outerHeight();m.is.standardScroll()||(m.debug("Non-standard scroll. Removing scroll offset from element offset"),e.top=d.scrollTop(),e.left=d.scrollLeft(),t.offset.top+=e.top,o.offset.top+=e.top,t.offset.left+=e.left,o.offset.left+=e.left),m.cache={fits:t.height+u.offset<=e.height,sameHeight:t.height==o.height,scrollContext:{height:e.height},element:{margin:t.margin,top:t.offset.top-t.margin.top,left:t.offset.left,width:t.width,height:t.height,bottom:t.offset.top+t.height},context:{top:o.offset.top,height:o.height,bottom:o.offset.top+o.height}},m.set.containerSize(),m.stick(),m.debug("Caching element positions",m.cache)}},get:{direction:function(e){var t="down";return e=e||d.scrollTop(),m.lastScroll!==P&&(m.lastScrolle&&(t="up")),t},scrollChange:function(e){return e=e||d.scrollTop(),m.lastScroll?e-m.lastScroll:0},currentElementScroll:function(){return m.elementScroll?m.elementScroll:m.is.top()?Math.abs(parseInt(a.css("top"),10))||0:Math.abs(parseInt(a.css("bottom"),10))||0},elementScroll:function(e){e=e||d.scrollTop();var t=m.cache.element,o=m.cache.scrollContext,n=m.get.scrollChange(e),i=t.height-o.height+u.offset,s=m.get.currentElementScroll(),r=s+n;return s=m.cache.fits||r<0?0:iu.jitter&&(m.debug("Context has padding, specifying exact height for container",m.cache.context.height),n.css({height:m.cache.context.height}))},minimumSize:function(){var e=m.cache.element;n.css("min-height",e.height)},scroll:function(e){m.debug("Setting scroll on element",e),m.elementScroll!=e&&(m.is.top()&&a.css("bottom","").css("top",-e),m.is.bottom()&&a.css("top","").css("bottom",e))},size:function(){0!==m.cache.element.height&&0!==m.cache.element.width&&(p.style.setProperty("width",m.cache.element.width+"px","important"),p.style.setProperty("height",m.cache.element.height+"px","important"))}},is:{standardScroll:function(){return d[0]==w},top:function(){return a.hasClass(o.top)},bottom:function(){return a.hasClass(o.bottom)},initialPosition:function(){return!m.is.fixed()&&!m.is.bound()},hidden:function(){return!a.is(":visible")},bound:function(){return a.hasClass(o.bound)},fixed:function(){return a.hasClass(o.fixed)}},stick:function(e){var t=e||d.scrollTop(),o=m.cache,n=o.fits,i=o.sameHeight,s=o.element,r=o.scrollContext,c=o.context,l=m.is.bottom()&&u.pushing?u.bottomOffset:u.offset,a=(e={top:t+l,bottom:t+l+r.height},m.get.direction(e.top),n?0:m.get.elementScroll(e.top)),f=!n;0!==s.height&&!i&&(m.is.initialPosition()?e.top>=c.bottom?(m.debug("Initial element position is bottom of container"),m.bindBottom()):e.top>s.top&&(s.height+e.top-a>=c.bottom?(m.debug("Initial element position is bottom of container"),m.bindBottom()):(m.debug("Initial element position is fixed"),m.fixTop())):m.is.fixed()?m.is.top()?e.top<=s.top?(m.debug("Fixed element reached top of container"),m.setInitialPosition()):s.height+e.top-a>=c.bottom?(m.debug("Fixed element reached bottom of container"),m.bindBottom()):f&&(m.set.scroll(a),m.save.lastScroll(e.top),m.save.elementScroll(a)):m.is.bottom()&&(e.bottom-s.height<=s.top?(m.debug("Bottom fixed rail has reached top of container"),m.setInitialPosition()):e.bottom>=c.bottom?(m.debug("Bottom fixed rail has reached bottom of container"),m.bindBottom()):f&&(m.set.scroll(a),m.save.lastScroll(e.top),m.save.elementScroll(a))):m.is.bottom()&&(e.top<=s.top?(m.debug("Jumped from bottom fixed to top fixed, most likely used home/end button"),m.setInitialPosition()):u.pushing?m.is.bound()&&e.bottom<=c.bottom&&(m.debug("Fixing bottom attached element to bottom of browser."),m.fixBottom()):m.is.bound()&&e.top<=c.bottom-s.height&&(m.debug("Fixing bottom attached element to top of browser."),m.fixTop())))},bindTop:function(){m.debug("Binding element to top of parent container"),m.remove.offset(),a.css({left:"",top:"",marginBottom:""}).removeClass(o.fixed).removeClass(o.bottom).addClass(o.bound).addClass(o.top),u.onTop.call(p),u.onUnstick.call(p)},bindBottom:function(){m.debug("Binding element to bottom of parent container"),m.remove.offset(),a.css({left:"",top:""}).removeClass(o.fixed).removeClass(o.top).addClass(o.bound).addClass(o.bottom),u.onBottom.call(p),u.onUnstick.call(p)},setInitialPosition:function(){m.debug("Returning to initial position"),m.unfix(),m.unbind()},fixTop:function(){m.debug("Fixing element to top of page"),u.setSize&&m.set.size(),m.set.minimumSize(),m.set.offset(),a.css({left:m.cache.element.left,bottom:"",marginBottom:""}).removeClass(o.bound).removeClass(o.bottom).addClass(o.fixed).addClass(o.top),u.onStick.call(p)},fixBottom:function(){m.debug("Sticking element to bottom of page"),u.setSize&&m.set.size(),m.set.minimumSize(),m.set.offset(),a.css({left:m.cache.element.left,bottom:"",marginBottom:""}).removeClass(o.bound).removeClass(o.top).addClass(o.fixed).addClass(o.bottom),u.onStick.call(p)},unbind:function(){m.is.bound()&&(m.debug("Removing container bound position on element"),m.remove.offset(),a.removeClass(o.bound).removeClass(o.top).removeClass(o.bottom))},unfix:function(){m.is.fixed()&&(m.debug("Removing fixed position on element"),m.remove.minimumSize(),m.remove.offset(),a.removeClass(o.fixed).removeClass(o.top).removeClass(o.bottom),u.onUnstick.call(p))},reset:function(){m.debug("Resetting elements position"),m.unbind(),m.unfix(),m.resetCSS(),m.remove.offset(),m.remove.lastScroll()},resetCSS:function(){a.css({width:"",height:""}),n.css({height:""})},setting:function(e,t){if(T.isPlainObject(e))T.extend(!0,u,e);else{if(t===P)return u[e];u[e]=t}},internal:function(e,t){if(T.isPlainObject(e))T.extend(!0,m,e);else{if(t===P)return m[e];m[e]=t}},debug:function(){!u.silent&&u.debug&&(u.performance?m.performance.log(arguments):(m.debug=Function.prototype.bind.call(console.info,console,u.name+":"),m.debug.apply(console,arguments)))},verbose:function(){!u.silent&&u.verbose&&u.debug&&(u.performance?m.performance.log(arguments):(m.verbose=Function.prototype.bind.call(console.info,console,u.name+":"),m.verbose.apply(console,arguments)))},error:function(){u.silent||(m.error=Function.prototype.bind.call(console.error,console,u.name+":"),m.error.apply(console,arguments))},performance:{log:function(e){var t,o;u.performance&&(o=(t=(new Date).getTime())-(C||t),C=t,S.push({Name:e[0],Arguments:[].slice.call(e,1)||"",Element:p,"Execution Time":o})),clearTimeout(m.performance.timer),m.performance.timer=setTimeout(m.performance.display,0)},display:function(){var e=u.name+":",o=0;C=!1,clearTimeout(m.performance.timer),T.each(S,function(e,t){o+=t["Execution Time"]}),e+=" "+o+"ms",x&&(e+=" '"+x+"'"),(console.group!==P||console.table!==P)&&0")},fields:function(e){var n=F();return F.each(e,function(e,t){n=n.add(h.get.field(t))}),n},validation:function(n){var i,o;return!!c&&(F.each(c,function(e,t){o=t.identifier||e,h.get.field(o)[0]==n[0]&&(t.identifier=o,i=t)}),i||!1)},value:function(e){var t=[];return t.push(e),h.get.values.call(v,t)[e]},values:function(e){var t=F.isArray(e)?h.get.fields(e):n,c={};return t.each(function(e,t){var n=F(t),i=(n.prop("type"),n.prop("name")),o=n.val(),a=n.is(f.checkbox),r=n.is(f.radio),s=-1!==i.indexOf("[]"),l=!!a&&n.is(":checked");i&&(s?(i=i.replace("[]",""),c[i]||(c[i]=[]),a?l?c[i].push(o||!0):c[i].push(!1):c[i].push(o)):r?c[i]!==D&&0!=c[i]||(c[i]=!!l&&(o||!0)):c[i]=a?!!l&&(o||!0):o)}),c}},has:{field:function(e){return h.verbose("Checking for existence of a field with identifier",e),"string"!=typeof(e=h.escape.string(e))&&h.error(s.identifier,e),0"}),F(n+="")},prompt:function(e){return F("
").addClass("ui basic red pointing prompt label").html(e[0])}},rules:{empty:function(e){return!(e===D||""===e||F.isArray(e)&&0===e.length)},checked:function(){return 0=t},length:function(e,t){return e!==D&&e.length>=t},exactLength:function(e,t){return e!==D&&e.length==t},maxLength:function(e,t){return e!==D&&e.length<=t},match:function(e,t){var n;F(this);return 0=t)},exactCount:function(e,t){return 0==t?""===e:1==t?""!==e&&-1===e.search(","):e.split(",").length==t},maxCount:function(e,t){return 0!=t&&(1==t?-1===e.search(","):e.split(",").length<=t)}}}}(jQuery,window,document),function(S,k,e,T){"use strict";k=void 0!==k&&k.Math==Math?k:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")(),S.fn.accordion=function(a){var v,r=S(this),b=(new Date).getTime(),y=[],x=a,C="string"==typeof x,w=[].slice.call(arguments,1);k.requestAnimationFrame||k.mozRequestAnimationFrame||k.webkitRequestAnimationFrame||k.msRequestAnimationFrame;return r.each(function(){var e,c,u=S.isPlainObject(a)?S.extend(!0,{},S.fn.accordion.settings,a):S.extend({},S.fn.accordion.settings),d=u.className,t=u.namespace,f=u.selector,s=u.error,n="."+t,i="module-"+t,o=r.selector||"",m=S(this),g=m.find(f.title),p=m.find(f.content),l=this,h=m.data(i);c={initialize:function(){c.debug("Initializing",m),c.bind.events(),u.observeChanges&&c.observeChanges(),c.instantiate()},instantiate:function(){h=c,m.data(i,c)},destroy:function(){c.debug("Destroying previous instance",m),m.off(n).removeData(i)},refresh:function(){g=m.find(f.title),p=m.find(f.content)},observeChanges:function(){"MutationObserver"in k&&((e=new MutationObserver(function(e){c.debug("DOM tree modified, updating selector cache"),c.refresh()})).observe(l,{childList:!0,subtree:!0}),c.debug("Setting up mutation observer",e))},bind:{events:function(){c.debug("Binding delegated events"),m.on(u.on+n,f.trigger,c.event.click)}},event:{click:function(){c.toggle.call(this)}},toggle:function(e){var t=e!==T?"number"==typeof e?g.eq(e):S(e).closest(f.title):S(this).closest(f.title),n=t.next(p),i=n.hasClass(d.animating),o=n.hasClass(d.active),a=o&&!i,r=!o&&i;c.debug("Toggling visibility of content",t),a||r?u.collapsible?c.close.call(t):c.debug("Cannot close accordion content collapsing is disabled"):c.open.call(t)},open:function(e){var t=e!==T?"number"==typeof e?g.eq(e):S(e).closest(f.title):S(this).closest(f.title),n=t.next(p),i=n.hasClass(d.animating);n.hasClass(d.active)||i?c.debug("Accordion already open, skipping",n):(c.debug("Opening accordion content",t),u.onOpening.call(n),u.onChanging.call(n),u.exclusive&&c.closeOthers.call(t),t.addClass(d.active),n.stop(!0,!0).addClass(d.animating),u.animateChildren&&(S.fn.transition!==T&&m.transition("is supported")?n.children().transition({animation:"fade in",queue:!1,useFailSafe:!0,debug:u.debug,verbose:u.verbose,duration:u.duration}):n.children().stop(!0,!0).animate({opacity:1},u.duration,c.resetOpacity)),n.slideDown(u.duration,u.easing,function(){n.removeClass(d.animating).addClass(d.active),c.reset.display.call(this),u.onOpen.call(this),u.onChange.call(this)}))},close:function(e){var t=e!==T?"number"==typeof e?g.eq(e):S(e).closest(f.title):S(this).closest(f.title),n=t.next(p),i=n.hasClass(d.animating),o=n.hasClass(d.active);!o&&!(!o&&i)||o&&i||(c.debug("Closing accordion content",n),u.onClosing.call(n),u.onChanging.call(n),t.removeClass(d.active),n.stop(!0,!0).addClass(d.animating),u.animateChildren&&(S.fn.transition!==T&&m.transition("is supported")?n.children().transition({animation:"fade out",queue:!1,useFailSafe:!0,debug:u.debug,verbose:u.verbose,duration:u.duration}):n.children().stop(!0,!0).animate({opacity:0},u.duration,c.resetOpacity)),n.slideUp(u.duration,u.easing,function(){n.removeClass(d.animating).removeClass(d.active),c.reset.display.call(this),u.onClose.call(this),u.onChange.call(this)}))},closeOthers:function(e){var t,n,i,o=e!==T?g.eq(e):S(this).closest(f.title),a=o.parents(f.content).prev(f.title),r=o.closest(f.accordion),s=f.title+"."+d.active+":visible",l=f.content+"."+d.active+":visible";i=u.closeNested?(t=r.find(s).not(a)).next(p):(t=r.find(s).not(a),n=r.find(l).find(s).not(a),(t=t.not(n)).next(p)),0 adjusting invoked element"),c=c.closest(o.checkbox),s.refresh())}},setup:function(){s.set.initialLoad(),s.is.indeterminate()?(s.debug("Initial value is indeterminate"),s.indeterminate()):s.is.checked()?(s.debug("Initial value is checked"),s.check()):(s.debug("Initial value is unchecked"),s.uncheck()),s.remove.initialLoad()},refresh:function(){u=c.children(o.label),d=c.children(o.input),f=d[0]},hide:{input:function(){s.verbose("Modifying z-index to be unselectable"),d.addClass(t.hidden)}},show:{input:function(){s.verbose("Modifying z-index to be selectable"),d.removeClass(t.hidden)}},observeChanges:function(){"MutationObserver"in A&&((e=new MutationObserver(function(e){s.debug("DOM tree modified, updating selector cache"),s.refresh()})).observe(h,{childList:!0,subtree:!0}),s.debug("Setting up mutation observer",e))},attachEvents:function(e,t){var n=T(e);t=T.isFunction(s[t])?s[t]:s.toggle,0").insertAfter(d),s.debug("Creating label",u))}},has:{label:function(){return 0 .ui.dimmer",content:".ui.dimmer > .content, .ui.dimmer > .content > .center"},template:{dimmer:function(){return S("
").attr("class","ui dimmer")}}}}(jQuery,window,document),function(Y,Z,K,J){"use strict";Z=void 0!==Z&&Z.Math==Math?Z:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")(),Y.fn.dropdown=function(M){var L,V=Y(this),N=Y(K),H=V.selector||"",U="ontouchstart"in K.documentElement,W=(new Date).getTime(),B=[],Q=M,X="string"==typeof Q,$=[].slice.call(arguments,1);return V.each(function(n){var e,t,i,o,a,r,s,g,p=Y.isPlainObject(M)?Y.extend(!0,{},Y.fn.dropdown.settings,M):Y.extend({},Y.fn.dropdown.settings),h=p.className,c=p.message,l=p.fields,v=p.keys,b=p.metadata,u=p.namespace,d=p.regExp,y=p.selector,f=p.error,m=p.templates,x="."+u,C="module-"+u,w=Y(this),S=Y(p.context),k=w.find(y.text),T=w.find(y.search),A=w.find(y.sizer),R=w.find(y.input),P=w.find(y.icon),E=0").html(o).attr("data-"+b.value,t).attr("data-"+b.text,t).addClass(h.addition).addClass(h.item),p.hideAdditions&&i.addClass(h.hidden),n=n===J?i:n.add(i),g.verbose("Creating user choices for value",t,i))}),n)},userLabels:function(e){var t=g.get.userValues();t&&(g.debug("Adding user labels",t),Y.each(t,function(e,t){g.verbose("Adding custom user value"),g.add.label(t,t)}))},menu:function(){F=Y("
").addClass(h.menu).appendTo(w)},sizer:function(){A=Y("").addClass(h.sizer).insertAfter(T)}},search:function(e){e=e!==J?e:g.get.query(),g.verbose("Searching for query",e),g.has.minCharacters(e)?g.filter(e):g.hide()},select:{firstUnfiltered:function(){g.verbose("Selecting first non-filtered element"),g.remove.selectedItem(),O.not(y.unselectable).not(y.addition+y.hidden).eq(0).addClass(h.selected)},nextAvailable:function(e){var t=(e=e.eq(0)).nextAll(y.item).not(y.unselectable).eq(0),n=e.prevAll(y.item).not(y.unselectable).eq(0);0").addClass(h.search).prop("autocomplete","off").insertBefore(k)),g.is.multiple()&&g.is.searchSelection()&&!g.has.sizer()&&g.create.sizer(),p.allowTab&&g.set.tabbable()},select:function(){var e=g.get.selectValues();g.debug("Dropdown initialized on a select",e),w.is("select")&&(R=w),0").attr("class",R.attr("class")).addClass(h.selection).addClass(h.dropdown).html(m.dropdown(e)).insertBefore(R),R.hasClass(h.multiple)&&!1===R.prop("multiple")&&(g.error(f.missingMultiple),R.prop("multiple",!0)),R.is("[multiple]")&&g.set.multiple(),R.prop("disabled")&&(g.debug("Disabling dropdown"),w.addClass(h.disabled)),R.removeAttr("class").detach().prependTo(w)),g.refresh()},menu:function(e){F.html(m.menu(e,l)),O=F.find(y.item)},reference:function(){g.debug("Dropdown behavior was called on select, replacing with closest dropdown"),w=w.parent(y.dropdown),I=w.data(C),z=w.get(0),g.refresh(),g.setup.returnedObject()},returnedObject:function(){var e=V.slice(0,n),t=V.slice(n+1);V=e.add(w).add(t)}},refresh:function(){g.refreshSelectors(),g.refreshData()},refreshItems:function(){O=F.find(y.item)},refreshSelectors:function(){g.verbose("Refreshing selector cache"),k=w.find(y.text),T=w.find(y.search),R=w.find(y.input),P=w.find(y.icon),E=0 modified, recreating menu");var n=!1;Y.each(e,function(e,t){if(Y(t.target).is("select")||Y(t.addedNodes).is("select"))return n=!0}),n&&(g.disconnect.selectObserver(),g.refresh(),g.setup.select(),g.set.selected(),g.observe.select())}},menu:{mutation:function(e){var t=e[0],n=t.addedNodes?Y(t.addedNodes[0]):Y(!1),i=t.removedNodes?Y(t.removedNodes[0]):Y(!1),o=n.add(i),a=o.is(y.addition)||0t.name?1:-1}),g.debug("Retrieved and sorted values from select",o)):g.debug("Retrieved values from select",o),o},activeItem:function(){return O.filter("."+h.active)},selectedItem:function(){var e=O.not(y.unselectable).filter("."+h.selected);return 0=p.maxSelections?(g.debug("Maximum selection count reached"),p.useLabels&&(O.addClass(h.filtered),g.add.message(c.maxSelections)),!0):(g.verbose("No longer at maximum selection count"),g.remove.message(),g.remove.filteredItem(),g.is.searchSelection()&&g.filterItems(),!1))}},restore:{defaults:function(){g.clear(),g.restore.defaultText(),g.restore.defaultValue()},defaultText:function(){var e=g.get.defaultText();e===g.get.placeholderText?(g.debug("Restoring default placeholder text",e),g.set.placeholderText(e)):(g.debug("Restoring default text",e),g.set.text(e))},placeholderText:function(){g.set.placeholderText()},defaultValue:function(){var e=g.get.defaultValue();e!==J&&(g.debug("Restoring default value",e),""!==e?(g.set.value(e),g.set.selected()):(g.remove.activeItem(),g.remove.selectedItem()))},labels:function(){p.allowAdditions&&(p.useLabels||(g.error(f.labels),p.useLabels=!0),g.debug("Restoring selected values"),g.create.userLabels()),g.check.maxSelections()},selected:function(){g.restore.values(),g.is.multiple()?(g.debug("Restoring previously selected values and labels"),g.restore.labels()):g.debug("Restoring previously selected values")},values:function(){g.set.initialLoad(),p.apiSettings&&p.saveRemoteData&&g.get.remoteValues()?g.restore.remoteValues():g.set.selected(),g.remove.initialLoad()},remoteValues:function(){var e=g.get.remoteValues();g.debug("Recreating selected from session data",e),e&&(g.is.single()?Y.each(e,function(e,t){g.set.text(t)}):Y.each(e,function(e,t){g.add.label(e,t)}))}},read:{remoteData:function(e){var t;if(Z.Storage!==J)return(t=sessionStorage.getItem(e))!==J&&t;g.error(f.noStorage)}},save:{defaults:function(){g.save.defaultText(),g.save.placeholderText(),g.save.defaultValue()},defaultValue:function(){var e=g.get.value();g.verbose("Saving default value as",e),w.data(b.defaultValue,e)},defaultText:function(){var e=g.get.text();g.verbose("Saving default text as",e),w.data(b.defaultText,e)},placeholderText:function(){var e;!1!==p.placeholder&&k.hasClass(h.placeholder)&&(e=g.get.text(),g.verbose("Saving placeholder text as",e),w.data(b.placeholderText,e))},remoteData:function(e,t){Z.Storage!==J?(g.verbose("Saving remote data to session storage",t,e),sessionStorage.setItem(t,e)):g.error(f.noStorage)}},clear:function(){g.is.multiple()&&p.useLabels?g.remove.labels():(g.remove.activeItem(),g.remove.selectedItem()),g.set.placeholderText(),g.clearValue()},clearValue:function(){g.set.value("")},scrollPage:function(e,t){var n,i,o=t||g.get.selectedItem(),a=o.closest(y.menu),r=a.outerHeight(),s=a.scrollTop(),l=O.eq(0).outerHeight(),c=Math.floor(r/l),u=(a.prop("scrollHeight"),"up"==e?s-l*c:s+l*c),d=O.not(y.unselectable);i="up"==e?d.index(o)-c:d.index(o)+c,0<(n=("up"==e?0<=i:i").addClass(h.label).attr("data-"+b.value,a).html(m.label(a,t)),i=p.onLabelCreate.call(i,a,t),g.has.label(e)?g.debug("User selection already exists, skipping",a):(p.label.variation&&i.addClass(p.label.variation),!0===n?(g.debug("Animating in label",i),i.addClass(h.hidden).insertBefore(o).transition(p.label.transition,p.label.duration)):(g.debug("Adding selection label",i),i.insertBefore(o)))},message:function(e){var t=F.children(y.message),n=p.templates.message(g.add.variables(e));0").html(n).addClass(h.message).appendTo(F)},optionValue:function(e){var t=g.escape.value(e);0").prop("value",t).addClass(h.addition).html(e).appendTo(R),g.verbose("Adding user addition as an