active_frontend 2.0.6 → 2.0.7

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ee26e8ecdbc87727d14d548a0e508e51a37d2ef8
4
- data.tar.gz: 9505f4bd551c6a2e51e45a6ad15dca8493a1310f
3
+ metadata.gz: 86f36cc3a03316f1ecd96cc4fa5a5679bc86287d
4
+ data.tar.gz: 092ccf8ffff34a6876df3fac289d9a1f4e58fd90
5
5
  SHA512:
6
- metadata.gz: a5ddb53ea4c2fe26e63f9e0bcb8c3c385e0787519feb6ee0ec3cab1e2325055667ab2062f4e8c60d994fa1f9c78f64338927c1daac1f0e4463717af7874d5328
7
- data.tar.gz: e56fbb1bb05fe6327a47fa3b2c783e1748d4e4bb438e14cc68d863aaeb4c4fb65d9305729750c1d0fc0c2f28733099a12329a64971df8fde4c657a08c1cd9a46
6
+ metadata.gz: 049c00f131fa20db347da9e44e3bce7debd42c59d54ab4b8407809701ebdb88efbff9ae095e6c836143213d0cb0cf0d6b64c9a46cb130598eb138d75703deb1b
7
+ data.tar.gz: f307d02a9a328c7404ebc86191a1e6ab3af39d5ef69b64279582a4d320d59955f5122f1ceb8f20ab9a18b13f1b7a3150cb1d95d8c68c52271e15c85db0709343
data/README.md CHANGED
@@ -37,6 +37,7 @@ Add the CSS files you want to include:
37
37
  *= require chart.css
38
38
  *= require code.css
39
39
  *= require collapse.css
40
+ *= require colorpicker.css
40
41
  *= require datepicker.css
41
42
  *= require dropdown.css
42
43
  *= require footer.css
@@ -80,6 +81,7 @@ Add the JS files you want to include:
80
81
  //= require carousel.js
81
82
  //= require chart.js
82
83
  //= require collapse.js
84
+ //= require color_picker.js
83
85
  //= require date_picker.js
84
86
  //= require dropdown.js
85
87
  //= require file_input.js
@@ -1,3 +1,3 @@
1
1
  module ActiveFrontend
2
- VERSION = "2.0.6"
2
+ VERSION = "2.0.7"
3
3
  end
@@ -69,7 +69,7 @@
69
69
  var offset = this.options.offset
70
70
  var offsetTop = offset.top
71
71
  var offsetBottom = offset.bottom
72
- var scrollHeight = $(document.body).height()
72
+ var scrollHeight = Math.max($(document).height(), $(document.body).height())
73
73
 
74
74
  if (typeof offset != 'object') offsetBottom = offsetTop = offset
75
75
  if (typeof offsetTop == 'function') offsetTop = offset.top(this.$element)
@@ -22,7 +22,7 @@
22
22
  var val = $el.is('input') ? 'val' : 'html'
23
23
  var data = $el.data()
24
24
 
25
- state = state + 'Text'
25
+ state += 'Text'
26
26
 
27
27
  if (data.resetText == null) $el.data('resetText', $el[val]())
28
28
 
@@ -47,15 +47,19 @@
47
47
  if ($parent.length) {
48
48
  var $input = this.$element.find('input')
49
49
  if ($input.prop('type') == 'radio') {
50
- if ($input.prop('checked') && this.$element.hasClass('active')) changed = false
51
- else $parent.find('.active').removeClass('active')
50
+ if ($input.prop('checked')) changed = false
51
+ $parent.find('.active').removeClass('active')
52
+ this.$element.addClass('active')
53
+ } else if ($input.prop('type') == 'checkbox') {
54
+ if (($input.prop('checked')) !== this.$element.hasClass('active')) changed = false
55
+ this.$element.toggleClass('active')
52
56
  }
53
- if (changed) $input.prop('checked', !this.$element.hasClass('active')).trigger('change')
57
+ $input.prop('checked', this.$element.hasClass('active'))
58
+ if (changed) $input.trigger('change')
54
59
  } else {
55
60
  this.$element.attr('aria-pressed', !this.$element.hasClass('active'))
61
+ this.$element.toggleClass('active')
56
62
  }
57
-
58
- if (changed) this.$element.toggleClass('active')
59
63
  }
60
64
 
61
65
 
@@ -98,7 +102,7 @@
98
102
  var $btn = $(e.target)
99
103
  if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')
100
104
  Plugin.call($btn, 'toggle')
