@finqu/cool 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/build/.eslintrc.json +10 -0
- package/build/banner.js +14 -0
- package/build/build-plugins.js +92 -0
- package/build/rollup.config.js +78 -0
- package/dist/css/cool-grid.css +3672 -0
- package/dist/css/cool-grid.css.map +30 -0
- package/dist/css/cool-grid.min.css +7 -0
- package/dist/css/cool-grid.min.css.map +1 -0
- package/dist/css/cool-reboot.css +281 -0
- package/dist/css/cool-reboot.css.map +58 -0
- package/dist/css/cool-reboot.min.css +7 -0
- package/dist/css/cool-reboot.min.css.map +1 -0
- package/dist/css/cool.css +14841 -0
- package/dist/css/cool.css.map +144 -0
- package/dist/css/cool.min.css +7 -0
- package/dist/css/cool.min.css.map +1 -0
- package/dist/js/cool.bundle.js +15304 -0
- package/dist/js/cool.bundle.js.map +1 -0
- package/dist/js/cool.bundle.min.js +45 -0
- package/dist/js/cool.bundle.min.js.map +1 -0
- package/dist/js/cool.esm.js +4766 -0
- package/dist/js/cool.esm.js.map +1 -0
- package/dist/js/cool.esm.min.js +7 -0
- package/dist/js/cool.esm.min.js.map +1 -0
- package/dist/js/cool.js +4948 -0
- package/dist/js/cool.js.map +1 -0
- package/dist/js/cool.min.js +7 -0
- package/dist/js/cool.min.js.map +1 -0
- package/html/index.html +892 -0
- package/js/dist/collapse.js +321 -0
- package/js/dist/collapse.js.map +1 -0
- package/js/dist/common.js +1474 -0
- package/js/dist/common.js.map +1 -0
- package/js/dist/cooldropdown.js +467 -0
- package/js/dist/cooldropdown.js.map +1 -0
- package/js/dist/coolpopover.js +391 -0
- package/js/dist/coolpopover.js.map +1 -0
- package/js/dist/coolsectiontabs.js +256 -0
- package/js/dist/coolsectiontabs.js.map +1 -0
- package/js/dist/coolselect.js +796 -0
- package/js/dist/coolselect.js.map +1 -0
- package/js/dist/cooltooltip.js +360 -0
- package/js/dist/cooltooltip.js.map +1 -0
- package/js/dist/coolui.js +73 -0
- package/js/dist/coolui.js.map +1 -0
- package/js/dist/dropdown.js +1716 -0
- package/js/dist/dropdown.js.map +1 -0
- package/js/dist/popover.js +587 -0
- package/js/dist/popover.js.map +1 -0
- package/js/dist/sectiontabs.js +263 -0
- package/js/dist/sectiontabs.js.map +1 -0
- package/js/dist/select.js +2029 -0
- package/js/dist/select.js.map +1 -0
- package/js/dist/tooltip.js +555 -0
- package/js/dist/tooltip.js.map +1 -0
- package/js/index.esm.js +21 -0
- package/js/index.umd.js +21 -0
- package/js/src/abstract-ui-component.js +70 -0
- package/js/src/collapse.js +258 -0
- package/js/src/common.js +280 -0
- package/js/src/dialog.js +570 -0
- package/js/src/dropdown.js +443 -0
- package/js/src/popover.js +615 -0
- package/js/src/section-tabs.js +204 -0
- package/js/src/select.js +832 -0
- package/js/src/toast.js +581 -0
- package/js/src/tooltip.js +575 -0
- package/js/src/util/animate-css.js +22 -0
- package/js/src/util/index.js +112 -0
- package/js/src/util/perfect-scrollbar.js +1316 -0
- package/less/alert.less +345 -0
- package/less/badge.less +38 -0
- package/less/bootstrap-noconflict.less +23 -0
- package/less/bootstrap.less +23 -0
- package/less/button-group.less +153 -0
- package/less/buttons.less +287 -0
- package/less/dialog-noconflict.less +174 -0
- package/less/dialog.less +203 -0
- package/less/dropdown.less +209 -0
- package/less/forms.less +770 -0
- package/less/images.less +242 -0
- package/less/input-group.less +163 -0
- package/less/list-group.less +73 -0
- package/less/mixins/aspect-ratio.less +23 -0
- package/less/mixins/border-radius.less +24 -0
- package/less/mixins/box-shadow.less +4 -0
- package/less/mixins/buttons.less +17 -0
- package/less/mixins/caret.less +51 -0
- package/less/mixins/clearfix.less +10 -0
- package/less/mixins/gradients.less +34 -0
- package/less/mixins/nav-divider.less +7 -0
- package/less/mixins/object-fit.less +13 -0
- package/less/mixins/reset-text.less +16 -0
- package/less/mixins.less +11 -0
- package/less/package.json +11 -0
- package/less/pagination.less +69 -0
- package/less/popover.less +143 -0
- package/less/project.sublime-workspace +774 -0
- package/less/reboot.less +235 -0
- package/less/section.less +793 -0
- package/less/select.less +150 -0
- package/less/tables.less +737 -0
- package/less/tabs.less +162 -0
- package/less/tooltip.less +87 -0
- package/less/type.less +71 -0
- package/less/utilities/align.less +27 -0
- package/less/utilities/animate.less +3512 -0
- package/less/utilities/background.less +70 -0
- package/less/utilities/borders.less +16 -0
- package/less/utilities/color.less +70 -0
- package/less/utilities/cursor.less +8 -0
- package/less/utilities/display.less +38 -0
- package/less/utilities/embed.less +61 -0
- package/less/utilities/flex.less +76 -0
- package/less/utilities/jquery-ui.less +116 -0
- package/less/utilities/lazyload.less +29 -0
- package/less/utilities/overflow.less +11 -0
- package/less/utilities/pace.less +25 -0
- package/less/utilities/placeholder.less +60 -0
- package/less/utilities/position.less +42 -0
- package/less/utilities/scrollbar.less +152 -0
- package/less/utilities/spacing.less +197 -0
- package/less/utilities/text.less +68 -0
- package/less/utilities/transform.less +7 -0
- package/less/utilities.less +21 -0
- package/less/variables.less +343 -0
- package/package.json +71 -0
- package/scss/LISENCE +15 -0
- package/scss/_alert.scss +125 -0
- package/scss/_badge.scss +58 -0
- package/scss/_button-group.scss +124 -0
- package/scss/_buttons.scss +206 -0
- package/scss/_custom-forms.scss +423 -0
- package/scss/_dialog.scss +149 -0
- package/scss/_dropdown.scss +234 -0
- package/scss/_forms.scss +257 -0
- package/scss/_frame.scss +523 -0
- package/scss/_functions.scss +114 -0
- package/scss/_grid.scss +35 -0
- package/scss/_images.scss +312 -0
- package/scss/_input-group.scss +245 -0
- package/scss/_list-group.scss +82 -0
- package/scss/_mixins.scss +32 -0
- package/scss/_navbar.scss +214 -0
- package/scss/_pagination.scss +79 -0
- package/scss/_popover.scss +165 -0
- package/scss/_reboot.scss +279 -0
- package/scss/_root.scss +15 -0
- package/scss/_section.scss +851 -0
- package/scss/_select.scss +166 -0
- package/scss/_tables.scss +707 -0
- package/scss/_tabs.scss +175 -0
- package/scss/_toast.scss +182 -0
- package/scss/_tooltip.scss +101 -0
- package/scss/_type.scss +90 -0
- package/scss/_utilities.scss +21 -0
- package/scss/_variables.scss +697 -0
- package/scss/cool-grid.scss +29 -0
- package/scss/cool-reboot.scss +11 -0
- package/scss/cool.scss +36 -0
- package/scss/mixins/_alert-variant.scss +40 -0
- package/scss/mixins/_aspect-ratio.scss +29 -0
- package/scss/mixins/_background-variant.scss +25 -0
- package/scss/mixins/_badge-variant.scss +13 -0
- package/scss/mixins/_breakpoints.scss +102 -0
- package/scss/mixins/_buttons.scss +104 -0
- package/scss/mixins/_caret.scss +80 -0
- package/scss/mixins/_clearfix.scss +10 -0
- package/scss/mixins/_float.scss +14 -0
- package/scss/mixins/_forms.scss +51 -0
- package/scss/mixins/_gradients.scss +40 -0
- package/scss/mixins/_grid-framework.scss +72 -0
- package/scss/mixins/_grid.scss +60 -0
- package/scss/mixins/_nav-divider.scss +9 -0
- package/scss/mixins/_object-fit.scss +16 -0
- package/scss/mixins/_reset-text.scss +19 -0
- package/scss/mixins/_text-emphasis.scss +21 -0
- package/scss/mixins/_text-hide.scss +10 -0
- package/scss/mixins/_text-truncate.scss +8 -0
- package/scss/project.sublime-workspace +491 -0
- package/scss/utilities/_align.scss +41 -0
- package/scss/utilities/_animate.scss +3512 -0
- package/scss/utilities/_background.scss +14 -0
- package/scss/utilities/_borders.scss +146 -0
- package/scss/utilities/_clearfix.scss +6 -0
- package/scss/utilities/_collapse.scss +33 -0
- package/scss/utilities/_cursor.scss +10 -0
- package/scss/utilities/_display.scss +16 -0
- package/scss/utilities/_embed.scss +78 -0
- package/scss/utilities/_flex.scss +50 -0
- package/scss/utilities/_lazyload.scss +31 -0
- package/scss/utilities/_overflow.scss +6 -0
- package/scss/utilities/_perfect-scrollbar.scss +154 -0
- package/scss/utilities/_placeholder.scss +76 -0
- package/scss/utilities/_position.scss +30 -0
- package/scss/utilities/_sizing.scss +32 -0
- package/scss/utilities/_spacing.scss +92 -0
- package/scss/utilities/_text.scss +97 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coolselect.js","sources":["../src/util/index.js","../src/abstract-ui-component.js","../src/select.js"],"sourcesContent":["const { jQuery } = window;\n\nconst debounce = function (func, wait, immediate) {\n\tvar timeout;\n\treturn function() {\n\t\tvar context = this, args = arguments;\n\t\tvar later = function() {\n\t\t\ttimeout = null;\n\t\t\tif (!immediate) func.apply(context, args);\n\t\t};\n\t\tvar callNow = immediate && !timeout;\n\t\tclearTimeout(timeout);\n\t\ttimeout = setTimeout(later, wait);\n\t\tif (callNow) func.apply(context, args);\n\t};\n};\n\nconst isArrayLike = function(collection) {\n\tvar length = getLength(collection);\n\treturn typeof length == 'number' && length >= 0 && length <= MAX_ARRAY_INDEX;\n};\n\nconst optimizeCb = function(func, context, argCount) {\n if (context === void 0) return func;\n switch (argCount == null ? 3 : argCount) {\n case 1: return function(value) {\n return func.call(context, value);\n };\n // The 2-argument case is omitted because we’re not using it.\n case 3: return function(value, index, collection) {\n return func.call(context, value, index, collection);\n };\n case 4: return function(accumulator, value, index, collection) {\n return func.call(context, accumulator, value, index, collection);\n };\n }\n return function() {\n return func.apply(context, arguments);\n };\n};\n\nconst each = function(obj, iteratee, context) {\n\titeratee = optimizeCb(iteratee, context);\n\tvar i, length;\n\tif (isArrayLike(obj)) {\n\t\tfor (i = 0, length = obj.length; i < length; i++) {\n\t\t\titeratee(obj[i], i, obj);\n\t\t}\n\t} else {\n\t\tvar keys = _.keys(obj);\n\t\tfor (i = 0, length = keys.length; i < length; i++) {\n\t\t\titeratee(obj[keys[i]], keys[i], obj);\n\t\t}\n\t}\n\treturn obj;\n};\n\nconst touchEvents = function () {\n\tif (('ontouchstart' in window) || window.DocumentTouch && document instanceof DocumentTouch) {\n\t\treturn true;\n\t}\n};\n\nexport {\n\tjQuery,\n\tdebounce,\n\ttouchEvents,\n\teach\n}","export default class AbstractUIComponent {\n\t// Create callback\n onCreate() {\n\n var onCreate = this.opts.onCreate;\n\n if (typeof onCreate === 'function') {\n\n onCreate.call(this.el);\n }\n }\n\n // Update callback\n onUpdate() {\n\n var onUpdate = this.opts.onUpdate;\n\n if (typeof onUpdate === 'function') {\n\n onUpdate.call(this.el);\n }\n }\n\n // Destroy callback\n onDestroy() {\n\n var onDestroy = this.opts.onDestroy;\n\n if (typeof onDestroy === 'function') {\n\n onDestroy.call(this.el);\n }\n }\n\n // Show callback\n onShow() {\n\n var onShow = this.opts.onShow;\n\n if (typeof onShow === 'function') {\n\n onShow.call(this.el);\n }\n }\n\n // Close callback\n onClose() {\n\n var onClose = this.opts.onClose;\n\n if (typeof onClose === 'function') {\n\n onClose.call(this.el);\n }\n }\n\n debug(...args) {\n \tif (this.opts.debug) {\n if (typeof this.opts.debug === 'function') {\n this.opts.debug(...args);\n } else {\n \t \tconsole.log(...args);\n }\n \t}\n }\n}","import { jQuery as $, debounce, touchEvents } from './util/index';\nimport AbstractUIComponent from './abstract-ui-component';\n\nconst NAME = 'coolSelect';\nconst DATA_KEY = 'plugin_coolSelect';\n\nclass CoolSelect extends AbstractUIComponent {\n\n constructor(el, opts) {\n super();\n\n this.el = el;\n this.opts = $.extend({}, $.fn[NAME].defaults, opts);\n this.name = null;\n this.scrollContentHeight = null;\n this.items = [];\n this.data = {};\n this.searchData = [];\n\n // search api URL to query data\n this.searchApi = this.opts.searchApi;\n\n // Tells which type the select objects are (radio|select)\n this.type = null;\n\n // Is the content visible?\n this.contentOpen = null;\n\n // Tells if we have a search in our element\n this.showSearch = null;\n\n // Tells if we have a footer in our element\n this.showFooter = null;\n\n // For custom scroll function callback to store the object\n // in order to update the scroll\n this.scroll = null;\n\n this.init();\n }\n\n // Init plugin\n init() {\n $.when(this.buildCache()).then(() => {\n\n this.buildScroll();\n this.bindEvents();\n\n if (this.data[this.name].length > 0) {\n this.setData();\n }\n\n this.onCreate();\n });\n }\n\n // Remove plugin instance completely\n destroy() {\n\n this.unbindEvents();\n this.$el.removeData();\n this.onDestroy();\n }\n\n // Update plugin data\n update() {\n\n this.buildCache();\n this.bindEvents();\n this.onUpdate();\n }\n\n // Cache DOM nodes for performance\n buildCache() {\n this.$el = $(this.el);\n this.$selectHeader = this.$el.find('.select-header');\n this.$selectIconContainer = this.$selectHeader.find('.select-icon');\n this.name = this.$el.data('name') ? this.$el.data('name') : this.opts.name;\n this.scrollContentHeight = this.$el.data('scrollContentHeight') ? this.$el.data('scrollContentHeight') : this.opts.scrollContentHeight;\n this.items = this.$el.data('items') ? this.$el.data('items') : this.opts.items;\n this.data = {}\n this.data[this.name] = [];\n this.searchData = [];\n this.searchApi = this.$el.data('searchApi') ? this.$el.data('searchApi') : this.opts.searchApi;\n this.type = this.$el.data('type') ? this.$el.data('type') : this.opts.type;\n this.contentOpen = false;\n\n if (this.$el.data('setData') && this.$el.data('setData') != '') {\n this.data = this.$el.data('setData');\n }\n\n if (this.$el.find('.select-search')) {\n this.showSearch = true;\n } else {\n this.showSearch = this.$el.data('showSearch') ? this.$el.data('showSearch') : this.opts.showSearch;\n }\n\n if (this.$el.find('.select-footer')) {\n this.showFooter = true;\n } else {\n this.showFooter = this.$el.data('showFooter') ? this.$el.data('showFooter') : this.opts.showFooter;\n }\n\n if (this.items.length) {\n let items = this._renderItemList(this.items);\n\n this.$select = $(`\n <div class=\"select-content\">\n\n ${this._renderSearch()}\n\n <div class=\"select-scrollable-content\">${items}</div>\n\n ${this._renderFooter()}\n\n </div>\n `);\n\n this.$el.append(this.$select);\n\n this.$scrollableContent = this.$select.find('.select-scrollable-content') ? this.$select.find('.select-scrollable-content') : false;\n this.$selectItems = this.$select.find('.select-item');\n this.$selectLabels = this.$select.find('[data-label]');\n\n if (this.showSearch) {\n this.$searchContainer = this.$select.find('.select-search');\n this.$searchInput = this.$select.find('[name=\"select-search\"]');\n this.$searchIconContainer = this.$select.find('.select-search-icon');\n this.$clearSearchButton = this.$select.find('[data-clear-search]');\n }\n\n if (this.showFooter) {\n this.$footerContainer = this.$select.find('.select-footer');\n this.$closeButton = this.$select.find('[data-select-close]');\n }\n\n $.each(this.$selectLabels, function(i, el) {\n\n this.searchData.push({\n id: i,\n val: $(el).text().trim()\n });\n });\n\n if (this.opts.debug) {\n this.debug(this.$el);\n this.debug(this.$select);\n this.debug(this.$scrollableContent);\n this.debug('Name: '+this.name);\n this.debug('Show search: '+this.showSearch);\n this.debug('Show footer: '+this.showFooter);\n this.debug('Scroll content height: '+this.scrollContentHeight+'px');\n this.debug(this.items);\n this.debug(this.searchData);\n }\n } else {\n\n this.$select = this.$el.find('.select-content');\n this.$scrollableContent = this.$select.find('.select-scrollable-content');\n this.$selectItems = this.$select.find('.select-item');\n this.$selectLabels = this.$select.find('[data-label]');\n\n if (this.showSearch) {\n this.$searchContainer = this.$select.find('.select-search');\n this.$searchInput = this.$select.find('[name=\"select-search\"]');\n this.$searchIconContainer = this.$select.find('.select-search-icon');\n this.$clearSearchButton = this.$select.find('[data-clear-search]');\n }\n\n if (this.showFooter) {\n this.$footerContainer = this.$select.find('.select-footer');\n this.$closeButton = this.$select.find('[data-select-close]');\n }\n\n $.each(this.$selectLabels, (i, el) => {\n\n this.searchData.push({\n id: i,\n val: $(el).text().trim()\n });\n });\n\n if (this.opts.debug) {\n this.debug(this.$el);\n this.debug(this.$select);\n this.debug(this.$scrollableContent);\n this.debug('Name: '+this.name);\n this.debug('Show search: '+this.showSearch);\n this.debug('Show footer: '+this.showFooter);\n this.debug('Scroll content height: '+this.scrollContentHeight+'px');\n this.debug(this.items);\n this.debug(this.searchData);\n }\n\n return true;\n }\n }\n\n // Build scroll\n buildScroll() {\n\n if (this.$scrollableContent.length > 0) {\n\n var scrollContentHeight = this.scrollContentHeight;\n\n if (this.showSearch) {\n scrollContentHeight = scrollContentHeight - (this.$searchContainer.outerHeight(true) || 0);\n }\n\n if (this.showFooter) {\n scrollContentHeight = scrollContentHeight - (this.$footerContainer.outerHeight(true) || 0);\n }\n\n this.$scrollableContent.css({\n 'max-height': (scrollContentHeight - parseInt(this.$scrollableContent.css('marginTop'), 10) - parseInt(this.$scrollableContent.css('marginBottom'), 10)) +'px'\n });\n\n if (touchEvents || typeof this.opts.buildScroll !== 'function') {\n\n this.$scrollableContent.css({\n 'overflow-y': 'auto'\n });\n\n } else if (typeof this.opts.buildScroll === 'function') {\n\n this.scroll = this.opts.buildScroll(this.$scrollableContent);\n\n // this.$scrollableContent.addClass('ps-dark');\n // this.scroll = new PerfectScrollbar(this.$scrollableContent[0], {\n // wheelSpeed: 1,\n // wheelPropagation: false,\n // minScrollbarLength: 20,\n // scrollYMarginOffset : -1,\n // suppressScrollY: true,\n // suppressScrollX: true,\n // });\n\n // if (this.$scrollableContent[0].offsetHeight < this.$scrollableContent[0].scrollHeight) {\n\n // this.$scrollableContent.addClass('ps-show-rail-y');\n // this.scroll.settings.suppressScrollY = false;\n // }\n }\n }\n }\n\n // Bind events that trigger methods\n bindEvents() {\n\n var plugin = this;\n\n plugin.$selectHeader.on('click'+'.'+NAME, function() {\n\n if (plugin.contentOpen) {\n plugin.close.call(plugin);\n } else {\n plugin.show.call(plugin);\n }\n });\n\n plugin.$el.on('change'+'.'+NAME, 'input[type=\"checkbox\"]', function() {\n\n var val = $(this).val();\n\n if (this.checked) {\n plugin.data[plugin.name].indexOf(val) === -1 ? plugin.data[plugin.name].push(val) : false;\n } else {\n plugin.data[plugin.name] = plugin.data[plugin.name].filter(n => n != val);\n }\n\n plugin.onSelect(this);\n });\n\n plugin.$el.on('change'+'.'+NAME, 'input[type=\"radio\"]', function() {\n\n var val = $(this).val();\n\n if (this.checked) {\n\n plugin.data[plugin.name] = val;\n plugin.$select.find('input[type=\"radio\"]').not($(this)).prop('checked', false);\n plugin.$select.find('input[type=\"radio\"]').not($(this)).removeClass('checked');\n\n } else {\n\n plugin.data[plugin.name] = [];\n }\n });\n\n plugin.$el.on('click'+'.'+NAME, 'input[type=\"radio\"]', function() {\n\n if ($(this).hasClass('checked')) {\n\n plugin.data[plugin.name] = [];\n $(this).prop('checked', false);\n $(this).removeClass('checked');\n\n } else {\n\n $(this).addClass('checked');\n }\n\n plugin.onSelect(this);\n });\n\n // if (this.scroll) {\n\n // plugin.$scrollableContent.find('.ps__thumb-y').mousedown(function() {\n // plugin.$scrollableContent.addClass('ps-mousedown-scroll');\n // });\n\n // $(document).mouseup(function() {\n\n // if (plugin.$scrollableContent.hasClass('ps-mousedown-scroll')) {\n // plugin.$scrollableContent.removeClass('ps-mousedown-scroll');\n // }\n // });\n // }\n\n if (this.showSearch) {\n\n plugin.$searchInput.on('keydown'+'.'+NAME, debounce(function () {\n\n plugin.searchString = $(this).val().trim();\n plugin.search.call(plugin);\n\n }, 250));\n\n plugin.$searchInput.on('focusin'+'.'+NAME, function () {\n\n plugin.$searchContainer.addClass('focused');\n });\n\n plugin.$searchInput.on('focusout'+'.'+NAME, function () {\n\n plugin.$searchContainer.removeClass('focused');\n });\n\n plugin.$clearSearchButton.on('click'+'.'+NAME, function() {\n\n if (plugin.searchString.length) {\n\n plugin.$searchInput.val('');\n plugin.searchString = '';\n\n plugin.search.call(plugin);\n\n } else {\n\n return;\n }\n });\n }\n\n if (this.showFooter) {\n\n plugin.$closeButton.on('click'+'.'+NAME, function() {\n\n plugin.close.call(plugin);\n });\n }\n\n $(document).on('touchstart click', function(e) {\n\n if (!plugin.$el.is(e.target) && plugin.$el.has(e.target).length === 0 && plugin.contentOpen) {\n\n plugin.close.call(plugin);\n }\n });\n }\n\n // Unbind events that trigger methods\n unbindEvents() {\n\n this.$el.off('.'+NAME);\n }\n\n // Get data\n getData(data) {\n\n if (data) {\n return this.data[data];\n } else {\n return this.data;\n }\n }\n\n // Set data\n setData() {\n\n var plugin = this;\n var type = null;\n\n this.$selectIconContainer.html('<i class=\"' + this.opts.faPro ? 'fal' : 'fas' + ' fa-check text-green icon\"></i>');\n\n if (this.searchApi.length) {\n\n var searchUrl = this.searchApi;\n var itemCount = this.data[this.name].length;\n var currentCount = 0;\n\n this.data[this.name].forEach(function(value) {\n\n searchUrl += encodeURIComponent('#'+value);\n currentCount++;\n\n if (currentCount !== itemCount) {\n searchUrl += '+';\n }\n });\n\n app.request(searchUrl).success(function (data) {\n\n var items = data.map(function (item) {\n\n if (item.name) {\n var label = item.name;\n } else if (item.label) {\n var label = item.label;\n } else if (item.value) {\n var label = item.value;\n }\n\n return {\n id: item.id.toString(),\n label: label\n }\n });\n\n var items = items.filter(function(item) {\n return plugin.data[plugin.name].indexOf(item.id) > -1;\n });\n\n var result = $(plugin._renderItemList(items));\n\n // var result = $(plugin.hbs['ui/select/templates/partials/select-item']({\n // selectType: plugin.type,\n // selectName: plugin.name,\n // items: items\n // })).i18n();\n\n $.when(plugin.$scrollableContent.append(result)).then(function() {\n\n if (plugin.scroll && typeof plugin.scroll.update === 'function') {\n plugin.scroll.update();\n }\n\n // if (plugin.$scrollableContent[0].offsetHeight < plugin.$scrollableContent[0].scrollHeight) {\n\n // plugin.scroll.update();\n // plugin.scroll.settings.suppressScrollY = false;\n // plugin.$scrollableContent.addClass('ps-show-rail-y');\n\n // } else {\n\n // plugin.scroll.update();\n // plugin.scroll.settings.suppressScrollY = true;\n // plugin.$scrollableContent.removeClass('ps-show-rail-y');\n // }\n\n if (plugin.$select.find(':input[type=\"checkbox\"]').length) {\n type = 'checkbox';\n } else if (plugin.$select.find(':input[type=\"radio\"]').length) {\n type = 'radio';\n }\n\n if (type == 'checkbox') {\n\n plugin.data[plugin.name].forEach(function(value) {\n\n var $input = plugin.$select.find(':input').filter(function() { return this.value == value });\n\n $input.prop('checked', true);\n\n plugin.onSelect($input[0]);\n });\n\n } else if (type == 'radio') {\n\n var $input = plugin.$select.find(':input').filter(function() { return this.value == plugin.data[plugin.name] });\n\n $input.prop('checked', true);\n $input.addClass('checked');\n\n plugin.onSelect($input[0]);\n }\n });\n\n }).get();\n\n } else {\n\n if (plugin.$select.find(':input[type=\"checkbox\"]').length) {\n type = 'checkbox';\n } else if (plugin.$select.find(':input[type=\"radio\"]').length) {\n type = 'radio';\n }\n\n if (type == 'checkbox') {\n\n this.data[this.name].forEach(function(value) {\n\n var $input = plugin.$select.find(':input').filter(function() { return this.value == value });\n\n $input.prop('checked', true);\n\n plugin.onSelect($input[0]);\n });\n\n } else if (type == 'radio') {\n\n var $input = plugin.$select.find(':input').filter(function() { return this.value == plugin.data[plugin.name] });\n\n $input.prop('checked', true);\n $input.addClass('checked');\n\n plugin.onSelect($input[0]);\n }\n }\n }\n\n // Search\n search() {\n\n var plugin = this;\n\n if (this.searchString.length) {\n\n if (this.searchApi.length) {\n\n this.$scrollableContent.find('input:not(:checked)').parents('.select-item').not('.static-item').remove();\n\n app.request(this.searchApi + this.searchString).success(function (data) {\n\n var items = data.map(function (item) {\n return {\n id: item.id.toString(),\n label: item.name || item.label || item.value || null\n }\n });\n\n var items = items.filter(function(item) {\n return !(plugin.data[plugin.name].indexOf(item.id) > -1);\n });\n\n // Remove 0 id from results\n var items = items.filter(function(item) {\n return [0].indexOf(item.id) > -1;\n });\n\n var result = $(plugin._renderItemList(items));\n\n $.when(plugin.$scrollableContent.append(result)).then(function() {\n\n if (this.scroll && typeof this.scroll.update === 'function') {\n this.scroll.update();\n }\n\n // plugin.$searchIconContainer.html('<i class=\"fal fa-times icon\"></i>');\n // plugin.$searchIconContainer.attr('data-clear-search', 'true');\n\n // if (plugin.$scrollableContent[0].offsetHeight < plugin.$scrollableContent[0].scrollHeight) {\n\n // plugin.scroll.update();\n // plugin.scroll.settings.suppressScrollY = false;\n // plugin.$scrollableContent.addClass('ps-show-rail-y');\n\n // } else {\n\n // plugin.scroll.update();\n // plugin.scroll.settings.suppressScrollY = true;\n // plugin.$scrollableContent.removeClass('ps-show-rail-y');\n // }\n });\n\n }).get();\n\n } else {\n\n var results = this.searchData.filter(function(item) {\n return item.val.toLocaleLowerCase().indexOf(plugin.searchString.toLocaleLowerCase()) > -1;\n });\n\n this.$selectItems.removeClass('d-none');\n this.$selectItems.removeClass('visible');\n\n results.forEach(function(item) {\n $(plugin.$selectItems[item.id]).addClass('visible');\n });\n\n this.$selectItems.not('.visible').addClass('d-none');\n this.$searchIconContainer.html('<i class=\"' + this.opts.faPro ? 'fal' : 'fas' + ' fa-times icon\"></i>');\n this.$searchIconContainer.attr('data-clear-search', 'true');\n }\n\n } else {\n\n if (this.searchApi.length) {\n\n this.$scrollableContent.find('input:not(:checked)').parents('.select-item').not('.static-item').remove();\n this.$searchIconContainer.html('<i class=\"' + this.opts.faPro ? 'fal' : 'fas' + ' fa-search icon\"></i>');\n this.$searchIconContainer.attr('data-clear-search', '');\n\n } else {\n\n this.$selectItems.removeClass('d-none');\n this.$selectItems.removeClass('visible');\n this.$searchIconContainer.html('<i class=\"' + this.opts.faPro ? 'fal' : 'fas' + ' fa-search icon\"></i>');\n this.$searchIconContainer.attr('data-clear-search', '');\n }\n }\n\n if (this.scroll && typeof this.scroll.update === 'function') {\n this.scroll.update();\n }\n\n this.onUpdate();\n }\n\n // Show\n show() {\n\n if (this.$el.hasClass('show')) {\n return;\n }\n\n var $otherSelects = $('.select.show');\n\n if ($otherSelects.length) {\n var zindex = parseInt($otherSelects.first().css('z-index'), 10) + 2;\n }\n\n this.$el.css({\n 'max-height': (this.scrollContentHeight + this.$selectHeader.outerHeight(true))+'px'\n });\n\n this.$el.addClass('show');\n\n if (!$otherSelects.length) {\n var zindex = parseInt(this.$el.css('z-index'), 10) + 1;\n }\n\n this.$el.css({\n 'z-index': zindex\n });\n\n if (this.scroll && typeof this.scroll.show === 'function') {\n\n this.scroll.update();\n // if (this.$scrollableContent[0].offsetHeight < this.$scrollableContent[0].scrollHeight) {\n // this.$scrollableContent[0].scrollTop = 1;\n // this.$scrollableContent[0].scrollTop = 0;\n // }\n }\n\n this.$selectIconContainer.html(`<i class=\"${this.opts.faPro ? 'fal' : 'fas'} fa-angle-up\"></i`);\n\n this.contentOpen = true;\n this.onShow();\n }\n\n // Close\n close() {\n\n var plugin = this;\n\n this.$el.css('max-height', '');\n this.$el.removeClass('show');\n\n setTimeout(() => {\n plugin.$el.removeAttr('style');\n }, 300);\n\n if (this.data[this.name].length > 0) {\n this.$selectIconContainer.html(`<i class=\"${this.opts.faPro ? 'fal' : 'fas'} fa-check text-green icon\"></i>`);\n } else {\n this.$selectIconContainer.html(`<i class=\"${this.opts.faPro ? 'fal' : 'fas'} fa-angle-down\"></i>`);\n }\n\n this.contentOpen = false;\n this.onClose();\n }\n\n onSelect(el) {\n\n var onSelect = this.opts.onSelect;\n\n if (typeof onSelect === 'function') {\n\n onSelect.call(el);\n }\n }\n\n _renderItemList(items) {\n let html = '';\n\n for (let i = 0; i < items.length; ++i) {\n html += `\n <div class=\"select-item\">\n\n <div class=\"select-item-${this.type}\">\n\n <div class=\"styled-${this.type}\">\">\n\n <input type=\"${this.type}\">\" id=\"select-${this.name}-${items[i].id}\" value=\"${items[i].id}\">\n\n <label for=\"select-${this.name}-${items[i].id}\">\n\n <span class=\"radio-inner\">\n <svg viewBox=\"0 0 18 18\">\n <polyline points=\"1.5 6 4.5 9 10.5 1\"></polyline>\n </svg>\n </span>\n\n <span class=\"${this.type}\">-label\" data-label>\n ${items[i].label}\n </span>\n\n </label>\n\n </div>\n\n </div>\n\n </div>\n `;\n }\n }\n\n _renderSearch() {\n if (!this.showSearch) {\n return '';\n }\n\n return `\n <div class=\"select-search\">\n\n <div class=\"select-search-input\">\n\n <input type=\"text\" name=\"select-search\" value=\"\" placeholder=\"${this.opts.searchPlaceholder}\">\n\n </div>\n\n <div class=\"select-search-icon\">\n\n <i class=\"${this.opts.faPro ? 'fal' : 'fas'} fa-search icon\"></i>\n\n </div>\n\n </div>\n `;\n }\n\n _renderFooter() {\n if (!this.showFooter) {\n return '';\n }\n\n return `\n <div class=\"select-footer\">\n\n <button class=\"btn btn-primary\" type=\"button\" data-select-close>\n ${this.opts.btnCloseText}\n </button>\n\n </div>\n `;\n }\n\n static _jQueryInterface(config) {\n return this.each(function() {\n let data = $(this).data(DATA_KEY);\n const _config = typeof config === 'object' && config;\n\n if (!data) {\n data = new CoolSelect(this, _config);\n $(this).data(DATA_KEY, data);\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n });\n }\n\n}\n\nif (typeof $ !== 'undefined') {\n // jQuery\n const JQUERY_NO_CONFLICT = $.fn[NAME];\n $.fn[NAME] = CoolSelect._jQueryInterface;\n $.fn[NAME].Constructor = CoolSelect;\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return CoolSelect._jQueryInterface\n }\n\n $.fn[NAME].defaults = {\n name: '',\n type: 'checkbox',\n scrollContentHeight: 100,\n faPro: false,\n items: [],\n showSearch: false,\n showFooter: false,\n searchApi: false,\n onCreate: null,\n onUpdate: null,\n onDestroy: null,\n onShow: null,\n onClose: null,\n onSearch: null,\n onSelect: null,\n // function that should return object with update method\n buildScroll: null,\n searchPlaceholder: null,\n btnCloseText: null,\n debug: false\n };\n}\n\nexport default CoolSelect;"],"names":["jQuery","window","debounce","func","wait","immediate","timeout","context","args","arguments","later","apply","callNow","clearTimeout","setTimeout","touchEvents","DocumentTouch","document","AbstractUIComponent","onCreate","opts","call","el","onUpdate","onDestroy","onShow","onClose","debug","console","log","NAME","DATA_KEY","CoolSelect","constructor","$","extend","fn","defaults","name","scrollContentHeight","items","data","searchData","searchApi","type","contentOpen","showSearch","showFooter","scroll","init","when","buildCache","then","buildScroll","bindEvents","length","setData","destroy","unbindEvents","$el","removeData","update","$selectHeader","find","$selectIconContainer","_renderItemList","$select","_renderSearch","_renderFooter","append","$scrollableContent","$selectItems","$selectLabels","$searchContainer","$searchInput","$searchIconContainer","$clearSearchButton","$footerContainer","$closeButton","each","i","push","id","val","text","trim","outerHeight","css","parseInt","plugin","on","close","show","checked","indexOf","filter","n","onSelect","not","prop","removeClass","hasClass","addClass","searchString","search","e","is","target","has","off","getData","html","faPro","searchUrl","itemCount","currentCount","forEach","value","encodeURIComponent","app","request","success","map","item","label","toString","result","$input","get","parents","remove","results","toLocaleLowerCase","attr","$otherSelects","zindex","first","removeAttr","searchPlaceholder","btnCloseText","_jQueryInterface","config","_config","TypeError","JQUERY_NO_CONFLICT","Constructor","noConflict","onSearch"],"mappings":"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"}
|
|
@@ -0,0 +1,360 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Cool UI cooltooltip.js v1.0.0 (https://finqu.fi)
|
|
3
|
+
* Copyright 2011-2019 Finqu Oy
|
|
4
|
+
* Licensed under the ISC license - (http://opensource.org/licenses/ISC)
|
|
5
|
+
*/
|
|
6
|
+
(function (global, factory) {
|
|
7
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
|
|
8
|
+
typeof define === 'function' && define.amd ? define(factory) :
|
|
9
|
+
(global = global || self, global.CoolTooltip = factory());
|
|
10
|
+
}(this, function () { 'use strict';
|
|
11
|
+
|
|
12
|
+
const {
|
|
13
|
+
jQuery
|
|
14
|
+
} = window;
|
|
15
|
+
|
|
16
|
+
const debounce = function (func, wait, immediate) {
|
|
17
|
+
var timeout;
|
|
18
|
+
return function () {
|
|
19
|
+
var context = this,
|
|
20
|
+
args = arguments;
|
|
21
|
+
|
|
22
|
+
var later = function () {
|
|
23
|
+
timeout = null;
|
|
24
|
+
if (!immediate) func.apply(context, args);
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
var callNow = immediate && !timeout;
|
|
28
|
+
clearTimeout(timeout);
|
|
29
|
+
timeout = setTimeout(later, wait);
|
|
30
|
+
if (callNow) func.apply(context, args);
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
class AbstractUIComponent {
|
|
35
|
+
// Create callback
|
|
36
|
+
onCreate() {
|
|
37
|
+
var onCreate = this.opts.onCreate;
|
|
38
|
+
|
|
39
|
+
if (typeof onCreate === 'function') {
|
|
40
|
+
onCreate.call(this.el);
|
|
41
|
+
}
|
|
42
|
+
} // Update callback
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
onUpdate() {
|
|
46
|
+
var onUpdate = this.opts.onUpdate;
|
|
47
|
+
|
|
48
|
+
if (typeof onUpdate === 'function') {
|
|
49
|
+
onUpdate.call(this.el);
|
|
50
|
+
}
|
|
51
|
+
} // Destroy callback
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
onDestroy() {
|
|
55
|
+
var onDestroy = this.opts.onDestroy;
|
|
56
|
+
|
|
57
|
+
if (typeof onDestroy === 'function') {
|
|
58
|
+
onDestroy.call(this.el);
|
|
59
|
+
}
|
|
60
|
+
} // Show callback
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
onShow() {
|
|
64
|
+
var onShow = this.opts.onShow;
|
|
65
|
+
|
|
66
|
+
if (typeof onShow === 'function') {
|
|
67
|
+
onShow.call(this.el);
|
|
68
|
+
}
|
|
69
|
+
} // Close callback
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
onClose() {
|
|
73
|
+
var onClose = this.opts.onClose;
|
|
74
|
+
|
|
75
|
+
if (typeof onClose === 'function') {
|
|
76
|
+
onClose.call(this.el);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
debug(...args) {
|
|
81
|
+
if (this.opts.debug) {
|
|
82
|
+
if (typeof this.opts.debug === 'function') {
|
|
83
|
+
this.opts.debug(...args);
|
|
84
|
+
} else {
|
|
85
|
+
console.log(...args);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
const NAME = 'coolTooltip';
|
|
93
|
+
const DATA_KEY = 'plugin_coolTooltip';
|
|
94
|
+
|
|
95
|
+
class CoolToolTip extends AbstractUIComponent {
|
|
96
|
+
constructor(el, opts) {
|
|
97
|
+
super();
|
|
98
|
+
this.el = el;
|
|
99
|
+
this.defaults = jQuery.fn.coolTooltip.defaults;
|
|
100
|
+
this.opts = jQuery.extend({}, this.defaults, opts);
|
|
101
|
+
this.init();
|
|
102
|
+
} // Init plugin
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
init() {
|
|
106
|
+
this.buildCache();
|
|
107
|
+
this.bindEvents();
|
|
108
|
+
this.onCreate();
|
|
109
|
+
} // Remove plugin instance completely
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
destroy() {
|
|
113
|
+
this.unbindEvents();
|
|
114
|
+
this.$el.removeData();
|
|
115
|
+
this.onDestroy();
|
|
116
|
+
} // Update plugin data
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
update() {
|
|
120
|
+
this.buildCache();
|
|
121
|
+
this.onUpdate();
|
|
122
|
+
} // Cache DOM nodes for performance
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
buildCache() {
|
|
126
|
+
this.$el = jQuery(this.el);
|
|
127
|
+
this.$container = this.$el.data('container') ? jQuery(this.$el.data('container')) : jQuery(this.opts.container);
|
|
128
|
+
this.id = 'tooltip-' + this.generateUUID();
|
|
129
|
+
this.animation = this.$el.data('animation') ? this.$el.data('animation') : this.opts.animation;
|
|
130
|
+
this.animationIn = this.$el.data('animationIn') ? this.$el.data('animationIn') : this.opts.animationIn;
|
|
131
|
+
this.animationOut = this.$el.data('animationOut') ? this.$el.data('animationOut') : this.opts.animationOut;
|
|
132
|
+
this.animationSpeed = this.$el.data('animationSpeed') ? this.$el.data('animationSpeed') : this.opts.animationSpeed;
|
|
133
|
+
this.placement = this.$el.data('placement') ? this.$el.data('placement') : this.opts.placement;
|
|
134
|
+
this.content = this.$el.data('content') ? this.$el.data('content') : this.opts.content;
|
|
135
|
+
} // Bind events that trigger methods
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
bindEvents() {
|
|
139
|
+
this.$el.on('mouseenter' + '.' + NAME, () => {
|
|
140
|
+
this.show();
|
|
141
|
+
});
|
|
142
|
+
this.$el.on('mouseleave' + '.' + NAME, () => {
|
|
143
|
+
this.close();
|
|
144
|
+
});
|
|
145
|
+
jQuery(window).on('resize', debounce(() => {
|
|
146
|
+
if (this.$tooltip) {
|
|
147
|
+
this.setPosition();
|
|
148
|
+
this.onUpdate();
|
|
149
|
+
}
|
|
150
|
+
}, 250));
|
|
151
|
+
} // Unbind events that trigger methods
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
unbindEvents() {
|
|
155
|
+
this.$el.off('.' + NAME);
|
|
156
|
+
} // Generate UUID
|
|
157
|
+
|
|
158
|
+
|
|
159
|
+
generateUUID() {
|
|
160
|
+
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
|
|
161
|
+
var r = Math.random() * 16 | 0,
|
|
162
|
+
v = c == 'x' ? r : r & 0x3 | 0x8;
|
|
163
|
+
return v.toString(16);
|
|
164
|
+
});
|
|
165
|
+
} // Build tooltip
|
|
166
|
+
|
|
167
|
+
|
|
168
|
+
buildTooltip() {
|
|
169
|
+
this.$tooltip = jQuery(`
|
|
170
|
+
<div class="tooltip tooltip-${this.placement}" role="tooltip" id="${this.id}">
|
|
171
|
+
|
|
172
|
+
<div class="arrow"></div>
|
|
173
|
+
|
|
174
|
+
<div class="tooltip-inner">${this.content}</div>
|
|
175
|
+
|
|
176
|
+
</div>
|
|
177
|
+
`);
|
|
178
|
+
this.$container.append(this.$tooltip);
|
|
179
|
+
this.$arrow = this.$tooltip.find('.arrow');
|
|
180
|
+
|
|
181
|
+
if (this.opts.debug) {
|
|
182
|
+
this.debug(this.$el);
|
|
183
|
+
this.debug(this.$container);
|
|
184
|
+
this.debug(this.$tooltip);
|
|
185
|
+
this.debug(this.$arrow);
|
|
186
|
+
this.debug('Id: ' + this.id);
|
|
187
|
+
this.debug('Animation: ' + this.animation);
|
|
188
|
+
this.debug('Animation in: ' + this.animationIn);
|
|
189
|
+
this.debug('Animation out: ' + this.animationOut);
|
|
190
|
+
this.debug('Animation speed: ' + this.animationSpeed);
|
|
191
|
+
this.debug('Placement: ' + this.placement);
|
|
192
|
+
this.debug('Content: ' + this.content);
|
|
193
|
+
}
|
|
194
|
+
} // Set positions
|
|
195
|
+
|
|
196
|
+
|
|
197
|
+
setPosition(placement) {
|
|
198
|
+
if (typeof str === 'undefined' || str === null) {
|
|
199
|
+
placement = this.placement;
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
var tooltipWidth = this.$tooltip.outerWidth(true);
|
|
203
|
+
var tooltipHeight = this.$tooltip.outerHeight(true);
|
|
204
|
+
var tooltipTriggerWidth = this.$el.outerWidth();
|
|
205
|
+
var tooltipTriggerHeight = this.$el.outerHeight();
|
|
206
|
+
var tooltipTriggerPosX = this.$el.offset().left;
|
|
207
|
+
var tooltipTriggerPosY = this.$el.offset().top;
|
|
208
|
+
var arrowWidth = this.$arrow.outerWidth(true);
|
|
209
|
+
var arrowHeight = this.$arrow.outerHeight(true);
|
|
210
|
+
|
|
211
|
+
if (placement === 'top') {
|
|
212
|
+
var tooltipPosX = Math.round(tooltipTriggerPosX - (tooltipWidth - tooltipTriggerWidth) / 2);
|
|
213
|
+
var tooltipPosY = Math.round(tooltipTriggerPosY - tooltipHeight);
|
|
214
|
+
var arrowPos = Math.round(tooltipWidth / 2 - arrowWidth / 2);
|
|
215
|
+
this.$arrow.css({
|
|
216
|
+
left: arrowPos + 'px'
|
|
217
|
+
});
|
|
218
|
+
} else if (placement === 'right') {
|
|
219
|
+
var tooltipPosX = Math.round(tooltipTriggerPosX + tooltipTriggerWidth);
|
|
220
|
+
var tooltipPosY = Math.round(tooltipTriggerPosY - (tooltipHeight - tooltipTriggerHeight) / 2);
|
|
221
|
+
var arrowPos = Math.round(tooltipHeight / 2 - arrowHeight / 2);
|
|
222
|
+
this.$arrow.css({
|
|
223
|
+
top: arrowPos + 'px'
|
|
224
|
+
});
|
|
225
|
+
} else if (placement === 'bottom') {
|
|
226
|
+
var tooltipPosX = Math.round(tooltipTriggerPosX - (tooltipWidth - tooltipTriggerWidth) / 2);
|
|
227
|
+
var tooltipPosY = Math.round(tooltipTriggerPosY + tooltipTriggerHeight);
|
|
228
|
+
var arrowPos = Math.round(tooltipWidth / 2 - arrowWidth / 2);
|
|
229
|
+
this.$arrow.css({
|
|
230
|
+
left: arrowPos + 'px'
|
|
231
|
+
});
|
|
232
|
+
} else if (placement === 'left') {
|
|
233
|
+
var tooltipPosX = Math.round(tooltipTriggerPosX - tooltipWidth);
|
|
234
|
+
var tooltipPosY = Math.round(tooltipTriggerPosY - (tooltipHeight - tooltipTriggerHeight) / 2);
|
|
235
|
+
var arrowPos = Math.round(tooltipHeight / 2 - arrowHeight / 2);
|
|
236
|
+
this.$arrow.css({
|
|
237
|
+
top: arrowPos + 'px'
|
|
238
|
+
});
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
this.$tooltip.css({
|
|
242
|
+
position: 'absolute',
|
|
243
|
+
top: '0px',
|
|
244
|
+
left: '0px',
|
|
245
|
+
transform: 'translate3d(' + tooltipPosX + 'px, ' + tooltipPosY + 'px, 0px)',
|
|
246
|
+
'will-change': 'transform'
|
|
247
|
+
});
|
|
248
|
+
|
|
249
|
+
if (this.opts.debug) {
|
|
250
|
+
this.debug('Tooltip trigger width: ' + tooltipTriggerWidth + 'px');
|
|
251
|
+
this.debug('Tooltip trigger height: ' + tooltipTriggerHeight + 'px');
|
|
252
|
+
this.debug('Tooltip trigger position x: ' + tooltipTriggerPosX + 'px');
|
|
253
|
+
this.debug('Tooltip trigger position Y: ' + tooltipTriggerPosY + 'px');
|
|
254
|
+
this.debug('Tooltip width: ' + tooltipWidth + 'px');
|
|
255
|
+
this.debug('Tooltip height: ' + tooltipHeight + 'px');
|
|
256
|
+
this.debug('Tooltip position x: ' + tooltipPosX + 'px');
|
|
257
|
+
this.debug('Tooltip position y: ' + tooltipPosY + 'px');
|
|
258
|
+
}
|
|
259
|
+
} // Show
|
|
260
|
+
|
|
261
|
+
|
|
262
|
+
show() {
|
|
263
|
+
if (this.$tooltip) {
|
|
264
|
+
return;
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
this.buildTooltip();
|
|
268
|
+
this.setPosition();
|
|
269
|
+
|
|
270
|
+
if (this.animation) {
|
|
271
|
+
this.$tooltip.addClass(this.animationSpeed);
|
|
272
|
+
this.$tooltip.animateCss(this.animationIn);
|
|
273
|
+
this.$tooltip.addClass('show');
|
|
274
|
+
this.$tooltip.attr('id', this.id);
|
|
275
|
+
this.$el.attr('data-tooltip', this.id);
|
|
276
|
+
} else {
|
|
277
|
+
this.$tooltip.addClass('show');
|
|
278
|
+
this.$tooltip.attr('id', this.id);
|
|
279
|
+
this.$el.attr('data-tooltip', this.id);
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
this.onShow();
|
|
283
|
+
} // Close
|
|
284
|
+
|
|
285
|
+
|
|
286
|
+
close() {
|
|
287
|
+
if (!this.$tooltip) {
|
|
288
|
+
return;
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
if (this.animation && !this.$tooltip.hasClass('animated')) {
|
|
292
|
+
this.$tooltip.animateCss(this.animationOut, () => {
|
|
293
|
+
this.$tooltip.remove();
|
|
294
|
+
this.$el.removeAttr('data-tooltip');
|
|
295
|
+
this.$tooltip = null;
|
|
296
|
+
this.onClose();
|
|
297
|
+
});
|
|
298
|
+
} else {
|
|
299
|
+
this.$tooltip.remove();
|
|
300
|
+
this.$el.removeAttr('data-tooltip');
|
|
301
|
+
this.$tooltip = null;
|
|
302
|
+
this.onClose();
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
static _jQueryInterface(config) {
|
|
307
|
+
return this.each(function () {
|
|
308
|
+
let data = jQuery(this).data(DATA_KEY);
|
|
309
|
+
|
|
310
|
+
const _config = typeof config === 'object' && config;
|
|
311
|
+
|
|
312
|
+
if (!data) {
|
|
313
|
+
data = new CoolToolTip(this, _config);
|
|
314
|
+
jQuery(this).data(DATA_KEY, data);
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
if (typeof config === 'string') {
|
|
318
|
+
if (typeof data[config] === 'undefined') {
|
|
319
|
+
throw new TypeError(`No method named "${config}"`);
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
data[config]();
|
|
323
|
+
}
|
|
324
|
+
});
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
if (typeof jQuery !== 'undefined') {
|
|
330
|
+
// jQuery
|
|
331
|
+
const JQUERY_NO_CONFLICT = jQuery.fn[NAME];
|
|
332
|
+
jQuery.fn[NAME] = CoolToolTip._jQueryInterface;
|
|
333
|
+
jQuery.fn[NAME].Constructor = CoolToolTip;
|
|
334
|
+
|
|
335
|
+
jQuery.fn[NAME].noConflict = () => {
|
|
336
|
+
jQuery.fn[NAME] = JQUERY_NO_CONFLICT;
|
|
337
|
+
return CoolToolTip._jQueryInterface;
|
|
338
|
+
};
|
|
339
|
+
|
|
340
|
+
jQuery.fn[NAME].defaults = {
|
|
341
|
+
container: 'body',
|
|
342
|
+
animation: false,
|
|
343
|
+
animationIn: 'fadeIn',
|
|
344
|
+
animationOut: 'fadeOut',
|
|
345
|
+
animationSpeed: 'fastest',
|
|
346
|
+
placement: 'bottom',
|
|
347
|
+
content: '',
|
|
348
|
+
onCreate: null,
|
|
349
|
+
onUpdate: null,
|
|
350
|
+
onDestroy: null,
|
|
351
|
+
onShow: null,
|
|
352
|
+
onClose: null,
|
|
353
|
+
debug: false
|
|
354
|
+
};
|
|
355
|
+
}
|
|
356
|
+
|
|
357
|
+
return CoolToolTip;
|
|
358
|
+
|
|
359
|
+
}));
|
|
360
|
+
//# sourceMappingURL=cooltooltip.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cooltooltip.js","sources":["../src/util/index.js","../src/abstract-ui-component.js","../src/tooltip.js"],"sourcesContent":["const { jQuery } = window;\n\nconst debounce = function (func, wait, immediate) {\n\tvar timeout;\n\treturn function() {\n\t\tvar context = this, args = arguments;\n\t\tvar later = function() {\n\t\t\ttimeout = null;\n\t\t\tif (!immediate) func.apply(context, args);\n\t\t};\n\t\tvar callNow = immediate && !timeout;\n\t\tclearTimeout(timeout);\n\t\ttimeout = setTimeout(later, wait);\n\t\tif (callNow) func.apply(context, args);\n\t};\n};\n\nconst isArrayLike = function(collection) {\n\tvar length = getLength(collection);\n\treturn typeof length == 'number' && length >= 0 && length <= MAX_ARRAY_INDEX;\n};\n\nconst optimizeCb = function(func, context, argCount) {\n if (context === void 0) return func;\n switch (argCount == null ? 3 : argCount) {\n case 1: return function(value) {\n return func.call(context, value);\n };\n // The 2-argument case is omitted because we’re not using it.\n case 3: return function(value, index, collection) {\n return func.call(context, value, index, collection);\n };\n case 4: return function(accumulator, value, index, collection) {\n return func.call(context, accumulator, value, index, collection);\n };\n }\n return function() {\n return func.apply(context, arguments);\n };\n};\n\nconst each = function(obj, iteratee, context) {\n\titeratee = optimizeCb(iteratee, context);\n\tvar i, length;\n\tif (isArrayLike(obj)) {\n\t\tfor (i = 0, length = obj.length; i < length; i++) {\n\t\t\titeratee(obj[i], i, obj);\n\t\t}\n\t} else {\n\t\tvar keys = _.keys(obj);\n\t\tfor (i = 0, length = keys.length; i < length; i++) {\n\t\t\titeratee(obj[keys[i]], keys[i], obj);\n\t\t}\n\t}\n\treturn obj;\n};\n\nconst touchEvents = function () {\n\tif (('ontouchstart' in window) || window.DocumentTouch && document instanceof DocumentTouch) {\n\t\treturn true;\n\t}\n};\n\nexport {\n\tjQuery,\n\tdebounce,\n\ttouchEvents,\n\teach\n}","export default class AbstractUIComponent {\n\t// Create callback\n onCreate() {\n\n var onCreate = this.opts.onCreate;\n\n if (typeof onCreate === 'function') {\n\n onCreate.call(this.el);\n }\n }\n\n // Update callback\n onUpdate() {\n\n var onUpdate = this.opts.onUpdate;\n\n if (typeof onUpdate === 'function') {\n\n onUpdate.call(this.el);\n }\n }\n\n // Destroy callback\n onDestroy() {\n\n var onDestroy = this.opts.onDestroy;\n\n if (typeof onDestroy === 'function') {\n\n onDestroy.call(this.el);\n }\n }\n\n // Show callback\n onShow() {\n\n var onShow = this.opts.onShow;\n\n if (typeof onShow === 'function') {\n\n onShow.call(this.el);\n }\n }\n\n // Close callback\n onClose() {\n\n var onClose = this.opts.onClose;\n\n if (typeof onClose === 'function') {\n\n onClose.call(this.el);\n }\n }\n\n debug(...args) {\n \tif (this.opts.debug) {\n if (typeof this.opts.debug === 'function') {\n this.opts.debug(...args);\n } else {\n \t \tconsole.log(...args);\n }\n \t}\n }\n}","import { jQuery as $, debounce, touchEvents } from './util/index';\nimport AbstractUIComponent from './abstract-ui-component';\n\nconst NAME = 'coolTooltip';\nconst DATA_KEY = 'plugin_coolTooltip';\n\nclass CoolToolTip extends AbstractUIComponent {\n constructor(el, opts) {\n super();\n\n this.el = el;\n this.defaults = $.fn.coolTooltip.defaults;\n this.opts = $.extend({}, this.defaults, opts);\n this.init();\n }\n\n // Init plugin\n init() {\n this.buildCache();\n this.bindEvents();\n this.onCreate();\n }\n\n // Remove plugin instance completely\n destroy() {\n this.unbindEvents();\n this.$el.removeData();\n this.onDestroy();\n }\n\n // Update plugin data\n update() {\n this.buildCache();\n this.onUpdate();\n }\n\n // Cache DOM nodes for performance\n buildCache() {\n this.$el = $(this.el);\n this.$container = this.$el.data('container') ? $(this.$el.data('container')) : $(this.opts.container);\n this.id = 'tooltip-'+this.generateUUID();\n this.animation = this.$el.data('animation') ? this.$el.data('animation') : this.opts.animation;\n this.animationIn = this.$el.data('animationIn') ? this.$el.data('animationIn') : this.opts.animationIn;\n this.animationOut = this.$el.data('animationOut') ? this.$el.data('animationOut') : this.opts.animationOut;\n this.animationSpeed = this.$el.data('animationSpeed') ? this.$el.data('animationSpeed') : this.opts.animationSpeed;\n this.placement = this.$el.data('placement') ? this.$el.data('placement') : this.opts.placement;\n this.content = this.$el.data('content') ? this.$el.data('content') : this.opts.content;\n }\n\n // Bind events that trigger methods\n bindEvents() {\n this.$el.on('mouseenter'+'.'+NAME, () => {\n\n this.show();\n });\n\n this.$el.on('mouseleave'+'.'+NAME, () => {\n\n this.close();\n });\n\n $(window).on('resize', debounce(() => {\n if (this.$tooltip) {\n this.setPosition();\n this.onUpdate();\n }\n }, 250));\n }\n\n // Unbind events that trigger methods\n unbindEvents() {\n this.$el.off('.'+NAME);\n }\n\n // Generate UUID\n generateUUID() {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {\n var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);\n return v.toString(16);\n });\n }\n\n // Build tooltip\n buildTooltip() {\n this.$tooltip = $(`\n <div class=\"tooltip tooltip-${this.placement}\" role=\"tooltip\" id=\"${this.id}\">\n\n <div class=\"arrow\"></div>\n\n <div class=\"tooltip-inner\">${this.content}</div>\n\n </div>\n `);\n\n this.$container.append(this.$tooltip);\n this.$arrow = this.$tooltip.find('.arrow');\n\n if (this.opts.debug) {\n this.debug(this.$el);\n this.debug(this.$container);\n this.debug(this.$tooltip);\n this.debug(this.$arrow);\n this.debug('Id: '+this.id);\n this.debug('Animation: '+this.animation);\n this.debug('Animation in: '+this.animationIn);\n this.debug('Animation out: '+this.animationOut);\n this.debug('Animation speed: '+this.animationSpeed);\n this.debug('Placement: '+this.placement);\n this.debug('Content: '+this.content);\n }\n }\n\n // Set positions\n setPosition(placement) {\n if (typeof str === 'undefined' || str === null) {\n placement = this.placement;\n }\n\n var tooltipWidth = this.$tooltip.outerWidth(true);\n var tooltipHeight = this.$tooltip.outerHeight(true);\n var tooltipTriggerWidth = this.$el.outerWidth();\n var tooltipTriggerHeight = this.$el.outerHeight();\n var tooltipTriggerPosX = this.$el.offset().left;\n var tooltipTriggerPosY = this.$el.offset().top;\n var arrowWidth = this.$arrow.outerWidth(true);\n var arrowHeight = this.$arrow.outerHeight(true);\n\n if (placement === 'top') {\n\n var tooltipPosX = Math.round(tooltipTriggerPosX - (tooltipWidth - tooltipTriggerWidth) / 2);\n var tooltipPosY = Math.round(tooltipTriggerPosY - tooltipHeight);\n var arrowPos = Math.round(tooltipWidth / 2 - arrowWidth / 2);\n\n this.$arrow.css({\n left: arrowPos+'px'\n });\n\n } else if (placement === 'right') {\n\n var tooltipPosX = Math.round(tooltipTriggerPosX + tooltipTriggerWidth);\n var tooltipPosY = Math.round(tooltipTriggerPosY - (tooltipHeight - tooltipTriggerHeight) / 2);\n var arrowPos = Math.round(tooltipHeight / 2 - arrowHeight / 2);\n\n this.$arrow.css({\n top: arrowPos+'px'\n });\n\n } else if (placement === 'bottom') {\n\n var tooltipPosX = Math.round(tooltipTriggerPosX - (tooltipWidth - tooltipTriggerWidth) / 2);\n var tooltipPosY = Math.round(tooltipTriggerPosY + tooltipTriggerHeight);\n var arrowPos = Math.round(tooltipWidth / 2 - arrowWidth / 2);\n\n this.$arrow.css({\n left: arrowPos+'px'\n });\n\n } else if (placement === 'left') {\n\n var tooltipPosX = Math.round(tooltipTriggerPosX - tooltipWidth);\n var tooltipPosY = Math.round(tooltipTriggerPosY - (tooltipHeight - tooltipTriggerHeight) / 2);\n var arrowPos = Math.round(tooltipHeight / 2 - arrowHeight / 2);\n\n this.$arrow.css({\n top: arrowPos+'px'\n });\n }\n\n this.$tooltip.css({\n position: 'absolute',\n top: '0px',\n left: '0px',\n transform: 'translate3d('+tooltipPosX+'px, '+tooltipPosY+'px, 0px)',\n 'will-change': 'transform'\n });\n\n if (this.opts.debug) {\n this.debug('Tooltip trigger width: '+tooltipTriggerWidth+'px');\n this.debug('Tooltip trigger height: '+tooltipTriggerHeight+'px');\n this.debug('Tooltip trigger position x: '+tooltipTriggerPosX+'px');\n this.debug('Tooltip trigger position Y: '+tooltipTriggerPosY+'px');\n this.debug('Tooltip width: '+tooltipWidth+'px');\n this.debug('Tooltip height: '+tooltipHeight+'px');\n this.debug('Tooltip position x: '+tooltipPosX+'px');\n this.debug('Tooltip position y: '+tooltipPosY+'px');\n }\n }\n\n // Show\n show() {\n if (this.$tooltip) {\n return;\n }\n\n this.buildTooltip();\n this.setPosition();\n\n if (this.animation) {\n this.$tooltip.addClass(this.animationSpeed);\n this.$tooltip.animateCss(this.animationIn);\n this.$tooltip.addClass('show');\n this.$tooltip.attr('id', this.id);\n this.$el.attr('data-tooltip', this.id);\n } else {\n this.$tooltip.addClass('show');\n this.$tooltip.attr('id', this.id);\n this.$el.attr('data-tooltip', this.id);\n }\n\n this.onShow();\n }\n\n // Close\n close() {\n if (!this.$tooltip) {\n return;\n }\n\n if (this.animation && !this.$tooltip.hasClass('animated')) {\n this.$tooltip.animateCss(this.animationOut, () => {\n\n this.$tooltip.remove();\n this.$el.removeAttr('data-tooltip');\n this.$tooltip = null;\n\n this.onClose();\n });\n } else {\n this.$tooltip.remove();\n this.$el.removeAttr('data-tooltip');\n this.$tooltip = null;\n\n this.onClose();\n }\n }\n\n static _jQueryInterface(config) {\n return this.each(function() {\n let data = $(this).data(DATA_KEY);\n const _config = typeof config === 'object' && config;\n\n if (!data) {\n data = new CoolToolTip(this, _config);\n $(this).data(DATA_KEY, data);\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n });\n }\n}\n\nif (typeof $ !== 'undefined') {\n // jQuery\n const JQUERY_NO_CONFLICT = $.fn[NAME];\n $.fn[NAME] = CoolToolTip._jQueryInterface;\n $.fn[NAME].Constructor = CoolToolTip;\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return CoolToolTip._jQueryInterface\n }\n\n $.fn[NAME].defaults = {\n container: 'body',\n animation: false,\n animationIn: 'fadeIn',\n animationOut: 'fadeOut',\n animationSpeed: 'fastest',\n placement: 'bottom',\n content: '',\n onCreate: null,\n onUpdate: null,\n onDestroy: null,\n onShow: null,\n onClose: null,\n debug: false\n };\n}\n\nexport default CoolToolTip;"],"names":["jQuery","window","debounce","func","wait","immediate","timeout","context","args","arguments","later","apply","callNow","clearTimeout","setTimeout","AbstractUIComponent","onCreate","opts","call","el","onUpdate","onDestroy","onShow","onClose","debug","console","log","NAME","DATA_KEY","CoolToolTip","constructor","defaults","$","fn","coolTooltip","extend","init","buildCache","bindEvents","destroy","unbindEvents","$el","removeData","update","$container","data","container","id","generateUUID","animation","animationIn","animationOut","animationSpeed","placement","content","on","show","close","$tooltip","setPosition","off","replace","c","r","Math","random","v","toString","buildTooltip","append","$arrow","find","str","tooltipWidth","outerWidth","tooltipHeight","outerHeight","tooltipTriggerWidth","tooltipTriggerHeight","tooltipTriggerPosX","offset","left","tooltipTriggerPosY","top","arrowWidth","arrowHeight","tooltipPosX","round","tooltipPosY","arrowPos","css","position","transform","addClass","animateCss","attr","hasClass","remove","removeAttr","_jQueryInterface","config","each","_config","TypeError","JQUERY_NO_CONFLICT","Constructor","noConflict"],"mappings":"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"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Cool UI coolui.js v1.0.0 (https://finqu.fi)
|
|
3
|
+
* Copyright 2011-2019 Finqu Oy
|
|
4
|
+
* Licensed under the ISC license - (http://opensource.org/licenses/ISC)
|
|
5
|
+
*/
|
|
6
|
+
(function (global, factory) {
|
|
7
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
|
|
8
|
+
typeof define === 'function' && define.amd ? define(factory) :
|
|
9
|
+
(global = global || self, global.CoolUI = factory());
|
|
10
|
+
}(this, function () { 'use strict';
|
|
11
|
+
|
|
12
|
+
const {
|
|
13
|
+
jQuery
|
|
14
|
+
} = window;
|
|
15
|
+
|
|
16
|
+
$.fn.extend({
|
|
17
|
+
animateCss: function (animationName, callback) {
|
|
18
|
+
var el = this;
|
|
19
|
+
var animationEnd = 'webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend';
|
|
20
|
+
el.addClass('animated ' + animationName).one(animationEnd, function (e) {
|
|
21
|
+
$(this).removeClass('animated ' + animationName);
|
|
22
|
+
|
|
23
|
+
if (callback) {
|
|
24
|
+
callback();
|
|
25
|
+
}
|
|
26
|
+
}).children().on(animationEnd, function (e) {
|
|
27
|
+
e.stopPropagation();
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
class CoolUI {
|
|
33
|
+
initialize() {
|
|
34
|
+
jQuery('html').addClass('dom-ready');
|
|
35
|
+
jQuery(document).on('focus', '.form-control', function () {
|
|
36
|
+
if (!jQuery(this).hasClass('disabled') && jQuery(this).not(':disabled') && !jQuery(this).attr('readonly')) {
|
|
37
|
+
var $inputGroup = jQuery(this).closest('.input-group');
|
|
38
|
+
|
|
39
|
+
if (!$inputGroup.hasClass('input-group-focus')) {
|
|
40
|
+
$inputGroup.addClass('input-group-focus');
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
jQuery(document).on('blur', '.form-control', function () {
|
|
45
|
+
if (!jQuery(this).hasClass('disabled') && jQuery(this).not(':disabled') && !jQuery(this).attr('readonly')) {
|
|
46
|
+
var $inputGroup = jQuery(this).closest('.input-group');
|
|
47
|
+
|
|
48
|
+
if ($inputGroup.hasClass('input-group-focus')) {
|
|
49
|
+
$inputGroup.removeClass('input-group-focus');
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
jQuery('.form-label-group').each(function (i, formLabelGroup) {
|
|
54
|
+
var $formLabelGroup = jQuery(formLabelGroup);
|
|
55
|
+
$formLabelGroup.find('input').on('blur input change', function () {
|
|
56
|
+
var val = jQuery(this).val();
|
|
57
|
+
|
|
58
|
+
if (val) {
|
|
59
|
+
jQuery(formLabelGroup).addClass('label-on-top');
|
|
60
|
+
} else {
|
|
61
|
+
jQuery(formLabelGroup).removeClass('label-on-top');
|
|
62
|
+
}
|
|
63
|
+
}).trigger('change');
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
}
|
|
68
|
+
window.CoolUI = new CoolUI();
|
|
69
|
+
|
|
70
|
+
return CoolUI;
|
|
71
|
+
|
|
72
|
+
}));
|
|
73
|
+
//# sourceMappingURL=coolui.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coolui.js","sources":["../src/util/index.js","../src/util/animate-css.js","../src/cool-ui.js"],"sourcesContent":["const { jQuery } = window;\n\nconst debounce = function (func, wait, immediate) {\n\tvar timeout;\n\treturn function() {\n\t\tvar context = this, args = arguments;\n\t\tvar later = function() {\n\t\t\ttimeout = null;\n\t\t\tif (!immediate) func.apply(context, args);\n\t\t};\n\t\tvar callNow = immediate && !timeout;\n\t\tclearTimeout(timeout);\n\t\ttimeout = setTimeout(later, wait);\n\t\tif (callNow) func.apply(context, args);\n\t};\n};\n\nconst isArrayLike = function(collection) {\n\tvar length = getLength(collection);\n\treturn typeof length == 'number' && length >= 0 && length <= MAX_ARRAY_INDEX;\n};\n\nconst optimizeCb = function(func, context, argCount) {\n if (context === void 0) return func;\n switch (argCount == null ? 3 : argCount) {\n case 1: return function(value) {\n return func.call(context, value);\n };\n // The 2-argument case is omitted because we’re not using it.\n case 3: return function(value, index, collection) {\n return func.call(context, value, index, collection);\n };\n case 4: return function(accumulator, value, index, collection) {\n return func.call(context, accumulator, value, index, collection);\n };\n }\n return function() {\n return func.apply(context, arguments);\n };\n};\n\nconst each = function(obj, iteratee, context) {\n\titeratee = optimizeCb(iteratee, context);\n\tvar i, length;\n\tif (isArrayLike(obj)) {\n\t\tfor (i = 0, length = obj.length; i < length; i++) {\n\t\t\titeratee(obj[i], i, obj);\n\t\t}\n\t} else {\n\t\tvar keys = _.keys(obj);\n\t\tfor (i = 0, length = keys.length; i < length; i++) {\n\t\t\titeratee(obj[keys[i]], keys[i], obj);\n\t\t}\n\t}\n\treturn obj;\n};\n\nconst touchEvents = function () {\n\tif (('ontouchstart' in window) || window.DocumentTouch && document instanceof DocumentTouch) {\n\t\treturn true;\n\t}\n};\n\nexport {\n\tjQuery,\n\tdebounce,\n\ttouchEvents,\n\teach\n}","$.fn.extend({\n animateCss: function (animationName, callback) {\n\n var el = this;\n var animationEnd = 'webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend';\n\n el.addClass('animated ' + animationName).one(animationEnd, function(e) {\n\n $(this).removeClass('animated ' + animationName);\n\n if (callback) {\n callback();\n }\n\n }).children().on(animationEnd, function(e) {\n\n e.stopPropagation();\n });\n }\n});","import { jQuery as $ } from './util/index';\nimport './util/animate-css';\n\nexport default class CoolUI {\n\n\tinitialize() {\n\t\t$('html').addClass('dom-ready');\n\n\t\t$(document).on('focus', '.form-control', function () {\n\n if (!$(this).hasClass('disabled') && $(this).not(':disabled') && !$(this).attr('readonly')) {\n\n var $inputGroup = $(this).closest('.input-group');\n\n if (!$inputGroup.hasClass('input-group-focus')) {\n $inputGroup.addClass('input-group-focus');\n }\n }\n });\n\n $(document).on('blur', '.form-control', function () {\n\n if (!$(this).hasClass('disabled') && $(this).not(':disabled') && !$(this).attr('readonly')) {\n\n var $inputGroup = $(this).closest('.input-group');\n\n if ($inputGroup.hasClass('input-group-focus')) {\n $inputGroup.removeClass('input-group-focus');\n }\n }\n });\n\n $('.form-label-group').each(function(i, formLabelGroup) {\n var $formLabelGroup = $(formLabelGroup);\n\n $formLabelGroup.find('input').on('blur input change', function () {\n var val = $(this).val();\n\n if (val) {\n $(formLabelGroup).addClass('label-on-top');\n } else {\n $(formLabelGroup).removeClass('label-on-top');\n }\n }).trigger('change');\n });\n\t}\n}\n\nwindow.CoolUI = new CoolUI;"],"names":["jQuery","window","$","fn","extend","animateCss","animationName","callback","el","animationEnd","addClass","one","e","removeClass","children","on","stopPropagation","CoolUI","initialize","document","hasClass","not","attr","$inputGroup","closest","each","i","formLabelGroup","$formLabelGroup","find","val","trigger"],"mappings":"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"}
|