diff --git a/bower.json b/bower.json
index 964e5da7c..e15d54a17 100644
--- a/bower.json
+++ b/bower.json
@@ -1,7 +1,7 @@
{
"name": "angular-strap",
"description": "AngularStrap - AngularJS directives for Twitter Bootstrap",
- "version": "2.0.0-rc.2",
+ "version": "2.0.0-rc.3",
"keywords": [
"angular",
"bootstrap"
diff --git a/dist/angular-strap.js b/dist/angular-strap.js
index c1395d97b..a5e8405ad 100644
--- a/dist/angular-strap.js
+++ b/dist/angular-strap.js
@@ -1,8 +1,8 @@
/**
* angular-strap
- * @version v2.0.0-rc.2 - 2014-01-29
+ * @version v2.0.0-rc.3 - 2014-02-10
* @link http://mgcrea.github.io/angular-strap
- * @author [object Object]
+ * @author Olivier Louvignes (olivier@mg-crea.com)
* @license MIT License, http://www.opensource.org/licenses/MIT
*/
(function (window, document, undefined) {
@@ -30,11 +30,11 @@
'$window',
'dimensions',
function ($window, dimensions) {
- var windowEl = angular.element($window);
var bodyEl = angular.element($window.document.body);
function AffixFactory(element, config) {
var $affix = {};
var options = angular.extend({}, defaults, config);
+ var targetEl = options.target;
var reset = 'affix affix-top affix-bottom', initialAffixTop = 0, initialOffsetTop = 0, affixed = null, unpin = null;
var parent = element.parent();
if (options.offsetParent) {
@@ -65,27 +65,27 @@
var offsetBottom = 0;
if (options.offsetBottom) {
if (options.offsetParent && options.offsetBottom.match(/^[-+]\d+$/)) {
- offsetBottom = $window.document.body.scrollHeight - (dimensions.offset(parent[0]).top + dimensions.height(parent[0])) + options.offsetBottom * 1 + 1;
+ offsetBottom = getScrollHeight() - (dimensions.offset(parent[0]).top + dimensions.height(parent[0])) + options.offsetBottom * 1 + 1;
} else {
offsetBottom = options.offsetBottom * 1;
}
}
$affix.init = function () {
initialOffsetTop = dimensions.offset(element[0]).top + initialAffixTop;
- windowEl.on('scroll', this.checkPosition);
- windowEl.on('click', this.checkPositionWithEventLoop);
+ targetEl.on('scroll', this.checkPosition);
+ targetEl.on('click', this.checkPositionWithEventLoop);
this.checkPosition();
this.checkPositionWithEventLoop();
};
$affix.destroy = function () {
- windowEl.off('scroll', this.checkPosition);
- windowEl.off('click', this.checkPositionWithEventLoop);
+ targetEl.off('scroll', this.checkPosition);
+ targetEl.off('click', this.checkPositionWithEventLoop);
};
$affix.checkPositionWithEventLoop = function () {
setTimeout(this.checkPosition, 1);
};
$affix.checkPosition = function () {
- var scrollTop = $window.pageYOffset;
+ var scrollTop = getScrollTop();
var position = dimensions.offset(element[0]);
var elementHeight = dimensions.height(element[0]);
var affix = getRequiredAffixClass(unpin, position, elementHeight);
@@ -112,8 +112,8 @@
}
};
function getRequiredAffixClass(unpin, position, elementHeight) {
- var scrollTop = $window.pageYOffset;
- var scrollHeight = $window.document.body.scrollHeight;
+ var scrollTop = getScrollTop();
+ var scrollHeight = getScrollHeight();
if (scrollTop <= offsetTop) {
return 'top';
} else if (unpin !== null && scrollTop + unpin <= position.top) {
@@ -124,6 +124,12 @@
return 'middle';
}
}
+ function getScrollTop() {
+ return targetEl[0] === $window ? $window.pageYOffset : targetEl[0] === $window;
+ }
+ function getScrollHeight() {
+ return targetEl[0] === $window ? $window.document.body.scrollHeight : targetEl[0].scrollHeight;
+ }
$affix.init();
return $affix;
}
@@ -132,14 +138,16 @@
];
}).directive('bsAffix', [
'$affix',
- 'dimensions',
- function ($affix, dimensions) {
+ '$window',
+ function ($affix, $window) {
return {
restrict: 'EAC',
- link: function postLink(scope, element, attr) {
+ require: '^?bsAffixTarget',
+ link: function postLink(scope, element, attr, affixTarget) {
var options = {
scope: scope,
- offsetTop: 'auto'
+ offsetTop: 'auto',
+ target: affixTarget ? affixTarget.$element : angular.element($window)
};
angular.forEach([
'offsetTop',
@@ -158,7 +166,16 @@
}
};
}
- ]);
+ ]).directive('bsAffixTarget', function () {
+ return {
+ controller: [
+ '$element',
+ function ($element) {
+ this.$element = $element;
+ }
+ ]
+ };
+ });
angular.module('mgcrea.ngStrap.alert', []).provider('$alert', function () {
var defaults = this.defaults = {
animation: 'am-fade',
@@ -232,7 +249,7 @@
'type'
], function (key) {
attr[key] && attr.$observe(key, function (newValue, oldValue) {
- scope[key] = newValue;
+ scope[key] = $sce.getTrustedHtml(newValue);
});
});
attr.bsAlert && scope.$watch(attr.bsAlert, function (newValue, oldValue) {
@@ -313,7 +330,7 @@
'content'
], function (key) {
attr[key] && attr.$observe(key, function (newValue, oldValue) {
- scope[key] = newValue;
+ scope[key] = $sce.getTrustedHtml(newValue);
});
});
attr.bsAside && scope.$watch(attr.bsAside, function (newValue, oldValue) {
@@ -334,7 +351,7 @@
};
}
]);
- angular.module('mgcrea.ngStrap.button', []).provider('$button', function () {
+ angular.module('mgcrea.ngStrap.button', ['ngAnimate']).provider('$button', function () {
var defaults = this.defaults = {
activeClass: 'active',
toggleEvent: 'click'
@@ -359,7 +376,8 @@
};
}).directive('bsCheckbox', [
'$button',
- function ($button) {
+ '$$animateReflow',
+ function ($button, $$animateReflow) {
var defaults = $button.defaults;
var constantValueRegExp = /^(true|false|\d+)$/;
return {
@@ -388,10 +406,11 @@
}
controller.$render = function () {
var isActive = angular.equals(controller.$modelValue, trueValue);
- if (isInput) {
- element[0].checked = isActive;
- }
- activeElement.toggleClass(options.activeClass, isActive);
+ $$animateReflow(function () {
+ if (isInput)
+ element[0].checked = isActive;
+ activeElement.toggleClass(options.activeClass, isActive);
+ });
};
element.bind(options.toggleEvent, function () {
scope.$apply(function () {
@@ -422,7 +441,8 @@
};
}).directive('bsRadio', [
'$button',
- function ($button) {
+ '$$animateReflow',
+ function ($button, $$animateReflow) {
var defaults = $button.defaults;
var constantValueRegExp = /^(true|false|\d+)$/;
return {
@@ -435,10 +455,11 @@
var value = constantValueRegExp.test(attr.value) ? scope.$eval(attr.value) : attr.value;
controller.$render = function () {
var isActive = angular.equals(controller.$modelValue, value);
- if (isInput) {
- element[0].checked = isActive;
- }
- activeElement.toggleClass(options.activeClass, isActive);
+ $$animateReflow(function () {
+ if (isInput)
+ element[0].checked = isActive;
+ activeElement.toggleClass(options.activeClass, isActive);
+ });
};
element.bind(options.toggleEvent, function () {
scope.$apply(function () {
@@ -472,7 +493,7 @@
maxDate: +Infinity,
startView: 0,
minView: 0,
- weekStart: 0
+ startWeek: 0
};
this.$get = [
'$window',
@@ -486,7 +507,7 @@
function ($window, $document, $rootScope, $sce, $locale, dateFilter, datepickerViews, $tooltip) {
var bodyEl = angular.element($window.document.body);
var isTouch = 'createTouch' in $window.document;
- var isAppleTouch = /(iP(a|o)d|iPhone)/g.test($window.navigator.userAgent);
+ var isNative = /(ip(a|o)d|iphone|android)/gi.test($window.navigator.userAgent);
if (!defaults.lang)
defaults.lang = $locale.id;
function DatepickerFactory(element, controller, config) {
@@ -494,6 +515,8 @@
var parentScope = config.scope;
var options = $datepicker.$options;
var scope = $datepicker.$scope;
+ if (options.startView)
+ options.startView -= options.minView;
var pickerViews = datepickerViews($datepicker);
$datepicker.$views = pickerViews.views;
var viewDate = pickerViews.viewDate;
@@ -509,16 +532,15 @@
$datepicker.setMode((scope.$mode + 1) % $datepicker.$views.length);
};
$datepicker.update = function (date) {
- if (!isNaN(date.getTime())) {
+ if (angular.isDate(date) && !isNaN(date.getTime())) {
$datepicker.$date = date;
$picker.update.call($picker, date);
- } else if (!$picker.built) {
- $datepicker.$build();
}
+ $datepicker.$build(true);
};
$datepicker.select = function (date, keep) {
- if (!angular.isDate(date))
- date = new Date(date);
+ if (!angular.isDate(controller.$dateValue))
+ controller.$dateValue = new Date(date);
controller.$dateValue.setFullYear(date.getFullYear(), date.getMonth(), date.getDate());
if (!scope.$mode || keep) {
controller.$setViewValue(controller.$dateValue);
@@ -541,7 +563,11 @@
$picker = $datepicker.$views[scope.$mode];
$datepicker.$build();
};
- $datepicker.$build = function () {
+ $datepicker.$build = function (pristine) {
+ if (pristine === true && $picker.built)
+ return;
+ if (pristine === false && !$picker.built)
+ return;
$picker.build.call($picker);
};
$datepicker.$updateSelected = function () {
@@ -598,7 +624,7 @@
}
var _init = $datepicker.init;
$datepicker.init = function () {
- if (isAppleTouch && options.useNative) {
+ if (isNative && options.useNative) {
element.prop('type', 'date');
element.css('-webkit-appearance', 'textfield');
return;
@@ -611,7 +637,7 @@
};
var _destroy = $datepicker.destroy;
$datepicker.destroy = function () {
- if (isAppleTouch && options.useNative) {
+ if (isNative && options.useNative) {
element.off('click', focusElement);
}
_destroy();
@@ -650,7 +676,8 @@
'$dateParser',
'$timeout',
function ($window, $parse, $q, $locale, dateFilter, $datepicker, $dateParser, $timeout) {
- var isAppleTouch = /(iP(a|o)d|iPhone)/g.test($window.navigator.userAgent);
+ var defaults = $datepicker.defaults;
+ var isNative = /(ip(a|o)d|iphone|android)/gi.test($window.navigator.userAgent);
var requestAnimationFrame = $window.requestAnimationFrame || $window.setTimeout;
return {
restrict: 'EAC',
@@ -672,13 +699,16 @@
'autoclose',
'dateType',
'dateFormat',
+ 'startWeek',
'useNative',
- 'lang'
+ 'lang',
+ 'startView',
+ 'minView'
], function (key) {
if (angular.isDefined(attr[key]))
options[key] = attr[key];
});
- if (isAppleTouch && options.useNative)
+ if (isNative && options.useNative)
options.dateFormat = 'yyyy-MM-dd';
var datepicker = $datepicker(element, controller, options);
options = datepicker.$options;
@@ -695,7 +725,7 @@
} else {
datepicker.$options[key] = +new Date(newValue);
}
- !isNaN(datepicker.$options[key]) && datepicker.$build();
+ !isNaN(datepicker.$options[key]) && datepicker.$build(false);
});
});
scope.$watch(attr.ngModel, function (newValue, oldValue) {
@@ -706,6 +736,10 @@
lang: options.lang
});
controller.$parsers.unshift(function (viewValue) {
+ if (!viewValue) {
+ controller.$setValidity('date', true);
+ return;
+ }
var parsedDate = dateParser.parse(viewValue, controller.$dateValue);
if (!parsedDate || isNaN(parsedDate.getTime())) {
controller.$setValidity('date', false);
@@ -715,7 +749,6 @@
if (isValid)
controller.$dateValue = parsedDate;
}
- controller.$dateValue = parsedDate;
if (options.dateType === 'string') {
return dateFilter(viewValue, options.dateFormat);
} else if (options.dateType === 'number') {
@@ -763,8 +796,8 @@
var scope = picker.$scope;
var options = picker.$options;
var weekDaysMin = $locale.DATETIME_FORMATS.SHORTDAY;
- var weekDaysLabels = weekDaysMin.slice(options.weekStart).concat(weekDaysMin.slice(0, options.weekStart));
- var dayLabelHtml = $sce.trustAsHtml('
' + weekDaysLabels.join(' | ') + ' | ');
+ var weekDaysLabels = weekDaysMin.slice(options.startWeek).concat(weekDaysMin.slice(0, options.startWeek));
+ var weekDaysLabelsHtml = $sce.trustAsHtml('' + weekDaysLabels.join(' | ') + ' | ');
var startDate = picker.$date || new Date();
var viewDate = {
year: startDate.getFullYear(),
@@ -792,9 +825,9 @@
},
build: function () {
var firstDayOfMonth = new Date(viewDate.year, viewDate.month, 1);
- var firstDate = new Date(+firstDayOfMonth - (firstDayOfMonth.getDay() - options.weekStart) * 86400000);
+ var firstDate = new Date(+firstDayOfMonth - (firstDayOfMonth.getDay() + options.startWeek) * 86400000);
var days = [], day;
- for (var i = 0; i < 35; i++) {
+ for (var i = 0; i < 42; i++) {
day = new Date(firstDate.getFullYear(), firstDate.getMonth(), firstDate.getDate() + i);
days.push({
date: day,
@@ -805,7 +838,7 @@
});
}
scope.title = dateFilter(firstDayOfMonth, 'MMMM yyyy');
- scope.labels = dayLabelHtml;
+ scope.labels = weekDaysLabelsHtml;
scope.rows = split(days, this.split);
this.built = true;
},
@@ -1350,11 +1383,11 @@
});
};
function parseValues(values) {
- return values.map(function (match) {
+ return values.map(function (match, index) {
var locals = {}, label, value;
locals[valueName] = match;
label = displayFn(locals);
- value = valueFn(locals);
+ value = valueFn(locals) || index;
return {
label: label,
value: value
@@ -1371,6 +1404,7 @@
angular.module('mgcrea.ngStrap.modal', ['mgcrea.ngStrap.helpers.dimensions']).provider('$modal', function () {
var defaults = this.defaults = {
animation: 'am-fade',
+ backdropAnimation: 'am-fade',
prefixClass: 'modal',
placement: 'top',
template: 'modal/modal.tpl.html',
@@ -1398,13 +1432,10 @@
var requestAnimationFrame = $window.requestAnimationFrame || $window.setTimeout;
var bodyElement = angular.element($window.document.body);
var htmlReplaceRegExp = /ng-bind="/gi;
- var findElement = function (query, element) {
- return angular.element((element || document).querySelectorAll(query));
- };
function ModalFactory(config) {
var $modal = {};
var options = angular.extend({}, defaults, config);
- $modal.$promise = $q.when($templateCache.get(options.template) || $http.get(options.template));
+ $modal.$promise = fetchTemplate(options.template);
var scope = $modal.$scope = options.scope && options.scope.$new() || $rootScope.$new();
if (!options.element && !options.container) {
options.container = 'body';
@@ -1435,12 +1466,8 @@
};
if (options.contentTemplate) {
$modal.$promise = $modal.$promise.then(function (template) {
- if (angular.isObject(template))
- template = template.data;
var templateEl = angular.element(template);
- return $q.when($templateCache.get(options.contentTemplate) || $http.get(options.contentTemplate)).then(function (contentTemplate) {
- if (angular.isObject(contentTemplate))
- contentTemplate = contentTemplate.data;
+ return fetchTemplate(options.contentTemplate).then(function (contentTemplate) {
var contentEl = findElement('[ng-bind="content"]', templateEl[0]).removeAttr('ng-bind').html(contentTemplate);
if (!config.template)
contentEl.next().remove();
@@ -1485,7 +1512,7 @@
modalElement.css({ display: 'block' }).addClass(options.placement);
if (options.animation) {
if (options.backdrop) {
- backdropElement.addClass('am-fade');
+ backdropElement.addClass(options.backdropAnimation);
}
modalElement.addClass(options.animation);
}
@@ -1518,8 +1545,8 @@
$animate.leave(backdropElement, function () {
});
}
- scope.$$phase || scope.$digest();
scope.$isShown = false;
+ scope.$$phase || scope.$digest();
if (options.backdrop) {
modalElement.off('click', hideOnBackdropClick);
backdropElement.off('click', hideOnBackdropClick);
@@ -1544,6 +1571,18 @@
}
return $modal;
}
+ function findElement(query, element) {
+ return angular.element((element || document).querySelectorAll(query));
+ }
+ function fetchTemplate(template) {
+ return $q.when($templateCache.get(template) || $http.get(template)).then(function (res) {
+ if (angular.isObject(res)) {
+ $templateCache.put(template, res.data);
+ return res.data;
+ }
+ return res;
+ });
+ }
return ModalFactory;
}
];
@@ -1580,7 +1619,7 @@
'content'
], function (key) {
attr[key] && attr.$observe(key, function (newValue, oldValue) {
- scope[key] = newValue;
+ scope[key] = $sce.getTrustedHtml(newValue);
});
});
attr.bsModal && scope.$watch(attr.bsModal, function (newValue, oldValue) {
@@ -1701,7 +1740,7 @@
'content'
], function (key) {
attr[key] && attr.$observe(key, function (newValue, oldValue) {
- scope[key] = newValue;
+ scope[key] = $sce.getTrustedHtml(newValue);
angular.isDefined(oldValue) && requestAnimationFrame(function () {
popover && popover.$applyPlacement();
});
@@ -1980,17 +2019,7 @@
};
$select.update = function (matches) {
scope.$matches = matches;
- if (controller.$modelValue && matches.length) {
- if (options.multiple && angular.isArray(controller.$modelValue)) {
- scope.$activeIndex = controller.$modelValue.map(function (value) {
- return $select.$getIndex(value);
- });
- } else {
- scope.$activeIndex = $select.$getIndex(controller.$modelValue);
- }
- } else if (scope.$activeIndex >= matches.length) {
- scope.$activeIndex = options.multiple ? [] : 0;
- }
+ $select.$updateActiveIndex();
};
$select.activate = function (index) {
if (options.multiple) {
@@ -2024,6 +2053,19 @@
}
scope.$emit('$select.select', value, index);
};
+ $select.$updateActiveIndex = function () {
+ if (controller.$modelValue && scope.$matches.length) {
+ if (options.multiple && angular.isArray(controller.$modelValue)) {
+ scope.$activeIndex = controller.$modelValue.map(function (value) {
+ return $select.$getIndex(value);
+ });
+ } else {
+ scope.$activeIndex = $select.$getIndex(controller.$modelValue);
+ }
+ } else if (scope.$activeIndex >= scope.$matches.length) {
+ scope.$activeIndex = options.multiple ? [] : 0;
+ }
+ };
$select.$isVisible = function () {
if (!options.minLength || !controller) {
return scope.$matches.length;
@@ -2147,6 +2189,12 @@
if (angular.isDefined(attr[key]))
options[key] = attr[key];
});
+ if (element[0].nodeName.toLowerCase() === 'select') {
+ var inputEl = element;
+ inputEl.css('display', 'none');
+ element = angular.element('');
+ inputEl.after(element);
+ }
var parsedOptions = $parseOptions(attr.ngOptions);
var select = $select(element, controller, options);
var watchedOptions = parsedOptions.$match[7].replace(/\|.+/, '').trim();
@@ -2155,7 +2203,10 @@
select.update(values);
controller.$render();
});
- });
+ }, true);
+ scope.$watch(attr.ngModel, function (newValue, oldValue) {
+ select.$updateActiveIndex();
+ }, true);
controller.$render = function () {
var selected, index;
if (options.multiple && angular.isArray(controller.$modelValue)) {
@@ -2247,7 +2298,7 @@
keyboard: true,
html: false,
delay: 0,
- useNative: false,
+ useNative: true,
timeType: 'date',
timeFormat: 'shortTime',
autoclose: false,
@@ -2268,7 +2319,7 @@
function ($window, $document, $rootScope, $sce, $locale, dateFilter, $tooltip) {
var bodyEl = angular.element($window.document.body);
var isTouch = 'createTouch' in $window.document;
- var isAppleTouch = /(iP(a|o)d|iPhone)/g.test($window.navigator.userAgent);
+ var isNative = /(ip(a|o)d|iphone|android)/gi.test($window.navigator.userAgent);
if (!defaults.lang)
defaults.lang = $locale.id;
function timepickerFactory(element, controller, config) {
@@ -2297,7 +2348,7 @@
$timepicker.switchMeridian(date);
};
$timepicker.update = function (date) {
- if (!isNaN(date.getTime())) {
+ if (angular.isDate(date) && !isNaN(date.getTime())) {
$timepicker.$date = date;
angular.extend(viewDate, {
hour: date.getHours(),
@@ -2311,6 +2362,8 @@
}
};
$timepicker.select = function (date, index, keep) {
+ if (isNaN(controller.$dateValue.getTime()))
+ controller.$dateValue = new Date(1970, 0, 1);
if (!angular.isDate(date))
date = new Date(date);
if (index === 0)
@@ -2462,7 +2515,11 @@
}
var _init = $timepicker.init;
$timepicker.init = function () {
- if (isTouch) {
+ if (isNative && options.useNative) {
+ element.prop('type', 'time');
+ element.css('-webkit-appearance', 'textfield');
+ return;
+ } else if (isTouch) {
element.prop('type', 'text');
element.attr('readonly', 'true');
element.on('click', focusElement);
@@ -2471,7 +2528,7 @@
};
var _destroy = $timepicker.destroy;
$timepicker.destroy = function () {
- if (isAppleTouch && options.useNative) {
+ if (isNative && options.useNative) {
element.off('click', focusElement);
}
_destroy();
@@ -2510,6 +2567,8 @@
'$dateParser',
'$timeout',
function ($window, $parse, $q, $locale, dateFilter, $timepicker, $dateParser, $timeout) {
+ var defaults = $timepicker.defaults;
+ var isNative = /(ip(a|o)d|iphone|android)/gi.test($window.navigator.userAgent);
var requestAnimationFrame = $window.requestAnimationFrame || $window.setTimeout;
return {
restrict: 'EAC',
@@ -2537,6 +2596,8 @@
if (angular.isDefined(attr[key]))
options[key] = attr[key];
});
+ if (isNative && options.useNative)
+ options.timeFormat = 'HH:mm';
var timepicker = $timepicker(element, controller, options);
options = timepicker.$options;
var dateParser = $dateParser({
@@ -2562,6 +2623,10 @@
timepicker.update(controller.$dateValue);
}, true);
controller.$parsers.unshift(function (viewValue) {
+ if (!viewValue) {
+ controller.$setValidity('date', true);
+ return;
+ }
var parsedTime = dateParser.parse(viewValue, controller.$dateValue);
if (!parsedTime || isNaN(parsedTime.getTime())) {
controller.$setValidity('date', false);
@@ -2583,8 +2648,6 @@
});
controller.$formatters.push(function (modelValue) {
var date = angular.isDate(modelValue) ? modelValue : new Date(modelValue);
- if (isNaN(date.getTime()))
- date = new Date(new Date().setMinutes(0) + 3600000);
controller.$dateValue = date;
return controller.$dateValue;
});
@@ -2600,7 +2663,10 @@
};
}
]);
- angular.module('mgcrea.ngStrap.tooltip', ['mgcrea.ngStrap.helpers.dimensions']).provider('$tooltip', function () {
+ angular.module('mgcrea.ngStrap.tooltip', [
+ 'ngAnimate',
+ 'mgcrea.ngStrap.helpers.dimensions'
+ ]).provider('$tooltip', function () {
var defaults = this.defaults = {
animation: 'am-fade',
prefixClass: 'tooltip',
@@ -2626,18 +2692,15 @@
'$animate',
'$timeout',
'dimensions',
- function ($window, $rootScope, $compile, $q, $templateCache, $http, $animate, $timeout, dimensions) {
+ '$$animateReflow',
+ function ($window, $rootScope, $compile, $q, $templateCache, $http, $animate, $timeout, dimensions, $$animateReflow) {
var trim = String.prototype.trim;
- var requestAnimationFrame = $window.requestAnimationFrame || $window.setTimeout;
var isTouch = 'createTouch' in $window.document;
var htmlReplaceRegExp = /ng-bind="/gi;
- var findElement = function (query, element) {
- return angular.element((element || document).querySelectorAll(query));
- };
function TooltipFactory(element, config) {
var $tooltip = {};
var options = $tooltip.$options = angular.extend({}, defaults, config);
- $tooltip.$promise = $q.when($templateCache.get(options.template) || $http.get(options.template));
+ $tooltip.$promise = fetchTemplate(options.template);
var scope = $tooltip.$scope = options.scope && options.scope.$new() || $rootScope.$new();
if (options.delay && angular.isString(options.delay)) {
options.delay = parseFloat(options.delay);
@@ -2664,18 +2727,14 @@
var timeout, hoverState;
if (options.contentTemplate) {
$tooltip.$promise = $tooltip.$promise.then(function (template) {
- if (angular.isObject(template))
- template = template.data;
var templateEl = angular.element(template);
- return $q.when($templateCache.get(options.contentTemplate) || $http.get(options.contentTemplate, { cache: $templateCache })).then(function (contentTemplate) {
- if (angular.isObject(contentTemplate))
- contentTemplate = contentTemplate.data;
+ return fetchTemplate(options.contentTemplate).then(function (contentTemplate) {
findElement('[ng-bind="content"]', templateEl[0]).removeAttr('ng-bind').html(contentTemplate);
return templateEl[0].outerHTML;
});
});
}
- var tipLinker, tipElement, tipTemplate;
+ var tipLinker, tipElement, tipTemplate, tipContainer;
$tooltip.$promise.then(function (template) {
if (angular.isObject(template))
template = template.data;
@@ -2693,16 +2752,20 @@
hide: options.delay
};
}
+ if (options.container === 'self') {
+ tipContainer = element;
+ } else if (options.container) {
+ tipContainer = findElement(options.container);
+ }
var triggers = options.trigger.split(' ');
- for (var i = triggers.length; i--;) {
- var trigger = triggers[i];
+ angular.forEach(triggers, function (trigger) {
if (trigger === 'click') {
element.on('click', $tooltip.toggle);
} else if (trigger !== 'manual') {
element.on(trigger === 'hover' ? 'mouseenter' : 'focus', $tooltip.enter);
element.on(trigger === 'hover' ? 'mouseleave' : 'blur', $tooltip.leave);
}
- }
+ });
if (options.show) {
scope.$$postDigest(function () {
options.trigger === 'focus' ? element[0].focus() : $tooltip.show();
@@ -2738,8 +2801,10 @@
}, options.delay.show);
};
$tooltip.show = function () {
- var parent = options.container ? findElement(options.container) : null;
+ var parent = options.container ? tipContainer : null;
var after = options.container ? null : element;
+ if (tipElement)
+ tipElement.remove();
tipElement = $tooltip.$element = tipLinker(scope, function (clonedElement, scope) {
});
tipElement.css({
@@ -2755,7 +2820,7 @@
});
$tooltip.$isShown = true;
scope.$$phase || scope.$digest();
- requestAnimationFrame($tooltip.$applyPlacement);
+ $$animateReflow($tooltip.$applyPlacement);
if (options.keyboard) {
if (options.trigger !== 'focus') {
$tooltip.focus();
@@ -2766,8 +2831,6 @@
}
};
$tooltip.leave = function () {
- if (!$tooltip.$isShown)
- return;
clearTimeout(timeout);
hoverState = 'out';
if (!options.delay || !options.delay.hide) {
@@ -2780,7 +2843,10 @@
}, options.delay.hide);
};
$tooltip.hide = function (blur) {
+ if (!$tooltip.$isShown)
+ return;
$animate.leave(tipElement, function () {
+ tipElement = null;
});
scope.$$phase || scope.$digest();
$tooltip.$isShown = false;
@@ -2873,6 +2939,18 @@
}
return $tooltip;
}
+ function findElement(query, element) {
+ return angular.element((element || document).querySelectorAll(query));
+ }
+ function fetchTemplate(template) {
+ return $q.when($templateCache.get(template) || $http.get(template)).then(function (res) {
+ if (angular.isObject(res)) {
+ $templateCache.put(template, res.data);
+ return res.data;
+ }
+ return res;
+ });
+ }
return TooltipFactory;
}
];
@@ -2881,8 +2959,8 @@
'$location',
'$sce',
'$tooltip',
- function ($window, $location, $sce, $tooltip) {
- var requestAnimationFrame = $window.requestAnimationFrame || $window.setTimeout;
+ '$$animateReflow',
+ function ($window, $location, $sce, $tooltip, $$animateReflow) {
return {
restrict: 'EAC',
scope: true,
@@ -2905,8 +2983,8 @@
});
angular.forEach(['title'], function (key) {
attr[key] && attr.$observe(key, function (newValue, oldValue) {
- scope[key] = newValue;
- angular.isDefined(oldValue) && requestAnimationFrame(function () {
+ scope[key] = $sce.getTrustedHtml(newValue);
+ angular.isDefined(oldValue) && $$animateReflow(function () {
tooltip && tooltip.$applyPlacement();
});
});
@@ -2917,7 +2995,7 @@
} else {
scope.content = newValue;
}
- angular.isDefined(oldValue) && requestAnimationFrame(function () {
+ angular.isDefined(oldValue) && $$animateReflow(function () {
tooltip && tooltip.$applyPlacement();
});
}, true);
@@ -3082,7 +3160,7 @@
options[key] = attr[key];
});
var limit = options.limit || defaults.limit;
- var parsedOptions = $parseOptions(attr.ngOptions + ' | filter:$viewValue |\xa0limitTo:' + limit);
+ var parsedOptions = $parseOptions(attr.ngOptions + ' | filter:$viewValue | limitTo:' + limit);
var typeahead = $typeahead(element, options);
scope.$watch(attr.ngModel, function (newValue, oldValue) {
parsedOptions.valuesFn(scope, controller).then(function (values) {
diff --git a/dist/angular-strap.min.js b/dist/angular-strap.min.js
index ef75efc6d..55d69fba9 100644
--- a/dist/angular-strap.min.js
+++ b/dist/angular-strap.min.js
@@ -1,10 +1,10 @@
/**
* angular-strap
- * @version v2.0.0-rc.2 - 2014-01-29
+ * @version v2.0.0-rc.3 - 2014-02-10
* @link http://mgcrea.github.io/angular-strap
- * @author [object Object]
+ * @author Olivier Louvignes (olivier@mg-crea.com)
* @license MIT License, http://www.opensource.org/licenses/MIT
*/
-!function(a,b){"use strict";angular.module("mgcrea.ngStrap",["mgcrea.ngStrap.modal","mgcrea.ngStrap.aside","mgcrea.ngStrap.alert","mgcrea.ngStrap.button","mgcrea.ngStrap.select","mgcrea.ngStrap.datepicker","mgcrea.ngStrap.timepicker","mgcrea.ngStrap.navbar","mgcrea.ngStrap.tooltip","mgcrea.ngStrap.popover","mgcrea.ngStrap.dropdown","mgcrea.ngStrap.typeahead","mgcrea.ngStrap.scrollspy","mgcrea.ngStrap.affix","mgcrea.ngStrap.tab"]),angular.module("mgcrea.ngStrap.affix",["mgcrea.ngStrap.helpers.dimensions"]).provider("$affix",function(){var a=this.defaults={offsetTop:"auto"};this.$get=["$window","dimensions",function(b,c){function d(d,g){function h(a,c,d){var e=b.pageYOffset,f=b.document.body.scrollHeight;return r>=e?"top":null!==a&&e+a<=c.top?"middle":null!==s&&c.top+d+l>=f-s?"bottom":"middle"}var i={},j=angular.extend({},a,g),k="affix affix-top affix-bottom",l=0,m=0,n=null,o=null,p=d.parent();if(j.offsetParent)if(j.offsetParent.match(/^\d+$/))for(var q=0;q<1*j.offsetParent-1;q++)p=p.parent();else p=angular.element(j.offsetParent);var r=0;j.offsetTop&&("auto"===j.offsetTop&&(j.offsetTop="+0"),j.offsetTop.match(/^[-+]\d+$/)?(l-=1*j.offsetTop,r=j.offsetParent?c.offset(p[0]).top+1*j.offsetTop:c.offset(d[0]).top-c.css(d[0],"marginTop",!0)+1*j.offsetTop):r=1*j.offsetTop);var s=0;return j.offsetBottom&&(s=j.offsetParent&&j.offsetBottom.match(/^[-+]\d+$/)?b.document.body.scrollHeight-(c.offset(p[0]).top+c.height(p[0]))+1*j.offsetBottom+1:1*j.offsetBottom),i.init=function(){m=c.offset(d[0]).top+l,e.on("scroll",this.checkPosition),e.on("click",this.checkPositionWithEventLoop),this.checkPosition(),this.checkPositionWithEventLoop()},i.destroy=function(){e.off("scroll",this.checkPosition),e.off("click",this.checkPositionWithEventLoop)},i.checkPositionWithEventLoop=function(){setTimeout(this.checkPosition,1)},i.checkPosition=function(){var a=b.pageYOffset,e=c.offset(d[0]),g=c.height(d[0]),i=h(o,e,g);n!==i&&(n=i,d.removeClass(k).addClass("affix"+("middle"!==i?"-"+i:"")),"top"===i?(o=null,d.css("position",j.offsetParent?"":"relative"),d.css("top","")):"bottom"===i?(o=j.offsetUnpin?-(1*j.offsetUnpin):e.top-a,d.css("position",j.offsetParent?"":"relative"),d.css("top",j.offsetParent?"":f[0].offsetHeight-s-g-m+"px")):(o=null,d.css("position","fixed"),d.css("top",l+"px")))},i.init(),i}var e=angular.element(b),f=angular.element(b.document.body);return d}]}).directive("bsAffix",["$affix","dimensions",function(a){return{restrict:"EAC",link:function(b,c,d){var e={scope:b,offsetTop:"auto"};angular.forEach(["offsetTop","offsetBottom","offsetParent","offsetUnpin"],function(a){angular.isDefined(d[a])&&(e[a]=d[a])});var f=a(c,e);b.$on("$destroy",function(){e=null,f=null})}}}]),angular.module("mgcrea.ngStrap.alert",[]).provider("$alert",function(){var a=this.defaults={animation:"am-fade",prefixClass:"alert",placement:null,template:"alert/alert.tpl.html",container:!1,element:null,backdrop:!1,keyboard:!0,show:!0,duration:!1,type:!1};this.$get=["$modal","$timeout",function(b,c){function d(d){var e={},f=angular.extend({},a,d);e=b(f),f.type&&(e.$scope.type=f.type);var g=e.show;return f.duration&&(e.show=function(){g(),c(function(){e.hide()},1e3*f.duration)}),e}return d}]}).directive("bsAlert",["$window","$location","$sce","$alert",function(a,b,c,d){a.requestAnimationFrame||a.setTimeout;return{restrict:"EAC",scope:!0,link:function(a,b,c){var e={scope:a,element:b,show:!1};angular.forEach(["template","placement","keyboard","html","container","animation","duration"],function(a){angular.isDefined(c[a])&&(e[a]=c[a])}),angular.forEach(["title","content","type"],function(b){c[b]&&c.$observe(b,function(c){a[b]=c})}),c.bsAlert&&a.$watch(c.bsAlert,function(b){angular.isObject(b)?angular.extend(a,b):a.content=b},!0);var f=d(e);b.on(c.trigger||"click",f.toggle),a.$on("$destroy",function(){f.destroy(),e=null,f=null})}}}]),angular.module("mgcrea.ngStrap.aside",["mgcrea.ngStrap.modal"]).provider("$aside",function(){var a=this.defaults={animation:"am-fade-and-slide-right",prefixClass:"aside",placement:"right",template:"aside/aside.tpl.html",contentTemplate:!1,container:!1,element:null,backdrop:!0,keyboard:!0,html:!1,show:!0};this.$get=["$modal",function(b){function c(c){var d={},e=angular.extend({},a,c);return d=b(e)}return c}]}).directive("bsAside",["$window","$location","$sce","$aside",function(a,b,c,d){a.requestAnimationFrame||a.setTimeout;return{restrict:"EAC",scope:!0,link:function(a,b,c){var e={scope:a,element:b,show:!1};angular.forEach(["template","contentTemplate","placement","backdrop","keyboard","html","container","animation"],function(a){angular.isDefined(c[a])&&(e[a]=c[a])}),angular.forEach(["title","content"],function(b){c[b]&&c.$observe(b,function(c){a[b]=c})}),c.bsAside&&a.$watch(c.bsAside,function(b){angular.isObject(b)?angular.extend(a,b):a.content=b},!0);var f=d(e);b.on(c.trigger||"click",f.toggle),a.$on("$destroy",function(){f.destroy(),e=null,f=null})}}}]),angular.module("mgcrea.ngStrap.button",[]).provider("$button",function(){var a=this.defaults={activeClass:"active",toggleEvent:"click"};this.$get=function(){return{defaults:a}}}).directive("bsCheckboxGroup",function(){return{restrict:"A",require:"ngModel",compile:function(a,b){a.attr("data-toggle","buttons"),a.removeAttr("ng-model");var c=a[0].querySelectorAll('input[type="checkbox"]');angular.forEach(c,function(a){var c=angular.element(a);c.attr("bs-checkbox",""),c.attr("ng-model",b.ngModel+"."+c.attr("value"))})}}}).directive("bsCheckbox",["$button",function(a){var b=a.defaults,c=/^(true|false|\d+)$/;return{restrict:"A",require:"ngModel",link:function(a,d,e,f){var g=b,h="INPUT"===d[0].nodeName,i=h?d.parent():d,j=angular.isDefined(e.trueValue)?e.trueValue:!0;c.test(e.trueValue)&&(j=a.$eval(e.trueValue));var k=angular.isDefined(e.falseValue)?e.falseValue:!1;c.test(e.falseValue)&&(k=a.$eval(e.falseValue));var l="boolean"!=typeof j||"boolean"!=typeof k;l&&(f.$parsers.push(function(a){return a?j:k}),a.$watch(e.ngModel,function(){f.$render()})),f.$render=function(){var a=angular.equals(f.$modelValue,j);h&&(d[0].checked=a),i.toggleClass(g.activeClass,a)},d.bind(g.toggleEvent,function(){a.$apply(function(){h||f.$setViewValue(!i.hasClass("active")),l||f.$render()})})}}}]).directive("bsRadioGroup",function(){return{restrict:"A",require:"ngModel",compile:function(a,b){a.attr("data-toggle","buttons"),a.removeAttr("ng-model");var c=a[0].querySelectorAll('input[type="radio"]');angular.forEach(c,function(a){angular.element(a).attr("bs-radio",""),angular.element(a).attr("ng-model",b.ngModel)})}}}).directive("bsRadio",["$button",function(a){var b=a.defaults,c=/^(true|false|\d+)$/;return{restrict:"A",require:"ngModel",link:function(a,d,e,f){var g=b,h="INPUT"===d[0].nodeName,i=h?d.parent():d,j=c.test(e.value)?a.$eval(e.value):e.value;f.$render=function(){var a=angular.equals(f.$modelValue,j);h&&(d[0].checked=a),i.toggleClass(g.activeClass,a)},d.bind(g.toggleEvent,function(){a.$apply(function(){f.$setViewValue(j),f.$render()})})}}}]),angular.module("mgcrea.ngStrap.datepicker",["mgcrea.ngStrap.helpers.dateParser","mgcrea.ngStrap.tooltip"]).provider("$datepicker",function(){var a=this.defaults={animation:"am-fade",prefixClass:"datepicker",placement:"bottom-left",template:"datepicker/datepicker.tpl.html",trigger:"focus",container:!1,keyboard:!0,html:!1,delay:0,useNative:!1,dateType:"date",dateFormat:"shortDate",autoclose:!1,minDate:-1/0,maxDate:+1/0,startView:0,minView:0,weekStart:0};this.$get=["$window","$document","$rootScope","$sce","$locale","dateFilter","datepickerViews","$tooltip",function(b,c,d,e,f,g,h,i){function j(b,c,d){function e(a){a.selected=g.$isSelected(a.date)}function f(){b[0].focus()}var g=i(b,angular.extend({},a,d)),j=d.scope,m=g.$options,n=g.$scope,o=h(g);g.$views=o.views;var p=o.viewDate;n.$mode=m.startView;var q=g.$views[n.$mode];n.$select=function(a){g.select(a)},n.$selectPane=function(a){g.$selectPane(a)},n.$toggleMode=function(){g.setMode((n.$mode+1)%g.$views.length)},g.update=function(a){isNaN(a.getTime())?q.built||g.$build():(g.$date=a,q.update.call(q,a))},g.select=function(a,b){angular.isDate(a)||(a=new Date(a)),c.$dateValue.setFullYear(a.getFullYear(),a.getMonth(),a.getDate()),!n.$mode||b?(c.$setViewValue(c.$dateValue),c.$render(),m.autoclose&&!b&&g.hide(!0)):(angular.extend(p,{year:a.getFullYear(),month:a.getMonth(),date:a.getDate()}),g.setMode(n.$mode-1),g.$build())},g.setMode=function(a){n.$mode=a,q=g.$views[n.$mode],g.$build()},g.$build=function(){q.build.call(q)},g.$updateSelected=function(){for(var a=0,b=n.rows.length;b>a;a++)angular.forEach(n.rows[a],e)},g.$isSelected=function(a){return q.isSelected(a)},g.$selectPane=function(a){var b=q.steps,c=new Date(Date.UTC(p.year+(b.year||0)*a,p.month+(b.month||0)*a,p.date+(b.day||0)*a));angular.extend(p,{year:c.getUTCFullYear(),month:c.getUTCMonth(),date:c.getUTCDate()}),g.$build()},g.$onMouseDown=function(a){if(a.preventDefault(),a.stopPropagation(),k){var b=angular.element(a.target);"button"!==b[0].nodeName.toLowerCase()&&(b=b.parent()),b.triggerHandler("click")}},g.$onKeyDown=function(a){if(/(38|37|39|40|13)/.test(a.keyCode)&&!a.shiftKey&&!a.altKey){if(a.preventDefault(),a.stopPropagation(),13===a.keyCode)return n.$mode?n.$apply(function(){g.setMode(n.$mode-1)}):g.hide(!0);q.onKeyDown(a),j.$digest()}};var r=g.init;g.init=function(){return l&&m.useNative?(b.prop("type","date"),void b.css("-webkit-appearance","textfield")):(k&&(b.prop("type","text"),b.attr("readonly","true"),b.on("click",f)),void r())};var s=g.destroy;g.destroy=function(){l&&m.useNative&&b.off("click",f),s()};var t=g.show;g.show=function(){t(),setTimeout(function(){g.$element.on(k?"touchstart":"mousedown",g.$onMouseDown),m.keyboard&&b.on("keydown",g.$onKeyDown)})};var u=g.hide;return g.hide=function(a){g.$element.off(k?"touchstart":"mousedown",g.$onMouseDown),m.keyboard&&b.off("keydown",g.$onKeyDown),u(a)},g}var k=(angular.element(b.document.body),"createTouch"in b.document),l=/(iP(a|o)d|iPhone)/g.test(b.navigator.userAgent);return a.lang||(a.lang=f.id),j.defaults=a,j}]}).directive("bsDatepicker",["$window","$parse","$q","$locale","dateFilter","$datepicker","$dateParser","$timeout",function(a,b,c,d,e,f,g){{var h=/(iP(a|o)d|iPhone)/g.test(a.navigator.userAgent);a.requestAnimationFrame||a.setTimeout}return{restrict:"EAC",require:"ngModel",link:function(a,b,c,d){var i={scope:a,controller:d};angular.forEach(["placement","container","delay","trigger","keyboard","html","animation","template","autoclose","dateType","dateFormat","useNative","lang"],function(a){angular.isDefined(c[a])&&(i[a]=c[a])}),h&&i.useNative&&(i.dateFormat="yyyy-MM-dd");var j=f(b,d,i);i=j.$options,angular.forEach(["minDate","maxDate"],function(a){angular.isDefined(c[a])&&c.$observe(a,function(b){if("today"===b){var c=new Date;j.$options[a]=+new Date(c.getFullYear(),c.getMonth(),c.getDate()+("maxDate"===a?1:0),0,0,0,"minDate"===a?0:-1)}else j.$options[a]=angular.isString(b)&&b.match(/^".+"$/)?+new Date(b.substr(1,b.length-2)):+new Date(b);!isNaN(j.$options[a])&&j.$build()})}),a.$watch(c.ngModel,function(){j.update(d.$dateValue)},!0);var k=g({format:i.dateFormat,lang:i.lang});d.$parsers.unshift(function(a){var b=k.parse(a,d.$dateValue);if(!b||isNaN(b.getTime()))d.$setValidity("date",!1);else{var c=b.getTime()>=i.minDate&&b.getTime()<=i.maxDate;d.$setValidity("date",c),c&&(d.$dateValue=b)}return d.$dateValue=b,"string"===i.dateType?e(a,i.dateFormat):"number"===i.dateType?d.$dateValue.getTime():"iso"===i.dateType?d.$dateValue.toISOString():d.$dateValue}),d.$formatters.push(function(a){var b=angular.isDate(a)?a:new Date(a);return d.$dateValue=b,d.$dateValue}),d.$render=function(){b.val(isNaN(d.$dateValue.getTime())?"":e(d.$dateValue,i.dateFormat))},a.$on("$destroy",function(){j.destroy(),i=null,j=null})}}}]).provider("datepickerViews",function(){function a(a,b){for(var c=[];a.length>0;)c.push(a.splice(0,b));return c}this.defaults={dayFormat:"dd",daySplit:7};this.$get=["$locale","$sce","dateFilter",function(b,c,d){return function(e){var f=e.$scope,g=e.$options,h=b.DATETIME_FORMATS.SHORTDAY,i=h.slice(g.weekStart).concat(h.slice(0,g.weekStart)),j=c.trustAsHtml(''+i.join(' | ')+" | "),k=e.$date||new Date,l={year:k.getFullYear(),month:k.getMonth(),date:k.getDate()},m=(6e4*k.getTimezoneOffset(),[{format:"dd",split:7,steps:{month:1},update:function(a,b){!this.built||b||a.getFullYear()!==l.year||a.getMonth()!==l.month?(angular.extend(l,{year:e.$date.getFullYear(),month:e.$date.getMonth(),date:e.$date.getDate()}),e.$build()):a.getDate()!==l.date&&(l.date=e.$date.getDate(),e.$updateSelected())},build:function(){for(var b,c=new Date(l.year,l.month,1),h=new Date(+c-864e5*(c.getDay()-g.weekStart)),i=[],k=0;35>k;k++)b=new Date(h.getFullYear(),h.getMonth(),h.getDate()+k),i.push({date:b,label:d(b,this.format),selected:e.$date&&this.isSelected(b),muted:b.getMonth()!==l.month,disabled:this.isDisabled(b)});f.title=d(c,"MMMM yyyy"),f.labels=j,f.rows=a(i,this.split),this.built=!0},isSelected:function(a){return e.$date&&a.getFullYear()===e.$date.getFullYear()&&a.getMonth()===e.$date.getMonth()&&a.getDate()===e.$date.getDate()},isDisabled:function(a){return a.getTime()g.maxDate},onKeyDown:function(a){var b=e.$date.getTime();37===a.keyCode?e.select(new Date(b-864e5),!0):38===a.keyCode?e.select(new Date(b-6048e5),!0):39===a.keyCode?e.select(new Date(b+864e5),!0):40===a.keyCode&&e.select(new Date(b+6048e5),!0)}},{name:"month",format:"MMM",split:4,steps:{year:1},update:function(a){this.built&&a.getFullYear()===l.year?a.getMonth()!==l.month&&(angular.extend(l,{month:e.$date.getMonth(),date:e.$date.getDate()}),e.$updateSelected()):(angular.extend(l,{year:e.$date.getFullYear(),month:e.$date.getMonth(),date:e.$date.getDate()}),e.$build())},build:function(){for(var b,c=(new Date(l.year,0,1),[]),g=0;12>g;g++)b=new Date(l.year,g,1),c.push({date:b,label:d(b,this.format),selected:e.$isSelected(b),disabled:this.isDisabled(b)});f.title=d(b,"yyyy"),f.labels=!1,f.rows=a(c,this.split),this.built=!0},isSelected:function(a){return e.$date&&a.getFullYear()===e.$date.getFullYear()&&a.getMonth()===e.$date.getMonth()},isDisabled:function(a){var b=+new Date(a.getFullYear(),a.getMonth()+1,0);return bg.maxDate},onKeyDown:function(a){var b=e.$date.getMonth();37===a.keyCode?e.select(e.$date.setMonth(b-1),!0):38===a.keyCode?e.select(e.$date.setMonth(b-4),!0):39===a.keyCode?e.select(e.$date.setMonth(b+1),!0):40===a.keyCode&&e.select(e.$date.setMonth(b+4),!0)}},{name:"year",format:"yyyy",split:4,steps:{year:12},update:function(a,b){!this.built||b||parseInt(a.getFullYear()/20,10)!==parseInt(l.year/20,10)?(angular.extend(l,{year:e.$date.getFullYear(),month:e.$date.getMonth(),date:e.$date.getDate()}),e.$build()):a.getFullYear()!==l.year&&(angular.extend(l,{year:e.$date.getFullYear(),month:e.$date.getMonth(),date:e.$date.getDate()}),e.$updateSelected())},build:function(){for(var b,c=l.year-l.year%(3*this.split),g=[],h=0;12>h;h++)b=new Date(c+h,0,1),g.push({date:b,label:d(b,this.format),selected:e.$isSelected(b),disabled:this.isDisabled(b)});f.title=g[0].label+"-"+g[g.length-1].label,f.labels=!1,f.rows=a(g,this.split),this.built=!0},isSelected:function(a){return e.$date&&a.getFullYear()===e.$date.getFullYear()},isDisabled:function(a){var b=+new Date(a.getFullYear()+1,0,0);return bg.maxDate},onKeyDown:function(a){var b=e.$date.getFullYear();37===a.keyCode?e.select(e.$date.setYear(b-1),!0):38===a.keyCode?e.select(e.$date.setYear(b-4),!0):39===a.keyCode?e.select(e.$date.setYear(b+1),!0):40===a.keyCode&&e.select(e.$date.setYear(b+4),!0)}}]);return{views:g.minView?Array.prototype.slice.call(m,g.minView):m,viewDate:l}}}]}),angular.module("mgcrea.ngStrap.dropdown",["mgcrea.ngStrap.tooltip"]).provider("$dropdown",function(){var a=this.defaults={animation:"am-fade",prefixClass:"dropdown",placement:"bottom-left",template:"dropdown/dropdown.tpl.html",trigger:"click",container:!1,keyboard:!0,html:!1,delay:0};this.$get=["$window","$tooltip",function(b,c){function d(b,d){function g(a){return a.target!==b[0]?a.target!==b[0]&&h.hide():void 0}var h={},i=angular.extend({},a,d);h=c(b,i),h.$onKeyDown=function(a){if(/(38|40)/.test(a.keyCode)){a.preventDefault(),a.stopPropagation();var b=angular.element(h.$element[0].querySelectorAll("li:not(.divider) a"));if(b.length){var c;angular.forEach(b,function(a,b){f&&f.call(a,":focus")&&(c=b)}),38===a.keyCode&&c>0?c--:40===a.keyCode&&c1){var g=f.search(c[b]);a=a.split(c[b]).join(""),m[c[b]]&&(d[g]=m[c[b]])}return angular.forEach(d,function(a){e.push(a)}),e}function f(a){return a.replace(/\//g,"[\\/]").replace("/-/g","[-]").replace(/\./g,"[.]").replace(/\\s/g,"[\\s]")}function g(a){var b,c=Object.keys(l),d=a;for(b=0;bj?d=setTimeout(i,b-j):(d=null,c||(h=a.apply(f,e)))},j=c&&!d;return d||(d=setTimeout(i,b)),j&&(h=a.apply(f,e)),h}}).constant("throttle",function(a,b,c){var d,e,f,g=null,h=0;c||(c={});var i=function(){h=c.leading===!1?0:new Date,g=null,f=a.apply(d,e)};return function(){var j=new Date;h||c.leading!==!1||(h=j);var k=b-(j-h);return d=this,e=arguments,0>=k?(clearTimeout(g),g=null,h=j,f=a.apply(d,e)):g||c.trailing===!1||(g=setTimeout(i,k)),f}}),angular.module("mgcrea.ngStrap.helpers.dimensions",[]).factory("dimensions",["$document","$window",function(){var b=(angular.element,{}),c=b.nodeName=function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()};b.css=function(b,c,d){var e;return e=b.currentStyle?b.currentStyle[c]:a.getComputedStyle?a.getComputedStyle(b)[c]:b.style[c],d===!0?parseFloat(e)||0:e},b.offset=function(b){var c=b.getBoundingClientRect(),d=b.ownerDocument;return{width:b.offsetWidth,height:b.offsetHeight,top:c.top+(a.pageYOffset||d.documentElement.scrollTop)-(d.documentElement.clientTop||0),left:c.left+(a.pageXOffset||d.documentElement.scrollLeft)-(d.documentElement.clientLeft||0)}},b.position=function(a){var e,f,g={top:0,left:0};return"fixed"===b.css(a,"position")?f=a.getBoundingClientRect():(e=d(a),f=b.offset(a),f=b.offset(a),c(e,"html")||(g=b.offset(e)),g.top+=b.css(e,"borderTopWidth",!0),g.left+=b.css(e,"borderLeftWidth",!0)),{width:a.offsetWidth,height:a.offsetHeight,top:f.top-g.top-b.css(a,"marginTop",!0),left:f.left-g.left-b.css(a,"marginLeft",!0)}};var d=function(a){var d=a.ownerDocument,e=a.offsetParent||d;if(c(e,"#document"))return d.documentElement;for(;e&&!c(e,"html")&&"static"===b.css(e,"position");)e=e.offsetParent;return e||d.documentElement};return b.height=function(a,c){var d=a.offsetHeight;return c?d+=b.css(a,"marginTop",!0)+b.css(a,"marginBottom",!0):d-=b.css(a,"paddingTop",!0)+b.css(a,"paddingBottom",!0)+b.css(a,"borderTopWidth",!0)+b.css(a,"borderBottomWidth",!0),d},b.width=function(a,c){var d=a.offsetWidth;return c?d+=b.css(a,"marginLeft",!0)+b.css(a,"marginRight",!0):d-=b.css(a,"paddingLeft",!0)+b.css(a,"paddingRight",!0)+b.css(a,"borderLeftWidth",!0)+b.css(a,"borderRightWidth",!0),d},b}]),angular.module("mgcrea.ngStrap.helpers.parseOptions",[]).provider("$parseOptions",function(){var a=this.defaults={regexp:/^\s*(.*?)(?:\s+as\s+(.*?))?(?:\s+group\s+by\s+(.*))?\s+for\s+(?:([\$\w][\$\w]*)|(?:\(\s*([\$\w][\$\w]*)\s*,\s*([\$\w][\$\w]*)\s*\)))\s+in\s+(.*?)(?:\s+track\s+by\s+(.*?))?$/};this.$get=["$parse","$q",function(b,c){function d(d,e){function f(a){return a.map(function(a){var b,c,d={};return d[k]=a,b=j(d),c=n(d),{label:b,value:c}})}var g={},h=angular.extend({},a,e);g.$values=[];var i,j,k,l,m,n,o;return g.init=function(){g.$match=i=d.match(h.regexp),j=b(i[2]||i[1]),k=i[4]||i[6],l=i[5],m=b(i[3]||""),n=b(i[2]?i[1]:k),o=b(i[7])},g.valuesFn=function(a,b){return c.when(o(a,b)).then(function(a){return g.$values=a?f(a):{},g.$values})},g.init(),g}return d}]}),angular.module("mgcrea.ngStrap.modal",["mgcrea.ngStrap.helpers.dimensions"]).provider("$modal",function(){var a=this.defaults={animation:"am-fade",prefixClass:"modal",placement:"top",template:"modal/modal.tpl.html",contentTemplate:!1,container:!1,element:null,backdrop:!0,keyboard:!0,html:!1,show:!0};this.$get=["$window","$rootScope","$compile","$q","$templateCache","$http","$animate","$timeout","dimensions",function(c,d,e,f,g,h,i){function j(b){function c(a){a.target===a.currentTarget&&("static"===q.backdrop?j.focus():j.hide())}var j={},q=angular.extend({},a,b);j.$promise=f.when(g.get(q.template)||h.get(q.template));var r=j.$scope=q.scope&&q.scope.$new()||d.$new();q.element||q.container||(q.container="body"),q.scope||k(["title","content"],function(a){q[a]&&(r[a]=q[a])}),r.$hide=function(){r.$$postDigest(function(){j.hide()})},r.$show=function(){r.$$postDigest(function(){j.show()})},r.$toggle=function(){r.$$postDigest(function(){j.toggle()})},q.contentTemplate&&(j.$promise=j.$promise.then(function(a){angular.isObject(a)&&(a=a.data);var c=angular.element(a);return f.when(g.get(q.contentTemplate)||h.get(q.contentTemplate)).then(function(a){angular.isObject(a)&&(a=a.data);var d=p('[ng-bind="content"]',c[0]).removeAttr("ng-bind").html(a);return b.template||d.next().remove(),c[0].outerHTML})}));var s,t,u=angular.element('');return j.$promise.then(function(a){angular.isObject(a)&&(a=a.data),q.html&&(a=a.replace(o,'ng-bind-html="')),a=l.apply(a),s=e(a),j.init()}),j.init=function(){q.show&&r.$$postDigest(function(){j.show()})},j.destroy=function(){t&&(t.remove(),t=null),u&&(u.remove(),u=null),r.$destroy()},j.show=function(){var a=q.container?p(q.container):null,b=q.container?null:q.element;t=j.$element=s(r,function(){}),t.css({display:"block"}).addClass(q.placement),q.animation&&(q.backdrop&&u.addClass("am-fade"),t.addClass(q.animation)),q.backdrop&&i.enter(u,n,null,function(){}),i.enter(t,a,b,function(){}),r.$isShown=!0,r.$$phase||r.$digest();var d=t[0];m(function(){d.focus()}),n.addClass(q.prefixClass+"-open"),q.backdrop&&(t.on("click",c),u.on("click",c)),q.keyboard&&t.on("keyup",j.$onKeyUp)},j.hide=function(){i.leave(t,function(){n.removeClass(q.prefixClass+"-open")}),q.backdrop&&i.leave(u,function(){}),r.$$phase||r.$digest(),r.$isShown=!1,q.backdrop&&(t.off("click",c),u.off("click",c)),q.keyboard&&t.off("keyup",j.$onKeyUp)},j.toggle=function(){r.$isShown?j.hide():j.show()},j.focus=function(){t[0].focus()},j.$onKeyUp=function(a){27===a.which&&j.hide()},j}var k=angular.forEach,l=String.prototype.trim,m=c.requestAnimationFrame||c.setTimeout,n=angular.element(c.document.body),o=/ng-bind="/gi,p=function(a,c){return angular.element((c||b).querySelectorAll(a))};return j}]}).directive("bsModal",["$window","$location","$sce","$modal",function(a,b,c,d){return{restrict:"EAC",scope:!0,link:function(a,b,c){var e={scope:a,element:b,show:!1};angular.forEach(["template","contentTemplate","placement","backdrop","keyboard","html","container","animation"],function(a){angular.isDefined(c[a])&&(e[a]=c[a])}),angular.forEach(["title","content"],function(b){c[b]&&c.$observe(b,function(c){a[b]=c})}),c.bsModal&&a.$watch(c.bsModal,function(b){angular.isObject(b)?angular.extend(a,b):a.content=b},!0);var f=d(e);b.on(c.trigger||"click",f.toggle),a.$on("$destroy",function(){f.destroy(),e=null,f=null})}}}]),angular.module("mgcrea.ngStrap.navbar",[]).provider("$navbar",function(){var a=this.defaults={activeClass:"active",routeAttr:"data-match-route"};this.$get=function(){return{defaults:a}}}).directive("bsNavbar",["$window","$location","$navbar",function(a,b,c){var d=c.defaults;return{restrict:"A",link:function(a,c,e){var f=d;angular.forEach(Object.keys(d),function(a){angular.isDefined(e[a])&&(f[a]=e[a])}),a.$watch(function(){return b.path()},function(a){var b=c[0].querySelectorAll("li["+f.routeAttr+"]");angular.forEach(b,function(b){var c=angular.element(b),d=c.attr(f.routeAttr),e=new RegExp("^"+d.replace("/","\\/")+"$",["i"]);e.test(a)?c.addClass(f.activeClass):c.removeClass(f.activeClass)})})}}}]),angular.module("mgcrea.ngStrap.popover",["mgcrea.ngStrap.tooltip"]).provider("$popover",function(){var a=this.defaults={animation:"am-fade",placement:"right",template:"popover/popover.tpl.html",contentTemplate:!1,trigger:"click",keyboard:!0,html:!1,title:"",content:"",delay:0,container:!1};this.$get=["$tooltip",function(b){function c(c,d){var e=angular.extend({},a,d),f=b(c,e);return e.content&&(f.$scope.content=e.content),f}return c}]}).directive("bsPopover",["$window","$location","$sce","$popover",function(a,b,c,d){var e=a.requestAnimationFrame||a.setTimeout;return{restrict:"EAC",scope:!0,link:function(a,b,c){var f={scope:a};angular.forEach(["template","contentTemplate","placement","container","delay","trigger","keyboard","html","animation"],function(a){angular.isDefined(c[a])&&(f[a]=c[a])}),angular.forEach(["title","content"],function(b){c[b]&&c.$observe(b,function(c,d){a[b]=c,angular.isDefined(d)&&e(function(){g&&g.$applyPlacement()})})}),c.bsPopover&&a.$watch(c.bsPopover,function(b,c){angular.isObject(b)?angular.extend(a,b):a.content=b,angular.isDefined(c)&&e(function(){g&&g.$applyPlacement()})},!0);var g=d(b,f);a.$on("$destroy",function(){g.destroy(),f=null,g=null})}}}]),angular.module("mgcrea.ngStrap.scrollspy",["mgcrea.ngStrap.helpers.debounce","mgcrea.ngStrap.helpers.dimensions"]).provider("$scrollspy",function(){var a=this.$$spies={},c=this.defaults={debounce:150,throttle:100,offset:100};this.$get=["$window","$document","$rootScope","dimensions","debounce","throttle",function(d,e,f,g,h,i){function j(a,b){return a[0].nodeName&&a[0].nodeName.toLowerCase()===b.toLowerCase()}function k(e){var k=angular.extend({},c,e);k.element||(k.element=n);var o=j(k.element,"body"),p=o?l:k.element,q=o?"window":k.id;if(a[q])return a[q].$$count++,a[q];var r,s,t,u,v,w,x={},y=x.$trackedElements=[],z=[];return x.init=function(){this.$$count=1,s=h(this.checkPosition,k.debounce),t=i(this.checkPosition,k.throttle),p.on("click",this.checkPositionWithEventLoop),l.on("resize",s),p.on("scroll",t),u=h(this.checkOffsets,k.debounce),f.$on("$viewContentLoaded",u),f.$on("$includeContentLoaded",u),u(),q&&(a[q]=x)},x.destroy=function(){this.$$count--,this.$$count>0||(p.off("click",this.checkPositionWithEventLoop),l.off("resize",s),p.off("scroll",s),f.$off("$viewContentLoaded",u),f.$off("$includeContentLoaded",u))},x.checkPosition=function(){if(z.length){if(w=(o?d.pageYOffset:p.prop("scrollTop"))||0,v=Math.max(d.innerHeight,m.prop("clientHeight")),wz[a+1].offsetTop))return x.$activateElement(z[a])}},x.checkPositionWithEventLoop=function(){setTimeout(this.checkPosition,1)},x.$activateElement=function(a){if(r){var b=x.$getTrackedElement(r);b&&(b.source.removeClass("active"),j(b.source,"li")&&j(b.source.parent().parent(),"li")&&b.source.parent().parent().removeClass("active"))}r=a.target,a.source.addClass("active"),j(a.source,"li")&&j(a.source.parent().parent(),"li")&&a.source.parent().parent().addClass("active")},x.$getTrackedElement=function(a){return y.filter(function(b){return b.target===a})[0]},x.checkOffsets=function(){angular.forEach(y,function(a){var c=b.querySelector(a.target);a.offsetTop=c?g.offset(c).top:null,k.offset&&null!==a.offsetTop&&(a.offsetTop-=1*k.offset)}),z=y.filter(function(a){return null!==a.offsetTop}).sort(function(a,b){return a.offsetTop-b.offsetTop}),s()},x.trackElement=function(a,b){y.push({target:a,source:b})},x.untrackElement=function(a,b){for(var c,d=y.length;d--;)if(y[d].target===a&&y[d].source===b){c=d;break}y=y.splice(c,1)},x.activate=function(a){y[a].addClass("active")},x.init(),x}var l=angular.element(d),m=angular.element(e.prop("documentElement")),n=angular.element(d.document.body);return k}]}).directive("bsScrollspy",["$rootScope","debounce","dimensions","$scrollspy",function(a,b,c,d){return{restrict:"EAC",link:function(a,b,c){var e={scope:a};angular.forEach(["offset","target"],function(a){angular.isDefined(c[a])&&(e[a]=c[a])});var f=d(e);f.trackElement(e.target,b),a.$on("$destroy",function(){f.untrackElement(e.target,b),f.destroy(),e=null,f=null})}}}]).directive("bsScrollspyList",["$rootScope","debounce","dimensions","$scrollspy",function(){return{restrict:"A",compile:function(a){var b=a[0].querySelectorAll("li > a[href]");angular.forEach(b,function(a){var b=angular.element(a);b.parent().attr("bs-scrollspy","").attr("data-target",b.attr("href"))})}}}]),angular.module("mgcrea.ngStrap.select",["mgcrea.ngStrap.tooltip","mgcrea.ngStrap.helpers.parseOptions"]).provider("$select",function(){var a=this.defaults={animation:"am-fade",prefixClass:"select",placement:"bottom-left",template:"select/select.tpl.html",trigger:"focus",container:!1,keyboard:!0,html:!1,delay:0,multiple:!1,sort:!0,caretHtml:' ',placeholder:"Choose among the following..."};
-this.$get=["$window","$document","$rootScope","$tooltip",function(b,c,d,e){function f(b,c,d){var f={},h=angular.extend({},a,d);f=e(b,h);var i=d.scope,j=f.$scope;j.$matches=[],j.$activeIndex=0,j.$isMultiple=h.multiple,j.$activate=function(a){j.$$postDigest(function(){f.activate(a)})},j.$select=function(a){j.$$postDigest(function(){f.select(a)})},j.$isVisible=function(){return f.$isVisible()},j.$isActive=function(a){return f.$isActive(a)},f.update=function(a){j.$matches=a,c.$modelValue&&a.length?j.$activeIndex=h.multiple&&angular.isArray(c.$modelValue)?c.$modelValue.map(function(a){return f.$getIndex(a)}):f.$getIndex(c.$modelValue):j.$activeIndex>=a.length&&(j.$activeIndex=h.multiple?[]:0)},f.activate=function(a){return h.multiple?(j.$activeIndex.sort(),f.$isActive(a)?j.$activeIndex.splice(j.$activeIndex.indexOf(a),1):j.$activeIndex.push(a),h.sort&&j.$activeIndex.sort()):j.$activeIndex=a,j.$activeIndex},f.select=function(a){var d=j.$matches[a].value;f.activate(a),c.$setViewValue(h.multiple?j.$activeIndex.map(function(a){return j.$matches[a].value}):d),c.$render(),i&&i.$digest(),h.multiple||("focus"===h.trigger?b[0].blur():f.$isShown&&f.hide()),j.$emit("$select.select",d,a)},f.$isVisible=function(){return h.minLength&&c?j.$matches.length&&c.$viewValue.length>=h.minLength:j.$matches.length},f.$isActive=function(a){return h.multiple?-1!==j.$activeIndex.indexOf(a):j.$activeIndex===a},f.$getIndex=function(a){var b=j.$matches.length,c=b;if(b){for(c=b;c--&&j.$matches[c].value!==a;);if(!(0>c))return c}},f.$onElementMouseDown=function(a){a.preventDefault(),a.stopPropagation(),f.$isShown?b[0].blur():b[0].focus()},f.$onMouseDown=function(a){if(a.preventDefault(),a.stopPropagation(),g){var b=angular.element(a.target);b.triggerHandler("click")}},f.$onKeyDown=function(a){if(/(38|40|13)/.test(a.keyCode)){if(a.preventDefault(),a.stopPropagation(),13===a.keyCode)return f.select(j.$activeIndex);38===a.keyCode&&j.$activeIndex>0?j.$activeIndex--:40===a.keyCode&&j.$activeIndexb?b+12:b-12),c.$render()},l.$build=function(){var a,b,c=o.midIndex=parseInt(n.length/2,10),d=[];for(a=0;an.maxTime},l.$moveIndex=function(a,b){var c;0===b?(c=new Date(1970,0,1,r.hour+a*n.length,r.minute),angular.extend(r,{hour:c.getHours()})):1===b&&(c=new Date(1970,0,1,r.hour,r.minute+a*n.length*5),angular.extend(r,{minute:c.getMinutes()})),l.$build()},l.$onMouseDown=function(a){if("input"!==a.target.nodeName.toLowerCase()&&a.preventDefault(),a.stopPropagation(),j){var b=angular.element(a.target);"button"!==b[0].nodeName.toLowerCase()&&(b=b.parent()),b.triggerHandler("click")}},l.$onKeyDown=function(a){if(/(38|37|39|40|13)/.test(a.keyCode)&&!a.shiftKey&&!a.altKey){if(a.preventDefault(),a.stopPropagation(),13===a.keyCode)return l.hide(!0);var b=new Date(l.$date),c=b.getHours(),d=g(b,"h").length,f=b.getMinutes(),h=g(b,"mm").length,i=/(37|39)/.test(a.keyCode),j=2+1*!!t[2];if(i&&(37===a.keyCode?p=1>p?j-1:p-1:39===a.keyCode&&(p=j-1>p?p+1:0)),0===p){if(i)return e(0,d);38===a.keyCode?b.setHours(c-n.hourStep):40===a.keyCode&&b.setHours(c+n.hourStep)}else if(1===p){if(i)return e(d+1,d+1+h);38===a.keyCode?b.setMinutes(f-n.minuteStep):40===a.keyCode&&b.setMinutes(f+n.minuteStep)}else if(2===p){if(i)return e(d+1+h+1,d+1+h+3);l.switchMeridian()}l.select(b,p,!0),m.$digest()}};var u=l.init;l.init=function(){j&&(b.prop("type","text"),b.attr("readonly","true"),b.on("click",i)),u()};var v=l.destroy;l.destroy=function(){k&&n.useNative&&b.off("click",i),v()};var w=l.show;l.show=function(){w(),setTimeout(function(){l.$element.on(j?"touchstart":"mousedown",l.$onMouseDown),n.keyboard&&b.on("keydown",l.$onKeyDown)})};var x=l.hide;return l.hide=function(a){l.$element.off(j?"touchstart":"mousedown",l.$onMouseDown),n.keyboard&&b.off("keydown",l.$onKeyDown),x(a)},l}var j=(angular.element(b.document.body),"createTouch"in b.document),k=/(iP(a|o)d|iPhone)/g.test(b.navigator.userAgent);return a.lang||(a.lang=f.id),i.defaults=a,i}]}).directive("bsTimepicker",["$window","$parse","$q","$locale","dateFilter","$timepicker","$dateParser","$timeout",function(a,b,c,d,e,f,g){a.requestAnimationFrame||a.setTimeout;return{restrict:"EAC",require:"ngModel",link:function(a,b,c,d){var h={scope:a,controller:d};angular.forEach(["placement","container","delay","trigger","keyboard","html","animation","template","autoclose","timeType","timeFormat","useNative","lang"],function(a){angular.isDefined(c[a])&&(h[a]=c[a])});var i=f(b,d,h);h=i.$options;var j=g({format:h.timeFormat,lang:h.lang});angular.forEach(["minTime","maxTime"],function(a){angular.isDefined(c[a])&&c.$observe(a,function(b){i.$options[a]="now"===b?(new Date).setFullYear(1970,0,1):angular.isString(b)&&b.match(/^".+"$/)?+new Date(b.substr(1,b.length-2)):j.parse(b),!isNaN(i.$options[a])&&i.$build()})}),a.$watch(c.ngModel,function(){i.update(d.$dateValue)},!0),d.$parsers.unshift(function(a){var b=j.parse(a,d.$dateValue);if(!b||isNaN(b.getTime()))d.$setValidity("date",!1);else{var c=b.getTime()>=h.minTime&&b.getTime()<=h.maxTime;d.$setValidity("date",c),c&&(d.$dateValue=b)}return"string"===h.timeType?e(a,h.timeFormat):"number"===h.timeType?d.$dateValue.getTime():"iso"===h.timeType?d.$dateValue.toISOString():d.$dateValue}),d.$formatters.push(function(a){var b=angular.isDate(a)?a:new Date(a);return isNaN(b.getTime())&&(b=new Date((new Date).setMinutes(0)+36e5)),d.$dateValue=b,d.$dateValue}),d.$render=function(){b.val(isNaN(d.$dateValue.getTime())?"":e(d.$dateValue,h.timeFormat))},a.$on("$destroy",function(){i.destroy(),h=null,i=null})}}}]),angular.module("mgcrea.ngStrap.tooltip",["mgcrea.ngStrap.helpers.dimensions"]).provider("$tooltip",function(){var a=this.defaults={animation:"am-fade",prefixClass:"tooltip",container:!1,placement:"top",template:"tooltip/tooltip.tpl.html",contentTemplate:!1,trigger:"hover focus",keyboard:!1,html:!1,show:!1,title:"",type:"",delay:0};this.$get=["$window","$rootScope","$compile","$q","$templateCache","$http","$animate","$timeout","dimensions",function(c,d,e,f,g,h,i,j,k){function l(b,c){function j(){return"body"===r.container?k.offset(b[0]):k.position(b[0])}function l(a,b,c,d){var e,f=a.split("-");switch(f[0]){case"right":e={top:b.top+b.height/2-d/2,left:b.left+b.width};break;case"bottom":e={top:b.top+b.height,left:b.left+b.width/2-c/2};break;case"left":e={top:b.top+b.height/2-d/2,left:b.left-c};break;default:e={top:b.top-d,left:b.left+b.width/2-c/2}}if(!f[1])return e;if("top"===f[0]||"bottom"===f[0])switch(f[1]){case"left":e.left=b.left;break;case"right":e.left=b.left+b.width-c}else if("left"===f[0]||"right"===f[0])switch(f[1]){case"top":e.top=b.top-d;break;case"bottom":e.top=b.top+b.height}return e}var q={},r=q.$options=angular.extend({},a,c);q.$promise=f.when(g.get(r.template)||h.get(r.template));var s=q.$scope=r.scope&&r.scope.$new()||d.$new();r.delay&&angular.isString(r.delay)&&(r.delay=parseFloat(r.delay)),r.title&&(q.$scope.title=r.title),s.$hide=function(){s.$$postDigest(function(){q.hide()})},s.$show=function(){s.$$postDigest(function(){q.show()})},s.$toggle=function(){s.$$postDigest(function(){q.toggle()})},q.$isShown=!1;var t,u;r.contentTemplate&&(q.$promise=q.$promise.then(function(a){angular.isObject(a)&&(a=a.data);var b=angular.element(a);return f.when(g.get(r.contentTemplate)||h.get(r.contentTemplate,{cache:g})).then(function(a){return angular.isObject(a)&&(a=a.data),p('[ng-bind="content"]',b[0]).removeAttr("ng-bind").html(a),b[0].outerHTML})}));var v,w,x;return q.$promise.then(function(a){angular.isObject(a)&&(a=a.data),r.html&&(a=a.replace(o,'ng-bind-html="')),a=m.apply(a),x=a,v=e(a),q.init()}),q.init=function(){r.delay&&angular.isNumber(r.delay)&&(r.delay={show:r.delay,hide:r.delay});for(var a=r.trigger.split(" "),c=a.length;c--;){var d=a[c];"click"===d?b.on("click",q.toggle):"manual"!==d&&(b.on("hover"===d?"mouseenter":"focus",q.enter),b.on("hover"===d?"mouseleave":"blur",q.leave))}r.show&&s.$$postDigest(function(){"focus"===r.trigger?b[0].focus():q.show()})},q.destroy=function(){for(var a=r.trigger.split(" "),c=a.length;c--;){var d=a[c];"click"===d?b.off("click",q.toggle):"manual"!==d&&(b.off("hover"===d?"mouseenter":"focus",q.enter),b.off("hover"===d?"mouseleave":"blur",q.leave))}w&&(w.remove(),w=null),s.$destroy()},q.enter=function(){return clearTimeout(t),u="in",r.delay&&r.delay.show?void(t=setTimeout(function(){"in"===u&&q.show()},r.delay.show)):q.show()},q.show=function(){var a=r.container?p(r.container):null,c=r.container?null:b;w=q.$element=v(s,function(){}),w.css({top:"0px",left:"0px",display:"block"}).addClass(r.placement),r.animation&&w.addClass(r.animation),r.type&&w.addClass(r.prefixClass+"-"+r.type),i.enter(w,a,c,function(){}),q.$isShown=!0,s.$$phase||s.$digest(),n(q.$applyPlacement),r.keyboard&&("focus"!==r.trigger?(q.focus(),w.on("keyup",q.$onKeyUp)):b.on("keyup",q.$onFocusKeyUp))},q.leave=function(){return q.$isShown?(clearTimeout(t),u="out",r.delay&&r.delay.hide?void(t=setTimeout(function(){"out"===u&&q.hide()},r.delay.hide)):q.hide()):void 0},q.hide=function(a){return i.leave(w,function(){}),s.$$phase||s.$digest(),q.$isShown=!1,r.keyboard&&w.off("keyup",q.$onKeyUp),a&&"focus"===r.trigger?b[0].blur():void 0},q.toggle=function(){q.$isShown?q.leave():q.enter()},q.focus=function(){w[0].focus()},q.$applyPlacement=function(){if(w){var a=j(),b=w.prop("offsetWidth"),c=w.prop("offsetHeight"),d=l(r.placement,a,b,c);d.top+="px",d.left+="px",w.css(d)}},q.$onKeyUp=function(a){27===a.which&&q.hide()},q.$onFocusKeyUp=function(a){27===a.which&&b[0].blur()},q}var m=String.prototype.trim,n=c.requestAnimationFrame||c.setTimeout,o=("createTouch"in c.document,/ng-bind="/gi),p=function(a,c){return angular.element((c||b).querySelectorAll(a))};return l}]}).directive("bsTooltip",["$window","$location","$sce","$tooltip",function(a,b,c,d){var e=a.requestAnimationFrame||a.setTimeout;return{restrict:"EAC",scope:!0,link:function(a,b,c){var f={scope:a};angular.forEach(["template","contentTemplate","placement","container","delay","trigger","keyboard","html","animation","type"],function(a){angular.isDefined(c[a])&&(f[a]=c[a])}),angular.forEach(["title"],function(b){c[b]&&c.$observe(b,function(c,d){a[b]=c,angular.isDefined(d)&&e(function(){g&&g.$applyPlacement()})})}),c.bsTooltip&&a.$watch(c.bsTooltip,function(b,c){angular.isObject(b)?angular.extend(a,b):a.content=b,angular.isDefined(c)&&e(function(){g&&g.$applyPlacement()})},!0);var g=d(b,f);a.$on("$destroy",function(){g.destroy(),f=null,g=null})}}}]),angular.module("mgcrea.ngStrap.typeahead",["mgcrea.ngStrap.tooltip","mgcrea.ngStrap.helpers.parseOptions"]).provider("$typeahead",function(){var a=this.defaults={animation:"am-fade",prefixClass:"typeahead",placement:"bottom-left",template:"typeahead/typeahead.tpl.html",trigger:"focus",container:!1,keyboard:!0,html:!1,delay:0,minLength:1,limit:6};this.$get=["$window","$rootScope","$tooltip",function(b,c,d){function e(b,c){var e={},f=angular.extend({},a,c),g=f.controller;e=d(b,f);var h=c.scope,i=e.$scope;i.$matches=[],i.$activeIndex=0,i.$activate=function(a){i.$$postDigest(function(){e.activate(a)})},i.$select=function(a){i.$$postDigest(function(){e.select(a)})},i.$isVisible=function(){return e.$isVisible()},e.update=function(a){i.$matches=a,i.$activeIndex>=a.length&&(i.$activeIndex=0)},e.activate=function(a){i.$activeIndex=a},e.select=function(a){var c=i.$matches[a].value;g&&(g.$setViewValue(c),g.$render(),h&&h.$digest()),"focus"===f.trigger?b[0].blur():e.$isShown&&e.hide(),i.$activeIndex=0,i.$emit("$typeahead.select",c,a)},e.$isVisible=function(){return f.minLength&&g?i.$matches.length&&angular.isString(g.$viewValue)&&g.$viewValue.length>=f.minLength:!!i.$matches.length},e.$onMouseDown=function(a){a.preventDefault(),a.stopPropagation()},e.$onKeyDown=function(a){if(/(38|40|13)/.test(a.keyCode)){if(a.preventDefault(),a.stopPropagation(),13===a.keyCode)return e.select(i.$activeIndex);38===a.keyCode&&i.$activeIndex>0?i.$activeIndex--:40===a.keyCode&&i.$activeIndexi&&(a=a.slice(0,i)),k.update(a)})}),a.$on("$destroy",function(){k.destroy(),h=null,k=null})}}}])}(window,document),function(){"use strict";angular.module("mgcrea.ngStrap.alert").run(["$templateCache",function(a){a.put("alert/alert.tpl.html",'
')}]),angular.module("mgcrea.ngStrap.aside").run(["$templateCache",function(a){a.put("aside/aside.tpl.html",'')}]),angular.module("mgcrea.ngStrap.datepicker").run(["$templateCache",function(a){a.put("datepicker/datepicker.tpl.html",'')}]),angular.module("mgcrea.ngStrap.dropdown").run(["$templateCache",function(a){a.put("dropdown/dropdown.tpl.html",'')}]),angular.module("mgcrea.ngStrap.modal").run(["$templateCache",function(a){a.put("modal/modal.tpl.html",'')}]),angular.module("mgcrea.ngStrap.popover").run(["$templateCache",function(a){a.put("popover/popover.tpl.html",'')}]),angular.module("mgcrea.ngStrap.select").run(["$templateCache",function(a){a.put("select/select.tpl.html",'')}]),angular.module("mgcrea.ngStrap.tab").run(["$templateCache",function(a){a.put("tab/tab.tpl.html",'')}]),angular.module("mgcrea.ngStrap.timepicker").run(["$templateCache",function(a){a.put("timepicker/timepicker.tpl.html",'')}]),angular.module("mgcrea.ngStrap.tooltip").run(["$templateCache",function(a){a.put("tooltip/tooltip.tpl.html",'')}]),angular.module("mgcrea.ngStrap.typeahead").run(["$templateCache",function(a){a.put("typeahead/typeahead.tpl.html",'')}])}(window,document);
+!function(a,b){"use strict";angular.module("mgcrea.ngStrap",["mgcrea.ngStrap.modal","mgcrea.ngStrap.aside","mgcrea.ngStrap.alert","mgcrea.ngStrap.button","mgcrea.ngStrap.select","mgcrea.ngStrap.datepicker","mgcrea.ngStrap.timepicker","mgcrea.ngStrap.navbar","mgcrea.ngStrap.tooltip","mgcrea.ngStrap.popover","mgcrea.ngStrap.dropdown","mgcrea.ngStrap.typeahead","mgcrea.ngStrap.scrollspy","mgcrea.ngStrap.affix","mgcrea.ngStrap.tab"]),angular.module("mgcrea.ngStrap.affix",["mgcrea.ngStrap.helpers.dimensions"]).provider("$affix",function(){var a=this.defaults={offsetTop:"auto"};this.$get=["$window","dimensions",function(b,c){function d(d,f){function g(a,b,c){var d=h(),e=i();return t>=d?"top":null!==a&&d+a<=b.top?"middle":null!==u&&b.top+c+n>=e-u?"bottom":"middle"}function h(){return l[0]===b?b.pageYOffset:l[0]===b}function i(){return l[0]===b?b.document.body.scrollHeight:l[0].scrollHeight}var j={},k=angular.extend({},a,f),l=k.target,m="affix affix-top affix-bottom",n=0,o=0,p=null,q=null,r=d.parent();if(k.offsetParent)if(k.offsetParent.match(/^\d+$/))for(var s=0;s<1*k.offsetParent-1;s++)r=r.parent();else r=angular.element(k.offsetParent);var t=0;k.offsetTop&&("auto"===k.offsetTop&&(k.offsetTop="+0"),k.offsetTop.match(/^[-+]\d+$/)?(n-=1*k.offsetTop,t=k.offsetParent?c.offset(r[0]).top+1*k.offsetTop:c.offset(d[0]).top-c.css(d[0],"marginTop",!0)+1*k.offsetTop):t=1*k.offsetTop);var u=0;return k.offsetBottom&&(u=k.offsetParent&&k.offsetBottom.match(/^[-+]\d+$/)?i()-(c.offset(r[0]).top+c.height(r[0]))+1*k.offsetBottom+1:1*k.offsetBottom),j.init=function(){o=c.offset(d[0]).top+n,l.on("scroll",this.checkPosition),l.on("click",this.checkPositionWithEventLoop),this.checkPosition(),this.checkPositionWithEventLoop()},j.destroy=function(){l.off("scroll",this.checkPosition),l.off("click",this.checkPositionWithEventLoop)},j.checkPositionWithEventLoop=function(){setTimeout(this.checkPosition,1)},j.checkPosition=function(){var a=h(),b=c.offset(d[0]),f=c.height(d[0]),i=g(q,b,f);p!==i&&(p=i,d.removeClass(m).addClass("affix"+("middle"!==i?"-"+i:"")),"top"===i?(q=null,d.css("position",k.offsetParent?"":"relative"),d.css("top","")):"bottom"===i?(q=k.offsetUnpin?-(1*k.offsetUnpin):b.top-a,d.css("position",k.offsetParent?"":"relative"),d.css("top",k.offsetParent?"":e[0].offsetHeight-u-f-o+"px")):(q=null,d.css("position","fixed"),d.css("top",n+"px")))},j.init(),j}var e=angular.element(b.document.body);return d}]}).directive("bsAffix",["$affix","$window",function(a,b){return{restrict:"EAC",require:"^?bsAffixTarget",link:function(c,d,e,f){var g={scope:c,offsetTop:"auto",target:f?f.$element:angular.element(b)};angular.forEach(["offsetTop","offsetBottom","offsetParent","offsetUnpin"],function(a){angular.isDefined(e[a])&&(g[a]=e[a])});var h=a(d,g);c.$on("$destroy",function(){g=null,h=null})}}}]).directive("bsAffixTarget",function(){return{controller:["$element",function(a){this.$element=a}]}}),angular.module("mgcrea.ngStrap.alert",[]).provider("$alert",function(){var a=this.defaults={animation:"am-fade",prefixClass:"alert",placement:null,template:"alert/alert.tpl.html",container:!1,element:null,backdrop:!1,keyboard:!0,show:!0,duration:!1,type:!1};this.$get=["$modal","$timeout",function(b,c){function d(d){var e={},f=angular.extend({},a,d);e=b(f),f.type&&(e.$scope.type=f.type);var g=e.show;return f.duration&&(e.show=function(){g(),c(function(){e.hide()},1e3*f.duration)}),e}return d}]}).directive("bsAlert",["$window","$location","$sce","$alert",function(a,b,c,d){a.requestAnimationFrame||a.setTimeout;return{restrict:"EAC",scope:!0,link:function(a,b,e){var f={scope:a,element:b,show:!1};angular.forEach(["template","placement","keyboard","html","container","animation","duration"],function(a){angular.isDefined(e[a])&&(f[a]=e[a])}),angular.forEach(["title","content","type"],function(b){e[b]&&e.$observe(b,function(d){a[b]=c.getTrustedHtml(d)})}),e.bsAlert&&a.$watch(e.bsAlert,function(b){angular.isObject(b)?angular.extend(a,b):a.content=b},!0);var g=d(f);b.on(e.trigger||"click",g.toggle),a.$on("$destroy",function(){g.destroy(),f=null,g=null})}}}]),angular.module("mgcrea.ngStrap.aside",["mgcrea.ngStrap.modal"]).provider("$aside",function(){var a=this.defaults={animation:"am-fade-and-slide-right",prefixClass:"aside",placement:"right",template:"aside/aside.tpl.html",contentTemplate:!1,container:!1,element:null,backdrop:!0,keyboard:!0,html:!1,show:!0};this.$get=["$modal",function(b){function c(c){var d={},e=angular.extend({},a,c);return d=b(e)}return c}]}).directive("bsAside",["$window","$location","$sce","$aside",function(a,b,c,d){a.requestAnimationFrame||a.setTimeout;return{restrict:"EAC",scope:!0,link:function(a,b,e){var f={scope:a,element:b,show:!1};angular.forEach(["template","contentTemplate","placement","backdrop","keyboard","html","container","animation"],function(a){angular.isDefined(e[a])&&(f[a]=e[a])}),angular.forEach(["title","content"],function(b){e[b]&&e.$observe(b,function(d){a[b]=c.getTrustedHtml(d)})}),e.bsAside&&a.$watch(e.bsAside,function(b){angular.isObject(b)?angular.extend(a,b):a.content=b},!0);var g=d(f);b.on(e.trigger||"click",g.toggle),a.$on("$destroy",function(){g.destroy(),f=null,g=null})}}}]),angular.module("mgcrea.ngStrap.button",["ngAnimate"]).provider("$button",function(){var a=this.defaults={activeClass:"active",toggleEvent:"click"};this.$get=function(){return{defaults:a}}}).directive("bsCheckboxGroup",function(){return{restrict:"A",require:"ngModel",compile:function(a,b){a.attr("data-toggle","buttons"),a.removeAttr("ng-model");var c=a[0].querySelectorAll('input[type="checkbox"]');angular.forEach(c,function(a){var c=angular.element(a);c.attr("bs-checkbox",""),c.attr("ng-model",b.ngModel+"."+c.attr("value"))})}}}).directive("bsCheckbox",["$button","$$animateReflow",function(a,b){var c=a.defaults,d=/^(true|false|\d+)$/;return{restrict:"A",require:"ngModel",link:function(a,e,f,g){var h=c,i="INPUT"===e[0].nodeName,j=i?e.parent():e,k=angular.isDefined(f.trueValue)?f.trueValue:!0;d.test(f.trueValue)&&(k=a.$eval(f.trueValue));var l=angular.isDefined(f.falseValue)?f.falseValue:!1;d.test(f.falseValue)&&(l=a.$eval(f.falseValue));var m="boolean"!=typeof k||"boolean"!=typeof l;m&&(g.$parsers.push(function(a){return a?k:l}),a.$watch(f.ngModel,function(){g.$render()})),g.$render=function(){var a=angular.equals(g.$modelValue,k);b(function(){i&&(e[0].checked=a),j.toggleClass(h.activeClass,a)})},e.bind(h.toggleEvent,function(){a.$apply(function(){i||g.$setViewValue(!j.hasClass("active")),m||g.$render()})})}}}]).directive("bsRadioGroup",function(){return{restrict:"A",require:"ngModel",compile:function(a,b){a.attr("data-toggle","buttons"),a.removeAttr("ng-model");var c=a[0].querySelectorAll('input[type="radio"]');angular.forEach(c,function(a){angular.element(a).attr("bs-radio",""),angular.element(a).attr("ng-model",b.ngModel)})}}}).directive("bsRadio",["$button","$$animateReflow",function(a,b){var c=a.defaults,d=/^(true|false|\d+)$/;return{restrict:"A",require:"ngModel",link:function(a,e,f,g){var h=c,i="INPUT"===e[0].nodeName,j=i?e.parent():e,k=d.test(f.value)?a.$eval(f.value):f.value;g.$render=function(){var a=angular.equals(g.$modelValue,k);b(function(){i&&(e[0].checked=a),j.toggleClass(h.activeClass,a)})},e.bind(h.toggleEvent,function(){a.$apply(function(){g.$setViewValue(k),g.$render()})})}}}]),angular.module("mgcrea.ngStrap.datepicker",["mgcrea.ngStrap.helpers.dateParser","mgcrea.ngStrap.tooltip"]).provider("$datepicker",function(){var a=this.defaults={animation:"am-fade",prefixClass:"datepicker",placement:"bottom-left",template:"datepicker/datepicker.tpl.html",trigger:"focus",container:!1,keyboard:!0,html:!1,delay:0,useNative:!1,dateType:"date",dateFormat:"shortDate",autoclose:!1,minDate:-1/0,maxDate:+1/0,startView:0,minView:0,startWeek:0};this.$get=["$window","$document","$rootScope","$sce","$locale","dateFilter","datepickerViews","$tooltip",function(b,c,d,e,f,g,h,i){function j(b,c,d){function e(a){a.selected=g.$isSelected(a.date)}function f(){b[0].focus()}var g=i(b,angular.extend({},a,d)),j=d.scope,m=g.$options,n=g.$scope;m.startView&&(m.startView-=m.minView);var o=h(g);g.$views=o.views;var p=o.viewDate;n.$mode=m.startView;var q=g.$views[n.$mode];n.$select=function(a){g.select(a)},n.$selectPane=function(a){g.$selectPane(a)},n.$toggleMode=function(){g.setMode((n.$mode+1)%g.$views.length)},g.update=function(a){angular.isDate(a)&&!isNaN(a.getTime())&&(g.$date=a,q.update.call(q,a)),g.$build(!0)},g.select=function(a,b){angular.isDate(c.$dateValue)||(c.$dateValue=new Date(a)),c.$dateValue.setFullYear(a.getFullYear(),a.getMonth(),a.getDate()),!n.$mode||b?(c.$setViewValue(c.$dateValue),c.$render(),m.autoclose&&!b&&g.hide(!0)):(angular.extend(p,{year:a.getFullYear(),month:a.getMonth(),date:a.getDate()}),g.setMode(n.$mode-1),g.$build())},g.setMode=function(a){n.$mode=a,q=g.$views[n.$mode],g.$build()},g.$build=function(a){a===!0&&q.built||(a!==!1||q.built)&&q.build.call(q)},g.$updateSelected=function(){for(var a=0,b=n.rows.length;b>a;a++)angular.forEach(n.rows[a],e)},g.$isSelected=function(a){return q.isSelected(a)},g.$selectPane=function(a){var b=q.steps,c=new Date(Date.UTC(p.year+(b.year||0)*a,p.month+(b.month||0)*a,p.date+(b.day||0)*a));angular.extend(p,{year:c.getUTCFullYear(),month:c.getUTCMonth(),date:c.getUTCDate()}),g.$build()},g.$onMouseDown=function(a){if(a.preventDefault(),a.stopPropagation(),k){var b=angular.element(a.target);"button"!==b[0].nodeName.toLowerCase()&&(b=b.parent()),b.triggerHandler("click")}},g.$onKeyDown=function(a){if(/(38|37|39|40|13)/.test(a.keyCode)&&!a.shiftKey&&!a.altKey){if(a.preventDefault(),a.stopPropagation(),13===a.keyCode)return n.$mode?n.$apply(function(){g.setMode(n.$mode-1)}):g.hide(!0);q.onKeyDown(a),j.$digest()}};var r=g.init;g.init=function(){return l&&m.useNative?(b.prop("type","date"),void b.css("-webkit-appearance","textfield")):(k&&(b.prop("type","text"),b.attr("readonly","true"),b.on("click",f)),void r())};var s=g.destroy;g.destroy=function(){l&&m.useNative&&b.off("click",f),s()};var t=g.show;g.show=function(){t(),setTimeout(function(){g.$element.on(k?"touchstart":"mousedown",g.$onMouseDown),m.keyboard&&b.on("keydown",g.$onKeyDown)})};var u=g.hide;return g.hide=function(a){g.$element.off(k?"touchstart":"mousedown",g.$onMouseDown),m.keyboard&&b.off("keydown",g.$onKeyDown),u(a)},g}var k=(angular.element(b.document.body),"createTouch"in b.document),l=/(ip(a|o)d|iphone|android)/gi.test(b.navigator.userAgent);return a.lang||(a.lang=f.id),j.defaults=a,j}]}).directive("bsDatepicker",["$window","$parse","$q","$locale","dateFilter","$datepicker","$dateParser","$timeout",function(a,b,c,d,e,f,g){{var h=(f.defaults,/(ip(a|o)d|iphone|android)/gi.test(a.navigator.userAgent));a.requestAnimationFrame||a.setTimeout}return{restrict:"EAC",require:"ngModel",link:function(a,b,c,d){var i={scope:a,controller:d};angular.forEach(["placement","container","delay","trigger","keyboard","html","animation","template","autoclose","dateType","dateFormat","startWeek","useNative","lang","startView","minView"],function(a){angular.isDefined(c[a])&&(i[a]=c[a])}),h&&i.useNative&&(i.dateFormat="yyyy-MM-dd");var j=f(b,d,i);i=j.$options,angular.forEach(["minDate","maxDate"],function(a){angular.isDefined(c[a])&&c.$observe(a,function(b){if("today"===b){var c=new Date;j.$options[a]=+new Date(c.getFullYear(),c.getMonth(),c.getDate()+("maxDate"===a?1:0),0,0,0,"minDate"===a?0:-1)}else j.$options[a]=angular.isString(b)&&b.match(/^".+"$/)?+new Date(b.substr(1,b.length-2)):+new Date(b);!isNaN(j.$options[a])&&j.$build(!1)})}),a.$watch(c.ngModel,function(){j.update(d.$dateValue)},!0);var k=g({format:i.dateFormat,lang:i.lang});d.$parsers.unshift(function(a){if(!a)return void d.$setValidity("date",!0);var b=k.parse(a,d.$dateValue);if(!b||isNaN(b.getTime()))d.$setValidity("date",!1);else{var c=b.getTime()>=i.minDate&&b.getTime()<=i.maxDate;d.$setValidity("date",c),c&&(d.$dateValue=b)}return"string"===i.dateType?e(a,i.dateFormat):"number"===i.dateType?d.$dateValue.getTime():"iso"===i.dateType?d.$dateValue.toISOString():d.$dateValue}),d.$formatters.push(function(a){var b=angular.isDate(a)?a:new Date(a);return d.$dateValue=b,d.$dateValue}),d.$render=function(){b.val(isNaN(d.$dateValue.getTime())?"":e(d.$dateValue,i.dateFormat))},a.$on("$destroy",function(){j.destroy(),i=null,j=null})}}}]).provider("datepickerViews",function(){function a(a,b){for(var c=[];a.length>0;)c.push(a.splice(0,b));return c}this.defaults={dayFormat:"dd",daySplit:7};this.$get=["$locale","$sce","dateFilter",function(b,c,d){return function(e){var f=e.$scope,g=e.$options,h=b.DATETIME_FORMATS.SHORTDAY,i=h.slice(g.startWeek).concat(h.slice(0,g.startWeek)),j=c.trustAsHtml(''+i.join(' | ')+" | "),k=e.$date||new Date,l={year:k.getFullYear(),month:k.getMonth(),date:k.getDate()},m=(6e4*k.getTimezoneOffset(),[{format:"dd",split:7,steps:{month:1},update:function(a,b){!this.built||b||a.getFullYear()!==l.year||a.getMonth()!==l.month?(angular.extend(l,{year:e.$date.getFullYear(),month:e.$date.getMonth(),date:e.$date.getDate()}),e.$build()):a.getDate()!==l.date&&(l.date=e.$date.getDate(),e.$updateSelected())},build:function(){for(var b,c=new Date(l.year,l.month,1),h=new Date(+c-864e5*(c.getDay()+g.startWeek)),i=[],k=0;42>k;k++)b=new Date(h.getFullYear(),h.getMonth(),h.getDate()+k),i.push({date:b,label:d(b,this.format),selected:e.$date&&this.isSelected(b),muted:b.getMonth()!==l.month,disabled:this.isDisabled(b)});f.title=d(c,"MMMM yyyy"),f.labels=j,f.rows=a(i,this.split),this.built=!0},isSelected:function(a){return e.$date&&a.getFullYear()===e.$date.getFullYear()&&a.getMonth()===e.$date.getMonth()&&a.getDate()===e.$date.getDate()},isDisabled:function(a){return a.getTime()g.maxDate},onKeyDown:function(a){var b=e.$date.getTime();37===a.keyCode?e.select(new Date(b-864e5),!0):38===a.keyCode?e.select(new Date(b-6048e5),!0):39===a.keyCode?e.select(new Date(b+864e5),!0):40===a.keyCode&&e.select(new Date(b+6048e5),!0)}},{name:"month",format:"MMM",split:4,steps:{year:1},update:function(a){this.built&&a.getFullYear()===l.year?a.getMonth()!==l.month&&(angular.extend(l,{month:e.$date.getMonth(),date:e.$date.getDate()}),e.$updateSelected()):(angular.extend(l,{year:e.$date.getFullYear(),month:e.$date.getMonth(),date:e.$date.getDate()}),e.$build())},build:function(){for(var b,c=(new Date(l.year,0,1),[]),g=0;12>g;g++)b=new Date(l.year,g,1),c.push({date:b,label:d(b,this.format),selected:e.$isSelected(b),disabled:this.isDisabled(b)});f.title=d(b,"yyyy"),f.labels=!1,f.rows=a(c,this.split),this.built=!0},isSelected:function(a){return e.$date&&a.getFullYear()===e.$date.getFullYear()&&a.getMonth()===e.$date.getMonth()},isDisabled:function(a){var b=+new Date(a.getFullYear(),a.getMonth()+1,0);return bg.maxDate},onKeyDown:function(a){var b=e.$date.getMonth();37===a.keyCode?e.select(e.$date.setMonth(b-1),!0):38===a.keyCode?e.select(e.$date.setMonth(b-4),!0):39===a.keyCode?e.select(e.$date.setMonth(b+1),!0):40===a.keyCode&&e.select(e.$date.setMonth(b+4),!0)}},{name:"year",format:"yyyy",split:4,steps:{year:12},update:function(a,b){!this.built||b||parseInt(a.getFullYear()/20,10)!==parseInt(l.year/20,10)?(angular.extend(l,{year:e.$date.getFullYear(),month:e.$date.getMonth(),date:e.$date.getDate()}),e.$build()):a.getFullYear()!==l.year&&(angular.extend(l,{year:e.$date.getFullYear(),month:e.$date.getMonth(),date:e.$date.getDate()}),e.$updateSelected())},build:function(){for(var b,c=l.year-l.year%(3*this.split),g=[],h=0;12>h;h++)b=new Date(c+h,0,1),g.push({date:b,label:d(b,this.format),selected:e.$isSelected(b),disabled:this.isDisabled(b)});f.title=g[0].label+"-"+g[g.length-1].label,f.labels=!1,f.rows=a(g,this.split),this.built=!0},isSelected:function(a){return e.$date&&a.getFullYear()===e.$date.getFullYear()},isDisabled:function(a){var b=+new Date(a.getFullYear()+1,0,0);return bg.maxDate},onKeyDown:function(a){var b=e.$date.getFullYear();37===a.keyCode?e.select(e.$date.setYear(b-1),!0):38===a.keyCode?e.select(e.$date.setYear(b-4),!0):39===a.keyCode?e.select(e.$date.setYear(b+1),!0):40===a.keyCode&&e.select(e.$date.setYear(b+4),!0)}}]);return{views:g.minView?Array.prototype.slice.call(m,g.minView):m,viewDate:l}}}]}),angular.module("mgcrea.ngStrap.dropdown",["mgcrea.ngStrap.tooltip"]).provider("$dropdown",function(){var a=this.defaults={animation:"am-fade",prefixClass:"dropdown",placement:"bottom-left",template:"dropdown/dropdown.tpl.html",trigger:"click",container:!1,keyboard:!0,html:!1,delay:0};this.$get=["$window","$tooltip",function(b,c){function d(b,d){function g(a){return a.target!==b[0]?a.target!==b[0]&&h.hide():void 0}var h={},i=angular.extend({},a,d);h=c(b,i),h.$onKeyDown=function(a){if(/(38|40)/.test(a.keyCode)){a.preventDefault(),a.stopPropagation();var b=angular.element(h.$element[0].querySelectorAll("li:not(.divider) a"));if(b.length){var c;angular.forEach(b,function(a,b){f&&f.call(a,":focus")&&(c=b)}),38===a.keyCode&&c>0?c--:40===a.keyCode&&c1){var g=f.search(c[b]);a=a.split(c[b]).join(""),m[c[b]]&&(d[g]=m[c[b]])}return angular.forEach(d,function(a){e.push(a)}),e}function f(a){return a.replace(/\//g,"[\\/]").replace("/-/g","[-]").replace(/\./g,"[.]").replace(/\\s/g,"[\\s]")}function g(a){var b,c=Object.keys(l),d=a;for(b=0;bj?d=setTimeout(i,b-j):(d=null,c||(h=a.apply(f,e)))},j=c&&!d;return d||(d=setTimeout(i,b)),j&&(h=a.apply(f,e)),h}}).constant("throttle",function(a,b,c){var d,e,f,g=null,h=0;c||(c={});var i=function(){h=c.leading===!1?0:new Date,g=null,f=a.apply(d,e)};return function(){var j=new Date;h||c.leading!==!1||(h=j);var k=b-(j-h);return d=this,e=arguments,0>=k?(clearTimeout(g),g=null,h=j,f=a.apply(d,e)):g||c.trailing===!1||(g=setTimeout(i,k)),f}}),angular.module("mgcrea.ngStrap.helpers.dimensions",[]).factory("dimensions",["$document","$window",function(){var b=(angular.element,{}),c=b.nodeName=function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()};b.css=function(b,c,d){var e;return e=b.currentStyle?b.currentStyle[c]:a.getComputedStyle?a.getComputedStyle(b)[c]:b.style[c],d===!0?parseFloat(e)||0:e},b.offset=function(b){var c=b.getBoundingClientRect(),d=b.ownerDocument;return{width:b.offsetWidth,height:b.offsetHeight,top:c.top+(a.pageYOffset||d.documentElement.scrollTop)-(d.documentElement.clientTop||0),left:c.left+(a.pageXOffset||d.documentElement.scrollLeft)-(d.documentElement.clientLeft||0)}},b.position=function(a){var e,f,g={top:0,left:0};return"fixed"===b.css(a,"position")?f=a.getBoundingClientRect():(e=d(a),f=b.offset(a),f=b.offset(a),c(e,"html")||(g=b.offset(e)),g.top+=b.css(e,"borderTopWidth",!0),g.left+=b.css(e,"borderLeftWidth",!0)),{width:a.offsetWidth,height:a.offsetHeight,top:f.top-g.top-b.css(a,"marginTop",!0),left:f.left-g.left-b.css(a,"marginLeft",!0)}};var d=function(a){var d=a.ownerDocument,e=a.offsetParent||d;if(c(e,"#document"))return d.documentElement;for(;e&&!c(e,"html")&&"static"===b.css(e,"position");)e=e.offsetParent;return e||d.documentElement};return b.height=function(a,c){var d=a.offsetHeight;return c?d+=b.css(a,"marginTop",!0)+b.css(a,"marginBottom",!0):d-=b.css(a,"paddingTop",!0)+b.css(a,"paddingBottom",!0)+b.css(a,"borderTopWidth",!0)+b.css(a,"borderBottomWidth",!0),d},b.width=function(a,c){var d=a.offsetWidth;return c?d+=b.css(a,"marginLeft",!0)+b.css(a,"marginRight",!0):d-=b.css(a,"paddingLeft",!0)+b.css(a,"paddingRight",!0)+b.css(a,"borderLeftWidth",!0)+b.css(a,"borderRightWidth",!0),d},b}]),angular.module("mgcrea.ngStrap.helpers.parseOptions",[]).provider("$parseOptions",function(){var a=this.defaults={regexp:/^\s*(.*?)(?:\s+as\s+(.*?))?(?:\s+group\s+by\s+(.*))?\s+for\s+(?:([\$\w][\$\w]*)|(?:\(\s*([\$\w][\$\w]*)\s*,\s*([\$\w][\$\w]*)\s*\)))\s+in\s+(.*?)(?:\s+track\s+by\s+(.*?))?$/};this.$get=["$parse","$q",function(b,c){function d(d,e){function f(a){return a.map(function(a,b){var c,d,e={};return e[k]=a,c=j(e),d=n(e)||b,{label:c,value:d}})}var g={},h=angular.extend({},a,e);g.$values=[];var i,j,k,l,m,n,o;return g.init=function(){g.$match=i=d.match(h.regexp),j=b(i[2]||i[1]),k=i[4]||i[6],l=i[5],m=b(i[3]||""),n=b(i[2]?i[1]:k),o=b(i[7])},g.valuesFn=function(a,b){return c.when(o(a,b)).then(function(a){return g.$values=a?f(a):{},g.$values})},g.init(),g}return d}]}),angular.module("mgcrea.ngStrap.modal",["mgcrea.ngStrap.helpers.dimensions"]).provider("$modal",function(){var a=this.defaults={animation:"am-fade",backdropAnimation:"am-fade",prefixClass:"modal",placement:"top",template:"modal/modal.tpl.html",contentTemplate:!1,container:!1,element:null,backdrop:!0,keyboard:!0,html:!1,show:!0};this.$get=["$window","$rootScope","$compile","$q","$templateCache","$http","$animate","$timeout","dimensions",function(c,d,e,f,g,h,i){function j(b){function c(a){a.target===a.currentTarget&&("static"===g.backdrop?f.focus():f.hide())}var f={},g=angular.extend({},a,b);f.$promise=l(g.template);var h=f.$scope=g.scope&&g.scope.$new()||d.$new();g.element||g.container||(g.container="body"),g.scope||m(["title","content"],function(a){g[a]&&(h[a]=g[a])}),h.$hide=function(){h.$$postDigest(function(){f.hide()})},h.$show=function(){h.$$postDigest(function(){f.show()})},h.$toggle=function(){h.$$postDigest(function(){f.toggle()})},g.contentTemplate&&(f.$promise=f.$promise.then(function(a){var c=angular.element(a);return l(g.contentTemplate).then(function(a){var d=k('[ng-bind="content"]',c[0]).removeAttr("ng-bind").html(a);return b.template||d.next().remove(),c[0].outerHTML})}));var j,r,s=angular.element('');return f.$promise.then(function(a){angular.isObject(a)&&(a=a.data),g.html&&(a=a.replace(q,'ng-bind-html="')),a=n.apply(a),j=e(a),f.init()}),f.init=function(){g.show&&h.$$postDigest(function(){f.show()})},f.destroy=function(){r&&(r.remove(),r=null),s&&(s.remove(),s=null),h.$destroy()},f.show=function(){var a=g.container?k(g.container):null,b=g.container?null:g.element;r=f.$element=j(h,function(){}),r.css({display:"block"}).addClass(g.placement),g.animation&&(g.backdrop&&s.addClass(g.backdropAnimation),r.addClass(g.animation)),g.backdrop&&i.enter(s,p,null,function(){}),i.enter(r,a,b,function(){}),h.$isShown=!0,h.$$phase||h.$digest();var d=r[0];o(function(){d.focus()}),p.addClass(g.prefixClass+"-open"),g.backdrop&&(r.on("click",c),s.on("click",c)),g.keyboard&&r.on("keyup",f.$onKeyUp)},f.hide=function(){i.leave(r,function(){p.removeClass(g.prefixClass+"-open")}),g.backdrop&&i.leave(s,function(){}),h.$isShown=!1,h.$$phase||h.$digest(),g.backdrop&&(r.off("click",c),s.off("click",c)),g.keyboard&&r.off("keyup",f.$onKeyUp)},f.toggle=function(){h.$isShown?f.hide():f.show()},f.focus=function(){r[0].focus()},f.$onKeyUp=function(a){27===a.which&&f.hide()},f}function k(a,c){return angular.element((c||b).querySelectorAll(a))}function l(a){return f.when(g.get(a)||h.get(a)).then(function(b){return angular.isObject(b)?(g.put(a,b.data),b.data):b})}var m=angular.forEach,n=String.prototype.trim,o=c.requestAnimationFrame||c.setTimeout,p=angular.element(c.document.body),q=/ng-bind="/gi;return j}]}).directive("bsModal",["$window","$location","$sce","$modal",function(a,b,c,d){return{restrict:"EAC",scope:!0,link:function(a,b,e){var f={scope:a,element:b,show:!1};angular.forEach(["template","contentTemplate","placement","backdrop","keyboard","html","container","animation"],function(a){angular.isDefined(e[a])&&(f[a]=e[a])}),angular.forEach(["title","content"],function(b){e[b]&&e.$observe(b,function(d){a[b]=c.getTrustedHtml(d)})}),e.bsModal&&a.$watch(e.bsModal,function(b){angular.isObject(b)?angular.extend(a,b):a.content=b},!0);var g=d(f);b.on(e.trigger||"click",g.toggle),a.$on("$destroy",function(){g.destroy(),f=null,g=null})}}}]),angular.module("mgcrea.ngStrap.navbar",[]).provider("$navbar",function(){var a=this.defaults={activeClass:"active",routeAttr:"data-match-route"};this.$get=function(){return{defaults:a}}}).directive("bsNavbar",["$window","$location","$navbar",function(a,b,c){var d=c.defaults;return{restrict:"A",link:function(a,c,e){var f=d;angular.forEach(Object.keys(d),function(a){angular.isDefined(e[a])&&(f[a]=e[a])}),a.$watch(function(){return b.path()},function(a){var b=c[0].querySelectorAll("li["+f.routeAttr+"]");angular.forEach(b,function(b){var c=angular.element(b),d=c.attr(f.routeAttr),e=new RegExp("^"+d.replace("/","\\/")+"$",["i"]);e.test(a)?c.addClass(f.activeClass):c.removeClass(f.activeClass)})})}}}]),angular.module("mgcrea.ngStrap.popover",["mgcrea.ngStrap.tooltip"]).provider("$popover",function(){var a=this.defaults={animation:"am-fade",placement:"right",template:"popover/popover.tpl.html",contentTemplate:!1,trigger:"click",keyboard:!0,html:!1,title:"",content:"",delay:0,container:!1};this.$get=["$tooltip",function(b){function c(c,d){var e=angular.extend({},a,d),f=b(c,e);return e.content&&(f.$scope.content=e.content),f}return c}]}).directive("bsPopover",["$window","$location","$sce","$popover",function(a,b,c,d){var e=a.requestAnimationFrame||a.setTimeout;return{restrict:"EAC",scope:!0,link:function(a,b,f){var g={scope:a};angular.forEach(["template","contentTemplate","placement","container","delay","trigger","keyboard","html","animation"],function(a){angular.isDefined(f[a])&&(g[a]=f[a])}),angular.forEach(["title","content"],function(b){f[b]&&f.$observe(b,function(d,f){a[b]=c.getTrustedHtml(d),angular.isDefined(f)&&e(function(){h&&h.$applyPlacement()})})}),f.bsPopover&&a.$watch(f.bsPopover,function(b,c){angular.isObject(b)?angular.extend(a,b):a.content=b,angular.isDefined(c)&&e(function(){h&&h.$applyPlacement()})},!0);var h=d(b,g);a.$on("$destroy",function(){h.destroy(),g=null,h=null})}}}]),angular.module("mgcrea.ngStrap.scrollspy",["mgcrea.ngStrap.helpers.debounce","mgcrea.ngStrap.helpers.dimensions"]).provider("$scrollspy",function(){var a=this.$$spies={},c=this.defaults={debounce:150,throttle:100,offset:100};this.$get=["$window","$document","$rootScope","dimensions","debounce","throttle",function(d,e,f,g,h,i){function j(a,b){return a[0].nodeName&&a[0].nodeName.toLowerCase()===b.toLowerCase()}function k(e){var k=angular.extend({},c,e);k.element||(k.element=n);var o=j(k.element,"body"),p=o?l:k.element,q=o?"window":k.id;if(a[q])return a[q].$$count++,a[q];var r,s,t,u,v,w,x={},y=x.$trackedElements=[],z=[];return x.init=function(){this.$$count=1,s=h(this.checkPosition,k.debounce),t=i(this.checkPosition,k.throttle),p.on("click",this.checkPositionWithEventLoop),l.on("resize",s),p.on("scroll",t),u=h(this.checkOffsets,k.debounce),f.$on("$viewContentLoaded",u),f.$on("$includeContentLoaded",u),u(),q&&(a[q]=x)},x.destroy=function(){this.$$count--,this.$$count>0||(p.off("click",this.checkPositionWithEventLoop),l.off("resize",s),p.off("scroll",s),f.$off("$viewContentLoaded",u),f.$off("$includeContentLoaded",u))},x.checkPosition=function(){if(z.length){if(w=(o?d.pageYOffset:p.prop("scrollTop"))||0,v=Math.max(d.innerHeight,m.prop("clientHeight")),wz[a+1].offsetTop))return x.$activateElement(z[a])}},x.checkPositionWithEventLoop=function(){setTimeout(this.checkPosition,1)},x.$activateElement=function(a){if(r){var b=x.$getTrackedElement(r);b&&(b.source.removeClass("active"),j(b.source,"li")&&j(b.source.parent().parent(),"li")&&b.source.parent().parent().removeClass("active"))}r=a.target,a.source.addClass("active"),j(a.source,"li")&&j(a.source.parent().parent(),"li")&&a.source.parent().parent().addClass("active")},x.$getTrackedElement=function(a){return y.filter(function(b){return b.target===a})[0]},x.checkOffsets=function(){angular.forEach(y,function(a){var c=b.querySelector(a.target);a.offsetTop=c?g.offset(c).top:null,k.offset&&null!==a.offsetTop&&(a.offsetTop-=1*k.offset)}),z=y.filter(function(a){return null!==a.offsetTop}).sort(function(a,b){return a.offsetTop-b.offsetTop}),s()},x.trackElement=function(a,b){y.push({target:a,source:b})},x.untrackElement=function(a,b){for(var c,d=y.length;d--;)if(y[d].target===a&&y[d].source===b){c=d;break}y=y.splice(c,1)},x.activate=function(a){y[a].addClass("active")},x.init(),x}var l=angular.element(d),m=angular.element(e.prop("documentElement")),n=angular.element(d.document.body);return k}]}).directive("bsScrollspy",["$rootScope","debounce","dimensions","$scrollspy",function(a,b,c,d){return{restrict:"EAC",link:function(a,b,c){var e={scope:a};angular.forEach(["offset","target"],function(a){angular.isDefined(c[a])&&(e[a]=c[a])});var f=d(e);f.trackElement(e.target,b),a.$on("$destroy",function(){f.untrackElement(e.target,b),f.destroy(),e=null,f=null})}}}]).directive("bsScrollspyList",["$rootScope","debounce","dimensions","$scrollspy",function(){return{restrict:"A",compile:function(a){var b=a[0].querySelectorAll("li > a[href]");
+angular.forEach(b,function(a){var b=angular.element(a);b.parent().attr("bs-scrollspy","").attr("data-target",b.attr("href"))})}}}]),angular.module("mgcrea.ngStrap.select",["mgcrea.ngStrap.tooltip","mgcrea.ngStrap.helpers.parseOptions"]).provider("$select",function(){var a=this.defaults={animation:"am-fade",prefixClass:"select",placement:"bottom-left",template:"select/select.tpl.html",trigger:"focus",container:!1,keyboard:!0,html:!1,delay:0,multiple:!1,sort:!0,caretHtml:' ',placeholder:"Choose among the following..."};this.$get=["$window","$document","$rootScope","$tooltip",function(b,c,d,e){function f(b,c,d){var f={},h=angular.extend({},a,d);f=e(b,h);var i=d.scope,j=f.$scope;j.$matches=[],j.$activeIndex=0,j.$isMultiple=h.multiple,j.$activate=function(a){j.$$postDigest(function(){f.activate(a)})},j.$select=function(a){j.$$postDigest(function(){f.select(a)})},j.$isVisible=function(){return f.$isVisible()},j.$isActive=function(a){return f.$isActive(a)},f.update=function(a){j.$matches=a,f.$updateActiveIndex()},f.activate=function(a){return h.multiple?(j.$activeIndex.sort(),f.$isActive(a)?j.$activeIndex.splice(j.$activeIndex.indexOf(a),1):j.$activeIndex.push(a),h.sort&&j.$activeIndex.sort()):j.$activeIndex=a,j.$activeIndex},f.select=function(a){var d=j.$matches[a].value;f.activate(a),c.$setViewValue(h.multiple?j.$activeIndex.map(function(a){return j.$matches[a].value}):d),c.$render(),i&&i.$digest(),h.multiple||("focus"===h.trigger?b[0].blur():f.$isShown&&f.hide()),j.$emit("$select.select",d,a)},f.$updateActiveIndex=function(){c.$modelValue&&j.$matches.length?j.$activeIndex=h.multiple&&angular.isArray(c.$modelValue)?c.$modelValue.map(function(a){return f.$getIndex(a)}):f.$getIndex(c.$modelValue):j.$activeIndex>=j.$matches.length&&(j.$activeIndex=h.multiple?[]:0)},f.$isVisible=function(){return h.minLength&&c?j.$matches.length&&c.$viewValue.length>=h.minLength:j.$matches.length},f.$isActive=function(a){return h.multiple?-1!==j.$activeIndex.indexOf(a):j.$activeIndex===a},f.$getIndex=function(a){var b=j.$matches.length,c=b;if(b){for(c=b;c--&&j.$matches[c].value!==a;);if(!(0>c))return c}},f.$onElementMouseDown=function(a){a.preventDefault(),a.stopPropagation(),f.$isShown?b[0].blur():b[0].focus()},f.$onMouseDown=function(a){if(a.preventDefault(),a.stopPropagation(),g){var b=angular.element(a.target);b.triggerHandler("click")}},f.$onKeyDown=function(a){if(/(38|40|13)/.test(a.keyCode)){if(a.preventDefault(),a.stopPropagation(),13===a.keyCode)return f.select(j.$activeIndex);38===a.keyCode&&j.$activeIndex>0?j.$activeIndex--:40===a.keyCode&&j.$activeIndex'),i.after(b)}var j=e(c.ngOptions),k=d(b,g,h),l=j.$match[7].replace(/\|.+/,"").trim();a.$watch(l,function(){j.valuesFn(a,g).then(function(a){k.update(a),g.$render()})},!0),a.$watch(c.ngModel,function(){k.$updateActiveIndex()},!0),g.$render=function(){var a,d;h.multiple&&angular.isArray(g.$modelValue)?a=g.$modelValue.map(function(a){return d=k.$getIndex(a),angular.isDefined(d)?k.$scope.$matches[d].label:!1}).filter(angular.isDefined).join(", "):(d=k.$getIndex(g.$modelValue),a=angular.isDefined(d)?k.$scope.$matches[d].label:!1),b.html((a?a:c.placeholder||f.placeholder)+f.caretHtml)},a.$on("$destroy",function(){k.destroy(),h=null,k=null})}}}]),angular.module("mgcrea.ngStrap.tab",[]).run(["$templateCache",function(a){a.put("$pane","{{pane.content}}")}]).provider("$tab",function(){var a=this.defaults={animation:"am-fade",template:"tab/tab.tpl.html"};this.$get=function(){return{defaults:a}}}).directive("bsTabs",["$window","$animate","$tab",function(a,b,c){var d=c.defaults;return{restrict:"EAC",scope:!0,require:"?ngModel",templateUrl:function(a,b){return b.template||d.template},link:function(a,b,c,e){var f=d;angular.forEach(["animation"],function(a){angular.isDefined(c[a])&&(f[a]=c[a])}),c.bsTabs&&a.$watch(c.bsTabs,function(b){a.panes=b},!0),b.addClass("tabs"),f.animation&&b.addClass(f.animation),a.active=a.activePane=0,a.setActive=function(b){a.active=b,e&&e.$setViewValue(b)},e&&(e.$render=function(){a.active=1*e.$modelValue})}}}]),angular.module("mgcrea.ngStrap.timepicker",["mgcrea.ngStrap.helpers.dateParser","mgcrea.ngStrap.tooltip"]).provider("$timepicker",function(){var a=this.defaults={animation:"am-fade",prefixClass:"timepicker",placement:"bottom-left",template:"timepicker/timepicker.tpl.html",trigger:"focus",container:!1,keyboard:!0,html:!1,delay:0,useNative:!0,timeType:"date",timeFormat:"shortTime",autoclose:!1,minTime:-1/0,maxTime:+1/0,length:5,hourStep:1,minuteStep:5};this.$get=["$window","$document","$rootScope","$sce","$locale","dateFilter","$tooltip",function(b,c,d,e,f,g,h){function i(b,c,d){function e(a,c){if(b[0].createTextRange){var d=b[0].createTextRange();d.collapse(!0),d.moveStart("character",a),d.moveEnd("character",c),d.select()}else b[0].setSelectionRange?b[0].setSelectionRange(a,c):angular.isUndefined(b[0].selectionStart)&&(b[0].selectionStart=a,b[0].selectionEnd=c)}function i(){b[0].focus()}var l=h(b,angular.extend({},a,d)),m=d.scope,n=l.$options,o=l.$scope,p=0,q=c.$dateValue||new Date,r={hour:q.getHours(),meridian:q.getHours()<12,minute:q.getMinutes(),second:q.getSeconds(),millisecond:q.getMilliseconds()},s=f.DATETIME_FORMATS[n.timeFormat]||n.timeFormat,t=/(h+)[:]?(m+)[ ]?(a?)/i.exec(s).slice(1);o.$select=function(a,b){l.select(a,b)},o.$moveIndex=function(a,b){l.$moveIndex(a,b)},o.$switchMeridian=function(a){l.switchMeridian(a)},l.update=function(a){angular.isDate(a)&&!isNaN(a.getTime())?(l.$date=a,angular.extend(r,{hour:a.getHours(),minute:a.getMinutes(),second:a.getSeconds(),millisecond:a.getMilliseconds()}),l.$build()):l.$isBuilt||l.$build()},l.select=function(a,b,d){isNaN(c.$dateValue.getTime())&&(c.$dateValue=new Date(1970,0,1)),angular.isDate(a)||(a=new Date(a)),0===b?c.$dateValue.setHours(a.getHours()):1===b&&c.$dateValue.setMinutes(a.getMinutes()),c.$setViewValue(c.$dateValue),c.$render(),n.autoclose&&!d&&l.hide(!0)},l.switchMeridian=function(a){var b=(a||c.$dateValue).getHours();c.$dateValue.setHours(12>b?b+12:b-12),c.$render()},l.$build=function(){var a,b,c=o.midIndex=parseInt(n.length/2,10),d=[];for(a=0;an.maxTime},l.$moveIndex=function(a,b){var c;0===b?(c=new Date(1970,0,1,r.hour+a*n.length,r.minute),angular.extend(r,{hour:c.getHours()})):1===b&&(c=new Date(1970,0,1,r.hour,r.minute+a*n.length*5),angular.extend(r,{minute:c.getMinutes()})),l.$build()},l.$onMouseDown=function(a){if("input"!==a.target.nodeName.toLowerCase()&&a.preventDefault(),a.stopPropagation(),j){var b=angular.element(a.target);"button"!==b[0].nodeName.toLowerCase()&&(b=b.parent()),b.triggerHandler("click")}},l.$onKeyDown=function(a){if(/(38|37|39|40|13)/.test(a.keyCode)&&!a.shiftKey&&!a.altKey){if(a.preventDefault(),a.stopPropagation(),13===a.keyCode)return l.hide(!0);var b=new Date(l.$date),c=b.getHours(),d=g(b,"h").length,f=b.getMinutes(),h=g(b,"mm").length,i=/(37|39)/.test(a.keyCode),j=2+1*!!t[2];if(i&&(37===a.keyCode?p=1>p?j-1:p-1:39===a.keyCode&&(p=j-1>p?p+1:0)),0===p){if(i)return e(0,d);38===a.keyCode?b.setHours(c-n.hourStep):40===a.keyCode&&b.setHours(c+n.hourStep)}else if(1===p){if(i)return e(d+1,d+1+h);38===a.keyCode?b.setMinutes(f-n.minuteStep):40===a.keyCode&&b.setMinutes(f+n.minuteStep)}else if(2===p){if(i)return e(d+1+h+1,d+1+h+3);l.switchMeridian()}l.select(b,p,!0),m.$digest()}};var u=l.init;l.init=function(){return k&&n.useNative?(b.prop("type","time"),void b.css("-webkit-appearance","textfield")):(j&&(b.prop("type","text"),b.attr("readonly","true"),b.on("click",i)),void u())};var v=l.destroy;l.destroy=function(){k&&n.useNative&&b.off("click",i),v()};var w=l.show;l.show=function(){w(),setTimeout(function(){l.$element.on(j?"touchstart":"mousedown",l.$onMouseDown),n.keyboard&&b.on("keydown",l.$onKeyDown)})};var x=l.hide;return l.hide=function(a){l.$element.off(j?"touchstart":"mousedown",l.$onMouseDown),n.keyboard&&b.off("keydown",l.$onKeyDown),x(a)},l}var j=(angular.element(b.document.body),"createTouch"in b.document),k=/(ip(a|o)d|iphone|android)/gi.test(b.navigator.userAgent);return a.lang||(a.lang=f.id),i.defaults=a,i}]}).directive("bsTimepicker",["$window","$parse","$q","$locale","dateFilter","$timepicker","$dateParser","$timeout",function(a,b,c,d,e,f,g){{var h=(f.defaults,/(ip(a|o)d|iphone|android)/gi.test(a.navigator.userAgent));a.requestAnimationFrame||a.setTimeout}return{restrict:"EAC",require:"ngModel",link:function(a,b,c,d){var i={scope:a,controller:d};angular.forEach(["placement","container","delay","trigger","keyboard","html","animation","template","autoclose","timeType","timeFormat","useNative","lang"],function(a){angular.isDefined(c[a])&&(i[a]=c[a])}),h&&i.useNative&&(i.timeFormat="HH:mm");var j=f(b,d,i);i=j.$options;var k=g({format:i.timeFormat,lang:i.lang});angular.forEach(["minTime","maxTime"],function(a){angular.isDefined(c[a])&&c.$observe(a,function(b){j.$options[a]="now"===b?(new Date).setFullYear(1970,0,1):angular.isString(b)&&b.match(/^".+"$/)?+new Date(b.substr(1,b.length-2)):k.parse(b),!isNaN(j.$options[a])&&j.$build()})}),a.$watch(c.ngModel,function(){j.update(d.$dateValue)},!0),d.$parsers.unshift(function(a){if(!a)return void d.$setValidity("date",!0);var b=k.parse(a,d.$dateValue);if(!b||isNaN(b.getTime()))d.$setValidity("date",!1);else{var c=b.getTime()>=i.minTime&&b.getTime()<=i.maxTime;d.$setValidity("date",c),c&&(d.$dateValue=b)}return"string"===i.timeType?e(a,i.timeFormat):"number"===i.timeType?d.$dateValue.getTime():"iso"===i.timeType?d.$dateValue.toISOString():d.$dateValue}),d.$formatters.push(function(a){var b=angular.isDate(a)?a:new Date(a);return d.$dateValue=b,d.$dateValue}),d.$render=function(){b.val(isNaN(d.$dateValue.getTime())?"":e(d.$dateValue,i.timeFormat))},a.$on("$destroy",function(){j.destroy(),i=null,j=null})}}}]),angular.module("mgcrea.ngStrap.tooltip",["ngAnimate","mgcrea.ngStrap.helpers.dimensions"]).provider("$tooltip",function(){var a=this.defaults={animation:"am-fade",prefixClass:"tooltip",container:!1,placement:"top",template:"tooltip/tooltip.tpl.html",contentTemplate:!1,trigger:"hover focus",keyboard:!1,html:!1,show:!1,title:"",type:"",delay:0};this.$get=["$window","$rootScope","$compile","$q","$templateCache","$http","$animate","$timeout","dimensions","$$animateReflow",function(c,d,e,f,g,h,i,j,k,l){function m(b,c){function f(){return"body"===j.container?k.offset(b[0]):k.position(b[0])}function g(a,b,c,d){var e,f=a.split("-");switch(f[0]){case"right":e={top:b.top+b.height/2-d/2,left:b.left+b.width};break;case"bottom":e={top:b.top+b.height,left:b.left+b.width/2-c/2};break;case"left":e={top:b.top+b.height/2-d/2,left:b.left-c};break;default:e={top:b.top-d,left:b.left+b.width/2-c/2}}if(!f[1])return e;if("top"===f[0]||"bottom"===f[0])switch(f[1]){case"left":e.left=b.left;break;case"right":e.left=b.left+b.width-c}else if("left"===f[0]||"right"===f[0])switch(f[1]){case"top":e.top=b.top-d;break;case"bottom":e.top=b.top+b.height}return e}var h={},j=h.$options=angular.extend({},a,c);h.$promise=o(j.template);var m=h.$scope=j.scope&&j.scope.$new()||d.$new();j.delay&&angular.isString(j.delay)&&(j.delay=parseFloat(j.delay)),j.title&&(h.$scope.title=j.title),m.$hide=function(){m.$$postDigest(function(){h.hide()})},m.$show=function(){m.$$postDigest(function(){h.show()})},m.$toggle=function(){m.$$postDigest(function(){h.toggle()})},h.$isShown=!1;var r,s;j.contentTemplate&&(h.$promise=h.$promise.then(function(a){var b=angular.element(a);return o(j.contentTemplate).then(function(a){return n('[ng-bind="content"]',b[0]).removeAttr("ng-bind").html(a),b[0].outerHTML})}));var t,u,v,w;return h.$promise.then(function(a){angular.isObject(a)&&(a=a.data),j.html&&(a=a.replace(q,'ng-bind-html="')),a=p.apply(a),v=a,t=e(a),h.init()}),h.init=function(){j.delay&&angular.isNumber(j.delay)&&(j.delay={show:j.delay,hide:j.delay}),"self"===j.container?w=b:j.container&&(w=n(j.container));var a=j.trigger.split(" ");angular.forEach(a,function(a){"click"===a?b.on("click",h.toggle):"manual"!==a&&(b.on("hover"===a?"mouseenter":"focus",h.enter),b.on("hover"===a?"mouseleave":"blur",h.leave))}),j.show&&m.$$postDigest(function(){"focus"===j.trigger?b[0].focus():h.show()})},h.destroy=function(){for(var a=j.trigger.split(" "),c=a.length;c--;){var d=a[c];"click"===d?b.off("click",h.toggle):"manual"!==d&&(b.off("hover"===d?"mouseenter":"focus",h.enter),b.off("hover"===d?"mouseleave":"blur",h.leave))}u&&(u.remove(),u=null),m.$destroy()},h.enter=function(){return clearTimeout(r),s="in",j.delay&&j.delay.show?void(r=setTimeout(function(){"in"===s&&h.show()},j.delay.show)):h.show()},h.show=function(){var a=j.container?w:null,c=j.container?null:b;u&&u.remove(),u=h.$element=t(m,function(){}),u.css({top:"0px",left:"0px",display:"block"}).addClass(j.placement),j.animation&&u.addClass(j.animation),j.type&&u.addClass(j.prefixClass+"-"+j.type),i.enter(u,a,c,function(){}),h.$isShown=!0,m.$$phase||m.$digest(),l(h.$applyPlacement),j.keyboard&&("focus"!==j.trigger?(h.focus(),u.on("keyup",h.$onKeyUp)):b.on("keyup",h.$onFocusKeyUp))},h.leave=function(){return clearTimeout(r),s="out",j.delay&&j.delay.hide?void(r=setTimeout(function(){"out"===s&&h.hide()},j.delay.hide)):h.hide()},h.hide=function(a){return h.$isShown?(i.leave(u,function(){u=null}),m.$$phase||m.$digest(),h.$isShown=!1,j.keyboard&&u.off("keyup",h.$onKeyUp),a&&"focus"===j.trigger?b[0].blur():void 0):void 0},h.toggle=function(){h.$isShown?h.leave():h.enter()},h.focus=function(){u[0].focus()},h.$applyPlacement=function(){if(u){var a=f(),b=u.prop("offsetWidth"),c=u.prop("offsetHeight"),d=g(j.placement,a,b,c);d.top+="px",d.left+="px",u.css(d)}},h.$onKeyUp=function(a){27===a.which&&h.hide()},h.$onFocusKeyUp=function(a){27===a.which&&b[0].blur()},h}function n(a,c){return angular.element((c||b).querySelectorAll(a))}function o(a){return f.when(g.get(a)||h.get(a)).then(function(b){return angular.isObject(b)?(g.put(a,b.data),b.data):b})}var p=String.prototype.trim,q=("createTouch"in c.document,/ng-bind="/gi);return m}]}).directive("bsTooltip",["$window","$location","$sce","$tooltip","$$animateReflow",function(a,b,c,d,e){return{restrict:"EAC",scope:!0,link:function(a,b,f){var g={scope:a};angular.forEach(["template","contentTemplate","placement","container","delay","trigger","keyboard","html","animation","type"],function(a){angular.isDefined(f[a])&&(g[a]=f[a])}),angular.forEach(["title"],function(b){f[b]&&f.$observe(b,function(d,f){a[b]=c.getTrustedHtml(d),angular.isDefined(f)&&e(function(){h&&h.$applyPlacement()})})}),f.bsTooltip&&a.$watch(f.bsTooltip,function(b,c){angular.isObject(b)?angular.extend(a,b):a.content=b,angular.isDefined(c)&&e(function(){h&&h.$applyPlacement()})},!0);var h=d(b,g);a.$on("$destroy",function(){h.destroy(),g=null,h=null})}}}]),angular.module("mgcrea.ngStrap.typeahead",["mgcrea.ngStrap.tooltip","mgcrea.ngStrap.helpers.parseOptions"]).provider("$typeahead",function(){var a=this.defaults={animation:"am-fade",prefixClass:"typeahead",placement:"bottom-left",template:"typeahead/typeahead.tpl.html",trigger:"focus",container:!1,keyboard:!0,html:!1,delay:0,minLength:1,limit:6};this.$get=["$window","$rootScope","$tooltip",function(b,c,d){function e(b,c){var e={},f=angular.extend({},a,c),g=f.controller;e=d(b,f);var h=c.scope,i=e.$scope;i.$matches=[],i.$activeIndex=0,i.$activate=function(a){i.$$postDigest(function(){e.activate(a)})},i.$select=function(a){i.$$postDigest(function(){e.select(a)})},i.$isVisible=function(){return e.$isVisible()},e.update=function(a){i.$matches=a,i.$activeIndex>=a.length&&(i.$activeIndex=0)},e.activate=function(a){i.$activeIndex=a},e.select=function(a){var c=i.$matches[a].value;g&&(g.$setViewValue(c),g.$render(),h&&h.$digest()),"focus"===f.trigger?b[0].blur():e.$isShown&&e.hide(),i.$activeIndex=0,i.$emit("$typeahead.select",c,a)},e.$isVisible=function(){return f.minLength&&g?i.$matches.length&&angular.isString(g.$viewValue)&&g.$viewValue.length>=f.minLength:!!i.$matches.length},e.$onMouseDown=function(a){a.preventDefault(),a.stopPropagation()},e.$onKeyDown=function(a){if(/(38|40|13)/.test(a.keyCode)){if(a.preventDefault(),a.stopPropagation(),13===a.keyCode)return e.select(i.$activeIndex);38===a.keyCode&&i.$activeIndex>0?i.$activeIndex--:40===a.keyCode&&i.$activeIndexi&&(a=a.slice(0,i)),k.update(a)})}),a.$on("$destroy",function(){k.destroy(),h=null,k=null})}}}])}(window,document),function(){"use strict";angular.module("mgcrea.ngStrap.alert").run(["$templateCache",function(a){a.put("alert/alert.tpl.html",'
')}]),angular.module("mgcrea.ngStrap.aside").run(["$templateCache",function(a){a.put("aside/aside.tpl.html",'')}]),angular.module("mgcrea.ngStrap.datepicker").run(["$templateCache",function(a){a.put("datepicker/datepicker.tpl.html",'')}]),angular.module("mgcrea.ngStrap.dropdown").run(["$templateCache",function(a){a.put("dropdown/dropdown.tpl.html",'')}]),angular.module("mgcrea.ngStrap.modal").run(["$templateCache",function(a){a.put("modal/modal.tpl.html",'')}]),angular.module("mgcrea.ngStrap.popover").run(["$templateCache",function(a){a.put("popover/popover.tpl.html",'')}]),angular.module("mgcrea.ngStrap.select").run(["$templateCache",function(a){a.put("select/select.tpl.html",'')}]),angular.module("mgcrea.ngStrap.tab").run(["$templateCache",function(a){a.put("tab/tab.tpl.html",'')}]),angular.module("mgcrea.ngStrap.timepicker").run(["$templateCache",function(a){a.put("timepicker/timepicker.tpl.html",'')}]),angular.module("mgcrea.ngStrap.tooltip").run(["$templateCache",function(a){a.put("tooltip/tooltip.tpl.html",'')}]),angular.module("mgcrea.ngStrap.typeahead").run(["$templateCache",function(a){a.put("typeahead/typeahead.tpl.html",'')}])}(window,document);
//# sourceMappingURL=angular-strap.min.map
\ No newline at end of file
diff --git a/dist/angular-strap.min.map b/dist/angular-strap.min.map
index 5183fdd8a..f9d2a851e 100644
--- a/dist/angular-strap.min.map
+++ b/dist/angular-strap.min.map
@@ -1 +1 @@
-{"version":3,"file":"angular-strap.min.js","sources":["angular-strap.js","angular-strap.tpl.js"],"names":["window","document","angular","module","provider","defaults","this","offsetTop","$get","$window","dimensions","AffixFactory","element","config","getRequiredAffixClass","unpin","position","elementHeight","scrollTop","pageYOffset","scrollHeight","body","top","offsetBottom","initialAffixTop","$affix","options","extend","reset","initialOffsetTop","affixed","parent","offsetParent","match","i","offset","css","height","init","windowEl","on","checkPosition","checkPositionWithEventLoop","destroy","off","setTimeout","affix","removeClass","addClass","offsetUnpin","bodyEl","offsetHeight","directive","restrict","link","scope","attr","forEach","key","isDefined","$on","animation","prefixClass","placement","template","container","backdrop","keyboard","show","duration","type","$modal","$timeout","AlertFactory","$alert","$scope","hide","$location","$sce","requestAnimationFrame","$observe","newValue","bsAlert","$watch","isObject","content","alert","trigger","toggle","contentTemplate","html","AsideFactory","$aside","bsAside","aside","activeClass","toggleEvent","require","compile","removeAttr","children","querySelectorAll","child","childEl","ngModel","$button","constantValueRegExp","controller","isInput","nodeName","activeElement","trueValue","test","$eval","falseValue","hasExoticValues","$parsers","push","viewValue","$render","isActive","equals","$modelValue","checked","toggleClass","bind","$apply","$setViewValue","hasClass","value","delay","useNative","dateType","dateFormat","autoclose","minDate","Infinity","maxDate","startView","minView","weekStart","$document","$rootScope","$locale","dateFilter","datepickerViews","$tooltip","DatepickerFactory","updateSelected","el","selected","$datepicker","$isSelected","date","focusElement","focus","parentScope","$options","pickerViews","$views","views","viewDate","$mode","$picker","$select","select","$selectPane","$toggleMode","setMode","length","update","isNaN","getTime","built","$build","$date","call","keep","isDate","Date","$dateValue","setFullYear","getFullYear","getMonth","getDate","year","month","mode","build","$updateSelected","l","rows","isSelected","steps","targetDate","UTC","day","getUTCFullYear","getUTCMonth","getUTCDate","$onMouseDown","evt","preventDefault","stopPropagation","isTouch","targetEl","target","toLowerCase","triggerHandler","$onKeyDown","keyCode","shiftKey","altKey","onKeyDown","$digest","_init","isAppleTouch","prop","_destroy","_show","$element","_hide","blur","navigator","userAgent","lang","id","$parse","$q","$dateParser","datepicker","today","isString","substr","dateParser","format","unshift","parsedDate","parse","$setValidity","isValid","toISOString","$formatters","modelValue","val","split","arr","size","arrays","splice","dayFormat","daySplit","picker","weekDaysMin","DATETIME_FORMATS","SHORTDAY","weekDaysLabels","slice","concat","dayLabelHtml","trustAsHtml","join","startDate","getTimezoneOffset","force","firstDayOfMonth","firstDate","getDay","days","label","muted","disabled","isDisabled","title","labels","actualTime","name","months","lastDate","actualMonth","setMonth","parseInt","firstYear","years","actualYear","setYear","Array","prototype","DropdownFactory","onBodyClick","$dropdown","items","index","matchesSelector","isUndefined","eq","Element","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","bsDropdown","dropdown","proto","strict","DateParserFactory","setMapForFormat","keys","Object","setFnMap","map","sortedMap","clonedFormat","search","v","escapeReservedSymbols","text","replace","regExpForFormat","regExpMap","re","RegExp","regex","setMap","sss","ss","s","mm","m","HH","H","hh","h","a","EEEE","DAY","EEE","dd","d","MMMM","MONTH","MMM","SHORTMONTH","MM","M","yyyy","yy","setMilliseconds","setSeconds","setMinutes","setHours","setDate","hours","getHours","indexOf","y","$format","baseDate","matches","exec","constant","func","wait","immediate","timeout","args","context","timestamp","result","arguments","later","last","apply","callNow","previous","leading","now","remaining","clearTimeout","trailing","factory","fn","extra","currentStyle","getComputedStyle","style","parseFloat","boxRect","getBoundingClientRect","docElement","ownerDocument","width","offsetWidth","documentElement","clientTop","left","pageXOffset","scrollLeft","clientLeft","offsetParentElement","offsetParentRect","outer","regexp","ParseOptionsFactory","parseValues","values","locals","valueName","displayFn","valueFn","$parseOptions","$values","keyName","groupByFn","valuesFn","$match","when","then","$compile","$templateCache","$http","$animate","ModalFactory","hideOnBackdropClick","currentTarget","$promise","get","$new","$hide","$$postDigest","$show","$toggle","data","templateEl","contentEl","findElement","next","remove","outerHTML","modalLinker","modalElement","backdropElement","htmlReplaceRegExp","trim","$destroy","after","display","enter","bodyElement","$isShown","$$phase","$onKeyUp","leave","which","String","query","bsModal","modal","routeAttr","$navbar","path","liElements","li","liElement","pattern","PopoverFactory","$popover","oldValue","popover","$applyPlacement","bsPopover","spies","$$spies","debounce","throttle","ScrollSpyFactory","isWindowSpy","scrollEl","scrollId","$$count","activeTarget","debouncedCheckPosition","throttledCheckPosition","debouncedCheckOffsets","viewportHeight","$scrollspy","trackedElements","$trackedElements","sortedElements","checkOffsets","$off","Math","max","innerHeight","docEl","$activateElement","$getTrackedElement","source","filter","obj","trackedElement","targetElement","querySelector","sort","b","trackElement","untrackElement","toDelete","activate","scrollspy","multiple","caretHtml","placeholder","SelectFactory","$matches","$activeIndex","$isMultiple","$activate","$isVisible","$isActive","isArray","$getIndex","$emit","minLength","$viewValue","$onElementMouseDown","parsedOptions","ngOptions","watchedOptions","run","put","$tab","templateUrl","bsTabs","panes","active","activePane","setActive","timeType","timeFormat","minTime","maxTime","hourStep","minuteStep","timepickerFactory","createSelection","start","end","createTextRange","selRange","collapse","moveStart","moveEnd","setSelectionRange","selectionStart","selectionEnd","$timepicker","selectedIndex","hour","meridian","minute","getMinutes","second","getSeconds","millisecond","getMilliseconds","formats","$moveIndex","$switchMeridian","switchMeridian","$isBuilt","midIndex","$isDisabled","minutes","showAM","isAM","selectedTime","newDate","hoursLength","minutesLength","lateralMove","count","timepicker","parsedTime","TooltipFactory","getPosition","getCalculatedOffset","actualWidth","actualHeight","hoverState","cache","tipLinker","tipElement","tipTemplate","isNumber","triggers","$onFocusKeyUp","elementPosition","tipWidth","tipHeight","tipPosition","tooltip","bsTooltip","limit","TypeaheadFactory","$typeahead","typeahead"],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"angular-strap.min.js","sources":["angular-strap.js","angular-strap.tpl.js"],"names":["window","document","angular","module","provider","defaults","this","offsetTop","$get","$window","dimensions","AffixFactory","element","config","getRequiredAffixClass","unpin","position","elementHeight","scrollTop","getScrollTop","scrollHeight","getScrollHeight","top","offsetBottom","initialAffixTop","targetEl","pageYOffset","body","$affix","options","extend","target","reset","initialOffsetTop","affixed","parent","offsetParent","match","i","offset","css","height","init","on","checkPosition","checkPositionWithEventLoop","destroy","off","setTimeout","affix","removeClass","addClass","offsetUnpin","bodyEl","offsetHeight","directive","restrict","require","link","scope","attr","affixTarget","$element","forEach","key","isDefined","$on","controller","animation","prefixClass","placement","template","container","backdrop","keyboard","show","duration","type","$modal","$timeout","AlertFactory","$alert","$scope","hide","$location","$sce","requestAnimationFrame","$observe","newValue","getTrustedHtml","bsAlert","$watch","isObject","content","alert","trigger","toggle","contentTemplate","html","AsideFactory","$aside","bsAside","aside","activeClass","toggleEvent","compile","removeAttr","children","querySelectorAll","child","childEl","ngModel","$button","$$animateReflow","constantValueRegExp","isInput","nodeName","activeElement","trueValue","test","$eval","falseValue","hasExoticValues","$parsers","push","viewValue","$render","isActive","equals","$modelValue","checked","toggleClass","bind","$apply","$setViewValue","hasClass","value","delay","useNative","dateType","dateFormat","autoclose","minDate","Infinity","maxDate","startView","minView","startWeek","$document","$rootScope","$locale","dateFilter","datepickerViews","$tooltip","DatepickerFactory","updateSelected","el","selected","$datepicker","$isSelected","date","focusElement","focus","parentScope","$options","pickerViews","$views","views","viewDate","$mode","$picker","$select","select","$selectPane","$toggleMode","setMode","length","update","isDate","isNaN","getTime","$date","call","$build","keep","$dateValue","Date","setFullYear","getFullYear","getMonth","getDate","year","month","mode","pristine","built","build","$updateSelected","l","rows","isSelected","steps","targetDate","UTC","day","getUTCFullYear","getUTCMonth","getUTCDate","$onMouseDown","evt","preventDefault","stopPropagation","isTouch","toLowerCase","triggerHandler","$onKeyDown","keyCode","shiftKey","altKey","onKeyDown","$digest","_init","isNative","prop","_destroy","_show","_hide","blur","navigator","userAgent","lang","id","$parse","$q","$dateParser","datepicker","today","isString","substr","dateParser","format","unshift","$setValidity","parsedDate","parse","isValid","toISOString","$formatters","modelValue","val","split","arr","size","arrays","splice","dayFormat","daySplit","picker","weekDaysMin","DATETIME_FORMATS","SHORTDAY","weekDaysLabels","slice","concat","weekDaysLabelsHtml","trustAsHtml","join","startDate","getTimezoneOffset","force","firstDayOfMonth","firstDate","getDay","days","label","muted","disabled","isDisabled","title","labels","actualTime","name","months","lastDate","actualMonth","setMonth","parseInt","firstYear","years","actualYear","setYear","Array","prototype","DropdownFactory","onBodyClick","$dropdown","items","index","matchesSelector","isUndefined","eq","Element","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","bsDropdown","dropdown","proto","strict","DateParserFactory","setMapForFormat","keys","Object","setFnMap","map","sortedMap","clonedFormat","search","v","escapeReservedSymbols","text","replace","regExpForFormat","regExpMap","re","RegExp","regex","setMap","sss","ss","s","mm","m","HH","H","hh","h","a","EEEE","DAY","EEE","dd","d","MMMM","MONTH","MMM","SHORTMONTH","MM","M","yyyy","yy","setMilliseconds","setSeconds","setMinutes","setHours","setDate","hours","getHours","indexOf","y","$format","baseDate","matches","exec","constant","func","wait","immediate","timeout","args","context","timestamp","result","arguments","later","last","apply","callNow","previous","leading","now","remaining","clearTimeout","trailing","factory","fn","extra","currentStyle","getComputedStyle","style","parseFloat","boxRect","getBoundingClientRect","docElement","ownerDocument","width","offsetWidth","documentElement","clientTop","left","pageXOffset","scrollLeft","clientLeft","offsetParentElement","offsetParentRect","outer","regexp","ParseOptionsFactory","parseValues","values","locals","valueName","displayFn","valueFn","$parseOptions","$values","keyName","groupByFn","valuesFn","$match","when","then","backdropAnimation","$compile","$templateCache","$http","$animate","ModalFactory","hideOnBackdropClick","currentTarget","$promise","fetchTemplate","$new","$hide","$$postDigest","$show","$toggle","templateEl","contentEl","findElement","next","remove","outerHTML","modalLinker","modalElement","backdropElement","data","htmlReplaceRegExp","trim","$destroy","after","display","enter","bodyElement","$isShown","$$phase","$onKeyUp","leave","which","query","get","res","put","String","bsModal","modal","routeAttr","$navbar","path","liElements","li","liElement","pattern","PopoverFactory","$popover","oldValue","popover","$applyPlacement","bsPopover","spies","$$spies","debounce","throttle","ScrollSpyFactory","isWindowSpy","scrollEl","windowEl","scrollId","$$count","activeTarget","debouncedCheckPosition","throttledCheckPosition","debouncedCheckOffsets","viewportHeight","$scrollspy","trackedElements","$trackedElements","sortedElements","checkOffsets","$off","Math","max","innerHeight","docEl","$activateElement","$getTrackedElement","source","filter","obj","trackedElement","targetElement","querySelector","sort","b","trackElement","untrackElement","toDelete","activate","scrollspy","multiple","caretHtml","placeholder","SelectFactory","$matches","$activeIndex","$isMultiple","$activate","$isVisible","$isActive","$updateActiveIndex","$emit","isArray","$getIndex","minLength","$viewValue","$onElementMouseDown","inputEl","parsedOptions","ngOptions","watchedOptions","run","$tab","templateUrl","bsTabs","panes","active","activePane","setActive","timeType","timeFormat","minTime","maxTime","hourStep","minuteStep","timepickerFactory","createSelection","start","end","createTextRange","selRange","collapse","moveStart","moveEnd","setSelectionRange","selectionStart","selectionEnd","$timepicker","selectedIndex","hour","meridian","minute","getMinutes","second","getSeconds","millisecond","getMilliseconds","formats","$moveIndex","$switchMeridian","switchMeridian","$isBuilt","midIndex","$isDisabled","minutes","showAM","isAM","selectedTime","newDate","hoursLength","minutesLength","lateralMove","count","timepicker","parsedTime","TooltipFactory","getPosition","getCalculatedOffset","actualWidth","actualHeight","hoverState","tipLinker","tipElement","tipTemplate","tipContainer","isNumber","triggers","$onFocusKeyUp","elementPosition","tipWidth","tipHeight","tipPosition","tooltip","bsTooltip","limit","TypeaheadFactory","$typeahead","typeahead"],"mappings":"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"}
\ No newline at end of file
diff --git a/dist/angular-strap.tpl.js b/dist/angular-strap.tpl.js
index c77735cce..cba05e3a9 100644
--- a/dist/angular-strap.tpl.js
+++ b/dist/angular-strap.tpl.js
@@ -1,8 +1,8 @@
/**
* angular-strap
- * @version v2.0.0-rc.2 - 2014-01-29
+ * @version v2.0.0-rc.3 - 2014-02-10
* @link http://mgcrea.github.io/angular-strap
- * @author [object Object]
+ * @author Olivier Louvignes (olivier@mg-crea.com)
* @license MIT License, http://www.opensource.org/licenses/MIT
*/
(function(window, document, undefined) {
@@ -10,7 +10,7 @@
// Source: dist/modules/alert.tpl.js
angular.module('mgcrea.ngStrap.alert').run(['$templateCache', function($templateCache) {
$templateCache.put('alert/alert.tpl.html',
- "
"
+ "
"
);
}]);
@@ -50,7 +50,7 @@ $templateCache.put('modal/modal.tpl.html',
// Source: dist/modules/popover.tpl.js
angular.module('mgcrea.ngStrap.popover').run(['$templateCache', function($templateCache) {
$templateCache.put('popover/popover.tpl.html',
- ""
+ ""
);
}]);
@@ -82,7 +82,7 @@ $templateCache.put('timepicker/timepicker.tpl.html',
// Source: dist/modules/tooltip.tpl.js
angular.module('mgcrea.ngStrap.tooltip').run(['$templateCache', function($templateCache) {
$templateCache.put('tooltip/tooltip.tpl.html',
- ""
+ ""
);
}]);
diff --git a/dist/angular-strap.tpl.min.js b/dist/angular-strap.tpl.min.js
index 835135e56..1c1aad394 100644
--- a/dist/angular-strap.tpl.min.js
+++ b/dist/angular-strap.tpl.min.js
@@ -1,9 +1,9 @@
/**
* angular-strap
- * @version v2.0.0-rc.2 - 2014-01-29
+ * @version v2.0.0-rc.3 - 2014-02-10
* @link http://mgcrea.github.io/angular-strap
- * @author [object Object]
+ * @author Olivier Louvignes (olivier@mg-crea.com)
* @license MIT License, http://www.opensource.org/licenses/MIT
*/
-!function(){"use strict";angular.module("mgcrea.ngStrap.alert").run(["$templateCache",function(a){a.put("alert/alert.tpl.html",'
')}]),angular.module("mgcrea.ngStrap.aside").run(["$templateCache",function(a){a.put("aside/aside.tpl.html",'')}]),angular.module("mgcrea.ngStrap.datepicker").run(["$templateCache",function(a){a.put("datepicker/datepicker.tpl.html",'')}]),angular.module("mgcrea.ngStrap.dropdown").run(["$templateCache",function(a){a.put("dropdown/dropdown.tpl.html",'')}]),angular.module("mgcrea.ngStrap.modal").run(["$templateCache",function(a){a.put("modal/modal.tpl.html",'')}]),angular.module("mgcrea.ngStrap.popover").run(["$templateCache",function(a){a.put("popover/popover.tpl.html",'')}]),angular.module("mgcrea.ngStrap.select").run(["$templateCache",function(a){a.put("select/select.tpl.html",'')}]),angular.module("mgcrea.ngStrap.tab").run(["$templateCache",function(a){a.put("tab/tab.tpl.html",'')}]),angular.module("mgcrea.ngStrap.timepicker").run(["$templateCache",function(a){a.put("timepicker/timepicker.tpl.html",'')}]),angular.module("mgcrea.ngStrap.tooltip").run(["$templateCache",function(a){a.put("tooltip/tooltip.tpl.html",'')}]),angular.module("mgcrea.ngStrap.typeahead").run(["$templateCache",function(a){a.put("typeahead/typeahead.tpl.html",'')}])}(window,document);
+!function(){"use strict";angular.module("mgcrea.ngStrap.alert").run(["$templateCache",function(a){a.put("alert/alert.tpl.html",'
')}]),angular.module("mgcrea.ngStrap.aside").run(["$templateCache",function(a){a.put("aside/aside.tpl.html",'')}]),angular.module("mgcrea.ngStrap.datepicker").run(["$templateCache",function(a){a.put("datepicker/datepicker.tpl.html",'')}]),angular.module("mgcrea.ngStrap.dropdown").run(["$templateCache",function(a){a.put("dropdown/dropdown.tpl.html",'')}]),angular.module("mgcrea.ngStrap.modal").run(["$templateCache",function(a){a.put("modal/modal.tpl.html",'')}]),angular.module("mgcrea.ngStrap.popover").run(["$templateCache",function(a){a.put("popover/popover.tpl.html",'')}]),angular.module("mgcrea.ngStrap.select").run(["$templateCache",function(a){a.put("select/select.tpl.html",'')}]),angular.module("mgcrea.ngStrap.tab").run(["$templateCache",function(a){a.put("tab/tab.tpl.html",'')}]),angular.module("mgcrea.ngStrap.timepicker").run(["$templateCache",function(a){a.put("timepicker/timepicker.tpl.html",'')}]),angular.module("mgcrea.ngStrap.tooltip").run(["$templateCache",function(a){a.put("tooltip/tooltip.tpl.html",'')}]),angular.module("mgcrea.ngStrap.typeahead").run(["$templateCache",function(a){a.put("typeahead/typeahead.tpl.html",'')}])}(window,document);
//# sourceMappingURL=angular-strap.tpl.min.map
\ No newline at end of file
diff --git a/dist/angular-strap.tpl.min.map b/dist/angular-strap.tpl.min.map
index 70be4bd0a..e30851a54 100644
--- a/dist/angular-strap.tpl.min.map
+++ b/dist/angular-strap.tpl.min.map
@@ -1 +1 @@
-{"version":3,"file":"angular-strap.tpl.min.js","sources":["angular-strap.tpl.js"],"names":["angular","module","run","$templateCache","put","window","document"],"mappings":"CAAA,WACA,YAEAA,SAAQC,OAAO,wBAAwBC,KAAK,iBAAkB,SAASC,GACvEA,EAAeC,IAAI,uBACf,8OAMJJ,QAAQC,OAAO,wBAAwBC,KAAK,iBAAkB,SAASC,GACvEA,EAAeC,IAAI,uBACf,gcAMJJ,QAAQC,OAAO,6BAA6BC,KAAK,iBAAkB,SAASC,GAC5EA,EAAeC,IAAI,iCACf,gtCAMJJ,QAAQC,OAAO,2BAA2BC,KAAK,iBAAkB,SAASC,GAC1EA,EAAeC,IAAI,6BACf,qSAMJJ,QAAQC,OAAO,wBAAwBC,KAAK,iBAAkB,SAASC,GACvEA,EAAeC,IAAI,uBACf,gcAMJJ,QAAQC,OAAO,0BAA0BC,KAAK,iBAAkB,SAASC,GACzEA,EAAeC,IAAI,2BACf,iMAMJJ,QAAQC,OAAO,yBAAyBC,KAAK,iBAAkB,SAASC,GACxEA,EAAeC,IAAI,yBACf,gaAMJJ,QAAQC,OAAO,sBAAsBC,KAAK,iBAAkB,SAASC,GACrEA,EAAeC,IAAI,mBACf,iYAMJJ,QAAQC,OAAO,6BAA6BC,KAAK,iBAAkB,SAASC,GAC5EA,EAAeC,IAAI,iCACf,olEAMJJ,QAAQC,OAAO,0BAA0BC,KAAK,iBAAkB,SAASC,GACzEA,EAAeC,IAAI,2BACf,oIAMJJ,QAAQC,OAAO,4BAA4BC,KAAK,iBAAkB,SAASC,GAC3EA,EAAeC,IAAI,+BACf,ySAKDC,OAAQC"}
\ No newline at end of file
+{"version":3,"file":"angular-strap.tpl.min.js","sources":["angular-strap.tpl.js"],"names":["angular","module","run","$templateCache","put","window","document"],"mappings":"CAAA,WACA,YAEAA,SAAQC,OAAO,wBAAwBC,KAAK,iBAAkB,SAASC,GACvEA,EAAeC,IAAI,uBACf,gQAMJJ,QAAQC,OAAO,wBAAwBC,KAAK,iBAAkB,SAASC,GACvEA,EAAeC,IAAI,uBACf,gcAMJJ,QAAQC,OAAO,6BAA6BC,KAAK,iBAAkB,SAASC,GAC5EA,EAAeC,IAAI,iCACf,gtCAMJJ,QAAQC,OAAO,2BAA2BC,KAAK,iBAAkB,SAASC,GAC1EA,EAAeC,IAAI,6BACf,qSAMJJ,QAAQC,OAAO,wBAAwBC,KAAK,iBAAkB,SAASC,GACvEA,EAAeC,IAAI,uBACf,gcAMJJ,QAAQC,OAAO,0BAA0BC,KAAK,iBAAkB,SAASC,GACzEA,EAAeC,IAAI,2BACf,+KAMJJ,QAAQC,OAAO,yBAAyBC,KAAK,iBAAkB,SAASC,GACxEA,EAAeC,IAAI,yBACf,gaAMJJ,QAAQC,OAAO,sBAAsBC,KAAK,iBAAkB,SAASC,GACrEA,EAAeC,IAAI,mBACf,iYAMJJ,QAAQC,OAAO,6BAA6BC,KAAK,iBAAkB,SAASC,GAC5EA,EAAeC,IAAI,iCACf,olEAMJJ,QAAQC,OAAO,0BAA0BC,KAAK,iBAAkB,SAASC,GACzEA,EAAeC,IAAI,2BACf,uIAMJJ,QAAQC,OAAO,4BAA4BC,KAAK,iBAAkB,SAASC,GAC3EA,EAAeC,IAAI,+BACf,ySAKDC,OAAQC"}
\ No newline at end of file
diff --git a/dist/modules/affix.js b/dist/modules/affix.js
index 197b3faf6..63fa58d07 100644
--- a/dist/modules/affix.js
+++ b/dist/modules/affix.js
@@ -1,8 +1,8 @@
/**
* angular-strap
- * @version v2.0.0-rc.2 - 2014-01-29
+ * @version v2.0.0-rc.3 - 2014-02-10
* @link http://mgcrea.github.io/angular-strap
- * @author [object Object]
+ * @author Olivier Louvignes (olivier@mg-crea.com)
* @license MIT License, http://www.opensource.org/licenses/MIT
*/
'use strict';
@@ -12,11 +12,11 @@ angular.module('mgcrea.ngStrap.affix', ['mgcrea.ngStrap.helpers.dimensions']).pr
'$window',
'dimensions',
function ($window, dimensions) {
- var windowEl = angular.element($window);
var bodyEl = angular.element($window.document.body);
function AffixFactory(element, config) {
var $affix = {};
var options = angular.extend({}, defaults, config);
+ var targetEl = options.target;
var reset = 'affix affix-top affix-bottom', initialAffixTop = 0, initialOffsetTop = 0, affixed = null, unpin = null;
var parent = element.parent();
if (options.offsetParent) {
@@ -47,27 +47,27 @@ angular.module('mgcrea.ngStrap.affix', ['mgcrea.ngStrap.helpers.dimensions']).pr
var offsetBottom = 0;
if (options.offsetBottom) {
if (options.offsetParent && options.offsetBottom.match(/^[-+]\d+$/)) {
- offsetBottom = $window.document.body.scrollHeight - (dimensions.offset(parent[0]).top + dimensions.height(parent[0])) + options.offsetBottom * 1 + 1;
+ offsetBottom = getScrollHeight() - (dimensions.offset(parent[0]).top + dimensions.height(parent[0])) + options.offsetBottom * 1 + 1;
} else {
offsetBottom = options.offsetBottom * 1;
}
}
$affix.init = function () {
initialOffsetTop = dimensions.offset(element[0]).top + initialAffixTop;
- windowEl.on('scroll', this.checkPosition);
- windowEl.on('click', this.checkPositionWithEventLoop);
+ targetEl.on('scroll', this.checkPosition);
+ targetEl.on('click', this.checkPositionWithEventLoop);
this.checkPosition();
this.checkPositionWithEventLoop();
};
$affix.destroy = function () {
- windowEl.off('scroll', this.checkPosition);
- windowEl.off('click', this.checkPositionWithEventLoop);
+ targetEl.off('scroll', this.checkPosition);
+ targetEl.off('click', this.checkPositionWithEventLoop);
};
$affix.checkPositionWithEventLoop = function () {
setTimeout(this.checkPosition, 1);
};
$affix.checkPosition = function () {
- var scrollTop = $window.pageYOffset;
+ var scrollTop = getScrollTop();
var position = dimensions.offset(element[0]);
var elementHeight = dimensions.height(element[0]);
var affix = getRequiredAffixClass(unpin, position, elementHeight);
@@ -94,8 +94,8 @@ angular.module('mgcrea.ngStrap.affix', ['mgcrea.ngStrap.helpers.dimensions']).pr
}
};
function getRequiredAffixClass(unpin, position, elementHeight) {
- var scrollTop = $window.pageYOffset;
- var scrollHeight = $window.document.body.scrollHeight;
+ var scrollTop = getScrollTop();
+ var scrollHeight = getScrollHeight();
if (scrollTop <= offsetTop) {
return 'top';
} else if (unpin !== null && scrollTop + unpin <= position.top) {
@@ -106,6 +106,12 @@ angular.module('mgcrea.ngStrap.affix', ['mgcrea.ngStrap.helpers.dimensions']).pr
return 'middle';
}
}
+ function getScrollTop() {
+ return targetEl[0] === $window ? $window.pageYOffset : targetEl[0] === $window;
+ }
+ function getScrollHeight() {
+ return targetEl[0] === $window ? $window.document.body.scrollHeight : targetEl[0].scrollHeight;
+ }
$affix.init();
return $affix;
}
@@ -114,14 +120,16 @@ angular.module('mgcrea.ngStrap.affix', ['mgcrea.ngStrap.helpers.dimensions']).pr
];
}).directive('bsAffix', [
'$affix',
- 'dimensions',
- function ($affix, dimensions) {
+ '$window',
+ function ($affix, $window) {
return {
restrict: 'EAC',
- link: function postLink(scope, element, attr) {
+ require: '^?bsAffixTarget',
+ link: function postLink(scope, element, attr, affixTarget) {
var options = {
scope: scope,
- offsetTop: 'auto'
+ offsetTop: 'auto',
+ target: affixTarget ? affixTarget.$element : angular.element($window)
};
angular.forEach([
'offsetTop',
@@ -140,4 +148,13 @@ angular.module('mgcrea.ngStrap.affix', ['mgcrea.ngStrap.helpers.dimensions']).pr
}
};
}
-]);
\ No newline at end of file
+]).directive('bsAffixTarget', function () {
+ return {
+ controller: [
+ '$element',
+ function ($element) {
+ this.$element = $element;
+ }
+ ]
+ };
+});
\ No newline at end of file
diff --git a/dist/modules/affix.min.js b/dist/modules/affix.min.js
index d50e5cc87..df881e8f6 100644
--- a/dist/modules/affix.min.js
+++ b/dist/modules/affix.min.js
@@ -1,9 +1,9 @@
/**
* angular-strap
- * @version v2.0.0-rc.2 - 2014-01-29
+ * @version v2.0.0-rc.3 - 2014-02-10
* @link http://mgcrea.github.io/angular-strap
- * @author [object Object]
+ * @author Olivier Louvignes (olivier@mg-crea.com)
* @license MIT License, http://www.opensource.org/licenses/MIT
*/
-"use strict";angular.module("mgcrea.ngStrap.affix",["mgcrea.ngStrap.helpers.dimensions"]).provider("$affix",function(){var a=this.defaults={offsetTop:"auto"};this.$get=["$window","dimensions",function(b,c){function d(d,g){function h(a,c,d){var e=b.pageYOffset,f=b.document.body.scrollHeight;return r>=e?"top":null!==a&&e+a<=c.top?"middle":null!==s&&c.top+d+l>=f-s?"bottom":"middle"}var i={},j=angular.extend({},a,g),k="affix affix-top affix-bottom",l=0,m=0,n=null,o=null,p=d.parent();if(j.offsetParent)if(j.offsetParent.match(/^\d+$/))for(var q=0;q<1*j.offsetParent-1;q++)p=p.parent();else p=angular.element(j.offsetParent);var r=0;j.offsetTop&&("auto"===j.offsetTop&&(j.offsetTop="+0"),j.offsetTop.match(/^[-+]\d+$/)?(l-=1*j.offsetTop,r=j.offsetParent?c.offset(p[0]).top+1*j.offsetTop:c.offset(d[0]).top-c.css(d[0],"marginTop",!0)+1*j.offsetTop):r=1*j.offsetTop);var s=0;return j.offsetBottom&&(s=j.offsetParent&&j.offsetBottom.match(/^[-+]\d+$/)?b.document.body.scrollHeight-(c.offset(p[0]).top+c.height(p[0]))+1*j.offsetBottom+1:1*j.offsetBottom),i.init=function(){m=c.offset(d[0]).top+l,e.on("scroll",this.checkPosition),e.on("click",this.checkPositionWithEventLoop),this.checkPosition(),this.checkPositionWithEventLoop()},i.destroy=function(){e.off("scroll",this.checkPosition),e.off("click",this.checkPositionWithEventLoop)},i.checkPositionWithEventLoop=function(){setTimeout(this.checkPosition,1)},i.checkPosition=function(){var a=b.pageYOffset,e=c.offset(d[0]),g=c.height(d[0]),i=h(o,e,g);n!==i&&(n=i,d.removeClass(k).addClass("affix"+("middle"!==i?"-"+i:"")),"top"===i?(o=null,d.css("position",j.offsetParent?"":"relative"),d.css("top","")):"bottom"===i?(o=j.offsetUnpin?-(1*j.offsetUnpin):e.top-a,d.css("position",j.offsetParent?"":"relative"),d.css("top",j.offsetParent?"":f[0].offsetHeight-s-g-m+"px")):(o=null,d.css("position","fixed"),d.css("top",l+"px")))},i.init(),i}var e=angular.element(b),f=angular.element(b.document.body);return d}]}).directive("bsAffix",["$affix","dimensions",function(a){return{restrict:"EAC",link:function(b,c,d){var e={scope:b,offsetTop:"auto"};angular.forEach(["offsetTop","offsetBottom","offsetParent","offsetUnpin"],function(a){angular.isDefined(d[a])&&(e[a]=d[a])});var f=a(c,e);b.$on("$destroy",function(){e=null,f=null})}}}]);
+"use strict";angular.module("mgcrea.ngStrap.affix",["mgcrea.ngStrap.helpers.dimensions"]).provider("$affix",function(){var a=this.defaults={offsetTop:"auto"};this.$get=["$window","dimensions",function(b,c){function d(d,f){function g(a,b,c){var d=h(),e=i();return t>=d?"top":null!==a&&d+a<=b.top?"middle":null!==u&&b.top+c+n>=e-u?"bottom":"middle"}function h(){return l[0]===b?b.pageYOffset:l[0]===b}function i(){return l[0]===b?b.document.body.scrollHeight:l[0].scrollHeight}var j={},k=angular.extend({},a,f),l=k.target,m="affix affix-top affix-bottom",n=0,o=0,p=null,q=null,r=d.parent();if(k.offsetParent)if(k.offsetParent.match(/^\d+$/))for(var s=0;s<1*k.offsetParent-1;s++)r=r.parent();else r=angular.element(k.offsetParent);var t=0;k.offsetTop&&("auto"===k.offsetTop&&(k.offsetTop="+0"),k.offsetTop.match(/^[-+]\d+$/)?(n-=1*k.offsetTop,t=k.offsetParent?c.offset(r[0]).top+1*k.offsetTop:c.offset(d[0]).top-c.css(d[0],"marginTop",!0)+1*k.offsetTop):t=1*k.offsetTop);var u=0;return k.offsetBottom&&(u=k.offsetParent&&k.offsetBottom.match(/^[-+]\d+$/)?i()-(c.offset(r[0]).top+c.height(r[0]))+1*k.offsetBottom+1:1*k.offsetBottom),j.init=function(){o=c.offset(d[0]).top+n,l.on("scroll",this.checkPosition),l.on("click",this.checkPositionWithEventLoop),this.checkPosition(),this.checkPositionWithEventLoop()},j.destroy=function(){l.off("scroll",this.checkPosition),l.off("click",this.checkPositionWithEventLoop)},j.checkPositionWithEventLoop=function(){setTimeout(this.checkPosition,1)},j.checkPosition=function(){var a=h(),b=c.offset(d[0]),f=c.height(d[0]),i=g(q,b,f);p!==i&&(p=i,d.removeClass(m).addClass("affix"+("middle"!==i?"-"+i:"")),"top"===i?(q=null,d.css("position",k.offsetParent?"":"relative"),d.css("top","")):"bottom"===i?(q=k.offsetUnpin?-(1*k.offsetUnpin):b.top-a,d.css("position",k.offsetParent?"":"relative"),d.css("top",k.offsetParent?"":e[0].offsetHeight-u-f-o+"px")):(q=null,d.css("position","fixed"),d.css("top",n+"px")))},j.init(),j}var e=angular.element(b.document.body);return d}]}).directive("bsAffix",["$affix","$window",function(a,b){return{restrict:"EAC",require:"^?bsAffixTarget",link:function(c,d,e,f){var g={scope:c,offsetTop:"auto",target:f?f.$element:angular.element(b)};angular.forEach(["offsetTop","offsetBottom","offsetParent","offsetUnpin"],function(a){angular.isDefined(e[a])&&(g[a]=e[a])});var h=a(d,g);c.$on("$destroy",function(){g=null,h=null})}}}]).directive("bsAffixTarget",function(){return{controller:["$element",function(a){this.$element=a}]}});
//# sourceMappingURL=affix.min.map
\ No newline at end of file
diff --git a/dist/modules/affix.min.map b/dist/modules/affix.min.map
index 5f728da4b..b676e09a1 100644
--- a/dist/modules/affix.min.map
+++ b/dist/modules/affix.min.map
@@ -1 +1 @@
-{"version":3,"file":"affix.min.js","sources":["affix.js"],"names":["angular","module","provider","defaults","this","offsetTop","$get","$window","dimensions","AffixFactory","element","config","getRequiredAffixClass","unpin","position","elementHeight","scrollTop","pageYOffset","scrollHeight","document","body","top","offsetBottom","initialAffixTop","$affix","options","extend","reset","initialOffsetTop","affixed","parent","offsetParent","match","i","offset","css","height","init","windowEl","on","checkPosition","checkPositionWithEventLoop","destroy","off","setTimeout","affix","removeClass","addClass","offsetUnpin","bodyEl","offsetHeight","directive","restrict","link","scope","attr","forEach","key","isDefined","$on"],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"affix.min.js","sources":["affix.js"],"names":["angular","module","provider","defaults","this","offsetTop","$get","$window","dimensions","AffixFactory","element","config","getRequiredAffixClass","unpin","position","elementHeight","scrollTop","getScrollTop","scrollHeight","getScrollHeight","top","offsetBottom","initialAffixTop","targetEl","pageYOffset","document","body","$affix","options","extend","target","reset","initialOffsetTop","affixed","parent","offsetParent","match","i","offset","css","height","init","on","checkPosition","checkPositionWithEventLoop","destroy","off","setTimeout","affix","removeClass","addClass","offsetUnpin","bodyEl","offsetHeight","directive","restrict","require","link","scope","attr","affixTarget","$element","forEach","key","isDefined","$on","controller"],"mappings":"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"}
\ No newline at end of file
diff --git a/dist/modules/alert.js b/dist/modules/alert.js
index 1b1614f8f..0383ac260 100644
--- a/dist/modules/alert.js
+++ b/dist/modules/alert.js
@@ -1,8 +1,8 @@
/**
* angular-strap
- * @version v2.0.0-rc.2 - 2014-01-29
+ * @version v2.0.0-rc.3 - 2014-02-10
* @link http://mgcrea.github.io/angular-strap
- * @author [object Object]
+ * @author Olivier Louvignes (olivier@mg-crea.com)
* @license MIT License, http://www.opensource.org/licenses/MIT
*/
'use strict';
@@ -79,7 +79,7 @@ angular.module('mgcrea.ngStrap.alert', []).provider('$alert', function () {
'type'
], function (key) {
attr[key] && attr.$observe(key, function (newValue, oldValue) {
- scope[key] = newValue;
+ scope[key] = $sce.getTrustedHtml(newValue);
});
});
attr.bsAlert && scope.$watch(attr.bsAlert, function (newValue, oldValue) {
diff --git a/dist/modules/alert.min.js b/dist/modules/alert.min.js
index d0958e718..64fb8515f 100644
--- a/dist/modules/alert.min.js
+++ b/dist/modules/alert.min.js
@@ -1,9 +1,9 @@
/**
* angular-strap
- * @version v2.0.0-rc.2 - 2014-01-29
+ * @version v2.0.0-rc.3 - 2014-02-10
* @link http://mgcrea.github.io/angular-strap
- * @author [object Object]
+ * @author Olivier Louvignes (olivier@mg-crea.com)
* @license MIT License, http://www.opensource.org/licenses/MIT
*/
-"use strict";angular.module("mgcrea.ngStrap.alert",[]).provider("$alert",function(){var a=this.defaults={animation:"am-fade",prefixClass:"alert",placement:null,template:"alert/alert.tpl.html",container:!1,element:null,backdrop:!1,keyboard:!0,show:!0,duration:!1,type:!1};this.$get=["$modal","$timeout",function(b,c){function d(d){var e={},f=angular.extend({},a,d);e=b(f),f.type&&(e.$scope.type=f.type);var g=e.show;return f.duration&&(e.show=function(){g(),c(function(){e.hide()},1e3*f.duration)}),e}return d}]}).directive("bsAlert",["$window","$location","$sce","$alert",function(a,b,c,d){a.requestAnimationFrame||a.setTimeout;return{restrict:"EAC",scope:!0,link:function(a,b,c){var e={scope:a,element:b,show:!1};angular.forEach(["template","placement","keyboard","html","container","animation","duration"],function(a){angular.isDefined(c[a])&&(e[a]=c[a])}),angular.forEach(["title","content","type"],function(b){c[b]&&c.$observe(b,function(c){a[b]=c})}),c.bsAlert&&a.$watch(c.bsAlert,function(b){angular.isObject(b)?angular.extend(a,b):a.content=b},!0);var f=d(e);b.on(c.trigger||"click",f.toggle),a.$on("$destroy",function(){f.destroy(),e=null,f=null})}}}]),angular.module("mgcrea.ngStrap.alert").run(["$templateCache",function(a){a.put("alert/alert.tpl.html",'
')}]);
+"use strict";angular.module("mgcrea.ngStrap.alert",[]).provider("$alert",function(){var a=this.defaults={animation:"am-fade",prefixClass:"alert",placement:null,template:"alert/alert.tpl.html",container:!1,element:null,backdrop:!1,keyboard:!0,show:!0,duration:!1,type:!1};this.$get=["$modal","$timeout",function(b,c){function d(d){var e={},f=angular.extend({},a,d);e=b(f),f.type&&(e.$scope.type=f.type);var g=e.show;return f.duration&&(e.show=function(){g(),c(function(){e.hide()},1e3*f.duration)}),e}return d}]}).directive("bsAlert",["$window","$location","$sce","$alert",function(a,b,c,d){a.requestAnimationFrame||a.setTimeout;return{restrict:"EAC",scope:!0,link:function(a,b,e){var f={scope:a,element:b,show:!1};angular.forEach(["template","placement","keyboard","html","container","animation","duration"],function(a){angular.isDefined(e[a])&&(f[a]=e[a])}),angular.forEach(["title","content","type"],function(b){e[b]&&e.$observe(b,function(d){a[b]=c.getTrustedHtml(d)})}),e.bsAlert&&a.$watch(e.bsAlert,function(b){angular.isObject(b)?angular.extend(a,b):a.content=b},!0);var g=d(f);b.on(e.trigger||"click",g.toggle),a.$on("$destroy",function(){g.destroy(),f=null,g=null})}}}]),angular.module("mgcrea.ngStrap.alert").run(["$templateCache",function(a){a.put("alert/alert.tpl.html",'
')}]);
//# sourceMappingURL=alert.min.map
\ No newline at end of file
diff --git a/dist/modules/alert.min.map b/dist/modules/alert.min.map
index 3922df967..88b0e12be 100644
--- a/dist/modules/alert.min.map
+++ b/dist/modules/alert.min.map
@@ -1 +1 @@
-{"version":3,"file":"alert.min.js","sources":["alert.js","alert.tpl.js"],"names":["angular","module","provider","defaults","this","animation","prefixClass","placement","template","container","element","backdrop","keyboard","show","duration","type","$get","$modal","$timeout","AlertFactory","config","$alert","options","extend","$scope","hide","directive","$window","$location","$sce","requestAnimationFrame","setTimeout","restrict","scope","link","attr","forEach","key","isDefined","$observe","newValue","bsAlert","$watch","isObject","content","alert","on","trigger","toggle","$on","destroy","run","$templateCache","put"],"mappings":"AAAA,YACAA,SAAQC,OAAO,2BAA4BC,SAAS,SAAU,WAC5D,GAAIC,GAAWC,KAAKD,UAChBE,UAAW,UACXC,YAAa,QACbC,UAAW,KACXC,SAAU,uBACVC,WAAW,EACXC,QAAS,KACTC,UAAU,EACVC,UAAU,EACVC,MAAM,EACNC,UAAU,EACVC,MAAM,EAEVX,MAAKY,MACH,SACA,WACA,SAAUC,EAAQC,GAChB,QAASC,GAAaC,GACpB,GAAIC,MACAC,EAAUtB,QAAQuB,UAAWpB,EAAUiB,EAC3CC,GAASJ,EAAOK,GACZA,EAAQP,OACVM,EAAOG,OAAOT,KAAOO,EAAQP,KAE/B,IAAIF,GAAOQ,EAAOR,IASlB,OARIS,GAAQR,WACVO,EAAOR,KAAO,WACZA,IACAK,EAAS,WACPG,EAAOI,QACa,IAAnBH,EAAQR,YAGRO,EAET,MAAOF,OAGVO,UAAU,WACX,UACA,YACA,OACA,SACA,SAAUC,EAASC,EAAWC,EAAMR,GACNM,EAAQG,uBAAyBH,EAAQI,UACrE,QACEC,SAAU,MACVC,OAAO,EACPC,KAAM,SAAkBD,EAAOvB,EAASyB,GACtC,GAAIb,IACAW,MAAOA,EACPvB,QAASA,EACTG,MAAM,EAEVb,SAAQoC,SACN,WACA,YACA,WACA,OACA,YACA,YACA,YACC,SAAUC,GACPrC,QAAQsC,UAAUH,EAAKE,MACzBf,EAAQe,GAAOF,EAAKE,MAExBrC,QAAQoC,SACN,QACA,UACA,QACC,SAAUC,GACXF,EAAKE,IAAQF,EAAKI,SAASF,EAAK,SAAUG,GACxCP,EAAMI,GAAOG,MAGjBL,EAAKM,SAAWR,EAAMS,OAAOP,EAAKM,QAAS,SAAUD,GAC/CxC,QAAQ2C,SAASH,GACnBxC,QAAQuB,OAAOU,EAAOO,GAEtBP,EAAMW,QAAUJ,IAEjB,EACH,IAAIK,GAAQxB,EAAOC,EACnBZ,GAAQoC,GAAGX,EAAKY,SAAW,QAASF,EAAMG,QAC1Cf,EAAMgB,IAAI,WAAY,WACpBJ,EAAMK,UACN5B,EAAU,KACVuB,EAAQ,YCzFlB7C,QAAQC,OAAO,wBAAwBkD,KAAK,iBAAkB,SAASC,GAGrEA,EAAeC,IAAI,uBACjB"}
\ No newline at end of file
+{"version":3,"file":"alert.min.js","sources":["alert.js","alert.tpl.js"],"names":["angular","module","provider","defaults","this","animation","prefixClass","placement","template","container","element","backdrop","keyboard","show","duration","type","$get","$modal","$timeout","AlertFactory","config","$alert","options","extend","$scope","hide","directive","$window","$location","$sce","requestAnimationFrame","setTimeout","restrict","scope","link","attr","forEach","key","isDefined","$observe","newValue","getTrustedHtml","bsAlert","$watch","isObject","content","alert","on","trigger","toggle","$on","destroy","run","$templateCache","put"],"mappings":"AAAA,YACAA,SAAQC,OAAO,2BAA4BC,SAAS,SAAU,WAC5D,GAAIC,GAAWC,KAAKD,UAChBE,UAAW,UACXC,YAAa,QACbC,UAAW,KACXC,SAAU,uBACVC,WAAW,EACXC,QAAS,KACTC,UAAU,EACVC,UAAU,EACVC,MAAM,EACNC,UAAU,EACVC,MAAM,EAEVX,MAAKY,MACH,SACA,WACA,SAAUC,EAAQC,GAChB,QAASC,GAAaC,GACpB,GAAIC,MACAC,EAAUtB,QAAQuB,UAAWpB,EAAUiB,EAC3CC,GAASJ,EAAOK,GACZA,EAAQP,OACVM,EAAOG,OAAOT,KAAOO,EAAQP,KAE/B,IAAIF,GAAOQ,EAAOR,IASlB,OARIS,GAAQR,WACVO,EAAOR,KAAO,WACZA,IACAK,EAAS,WACPG,EAAOI,QACa,IAAnBH,EAAQR,YAGRO,EAET,MAAOF,OAGVO,UAAU,WACX,UACA,YACA,OACA,SACA,SAAUC,EAASC,EAAWC,EAAMR,GACNM,EAAQG,uBAAyBH,EAAQI,UACrE,QACEC,SAAU,MACVC,OAAO,EACPC,KAAM,SAAkBD,EAAOvB,EAASyB,GACtC,GAAIb,IACAW,MAAOA,EACPvB,QAASA,EACTG,MAAM,EAEVb,SAAQoC,SACN,WACA,YACA,WACA,OACA,YACA,YACA,YACC,SAAUC,GACPrC,QAAQsC,UAAUH,EAAKE,MACzBf,EAAQe,GAAOF,EAAKE,MAExBrC,QAAQoC,SACN,QACA,UACA,QACC,SAAUC,GACXF,EAAKE,IAAQF,EAAKI,SAASF,EAAK,SAAUG,GACxCP,EAAMI,GAAOR,EAAKY,eAAeD,OAGrCL,EAAKO,SAAWT,EAAMU,OAAOR,EAAKO,QAAS,SAAUF,GAC/CxC,QAAQ4C,SAASJ,GACnBxC,QAAQuB,OAAOU,EAAOO,GAEtBP,EAAMY,QAAUL,IAEjB,EACH,IAAIM,GAAQzB,EAAOC,EACnBZ,GAAQqC,GAAGZ,EAAKa,SAAW,QAASF,EAAMG,QAC1ChB,EAAMiB,IAAI,WAAY,WACpBJ,EAAMK,UACN7B,EAAU,KACVwB,EAAQ,YCzFlB9C,QAAQC,OAAO,wBAAwBmD,KAAK,iBAAkB,SAASC,GAGrEA,EAAeC,IAAI,uBACjB"}
\ No newline at end of file
diff --git a/dist/modules/alert.tpl.js b/dist/modules/alert.tpl.js
index d4b7a1b46..b86648c37 100644
--- a/dist/modules/alert.tpl.js
+++ b/dist/modules/alert.tpl.js
@@ -1,15 +1,15 @@
/**
* angular-strap
- * @version v2.0.0-rc.2 - 2014-01-29
+ * @version v2.0.0-rc.3 - 2014-02-10
* @link http://mgcrea.github.io/angular-strap
- * @author [object Object]
+ * @author Olivier Louvignes (olivier@mg-crea.com)
* @license MIT License, http://www.opensource.org/licenses/MIT
*/
angular.module('mgcrea.ngStrap.alert').run(['$templateCache', function($templateCache) {
'use strict';
$templateCache.put('alert/alert.tpl.html',
- "
"
+ "
"
);
}]);
diff --git a/dist/modules/alert.tpl.min.js b/dist/modules/alert.tpl.min.js
index 9c0dfbc55..926803656 100644
--- a/dist/modules/alert.tpl.min.js
+++ b/dist/modules/alert.tpl.min.js
@@ -1,9 +1,9 @@
/**
* angular-strap
- * @version v2.0.0-rc.2 - 2014-01-29
+ * @version v2.0.0-rc.3 - 2014-02-10
* @link http://mgcrea.github.io/angular-strap
- * @author [object Object]
+ * @author Olivier Louvignes (olivier@mg-crea.com)
* @license MIT License, http://www.opensource.org/licenses/MIT
*/
-angular.module("mgcrea.ngStrap.alert").run(["$templateCache",function(a){"use strict";a.put("alert/alert.tpl.html",'
')}]);
+angular.module("mgcrea.ngStrap.alert").run(["$templateCache",function(a){"use strict";a.put("alert/alert.tpl.html",'
')}]);
//# sourceMappingURL=alert.tpl.min.map
\ No newline at end of file
diff --git a/dist/modules/aside.js b/dist/modules/aside.js
index 70688a299..c9fe93cce 100644
--- a/dist/modules/aside.js
+++ b/dist/modules/aside.js
@@ -1,8 +1,8 @@
/**
* angular-strap
- * @version v2.0.0-rc.2 - 2014-01-29
+ * @version v2.0.0-rc.3 - 2014-02-10
* @link http://mgcrea.github.io/angular-strap
- * @author [object Object]
+ * @author Olivier Louvignes (olivier@mg-crea.com)
* @license MIT License, http://www.opensource.org/licenses/MIT
*/
'use strict';
@@ -66,7 +66,7 @@ angular.module('mgcrea.ngStrap.aside', ['mgcrea.ngStrap.modal']).provider('$asid
'content'
], function (key) {
attr[key] && attr.$observe(key, function (newValue, oldValue) {
- scope[key] = newValue;
+ scope[key] = $sce.getTrustedHtml(newValue);
});
});
attr.bsAside && scope.$watch(attr.bsAside, function (newValue, oldValue) {
diff --git a/dist/modules/aside.min.js b/dist/modules/aside.min.js
index 74658e2ef..df96a3d98 100644
--- a/dist/modules/aside.min.js
+++ b/dist/modules/aside.min.js
@@ -1,9 +1,9 @@
/**
* angular-strap
- * @version v2.0.0-rc.2 - 2014-01-29
+ * @version v2.0.0-rc.3 - 2014-02-10
* @link http://mgcrea.github.io/angular-strap
- * @author [object Object]
+ * @author Olivier Louvignes (olivier@mg-crea.com)
* @license MIT License, http://www.opensource.org/licenses/MIT
*/
-"use strict";angular.module("mgcrea.ngStrap.aside",["mgcrea.ngStrap.modal"]).provider("$aside",function(){var a=this.defaults={animation:"am-fade-and-slide-right",prefixClass:"aside",placement:"right",template:"aside/aside.tpl.html",contentTemplate:!1,container:!1,element:null,backdrop:!0,keyboard:!0,html:!1,show:!0};this.$get=["$modal",function(b){function c(c){var d={},e=angular.extend({},a,c);return d=b(e)}return c}]}).directive("bsAside",["$window","$location","$sce","$aside",function(a,b,c,d){a.requestAnimationFrame||a.setTimeout;return{restrict:"EAC",scope:!0,link:function(a,b,c){var e={scope:a,element:b,show:!1};angular.forEach(["template","contentTemplate","placement","backdrop","keyboard","html","container","animation"],function(a){angular.isDefined(c[a])&&(e[a]=c[a])}),angular.forEach(["title","content"],function(b){c[b]&&c.$observe(b,function(c){a[b]=c})}),c.bsAside&&a.$watch(c.bsAside,function(b){angular.isObject(b)?angular.extend(a,b):a.content=b},!0);var f=d(e);b.on(c.trigger||"click",f.toggle),a.$on("$destroy",function(){f.destroy(),e=null,f=null})}}}]),angular.module("mgcrea.ngStrap.aside").run(["$templateCache",function(a){a.put("aside/aside.tpl.html",'')}]);
+"use strict";angular.module("mgcrea.ngStrap.aside",["mgcrea.ngStrap.modal"]).provider("$aside",function(){var a=this.defaults={animation:"am-fade-and-slide-right",prefixClass:"aside",placement:"right",template:"aside/aside.tpl.html",contentTemplate:!1,container:!1,element:null,backdrop:!0,keyboard:!0,html:!1,show:!0};this.$get=["$modal",function(b){function c(c){var d={},e=angular.extend({},a,c);return d=b(e)}return c}]}).directive("bsAside",["$window","$location","$sce","$aside",function(a,b,c,d){a.requestAnimationFrame||a.setTimeout;return{restrict:"EAC",scope:!0,link:function(a,b,e){var f={scope:a,element:b,show:!1};angular.forEach(["template","contentTemplate","placement","backdrop","keyboard","html","container","animation"],function(a){angular.isDefined(e[a])&&(f[a]=e[a])}),angular.forEach(["title","content"],function(b){e[b]&&e.$observe(b,function(d){a[b]=c.getTrustedHtml(d)})}),e.bsAside&&a.$watch(e.bsAside,function(b){angular.isObject(b)?angular.extend(a,b):a.content=b},!0);var g=d(f);b.on(e.trigger||"click",g.toggle),a.$on("$destroy",function(){g.destroy(),f=null,g=null})}}}]),angular.module("mgcrea.ngStrap.aside").run(["$templateCache",function(a){a.put("aside/aside.tpl.html",'')}]);
//# sourceMappingURL=aside.min.map
\ No newline at end of file
diff --git a/dist/modules/aside.min.map b/dist/modules/aside.min.map
index c5c82753c..5a7963b63 100644
--- a/dist/modules/aside.min.map
+++ b/dist/modules/aside.min.map
@@ -1 +1 @@
-{"version":3,"file":"aside.min.js","sources":["aside.js","aside.tpl.js"],"names":["angular","module","provider","defaults","this","animation","prefixClass","placement","template","contentTemplate","container","element","backdrop","keyboard","html","show","$get","$modal","AsideFactory","config","$aside","options","extend","directive","$window","$location","$sce","requestAnimationFrame","setTimeout","restrict","scope","link","attr","forEach","key","isDefined","$observe","newValue","bsAside","$watch","isObject","content","aside","on","trigger","toggle","$on","destroy","run","$templateCache","put"],"mappings":"AAAA,YACAA,SAAQC,OAAO,wBAAyB,yBAAyBC,SAAS,SAAU,WAClF,GAAIC,GAAWC,KAAKD,UAChBE,UAAW,0BACXC,YAAa,QACbC,UAAW,QACXC,SAAU,uBACVC,iBAAiB,EACjBC,WAAW,EACXC,QAAS,KACTC,UAAU,EACVC,UAAU,EACVC,MAAM,EACNC,MAAM,EAEVX,MAAKY,MACH,SACA,SAAUC,GACR,QAASC,GAAaC,GACpB,GAAIC,MACAC,EAAUrB,QAAQsB,UAAWnB,EAAUgB,EAE3C,OADAC,GAASH,EAAOI,GAGlB,MAAOH,OAGVK,UAAU,WACX,UACA,YACA,OACA,SACA,SAAUC,EAASC,EAAWC,EAAMN,GACNI,EAAQG,uBAAyBH,EAAQI,UACrE,QACEC,SAAU,MACVC,OAAO,EACPC,KAAM,SAAkBD,EAAOnB,EAASqB,GACtC,GAAIX,IACAS,MAAOA,EACPnB,QAASA,EACTI,MAAM,EAEVf,SAAQiC,SACN,WACA,kBACA,YACA,WACA,WACA,OACA,YACA,aACC,SAAUC,GACPlC,QAAQmC,UAAUH,EAAKE,MACzBb,EAAQa,GAAOF,EAAKE,MAExBlC,QAAQiC,SACN,QACA,WACC,SAAUC,GACXF,EAAKE,IAAQF,EAAKI,SAASF,EAAK,SAAUG,GACxCP,EAAMI,GAAOG,MAGjBL,EAAKM,SAAWR,EAAMS,OAAOP,EAAKM,QAAS,SAAUD,GAC/CrC,QAAQwC,SAASH,GACnBrC,QAAQsB,OAAOQ,EAAOO,GAEtBP,EAAMW,QAAUJ,IAEjB,EACH,IAAIK,GAAQtB,EAAOC,EACnBV,GAAQgC,GAAGX,EAAKY,SAAW,QAASF,EAAMG,QAC1Cf,EAAMgB,IAAI,WAAY,WACpBJ,EAAMK,UACN1B,EAAU,KACVqB,EAAQ,YC5ElB1C,QAAQC,OAAO,wBAAwB+C,KAAK,iBAAkB,SAASC,GAGrEA,EAAeC,IAAI,uBACjB"}
\ No newline at end of file
+{"version":3,"file":"aside.min.js","sources":["aside.js","aside.tpl.js"],"names":["angular","module","provider","defaults","this","animation","prefixClass","placement","template","contentTemplate","container","element","backdrop","keyboard","html","show","$get","$modal","AsideFactory","config","$aside","options","extend","directive","$window","$location","$sce","requestAnimationFrame","setTimeout","restrict","scope","link","attr","forEach","key","isDefined","$observe","newValue","getTrustedHtml","bsAside","$watch","isObject","content","aside","on","trigger","toggle","$on","destroy","run","$templateCache","put"],"mappings":"AAAA,YACAA,SAAQC,OAAO,wBAAyB,yBAAyBC,SAAS,SAAU,WAClF,GAAIC,GAAWC,KAAKD,UAChBE,UAAW,0BACXC,YAAa,QACbC,UAAW,QACXC,SAAU,uBACVC,iBAAiB,EACjBC,WAAW,EACXC,QAAS,KACTC,UAAU,EACVC,UAAU,EACVC,MAAM,EACNC,MAAM,EAEVX,MAAKY,MACH,SACA,SAAUC,GACR,QAASC,GAAaC,GACpB,GAAIC,MACAC,EAAUrB,QAAQsB,UAAWnB,EAAUgB,EAE3C,OADAC,GAASH,EAAOI,GAGlB,MAAOH,OAGVK,UAAU,WACX,UACA,YACA,OACA,SACA,SAAUC,EAASC,EAAWC,EAAMN,GACNI,EAAQG,uBAAyBH,EAAQI,UACrE,QACEC,SAAU,MACVC,OAAO,EACPC,KAAM,SAAkBD,EAAOnB,EAASqB,GACtC,GAAIX,IACAS,MAAOA,EACPnB,QAASA,EACTI,MAAM,EAEVf,SAAQiC,SACN,WACA,kBACA,YACA,WACA,WACA,OACA,YACA,aACC,SAAUC,GACPlC,QAAQmC,UAAUH,EAAKE,MACzBb,EAAQa,GAAOF,EAAKE,MAExBlC,QAAQiC,SACN,QACA,WACC,SAAUC,GACXF,EAAKE,IAAQF,EAAKI,SAASF,EAAK,SAAUG,GACxCP,EAAMI,GAAOR,EAAKY,eAAeD,OAGrCL,EAAKO,SAAWT,EAAMU,OAAOR,EAAKO,QAAS,SAAUF,GAC/CrC,QAAQyC,SAASJ,GACnBrC,QAAQsB,OAAOQ,EAAOO,GAEtBP,EAAMY,QAAUL,IAEjB,EACH,IAAIM,GAAQvB,EAAOC,EACnBV,GAAQiC,GAAGZ,EAAKa,SAAW,QAASF,EAAMG,QAC1ChB,EAAMiB,IAAI,WAAY,WACpBJ,EAAMK,UACN3B,EAAU,KACVsB,EAAQ,YC5ElB3C,QAAQC,OAAO,wBAAwBgD,KAAK,iBAAkB,SAASC,GAGrEA,EAAeC,IAAI,uBACjB"}
\ No newline at end of file
diff --git a/dist/modules/aside.tpl.js b/dist/modules/aside.tpl.js
index 8b51b4bfc..e2643da89 100644
--- a/dist/modules/aside.tpl.js
+++ b/dist/modules/aside.tpl.js
@@ -1,8 +1,8 @@
/**
* angular-strap
- * @version v2.0.0-rc.2 - 2014-01-29
+ * @version v2.0.0-rc.3 - 2014-02-10
* @link http://mgcrea.github.io/angular-strap
- * @author [object Object]
+ * @author Olivier Louvignes (olivier@mg-crea.com)
* @license MIT License, http://www.opensource.org/licenses/MIT
*/
angular.module('mgcrea.ngStrap.aside').run(['$templateCache', function($templateCache) {
diff --git a/dist/modules/aside.tpl.min.js b/dist/modules/aside.tpl.min.js
index 1187b4ffc..c83e89763 100644
--- a/dist/modules/aside.tpl.min.js
+++ b/dist/modules/aside.tpl.min.js
@@ -1,8 +1,8 @@
/**
* angular-strap
- * @version v2.0.0-rc.2 - 2014-01-29
+ * @version v2.0.0-rc.3 - 2014-02-10
* @link http://mgcrea.github.io/angular-strap
- * @author [object Object]
+ * @author Olivier Louvignes (olivier@mg-crea.com)
* @license MIT License, http://www.opensource.org/licenses/MIT
*/
angular.module("mgcrea.ngStrap.aside").run(["$templateCache",function(a){"use strict";a.put("aside/aside.tpl.html",'')}]);
diff --git a/dist/modules/button.js b/dist/modules/button.js
index 37d31aebe..f4a0eac44 100644
--- a/dist/modules/button.js
+++ b/dist/modules/button.js
@@ -1,12 +1,12 @@
/**
* angular-strap
- * @version v2.0.0-rc.2 - 2014-01-29
+ * @version v2.0.0-rc.3 - 2014-02-10
* @link http://mgcrea.github.io/angular-strap
- * @author [object Object]
+ * @author Olivier Louvignes (olivier@mg-crea.com)
* @license MIT License, http://www.opensource.org/licenses/MIT
*/
'use strict';
-angular.module('mgcrea.ngStrap.button', []).provider('$button', function () {
+angular.module('mgcrea.ngStrap.button', ['ngAnimate']).provider('$button', function () {
var defaults = this.defaults = {
activeClass: 'active',
toggleEvent: 'click'
@@ -31,7 +31,8 @@ angular.module('mgcrea.ngStrap.button', []).provider('$button', function () {
};
}).directive('bsCheckbox', [
'$button',
- function ($button) {
+ '$$animateReflow',
+ function ($button, $$animateReflow) {
var defaults = $button.defaults;
var constantValueRegExp = /^(true|false|\d+)$/;
return {
@@ -60,10 +61,11 @@ angular.module('mgcrea.ngStrap.button', []).provider('$button', function () {
}
controller.$render = function () {
var isActive = angular.equals(controller.$modelValue, trueValue);
- if (isInput) {
- element[0].checked = isActive;
- }
- activeElement.toggleClass(options.activeClass, isActive);
+ $$animateReflow(function () {
+ if (isInput)
+ element[0].checked = isActive;
+ activeElement.toggleClass(options.activeClass, isActive);
+ });
};
element.bind(options.toggleEvent, function () {
scope.$apply(function () {
@@ -94,7 +96,8 @@ angular.module('mgcrea.ngStrap.button', []).provider('$button', function () {
};
}).directive('bsRadio', [
'$button',
- function ($button) {
+ '$$animateReflow',
+ function ($button, $$animateReflow) {
var defaults = $button.defaults;
var constantValueRegExp = /^(true|false|\d+)$/;
return {
@@ -107,10 +110,11 @@ angular.module('mgcrea.ngStrap.button', []).provider('$button', function () {
var value = constantValueRegExp.test(attr.value) ? scope.$eval(attr.value) : attr.value;
controller.$render = function () {
var isActive = angular.equals(controller.$modelValue, value);
- if (isInput) {
- element[0].checked = isActive;
- }
- activeElement.toggleClass(options.activeClass, isActive);
+ $$animateReflow(function () {
+ if (isInput)
+ element[0].checked = isActive;
+ activeElement.toggleClass(options.activeClass, isActive);
+ });
};
element.bind(options.toggleEvent, function () {
scope.$apply(function () {
diff --git a/dist/modules/button.min.js b/dist/modules/button.min.js
index ec738c70f..49bd8e95d 100644
--- a/dist/modules/button.min.js
+++ b/dist/modules/button.min.js
@@ -1,9 +1,9 @@
/**
* angular-strap
- * @version v2.0.0-rc.2 - 2014-01-29
+ * @version v2.0.0-rc.3 - 2014-02-10
* @link http://mgcrea.github.io/angular-strap
- * @author [object Object]
+ * @author Olivier Louvignes (olivier@mg-crea.com)
* @license MIT License, http://www.opensource.org/licenses/MIT
*/
-"use strict";angular.module("mgcrea.ngStrap.button",[]).provider("$button",function(){var a=this.defaults={activeClass:"active",toggleEvent:"click"};this.$get=function(){return{defaults:a}}}).directive("bsCheckboxGroup",function(){return{restrict:"A",require:"ngModel",compile:function(a,b){a.attr("data-toggle","buttons"),a.removeAttr("ng-model");var c=a[0].querySelectorAll('input[type="checkbox"]');angular.forEach(c,function(a){var c=angular.element(a);c.attr("bs-checkbox",""),c.attr("ng-model",b.ngModel+"."+c.attr("value"))})}}}).directive("bsCheckbox",["$button",function(a){var b=a.defaults,c=/^(true|false|\d+)$/;return{restrict:"A",require:"ngModel",link:function(a,d,e,f){var g=b,h="INPUT"===d[0].nodeName,i=h?d.parent():d,j=angular.isDefined(e.trueValue)?e.trueValue:!0;c.test(e.trueValue)&&(j=a.$eval(e.trueValue));var k=angular.isDefined(e.falseValue)?e.falseValue:!1;c.test(e.falseValue)&&(k=a.$eval(e.falseValue));var l="boolean"!=typeof j||"boolean"!=typeof k;l&&(f.$parsers.push(function(a){return a?j:k}),a.$watch(e.ngModel,function(){f.$render()})),f.$render=function(){var a=angular.equals(f.$modelValue,j);h&&(d[0].checked=a),i.toggleClass(g.activeClass,a)},d.bind(g.toggleEvent,function(){a.$apply(function(){h||f.$setViewValue(!i.hasClass("active")),l||f.$render()})})}}}]).directive("bsRadioGroup",function(){return{restrict:"A",require:"ngModel",compile:function(a,b){a.attr("data-toggle","buttons"),a.removeAttr("ng-model");var c=a[0].querySelectorAll('input[type="radio"]');angular.forEach(c,function(a){angular.element(a).attr("bs-radio",""),angular.element(a).attr("ng-model",b.ngModel)})}}}).directive("bsRadio",["$button",function(a){var b=a.defaults,c=/^(true|false|\d+)$/;return{restrict:"A",require:"ngModel",link:function(a,d,e,f){var g=b,h="INPUT"===d[0].nodeName,i=h?d.parent():d,j=c.test(e.value)?a.$eval(e.value):e.value;f.$render=function(){var a=angular.equals(f.$modelValue,j);h&&(d[0].checked=a),i.toggleClass(g.activeClass,a)},d.bind(g.toggleEvent,function(){a.$apply(function(){f.$setViewValue(j),f.$render()})})}}}]);
+"use strict";angular.module("mgcrea.ngStrap.button",["ngAnimate"]).provider("$button",function(){var a=this.defaults={activeClass:"active",toggleEvent:"click"};this.$get=function(){return{defaults:a}}}).directive("bsCheckboxGroup",function(){return{restrict:"A",require:"ngModel",compile:function(a,b){a.attr("data-toggle","buttons"),a.removeAttr("ng-model");var c=a[0].querySelectorAll('input[type="checkbox"]');angular.forEach(c,function(a){var c=angular.element(a);c.attr("bs-checkbox",""),c.attr("ng-model",b.ngModel+"."+c.attr("value"))})}}}).directive("bsCheckbox",["$button","$$animateReflow",function(a,b){var c=a.defaults,d=/^(true|false|\d+)$/;return{restrict:"A",require:"ngModel",link:function(a,e,f,g){var h=c,i="INPUT"===e[0].nodeName,j=i?e.parent():e,k=angular.isDefined(f.trueValue)?f.trueValue:!0;d.test(f.trueValue)&&(k=a.$eval(f.trueValue));var l=angular.isDefined(f.falseValue)?f.falseValue:!1;d.test(f.falseValue)&&(l=a.$eval(f.falseValue));var m="boolean"!=typeof k||"boolean"!=typeof l;m&&(g.$parsers.push(function(a){return a?k:l}),a.$watch(f.ngModel,function(){g.$render()})),g.$render=function(){var a=angular.equals(g.$modelValue,k);b(function(){i&&(e[0].checked=a),j.toggleClass(h.activeClass,a)})},e.bind(h.toggleEvent,function(){a.$apply(function(){i||g.$setViewValue(!j.hasClass("active")),m||g.$render()})})}}}]).directive("bsRadioGroup",function(){return{restrict:"A",require:"ngModel",compile:function(a,b){a.attr("data-toggle","buttons"),a.removeAttr("ng-model");var c=a[0].querySelectorAll('input[type="radio"]');angular.forEach(c,function(a){angular.element(a).attr("bs-radio",""),angular.element(a).attr("ng-model",b.ngModel)})}}}).directive("bsRadio",["$button","$$animateReflow",function(a,b){var c=a.defaults,d=/^(true|false|\d+)$/;return{restrict:"A",require:"ngModel",link:function(a,e,f,g){var h=c,i="INPUT"===e[0].nodeName,j=i?e.parent():e,k=d.test(f.value)?a.$eval(f.value):f.value;g.$render=function(){var a=angular.equals(g.$modelValue,k);b(function(){i&&(e[0].checked=a),j.toggleClass(h.activeClass,a)})},e.bind(h.toggleEvent,function(){a.$apply(function(){g.$setViewValue(k),g.$render()})})}}}]);
//# sourceMappingURL=button.min.map
\ No newline at end of file
diff --git a/dist/modules/button.min.map b/dist/modules/button.min.map
index 6aa51d5c1..363f8701c 100644
--- a/dist/modules/button.min.map
+++ b/dist/modules/button.min.map
@@ -1 +1 @@
-{"version":3,"file":"button.min.js","sources":["button.js"],"names":["angular","module","provider","defaults","this","activeClass","toggleEvent","$get","directive","restrict","require","compile","element","attr","removeAttr","children","querySelectorAll","forEach","child","childEl","ngModel","$button","constantValueRegExp","link","scope","controller","options","isInput","nodeName","activeElement","parent","trueValue","isDefined","test","$eval","falseValue","hasExoticValues","$parsers","push","viewValue","$watch","$render","isActive","equals","$modelValue","checked","toggleClass","bind","$apply","$setViewValue","hasClass","value"],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"button.min.js","sources":["button.js"],"names":["angular","module","provider","defaults","this","activeClass","toggleEvent","$get","directive","restrict","require","compile","element","attr","removeAttr","children","querySelectorAll","forEach","child","childEl","ngModel","$button","$$animateReflow","constantValueRegExp","link","scope","controller","options","isInput","nodeName","activeElement","parent","trueValue","isDefined","test","$eval","falseValue","hasExoticValues","$parsers","push","viewValue","$watch","$render","isActive","equals","$modelValue","checked","toggleClass","bind","$apply","$setViewValue","hasClass","value"],"mappings":"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"}
\ No newline at end of file
diff --git a/dist/modules/date-parser.js b/dist/modules/date-parser.js
index b4e738087..3ebc53031 100644
--- a/dist/modules/date-parser.js
+++ b/dist/modules/date-parser.js
@@ -1,8 +1,8 @@
/**
* angular-strap
- * @version v2.0.0-rc.2 - 2014-01-29
+ * @version v2.0.0-rc.3 - 2014-02-10
* @link http://mgcrea.github.io/angular-strap
- * @author [object Object]
+ * @author Olivier Louvignes (olivier@mg-crea.com)
* @license MIT License, http://www.opensource.org/licenses/MIT
*/
'use strict';
diff --git a/dist/modules/date-parser.min.js b/dist/modules/date-parser.min.js
index 5c168b496..34199622a 100644
--- a/dist/modules/date-parser.min.js
+++ b/dist/modules/date-parser.min.js
@@ -1,8 +1,8 @@
/**
* angular-strap
- * @version v2.0.0-rc.2 - 2014-01-29
+ * @version v2.0.0-rc.3 - 2014-02-10
* @link http://mgcrea.github.io/angular-strap
- * @author [object Object]
+ * @author Olivier Louvignes (olivier@mg-crea.com)
* @license MIT License, http://www.opensource.org/licenses/MIT
*/
"use strict";angular.module("mgcrea.ngStrap.helpers.dateParser",[]).provider("$dateParser",["$localeProvider",function(){var a=Date.prototype,b=this.defaults={format:"shortDate",strict:!1};this.$get=["$locale",function(c){var d=function(d){function e(a){var b,c=Object.keys(m),d=[],e=[],f=a;for(b=0;b1){var g=f.search(c[b]);a=a.split(c[b]).join(""),m[c[b]]&&(d[g]=m[c[b]])}return angular.forEach(d,function(a){e.push(a)}),e}function f(a){return a.replace(/\//g,"[\\/]").replace("/-/g","[-]").replace(/\./g,"[.]").replace(/\\s/g,"[\\s]")}function g(a){var b,c=Object.keys(l),d=a;for(b=0;b' + weekDaysLabels.join('') + ' | ');
+ var weekDaysLabels = weekDaysMin.slice(options.startWeek).concat(weekDaysMin.slice(0, options.startWeek));
+ var weekDaysLabelsHtml = $sce.trustAsHtml('' + weekDaysLabels.join(' | ') + ' | ');
var startDate = picker.$date || new Date();
var viewDate = {
year: startDate.getFullYear(),
@@ -348,9 +360,9 @@ angular.module('mgcrea.ngStrap.datepicker', [
},
build: function () {
var firstDayOfMonth = new Date(viewDate.year, viewDate.month, 1);
- var firstDate = new Date(+firstDayOfMonth - (firstDayOfMonth.getDay() - options.weekStart) * 86400000);
+ var firstDate = new Date(+firstDayOfMonth - (firstDayOfMonth.getDay() + options.startWeek) * 86400000);
var days = [], day;
- for (var i = 0; i < 35; i++) {
+ for (var i = 0; i < 42; i++) {
day = new Date(firstDate.getFullYear(), firstDate.getMonth(), firstDate.getDate() + i);
days.push({
date: day,
@@ -361,7 +373,7 @@ angular.module('mgcrea.ngStrap.datepicker', [
});
}
scope.title = dateFilter(firstDayOfMonth, 'MMMM yyyy');
- scope.labels = dayLabelHtml;
+ scope.labels = weekDaysLabelsHtml;
scope.rows = split(days, this.split);
this.built = true;
},
diff --git a/dist/modules/datepicker.min.js b/dist/modules/datepicker.min.js
index a8629ae7e..20a4777ce 100644
--- a/dist/modules/datepicker.min.js
+++ b/dist/modules/datepicker.min.js
@@ -1,9 +1,9 @@
/**
* angular-strap
- * @version v2.0.0-rc.2 - 2014-01-29
+ * @version v2.0.0-rc.3 - 2014-02-10
* @link http://mgcrea.github.io/angular-strap
- * @author [object Object]
+ * @author Olivier Louvignes (olivier@mg-crea.com)
* @license MIT License, http://www.opensource.org/licenses/MIT
*/
-"use strict";angular.module("mgcrea.ngStrap.datepicker",["mgcrea.ngStrap.helpers.dateParser","mgcrea.ngStrap.tooltip"]).provider("$datepicker",function(){var a=this.defaults={animation:"am-fade",prefixClass:"datepicker",placement:"bottom-left",template:"datepicker/datepicker.tpl.html",trigger:"focus",container:!1,keyboard:!0,html:!1,delay:0,useNative:!1,dateType:"date",dateFormat:"shortDate",autoclose:!1,minDate:-1/0,maxDate:+1/0,startView:0,minView:0,weekStart:0};this.$get=["$window","$document","$rootScope","$sce","$locale","dateFilter","datepickerViews","$tooltip",function(b,c,d,e,f,g,h,i){function j(b,c,d){function e(a){a.selected=g.$isSelected(a.date)}function f(){b[0].focus()}var g=i(b,angular.extend({},a,d)),j=d.scope,m=g.$options,n=g.$scope,o=h(g);g.$views=o.views;var p=o.viewDate;n.$mode=m.startView;var q=g.$views[n.$mode];n.$select=function(a){g.select(a)},n.$selectPane=function(a){g.$selectPane(a)},n.$toggleMode=function(){g.setMode((n.$mode+1)%g.$views.length)},g.update=function(a){isNaN(a.getTime())?q.built||g.$build():(g.$date=a,q.update.call(q,a))},g.select=function(a,b){angular.isDate(a)||(a=new Date(a)),c.$dateValue.setFullYear(a.getFullYear(),a.getMonth(),a.getDate()),!n.$mode||b?(c.$setViewValue(c.$dateValue),c.$render(),m.autoclose&&!b&&g.hide(!0)):(angular.extend(p,{year:a.getFullYear(),month:a.getMonth(),date:a.getDate()}),g.setMode(n.$mode-1),g.$build())},g.setMode=function(a){n.$mode=a,q=g.$views[n.$mode],g.$build()},g.$build=function(){q.build.call(q)},g.$updateSelected=function(){for(var a=0,b=n.rows.length;b>a;a++)angular.forEach(n.rows[a],e)},g.$isSelected=function(a){return q.isSelected(a)},g.$selectPane=function(a){var b=q.steps,c=new Date(Date.UTC(p.year+(b.year||0)*a,p.month+(b.month||0)*a,p.date+(b.day||0)*a));angular.extend(p,{year:c.getUTCFullYear(),month:c.getUTCMonth(),date:c.getUTCDate()}),g.$build()},g.$onMouseDown=function(a){if(a.preventDefault(),a.stopPropagation(),k){var b=angular.element(a.target);"button"!==b[0].nodeName.toLowerCase()&&(b=b.parent()),b.triggerHandler("click")}},g.$onKeyDown=function(a){if(/(38|37|39|40|13)/.test(a.keyCode)&&!a.shiftKey&&!a.altKey){if(a.preventDefault(),a.stopPropagation(),13===a.keyCode)return n.$mode?n.$apply(function(){g.setMode(n.$mode-1)}):g.hide(!0);q.onKeyDown(a),j.$digest()}};var r=g.init;g.init=function(){return l&&m.useNative?(b.prop("type","date"),void b.css("-webkit-appearance","textfield")):(k&&(b.prop("type","text"),b.attr("readonly","true"),b.on("click",f)),void r())};var s=g.destroy;g.destroy=function(){l&&m.useNative&&b.off("click",f),s()};var t=g.show;g.show=function(){t(),setTimeout(function(){g.$element.on(k?"touchstart":"mousedown",g.$onMouseDown),m.keyboard&&b.on("keydown",g.$onKeyDown)})};var u=g.hide;return g.hide=function(a){g.$element.off(k?"touchstart":"mousedown",g.$onMouseDown),m.keyboard&&b.off("keydown",g.$onKeyDown),u(a)},g}var k=(angular.element(b.document.body),"createTouch"in b.document),l=/(iP(a|o)d|iPhone)/g.test(b.navigator.userAgent);return a.lang||(a.lang=f.id),j.defaults=a,j}]}).directive("bsDatepicker",["$window","$parse","$q","$locale","dateFilter","$datepicker","$dateParser","$timeout",function(a,b,c,d,e,f,g){{var h=/(iP(a|o)d|iPhone)/g.test(a.navigator.userAgent);a.requestAnimationFrame||a.setTimeout}return{restrict:"EAC",require:"ngModel",link:function(a,b,c,d){var i={scope:a,controller:d};angular.forEach(["placement","container","delay","trigger","keyboard","html","animation","template","autoclose","dateType","dateFormat","useNative","lang"],function(a){angular.isDefined(c[a])&&(i[a]=c[a])}),h&&i.useNative&&(i.dateFormat="yyyy-MM-dd");var j=f(b,d,i);i=j.$options,angular.forEach(["minDate","maxDate"],function(a){angular.isDefined(c[a])&&c.$observe(a,function(b){if("today"===b){var c=new Date;j.$options[a]=+new Date(c.getFullYear(),c.getMonth(),c.getDate()+("maxDate"===a?1:0),0,0,0,"minDate"===a?0:-1)}else j.$options[a]=angular.isString(b)&&b.match(/^".+"$/)?+new Date(b.substr(1,b.length-2)):+new Date(b);!isNaN(j.$options[a])&&j.$build()})}),a.$watch(c.ngModel,function(){j.update(d.$dateValue)},!0);var k=g({format:i.dateFormat,lang:i.lang});d.$parsers.unshift(function(a){var b=k.parse(a,d.$dateValue);if(!b||isNaN(b.getTime()))d.$setValidity("date",!1);else{var c=b.getTime()>=i.minDate&&b.getTime()<=i.maxDate;d.$setValidity("date",c),c&&(d.$dateValue=b)}return d.$dateValue=b,"string"===i.dateType?e(a,i.dateFormat):"number"===i.dateType?d.$dateValue.getTime():"iso"===i.dateType?d.$dateValue.toISOString():d.$dateValue}),d.$formatters.push(function(a){var b=angular.isDate(a)?a:new Date(a);return d.$dateValue=b,d.$dateValue}),d.$render=function(){b.val(isNaN(d.$dateValue.getTime())?"":e(d.$dateValue,i.dateFormat))},a.$on("$destroy",function(){j.destroy(),i=null,j=null})}}}]).provider("datepickerViews",function(){function a(a,b){for(var c=[];a.length>0;)c.push(a.splice(0,b));return c}this.defaults={dayFormat:"dd",daySplit:7};this.$get=["$locale","$sce","dateFilter",function(b,c,d){return function(e){var f=e.$scope,g=e.$options,h=b.DATETIME_FORMATS.SHORTDAY,i=h.slice(g.weekStart).concat(h.slice(0,g.weekStart)),j=c.trustAsHtml(''+i.join(' | ')+" | "),k=e.$date||new Date,l={year:k.getFullYear(),month:k.getMonth(),date:k.getDate()},m=(6e4*k.getTimezoneOffset(),[{format:"dd",split:7,steps:{month:1},update:function(a,b){!this.built||b||a.getFullYear()!==l.year||a.getMonth()!==l.month?(angular.extend(l,{year:e.$date.getFullYear(),month:e.$date.getMonth(),date:e.$date.getDate()}),e.$build()):a.getDate()!==l.date&&(l.date=e.$date.getDate(),e.$updateSelected())},build:function(){for(var b,c=new Date(l.year,l.month,1),h=new Date(+c-864e5*(c.getDay()-g.weekStart)),i=[],k=0;35>k;k++)b=new Date(h.getFullYear(),h.getMonth(),h.getDate()+k),i.push({date:b,label:d(b,this.format),selected:e.$date&&this.isSelected(b),muted:b.getMonth()!==l.month,disabled:this.isDisabled(b)});f.title=d(c,"MMMM yyyy"),f.labels=j,f.rows=a(i,this.split),this.built=!0},isSelected:function(a){return e.$date&&a.getFullYear()===e.$date.getFullYear()&&a.getMonth()===e.$date.getMonth()&&a.getDate()===e.$date.getDate()},isDisabled:function(a){return a.getTime()g.maxDate},onKeyDown:function(a){var b=e.$date.getTime();37===a.keyCode?e.select(new Date(b-864e5),!0):38===a.keyCode?e.select(new Date(b-6048e5),!0):39===a.keyCode?e.select(new Date(b+864e5),!0):40===a.keyCode&&e.select(new Date(b+6048e5),!0)}},{name:"month",format:"MMM",split:4,steps:{year:1},update:function(a){this.built&&a.getFullYear()===l.year?a.getMonth()!==l.month&&(angular.extend(l,{month:e.$date.getMonth(),date:e.$date.getDate()}),e.$updateSelected()):(angular.extend(l,{year:e.$date.getFullYear(),month:e.$date.getMonth(),date:e.$date.getDate()}),e.$build())},build:function(){for(var b,c=(new Date(l.year,0,1),[]),g=0;12>g;g++)b=new Date(l.year,g,1),c.push({date:b,label:d(b,this.format),selected:e.$isSelected(b),disabled:this.isDisabled(b)});f.title=d(b,"yyyy"),f.labels=!1,f.rows=a(c,this.split),this.built=!0},isSelected:function(a){return e.$date&&a.getFullYear()===e.$date.getFullYear()&&a.getMonth()===e.$date.getMonth()},isDisabled:function(a){var b=+new Date(a.getFullYear(),a.getMonth()+1,0);return bg.maxDate},onKeyDown:function(a){var b=e.$date.getMonth();37===a.keyCode?e.select(e.$date.setMonth(b-1),!0):38===a.keyCode?e.select(e.$date.setMonth(b-4),!0):39===a.keyCode?e.select(e.$date.setMonth(b+1),!0):40===a.keyCode&&e.select(e.$date.setMonth(b+4),!0)}},{name:"year",format:"yyyy",split:4,steps:{year:12},update:function(a,b){!this.built||b||parseInt(a.getFullYear()/20,10)!==parseInt(l.year/20,10)?(angular.extend(l,{year:e.$date.getFullYear(),month:e.$date.getMonth(),date:e.$date.getDate()}),e.$build()):a.getFullYear()!==l.year&&(angular.extend(l,{year:e.$date.getFullYear(),month:e.$date.getMonth(),date:e.$date.getDate()}),e.$updateSelected())},build:function(){for(var b,c=l.year-l.year%(3*this.split),g=[],h=0;12>h;h++)b=new Date(c+h,0,1),g.push({date:b,label:d(b,this.format),selected:e.$isSelected(b),disabled:this.isDisabled(b)});f.title=g[0].label+"-"+g[g.length-1].label,f.labels=!1,f.rows=a(g,this.split),this.built=!0},isSelected:function(a){return e.$date&&a.getFullYear()===e.$date.getFullYear()},isDisabled:function(a){var b=+new Date(a.getFullYear()+1,0,0);return bg.maxDate},onKeyDown:function(a){var b=e.$date.getFullYear();37===a.keyCode?e.select(e.$date.setYear(b-1),!0):38===a.keyCode?e.select(e.$date.setYear(b-4),!0):39===a.keyCode?e.select(e.$date.setYear(b+1),!0):40===a.keyCode&&e.select(e.$date.setYear(b+4),!0)}}]);return{views:g.minView?Array.prototype.slice.call(m,g.minView):m,viewDate:l}}}]}),angular.module("mgcrea.ngStrap.datepicker").run(["$templateCache",function(a){a.put("datepicker/datepicker.tpl.html",'')}]);
+"use strict";angular.module("mgcrea.ngStrap.datepicker",["mgcrea.ngStrap.helpers.dateParser","mgcrea.ngStrap.tooltip"]).provider("$datepicker",function(){var a=this.defaults={animation:"am-fade",prefixClass:"datepicker",placement:"bottom-left",template:"datepicker/datepicker.tpl.html",trigger:"focus",container:!1,keyboard:!0,html:!1,delay:0,useNative:!1,dateType:"date",dateFormat:"shortDate",autoclose:!1,minDate:-1/0,maxDate:+1/0,startView:0,minView:0,startWeek:0};this.$get=["$window","$document","$rootScope","$sce","$locale","dateFilter","datepickerViews","$tooltip",function(b,c,d,e,f,g,h,i){function j(b,c,d){function e(a){a.selected=g.$isSelected(a.date)}function f(){b[0].focus()}var g=i(b,angular.extend({},a,d)),j=d.scope,m=g.$options,n=g.$scope;m.startView&&(m.startView-=m.minView);var o=h(g);g.$views=o.views;var p=o.viewDate;n.$mode=m.startView;var q=g.$views[n.$mode];n.$select=function(a){g.select(a)},n.$selectPane=function(a){g.$selectPane(a)},n.$toggleMode=function(){g.setMode((n.$mode+1)%g.$views.length)},g.update=function(a){angular.isDate(a)&&!isNaN(a.getTime())&&(g.$date=a,q.update.call(q,a)),g.$build(!0)},g.select=function(a,b){angular.isDate(c.$dateValue)||(c.$dateValue=new Date(a)),c.$dateValue.setFullYear(a.getFullYear(),a.getMonth(),a.getDate()),!n.$mode||b?(c.$setViewValue(c.$dateValue),c.$render(),m.autoclose&&!b&&g.hide(!0)):(angular.extend(p,{year:a.getFullYear(),month:a.getMonth(),date:a.getDate()}),g.setMode(n.$mode-1),g.$build())},g.setMode=function(a){n.$mode=a,q=g.$views[n.$mode],g.$build()},g.$build=function(a){a===!0&&q.built||(a!==!1||q.built)&&q.build.call(q)},g.$updateSelected=function(){for(var a=0,b=n.rows.length;b>a;a++)angular.forEach(n.rows[a],e)},g.$isSelected=function(a){return q.isSelected(a)},g.$selectPane=function(a){var b=q.steps,c=new Date(Date.UTC(p.year+(b.year||0)*a,p.month+(b.month||0)*a,p.date+(b.day||0)*a));angular.extend(p,{year:c.getUTCFullYear(),month:c.getUTCMonth(),date:c.getUTCDate()}),g.$build()},g.$onMouseDown=function(a){if(a.preventDefault(),a.stopPropagation(),k){var b=angular.element(a.target);"button"!==b[0].nodeName.toLowerCase()&&(b=b.parent()),b.triggerHandler("click")}},g.$onKeyDown=function(a){if(/(38|37|39|40|13)/.test(a.keyCode)&&!a.shiftKey&&!a.altKey){if(a.preventDefault(),a.stopPropagation(),13===a.keyCode)return n.$mode?n.$apply(function(){g.setMode(n.$mode-1)}):g.hide(!0);q.onKeyDown(a),j.$digest()}};var r=g.init;g.init=function(){return l&&m.useNative?(b.prop("type","date"),void b.css("-webkit-appearance","textfield")):(k&&(b.prop("type","text"),b.attr("readonly","true"),b.on("click",f)),void r())};var s=g.destroy;g.destroy=function(){l&&m.useNative&&b.off("click",f),s()};var t=g.show;g.show=function(){t(),setTimeout(function(){g.$element.on(k?"touchstart":"mousedown",g.$onMouseDown),m.keyboard&&b.on("keydown",g.$onKeyDown)})};var u=g.hide;return g.hide=function(a){g.$element.off(k?"touchstart":"mousedown",g.$onMouseDown),m.keyboard&&b.off("keydown",g.$onKeyDown),u(a)},g}var k=(angular.element(b.document.body),"createTouch"in b.document),l=/(ip(a|o)d|iphone|android)/gi.test(b.navigator.userAgent);return a.lang||(a.lang=f.id),j.defaults=a,j}]}).directive("bsDatepicker",["$window","$parse","$q","$locale","dateFilter","$datepicker","$dateParser","$timeout",function(a,b,c,d,e,f,g){{var h=(f.defaults,/(ip(a|o)d|iphone|android)/gi.test(a.navigator.userAgent));a.requestAnimationFrame||a.setTimeout}return{restrict:"EAC",require:"ngModel",link:function(a,b,c,d){var i={scope:a,controller:d};angular.forEach(["placement","container","delay","trigger","keyboard","html","animation","template","autoclose","dateType","dateFormat","startWeek","useNative","lang","startView","minView"],function(a){angular.isDefined(c[a])&&(i[a]=c[a])}),h&&i.useNative&&(i.dateFormat="yyyy-MM-dd");var j=f(b,d,i);i=j.$options,angular.forEach(["minDate","maxDate"],function(a){angular.isDefined(c[a])&&c.$observe(a,function(b){if("today"===b){var c=new Date;j.$options[a]=+new Date(c.getFullYear(),c.getMonth(),c.getDate()+("maxDate"===a?1:0),0,0,0,"minDate"===a?0:-1)}else j.$options[a]=angular.isString(b)&&b.match(/^".+"$/)?+new Date(b.substr(1,b.length-2)):+new Date(b);!isNaN(j.$options[a])&&j.$build(!1)})}),a.$watch(c.ngModel,function(){j.update(d.$dateValue)},!0);var k=g({format:i.dateFormat,lang:i.lang});d.$parsers.unshift(function(a){if(!a)return void d.$setValidity("date",!0);var b=k.parse(a,d.$dateValue);if(!b||isNaN(b.getTime()))d.$setValidity("date",!1);else{var c=b.getTime()>=i.minDate&&b.getTime()<=i.maxDate;d.$setValidity("date",c),c&&(d.$dateValue=b)}return"string"===i.dateType?e(a,i.dateFormat):"number"===i.dateType?d.$dateValue.getTime():"iso"===i.dateType?d.$dateValue.toISOString():d.$dateValue}),d.$formatters.push(function(a){var b=angular.isDate(a)?a:new Date(a);return d.$dateValue=b,d.$dateValue}),d.$render=function(){b.val(isNaN(d.$dateValue.getTime())?"":e(d.$dateValue,i.dateFormat))},a.$on("$destroy",function(){j.destroy(),i=null,j=null})}}}]).provider("datepickerViews",function(){function a(a,b){for(var c=[];a.length>0;)c.push(a.splice(0,b));return c}this.defaults={dayFormat:"dd",daySplit:7};this.$get=["$locale","$sce","dateFilter",function(b,c,d){return function(e){var f=e.$scope,g=e.$options,h=b.DATETIME_FORMATS.SHORTDAY,i=h.slice(g.startWeek).concat(h.slice(0,g.startWeek)),j=c.trustAsHtml(''+i.join(' | ')+" | "),k=e.$date||new Date,l={year:k.getFullYear(),month:k.getMonth(),date:k.getDate()},m=(6e4*k.getTimezoneOffset(),[{format:"dd",split:7,steps:{month:1},update:function(a,b){!this.built||b||a.getFullYear()!==l.year||a.getMonth()!==l.month?(angular.extend(l,{year:e.$date.getFullYear(),month:e.$date.getMonth(),date:e.$date.getDate()}),e.$build()):a.getDate()!==l.date&&(l.date=e.$date.getDate(),e.$updateSelected())},build:function(){for(var b,c=new Date(l.year,l.month,1),h=new Date(+c-864e5*(c.getDay()+g.startWeek)),i=[],k=0;42>k;k++)b=new Date(h.getFullYear(),h.getMonth(),h.getDate()+k),i.push({date:b,label:d(b,this.format),selected:e.$date&&this.isSelected(b),muted:b.getMonth()!==l.month,disabled:this.isDisabled(b)});f.title=d(c,"MMMM yyyy"),f.labels=j,f.rows=a(i,this.split),this.built=!0},isSelected:function(a){return e.$date&&a.getFullYear()===e.$date.getFullYear()&&a.getMonth()===e.$date.getMonth()&&a.getDate()===e.$date.getDate()},isDisabled:function(a){return a.getTime()g.maxDate},onKeyDown:function(a){var b=e.$date.getTime();37===a.keyCode?e.select(new Date(b-864e5),!0):38===a.keyCode?e.select(new Date(b-6048e5),!0):39===a.keyCode?e.select(new Date(b+864e5),!0):40===a.keyCode&&e.select(new Date(b+6048e5),!0)}},{name:"month",format:"MMM",split:4,steps:{year:1},update:function(a){this.built&&a.getFullYear()===l.year?a.getMonth()!==l.month&&(angular.extend(l,{month:e.$date.getMonth(),date:e.$date.getDate()}),e.$updateSelected()):(angular.extend(l,{year:e.$date.getFullYear(),month:e.$date.getMonth(),date:e.$date.getDate()}),e.$build())},build:function(){for(var b,c=(new Date(l.year,0,1),[]),g=0;12>g;g++)b=new Date(l.year,g,1),c.push({date:b,label:d(b,this.format),selected:e.$isSelected(b),disabled:this.isDisabled(b)});f.title=d(b,"yyyy"),f.labels=!1,f.rows=a(c,this.split),this.built=!0},isSelected:function(a){return e.$date&&a.getFullYear()===e.$date.getFullYear()&&a.getMonth()===e.$date.getMonth()},isDisabled:function(a){var b=+new Date(a.getFullYear(),a.getMonth()+1,0);return bg.maxDate},onKeyDown:function(a){var b=e.$date.getMonth();37===a.keyCode?e.select(e.$date.setMonth(b-1),!0):38===a.keyCode?e.select(e.$date.setMonth(b-4),!0):39===a.keyCode?e.select(e.$date.setMonth(b+1),!0):40===a.keyCode&&e.select(e.$date.setMonth(b+4),!0)}},{name:"year",format:"yyyy",split:4,steps:{year:12},update:function(a,b){!this.built||b||parseInt(a.getFullYear()/20,10)!==parseInt(l.year/20,10)?(angular.extend(l,{year:e.$date.getFullYear(),month:e.$date.getMonth(),date:e.$date.getDate()}),e.$build()):a.getFullYear()!==l.year&&(angular.extend(l,{year:e.$date.getFullYear(),month:e.$date.getMonth(),date:e.$date.getDate()}),e.$updateSelected())},build:function(){for(var b,c=l.year-l.year%(3*this.split),g=[],h=0;12>h;h++)b=new Date(c+h,0,1),g.push({date:b,label:d(b,this.format),selected:e.$isSelected(b),disabled:this.isDisabled(b)});f.title=g[0].label+"-"+g[g.length-1].label,f.labels=!1,f.rows=a(g,this.split),this.built=!0},isSelected:function(a){return e.$date&&a.getFullYear()===e.$date.getFullYear()},isDisabled:function(a){var b=+new Date(a.getFullYear()+1,0,0);return bg.maxDate},onKeyDown:function(a){var b=e.$date.getFullYear();37===a.keyCode?e.select(e.$date.setYear(b-1),!0):38===a.keyCode?e.select(e.$date.setYear(b-4),!0):39===a.keyCode?e.select(e.$date.setYear(b+1),!0):40===a.keyCode&&e.select(e.$date.setYear(b+4),!0)}}]);return{views:g.minView?Array.prototype.slice.call(m,g.minView):m,viewDate:l}}}]}),angular.module("mgcrea.ngStrap.datepicker").run(["$templateCache",function(a){a.put("datepicker/datepicker.tpl.html",'')}]);
//# sourceMappingURL=datepicker.min.map
\ No newline at end of file
diff --git a/dist/modules/datepicker.min.map b/dist/modules/datepicker.min.map
index 07f289808..5d3644dcf 100644
--- a/dist/modules/datepicker.min.map
+++ b/dist/modules/datepicker.min.map
@@ -1 +1 @@
-{"version":3,"file":"datepicker.min.js","sources":["datepicker.js","datepicker.tpl.js"],"names":["angular","module","provider","defaults","this","animation","prefixClass","placement","template","trigger","container","keyboard","html","delay","useNative","dateType","dateFormat","autoclose","minDate","Infinity","maxDate","startView","minView","weekStart","$get","$window","$document","$rootScope","$sce","$locale","dateFilter","datepickerViews","$tooltip","DatepickerFactory","element","controller","config","updateSelected","el","selected","$datepicker","$isSelected","date","focusElement","focus","extend","parentScope","scope","options","$options","$scope","pickerViews","$views","views","viewDate","$mode","$picker","$select","select","$selectPane","value","$toggleMode","setMode","length","update","isNaN","getTime","built","$build","$date","call","keep","isDate","Date","$dateValue","setFullYear","getFullYear","getMonth","getDate","$setViewValue","$render","hide","year","month","mode","build","$updateSelected","i","l","rows","forEach","isSelected","steps","targetDate","UTC","day","getUTCFullYear","getUTCMonth","getUTCDate","$onMouseDown","evt","preventDefault","stopPropagation","isTouch","targetEl","target","nodeName","toLowerCase","parent","triggerHandler","$onKeyDown","test","keyCode","shiftKey","altKey","$apply","onKeyDown","$digest","_init","init","isAppleTouch","prop","css","attr","on","_destroy","destroy","off","_show","show","setTimeout","$element","_hide","blur","document","body","navigator","userAgent","lang","id","directive","$parse","$q","$dateParser","requestAnimationFrame","restrict","require","link","key","isDefined","datepicker","$observe","newValue","today","isString","match","substr","$watch","ngModel","dateParser","format","$parsers","unshift","viewValue","parsedDate","parse","$setValidity","isValid","toISOString","$formatters","push","modelValue","val","$on","split","arr","size","arrays","splice","dayFormat","daySplit","picker","weekDaysMin","DATETIME_FORMATS","SHORTDAY","weekDaysLabels","slice","concat","dayLabelHtml","trustAsHtml","join","startDate","getTimezoneOffset","force","firstDayOfMonth","firstDate","getDay","days","label","muted","disabled","isDisabled","title","labels","actualTime","name","months","lastDate","actualMonth","setMonth","parseInt","firstYear","years","actualYear","setYear","Array","prototype","run","$templateCache","put"],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"datepicker.min.js","sources":["datepicker.js","datepicker.tpl.js"],"names":["angular","module","provider","defaults","this","animation","prefixClass","placement","template","trigger","container","keyboard","html","delay","useNative","dateType","dateFormat","autoclose","minDate","Infinity","maxDate","startView","minView","startWeek","$get","$window","$document","$rootScope","$sce","$locale","dateFilter","datepickerViews","$tooltip","DatepickerFactory","element","controller","config","updateSelected","el","selected","$datepicker","$isSelected","date","focusElement","focus","extend","parentScope","scope","options","$options","$scope","pickerViews","$views","views","viewDate","$mode","$picker","$select","select","$selectPane","value","$toggleMode","setMode","length","update","isDate","isNaN","getTime","$date","call","$build","keep","$dateValue","Date","setFullYear","getFullYear","getMonth","getDate","$setViewValue","$render","hide","year","month","mode","pristine","built","build","$updateSelected","i","l","rows","forEach","isSelected","steps","targetDate","UTC","day","getUTCFullYear","getUTCMonth","getUTCDate","$onMouseDown","evt","preventDefault","stopPropagation","isTouch","targetEl","target","nodeName","toLowerCase","parent","triggerHandler","$onKeyDown","test","keyCode","shiftKey","altKey","$apply","onKeyDown","$digest","_init","init","isNative","prop","css","attr","on","_destroy","destroy","off","_show","show","setTimeout","$element","_hide","blur","document","body","navigator","userAgent","lang","id","directive","$parse","$q","$dateParser","requestAnimationFrame","restrict","require","link","key","isDefined","datepicker","$observe","newValue","today","isString","match","substr","$watch","ngModel","dateParser","format","$parsers","unshift","viewValue","$setValidity","parsedDate","parse","isValid","toISOString","$formatters","push","modelValue","val","$on","split","arr","size","arrays","splice","dayFormat","daySplit","picker","weekDaysMin","DATETIME_FORMATS","SHORTDAY","weekDaysLabels","slice","concat","weekDaysLabelsHtml","trustAsHtml","join","startDate","getTimezoneOffset","force","firstDayOfMonth","firstDate","getDay","days","label","muted","disabled","isDisabled","title","labels","actualTime","name","months","lastDate","actualMonth","setMonth","parseInt","firstYear","years","actualYear","setYear","Array","prototype","run","$templateCache","put"],"mappings":"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"}
\ No newline at end of file
diff --git a/dist/modules/datepicker.tpl.js b/dist/modules/datepicker.tpl.js
index e6d3d2328..fcbe71a66 100644
--- a/dist/modules/datepicker.tpl.js
+++ b/dist/modules/datepicker.tpl.js
@@ -1,8 +1,8 @@
/**
* angular-strap
- * @version v2.0.0-rc.2 - 2014-01-29
+ * @version v2.0.0-rc.3 - 2014-02-10
* @link http://mgcrea.github.io/angular-strap
- * @author [object Object]
+ * @author Olivier Louvignes (olivier@mg-crea.com)
* @license MIT License, http://www.opensource.org/licenses/MIT
*/
angular.module('mgcrea.ngStrap.datepicker').run(['$templateCache', function($templateCache) {
diff --git a/dist/modules/datepicker.tpl.min.js b/dist/modules/datepicker.tpl.min.js
index f0a4e14b9..32682c1f5 100644
--- a/dist/modules/datepicker.tpl.min.js
+++ b/dist/modules/datepicker.tpl.min.js
@@ -1,8 +1,8 @@
/**
* angular-strap
- * @version v2.0.0-rc.2 - 2014-01-29
+ * @version v2.0.0-rc.3 - 2014-02-10
* @link http://mgcrea.github.io/angular-strap
- * @author [object Object]
+ * @author Olivier Louvignes (olivier@mg-crea.com)
* @license MIT License, http://www.opensource.org/licenses/MIT
*/
angular.module("mgcrea.ngStrap.datepicker").run(["$templateCache",function(a){"use strict";a.put("datepicker/datepicker.tpl.html",'')}]);
diff --git a/dist/modules/debounce.js b/dist/modules/debounce.js
index a7b5b45f1..140763f21 100644
--- a/dist/modules/debounce.js
+++ b/dist/modules/debounce.js
@@ -1,8 +1,8 @@
/**
* angular-strap
- * @version v2.0.0-rc.2 - 2014-01-29
+ * @version v2.0.0-rc.3 - 2014-02-10
* @link http://mgcrea.github.io/angular-strap
- * @author [object Object]
+ * @author Olivier Louvignes (olivier@mg-crea.com)
* @license MIT License, http://www.opensource.org/licenses/MIT
*/
'use strict';
diff --git a/dist/modules/debounce.min.js b/dist/modules/debounce.min.js
index 3f9299c4a..35b98c3c3 100644
--- a/dist/modules/debounce.min.js
+++ b/dist/modules/debounce.min.js
@@ -1,8 +1,8 @@
/**
* angular-strap
- * @version v2.0.0-rc.2 - 2014-01-29
+ * @version v2.0.0-rc.3 - 2014-02-10
* @link http://mgcrea.github.io/angular-strap
- * @author [object Object]
+ * @author Olivier Louvignes (olivier@mg-crea.com)
* @license MIT License, http://www.opensource.org/licenses/MIT
*/
"use strict";angular.module("mgcrea.ngStrap.helpers.debounce",[]).constant("debounce",function(a,b,c){var d,e,f,g,h;return function(){f=this,e=arguments,g=new Date;var i=function(){var j=new Date-g;b>j?d=setTimeout(i,b-j):(d=null,c||(h=a.apply(f,e)))},j=c&&!d;return d||(d=setTimeout(i,b)),j&&(h=a.apply(f,e)),h}}).constant("throttle",function(a,b,c){var d,e,f,g=null,h=0;c||(c={});var i=function(){h=c.leading===!1?0:new Date,g=null,f=a.apply(d,e)};return function(){var j=new Date;h||c.leading!==!1||(h=j);var k=b-(j-h);return d=this,e=arguments,0>=k?(clearTimeout(g),g=null,h=j,f=a.apply(d,e)):g||c.trailing===!1||(g=setTimeout(i,k)),f}});
diff --git a/dist/modules/dimensions.js b/dist/modules/dimensions.js
index d55f5e09a..5e5a28590 100644
--- a/dist/modules/dimensions.js
+++ b/dist/modules/dimensions.js
@@ -1,8 +1,8 @@
/**
* angular-strap
- * @version v2.0.0-rc.2 - 2014-01-29
+ * @version v2.0.0-rc.3 - 2014-02-10
* @link http://mgcrea.github.io/angular-strap
- * @author [object Object]
+ * @author Olivier Louvignes (olivier@mg-crea.com)
* @license MIT License, http://www.opensource.org/licenses/MIT
*/
'use strict';
diff --git a/dist/modules/dimensions.min.js b/dist/modules/dimensions.min.js
index da2380256..76321f7a7 100644
--- a/dist/modules/dimensions.min.js
+++ b/dist/modules/dimensions.min.js
@@ -1,8 +1,8 @@
/**
* angular-strap
- * @version v2.0.0-rc.2 - 2014-01-29
+ * @version v2.0.0-rc.3 - 2014-02-10
* @link http://mgcrea.github.io/angular-strap
- * @author [object Object]
+ * @author Olivier Louvignes (olivier@mg-crea.com)
* @license MIT License, http://www.opensource.org/licenses/MIT
*/
"use strict";angular.module("mgcrea.ngStrap.helpers.dimensions",[]).factory("dimensions",["$document","$window",function(){var a=(angular.element,{}),b=a.nodeName=function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()};a.css=function(a,b,c){var d;return d=a.currentStyle?a.currentStyle[b]:window.getComputedStyle?window.getComputedStyle(a)[b]:a.style[b],c===!0?parseFloat(d)||0:d},a.offset=function(a){var b=a.getBoundingClientRect(),c=a.ownerDocument;return{width:a.offsetWidth,height:a.offsetHeight,top:b.top+(window.pageYOffset||c.documentElement.scrollTop)-(c.documentElement.clientTop||0),left:b.left+(window.pageXOffset||c.documentElement.scrollLeft)-(c.documentElement.clientLeft||0)}},a.position=function(d){var e,f,g={top:0,left:0};return"fixed"===a.css(d,"position")?f=d.getBoundingClientRect():(e=c(d),f=a.offset(d),f=a.offset(d),b(e,"html")||(g=a.offset(e)),g.top+=a.css(e,"borderTopWidth",!0),g.left+=a.css(e,"borderLeftWidth",!0)),{width:d.offsetWidth,height:d.offsetHeight,top:f.top-g.top-a.css(d,"marginTop",!0),left:f.left-g.left-a.css(d,"marginLeft",!0)}};var c=function(c){var d=c.ownerDocument,e=c.offsetParent||d;if(b(e,"#document"))return d.documentElement;for(;e&&!b(e,"html")&&"static"===a.css(e,"position");)e=e.offsetParent;return e||d.documentElement};return a.height=function(b,c){var d=b.offsetHeight;return c?d+=a.css(b,"marginTop",!0)+a.css(b,"marginBottom",!0):d-=a.css(b,"paddingTop",!0)+a.css(b,"paddingBottom",!0)+a.css(b,"borderTopWidth",!0)+a.css(b,"borderBottomWidth",!0),d},a.width=function(b,c){var d=b.offsetWidth;return c?d+=a.css(b,"marginLeft",!0)+a.css(b,"marginRight",!0):d-=a.css(b,"paddingLeft",!0)+a.css(b,"paddingRight",!0)+a.css(b,"borderLeftWidth",!0)+a.css(b,"borderRightWidth",!0),d},a}]);
diff --git a/dist/modules/dropdown.js b/dist/modules/dropdown.js
index 8e3402e19..6175180fe 100644
--- a/dist/modules/dropdown.js
+++ b/dist/modules/dropdown.js
@@ -1,8 +1,8 @@
/**
* angular-strap
- * @version v2.0.0-rc.2 - 2014-01-29
+ * @version v2.0.0-rc.3 - 2014-02-10
* @link http://mgcrea.github.io/angular-strap
- * @author [object Object]
+ * @author Olivier Louvignes (olivier@mg-crea.com)
* @license MIT License, http://www.opensource.org/licenses/MIT
*/
'use strict';
diff --git a/dist/modules/dropdown.min.js b/dist/modules/dropdown.min.js
index 1a16e6602..a8adf1a11 100644
--- a/dist/modules/dropdown.min.js
+++ b/dist/modules/dropdown.min.js
@@ -1,8 +1,8 @@
/**
* angular-strap
- * @version v2.0.0-rc.2 - 2014-01-29
+ * @version v2.0.0-rc.3 - 2014-02-10
* @link http://mgcrea.github.io/angular-strap
- * @author [object Object]
+ * @author Olivier Louvignes (olivier@mg-crea.com)
* @license MIT License, http://www.opensource.org/licenses/MIT
*/
"use strict";angular.module("mgcrea.ngStrap.dropdown",["mgcrea.ngStrap.tooltip"]).provider("$dropdown",function(){var a=this.defaults={animation:"am-fade",prefixClass:"dropdown",placement:"bottom-left",template:"dropdown/dropdown.tpl.html",trigger:"click",container:!1,keyboard:!0,html:!1,delay:0};this.$get=["$window","$tooltip",function(b,c){function d(b,d){function g(a){return a.target!==b[0]?a.target!==b[0]&&h.hide():void 0}var h={},i=angular.extend({},a,d);h=c(b,i),h.$onKeyDown=function(a){if(/(38|40)/.test(a.keyCode)){a.preventDefault(),a.stopPropagation();var b=angular.element(h.$element[0].querySelectorAll("li:not(.divider) a"));if(b.length){var c;angular.forEach(b,function(a,b){f&&f.call(a,":focus")&&(c=b)}),38===a.keyCode&&c>0?c--:40===a.keyCode&&c