From e1dae2da6bd5bd6e9de8cc85625f98cef6108620 Mon Sep 17 00:00:00 2001 From: John Skoumbourdis Date: Wed, 17 Feb 2016 21:11:11 +0200 Subject: [PATCH] Removing uniform.js Removing uniform JS as it is unnecessary and it is causing jQuery errors --- application/libraries/Grocery_CRUD.php | 16 +- .../uniform/images/bg-input-focus.png | Bin 143 -> 0 bytes .../uniform/images/bg-input.png | Bin 143 -> 0 bytes .../jquery_plugins/uniform/images/sprite.png | Bin 34229 -> 0 bytes .../uniform/uniform.default.css | 644 ------------ .../js/jquery_plugins/jquery.uniform.js | 967 ------------------ .../js/jquery_plugins/jquery.uniform.min.js | 1 - change_log.txt | 1 + 8 files changed, 11 insertions(+), 1618 deletions(-) delete mode 100644 assets/grocery_crud/css/jquery_plugins/uniform/images/bg-input-focus.png delete mode 100644 assets/grocery_crud/css/jquery_plugins/uniform/images/bg-input.png delete mode 100644 assets/grocery_crud/css/jquery_plugins/uniform/images/sprite.png delete mode 100644 assets/grocery_crud/css/jquery_plugins/uniform/uniform.default.css delete mode 100644 assets/grocery_crud/js/jquery_plugins/jquery.uniform.js delete mode 100644 assets/grocery_crud/js/jquery_plugins/jquery.uniform.min.js diff --git a/application/libraries/Grocery_CRUD.php b/application/libraries/Grocery_CRUD.php index 81449afd..9e0d67d3 100755 --- a/application/libraries/Grocery_CRUD.php +++ b/application/libraries/Grocery_CRUD.php @@ -2191,21 +2191,25 @@ protected function get_integer_input($field_info,$value) protected function get_true_false_input($field_info,$value) { - $this->set_css($this->default_css_path.'/jquery_plugins/uniform/uniform.default.css'); - $this->set_js_lib($this->default_javascript_path.'/jquery_plugins/jquery.uniform.min.js'); - $this->set_js_config($this->default_javascript_path.'/jquery_plugins/config/jquery.uniform.config.js'); - $value_is_null = empty($value) && $value !== '0' && $value !== 0 ? true : false; $input = "
"; $true_string = is_array($field_info->extras) && array_key_exists(1,$field_info->extras) ? $field_info->extras[1] : $this->default_true_false_text[1]; $checked = $value === '1' || ($value_is_null && $field_info->default === '1') ? "checked = 'checked'" : ""; - $input .= " "; + $input .= + "
"; $false_string = is_array($field_info->extras) && array_key_exists(0,$field_info->extras) ? $field_info->extras[0] : $this->default_true_false_text[0]; $checked = $value === '0' || ($value_is_null && $field_info->default === '0') ? "checked = 'checked'" : ""; - $input .= ""; + $input .= + "
"; $input .= "
"; diff --git a/assets/grocery_crud/css/jquery_plugins/uniform/images/bg-input-focus.png b/assets/grocery_crud/css/jquery_plugins/uniform/images/bg-input-focus.png deleted file mode 100644 index 0b059d48da54ea8912aa090ff066c305ad2bd737..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 143 zcmeAS@N?(olHy`uVBq!ia0vp^j6lrB!3-o#&#{0g$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWw1G`~f~8u0MYKc>n(WvuDrl-o5+(|Np=24<-Yp#5`RbLn>}1 nC8Q-JC8Q)IBqSybP0l+XkKgNrV7 diff --git a/assets/grocery_crud/css/jquery_plugins/uniform/images/bg-input.png b/assets/grocery_crud/css/jquery_plugins/uniform/images/bg-input.png deleted file mode 100644 index 485d222ebb14b743b62680377907cf01944bb761..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 143 zcmeAS@N?(olHy`uVBq!ia0vp^j6lrB!3-o#&#{0g$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWw1G`~f~8u1}vnee>qc=g*&i{rdI)|No0DL0f=QVxBIJAr-fh n5)u+p5|R?q5)u;_ISd#WoEZ4!^X2t`Di}On{an^LB{Ts5W?d~; diff --git a/assets/grocery_crud/css/jquery_plugins/uniform/images/sprite.png b/assets/grocery_crud/css/jquery_plugins/uniform/images/sprite.png deleted file mode 100644 index 66b558fc6e40a749db29374e9bfef084c7c91e0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34229 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 diff --git a/assets/grocery_crud/css/jquery_plugins/uniform/uniform.default.css b/assets/grocery_crud/css/jquery_plugins/uniform/uniform.default.css deleted file mode 100644 index bb21dd2c..00000000 --- a/assets/grocery_crud/css/jquery_plugins/uniform/uniform.default.css +++ /dev/null @@ -1,644 +0,0 @@ -/* - -Uniform Theme: Uniform Default -Version: 1.8 -By: Josh Pyles -License: MIT License ---- -For use with the Uniform plugin: -http://pixelmatrixdesign.com/uniform/ ---- -Generated by Uniform Theme Generator: -http://pixelmatrixdesign.com/uniform/themer.html - -*/ - -/* Global Declaration */ - -div.selector, -div.selector span, -div.checker span, -div.radio span, -div.uploader, -div.uploader span.action, -div.button, -div.button span { - background-image: url(images/sprite.png); - background-repeat: no-repeat; - -webkit-font-smoothing: antialiased; -} - -.selector, -.radio, -.checker, -.uploader, -.button, -.selector *, -.radio *, -.checker *, -.uploader *, -.button *{ - margin: 0; - padding: 0; -} - -/* INPUT & TEXTAREA */ - -input.text, -input.email, -input.search, -input.tel, -input.url, -input.datetime, -input.date, -input.month, -input.week, -input.time, -input.datetime-local, -input.number, -input.color, -input.password, -select.uniform-multiselect, -textarea.uniform { - font-size: 12px; - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; - font-weight: normal; - padding: 3px; - color: #777; - background: url('images/bg-input-focus.png') repeat-x 0px 0px; - background: url('images/bg-input.png') repeat-x 0px 0px; - border-top: solid 1px #aaa; - border-left: solid 1px #aaa; - border-bottom: solid 1px #ccc; - border-right: solid 1px #ccc; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; - border-radius: 3px; - outline: 0; -} - -/* remove default webkit and possible mozilla .search styles */ -input.search, input.search:active { - -moz-appearance: none; - -webkit-appearance: none; -} - -input.text:focus, -input.email:focus, -input.search:focus, -input.tel:focus, -input.url:focus, -input.datetime:focus, -input.date:focus, -input.month:focus, -input.week:focus, -input.time:focus, -input.datetime-local:focus, -input.number:focus, -input.color:focus, -input.password:focus, -select.uniform-multiselect:focus, -textarea.uniform:focus { - -webkit-box-shadow: 0px 0px 4px rgba(0,0,0,0.3); - -moz-box-shadow: 0px 0px 4px rgba(0,0,0,0.3); - box-shadow: 0px 0px 4px rgba(0,0,0,0.3); - border-color: #999; - background: url('images/bg-input-focus.png') repeat-x 0px 0px; -} - -/* SPRITES */ - -/* Select */ - -div.selector { - background-position: -483px -130px; - line-height: 26px; - height: 26px; -} - -div.selector span { - background-position: right 0px; - height: 26px; - line-height: 26px; -} - -div.selector select { - /* change these to adjust positioning of select element */ - top: 0px; - left: 0px; -} - -div.selector:active, -div.selector.active { - background-position: -483px -156px; -} - -div.selector:active span, -div.selector.active span { - background-position: right -26px; -} - -div.selector.focus, div.selector.hover, div.selector:hover { - background-position: -483px -182px; -} - -div.selector.focus span, div.selector.hover span, div.selector:hover span { - background-position: right -52px; -} - -div.selector.focus:active, -div.selector.focus.active, -div.selector:hover:active, -div.selector.active:hover { - background-position: -483px -208px; -} - -div.selector.focus:active span, -div.selector:hover:active span, -div.selector.active:hover span, -div.selector.focus.active span { - background-position: right -78px; -} - -div.selector.disabled { - background-position: -483px -234px; -} - -div.selector.disabled span { - background-position: right -104px; -} - -/* Checkbox */ - -div.checker { - width: 19px; - height: 19px; -} - -div.checker input { - width: 19px; - height: 19px; -} - -div.checker span { - background-position: 0px -260px; - height: 19px; - width: 19px; -} - -div.checker:active span, -div.checker.active span { - background-position: -19px -260px; -} - -div.checker.focus span, -div.checker:hover span { - background-position: -38px -260px; -} - -div.checker.focus:active span, -div.checker:active:hover span, -div.checker.active:hover span, -div.checker.focus.active span { - background-position: -57px -260px; -} - -div.checker span.checked { - background-position: -76px -260px; -} - -div.checker:active span.checked, -div.checker.active span.checked { - background-position: -95px -260px; -} - -div.checker.focus span.checked, -div.checker:hover span.checked { - background-position: -114px -260px; -} - -div.checker.focus:active span.checked, -div.checker:hover:active span.checked, -div.checker.active:hover span.checked, -div.checker.active.focus span.checked { - background-position: -133px -260px; -} - -div.checker.disabled span, -div.checker.disabled:active span, -div.checker.disabled.active span { - background-position: -152px -260px; -} - -div.checker.disabled span.checked, -div.checker.disabled:active span.checked, -div.checker.disabled.active span.checked { - background-position: -171px -260px; -} - -/* Radio */ - -div.radio { - width: 18px; - height: 18px; -} - -div.radio input { - width: 18px; - height: 18px; -} - -div.radio span { - height: 18px; - width: 18px; - background-position: 0px -279px; -} - -div.radio:active span, -div.radio.active span { - background-position: -18px -279px; -} - -div.radio.focus span, -div.radio:hover span { - background-position: -36px -279px; -} - -div.radio.focus:active span, -div.radio:active:hover span, -div.radio.active:hover span, -div.radio.active.focus span { - background-position: -54px -279px; -} - -div.radio span.checked { - background-position: -72px -279px; -} - -div.radio:active span.checked, -div.radio.active span.checked { - background-position: -90px -279px; -} - -div.radio.focus span.checked, div.radio:hover span.checked { - background-position: -108px -279px; -} - -div.radio.focus:active span.checked, -div.radio:hover:active span.checked, -div.radio.focus.active span.checked, -div.radio.active:hover span.checked { - background-position: -126px -279px; -} - -div.radio.disabled span, -div.radio.disabled:active span, -div.radio.disabled.active span { - background-position: -144px -279px; -} - -div.radio.disabled span.checked, -div.radio.disabled:active span.checked, -div.radio.disabled.active span.checked { - background-position: -162px -279px; -} - -/* Uploader */ - -div.uploader { - background-position: 0px -297px; - height: 28px; -} - -div.uploader span.action { - background-position: right -409px; - height: 24px; - line-height: 24px; -} - -div.uploader span.filename { - height: 24px; - /* change this line to adjust positioning of filename area */ - margin: 2px 0px 2px 2px; - line-height: 24px; -} - -div.uploader.focus, -div.uploader.hover, -div.uploader:hover { - background-position: 0px -353px; -} - -div.uploader.focus span.action, -div.uploader.hover span.action, -div.uploader:hover span.action { - background-position: right -437px; -} - -div.uploader.active span.action, -div.uploader:active span.action { - background-position: right -465px; -} - -div.uploader.focus.active span.action, -div.uploader:focus.active span.action, -div.uploader.focus:active span.action, -div.uploader:focus:active span.action { - background-position: right -493px; -} - -div.uploader.disabled { - background-position: 0px -325px; -} - -div.uploader.disabled span.action { - background-position: right -381px; -} - -div.button { - background-position: 0px -523px; -} - -div.button span { - background-position: right -643px; -} - -div.button.focus, -div.button:focus, -div.button:hover, -div.button.hover { - background-position: 0px -553px; -} - -div.button.focus span, -div.button:focus span, -div.button:hover span, -div.button.hover span { - background-position: right -673px; -} - -div.button.active, -div.button:active { - background-position: 0px -583px; -} - -div.button.active span, -div.button:active span { - background-position: right -703px; - color: #555; -} - -div.button.disabled, -div.button:disabled { - background-position: 0px -613px; -} - -div.button.disabled span, -div.button:disabled span { - background-position: right -733px; - color: #bbb; - cursor: default; -} - -/* PRESENTATION */ - -/* Button */ - -div.button { - height: 30px; -} - -div.button span { - margin-left: 13px; - height: 22px; - padding-top: 8px; - font-weight: bold; - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; - font-size: 12px; - letter-spacing: 1px; - text-transform: uppercase; - padding-left: 2px; - padding-right: 15px; -} - -/* Select */ -div.selector { - width: 190px; - font-size: 12px; -} - -div.selector select { - min-width: 190px; - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; - font-size: 12px; - border: solid 1px #fff; -} - -div.selector span { - padding: 0px 25px 0px 2px; - cursor: pointer; -} - -div.selector span { - color: #666; - width: 158px; - text-shadow: 0 1px 0 #fff; -} - -div.selector.disabled span { - color: #bbb; -} - -/* Checker */ -div.checker { - margin-right: 5px; -} - -/* Radio */ -div.radio { - margin-right: 3px; -} - -/* Uploader */ -div.uploader { - width: 190px; - cursor: pointer; -} - -div.uploader span.action { - width: 85px; - text-align: center; - text-shadow: #fff 0px 1px 0px; - background-color: #fff; - font-size: 11px; - font-weight: bold; -} - -div.uploader span.filename { - color: #777; - width: 82px; - border-right: solid 1px #bbb; - font-size: 11px; -} - -div.uploader input { - width: 190px; -} - -div.uploader.disabled span.action { - color: #aaa; -} - -div.uploader.disabled span.filename { - border-color: #ddd; - color: #aaa; -} -/* - -CORE FUNCTIONALITY - -Not advised to edit stuff below this line ------------------------------------------------------ -*/ - -.selector, -.checker, -.button, -.radio, -.uploader { - display: -moz-inline-box; - display: inline-block; - vertical-align: middle; - zoom: 1; - *display: inline; -} - -.selector select:focus, .radio input:focus, .checker input:focus, .uploader input:focus { - outline: 0; -} - -/* Button */ - -div.button a, -div.button button, -div.button input { - position: absolute; -} - -div.button { - cursor: pointer; - position: relative; -} - -div.button span { - display: -moz-inline-box; - display: inline-block; - line-height: 1; - text-align: center; -} - -/* Select */ - -div.selector { - position: relative; - padding-left: 10px; - overflow: hidden; -} - -div.selector span { - display: block; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} - -div.selector select { - position: absolute; - opacity: 0; - filter: alpha(opacity=0); - -moz-opacity: 0; - height: 25px; - border: none; - background: none; -} - -/* Checker */ - -div.checker { - position: relative; -} - -div.checker span { - display: -moz-inline-box; - display: inline-block; - text-align: center; -} - -div.checker input { - opacity: 0; - filter: alpha(opacity=0); - -moz-opacity: 0; - display: inline-block; - background: none; -} - -/* Radio */ - -div.radio { - position: relative; -} - -div.radio span { - display: -moz-inline-box; - display: inline-block; - text-align: center; -} - -div.radio input { - opacity: 0; - filter: alpha(opacity=0); - -moz-opacity: 0; - text-align: center; - display: inline-block; - background: none; -} - -/* Uploader */ - -div.uploader { - position: relative; - overflow: hidden; - cursor: default; -} - -div.uploader span.action { - float: left; - display: inline; - padding: 2px 0px; - overflow: hidden; - cursor: pointer; -} - -div.uploader span.filename { - padding: 0px 10px; - float: left; - display: block; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - cursor: default; -} - -div.uploader input { - opacity: 0; - filter: alpha(opacity=0); - -moz-opacity: 0; - position: absolute; - top: 0; - right: 0; - bottom: 0; - float: right; - height: 25px; - border: none; - cursor: default; -} diff --git a/assets/grocery_crud/js/jquery_plugins/jquery.uniform.js b/assets/grocery_crud/js/jquery_plugins/jquery.uniform.js deleted file mode 100644 index 4c810552..00000000 --- a/assets/grocery_crud/js/jquery_plugins/jquery.uniform.js +++ /dev/null @@ -1,967 +0,0 @@ -/* - -Uniform v2.0.0 -Copyright © 2009 Josh Pyles / Pixelmatrix Design LLC -http://pixelmatrixdesign.com - -Requires jQuery 1.3 or newer - -Much thanks to Thomas Reynolds and Buck Wilson for their help and advice on -this. - -Disabling text selection is made possible by Mathias Bynens - and his noSelect plugin. -, which is embedded. - -Also, thanks to David Kaneda and Eugene Bond for their contributions to the -plugin. - -Tyler Akins has also rewritten chunks of the plugin, helped close many issues, -and ensured version 2 got out the door. - -License: -MIT License - http://www.opensource.org/licenses/mit-license.php - -Enjoy! - -*/ -/*global jQuery, window, document*/ - -(function ($, undef) { - "use strict"; - - /** - * Use .prop() if jQuery supports it, otherwise fall back to .attr() - * - * @param jQuery $el jQuery'd element on which we're calling attr/prop - * @param ... All other parameters are passed to jQuery's function - * @return The result from jQuery - */ - function attrOrProp($el) { - var args = Array.prototype.slice.call(arguments, 1); - - if ($el.prop) { - // jQuery 1.6+ - return $el.prop.apply($el, args); - } - - // jQuery 1.5 and below - return $el.attr.apply($el, args); - } - - /** - * For backwards compatibility with older jQuery libraries, only bind - * one thing at a time. Also, this function adds our namespace to - * events in one consistent location, shrinking the minified code. - * - * The properties on the events object are the names of the events - * that we are supposed to add to. It can be a space separated list. - * The namespace will be added automatically. - * - * @param jQuery $el - * @param Object options Uniform options for this element - * @param Object events Events to bind, properties are event names - */ - function bindMany($el, options, events) { - var name, namespaced; - - for (name in events) { - if (events.hasOwnProperty(name)) { - namespaced = name.replace(/ |$/g, options.eventNamespace); - $el.bind(name, events[name]); - } - } - } - - /** - * Bind the hover, active, focus, and blur UI updates - * - * @param jQuery $el Original element - * @param jQuery $target Target for the events (our div/span) - * @param Object options Uniform options for the element $target - */ - function bindUi($el, $target, options) { - bindMany($el, options, { - focus: function () { - $target.addClass(options.focusClass); - }, - blur: function () { - $target.removeClass(options.focusClass); - $target.removeClass(options.activeClass); - }, - mouseenter: function () { - $target.addClass(options.hoverClass); - }, - mouseleave: function () { - $target.removeClass(options.hoverClass); - $target.removeClass(options.activeClass); - }, - "mousedown touchbegin": function () { - if (!$el.is(":disabled")) { - $target.addClass(options.activeClass); - } - }, - "mouseup touchend": function () { - $target.removeClass(options.activeClass); - } - }); - } - - /** - * Remove the hover, focus, active classes. - * - * @param jQuery $el Element with classes - * @param Object options Uniform options for the element - */ - function classClearStandard($el, options) { - $el.removeClass(options.hoverClass + " " + options.focusClass + " " + options.activeClass); - } - - /** - * Add or remove a class, depending on if it's "enabled" - * - * @param jQuery $el Element that has the class added/removed - * @param String className Class or classes to add/remove - * @param Boolean enabled True to add the class, false to remove - */ - function classUpdate($el, className, enabled) { - if (enabled) { - $el.addClass(className); - } else { - $el.removeClass(className); - } - } - - /** - * Updating the "checked" property can be a little tricky. This - * changed in jQuery 1.6 and now we can pass booleans to .prop(). - * Prior to that, one either adds an attribute ("checked=checked") or - * removes the attribute. - * - * @param jQuery $tag Our Uniform span/div - * @param jQuery $el Original form element - * @param Object options Uniform options for this element - */ - function classUpdateChecked($tag, $el, options) { - var c = "checked", - isChecked = $el.is(":" + c); - - if ($el.prop) { - // jQuery 1.6+ - $el.prop(c, isChecked); - } else { - // jQuery 1.5 and below - if (isChecked) { - $el.attr(c, c); - } else { - $el.removeAttr(c); - } - } - - classUpdate($tag, options.checkedClass, isChecked); - } - - /** - * Set or remove the "disabled" class for disabled elements, based on - * if the - * - * @param jQuery $tag Our Uniform span/div - * @param jQuery $el Original form element - * @param Object options Uniform options for this element - */ - function classUpdateDisabled($tag, $el, options) { - classUpdate($tag, options.disabledClass, $el.is(":disabled")); - } - - /** - * Wrap an element inside of a container or put the container next - * to the element. See the code for examples of the different methods. - * - * Returns the container that was added to the HTML. - * - * @param jQuery $el Element to wrap - * @param jQuery $container Add this new container around/near $el - * @param String method One of "after", "before" or "wrap" - * @return $container after it has been cloned for adding to $el - */ - function divSpanWrap($el, $container, method) { - switch (method) { - case "after": - // Result: - $el.after($container); - return $el.next(); - case "before": - // Result: - $el.before($container); - return $el.prev(); - case "wrap": - // Result: - $el.wrap($container); - return $el.parent(); - } - - return null; - } - - /** - * Create a div/span combo for uniforming an element - * - * @param jQuery $el Element to wrap - * @param Object options Options for the element, set by the user - * @param Object divSpanConfig Options for how we wrap the div/span - * @return Object Contains the div and span as properties - */ - function divSpan($el, options, divSpanConfig) { - var $div, $span, id; - - if (!divSpanConfig) { - divSpanConfig = {}; - } - - divSpanConfig = $.extend({ - bind: {}, - divClass: null, - divWrap: "wrap", - spanClass: null, - spanHtml: null, - spanWrap: "wrap" - }, divSpanConfig); - - $div = $('
'); - $span = $(''); - - // Automatically hide this div/span if the element is hidden. - // Do not hide if the element is hidden because a parent is hidden. - if (options.autoHide && $el.is(':hidden') && $el.css('display') === 'none') { - $div.hide(); - } - - if (divSpanConfig.divClass) { - $div.addClass(divSpanConfig.divClass); - } - - if (divSpanConfig.spanClass) { - $span.addClass(divSpanConfig.spanClass); - } - - id = attrOrProp($el, 'id'); - - if (options.useID && id) { - attrOrProp($div, 'id', options.idPrefix + '-' + id); - } - - if (divSpanConfig.spanHtml) { - $span.html(divSpanConfig.spanHtml); - } - - $div = divSpanWrap($el, $div, divSpanConfig.divWrap); - $span = divSpanWrap($el, $span, divSpanConfig.spanWrap); - classUpdateDisabled($div, $el, options); - return { - div: $div, - span: $span - }; - } - - - /** - * Test if high contrast mode is enabled. - * - * In high contrast mode, background images can not be set and - * they are always returned as 'none'. - * - * @return boolean True if in high contrast mode - */ - function highContrast() { - var c, $div, el, rgb; - - // High contrast mode deals with white and black - rgb = 'rgb(120,2,153)'; - $div = $('
'); - $('body').append($div); - el = $div.get(0); - - // $div.css() will get the style definition, not - // the actually displaying style - if (window.getComputedStyle) { - c = window.getComputedStyle(el, '').color; - } else { - c = (el.currentStyle || el.style || {}).color; - } - - $div.remove(); - return c.replace(/ /g, '') !== rgb; - } - - - /** - * Change text into safe HTML - * - * @param String text - * @return String HTML version - */ - function htmlify(text) { - if (!text) { - return ""; - } - - return $('').text(text).html(); - } - - /** - * Test if the element is a multiselect - * - * @param jQuery $el Element - * @return boolean true/false - */ - function isMultiselect($el) { - var elSize; - - if ($el[0].multiple) { - return true; - } - - elSize = attrOrProp($el, "size"); - - if (!elSize || elSize <= 1) { - return false; - } - - return true; - } - - /** - * Meaningless utility function. Used mostly for improving minification. - * - * @return false - */ - function returnFalse() { - return false; - } - - /** - * noSelect plugin, very slightly modified - * http://mths.be/noselect v1.0.3 - * - * @param jQuery $elem Element that we don't want to select - * @param Object options Uniform options for the element - */ - function noSelect($elem, options) { - var none = 'none'; - bindMany($elem, options, { - 'selectstart dragstart mousedown': returnFalse - }); - - $elem.css({ - MozUserSelect: none, - msUserSelect: none, - webkitUserSelect: none, - userSelect: none - }); - } - - /** - * Updates the filename tag based on the value of the real input - * element. - * - * @param jQuery $el Actual form element - * @param jQuery $filenameTag Span/div to update - * @param Object options Uniform options for this element - */ - function setFilename($el, $filenameTag, options) { - var filename = $el.val(); - - if (filename === "") { - filename = options.fileDefaultHtml; - } else { - filename = filename.split(/[\/\\]+/); - filename = filename[(filename.length - 1)]; - } - - $filenameTag.text(filename); - } - - - /** - * Function from jQuery to swap some CSS values, run a callback, - * then restore the CSS. Modified to pass JSLint and handle undefined - * values with 'use strict'. - * - * @param jQuery $el Element - * @param object newCss CSS values to swap out - * @param Function callback Function to run - */ - function swap($el, newCss, callback) { - var restore, item; - - restore = []; - - $el.each(function () { - var name; - - for (name in newCss) { - if (Object.prototype.hasOwnProperty.call(newCss, name)) { - restore.push({ - el: this, - name: name, - old: this.style[name] - }); - - this.style[name] = newCss[name]; - } - } - }); - - callback(); - - while (restore.length) { - item = restore.pop(); - item.el.style[item.name] = item.old; - } - } - - - /** - * The browser doesn't provide sizes of elements that are not visible. - * This will clone an element and add it to the DOM for calculations. - * - * @param jQuery $el - * @param String method - */ - function sizingInvisible($el, callback) { - swap($el.parents().andSelf().not(':visible'), { - visibility: "hidden", - display: "block", - position: "absolute" - }, callback); - } - - - /** - * Standard way to unwrap the div/span combination from an element - * - * @param jQuery $el Element that we wish to preserve - * @param Object options Uniform options for the element - * @return Function This generated function will perform the given work - */ - function unwrapUnwrapUnbindFunction($el, options) { - return function () { - $el.unwrap().unwrap().unbind(options.eventNamespace); - }; - } - - var allowStyling = true, // False if IE6 or other unsupported browsers - highContrastTest = false, // Was the high contrast test ran? - uniformHandlers = [ // Objects that take care of "unification" - { - // Buttons - match: function ($el) { - return $el.is("a, button, :submit, :reset, input[type='button']"); - }, - apply: function ($el, options) { - var $div, defaultSpanHtml, ds, getHtml, doingClickEvent; - defaultSpanHtml = options.submitDefaultHtml; - - if ($el.is(":reset")) { - defaultSpanHtml = options.resetDefaultHtml; - } - - if ($el.is("a, button")) { - // Use the HTML inside the tag - getHtml = function () { - return $el.html() || defaultSpanHtml; - }; - } else { - // Use the value property of the element - getHtml = function () { - return htmlify(attrOrProp($el, "value")) || defaultSpanHtml; - }; - } - - ds = divSpan($el, options, { - divClass: options.buttonClass, - spanHtml: getHtml() - }); - $div = ds.div; - bindUi($el, $div, options); - doingClickEvent = false; - bindMany($div, options, { - "click touchend": function () { - var ev, res, target, href; - - if (doingClickEvent) { - return; - } - - doingClickEvent = true; - - if ($el[0].dispatchEvent) { - ev = document.createEvent("MouseEvents"); - ev.initEvent("click", true, true); - res = $el[0].dispatchEvent(ev); - - // What about Chrome and Opera? - // Should the browser check be removed? - if ((jQuery.browser.msie || jQuery.browser.mozilla) && $el.is('a') && res) { - target = attrOrProp($el, 'target'); - href = attrOrProp($el, 'href'); - - if (!target || target === '_self') { - document.location.href = href; - } else { - window.open(href, target); - } - } - } else { - $el.click(); - } - - doingClickEvent = false; - } - }); - noSelect($div, options); - return { - remove: function () { - // Move $el out - $div.after($el); - - // Remove div and span - $div.remove(); - - // Unbind events - $el.unbind(options.eventNamespace); - return $el; - }, - update: function () { - classClearStandard($div, options); - classUpdateDisabled($div, $el, options); - ds.span.html(getHtml()); - } - }; - } - }, - { - // Checkboxes - match: function ($el) { - return $el.is(":checkbox"); - }, - apply: function ($el, options) { - var ds, $div, $span; - ds = divSpan($el, options, { - divClass: options.checkboxClass - }); - $div = ds.div; - $span = ds.span; - - // Add focus classes, toggling, active, etc. - bindUi($el, $div, options); - bindMany($el, options, { - "click touchend": function () { - classUpdateChecked($span, $el, options); - } - }); - classUpdateChecked($span, $el, options); - return { - remove: unwrapUnwrapUnbindFunction($el, options), - update: function () { - classClearStandard($div, options); - $span.removeClass(options.checkedClass); - classUpdateChecked($span, $el, options); - classUpdateDisabled($div, $el, options); - } - }; - } - }, - { - // File selection / uploads - match: function ($el) { - return $el.is(":file"); - }, - apply: function ($el, options) { - var ds, $div, $filename, $button; - - // The "span" is the button - ds = divSpan($el, options, { - divClass: options.fileClass, - spanClass: options.fileButtonClass, - spanHtml: options.fileButtonHtml, - spanWrap: "after" - }); - $div = ds.div; - $button = ds.span; - $filename = $("").html(options.fileDefaultHtml); - $filename.addClass(options.filenameClass); - $filename = divSpanWrap($el, $filename, "after"); - - // Set the size - if (!attrOrProp($el, "size")) { - attrOrProp($el, "size", $div.width() / 10); - } - - // Actions - function filenameUpdate() { - setFilename($el, $filename, options); - } - - bindUi($el, $div, options); - - // Account for input saved across refreshes - filenameUpdate(); - - // IE7 doesn't fire onChange until blur or second fire. - if ($.browser.msie) { - // IE considers browser chrome blocking I/O, so it - // suspends tiemouts until after the file has - // been selected. - bindMany($el, options, { - click: function () { - $el.trigger("change"); - setTimeout(filenameUpdate, 0); - } - }); - } else { - // All other browsers behave properly - bindMany($el, options, { - change: filenameUpdate - }); - } - - noSelect($filename, options); - noSelect($button, options); - return { - remove: function () { - // Remove filename and button - $filename.remove(); - $button.remove(); - - // Unwrap parent div, remove events - return $el.unwrap().unbind(options.eventNamespace); - }, - update: function () { - classClearStandard($div, options); - setFilename($el, $filename, options); - classUpdateDisabled($div, $el, options); - } - }; - } - }, - { - // Input fields (text) - match: function ($el) { - if ($el.is("input")) { - var t = (" " + attrOrProp($el, "type") + " ").toLowerCase(), - allowed = " color date datetime datetime-local email month number password search tel text time url week "; - return allowed.indexOf(t) >= 0; - } - - return false; - }, - apply: function ($el) { - var elType = attrOrProp($el, "type"); - $el.addClass(elType); - return { - remove: function () { - $el.removeClass(elType); - }, - update: returnFalse - }; - } - }, - { - // Radio buttons - match: function ($el) { - return $el.is(":radio"); - }, - apply: function ($el, options) { - var ds, $div, $span; - ds = divSpan($el, options, { - divClass: options.radioClass - }); - $div = ds.div; - $span = ds.span; - - // Add classes for focus, handle active, checked - bindUi($el, $div, options); - bindMany($el, options, { - "click touchend": function () { - // Find all radios with the same name, then update - // them with $.uniform.update() so the right - // per-element options are used - $.uniform.update($(':radio[name="' + attrOrProp($el, "name") + '"]')); - } - }); - classUpdateChecked($span, $el, options); - return { - remove: unwrapUnwrapUnbindFunction($el, options), - update: function () { - classClearStandard($div, options); - classUpdateChecked($span, $el, options); - classUpdateDisabled($div, $el, options); - } - }; - } - }, - { - // Select lists, but do not style multiselects here - match: function ($el) { - if ($el.is("select") && !isMultiselect($el)) { - return true; - } - - return false; - }, - apply: function ($el, options) { - var ds, $div, $span, origElemWidth; - - if (options.selectAutoWidth) { - sizingInvisible($el, function () { - origElemWidth = $el.width(); - }); - } - - ds = divSpan($el, options, { - divClass: options.selectClass, - spanHtml: ($el.find(":selected:first") || $el.find("option:first")).html(), - spanWrap: "before" - }); - $div = ds.div; - $span = ds.span; - - if (options.selectAutoWidth) { - // Use the width of the select and adjust the - // span and div accordingly - sizingInvisible($el, function () { - var spanPad; - spanPad = $span.outerWidth() - $span.width(); - $div.width(origElemWidth + spanPad); - $span.width(origElemWidth); - }); - } else { - // Force the select to fill the size of the div - $div.addClass('fixedWidth'); - } - - // Take care of events - bindUi($el, $div, options); - bindMany($el, options, { - change: function () { - $span.html($el.find(":selected").html()); - $div.removeClass(options.activeClass); - }, - "click touchend": function () { - // IE7 and IE8 may not update the value right - // until after click event - issue #238 - var selHtml = $el.find(":selected").html(); - - if ($span.html() !== selHtml) { - // Change was detected - // Fire the change event on the select tag - $el.trigger('change'); - } - }, - keyup: function () { - $span.html($el.find(":selected").html()); - } - }); - noSelect($span, options); - return { - remove: function () { - // Remove sibling span - $span.remove(); - - // Unwrap parent div - $el.unwrap().unbind(options.eventNamespace); - return $el; - }, - update: function () { - if (options.selectAutoWidth) { - // Easier to remove and reapply formatting - $.uniform.restore($el); - $el.uniform(options); - } else { - classClearStandard($div, options); - - // Reset current selected text - $span.html($el.find(":selected").html()); - classUpdateDisabled($div, $el, options); - } - } - }; - } - }, - { - // Select lists - multiselect lists only - match: function ($el) { - if ($el.is("select") && isMultiselect($el)) { - return true; - } - - return false; - }, - apply: function ($el, options) { - $el.addClass(options.selectMultiClass); - return { - remove: function () { - $el.removeClass(options.selectMultiClass); - }, - update: returnFalse - }; - } - }, - { - // Textareas - match: function ($el) { - return $el.is("textarea"); - }, - apply: function ($el, options) { - $el.addClass(options.textareaClass); - return { - remove: function () { - $el.removeClass(options.textareaClass); - }, - update: returnFalse - }; - } - } - ]; - - // IE6 can't be styled - can't set opacity on select - if ($.browser.msie && $.browser.version < 7) { - allowStyling = false; - } - - $.uniform = { - // Default options that can be overridden globally or when uniformed - // globally: $.uniform.defaults.fileButtonHtml = "Pick A File"; - // on uniform: $('input').uniform({fileButtonHtml: "Pick a File"}); - defaults: { - activeClass: "active", - autoHide: true, - buttonClass: "button", - checkboxClass: "checker", - checkedClass: "checked", - disabledClass: "disabled", - eventNamespace: ".uniform", - fileButtonClass: "action", - fileButtonHtml: "Choose File", - fileClass: "uploader", - fileDefaultHtml: "No file selected", - filenameClass: "filename", - focusClass: "focus", - hoverClass: "hover", - idPrefix: "uniform", - radioClass: "radio", - resetDefaultHtml: "Reset", - resetSelector: false, // We'll use our own function when you don't specify one - selectAutoWidth: true, - selectClass: "selector", - selectMultiClass: "uniform-multiselect", - submitDefaultHtml: "Submit", // Only text allowed - textareaClass: "uniform", - useID: true - }, - - // All uniformed elements - DOM objects - elements: [] - }; - - $.fn.uniform = function (options) { - var el = this; - options = $.extend({}, $.uniform.defaults, options); - - // If we are in high contrast mode, do not allow styling - if (!highContrastTest) { - highContrastTest = true; - - if (highContrast()) { - allowStyling = false; - } - } - - // Only uniform on browsers that work - if (!allowStyling) { - return this; - } - - // Code for specifying a reset button - if (options.resetSelector) { - $(options.resetSelector).mouseup(function () { - window.setTimeout(function () { - $.uniform.update(el); - }, 10); - }); - } - - return this.each(function () { - var $el = $(this), i, handler, callbacks; - - // Avoid uniforming elements already uniformed - just update - if ($el.data("uniformed")) { - $.uniform.update($el); - return; - } - - // See if we have any handler for this type of element - for (i = 0; i < uniformHandlers.length; i = i + 1) { - handler = uniformHandlers[i]; - - if (handler.match($el, options)) { - callbacks = handler.apply($el, options); - $el.data("uniformed", callbacks); - - // Store element in our global array - $.uniform.elements.push($el.get(0)); - return; - } - } - - // Could not style this element - }); - }; - - $.uniform.restore = $.fn.uniform.restore = function (elem) { - if (elem === undef) { - elem = $.uniform.elements; - } - - $(elem).each(function () { - var $el = $(this), index, elementData; - elementData = $el.data("uniformed"); - - // Skip elements that are not uniformed - if (!elementData) { - return; - } - - // Unbind events, remove additional markup that was added - elementData.remove(); - - // Remove item from list of uniformed elements - index = $.inArray(this, $.uniform.elements); - - if (index >= 0) { - $.uniform.elements.splice(index, 1); - } - - $el.removeData("uniformed"); - }); - }; - - $.uniform.update = $.fn.uniform.update = function (elem) { - if (elem === undef) { - elem = $.uniform.elements; - } - - $(elem).each(function () { - var $el = $(this), elementData; - elementData = $el.data("uniformed"); - - // Skip elements that are not uniformed - if (!elementData) { - return; - } - - elementData.update($el, elementData.options); - }); - }; -}(jQuery)); diff --git a/assets/grocery_crud/js/jquery_plugins/jquery.uniform.min.js b/assets/grocery_crud/js/jquery_plugins/jquery.uniform.min.js deleted file mode 100644 index 1326e08c..00000000 --- a/assets/grocery_crud/js/jquery_plugins/jquery.uniform.min.js +++ /dev/null @@ -1 +0,0 @@ -(function(e,t){"use strict";function n(e){var t=Array.prototype.slice.call(arguments,1);return e.prop?e.prop.apply(e,t):e.attr.apply(e,t)}function s(e,t,n){var s,a;for(s in n)n.hasOwnProperty(s)&&(a=s.replace(/ |$/g,t.eventNamespace),e.bind(s,n[s]))}function a(e,t,n){s(e,n,{focus:function(){t.addClass(n.focusClass)},blur:function(){t.removeClass(n.focusClass),t.removeClass(n.activeClass)},mouseenter:function(){t.addClass(n.hoverClass)},mouseleave:function(){t.removeClass(n.hoverClass),t.removeClass(n.activeClass)},"mousedown touchbegin":function(){e.is(":disabled")||t.addClass(n.activeClass)},"mouseup touchend":function(){t.removeClass(n.activeClass)}})}function i(e,t){e.removeClass(t.hoverClass+" "+t.focusClass+" "+t.activeClass)}function r(e,t,n){n?e.addClass(t):e.removeClass(t)}function o(e,t,n){var s="checked",a=t.is(":"+s);t.prop?t.prop(s,a):a?t.attr(s,s):t.removeAttr(s),r(e,n.checkedClass,a)}function l(e,t,n){r(e,n.disabledClass,t.is(":disabled"))}function u(e,t,n){switch(n){case"after":return e.after(t),e.next();case"before":return e.before(t),e.prev();case"wrap":return e.wrap(t),e.parent()}return null}function c(t,s,a){var i,r,o;return a||(a={}),a=e.extend({bind:{},divClass:null,divWrap:"wrap",spanClass:null,spanHtml:null,spanWrap:"wrap"},a),i=e("
"),r=e(""),s.autoHide&&t.is(":hidden")&&"none"===t.css("display")&&i.hide(),a.divClass&&i.addClass(a.divClass),a.spanClass&&r.addClass(a.spanClass),o=n(t,"id"),s.useID&&o&&n(i,"id",s.idPrefix+"-"+o),a.spanHtml&&r.html(a.spanHtml),i=u(t,i,a.divWrap),r=u(t,r,a.spanWrap),l(i,t,s),{div:i,span:r}}function f(){var t,n,s,a;return a="rgb(120,2,153)",n=e('
'),e("body").append(n),s=n.get(0),t=window.getComputedStyle?window.getComputedStyle(s,"").color:(s.currentStyle||s.style||{}).color,n.remove(),t.replace(/ /g,"")!==a}function d(t){return t?e("").text(t).html():""}function m(e){var t;return e[0].multiple?!0:(t=n(e,"size"),!t||1>=t?!1:!0)}function p(){return!1}function v(e,t){var n="none";s(e,t,{"selectstart dragstart mousedown":p}),e.css({MozUserSelect:n,msUserSelect:n,webkitUserSelect:n,userSelect:n})}function h(e,t,n){var s=e.val();""===s?s=n.fileDefaultHtml:(s=s.split(/[\/\\]+/),s=s[s.length-1]),t.text(s)}function C(e,t,n){var s,a;for(s=[],e.each(function(){var e;for(e in t)Object.prototype.hasOwnProperty.call(t,e)&&(s.push({el:this,name:e,old:this.style[e]}),this.style[e]=t[e])}),n();s.length;)a=s.pop(),a.el.style[a.name]=a.old}function b(e,t){C(e.parents().andSelf().not(":visible"),{visibility:"hidden",display:"block",position:"absolute"},t)}function w(e,t){return function(){e.unwrap().unwrap().unbind(t.eventNamespace)}}var y=!0,g=!1,k=[{match:function(e){return e.is("a, button, :submit, :reset, input[type='button']")},apply:function(e,t){var r,o,u,f,m;return o=t.submitDefaultHtml,e.is(":reset")&&(o=t.resetDefaultHtml),f=e.is("a, button")?function(){return e.html()||o}:function(){return d(n(e,"value"))||o},u=c(e,t,{divClass:t.buttonClass,spanHtml:f()}),r=u.div,a(e,r,t),m=!1,s(r,t,{"click touchend":function(){var t,s,a,i;m||(m=!0,e[0].dispatchEvent?(t=document.createEvent("MouseEvents"),t.initEvent("click",!0,!0),s=e[0].dispatchEvent(t),(jQuery.browser.msie||jQuery.browser.mozilla)&&e.is("a")&&s&&(a=n(e,"target"),i=n(e,"href"),a&&"_self"!==a?window.open(i,a):document.location.href=i)):e.click(),m=!1)}}),v(r,t),{remove:function(){return r.after(e),r.remove(),e.unbind(t.eventNamespace),e},update:function(){i(r,t),l(r,e,t),u.span.html(f())}}}},{match:function(e){return e.is(":checkbox")},apply:function(e,t){var n,r,u;return n=c(e,t,{divClass:t.checkboxClass}),r=n.div,u=n.span,a(e,r,t),s(e,t,{"click touchend":function(){o(u,e,t)}}),o(u,e,t),{remove:w(e,t),update:function(){i(r,t),u.removeClass(t.checkedClass),o(u,e,t),l(r,e,t)}}}},{match:function(e){return e.is(":file")},apply:function(t,r){function o(){h(t,m,r)}var f,d,m,p;return f=c(t,r,{divClass:r.fileClass,spanClass:r.fileButtonClass,spanHtml:r.fileButtonHtml,spanWrap:"after"}),d=f.div,p=f.span,m=e("").html(r.fileDefaultHtml),m.addClass(r.filenameClass),m=u(t,m,"after"),n(t,"size")||n(t,"size",d.width()/10),a(t,d,r),o(),e.browser.msie?s(t,r,{click:function(){t.trigger("change"),setTimeout(o,0)}}):s(t,r,{change:o}),v(m,r),v(p,r),{remove:function(){return m.remove(),p.remove(),t.unwrap().unbind(r.eventNamespace)},update:function(){i(d,r),h(t,m,r),l(d,t,r)}}}},{match:function(e){if(e.is("input")){var t=(" "+n(e,"type")+" ").toLowerCase(),s=" color date datetime datetime-local email month number password search tel text time url week ";return s.indexOf(t)>=0}return!1},apply:function(e){var t=n(e,"type");return e.addClass(t),{remove:function(){e.removeClass(t)},update:p}}},{match:function(e){return e.is(":radio")},apply:function(t,r){var u,f,d;return u=c(t,r,{divClass:r.radioClass}),f=u.div,d=u.span,a(t,f,r),s(t,r,{"click touchend":function(){e.uniform.update(e(':radio[name="'+n(t,"name")+'"]'))}}),o(d,t,r),{remove:w(t,r),update:function(){i(f,r),o(d,t,r),l(f,t,r)}}}},{match:function(e){return e.is("select")&&!m(e)?!0:!1},apply:function(t,n){var r,o,u,f;return n.selectAutoWidth&&b(t,function(){f=t.width()}),r=c(t,n,{divClass:n.selectClass,spanHtml:(t.find(":selected:first")||t.find("option:first")).html(),spanWrap:"before"}),o=r.div,u=r.span,n.selectAutoWidth?b(t,function(){var e;e=u.outerWidth()-u.width(),o.width(f+e),u.width(f)}):o.addClass("fixedWidth"),a(t,o,n),s(t,n,{change:function(){u.html(t.find(":selected").html()),o.removeClass(n.activeClass)},"click touchend":function(){var e=t.find(":selected").html();u.html()!==e&&t.trigger("change")},keyup:function(){u.html(t.find(":selected").html())}}),v(u,n),{remove:function(){return u.remove(),t.unwrap().unbind(n.eventNamespace),t},update:function(){n.selectAutoWidth?(e.uniform.restore(t),t.uniform(n)):(i(o,n),u.html(t.find(":selected").html()),l(o,t,n))}}}},{match:function(e){return e.is("select")&&m(e)?!0:!1},apply:function(e,t){return e.addClass(t.selectMultiClass),{remove:function(){e.removeClass(t.selectMultiClass)},update:p}}},{match:function(e){return e.is("textarea")},apply:function(e,t){return e.addClass(t.textareaClass),{remove:function(){e.removeClass(t.textareaClass)},update:p}}}];e.browser.msie&&7>e.browser.version&&(y=!1),e.uniform={defaults:{activeClass:"active",autoHide:!0,buttonClass:"button",checkboxClass:"checker",checkedClass:"checked",disabledClass:"disabled",eventNamespace:".uniform",fileButtonClass:"action",fileButtonHtml:"Choose File",fileClass:"uploader",fileDefaultHtml:"No file selected",filenameClass:"filename",focusClass:"focus",hoverClass:"hover",idPrefix:"uniform",radioClass:"radio",resetDefaultHtml:"Reset",resetSelector:!1,selectAutoWidth:!0,selectClass:"selector",selectMultiClass:"uniform-multiselect",submitDefaultHtml:"Submit",textareaClass:"uniform",useID:!0},elements:[]},e.fn.uniform=function(t){var n=this;return t=e.extend({},e.uniform.defaults,t),g||(g=!0,f()&&(y=!1)),y?(t.resetSelector&&e(t.resetSelector).mouseup(function(){window.setTimeout(function(){e.uniform.update(n)},10)}),this.each(function(){var n,s,a,i=e(this);if(i.data("uniformed"))return e.uniform.update(i),void 0;for(n=0;k.length>n;n+=1)if(s=k[n],s.match(i,t))return a=s.apply(i,t),i.data("uniformed",a),e.uniform.elements.push(i.get(0)),void 0})):this},e.uniform.restore=e.fn.uniform.restore=function(n){n===t&&(n=e.uniform.elements),e(n).each(function(){var t,n,s=e(this);n=s.data("uniformed"),n&&(n.remove(),t=e.inArray(this,e.uniform.elements),t>=0&&e.uniform.elements.splice(t,1),s.removeData("uniformed"))})},e.uniform.update=e.fn.uniform.update=function(n){n===t&&(n=e.uniform.elements),e(n).each(function(){var t,n=e(this);t=n.data("uniformed"),t&&t.update(n,t.options)})}})(jQuery); \ No newline at end of file diff --git a/change_log.txt b/change_log.txt index b748de49..ea41434a 100644 --- a/change_log.txt +++ b/change_log.txt @@ -1,6 +1,7 @@ v 1.5.5 Add Croatian language - translated by: Siniša Dragičević Martinčić - Small CSS fixes: Datetime and date picker was overflowing in some languages + - Removing uniform.js v 1.5.4 Changes for compatibility without jQuery Migrate v 1.5.3