101
- e.preventDefault()
105
+ if (!($(e.target).is('input[type="radio"]') || $(e.target).is('input[type="checkbox"]'))) e.preventDefault()
102
106
  })
103
107
  .on('focus.bs.button.data-api blur.bs.button.data-api', '[data-toggle^="button"]', function (e) {
104
108
  $(e.target).closest('.btn').toggleClass('focus', /^focus(in)?$/.test(e.type))
@@ -0,0 +1,128 @@
1
+ (function($) {
2
+ "use strict";
3
+
4
+ var ColorPicker = function(select, options) {
5
+ this.options = options;
6
+ this.$select = $(select);
7
+ this._init();
8
+ };
9
+
10
+ ColorPicker.prototype = {
11
+
12
+ constructor : ColorPicker,
13
+
14
+ _init : function() {
15
+
16
+ var callback = this.options.callback;
17
+
18
+ var selectValue = this.$select.val();
19
+ var selectColor = this.$select.find("option:selected").data("color");
20
+
21
+ var $markupUl = $("<ul>").addClass("dropdown-menu").addClass("dropdown-caret");
22
+ var $markupDiv = $("<div>").addClass("dropdown").addClass("dropdown-colorpicker");
23
+ var $markupSpan = $("<span>").addClass("btn-colorpicker").css("background-color", selectColor);
24
+ var $markupA = $("<a>").attr("data-toggle", "dropdown").addClass("dropdown-toggle").attr("href", "#").append($markupSpan);
25
+
26
+ // create an li-tag for every option of the select
27
+ $("option", this.$select).each(function() {
28
+
29
+ var option = $(this);
30
+ var value = option.attr("value");
31
+ var color = option.data("color");
32
+ var title = option.text();
33
+
34
+ // create a-tag
35
+ var $markupA = $("<a>").addClass("color-btn");
36
+ if (option.prop("selected") === true || selectValue === color) {
37
+ $markupA.addClass("selected");
38
+ }
39
+ $markupA.css("background-color", color);
40
+ $markupA.attr("href", "#").attr("data-color", color).attr("data-value", value).attr("title", title);
41
+
42
+ // create li-tag
43
+ $markupUl.append($("<li>").append($markupA));
44
+ });
45
+
46
+ // append the colorpicker
47
+ $markupDiv.append($markupA);
48
+ // append the colorpicker-dropdown
49
+ $markupDiv.append($markupUl);
50
+
51
+ // hide the select
52
+ this.$select.hide();
53
+
54
+ // insert the colorpicker
55
+ this.$selector = $($markupDiv).insertAfter(this.$select);
56
+
57
+ // register change handler
58
+ this.$select.on("change", function() {
59
+
60
+ var value = $(this).val();
61
+ var color = $(this).find("option[value='" + value + "']").data("color");
62
+ var title = $(this).find("option[value='" + value + "']").text();
63
+
64
+ // remove old and set new selected color
65
+ $(this).next().find("ul").find("li").find(".selected").removeClass("selected");
66
+ $(this).next().find("ul").find("li").find("a[data-color='" + color + "']").addClass("selected");
67
+
68
+ $(this).next().find(".btn-colorpicker").css("background-color", color);
69
+
70
+ callback(value, color, title);
71
+ });
72
+
73
+ // register click handler
74
+ $markupUl.on('click.colorpicker', $.proxy(this._clickColor, this));
75
+ },
76
+
77
+ _clickColor : function(e) {
78
+
79
+ var a = $(e.target);
80
+
81
+ if (!a.is(".color-btn")) {
82
+ return false;
83
+ }
84
+
85
+ this.$select.val(a.data("value")).change();
86
+
87
+ e.preventDefault();
88
+ return true;
89
+ },
90
+
91
+ setColor : function(color) {
92
+ // find value for color
93
+ var value = $(this.$selector).find("li").find("a[data-color='" + color + "']").data("value");
94
+ this.setValue(value);
95
+ },
96
+
97
+ setValue : function(value) {
98
+ this.$select.val(value).change();
99
+ },
100
+
101
+ };
102
+
103
+ $.fn.colorpicker = function(option) {
104
+ var args = Array.apply(null, arguments);
105
+ args.shift();
106
+
107
+ return this.each(function() {
108
+
109
+ var $this = $(this), data = $this.data("colorpicker"), options = $.extend({}, $.fn.colorpicker.defaults, $this.data(), typeof option == "object" && option);
110
+
111
+ if (!data) {
112
+ $this.data("colorpicker", (data = new ColorPicker(this, options)));
113
+ }
114
+ if (typeof option == "string") {
115
+ data[option].apply(data, args);
116
+ }
117
+ });
118
+ };
119
+
120
+ $.fn.colorpicker.defaults = {
121
+ callback : function(value, color, title) {
122
+ },
123
+ colorsPerRow : 8
124
+ };
125
+
126
+ $.fn.colorpicker.Constructor = ColorPicker;
127
+
128
+ })(jQuery, window, document);
@@ -12,6 +12,40 @@
12
12
 
13
13
  Dropdown.VERSION = '3.3.4'
14
14
 
15
+ function getParent($this) {
16
+ var selector = $this.attr('data-target')
17
+
18
+ if (!selector) {
19
+ selector = $this.attr('href')
20
+ selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
21
+ }
22
+
23
+ var $parent = selector && $(selector)
24
+
25
+ return $parent && $parent.length ? $parent : $this.parent()
26
+ }
27
+
28
+ function clearMenus(e) {
29
+ if (e && e.which === 3) return
30
+ $(backdrop).remove()
31
+ $(toggle).each(function () {
32
+ var $this = $(this)
33
+ var $parent = getParent($this)
34
+ var relatedTarget = { relatedTarget: this }
35
+
36
+ if (!$parent.hasClass('open')) return
37
+
38
+ if (e && e.type == 'click' && /input|textarea/i.test(e.target.tagName) && $.contains($parent[0], e.target)) return
39
+
40
+ $parent.trigger(e = $.Event('hide.bs.dropdown', relatedTarget))
41
+
42
+ if (e.isDefaultPrevented()) return
43
+
44
+ $this.attr('aria-expanded', 'false')
45
+ $parent.removeClass('open').trigger('hidden.bs.dropdown', relatedTarget)
46
+ })
47
+ }
48
+
15
49
  Dropdown.prototype.toggle = function (e) {
16
50
  var $this = $(this)
17
51
 
@@ -61,7 +95,7 @@
61
95
  var $parent = getParent($this)
62
96
  var isActive = $parent.hasClass('open')
63
97
 
64
- if ((!isActive && e.which != 27) || (isActive && e.which == 27)) {
98
+ if (!isActive && e.which != 27 || isActive && e.which == 27) {
65
99
  if (e.which == 27) $parent.find(toggle).trigger('focus')
66
100
  return $this.trigger('click')
67
101
  }
@@ -73,47 +107,13 @@
73
107
 
74
108
  var index = $items.index(e.target)
75
109
 
76
- if (e.which == 38 && index > 0) index-- // up
77
- if (e.which == 40 && index < $items.length - 1) index++ // down
78
- if (!~index) index = 0
110
+ if (e.which == 38 && index > 0) index-- // up
111
+ if (e.which == 40 && index < $items.length - 1) index++ // down
112
+ if (!~index) index = 0
79
113
 
80
114
  $items.eq(index).trigger('focus')
81
115
  }
82
116
 
83
- function clearMenus(e) {
84
- if (e && e.which === 3) return
85
- $(backdrop).remove()
86
- $(toggle).each(function () {
87
- var $this = $(this)
88
- var $parent = getParent($this)
89
- var relatedTarget = { relatedTarget: this }
90
-
91
- if (!$parent.hasClass('open')) return
92
-
93
- if (e && e.type == 'click' && /input|textarea/i.test(e.target.tagName) && $.contains($parent[0], e.target)) return
94
-
95
- $parent.trigger(e = $.Event('hide.bs.dropdown', relatedTarget))
96
-
97
- if (e.isDefaultPrevented()) return
98
-
99
- $this.attr('aria-expanded', 'false')
100
- $parent.removeClass('open').trigger('hidden.bs.dropdown', relatedTarget)
101
- })
102
- }
103
-
104
- function getParent($this) {
105
- var selector = $this.attr('data-target')
106
-
107
- if (!selector) {
108
- selector = $this.attr('href')
109
- selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
110
- }
111
-
112
- var $parent = selector && $(selector)
113
-
114
- return $parent && $parent.length ? $parent : $this.parent()
115
- }
116
-
117
117
 
118
118
  // DROPDOWN PLUGIN DEFINITION
119
119
  // ==========================
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  (function(root, factory) {
2
3
  if(typeof exports === 'object') {
3
4
  module.exports = factory();
@@ -10,14 +11,6 @@
10
11
 
11
12
  }(this, function() {
12
13
 
13
- /*!
14
- * GMaps.js v0.4.17
15
- * http://hpneo.github.com/gmaps/
16
- *
17
- * Copyright 2015, Gustavo Leon
18
- * Released under the MIT License.
19
- */
20
-
21
14
  if (!(typeof window.google === 'object' && window.google.maps)) {
22
15
  throw 'Google Maps API is required. Please register the following JavaScript library http://maps.google.com/maps/api/js?sensor=true.'
23
16
  }
@@ -60,7 +53,7 @@ var array_map = function(array, callback) {
60
53
 
61
54
  if (Array.prototype.map && array.map === Array.prototype.map) {
62
55
  array_return = Array.prototype.map.call(array, function(item) {
63
- callback_params = original_callback_params;
56
+ var callback_params = original_callback_params.slice(0);
64
57
  callback_params.splice(0, 0, item);
65
58
 
66
59
  return callback.apply(this, callback_params);
@@ -117,11 +110,26 @@ var arrayToLatLng = function(coords, useGeoJSON) {
117
110
  return coords;
118
111
  };
119
112
 
113
+
114
+ var getElementsByClassName = function (class_name, context) {
115
+
116
+ var element,
117
+ _class = class_name.replace('.', '');
118
+
119
+ if ('jQuery' in this && context) {
120
+ element = $("." + _class, context)[0];
121
+ } else {
122
+ element = document.getElementsByClassName(_class)[0];
123
+ }
124
+ return element;
125
+
126
+ };
127
+
120
128
  var getElementById = function(id, context) {
121
129
  var element,
122
130
  id = id.replace('#', '');
123
131
 
124
- if ('jQuery' in this && context) {
132
+ if ('jQuery' in window && context) {
125
133
  element = $('#' + id, context)[0];
126
134
  } else {
127
135
  element = document.getElementById(id);
@@ -164,7 +172,7 @@ var GMaps = (function(global) {
164
172
  ],
165
173
  events_that_doesnt_hide_context_menu = ['mousemove', 'mouseout', 'mouseover'],
166
174
  options_to_be_deleted = ['el', 'lat', 'lng', 'mapType', 'width', 'height', 'markerClusterer', 'enableNewStyle'],
167
- container_id = options.el || options.div,
175
+ identifier = options.el || options.div,
168
176
  markerClustererFunction = options.markerClusterer,
169
177
  mapType = google.maps.MapTypeId[options.mapType.toUpperCase()],
170
178
  map_center = new google.maps.LatLng(options.lat, options.lng),
@@ -199,11 +207,17 @@ var GMaps = (function(global) {
199
207
  overviewMapControl: overviewMapControl
200
208
  };
201
209
 
202
- if (typeof(options.el) === 'string' || typeof(options.div) === 'string') {
203
- this.el = getElementById(container_id, options.context);
204
- } else {
205
- this.el = container_id;
206
- }
210
+ if (typeof(options.el) === 'string' || typeof(options.div) === 'string') {
211
+
212
+ if (identifier.indexOf("#") > -1) {
213
+ this.el = getElementById(identifier, options.context);
214
+ } else {
215
+ this.el = getElementsByClassName.apply(this, [identifier, options.context]);
216
+ }
217
+
218
+ } else {
219
+ this.el = identifier;
220
+ }
207
221
 
208
222
  if (typeof(this.el) === 'undefined' || this.el === null) {
209
223
  throw 'No element defined.';
@@ -5,7 +5,9 @@
5
5
  // ====================
6
6
 
7
7
  var Tab = function (element) {
8
+ // jscs:disable requireDollarBeforejQueryAssignment
8
9
  this.element = $(element)
10
+ // jscs:enable requireDollarBeforejQueryAssignment
9
11
  }
10
12
 
11
13
  Tab.VERSION = '3.3.4'
@@ -56,7 +58,7 @@
56
58
  var $active = container.find('> .active')
57
59
  var transition = callback
58
60
  && $.support.transition
59
- && (($active.length && $active.hasClass('fade')) || !!container.find('> .fade').length)
61
+ && ($active.length && $active.hasClass('fade') || !!container.find('> .fade').length)
60
62
 
61
63
  function next() {
62
64
  $active
@@ -11,6 +11,7 @@
11
11
  this.timeout = null
12
12
  this.hoverState = null
13
13
  this.$element = null
14
+ this.inState = null
14
15
 
15
16
  this.init('tooltip', element, options)
16
17
  }
@@ -40,7 +41,8 @@
40
41
  this.type = type
41
42
  this.$element = $(element)
42
43
  this.options = this.getOptions(options)
43
- this.$viewport = this.options.viewport && $(this.options.viewport.selector || this.options.viewport)
44
+ this.$viewport = this.options.viewport && $($.isFunction(this.options.viewport) ? this.options.viewport.call(this, this.$element) : (this.options.viewport.selector || this.options.viewport))
45
+ this.inState = { click: false, hover: false, focus: false }
44
46
 
45
47
  if (this.$element[0] instanceof document.constructor && !this.options.selector) {
46
48
  throw new Error('`selector` option must be specified when initializing ' + this.type + ' on the window.document object!')
@@ -99,16 +101,20 @@
99
101
  var self = obj instanceof this.constructor ?
100
102
  obj : $(obj.currentTarget).data('bs.' + this.type)
101
103
 
102
- if (self && self.$tip && self.$tip.is(':visible')) {
103
- self.hoverState = 'in'
104
- return
105
- }
106
-
107
104
  if (!self) {
108
105
  self = new this.constructor(obj.currentTarget, this.getDelegateOptions())
109
106
  $(obj.currentTarget).data('bs.' + this.type, self)
110
107
  }
111
108
 
109
+ if (obj instanceof $.Event) {
110
+ self.inState[obj.type == 'focusin' ? 'focus' : 'hover'] = true
111
+ }
112
+
113
+ if (self.tip().hasClass('in') || self.hoverState == 'in') {
114
+ self.hoverState = 'in'
115
+ return
116
+ }
117
+
112
118
  clearTimeout(self.timeout)
113
119
 
114
120
  self.hoverState = 'in'
@@ -120,6 +126,14 @@
120
126
  }, self.options.delay.show)
121
127
  }
122
128
 
129
+ Tooltip.prototype.isInStateTrue = function () {
130
+ for (var key in this.inState) {
131
+ if (this.inState[key]) return true
132
+ }
133
+
134
+ return false
135
+ }
136
+
123
137
  Tooltip.prototype.leave = function (obj) {
124
138
  var self = obj instanceof this.constructor ?
125
139
  obj : $(obj.currentTarget).data('bs.' + this.type)
@@ -129,6 +143,12 @@
129
143
  $(obj.currentTarget).data('bs.' + this.type, self)
130
144
  }
131
145
 
146
+ if (obj instanceof $.Event) {
147
+ self.inState[obj.type == 'focusout' ? 'focus' : 'hover'] = false
148
+ }
149
+
150
+ if (self.isInStateTrue()) return
151
+
132
152
  clearTimeout(self.timeout)
133
153
 
134
154
  self.hoverState = 'out'
@@ -175,6 +195,7 @@
175
195
  .data('bs.' + this.type, this)
176
196
 
177
197
  this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element)
198
+ this.$element.trigger('inserted.bs.' + this.type)
178
199
 
179
200
  var pos = this.getPosition()
180
201
  var actualWidth = $tip[0].offsetWidth
@@ -182,13 +203,12 @@
182
203
 
183
204
  if (autoPlace) {
184
205
  var orgPlacement = placement
185
- var $container = this.options.container ? $(this.options.container) : this.$element.parent()
186
- var containerDim = this.getPosition($container)
206
+ var viewportDim = this.getPosition(this.$viewport)
187
207
 
188
- placement = placement == 'bottom' && pos.bottom + actualHeight > containerDim.bottom ? 'top' :
189
- placement == 'top' && pos.top - actualHeight < containerDim.top ? 'bottom' :
190
- placement == 'right' && pos.right + actualWidth > containerDim.width ? 'left' :
191
- placement == 'left' && pos.left - actualWidth < containerDim.left ? 'right' :
208
+ placement = placement == 'bottom' && pos.bottom + actualHeight > viewportDim.bottom ? 'top' :
209
+ placement == 'top' && pos.top - actualHeight < viewportDim.top ? 'bottom' :
210
+ placement == 'right' && pos.right + actualWidth > viewportDim.width ? 'left' :
211
+ placement == 'left' && pos.left - actualWidth < viewportDim.left ? 'right' :
192
212
  placement
193
213
 
194
214
  $tip
@@ -229,8 +249,8 @@
229
249
  if (isNaN(marginTop)) marginTop = 0
230
250
  if (isNaN(marginLeft)) marginLeft = 0
231
251
 
232
- offset.top = offset.top + marginTop
233
- offset.left = offset.left + marginLeft
252
+ offset.top += marginTop
253
+ offset.left += marginLeft
234
254
 
235
255
  // $.fn.offset doesn't round pixel values
236
256
  // so we use setOffset directly with our own function B-0
@@ -312,7 +332,7 @@
312
332
 
313
333
  Tooltip.prototype.fixTitle = function () {
314
334
  var $e = this.$element
315
- if ($e.attr('title') || typeof ($e.attr('data-original-title')) != 'string') {
335
+ if ($e.attr('title') || typeof $e.attr('data-original-title') != 'string') {
316
336
  $e.attr('data-original-title', $e.attr('title') || '').attr('title', '')
317
337
  }
318
338
  }
@@ -367,7 +387,7 @@
367
387
  var rightEdgeOffset = pos.left + viewportPadding + actualWidth
368
388
  if (leftEdgeOffset < viewportDimensions.left) { // left overflow
369
389
  delta.left = viewportDimensions.left - leftEdgeOffset
370
- } else if (rightEdgeOffset > viewportDimensions.width) { // right overflow
390
+ } else if (rightEdgeOffset > viewportDimensions.right) { // right overflow
371
391
  delta.left = viewportDimensions.left + viewportDimensions.width - rightEdgeOffset
372
392
  }
373
393
  }
@@ -393,7 +413,13 @@
393
413
  }
394
414
 
395
415
  Tooltip.prototype.tip = function () {
396
- return (this.$tip = this.$tip || $(this.options.template))
416
+ if (!this.$tip) {
417
+ this.$tip = $(this.options.template)
418
+ if (this.$tip.length != 1) {
419
+ throw new Error(this.type + ' `template` option must consist of exactly 1 top-level element!')
420
+ }
421
+ }
422
+ return this.$tip
397
423
  }
398
424
 
399
425
  Tooltip.prototype.arrow = function () {
@@ -422,7 +448,13 @@
422
448
  }
423
449
  }
424
450
 
425
- self.tip().hasClass('in') ? self.leave(self) : self.enter(self)
451
+ if (e) {
452
+ self.inState.click = !self.inState.click
453
+ if (self.isInStateTrue()) self.enter(self)
454
+ else self.leave(self)
455
+ } else {
456
+ self.tip().hasClass('in') ? self.leave(self) : self.enter(self)
457
+ }
426
458
  }
427
459
 
428
460
  Tooltip.prototype.destroy = function () {
@@ -430,6 +462,12 @@
430
462
  clearTimeout(this.timeout)
431
463
  this.hide(function () {
432
464
  that.$element.off('.' + that.type).removeData('bs.' + that.type)
465
+ if (that.$tip) {
466
+ that.$tip.detach()
467
+ }
468
+ that.$tip = null
469
+ that.$arrow = null
470
+ that.$viewport = null
433
471
  })
434
472
  }
435
473
 
@@ -0,0 +1,81 @@
1
+ /* Table of Contents
2
+ ==================================================
3
+ # Colorpicker */
4
+
5
+ /* # Colorpicker
6
+ ================================================== */
7
+ .dropdown-colorpicker > .dropdown-menu {
8
+ left: -7px;
9
+ padding: 4px;
10
+ }
11
+ .dropdown-colorpicker > .dropdown-menu.pull-right {
12
+ left: auto;
13
+ right: -7px;
14
+ }
15
+ .dropdown-colorpicker > .dropdown-menu.dropdown-caret:before {
16
+ border-bottom: 7px solid rgba(245,248,250,1);
17
+ border-left: 7px solid transparent;
18
+ border-right: 7px solid transparent;
19
+ content: "";
20
+ display: inline-block;
21
+ left: 9px;
22
+ position: absolute;
23
+ top: -7px;
24
+ }
25
+ .dropdown-colorpicker > .dropdown-menu.dropdown-caret:after {
26
+ border-bottom: 6px solid rgba(245,248,250,1);
27
+ border-left: 6px solid transparent;
28
+ border-right: 6px solid transparent;
29
+ content: "";
30
+ display: inline-block;
31
+ left: 10px;
32
+ position: absolute;
33
+ top: -6px;
34
+ }
35
+ .dropdown-colorpicker > .dropdown-menu.pull-right.dropdown-caret:before {
36
+ left: auto;
37
+ right: 9px;
38
+ }
39
+ .dropdown-colorpicker > .dropdown-menu.pull-right.dropdown-caret:after {
40
+ left: auto;
41
+ right: 10px;
42
+ }
43
+ .dropdown-colorpicker > .dropdown-menu > li {
44
+ display: block;
45
+ float: left;
46
+ width: 26px;
47
+ height: 26px;
48
+ margin: 2px;
49
+ }
50
+ .dropdown-colorpicker > .dropdown-menu > li > .color-btn {
51
+ border-radius: 2px;
52
+ display: block;
53
+ height: 26px;
54
+ margin: 0;
55
+ padding: 0;
56
+ position: relative;
57
+ text-decoration: none;
58
+ -webkit-transition: all ease 0.1s;
59
+ transition: all ease 0.1s;
60
+ width: 26px;
61
+ }
62
+ .dropdown-colorpicker > .dropdown-menu > li > .color-btn.selected:after {
63
+ color: rgba(255,255,255,1);
64
+ content: "\f3fe";
65
+ display: inline-block;
66
+ font-family: "Ionicons";
67
+ font-size: 16px;
68
+ left: 0;
69
+ line-height: 26px;
70
+ position: absolute;
71
+ right: 0;
72
+ text-align: center;
73
+ }
74
+ .btn-colorpicker {
75
+ background: rgba(102,117,127,1);
76
+ border-radius: 2px;
77
+ display: inline-block;
78
+ height: 25px;
79
+ vertical-align: middle;
80
+ width: 25px;
81
+ }
@@ -12,7 +12,7 @@
12
12
  z-index: 1060;
13
13
  }
14
14
  .datepicker:before {
15
- border-bottom: 7px solid rgba(56,67,81,1);
15
+ border-bottom: 7px solid rgba(245,248,250,1);
16
16
  border-right: 7px solid transparent;
17
17
  border-left: 7px solid transparent;
18
18
  content: '';
@@ -20,7 +20,7 @@
20
20
  position: absolute;
21
21
  }
22
22
  .datepicker:after {
23
- border-bottom: 6px solid rgba(56,67,81,1);
23
+ border-bottom: 6px solid rgba(245,248,250,1);
24
24
  border-right: 6px solid transparent;
25
25
  border-left: 6px solid transparent;
26
26
  content: '';
@@ -36,15 +36,15 @@
36
36
  .datepicker.datepicker-orient-bottom:before {
37
37
  bottom: -7px;
38
38
  border-bottom: 0;
39
- border-top: 7px solid rgba(56,67,81,1);
39
+ border-top: 7px solid rgba(245,248,250,1);
40
40
  }
41
41
  .datepicker.datepicker-orient-bottom:after {
42
42
  bottom: -6px;
43
43
  border-bottom: 0;
44
- border-top: 6px rgba(56,67,81,1);
44
+ border-top: 6px rgba(245,248,250,1);
45
45
  }
46
46
  .dow {
47
- color: rgba(255,255,255,1);
47
+ color: rgba(43,50,53,1);
48
48
  font-weight: bold;
49
49
  }
50
50
  .datepicker > div { display: none; }
@@ -104,7 +104,7 @@
104
104
  }
105
105
  .datepicker td span:hover {
106
106
  background: rgba(0,132,255,1);
107
- color: rgba(255,255,255,1);
107
+ color: rgba(43,50,53,1);
108
108
  cursor: pointer;
109
109
  }
110
110
  .datepicker td span.active,
@@ -10,13 +10,13 @@
10
10
  .dropdown-toggle:active,
11
11
  .open .dropdown-toggle { outline: 0; }
12
12
  .dropdown-menu {
13
- background: rgba(56,67,81,1);
13
+ background: rgba(245,248,250,1);
14
14
  background-clip: padding-box;
15
- border: 1px solid rgba(26,37,51,1);
15
+ border: 1px solid rgba(230,237,242,1);
16
16
  border-radius: 4px;
17
- box-shadow: 0 0 3px rgba(56,67,81,0.75);
17
+ box-shadow: 0 0 3px rgba(225,232,237,1);
18
18
  box-sizing: border-box;
19
- color: rgba(255,255,255,1);
19
+ color: rgba(43,50,53,1);
20
20
  display: none;
21
21
  float: left;
22
22
  font-weight: bold;
@@ -36,14 +36,14 @@
36
36
  right: 0;
37
37
  }
38
38
  .dropdown-menu > .divider {
39
- background: rgba(26,37,51,1);
39
+ background: rgba(230,237,242,1);
40
40
  height: 1px;
41
41
  margin: 5px 0px;
42
42
  overflow: hidden;
43
43
  }
44
44
  .dropdown-menu > li > a {
45
45
  clear: both;
46
- color: rgba(255,255,255,1);
46
+ color: rgba(43,50,53,1);
47
47
  cursor: pointer;
48
48
  display: block;
49
49
  padding: 5px 15px;
@@ -65,7 +65,7 @@
65
65
  }
66
66
  .dropdown .dropdown-menu .nav-header {
67
67
  padding-right: 20px;
68
- padding-left: 20px;
68
+ padding-left: 20px;
69
69
  }
70
70
 
71
71
  /* # Submenu
@@ -84,10 +84,10 @@
84
84
  .header-trunk > li > ul.dropdown-menu {
85
85
  border-top-right-radius: 0;
86
86
  border-top-left-radius: 0;
87
- box-shadow: 0 1px 2px rgba(56,67,81,0.75);
87
+ box-shadow: 0 1px 2px rgba(225,232,237,1);
88
88
  margin: 0 0 0 -1px;
89
89
  padding: 10px 0;
90
- width: calc(100% + 2px);
90
+ width: calc(100% + 1px);
91
91
  }
92
92
  .header-trunk > li > ul.dropdown-menu > li.divider { margin: 14px 0 10px 0; }
93
93
  .header-trunk > li .badge,
@@ -12,7 +12,7 @@
12
12
  z-index: 1060;
13
13
  }
14
14
  .timepicker-widget.dropdown-menu:before {
15
- border-bottom: 7px solid rgba(56,67,81,1);
15
+ border-bottom: 7px solid rgba(245,248,250,1);
16
16
  border-right: 7px solid transparent;
17
17
  border-left: 7px solid transparent;
18
18
  content: "";
@@ -20,7 +20,7 @@
20
20
  position: absolute;
21
21
  }
22
22
  .timepicker-widget.dropdown-menu:after {
23
- border-bottom: 6px solid rgba(56,67,81,1);
23
+ border-bottom: 6px solid rgba(245,248,250,1);
24
24
  border-right: 6px solid transparent;
25
25
  border-left: 6px solid transparent;
26
26
  content: "";
@@ -35,12 +35,12 @@
35
35
  .timepicker-widget.timepicker-orient-top:after { top: -6px; }
36
36
  .timepicker-widget.timepicker-orient-bottom:before {
37
37
  border-bottom: 0;
38
- border-top: 7px solid rgba(56,67,81,1);
38
+ border-top: 7px solid rgba(245,248,250,1);
39
39
  bottom: -7px;
40
40
  }
41
41
  .timepicker-widget.timepicker-orient-bottom:after {
42
42
  border-bottom: 0;
43
- border-top: 6px solid rgba(56,67,81,1);
43
+ border-top: 6px solid rgba(245,248,250,1);
44
44
  bottom: -6px;
45
45
  }
46
46
  .timepicker-widget a.btn,
@@ -57,7 +57,7 @@
57
57
  .timepicker-widget table td:not(.separator) { min-width: 30px; }
58
58
  .timepicker-widget table td span { width: 100%; }
59
59
  .timepicker-widget table td a {
60
- color: rgba(255,255,255,1);
60
+ color: rgba(43,50,53,1);
61
61
  display: inline-block;
62
62
  margin: 0;
63
63
  padding: 8px 0;
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_frontend
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.6
4
+ version: 2.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Juan Gomez
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-05-01 00:00:00.000000000 Z
11
+ date: 2015-05-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -82,6 +82,7 @@ files:
82
82
  - vendor/assets/javascripts/carousel.js
83
83
  - vendor/assets/javascripts/chart.js
84
84
  - vendor/assets/javascripts/collapse.js
85
+ - vendor/assets/javascripts/color_picker.js
85
86
  - vendor/assets/javascripts/date_picker.js
86
87
  - vendor/assets/javascripts/dropdown.js
87
88
  - vendor/assets/javascripts/file_input.js
@@ -113,6 +114,7 @@ files:
113
114
  - vendor/assets/stylesheets/chart.scss
114
115
  - vendor/assets/stylesheets/code.scss
115
116
  - vendor/assets/stylesheets/collapse.scss
117
+ - vendor/assets/stylesheets/colorpicker.scss
116
118
  - vendor/assets/stylesheets/datepicker.scss
117
119
  - vendor/assets/stylesheets/dropdown.scss
118
120
  - vendor/assets/stylesheets/footer.scss
@@ -164,7 +166,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
164
166
  version: '0'
165
167
  requirements: []
166
168
  rubyforge_project:
167
- rubygems_version: 2.4.5
169
+ rubygems_version: 2.4.6
168
170
  signing_key:
169
171
  specification_version: 4
170
172
  summary: ActiveFrontend Responsive Web Framework