rails-angular-strap 2.1.6 → 2.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (194) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -10
  3. data/lib/rails-angular-strap/version.rb +1 -1
  4. data/vendor/assets/javascripts/angular-strap.js +1 -1
  5. data/vendor/assets/javascripts/angular-strap.min.js +1 -1
  6. data/vendor/assets/javascripts/angular-strap/angular-strap.js +1405 -1104
  7. data/vendor/assets/javascripts/angular-strap/angular-strap.min.js +4 -5
  8. data/vendor/assets/javascripts/angular-strap/angular-strap.tpl.js +15 -15
  9. data/vendor/assets/javascripts/angular-strap/angular-strap.tpl.min.js +2 -2
  10. metadata +2 -192
  11. data/vendor/assets/javascripts/angular-strap-unstable.js +0 -2
  12. data/vendor/assets/javascripts/angular-strap-unstable.min.js +0 -2
  13. data/vendor/assets/javascripts/angular-strap/angular-strap.min.js.map +0 -1
  14. data/vendor/assets/javascripts/angular-strap/modules/affix.js +0 -249
  15. data/vendor/assets/javascripts/angular-strap/modules/affix.min.js +0 -9
  16. data/vendor/assets/javascripts/angular-strap/modules/affix.min.js.map +0 -1
  17. data/vendor/assets/javascripts/angular-strap/modules/alert.js +0 -120
  18. data/vendor/assets/javascripts/angular-strap/modules/alert.min.js +0 -9
  19. data/vendor/assets/javascripts/angular-strap/modules/alert.min.js.map +0 -1
  20. data/vendor/assets/javascripts/angular-strap/modules/alert.tpl.js +0 -14
  21. data/vendor/assets/javascripts/angular-strap/modules/alert.tpl.min.js +0 -8
  22. data/vendor/assets/javascripts/angular-strap/modules/aside.js +0 -96
  23. data/vendor/assets/javascripts/angular-strap/modules/aside.min.js +0 -9
  24. data/vendor/assets/javascripts/angular-strap/modules/aside.min.js.map +0 -1
  25. data/vendor/assets/javascripts/angular-strap/modules/aside.tpl.js +0 -14
  26. data/vendor/assets/javascripts/angular-strap/modules/aside.tpl.min.js +0 -8
  27. data/vendor/assets/javascripts/angular-strap/modules/button.js +0 -177
  28. data/vendor/assets/javascripts/angular-strap/modules/button.min.js +0 -9
  29. data/vendor/assets/javascripts/angular-strap/modules/button.min.js.map +0 -1
  30. data/vendor/assets/javascripts/angular-strap/modules/collapse.js +0 -273
  31. data/vendor/assets/javascripts/angular-strap/modules/collapse.min.js +0 -9
  32. data/vendor/assets/javascripts/angular-strap/modules/collapse.min.js.map +0 -1
  33. data/vendor/assets/javascripts/angular-strap/modules/date-formatter.js +0 -61
  34. data/vendor/assets/javascripts/angular-strap/modules/date-formatter.min.js +0 -9
  35. data/vendor/assets/javascripts/angular-strap/modules/date-formatter.min.js.map +0 -1
  36. data/vendor/assets/javascripts/angular-strap/modules/date-parser.js +0 -273
  37. data/vendor/assets/javascripts/angular-strap/modules/date-parser.min.js +0 -9
  38. data/vendor/assets/javascripts/angular-strap/modules/date-parser.min.js.map +0 -1
  39. data/vendor/assets/javascripts/angular-strap/modules/datepicker.js +0 -640
  40. data/vendor/assets/javascripts/angular-strap/modules/datepicker.min.js +0 -9
  41. data/vendor/assets/javascripts/angular-strap/modules/datepicker.min.js.map +0 -1
  42. data/vendor/assets/javascripts/angular-strap/modules/datepicker.tpl.js +0 -14
  43. data/vendor/assets/javascripts/angular-strap/modules/datepicker.tpl.min.js +0 -8
  44. data/vendor/assets/javascripts/angular-strap/modules/debounce.js +0 -62
  45. data/vendor/assets/javascripts/angular-strap/modules/debounce.min.js +0 -9
  46. data/vendor/assets/javascripts/angular-strap/modules/debounce.min.js.map +0 -1
  47. data/vendor/assets/javascripts/angular-strap/modules/dimensions.js +0 -156
  48. data/vendor/assets/javascripts/angular-strap/modules/dimensions.min.js +0 -9
  49. data/vendor/assets/javascripts/angular-strap/modules/dimensions.min.js.map +0 -1
  50. data/vendor/assets/javascripts/angular-strap/modules/dropdown.js +0 -149
  51. data/vendor/assets/javascripts/angular-strap/modules/dropdown.min.js +0 -9
  52. data/vendor/assets/javascripts/angular-strap/modules/dropdown.min.js.map +0 -1
  53. data/vendor/assets/javascripts/angular-strap/modules/dropdown.tpl.js +0 -14
  54. data/vendor/assets/javascripts/angular-strap/modules/dropdown.tpl.min.js +0 -8
  55. data/vendor/assets/javascripts/angular-strap/modules/modal.js +0 -349
  56. data/vendor/assets/javascripts/angular-strap/modules/modal.min.js +0 -9
  57. data/vendor/assets/javascripts/angular-strap/modules/modal.min.js.map +0 -1
  58. data/vendor/assets/javascripts/angular-strap/modules/modal.tpl.js +0 -14
  59. data/vendor/assets/javascripts/angular-strap/modules/modal.tpl.min.js +0 -8
  60. data/vendor/assets/javascripts/angular-strap/modules/navbar.js +0 -72
  61. data/vendor/assets/javascripts/angular-strap/modules/navbar.min.js +0 -9
  62. data/vendor/assets/javascripts/angular-strap/modules/navbar.min.js.map +0 -1
  63. data/vendor/assets/javascripts/angular-strap/modules/parse-options.js +0 -76
  64. data/vendor/assets/javascripts/angular-strap/modules/parse-options.min.js +0 -9
  65. data/vendor/assets/javascripts/angular-strap/modules/parse-options.min.js.map +0 -1
  66. data/vendor/assets/javascripts/angular-strap/modules/popover.js +0 -112
  67. data/vendor/assets/javascripts/angular-strap/modules/popover.min.js +0 -9
  68. data/vendor/assets/javascripts/angular-strap/modules/popover.min.js.map +0 -1
  69. data/vendor/assets/javascripts/angular-strap/modules/popover.tpl.js +0 -14
  70. data/vendor/assets/javascripts/angular-strap/modules/popover.tpl.min.js +0 -8
  71. data/vendor/assets/javascripts/angular-strap/modules/raf.js +0 -61
  72. data/vendor/assets/javascripts/angular-strap/modules/raf.min.js +0 -9
  73. data/vendor/assets/javascripts/angular-strap/modules/raf.min.js.map +0 -1
  74. data/vendor/assets/javascripts/angular-strap/modules/scrollspy.js +0 -261
  75. data/vendor/assets/javascripts/angular-strap/modules/scrollspy.min.js +0 -9
  76. data/vendor/assets/javascripts/angular-strap/modules/scrollspy.min.js.map +0 -1
  77. data/vendor/assets/javascripts/angular-strap/modules/select.js +0 -325
  78. data/vendor/assets/javascripts/angular-strap/modules/select.min.js +0 -9
  79. data/vendor/assets/javascripts/angular-strap/modules/select.min.js.map +0 -1
  80. data/vendor/assets/javascripts/angular-strap/modules/select.tpl.js +0 -14
  81. data/vendor/assets/javascripts/angular-strap/modules/select.tpl.min.js +0 -8
  82. data/vendor/assets/javascripts/angular-strap/modules/tab.js +0 -186
  83. data/vendor/assets/javascripts/angular-strap/modules/tab.min.js +0 -9
  84. data/vendor/assets/javascripts/angular-strap/modules/tab.min.js.map +0 -1
  85. data/vendor/assets/javascripts/angular-strap/modules/tab.tpl.js +0 -14
  86. data/vendor/assets/javascripts/angular-strap/modules/tab.tpl.min.js +0 -8
  87. data/vendor/assets/javascripts/angular-strap/modules/timepicker.js +0 -485
  88. data/vendor/assets/javascripts/angular-strap/modules/timepicker.min.js +0 -9
  89. data/vendor/assets/javascripts/angular-strap/modules/timepicker.min.js.map +0 -1
  90. data/vendor/assets/javascripts/angular-strap/modules/timepicker.tpl.js +0 -14
  91. data/vendor/assets/javascripts/angular-strap/modules/timepicker.tpl.min.js +0 -8
  92. data/vendor/assets/javascripts/angular-strap/modules/tooltip.js +0 -690
  93. data/vendor/assets/javascripts/angular-strap/modules/tooltip.min.js +0 -9
  94. data/vendor/assets/javascripts/angular-strap/modules/tooltip.min.js.map +0 -1
  95. data/vendor/assets/javascripts/angular-strap/modules/tooltip.tpl.js +0 -14
  96. data/vendor/assets/javascripts/angular-strap/modules/tooltip.tpl.min.js +0 -8
  97. data/vendor/assets/javascripts/angular-strap/modules/typeahead.js +0 -266
  98. data/vendor/assets/javascripts/angular-strap/modules/typeahead.min.js +0 -9
  99. data/vendor/assets/javascripts/angular-strap/modules/typeahead.min.js.map +0 -1
  100. data/vendor/assets/javascripts/angular-strap/modules/typeahead.tpl.js +0 -14
  101. data/vendor/assets/javascripts/angular-strap/modules/typeahead.tpl.min.js +0 -8
  102. data/vendor/assets/javascripts/angular-strap/unstable/angular-strap.js +0 -5040
  103. data/vendor/assets/javascripts/angular-strap/unstable/angular-strap.min.js +0 -11
  104. data/vendor/assets/javascripts/angular-strap/unstable/angular-strap.min.js.map +0 -1
  105. data/vendor/assets/javascripts/angular-strap/unstable/angular-strap.tpl.js +0 -89
  106. data/vendor/assets/javascripts/angular-strap/unstable/angular-strap.tpl.min.js +0 -8
  107. data/vendor/assets/javascripts/angular-strap/unstable/modules/affix.js +0 -249
  108. data/vendor/assets/javascripts/angular-strap/unstable/modules/affix.min.js +0 -9
  109. data/vendor/assets/javascripts/angular-strap/unstable/modules/affix.min.js.map +0 -1
  110. data/vendor/assets/javascripts/angular-strap/unstable/modules/alert.js +0 -120
  111. data/vendor/assets/javascripts/angular-strap/unstable/modules/alert.min.js +0 -9
  112. data/vendor/assets/javascripts/angular-strap/unstable/modules/alert.min.js.map +0 -1
  113. data/vendor/assets/javascripts/angular-strap/unstable/modules/alert.tpl.js +0 -14
  114. data/vendor/assets/javascripts/angular-strap/unstable/modules/alert.tpl.min.js +0 -8
  115. data/vendor/assets/javascripts/angular-strap/unstable/modules/aside.js +0 -96
  116. data/vendor/assets/javascripts/angular-strap/unstable/modules/aside.min.js +0 -9
  117. data/vendor/assets/javascripts/angular-strap/unstable/modules/aside.min.js.map +0 -1
  118. data/vendor/assets/javascripts/angular-strap/unstable/modules/aside.tpl.js +0 -14
  119. data/vendor/assets/javascripts/angular-strap/unstable/modules/aside.tpl.min.js +0 -8
  120. data/vendor/assets/javascripts/angular-strap/unstable/modules/button.js +0 -177
  121. data/vendor/assets/javascripts/angular-strap/unstable/modules/button.min.js +0 -9
  122. data/vendor/assets/javascripts/angular-strap/unstable/modules/button.min.js.map +0 -1
  123. data/vendor/assets/javascripts/angular-strap/unstable/modules/collapse.js +0 -273
  124. data/vendor/assets/javascripts/angular-strap/unstable/modules/collapse.min.js +0 -9
  125. data/vendor/assets/javascripts/angular-strap/unstable/modules/collapse.min.js.map +0 -1
  126. data/vendor/assets/javascripts/angular-strap/unstable/modules/date-formatter.js +0 -61
  127. data/vendor/assets/javascripts/angular-strap/unstable/modules/date-formatter.min.js +0 -9
  128. data/vendor/assets/javascripts/angular-strap/unstable/modules/date-formatter.min.js.map +0 -1
  129. data/vendor/assets/javascripts/angular-strap/unstable/modules/date-parser.js +0 -273
  130. data/vendor/assets/javascripts/angular-strap/unstable/modules/date-parser.min.js +0 -9
  131. data/vendor/assets/javascripts/angular-strap/unstable/modules/date-parser.min.js.map +0 -1
  132. data/vendor/assets/javascripts/angular-strap/unstable/modules/datepicker.js +0 -640
  133. data/vendor/assets/javascripts/angular-strap/unstable/modules/datepicker.min.js +0 -9
  134. data/vendor/assets/javascripts/angular-strap/unstable/modules/datepicker.min.js.map +0 -1
  135. data/vendor/assets/javascripts/angular-strap/unstable/modules/datepicker.tpl.js +0 -14
  136. data/vendor/assets/javascripts/angular-strap/unstable/modules/datepicker.tpl.min.js +0 -8
  137. data/vendor/assets/javascripts/angular-strap/unstable/modules/debounce.js +0 -62
  138. data/vendor/assets/javascripts/angular-strap/unstable/modules/debounce.min.js +0 -9
  139. data/vendor/assets/javascripts/angular-strap/unstable/modules/debounce.min.js.map +0 -1
  140. data/vendor/assets/javascripts/angular-strap/unstable/modules/dimensions.js +0 -156
  141. data/vendor/assets/javascripts/angular-strap/unstable/modules/dimensions.min.js +0 -9
  142. data/vendor/assets/javascripts/angular-strap/unstable/modules/dimensions.min.js.map +0 -1
  143. data/vendor/assets/javascripts/angular-strap/unstable/modules/dropdown.js +0 -149
  144. data/vendor/assets/javascripts/angular-strap/unstable/modules/dropdown.min.js +0 -9
  145. data/vendor/assets/javascripts/angular-strap/unstable/modules/dropdown.min.js.map +0 -1
  146. data/vendor/assets/javascripts/angular-strap/unstable/modules/dropdown.tpl.js +0 -14
  147. data/vendor/assets/javascripts/angular-strap/unstable/modules/dropdown.tpl.min.js +0 -8
  148. data/vendor/assets/javascripts/angular-strap/unstable/modules/modal.js +0 -357
  149. data/vendor/assets/javascripts/angular-strap/unstable/modules/modal.min.js +0 -9
  150. data/vendor/assets/javascripts/angular-strap/unstable/modules/modal.min.js.map +0 -1
  151. data/vendor/assets/javascripts/angular-strap/unstable/modules/modal.tpl.js +0 -14
  152. data/vendor/assets/javascripts/angular-strap/unstable/modules/modal.tpl.min.js +0 -8
  153. data/vendor/assets/javascripts/angular-strap/unstable/modules/navbar.js +0 -72
  154. data/vendor/assets/javascripts/angular-strap/unstable/modules/navbar.min.js +0 -9
  155. data/vendor/assets/javascripts/angular-strap/unstable/modules/navbar.min.js.map +0 -1
  156. data/vendor/assets/javascripts/angular-strap/unstable/modules/parse-options.js +0 -76
  157. data/vendor/assets/javascripts/angular-strap/unstable/modules/parse-options.min.js +0 -9
  158. data/vendor/assets/javascripts/angular-strap/unstable/modules/parse-options.min.js.map +0 -1
  159. data/vendor/assets/javascripts/angular-strap/unstable/modules/popover.js +0 -112
  160. data/vendor/assets/javascripts/angular-strap/unstable/modules/popover.min.js +0 -9
  161. data/vendor/assets/javascripts/angular-strap/unstable/modules/popover.min.js.map +0 -1
  162. data/vendor/assets/javascripts/angular-strap/unstable/modules/popover.tpl.js +0 -14
  163. data/vendor/assets/javascripts/angular-strap/unstable/modules/popover.tpl.min.js +0 -8
  164. data/vendor/assets/javascripts/angular-strap/unstable/modules/raf.js +0 -61
  165. data/vendor/assets/javascripts/angular-strap/unstable/modules/raf.min.js +0 -9
  166. data/vendor/assets/javascripts/angular-strap/unstable/modules/raf.min.js.map +0 -1
  167. data/vendor/assets/javascripts/angular-strap/unstable/modules/scrollspy.js +0 -261
  168. data/vendor/assets/javascripts/angular-strap/unstable/modules/scrollspy.min.js +0 -9
  169. data/vendor/assets/javascripts/angular-strap/unstable/modules/scrollspy.min.js.map +0 -1
  170. data/vendor/assets/javascripts/angular-strap/unstable/modules/select.js +0 -328
  171. data/vendor/assets/javascripts/angular-strap/unstable/modules/select.min.js +0 -9
  172. data/vendor/assets/javascripts/angular-strap/unstable/modules/select.min.js.map +0 -1
  173. data/vendor/assets/javascripts/angular-strap/unstable/modules/select.tpl.js +0 -14
  174. data/vendor/assets/javascripts/angular-strap/unstable/modules/select.tpl.min.js +0 -8
  175. data/vendor/assets/javascripts/angular-strap/unstable/modules/tab.js +0 -186
  176. data/vendor/assets/javascripts/angular-strap/unstable/modules/tab.min.js +0 -9
  177. data/vendor/assets/javascripts/angular-strap/unstable/modules/tab.min.js.map +0 -1
  178. data/vendor/assets/javascripts/angular-strap/unstable/modules/tab.tpl.js +0 -14
  179. data/vendor/assets/javascripts/angular-strap/unstable/modules/tab.tpl.min.js +0 -8
  180. data/vendor/assets/javascripts/angular-strap/unstable/modules/timepicker.js +0 -485
  181. data/vendor/assets/javascripts/angular-strap/unstable/modules/timepicker.min.js +0 -9
  182. data/vendor/assets/javascripts/angular-strap/unstable/modules/timepicker.min.js.map +0 -1
  183. data/vendor/assets/javascripts/angular-strap/unstable/modules/timepicker.tpl.js +0 -14
  184. data/vendor/assets/javascripts/angular-strap/unstable/modules/timepicker.tpl.min.js +0 -8
  185. data/vendor/assets/javascripts/angular-strap/unstable/modules/tooltip.js +0 -705
  186. data/vendor/assets/javascripts/angular-strap/unstable/modules/tooltip.min.js +0 -9
  187. data/vendor/assets/javascripts/angular-strap/unstable/modules/tooltip.min.js.map +0 -1
  188. data/vendor/assets/javascripts/angular-strap/unstable/modules/tooltip.tpl.js +0 -14
  189. data/vendor/assets/javascripts/angular-strap/unstable/modules/tooltip.tpl.min.js +0 -8
  190. data/vendor/assets/javascripts/angular-strap/unstable/modules/typeahead.js +0 -266
  191. data/vendor/assets/javascripts/angular-strap/unstable/modules/typeahead.min.js +0 -9
  192. data/vendor/assets/javascripts/angular-strap/unstable/modules/typeahead.min.js.map +0 -1
  193. data/vendor/assets/javascripts/angular-strap/unstable/modules/typeahead.tpl.js +0 -14
  194. data/vendor/assets/javascripts/angular-strap/unstable/modules/typeahead.tpl.min.js +0 -8
@@ -1,11 +0,0 @@
1
- /**
2
- * angular-strap
3
- * @version v2.1.6 - 2015-02-08
4
- * @link http://mgcrea.github.io/angular-strap
5
- * @author Olivier Louvignes (olivier@mg-crea.com)
6
- * @license MIT License, http://www.opensource.org/licenses/MIT
7
- */
8
- !function(e,t,n){"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","mgcrea.ngStrap.collapse"]),angular.module("mgcrea.ngStrap.affix",["mgcrea.ngStrap.helpers.dimensions","mgcrea.ngStrap.helpers.debounce"]).provider("$affix",function(){var e=this.defaults={offsetTop:"auto"};this.$get=["$window","debounce","dimensions",function(t,n,a){function o(o,s){function l(e,t,n){var a=u(),o=c();return v>=a?"top":null!==e&&a+e<=t.top?"middle":null!==y&&t.top+n+$>=o-y?"bottom":"middle"}function u(){return p[0]===t?t.pageYOffset:p[0].scrollTop}function c(){return p[0]===t?t.document.body.scrollHeight:p[0].scrollHeight}var d={},f=angular.extend({},e,s),p=f.target,g="affix affix-top affix-bottom",m=!1,$=0,h=0,v=0,y=0,w=null,b=null,D=o.parent();if(f.offsetParent)if(f.offsetParent.match(/^\d+$/))for(var k=0;k<1*f.offsetParent-1;k++)D=D.parent();else D=angular.element(f.offsetParent);return d.init=function(){this.$parseOffsets(),h=a.offset(o[0]).top+$,m=!o[0].style.width,p.on("scroll",this.checkPosition),p.on("click",this.checkPositionWithEventLoop),r.on("resize",this.$debouncedOnResize),this.checkPosition(),this.checkPositionWithEventLoop()},d.destroy=function(){p.off("scroll",this.checkPosition),p.off("click",this.checkPositionWithEventLoop),r.off("resize",this.$debouncedOnResize)},d.checkPositionWithEventLoop=function(){setTimeout(d.checkPosition,1)},d.checkPosition=function(){var e=u(),t=a.offset(o[0]),n=a.height(o[0]),r=l(b,t,n);w!==r&&(w=r,o.removeClass(g).addClass("affix"+("middle"!==r?"-"+r:"")),"top"===r?(b=null,o.css("position",f.offsetParent?"":"relative"),m&&o.css("width",""),o.css("top","")):"bottom"===r?(b=f.offsetUnpin?-(1*f.offsetUnpin):t.top-e,m&&o.css("width",""),o.css("position",f.offsetParent?"":"relative"),o.css("top",f.offsetParent?"":i[0].offsetHeight-y-n-h+"px")):(b=null,m&&o.css("width",o[0].offsetWidth+"px"),o.css("position","fixed"),o.css("top",$+"px")))},d.$onResize=function(){d.$parseOffsets(),d.checkPosition()},d.$debouncedOnResize=n(d.$onResize,50),d.$parseOffsets=function(){var e=o.css("position");o.css("position",f.offsetParent?"":"relative"),f.offsetTop&&("auto"===f.offsetTop&&(f.offsetTop="+0"),f.offsetTop.match(/^[-+]\d+$/)?($=1*-f.offsetTop,v=f.offsetParent?a.offset(D[0]).top+1*f.offsetTop:a.offset(o[0]).top-a.css(o[0],"marginTop",!0)+1*f.offsetTop):v=1*f.offsetTop),f.offsetBottom&&(y=f.offsetParent&&f.offsetBottom.match(/^[-+]\d+$/)?c()-(a.offset(D[0]).top+a.height(D[0]))+1*f.offsetBottom+1:1*f.offsetBottom),o.css("position",e)},d.init(),d}var i=angular.element(t.document.body),r=angular.element(t);return o}]}).directive("bsAffix",["$affix","$window",function(e,t){return{restrict:"EAC",require:"^?bsAffixTarget",link:function(n,a,o,i){var r={scope:n,offsetTop:"auto",target:i?i.$element:angular.element(t)};angular.forEach(["offsetTop","offsetBottom","offsetParent","offsetUnpin"],function(e){angular.isDefined(o[e])&&(r[e]=o[e])});var s=e(a,r);n.$on("$destroy",function(){s&&s.destroy(),r=null,s=null})}}}]).directive("bsAffixTarget",function(){return{controller:["$element",function(e){this.$element=e}]}}),angular.module("mgcrea.ngStrap.alert",["mgcrea.ngStrap.modal"]).provider("$alert",function(){var e=this.defaults={animation:"am-fade",prefixClass:"alert",prefixEvent:"alert",placement:null,template:"alert/alert.tpl.html",container:!1,element:null,backdrop:!1,keyboard:!0,show:!0,duration:!1,type:!1,dismissable:!0};this.$get=["$modal","$timeout",function(t,n){function a(a){var o={},i=angular.extend({},e,a);o=t(i),o.$scope.dismissable=!!i.dismissable,i.type&&(o.$scope.type=i.type);var r=o.show;return i.duration&&(o.show=function(){r(),n(function(){o.hide()},1e3*i.duration)}),o}return a}]}).directive("bsAlert",["$window","$sce","$alert",function(e,t,n){e.requestAnimationFrame||e.setTimeout;return{restrict:"EAC",scope:!0,link:function(e,a,o){var i={scope:e,element:a,show:!1};angular.forEach(["template","placement","keyboard","html","container","animation","duration","dismissable"],function(e){angular.isDefined(o[e])&&(i[e]=o[e])}),angular.forEach(["title","content","type"],function(n){o[n]&&o.$observe(n,function(a){e[n]=t.trustAsHtml(a)})}),o.bsAlert&&e.$watch(o.bsAlert,function(t){angular.isObject(t)?angular.extend(e,t):e.content=t},!0);var r=n(i);a.on(o.trigger||"click",r.toggle),e.$on("$destroy",function(){r&&r.destroy(),i=null,r=null})}}}]),angular.module("mgcrea.ngStrap.aside",["mgcrea.ngStrap.modal"]).provider("$aside",function(){var e=this.defaults={animation:"am-fade-and-slide-right",prefixClass:"aside",prefixEvent:"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(t){function n(n){var a={},o=angular.extend({},e,n);return a=t(o)}return n}]}).directive("bsAside",["$window","$sce","$aside",function(e,t,n){e.requestAnimationFrame||e.setTimeout;return{restrict:"EAC",scope:!0,link:function(e,a,o){var i={scope:e,element:a,show:!1};angular.forEach(["template","contentTemplate","placement","backdrop","keyboard","html","container","animation"],function(e){angular.isDefined(o[e])&&(i[e]=o[e])}),angular.forEach(["title","content"],function(n){o[n]&&o.$observe(n,function(a){e[n]=t.trustAsHtml(a)})}),o.bsAside&&e.$watch(o.bsAside,function(t){angular.isObject(t)?angular.extend(e,t):e.content=t},!0);var r=n(i);a.on(o.trigger||"click",r.toggle),e.$on("$destroy",function(){r&&r.destroy(),i=null,r=null})}}}]),angular.module("mgcrea.ngStrap.button",[]).provider("$button",function(){var e=this.defaults={activeClass:"active",toggleEvent:"click"};this.$get=function(){return{defaults:e}}}).directive("bsCheckboxGroup",function(){return{restrict:"A",require:"ngModel",compile:function(e,t){e.attr("data-toggle","buttons"),e.removeAttr("ng-model");var n=e[0].querySelectorAll('input[type="checkbox"]');angular.forEach(n,function(e){var n=angular.element(e);n.attr("bs-checkbox",""),n.attr("ng-model",t.ngModel+"."+n.attr("value"))})}}}).directive("bsCheckbox",["$button","$$rAF",function(e,t){var n=e.defaults,a=/^(true|false|\d+)$/;return{restrict:"A",require:"ngModel",link:function(e,o,i,r){var s=n,l="INPUT"===o[0].nodeName,u=l?o.parent():o,c=angular.isDefined(i.trueValue)?i.trueValue:!0;a.test(i.trueValue)&&(c=e.$eval(i.trueValue));var d=angular.isDefined(i.falseValue)?i.falseValue:!1;a.test(i.falseValue)&&(d=e.$eval(i.falseValue));var f="boolean"!=typeof c||"boolean"!=typeof d;f&&(r.$parsers.push(function(e){return e?c:d}),r.$formatters.push(function(e){return angular.equals(e,c)}),e.$watch(i.ngModel,function(){r.$render()})),r.$render=function(){var e=angular.equals(r.$modelValue,c);t(function(){l&&(o[0].checked=e),u.toggleClass(s.activeClass,e)})},o.bind(s.toggleEvent,function(){e.$apply(function(){l||r.$setViewValue(!u.hasClass("active")),f||r.$render()})})}}}]).directive("bsRadioGroup",function(){return{restrict:"A",require:"ngModel",compile:function(e,t){e.attr("data-toggle","buttons"),e.removeAttr("ng-model");var n=e[0].querySelectorAll('input[type="radio"]');angular.forEach(n,function(e){angular.element(e).attr("bs-radio",""),angular.element(e).attr("ng-model",t.ngModel)})}}}).directive("bsRadio",["$button","$$rAF",function(e,t){var n=e.defaults,a=/^(true|false|\d+)$/;return{restrict:"A",require:"ngModel",link:function(e,o,i,r){var s=n,l="INPUT"===o[0].nodeName,u=l?o.parent():o,c=a.test(i.value)?e.$eval(i.value):i.value;r.$render=function(){var e=angular.equals(r.$modelValue,c);t(function(){l&&(o[0].checked=e),u.toggleClass(s.activeClass,e)})},o.bind(s.toggleEvent,function(){e.$apply(function(){r.$setViewValue(c),r.$render()})})}}}]),angular.module("mgcrea.ngStrap.collapse",[]).provider("$collapse",function(){var e=this.defaults={animation:"am-collapse",disallowToggle:!1,activeClass:"in",startCollapsed:!1,allowMultiple:!1},t=this.controller=function(t,n,a){function o(e){for(var t=l.$targets.$active,n=0;n<t.length;n++)e<t[n]&&(t[n]=t[n]-1),t[n]===l.$targets.length&&(t[n]=l.$targets.length-1)}function i(e){var t=l.$targets.$active;return-1===t.indexOf(e)?!1:!0}function r(e){var t=l.$targets.$active.indexOf(e);-1!==t&&l.$targets.$active.splice(t,1)}function s(e){l.$options.allowMultiple||l.$targets.$active.splice(0,1),-1===l.$targets.$active.indexOf(e)&&l.$targets.$active.push(e)}var l=this;l.$options=angular.copy(e),angular.forEach(["animation","disallowToggle","activeClass","startCollapsed","allowMultiple"],function(e){angular.isDefined(a[e])&&(l.$options[e]=a[e])}),l.$toggles=[],l.$targets=[],l.$viewChangeListeners=[],l.$registerToggle=function(e){l.$toggles.push(e)},l.$registerTarget=function(e){l.$targets.push(e)},l.$unregisterToggle=function(e){var t=l.$toggles.indexOf(e);l.$toggles.splice(t,1)},l.$unregisterTarget=function(e){var t=l.$targets.indexOf(e);l.$targets.splice(t,1),l.$options.allowMultiple&&r(e),o(t),l.$viewChangeListeners.forEach(function(e){e()})},l.$targets.$active=l.$options.startCollapsed?[]:[0],l.$setActive=t.$setActive=function(e){angular.isArray(e)?l.$targets.$active=angular.copy(e):l.$options.disallowToggle?s(e):i(e)?r(e):s(e),l.$viewChangeListeners.forEach(function(e){e()})},l.$activeIndexes=function(){return l.$options.allowMultiple?l.$targets.$active:1===l.$targets.$active.length?l.$targets.$active[0]:-1}};this.$get=function(){var n={};return n.defaults=e,n.controller=t,n}}).directive("bsCollapse",["$window","$animate","$collapse",function(e,t,n){n.defaults;return{require:["?ngModel","bsCollapse"],controller:["$scope","$element","$attrs",n.controller],link:function(e,t,n,a){var o=a[0],i=a[1];o&&(i.$viewChangeListeners.push(function(){o.$setViewValue(i.$activeIndexes())}),o.$formatters.push(function(e){if(angular.isArray(e))i.$setActive(e);else{var t=i.$activeIndexes();angular.isArray(t)?-1===t.indexOf(1*e)&&i.$setActive(1*e):t!==1*e&&i.$setActive(1*e)}return e}))}}}]).directive("bsCollapseToggle",function(){return{require:["^?ngModel","^bsCollapse"],link:function(e,t,n,a){var o=(a[0],a[1]);t.attr("data-toggle","collapse"),o.$registerToggle(t),e.$on("$destroy",function(){o.$unregisterToggle(t)}),t.on("click",function(){var a=n.bsCollapseToggle||o.$toggles.indexOf(t);o.$setActive(1*a),e.$apply()})}}}).directive("bsCollapseTarget",["$animate",function(e){return{require:["^?ngModel","^bsCollapse"],link:function(t,n,a,o){function i(){var t=r.$targets.indexOf(n),a=r.$activeIndexes(),o="removeClass";angular.isArray(a)?-1!==a.indexOf(t)&&(o="addClass"):t===a&&(o="addClass"),e[o](n,r.$options.activeClass)}var r=(o[0],o[1]);n.addClass("collapse"),r.$options.animation&&n.addClass(r.$options.animation),r.$registerTarget(n),t.$on("$destroy",function(){r.$unregisterTarget(n)}),r.$viewChangeListeners.push(function(){i()}),i()}}}]),angular.module("mgcrea.ngStrap.datepicker",["mgcrea.ngStrap.helpers.dateParser","mgcrea.ngStrap.helpers.dateFormatter","mgcrea.ngStrap.tooltip"]).provider("$datepicker",function(){var e=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",modelDateFormat:null,dayFormat:"dd",monthFormat:"MMM",yearFormat:"yyyy",monthTitleFormat:"MMMM yyyy",yearTitleFormat:"yyyy",strictFormat:!1,autoclose:!1,minDate:-1/0,maxDate:+1/0,startView:0,minView:0,startWeek:0,daysOfWeekDisabled:"",iconLeft:"glyphicon glyphicon-chevron-left",iconRight:"glyphicon glyphicon-chevron-right"};this.$get=["$window","$document","$rootScope","$sce","$dateFormatter","datepickerViews","$tooltip","$timeout",function(t,n,a,o,i,r,s,l){function u(t,n,a){function o(e){e.selected=u.$isSelected(e.date)}function i(){t[0].focus()}var u=s(t,angular.extend({},e,a)),f=a.scope,p=u.$options,g=u.$scope;p.startView&&(p.startView-=p.minView);var m=r(u);u.$views=m.views;var $=m.viewDate;g.$mode=p.startView,g.$iconLeft=p.iconLeft,g.$iconRight=p.iconRight;var h=u.$views[g.$mode];g.$select=function(e){u.select(e)},g.$selectPane=function(e){u.$selectPane(e)},g.$toggleMode=function(){u.setMode((g.$mode+1)%u.$views.length)},u.update=function(e){angular.isDate(e)&&!isNaN(e.getTime())&&(u.$date=e,h.update.call(h,e)),u.$build(!0)},u.updateDisabledDates=function(e){p.disabledDateRanges=e;for(var t=0,n=g.rows.length;n>t;t++)angular.forEach(g.rows[t],u.$setDisabledEl)},u.select=function(e,t){angular.isDate(n.$dateValue)||(n.$dateValue=new Date(e)),!g.$mode||t?(n.$setViewValue(angular.copy(e)),n.$render(),p.autoclose&&!t&&l(function(){u.hide(!0)})):(angular.extend($,{year:e.getFullYear(),month:e.getMonth(),date:e.getDate()}),u.setMode(g.$mode-1),u.$build())},u.setMode=function(e){g.$mode=e,h=u.$views[g.$mode],u.$build()},u.$build=function(e){e===!0&&h.built||(e!==!1||h.built)&&h.build.call(h)},u.$updateSelected=function(){for(var e=0,t=g.rows.length;t>e;e++)angular.forEach(g.rows[e],o)},u.$isSelected=function(e){return h.isSelected(e)},u.$setDisabledEl=function(e){e.disabled=h.isDisabled(e.date)},u.$selectPane=function(e){var t=h.steps,n=new Date(Date.UTC($.year+(t.year||0)*e,$.month+(t.month||0)*e,1));angular.extend($,{year:n.getUTCFullYear(),month:n.getUTCMonth(),date:n.getUTCDate()}),u.$build()},u.$onMouseDown=function(e){if(e.preventDefault(),e.stopPropagation(),d){var t=angular.element(e.target);"button"!==t[0].nodeName.toLowerCase()&&(t=t.parent()),t.triggerHandler("click")}},u.$onKeyDown=function(e){if(/(38|37|39|40|13)/.test(e.keyCode)&&!e.shiftKey&&!e.altKey){if(e.preventDefault(),e.stopPropagation(),13===e.keyCode)return g.$mode?g.$apply(function(){u.setMode(g.$mode-1)}):u.hide(!0);h.onKeyDown(e),f.$digest()}};var v=u.init;u.init=function(){return c&&p.useNative?(t.prop("type","date"),void t.css("-webkit-appearance","textfield")):(d&&(t.prop("type","text"),t.attr("readonly","true"),t.on("click",i)),void v())};var y=u.destroy;u.destroy=function(){c&&p.useNative&&t.off("click",i),y()};var w=u.show;u.show=function(){w(),l(function(){u.$isShown&&(u.$element.on(d?"touchstart":"mousedown",u.$onMouseDown),p.keyboard&&t.on("keydown",u.$onKeyDown))},0,!1)};var b=u.hide;return u.hide=function(e){u.$isShown&&(u.$element.off(d?"touchstart":"mousedown",u.$onMouseDown),p.keyboard&&t.off("keydown",u.$onKeyDown),b(e))},u}var c=(angular.element(t.document.body),/(ip(a|o)d|iphone|android)/gi.test(t.navigator.userAgent)),d="createTouch"in t.document&&c;return e.lang||(e.lang=i.getDefaultLocale()),u.defaults=e,u}]}).directive("bsDatepicker",["$window","$parse","$q","$dateFormatter","$dateParser","$datepicker",function(e,t,n,a,o,i){var r=(i.defaults,/(ip(a|o)d|iphone|android)/gi.test(e.navigator.userAgent));return{restrict:"EAC",require:"ngModel",link:function(e,t,n,s){function l(e){return e&&e.length?e:null}function u(e){if(angular.isDate(e)){var t=isNaN(f.$options.minDate)||e.getTime()>=f.$options.minDate,n=isNaN(f.$options.maxDate)||e.getTime()<=f.$options.maxDate,a=t&&n;s.$setValidity("date",a),s.$setValidity("min",t),s.$setValidity("max",n),a&&(s.$dateValue=e)}}function c(){return!s.$dateValue||isNaN(s.$dateValue.getTime())?"":g(s.$dateValue,d.dateFormat)}var d={scope:e,controller:s};angular.forEach(["placement","container","delay","trigger","keyboard","html","animation","template","autoclose","dateType","dateFormat","modelDateFormat","dayFormat","strictFormat","startWeek","startDate","useNative","lang","startView","minView","iconLeft","iconRight","daysOfWeekDisabled","id"],function(e){angular.isDefined(n[e])&&(d[e]=n[e])}),n.bsShow&&e.$watch(n.bsShow,function(e){f&&angular.isDefined(e)&&(angular.isString(e)&&(e=!!e.match(/true|,?(datepicker),?/i)),e===!0?f.show():f.hide())});var f=i(t,s,d);d=f.$options,r&&d.useNative&&(d.dateFormat="yyyy-MM-dd");var p=d.lang,g=function(e,t){return a.formatDate(e,t,p)},m=o({format:d.dateFormat,lang:p,strict:d.strictFormat});angular.forEach(["minDate","maxDate"],function(e){angular.isDefined(n[e])&&n.$observe(e,function(t){f.$options[e]=m.getDateForAttribute(e,t),!isNaN(f.$options[e])&&f.$build(!1),u(s.$dateValue)})}),e.$watch(n.ngModel,function(){f.update(s.$dateValue)},!0),angular.isDefined(n.disabledDates)&&e.$watch(n.disabledDates,function(e,t){e=l(e),t=l(t),e&&f.updateDisabledDates(e)}),s.$parsers.unshift(function(e){if(!e)return s.$setValidity("date",!0),null;var t=m.parse(e,s.$dateValue);return!t||isNaN(t.getTime())?void s.$setValidity("date",!1):(u(t),"string"===d.dateType?g(t,d.modelDateFormat||d.dateFormat):"number"===d.dateType?s.$dateValue.getTime():"unix"===d.dateType?s.$dateValue.getTime()/1e3:"iso"===d.dateType?s.$dateValue.toISOString():new Date(s.$dateValue))}),s.$formatters.push(function(e){var t;return t=angular.isUndefined(e)||null===e?0/0:angular.isDate(e)?e:"string"===d.dateType?m.parse(e,null,d.modelDateFormat):new Date("unix"===d.dateType?1e3*e:e),s.$dateValue=t,c()}),s.$render=function(){t.val(c())},e.$on("$destroy",function(){f&&f.destroy(),d=null,f=null})}}}]).provider("datepickerViews",function(){function e(e,t){for(var n=[];e.length>0;)n.push(e.splice(0,t));return n}function t(e,t){return(e%t+t)%t}this.defaults={dayFormat:"dd",daySplit:7};this.$get=["$dateFormatter","$dateParser","$sce",function(n,a,o){return function(i){var r=i.$scope,s=i.$options,l=s.lang,u=function(e,t){return n.formatDate(e,t,l)},c=a({format:s.dateFormat,lang:l,strict:s.strictFormat}),d=n.weekdaysShort(l),f=d.slice(s.startWeek).concat(d.slice(0,s.startWeek)),p=o.trustAsHtml('<th class="dow text-center">'+f.join('</th><th class="dow text-center">')+"</th>"),g=i.$date||(s.startDate?c.getDateForAttribute("startDate",s.startDate):new Date),m={year:g.getFullYear(),month:g.getMonth(),date:g.getDate()},$=(6e4*g.getTimezoneOffset(),[{format:s.dayFormat,split:7,steps:{month:1},update:function(e,t){!this.built||t||e.getFullYear()!==m.year||e.getMonth()!==m.month?(angular.extend(m,{year:i.$date.getFullYear(),month:i.$date.getMonth(),date:i.$date.getDate()}),i.$build()):e.getDate()!==m.date&&(m.date=i.$date.getDate(),i.$updateSelected())},build:function(){var n=new Date(m.year,m.month,1),a=n.getTimezoneOffset(),o=new Date(+n-864e5*t(n.getDay()-s.startWeek,7)),l=o.getTimezoneOffset(),d=(new Date).toDateString();l!==a&&(o=new Date(+o+6e4*(l-a)));for(var f,g=[],$=0;42>$;$++)f=c.daylightSavingAdjust(new Date(o.getFullYear(),o.getMonth(),o.getDate()+$)),g.push({date:f,isToday:f.toDateString()===d,label:u(f,this.format),selected:i.$date&&this.isSelected(f),muted:f.getMonth()!==m.month,disabled:this.isDisabled(f)});r.title=u(n,s.monthTitleFormat),r.showLabels=!0,r.labels=p,r.rows=e(g,this.split),this.built=!0},isSelected:function(e){return i.$date&&e.getFullYear()===i.$date.getFullYear()&&e.getMonth()===i.$date.getMonth()&&e.getDate()===i.$date.getDate()},isDisabled:function(e){var t=e.getTime();if(t<s.minDate||t>s.maxDate)return!0;if(-1!==s.daysOfWeekDisabled.indexOf(e.getDay()))return!0;if(s.disabledDateRanges)for(var n=0;n<s.disabledDateRanges.length;n++)if(t>=s.disabledDateRanges[n].start&&t<=s.disabledDateRanges[n].end)return!0;return!1},onKeyDown:function(e){if(i.$date){var t,n=i.$date.getTime();37===e.keyCode?t=new Date(n-864e5):38===e.keyCode?t=new Date(n-6048e5):39===e.keyCode?t=new Date(n+864e5):40===e.keyCode&&(t=new Date(n+6048e5)),this.isDisabled(t)||i.select(t,!0)}}},{name:"month",format:s.monthFormat,split:4,steps:{year:1},update:function(e){this.built&&e.getFullYear()===m.year?e.getMonth()!==m.month&&(angular.extend(m,{month:i.$date.getMonth(),date:i.$date.getDate()}),i.$updateSelected()):(angular.extend(m,{year:i.$date.getFullYear(),month:i.$date.getMonth(),date:i.$date.getDate()}),i.$build())},build:function(){for(var t,n=(new Date(m.year,0,1),[]),a=0;12>a;a++)t=new Date(m.year,a,1),n.push({date:t,label:u(t,this.format),selected:i.$isSelected(t),disabled:this.isDisabled(t)});r.title=u(t,s.yearTitleFormat),r.showLabels=!1,r.rows=e(n,this.split),this.built=!0},isSelected:function(e){return i.$date&&e.getFullYear()===i.$date.getFullYear()&&e.getMonth()===i.$date.getMonth()},isDisabled:function(e){var t=+new Date(e.getFullYear(),e.getMonth()+1,0);return t<s.minDate||e.getTime()>s.maxDate},onKeyDown:function(e){if(i.$date){var t=i.$date.getMonth(),n=new Date(i.$date);37===e.keyCode?n.setMonth(t-1):38===e.keyCode?n.setMonth(t-4):39===e.keyCode?n.setMonth(t+1):40===e.keyCode&&n.setMonth(t+4),this.isDisabled(n)||i.select(n,!0)}}},{name:"year",format:s.yearFormat,split:4,steps:{year:12},update:function(e,t){!this.built||t||parseInt(e.getFullYear()/20,10)!==parseInt(m.year/20,10)?(angular.extend(m,{year:i.$date.getFullYear(),month:i.$date.getMonth(),date:i.$date.getDate()}),i.$build()):e.getFullYear()!==m.year&&(angular.extend(m,{year:i.$date.getFullYear(),month:i.$date.getMonth(),date:i.$date.getDate()}),i.$updateSelected())},build:function(){for(var t,n=m.year-m.year%(3*this.split),a=[],o=0;12>o;o++)t=new Date(n+o,0,1),a.push({date:t,label:u(t,this.format),selected:i.$isSelected(t),disabled:this.isDisabled(t)});r.title=a[0].label+"-"+a[a.length-1].label,r.showLabels=!1,r.rows=e(a,this.split),this.built=!0},isSelected:function(e){return i.$date&&e.getFullYear()===i.$date.getFullYear()},isDisabled:function(e){var t=+new Date(e.getFullYear()+1,0,0);return t<s.minDate||e.getTime()>s.maxDate},onKeyDown:function(e){if(i.$date){var t=i.$date.getFullYear(),n=new Date(i.$date);37===e.keyCode?n.setYear(t-1):38===e.keyCode?n.setYear(t-4):39===e.keyCode?n.setYear(t+1):40===e.keyCode&&n.setYear(t+4),this.isDisabled(n)||i.select(n,!0)}}}]);return{views:s.minView?Array.prototype.slice.call($,s.minView):$,viewDate:m}}}]}),angular.module("mgcrea.ngStrap.dropdown",["mgcrea.ngStrap.tooltip"]).provider("$dropdown",function(){var e=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","$rootScope","$tooltip","$timeout",function(t,n,a,o){function i(t,i){function l(e){return e.target!==t[0]?e.target!==t[0]&&u.hide():void 0}{var u={},c=angular.extend({},e,i);u.$scope=c.scope&&c.scope.$new()||n.$new()}u=a(t,c);var d=t.parent();u.$onKeyDown=function(e){if(/(38|40)/.test(e.keyCode)){e.preventDefault(),e.stopPropagation();var t=angular.element(u.$element[0].querySelectorAll("li:not(.divider) a"));if(t.length){var n;angular.forEach(t,function(e,t){s&&s.call(e,":focus")&&(n=t)}),38===e.keyCode&&n>0?n--:40===e.keyCode&&n<t.length-1?n++:angular.isUndefined(n)&&(n=0),t.eq(n)[0].focus()}}};var f=u.show;u.show=function(){f(),o(function(){c.keyboard&&u.$element.on("keydown",u.$onKeyDown),r.on("click",l)},0,!1),d.hasClass("dropdown")&&d.addClass("open")};var p=u.hide;u.hide=function(){u.$isShown&&(c.keyboard&&u.$element.off("keydown",u.$onKeyDown),r.off("click",l),d.hasClass("dropdown")&&d.removeClass("open"),p())};var g=u.destroy;return u.destroy=function(){r.off("click",l),g()},u}var r=angular.element(t.document.body),s=Element.prototype.matchesSelector||Element.prototype.webkitMatchesSelector||Element.prototype.mozMatchesSelector||Element.prototype.msMatchesSelector||Element.prototype.oMatchesSelector;return i}]}).directive("bsDropdown",["$window","$sce","$dropdown",function(e,t,n){return{restrict:"EAC",scope:!0,link:function(e,t,a){var o={scope:e};angular.forEach(["placement","container","delay","trigger","keyboard","html","animation","template","id"],function(e){angular.isDefined(a[e])&&(o[e]=a[e])}),a.bsDropdown&&e.$watch(a.bsDropdown,function(t){e.content=t},!0),a.bsShow&&e.$watch(a.bsShow,function(e){i&&angular.isDefined(e)&&(angular.isString(e)&&(e=!!e.match(/true|,?(dropdown),?/i)),e===!0?i.show():i.hide())});var i=n(t,o);e.$on("$destroy",function(){i&&i.destroy(),o=null,i=null})}}}]),angular.module("mgcrea.ngStrap.helpers.dateFormatter",[]).service("$dateFormatter",["$locale","dateFilter",function(e,t){function n(e){return/(h+)([:\.])?(m+)[ ]?(a?)/i.exec(e).slice(1)}this.getDefaultLocale=function(){return e.id},this.getDatetimeFormat=function(t){return e.DATETIME_FORMATS[t]||t},this.weekdaysShort=function(){return e.DATETIME_FORMATS.SHORTDAY},this.hoursFormat=function(e){return n(e)[0]},this.minutesFormat=function(e){return n(e)[2]},this.timeSeparator=function(e){return n(e)[1]},this.showAM=function(e){return!!n(e)[3]},this.formatDate=function(e,n){return t(e,n)}}]),angular.module("mgcrea.ngStrap.helpers.dateParser",[]).provider("$dateParser",["$localeProvider",function(){function e(){this.year=1970,this.month=0,this.day=1,this.hours=0,this.minutes=0,this.seconds=0,this.milliseconds=0}function t(){}function n(e){return!isNaN(parseFloat(e))&&isFinite(e)}function a(e,t){for(var n=e.length,a=t.toString().toLowerCase(),o=0;n>o;o++)if(e[o].toLowerCase()===a)return o;return-1}e.prototype.setMilliseconds=function(e){this.milliseconds=e},e.prototype.setSeconds=function(e){this.seconds=e},e.prototype.setMinutes=function(e){this.minutes=e},e.prototype.setHours=function(e){this.hours=e},e.prototype.getHours=function(){return this.hours},e.prototype.setDate=function(e){this.day=e},e.prototype.setMonth=function(e){this.month=e},e.prototype.setFullYear=function(e){this.year=e},e.prototype.fromDate=function(e){return this.year=e.getFullYear(),this.month=e.getMonth(),this.day=e.getDate(),this.hours=e.getHours(),this.minutes=e.getMinutes(),this.seconds=e.getSeconds(),this.milliseconds=e.getMilliseconds(),this},e.prototype.toDate=function(){return new Date(this.year,this.month,this.day,this.hours,this.minutes,this.seconds,this.milliseconds)};var o=e.prototype,i=this.defaults={format:"shortDate",strict:!1};this.$get=["$locale","dateFilter",function(r,s){var l=function(l){function u(e){var t,n=Object.keys(h),a=[],o=[],i=e;for(t=0;t<n.length;t++)if(e.split(n[t]).length>1){var r=i.search(n[t]);e=e.split(n[t]).join(""),h[n[t]]&&(a[r]=h[n[t]])}return angular.forEach(a,function(e){e&&o.push(e)}),o}function c(e){return e.replace(/\//g,"[\\/]").replace("/-/g","[-]").replace(/\./g,"[.]").replace(/\\s/g,"[\\s]")}function d(e){var t,n=Object.keys($),a=e;for(t=0;t<n.length;t++)a=a.split(n[t]).join("${"+t+"}");for(t=0;t<n.length;t++)a=a.split("${"+t+"}").join("("+$[n[t]]+")");return e=c(e),new RegExp("^"+a+"$",["i"])}var f,p,g=angular.extend({},i,l),m={},$={sss:"[0-9]{3}",ss:"[0-5][0-9]",s:g.strict?"[1-5]?[0-9]":"[0-9]|[0-5][0-9]",mm:"[0-5][0-9]",m:g.strict?"[1-5]?[0-9]":"[0-9]|[0-5][0-9]",HH:"[01][0-9]|2[0-3]",H:g.strict?"1?[0-9]|2[0-3]":"[01]?[0-9]|2[0-3]",hh:"[0][1-9]|[1][012]",h:g.strict?"[1-9]|1[012]":"0?[1-9]|1[012]",a:"AM|PM",EEEE:r.DATETIME_FORMATS.DAY.join("|"),EEE:r.DATETIME_FORMATS.SHORTDAY.join("|"),dd:"0[1-9]|[12][0-9]|3[01]",d:g.strict?"[1-9]|[1-2][0-9]|3[01]":"0?[1-9]|[1-2][0-9]|3[01]",MMMM:r.DATETIME_FORMATS.MONTH.join("|"),MMM:r.DATETIME_FORMATS.SHORTMONTH.join("|"),MM:"0[1-9]|1[012]",M:g.strict?"[1-9]|1[012]":"0?[1-9]|1[012]",yyyy:"[1]{1}[0-9]{3}|[2]{1}[0-9]{3}",yy:"[0-9]{2}",y:g.strict?"-?(0|[1-9][0-9]{0,3})":"-?0*[0-9]{1,4}"},h={sss:o.setMilliseconds,ss:o.setSeconds,s:o.setSeconds,mm:o.setMinutes,m:o.setMinutes,HH:o.setHours,H:o.setHours,hh:o.setHours,h:o.setHours,EEEE:t,EEE:t,dd:o.setDate,d:o.setDate,a:function(e){var t=this.getHours()%12;return this.setHours(e.match(/pm/i)?t+12:t)},MMMM:function(e){return this.setMonth(a(r.DATETIME_FORMATS.MONTH,e))},MMM:function(e){return this.setMonth(a(r.DATETIME_FORMATS.SHORTMONTH,e))},MM:function(e){return this.setMonth(1*e-1)},M:function(e){return this.setMonth(1*e-1)},yyyy:o.setFullYear,yy:function(e){return this.setFullYear(2e3+1*e)},y:o.setFullYear};return m.init=function(){m.$format=r.DATETIME_FORMATS[g.format]||g.format,f=d(m.$format),p=u(m.$format)},m.isValid=function(e){return angular.isDate(e)?!isNaN(e.getTime()):f.test(e)},m.parse=function(t,n,a){a&&(a=r.DATETIME_FORMATS[a]||a),angular.isDate(t)&&(t=s(t,a||m.$format));var o=a?d(a):f,i=a?u(a):p,l=o.exec(t);if(!l)return!1;for(var c=(new e).fromDate(n&&!isNaN(n.getTime())?n:new Date(1970,0,1,0)),g=0;g<l.length-1;g++)i[g]&&i[g].call(c,l[g+1]);var $=c.toDate();return parseInt(c.day,10)!==$.getDate()?!1:$},m.getDateForAttribute=function(e,t){var a;if("today"===t){var o=new Date;a=new Date(o.getFullYear(),o.getMonth(),o.getDate()+("maxDate"===e?1:0),0,0,0,"minDate"===e?0:-1)}else a=angular.isString(t)&&t.match(/^".+"$/)?new Date(t.substr(1,t.length-2)):n(t)?new Date(parseInt(t,10)):angular.isString(t)&&0===t.length?"minDate"===e?-1/0:+1/0:new Date(t);return a},m.getTimeForAttribute=function(e,t){var a;return a="now"===t?(new Date).setFullYear(1970,0,1):angular.isString(t)&&t.match(/^".+"$/)?new Date(t.substr(1,t.length-2)).setFullYear(1970,0,1):n(t)?new Date(parseInt(t,10)).setFullYear(1970,0,1):angular.isString(t)&&0===t.length?"minTime"===e?-1/0:+1/0:m.parse(t,new Date(1970,0,1,0))},m.daylightSavingAdjust=function(e){return e?(e.setHours(e.getHours()>12?e.getHours()+2:0),e):null},m.init(),m};return l}]}]),angular.module("mgcrea.ngStrap.helpers.debounce",[]).factory("debounce",["$timeout",function(e){return function(t,n,a){var o=null;return function(){var i=this,r=arguments,s=a&&!o;return o&&e.cancel(o),o=e(function(){o=null,a||t.apply(i,r)},n,!1),s&&t.apply(i,r),o}}}]).factory("throttle",["$timeout",function(e){return function(t,n,a){var o=null;return a||(a={}),function(){var i=this,r=arguments;o||(a.leading!==!1&&t.apply(i,r),o=e(function(){o=null,a.trailing!==!1&&t.apply(i,r)},n,!1))}}}]),angular.module("mgcrea.ngStrap.helpers.dimensions",[]).factory("dimensions",["$document","$window",function(){var t=(angular.element,{}),n=t.nodeName=function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()};t.css=function(t,n,a){var o;return o=t.currentStyle?t.currentStyle[n]:e.getComputedStyle?e.getComputedStyle(t)[n]:t.style[n],a===!0?parseFloat(o)||0:o},t.offset=function(t){var n=t.getBoundingClientRect(),a=t.ownerDocument;return{width:n.width||t.offsetWidth,height:n.height||t.offsetHeight,top:n.top+(e.pageYOffset||a.documentElement.scrollTop)-(a.documentElement.clientTop||0),left:n.left+(e.pageXOffset||a.documentElement.scrollLeft)-(a.documentElement.clientLeft||0)}},t.position=function(e){var o,i,r={top:0,left:0};return"fixed"===t.css(e,"position")?i=e.getBoundingClientRect():(o=a(e),i=t.offset(e),n(o,"html")||(r=t.offset(o)),r.top+=t.css(o,"borderTopWidth",!0),r.left+=t.css(o,"borderLeftWidth",!0)),{width:e.offsetWidth,height:e.offsetHeight,top:i.top-r.top-t.css(e,"marginTop",!0),left:i.left-r.left-t.css(e,"marginLeft",!0)}};var a=function(e){var a=e.ownerDocument,o=e.offsetParent||a;if(n(o,"#document"))return a.documentElement;for(;o&&!n(o,"html")&&"static"===t.css(o,"position");)o=o.offsetParent;return o||a.documentElement};return t.height=function(e,n){var a=e.offsetHeight;return n?a+=t.css(e,"marginTop",!0)+t.css(e,"marginBottom",!0):a-=t.css(e,"paddingTop",!0)+t.css(e,"paddingBottom",!0)+t.css(e,"borderTopWidth",!0)+t.css(e,"borderBottomWidth",!0),a},t.width=function(e,n){var a=e.offsetWidth;return n?a+=t.css(e,"marginLeft",!0)+t.css(e,"marginRight",!0):a-=t.css(e,"paddingLeft",!0)+t.css(e,"paddingRight",!0)+t.css(e,"borderLeftWidth",!0)+t.css(e,"borderRightWidth",!0),a},t}]),angular.module("mgcrea.ngStrap.helpers.parseOptions",[]).provider("$parseOptions",function(){var e=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(t,n){function a(a,o){function i(e,t){return e.map(function(e,n){var a,o,i={};return i[c]=e,a=u(t,i),o=p(t,i),{label:a,value:o,index:n}})}var r={},s=angular.extend({},e,o);r.$values=[];var l,u,c,d,f,p,g;return r.init=function(){r.$match=l=a.match(s.regexp),u=t(l[2]||l[1]),c=l[4]||l[6],d=l[5],f=t(l[3]||""),p=t(l[2]?l[1]:c),g=t(l[7])},r.valuesFn=function(e,t){return n.when(g(e,t)).then(function(t){return r.$values=t?i(t,e):{},r.$values
9
- })},r.displayValue=function(e){var t={};return t[c]=e,u(t)},r.init(),r}return a}]}),angular.version.minor<3&&angular.version.dot<14&&angular.module("ng").factory("$$rAF",["$window","$timeout",function(e,t){var n=e.requestAnimationFrame||e.webkitRequestAnimationFrame||e.mozRequestAnimationFrame,a=e.cancelAnimationFrame||e.webkitCancelAnimationFrame||e.mozCancelAnimationFrame||e.webkitCancelRequestAnimationFrame,o=!!n,i=o?function(e){var t=n(e);return function(){a(t)}}:function(e){var n=t(e,16.66,!1);return function(){t.cancel(n)}};return i.supported=o,i}]),angular.module("mgcrea.ngStrap.modal",["mgcrea.ngStrap.helpers.dimensions"]).provider("$modal",function(){var e=this.defaults={animation:"am-fade",backdropAnimation:"am-fade",prefixClass:"modal",prefixEvent:"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","$sce","dimensions",function(n,a,o,i,r,s,l,u,c){function d(t){function n(){w.$emit(d.prefixEvent+".show",u)}function i(){w.$emit(d.prefixEvent+".hide",u),v.removeClass(d.prefixClass+"-open"),d.animation&&v.removeClass(d.prefixClass+"-with-"+d.animation)}function r(e){e.target===e.currentTarget&&("static"===d.backdrop?u.focus():u.hide())}function s(e){e.preventDefault()}var u={},d=u.$options=angular.extend({},e,t);u.$promise=g(d.template);var w=u.$scope=d.scope&&d.scope.$new()||a.$new();d.element||d.container||(d.container="body"),u.$id=d.id||d.element&&d.element.attr("id")||"",m(["title","content"],function(e){d[e]&&(w[e]=c.trustAsHtml(d[e]))}),w.$hide=function(){w.$$postDigest(function(){u.hide()})},w.$show=function(){w.$$postDigest(function(){u.show()})},w.$toggle=function(){w.$$postDigest(function(){u.toggle()})},u.$isShown=w.$isShown=!1,d.contentTemplate&&(u.$promise=u.$promise.then(function(e){var n=angular.element(e);return g(d.contentTemplate).then(function(e){var a=p('[ng-bind="content"]',n[0]).removeAttr("ng-bind").html(e);return t.template||a.next().remove(),n[0].outerHTML})}));var b,D,k=angular.element('<div class="'+d.prefixClass+'-backdrop"/>');return u.$promise.then(function(e){angular.isObject(e)&&(e=e.data),d.html&&(e=e.replace(y,'ng-bind-html="')),e=$.apply(e),b=o(e),u.init()}),u.init=function(){d.show&&w.$$postDigest(function(){u.show()})},u.destroy=function(){D&&(D.remove(),D=null),k&&(k.remove(),k=null),w.$destroy()},u.show=function(){if(!u.$isShown&&!w.$emit(d.prefixEvent+".show.before",u).defaultPrevented){var e,t;angular.isElement(d.container)?(e=d.container,t=d.container[0].lastChild?angular.element(d.container[0].lastChild):null):d.container?(e=p(d.container),t=e[0].lastChild?angular.element(e[0].lastChild):null):(e=null,t=d.element),D=u.$element=b(w,function(){}),D.css({display:"block"}).addClass(d.placement),d.animation&&(d.backdrop&&k.addClass(d.backdropAnimation),D.addClass(d.animation)),d.backdrop&&l.enter(k,v,null);var a=l.enter(D,e,t,n);a&&a.then&&a.then(n),u.$isShown=w.$isShown=!0,f(w);var o=D[0];h(function(){o.focus()}),v.addClass(d.prefixClass+"-open"),d.animation&&v.addClass(d.prefixClass+"-with-"+d.animation),d.backdrop&&(D.on("click",r),k.on("click",r),k.on("wheel",s)),d.keyboard&&D.on("keyup",u.$onKeyUp)}},u.hide=function(){if(u.$isShown&&!w.$emit(d.prefixEvent+".hide.before",u).defaultPrevented){var e=l.leave(D,i);e&&e.then&&e.then(i),d.backdrop&&l.leave(k),u.$isShown=w.$isShown=!1,f(w),d.backdrop&&(D.off("click",r),k.off("click",r),k.off("wheel",s)),d.keyboard&&D.off("keyup",u.$onKeyUp)}},u.toggle=function(){u.$isShown?u.hide():u.show()},u.focus=function(){D[0].focus()},u.$onKeyUp=function(e){27===e.which&&u.$isShown&&(u.hide(),e.stopPropagation())},u}function f(e){e.$$phase||e.$root&&e.$root.$$phase||e.$digest()}function p(e,n){return angular.element((n||t).querySelectorAll(e))}function g(e){return w[e]?w[e]:w[e]=i.when(r.get(e)||s.get(e)).then(function(t){return angular.isObject(t)?(r.put(e,t.data),t.data):t})}var m=angular.forEach,$=String.prototype.trim,h=n.requestAnimationFrame||n.setTimeout,v=angular.element(n.document.body),y=/ng-bind="/gi,w={};return d}]}).directive("bsModal",["$window","$sce","$modal",function(e,t,n){return{restrict:"EAC",scope:!0,link:function(e,a,o){var i={scope:e,element:a,show:!1};angular.forEach(["template","contentTemplate","placement","container","animation","id"],function(e){angular.isDefined(o[e])&&(i[e]=o[e])});var r=/^(false|0|)$/;angular.forEach(["keyboard","html"],function(e){angular.isDefined(o[e])&&(i[e]=!r.test(o[e]))}),angular.isDefined(o.backdrop)&&(i.backdrop=r.test(o.backdrop)?!1:o.backdrop),angular.forEach(["title","content"],function(n){o[n]&&o.$observe(n,function(a){e[n]=t.trustAsHtml(a)})}),o.bsModal&&e.$watch(o.bsModal,function(t){angular.isObject(t)?angular.extend(e,t):e.content=t},!0);var s=n(i);a.on(o.trigger||"click",s.toggle),e.$on("$destroy",function(){s&&s.destroy(),i=null,s=null})}}}]),angular.module("mgcrea.ngStrap.navbar",[]).provider("$navbar",function(){var e=this.defaults={activeClass:"active",routeAttr:"data-match-route",strict:!1};this.$get=function(){return{defaults:e}}}).directive("bsNavbar",["$window","$location","$navbar",function(e,t,n){var a=n.defaults;return{restrict:"A",link:function(e,n,o){var i=angular.copy(a);angular.forEach(Object.keys(a),function(e){angular.isDefined(o[e])&&(i[e]=o[e])}),e.$watch(function(){return t.path()},function(e){var t=n[0].querySelectorAll("li["+i.routeAttr+"]");angular.forEach(t,function(t){var n=angular.element(t),a=n.attr(i.routeAttr).replace("/","\\/");i.strict&&(a="^"+a+"$");var o=new RegExp(a,["i"]);o.test(e)?n.addClass(i.activeClass):n.removeClass(i.activeClass)})})}}}]),angular.module("mgcrea.ngStrap.popover",["mgcrea.ngStrap.tooltip"]).provider("$popover",function(){var e=this.defaults={animation:"am-fade",customClass:"",container:!1,target:!1,placement:"right",template:"popover/popover.tpl.html",contentTemplate:!1,trigger:"click",keyboard:!0,html:!1,title:"",content:"",delay:0,autoClose:!1};this.$get=["$tooltip",function(t){function n(n,a){var o=angular.extend({},e,a),i=t(n,o);return o.content&&(i.$scope.content=o.content),i}return n}]}).directive("bsPopover",["$window","$sce","$popover",function(e,t,n){var a=e.requestAnimationFrame||e.setTimeout;return{restrict:"EAC",scope:!0,link:function(e,o,i){var r={scope:e};angular.forEach(["template","contentTemplate","placement","container","target","delay","trigger","keyboard","html","animation","customClass","autoClose","id"],function(e){angular.isDefined(i[e])&&(r[e]=i[e])}),angular.forEach(["title","content"],function(n){i[n]&&i.$observe(n,function(o,i){e[n]=t.trustAsHtml(o),angular.isDefined(i)&&a(function(){s&&s.$applyPlacement()})})}),i.bsPopover&&e.$watch(i.bsPopover,function(t,n){angular.isObject(t)?angular.extend(e,t):e.content=t,angular.isDefined(n)&&a(function(){s&&s.$applyPlacement()})},!0),i.bsShow&&e.$watch(i.bsShow,function(e){s&&angular.isDefined(e)&&(angular.isString(e)&&(e=!!e.match(/true|,?(popover),?/i)),e===!0?s.show():s.hide())});var s=n(o,r);e.$on("$destroy",function(){s&&s.destroy(),r=null,s=null})}}}]),angular.module("mgcrea.ngStrap.scrollspy",["mgcrea.ngStrap.helpers.debounce","mgcrea.ngStrap.helpers.dimensions"]).provider("$scrollspy",function(){var e=this.$$spies={},n=this.defaults={debounce:150,throttle:100,offset:100};this.$get=["$window","$document","$rootScope","dimensions","debounce","throttle",function(a,o,i,r,s,l){function u(e,t){return e[0].nodeName&&e[0].nodeName.toLowerCase()===t.toLowerCase()}function c(o){var c=angular.extend({},n,o);c.element||(c.element=p);var g=u(c.element,"body"),m=g?d:c.element,$=g?"window":c.id;if(e[$])return e[$].$$count++,e[$];var h,v,y,w,b,D,k,S,T={},x=T.$trackedElements=[],C=[];return T.init=function(){this.$$count=1,w=s(this.checkPosition,c.debounce),b=l(this.checkPosition,c.throttle),m.on("click",this.checkPositionWithEventLoop),d.on("resize",w),m.on("scroll",b),D=s(this.checkOffsets,c.debounce),h=i.$on("$viewContentLoaded",D),v=i.$on("$includeContentLoaded",D),D(),$&&(e[$]=T)},T.destroy=function(){this.$$count--,this.$$count>0||(m.off("click",this.checkPositionWithEventLoop),d.off("resize",w),m.off("scroll",b),h(),v(),$&&delete e[$])},T.checkPosition=function(){if(C.length){if(S=(g?a.pageYOffset:m.prop("scrollTop"))||0,k=Math.max(a.innerHeight,f.prop("clientHeight")),S<C[0].offsetTop&&y!==C[0].target)return T.$activateElement(C[0]);for(var e=C.length;e--;)if(!angular.isUndefined(C[e].offsetTop)&&null!==C[e].offsetTop&&y!==C[e].target&&!(S<C[e].offsetTop||C[e+1]&&S>C[e+1].offsetTop))return T.$activateElement(C[e])}},T.checkPositionWithEventLoop=function(){setTimeout(T.checkPosition,1)},T.$activateElement=function(e){if(y){var t=T.$getTrackedElement(y);t&&(t.source.removeClass("active"),u(t.source,"li")&&u(t.source.parent().parent(),"li")&&t.source.parent().parent().removeClass("active"))}y=e.target,e.source.addClass("active"),u(e.source,"li")&&u(e.source.parent().parent(),"li")&&e.source.parent().parent().addClass("active")},T.$getTrackedElement=function(e){return x.filter(function(t){return t.target===e})[0]},T.checkOffsets=function(){angular.forEach(x,function(e){var n=t.querySelector(e.target);e.offsetTop=n?r.offset(n).top:null,c.offset&&null!==e.offsetTop&&(e.offsetTop-=1*c.offset)}),C=x.filter(function(e){return null!==e.offsetTop}).sort(function(e,t){return e.offsetTop-t.offsetTop}),w()},T.trackElement=function(e,t){x.push({target:e,source:t})},T.untrackElement=function(e,t){for(var n,a=x.length;a--;)if(x[a].target===e&&x[a].source===t){n=a;break}x=x.splice(n,1)},T.activate=function(e){x[e].addClass("active")},T.init(),T}var d=angular.element(a),f=angular.element(o.prop("documentElement")),p=angular.element(a.document.body);return c}]}).directive("bsScrollspy",["$rootScope","debounce","dimensions","$scrollspy",function(e,t,n,a){return{restrict:"EAC",link:function(e,t,n){var o={scope:e};angular.forEach(["offset","target"],function(e){angular.isDefined(n[e])&&(o[e]=n[e])});var i=a(o);i.trackElement(o.target,t),e.$on("$destroy",function(){i&&(i.untrackElement(o.target,t),i.destroy()),o=null,i=null})}}}]).directive("bsScrollspyList",["$rootScope","debounce","dimensions","$scrollspy",function(){return{restrict:"A",compile:function(e){var t=e[0].querySelectorAll("li > a[href]");angular.forEach(t,function(e){var t=angular.element(e);t.parent().attr("bs-scrollspy","").attr("data-target",t.attr("href"))})}}}]),angular.module("mgcrea.ngStrap.select",["mgcrea.ngStrap.tooltip","mgcrea.ngStrap.helpers.parseOptions"]).provider("$select",function(){var e=this.defaults={animation:"am-fade",prefixClass:"select",prefixEvent:"$select",placement:"bottom-left",template:"select/select.tpl.html",trigger:"focus",container:!1,keyboard:!0,html:!1,delay:0,multiple:!1,allNoneButtons:!1,sort:!0,caretHtml:'&nbsp;<span class="caret"></span>',placeholder:"Choose among the following...",allText:"All",noneText:"None",maxLength:3,maxLengthHtml:"selected",iconCheckmark:"glyphicon glyphicon-ok"};this.$get=["$window","$document","$rootScope","$tooltip","$timeout",function(t,n,a,o,i){function r(t,n,a){var r={},s=angular.extend({},e,a);s.sort=s.sort.toString().match(/true|1/i),r=o(t,s);var u=r.$scope;u.$matches=[],u.$activeIndex=0,u.$isMultiple=s.multiple,u.$showAllNoneButtons=s.allNoneButtons&&s.multiple,u.$iconCheckmark=s.iconCheckmark,u.$allText=s.allText,u.$noneText=s.noneText,u.$activate=function(e){u.$$postDigest(function(){r.activate(e)})},u.$select=function(e){u.$$postDigest(function(){r.select(e)})},u.$isVisible=function(){return r.$isVisible()},u.$isActive=function(e){return r.$isActive(e)},u.$selectAll=function(){for(var e=0;e<u.$matches.length;e++)u.$isActive(e)||u.$select(e)},u.$selectNone=function(){for(var e=0;e<u.$matches.length;e++)u.$isActive(e)&&u.$select(e)},r.update=function(e){u.$matches=e,r.$updateActiveIndex()},r.activate=function(e){return s.multiple?(r.$isActive(e)?u.$activeIndex.splice(u.$activeIndex.indexOf(e),1):u.$activeIndex.push(e),s.sort&&u.$activeIndex.sort()):u.$activeIndex=e,u.$activeIndex},r.select=function(e){var t=u.$matches[e].value;u.$apply(function(){r.activate(e),s.multiple?n.$setViewValue(u.$activeIndex.map(function(e){return u.$matches[e].value})):(n.$setViewValue(t),r.hide())}),u.$emit(s.prefixEvent+".select",t,e,r)},r.$updateActiveIndex=function(){n.$modelValue&&u.$matches.length?u.$activeIndex=s.multiple&&angular.isArray(n.$modelValue)?n.$modelValue.map(function(e){return r.$getIndex(e)}):r.$getIndex(n.$modelValue):u.$activeIndex>=u.$matches.length&&(u.$activeIndex=s.multiple?[]:0)},r.$isVisible=function(){return s.minLength&&n?u.$matches.length&&n.$viewValue.length>=s.minLength:u.$matches.length},r.$isActive=function(e){return s.multiple?-1!==u.$activeIndex.indexOf(e):u.$activeIndex===e},r.$getIndex=function(e){var t=u.$matches.length,n=t;if(t){for(n=t;n--&&u.$matches[n].value!==e;);if(!(0>n))return n}},r.$onMouseDown=function(e){if(e.preventDefault(),e.stopPropagation(),l){var t=angular.element(e.target);t.triggerHandler("click")}},r.$onKeyDown=function(e){if(/(9|13|38|40)/.test(e.keyCode)){if(e.preventDefault(),e.stopPropagation(),!s.multiple&&(13===e.keyCode||9===e.keyCode))return r.select(u.$activeIndex);38===e.keyCode&&u.$activeIndex>0?u.$activeIndex--:40===e.keyCode&&u.$activeIndex<u.$matches.length-1?u.$activeIndex++:angular.isUndefined(u.$activeIndex)&&(u.$activeIndex=0),u.$digest()}};var c=r.show;r.show=function(){c(),s.multiple&&r.$element.addClass("select-multiple"),i(function(){r.$element.on(l?"touchstart":"mousedown",r.$onMouseDown),s.keyboard&&t.on("keydown",r.$onKeyDown)},0,!1)};var d=r.hide;return r.hide=function(){r.$element.off(l?"touchstart":"mousedown",r.$onMouseDown),s.keyboard&&t.off("keydown",r.$onKeyDown),d(!0)},r}var s=(angular.element(t.document.body),/(ip(a|o)d|iphone|android)/gi.test(t.navigator.userAgent)),l="createTouch"in t.document&&s;return r.defaults=e,r}]}).directive("bsSelect",["$window","$parse","$q","$select","$parseOptions",function(e,t,n,a,o){var i=a.defaults;return{restrict:"EAC",require:"ngModel",link:function(e,t,n,r){var s={scope:e,placeholder:i.placeholder};if(angular.forEach(["placement","container","delay","trigger","keyboard","html","animation","template","placeholder","multiple","allNoneButtons","maxLength","maxLengthHtml","allText","noneText","iconCheckmark","autoClose","id","sort"],function(e){angular.isDefined(n[e])&&(s[e]=n[e])}),"select"===t[0].nodeName.toLowerCase()){var l=t;l.css("display","none"),t=angular.element('<button type="button" class="btn btn-default"></button>'),l.after(t)}var u=o(n.ngOptions),c=a(t,r,s),d=u.$match[7].replace(/\|.+/,"").trim();e.$watch(d,function(){u.valuesFn(e,r).then(function(e){c.update(e),r.$render()})},!0),e.$watch(n.ngModel,function(){c.$updateActiveIndex(),r.$render()},!0),r.$render=function(){var e,n;s.multiple&&angular.isArray(r.$modelValue)?(e=r.$modelValue.map(function(e){return n=c.$getIndex(e),angular.isDefined(n)?c.$scope.$matches[n].label:!1}).filter(angular.isDefined),e=e.length>(s.maxLength||i.maxLength)?e.length+" "+(s.maxLengthHtml||i.maxLengthHtml):e.join(", ")):(n=c.$getIndex(r.$modelValue),e=angular.isDefined(n)?c.$scope.$matches[n].label:!1),t.html((e?e:s.placeholder)+i.caretHtml)},s.multiple&&(r.$isEmpty=function(e){return!e||0===e.length}),e.$on("$destroy",function(){c&&c.destroy(),s=null,c=null})}}}]),angular.module("mgcrea.ngStrap.tab",[]).provider("$tab",function(){var e=this.defaults={animation:"am-fade",template:"tab/tab.tpl.html",navClass:"nav-tabs",activeClass:"active"},t=this.controller=function(t,n,a){var o=this;o.$options=angular.copy(e),angular.forEach(["animation","navClass","activeClass"],function(e){angular.isDefined(a[e])&&(o.$options[e]=a[e])}),t.$navClass=o.$options.navClass,t.$activeClass=o.$options.activeClass,o.$panes=t.$panes=[],o.$activePaneChangeListeners=o.$viewChangeListeners=[],o.$push=function(e){o.$panes.push(e)},o.$remove=function(e){var t=o.$panes.indexOf(e),n=o.$panes.$active;o.$panes.splice(t,1),n>t?n--:t===n&&n===o.$panes.length&&n--,o.$setActive(n)},o.$panes.$active=0,o.$setActive=t.$setActive=function(e){o.$panes.$active=e,o.$activePaneChangeListeners.forEach(function(e){e()})}};this.$get=function(){var n={};return n.defaults=e,n.controller=t,n}}).directive("bsTabs",["$window","$animate","$tab","$parse",function(e,t,n,a){var o=n.defaults;return{require:["?ngModel","bsTabs"],transclude:!0,scope:!0,controller:["$scope","$element","$attrs",n.controller],templateUrl:function(e,t){return t.template||o.template},link:function(e,t,n,o){var i=o[0],r=o[1];if(i&&(console.warn("Usage of ngModel is deprecated, please use bsActivePane instead!"),r.$activePaneChangeListeners.push(function(){i.$setViewValue(r.$panes.$active)}),i.$formatters.push(function(e){return r.$setActive(1*e),e})),n.bsActivePane){var s=a(n.bsActivePane);r.$activePaneChangeListeners.push(function(){s.assign(e,r.$panes.$active)}),e.$watch(n.bsActivePane,function(e){r.$setActive(1*e)},!0)}}}}]).directive("bsPane",["$window","$animate","$sce",function(e,t,n){return{require:["^?ngModel","^bsTabs"],scope:!0,link:function(e,a,o,i){function r(){var n=s.$panes.indexOf(e),o=s.$panes.$active;t[n===o?"addClass":"removeClass"](a,s.$options.activeClass)}var s=(i[0],i[1]);a.addClass("tab-pane"),o.$observe("title",function(t){e.title=n.trustAsHtml(t)}),s.$options.animation&&a.addClass(s.$options.animation),s.$push(e),e.$on("$destroy",function(){s.$remove(e)}),s.$activePaneChangeListeners.push(function(){r()}),r()}}}]),angular.module("mgcrea.ngStrap.timepicker",["mgcrea.ngStrap.helpers.dateParser","mgcrea.ngStrap.helpers.dateFormatter","mgcrea.ngStrap.tooltip"]).provider("$timepicker",function(){var e=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",modelTimeFormat:null,autoclose:!1,minTime:-1/0,maxTime:+1/0,length:5,hourStep:1,minuteStep:5,iconUp:"glyphicon glyphicon-chevron-up",iconDown:"glyphicon glyphicon-chevron-down",arrowBehavior:"pager"};this.$get=["$window","$document","$rootScope","$sce","$dateFormatter","$tooltip","$timeout",function(t,n,a,o,i,r,s){function l(t,n,a){function o(e,n){if(t[0].createTextRange){var a=t[0].createTextRange();a.collapse(!0),a.moveStart("character",e),a.moveEnd("character",n),a.select()}else t[0].setSelectionRange?t[0].setSelectionRange(e,n):angular.isUndefined(t[0].selectionStart)&&(t[0].selectionStart=e,t[0].selectionEnd=n)}function l(){t[0].focus()}var d=r(t,angular.extend({},e,a)),f=a.scope,p=d.$options,g=d.$scope,m=p.lang,$=function(e,t){return i.formatDate(e,t,m)},h=0,v=n.$dateValue||new Date,y={hour:v.getHours(),meridian:v.getHours()<12,minute:v.getMinutes(),second:v.getSeconds(),millisecond:v.getMilliseconds()},w=i.getDatetimeFormat(p.timeFormat,m),b=i.hoursFormat(w),D=i.timeSeparator(w),k=i.minutesFormat(w),S=i.showAM(w);g.$iconUp=p.iconUp,g.$iconDown=p.iconDown,g.$select=function(e,t){d.select(e,t)},g.$moveIndex=function(e,t){d.$moveIndex(e,t)},g.$switchMeridian=function(e){d.switchMeridian(e)},d.update=function(e){angular.isDate(e)&&!isNaN(e.getTime())?(d.$date=e,angular.extend(y,{hour:e.getHours(),minute:e.getMinutes(),second:e.getSeconds(),millisecond:e.getMilliseconds()}),d.$build()):d.$isBuilt||d.$build()},d.select=function(e,t,a){(!n.$dateValue||isNaN(n.$dateValue.getTime()))&&(n.$dateValue=new Date(1970,0,1)),angular.isDate(e)||(e=new Date(e)),0===t?n.$dateValue.setHours(e.getHours()):1===t&&n.$dateValue.setMinutes(e.getMinutes()),n.$setViewValue(angular.copy(n.$dateValue)),n.$render(),p.autoclose&&!a&&s(function(){d.hide(!0)})},d.switchMeridian=function(e){if(n.$dateValue&&!isNaN(n.$dateValue.getTime())){var t=(e||n.$dateValue).getHours();n.$dateValue.setHours(12>t?t+12:t-12),n.$setViewValue(angular.copy(n.$dateValue)),n.$render()}},d.$build=function(){var e,t,n=g.midIndex=parseInt(p.length/2,10),a=[];for(e=0;e<p.length;e++)t=new Date(1970,0,1,y.hour-(n-e)*p.hourStep),a.push({date:t,label:$(t,b),selected:d.$date&&d.$isSelected(t,0),disabled:d.$isDisabled(t,0)});var o,i=[];for(e=0;e<p.length;e++)o=new Date(1970,0,1,0,y.minute-(n-e)*p.minuteStep),i.push({date:o,label:$(o,k),selected:d.$date&&d.$isSelected(o,1),disabled:d.$isDisabled(o,1)});var r=[];for(e=0;e<p.length;e++)r.push([a[e],i[e]]);g.rows=r,g.showAM=S,g.isAM=(d.$date||a[n].date).getHours()<12,g.timeSeparator=D,d.$isBuilt=!0},d.$isSelected=function(e,t){return d.$date?0===t?e.getHours()===d.$date.getHours():1===t?e.getMinutes()===d.$date.getMinutes():void 0:!1},d.$isDisabled=function(e,t){var n;return 0===t?n=e.getTime()+6e4*y.minute:1===t&&(n=e.getTime()+36e5*y.hour),n<1*p.minTime||n>1*p.maxTime},g.$arrowAction=function(e,t){"picker"===p.arrowBehavior?d.$setTimeByStep(e,t):d.$moveIndex(e,t)},d.$setTimeByStep=function(e,t){{var n=new Date(d.$date),a=n.getHours(),o=($(n,b).length,n.getMinutes());$(n,k).length}0===t?n.setHours(a-parseInt(p.hourStep,10)*e):n.setMinutes(o-parseInt(p.minuteStep,10)*e),d.select(n,t,!0)},d.$moveIndex=function(e,t){var n;0===t?(n=new Date(1970,0,1,y.hour+e*p.length,y.minute),angular.extend(y,{hour:n.getHours()})):1===t&&(n=new Date(1970,0,1,y.hour,y.minute+e*p.length*p.minuteStep),angular.extend(y,{minute:n.getMinutes()})),d.$build()},d.$onMouseDown=function(e){if("input"!==e.target.nodeName.toLowerCase()&&e.preventDefault(),e.stopPropagation(),c){var t=angular.element(e.target);"button"!==t[0].nodeName.toLowerCase()&&(t=t.parent()),t.triggerHandler("click")}},d.$onKeyDown=function(e){if(/(38|37|39|40|13)/.test(e.keyCode)&&!e.shiftKey&&!e.altKey){if(e.preventDefault(),e.stopPropagation(),13===e.keyCode)return d.hide(!0);var t=new Date(d.$date),n=t.getHours(),a=$(t,b).length,i=t.getMinutes(),r=$(t,k).length,s=/(37|39)/.test(e.keyCode),l=2+1*S;s&&(37===e.keyCode?h=1>h?l-1:h-1:39===e.keyCode&&(h=l-1>h?h+1:0));var u=[0,a];0===h?(38===e.keyCode?t.setHours(n-parseInt(p.hourStep,10)):40===e.keyCode&&t.setHours(n+parseInt(p.hourStep,10)),a=$(t,b).length,u=[0,a]):1===h?(38===e.keyCode?t.setMinutes(i-parseInt(p.minuteStep,10)):40===e.keyCode&&t.setMinutes(i+parseInt(p.minuteStep,10)),r=$(t,k).length,u=[a+1,a+1+r]):2===h&&(s||d.switchMeridian(),u=[a+1+r+1,a+1+r+3]),d.select(t,h,!0),o(u[0],u[1]),f.$digest()}};var T=d.init;d.init=function(){return u&&p.useNative?(t.prop("type","time"),void t.css("-webkit-appearance","textfield")):(c&&(t.prop("type","text"),t.attr("readonly","true"),t.on("click",l)),void T())};var x=d.destroy;d.destroy=function(){u&&p.useNative&&t.off("click",l),x()};var C=d.show;d.show=function(){C(),s(function(){d.$element.on(c?"touchstart":"mousedown",d.$onMouseDown),p.keyboard&&t.on("keydown",d.$onKeyDown)},0,!1)};var M=d.hide;return d.hide=function(e){d.$isShown&&(d.$element.off(c?"touchstart":"mousedown",d.$onMouseDown),p.keyboard&&t.off("keydown",d.$onKeyDown),M(e))},d}var u=(angular.element(t.document.body),/(ip(a|o)d|iphone|android)/gi.test(t.navigator.userAgent)),c="createTouch"in t.document&&u;return e.lang||(e.lang=i.getDefaultLocale()),l.defaults=e,l}]}).directive("bsTimepicker",["$window","$parse","$q","$dateFormatter","$dateParser","$timepicker",function(e,t,n,a,o,i){{var r=i.defaults,s=/(ip(a|o)d|iphone|android)/gi.test(e.navigator.userAgent);e.requestAnimationFrame||e.setTimeout}return{restrict:"EAC",require:"ngModel",link:function(e,t,n,l){function u(e){if(angular.isDate(e)){var t=isNaN(d.minTime)||new Date(e.getTime()).setFullYear(1970,0,1)>=d.minTime,n=isNaN(d.maxTime)||new Date(e.getTime()).setFullYear(1970,0,1)<=d.maxTime,a=t&&n;l.$setValidity("date",a),l.$setValidity("min",t),l.$setValidity("max",n),a&&(l.$dateValue=e)}}function c(){return!l.$dateValue||isNaN(l.$dateValue.getTime())?"":g(l.$dateValue,d.timeFormat)}var d={scope:e,controller:l};angular.forEach(["placement","container","delay","trigger","keyboard","html","animation","template","autoclose","timeType","timeFormat","modelTimeFormat","useNative","hourStep","minuteStep","length","arrowBehavior","iconUp","iconDown","id"],function(e){angular.isDefined(n[e])&&(d[e]=n[e])}),n.bsShow&&e.$watch(n.bsShow,function(e){f&&angular.isDefined(e)&&(angular.isString(e)&&(e=!!e.match(/true|,?(timepicker),?/i)),e===!0?f.show():f.hide())}),s&&(d.useNative||r.useNative)&&(d.timeFormat="HH:mm");var f=i(t,l,d);d=f.$options;var p=d.lang,g=function(e,t){return a.formatDate(e,t,p)},m=o({format:d.timeFormat,lang:p});angular.forEach(["minTime","maxTime"],function(e){angular.isDefined(n[e])&&n.$observe(e,function(t){f.$options[e]=m.getTimeForAttribute(e,t),!isNaN(f.$options[e])&&f.$build(),u(l.$dateValue)})}),e.$watch(n.ngModel,function(){f.update(l.$dateValue)},!0),l.$parsers.unshift(function(e){if(!e)return l.$setValidity("date",!0),null;var t=angular.isDate(e)?e:m.parse(e,l.$dateValue);return!t||isNaN(t.getTime())?void l.$setValidity("date",!1):(u(t),"string"===d.timeType?g(t,d.modelTimeFormat||d.timeFormat):"number"===d.timeType?l.$dateValue.getTime():"unix"===d.timeType?l.$dateValue.getTime()/1e3:"iso"===d.timeType?l.$dateValue.toISOString():new Date(l.$dateValue))}),l.$formatters.push(function(e){var t;return t=angular.isUndefined(e)||null===e?0/0:angular.isDate(e)?e:"string"===d.timeType?m.parse(e,null,d.modelTimeFormat):new Date("unix"===d.timeType?1e3*e:e),l.$dateValue=t,c()}),l.$render=function(){t.val(c())},e.$on("$destroy",function(){f&&f.destroy(),d=null,f=null})}}}]),angular.module("mgcrea.ngStrap.tooltip",["mgcrea.ngStrap.helpers.dimensions"]).provider("$tooltip",function(){var e=this.defaults={animation:"am-fade",customClass:"",prefixClass:"tooltip",prefixEvent:"tooltip",container:!1,target:!1,placement:"top",template:"tooltip/tooltip.tpl.html",contentTemplate:!1,trigger:"hover focus",keyboard:!1,html:!1,show:!1,title:"",type:"",delay:0,autoClose:!1,bsEnabled:!0};this.$get=["$window","$rootScope","$compile","$q","$templateCache","$http","$animate","$sce","dimensions","$$rAF","$timeout",function(n,a,o,i,r,s,l,u,c,d,f){function p(n,i){function r(){O.$emit(P.prefixEvent+".show",F)}function s(){if(O.$emit(P.prefixEvent+".hide",F),R===W){if(U&&"focus"===P.trigger)return n[0].blur();A()}}function p(){var e=P.trigger.split(" ");angular.forEach(e,function(e){"click"===e?n.on("click",F.toggle):"manual"!==e&&(n.on("hover"===e?"mouseenter":"focus",F.enter),n.on("hover"===e?"mouseleave":"blur",F.leave),"button"===V&&"hover"!==e&&n.on(v?"touchstart":"mousedown",F.$onFocusElementMouseDown))})}function b(){for(var e=P.trigger.split(" "),t=e.length;t--;){var a=e[t];"click"===a?n.off("click",F.toggle):"manual"!==a&&(n.off("hover"===a?"mouseenter":"focus",F.enter),n.off("hover"===a?"mouseleave":"blur",F.leave),"button"===V&&"hover"!==a&&n.off(v?"touchstart":"mousedown",F.$onFocusElementMouseDown))}}function D(){"focus"!==P.trigger?R.on("keyup",F.$onKeyUp):n.on("keyup",F.$onFocusKeyUp)}function k(){"focus"!==P.trigger?R.off("keyup",F.$onKeyUp):n.off("keyup",F.$onFocusKeyUp)}function S(){f(function(){R.on("click",x),w.on("click",F.hide),j=!0},0,!1)}function T(){j&&(R.off("click",x),w.off("click",F.hide),j=!1)}function x(e){e.stopPropagation()}function C(e){e=e||P.target||n;var t=e[0],a=t.getBoundingClientRect(),o={};for(var i in a)a.hasOwnProperty(i)&&(o[i]=a[i]);null===a.width&&(o=angular.extend({},o,{width:a.right-a.left,height:a.bottom-a.top}));var r;return r="body"===P.container?c.offset(t):c.position(t),angular.extend({},o,r)}function M(e,t,n,a){var o,i=e.split("-");switch(i[0]){case"right":o={top:t.top+t.height/2-a/2,left:t.left+t.width};break;case"bottom":o={top:t.top+t.height,left:t.left+t.width/2-n/2};break;case"left":o={top:t.top+t.height/2-a/2,left:t.left-n};break;default:o={top:t.top-a,left:t.left+t.width/2-n/2}}if(!i[1])return o;if("top"===i[0]||"bottom"===i[0])switch(i[1]){case"left":o.left=t.left;break;case"right":o.left=t.left+t.width-n}else if("left"===i[0]||"right"===i[0])switch(i[1]){case"top":o.top=t.top-a;break;case"bottom":o.top=t.top+t.height}return o}function E(e,t){R.css({top:e+"px",left:t+"px"})}function A(){clearTimeout(H),F.$isShown&&null!==R&&(P.autoClose&&T(),P.keyboard&&k()),K&&(K.$destroy(),K=null),R&&(R.remove(),R=F.$element=null)}var F={},V=n[0].nodeName.toLowerCase(),P=F.$options=angular.extend({},e,i);F.$promise=$(P.template);var O=F.$scope=P.scope&&P.scope.$new()||a.$new();if(P.delay&&angular.isString(P.delay)){var I=P.delay.split(",").map(parseFloat);P.delay=I.length>1?{show:I[0],hide:I[1]}:I[0]}F.$id=P.id||n.attr("id")||"",P.title&&(O.title=u.trustAsHtml(P.title)),O.$setEnabled=function(e){O.$$postDigest(function(){F.setEnabled(e)})},O.$hide=function(){O.$$postDigest(function(){F.hide()})},O.$show=function(){O.$$postDigest(function(){F.show()})},O.$toggle=function(){O.$$postDigest(function(){F.toggle()})},F.$isShown=O.$isShown=!1;var H,N;P.contentTemplate&&(F.$promise=F.$promise.then(function(e){var t=angular.element(e);return $(P.contentTemplate).then(function(e){var n=m('[ng-bind="content"]',t[0]);return n.length||(n=m('[ng-bind="title"]',t[0])),n.removeAttr("ng-bind").html(e),t[0].outerHTML})}));var L,R,q,Y,K;F.$promise.then(function(e){angular.isObject(e)&&(e=e.data),P.html&&(e=e.replace(y,'ng-bind-html="')),e=h.apply(e),q=e,L=o(e),F.init()}),F.init=function(){P.delay&&angular.isNumber(P.delay)&&(P.delay={show:P.delay,hide:P.delay}),"self"===P.container?Y=n:angular.isElement(P.container)?Y=P.container:P.container&&(Y=m(P.container)),p(),P.target&&(P.target=angular.isElement(P.target)?P.target:m(P.target)),P.show&&O.$$postDigest(function(){"focus"===P.trigger?n[0].focus():F.show()})},F.destroy=function(){b(),A(),O.$destroy()},F.enter=function(){return clearTimeout(H),N="in",P.delay&&P.delay.show?void(H=setTimeout(function(){"in"===N&&F.show()},P.delay.show)):F.show()},F.show=function(){if(P.bsEnabled&&!F.$isShown){O.$emit(P.prefixEvent+".show.before",F);var e,t;P.container?(e=Y,t=Y[0].lastChild?angular.element(Y[0].lastChild):null):(e=null,t=n),R&&A(),K=F.$scope.$new(),R=F.$element=L(K,function(){}),R.css({top:"-9999px",left:"-9999px",display:"block",visibility:"hidden"}),P.animation&&R.addClass(P.animation),P.type&&R.addClass(P.prefixClass+"-"+P.type),P.customClass&&R.addClass(P.customClass);var a=l.enter(R,e,t,r);a&&a.then&&a.then(r),F.$isShown=O.$isShown=!0,g(O),d(function(){F.$applyPlacement(),R&&R.css({visibility:"visible"})}),P.keyboard&&("focus"!==P.trigger&&F.focus(),D()),P.autoClose&&S()}},F.leave=function(){return clearTimeout(H),N="out",P.delay&&P.delay.hide?void(H=setTimeout(function(){"out"===N&&F.hide()},P.delay.hide)):F.hide()};var U,W;F.hide=function(e){if(F.$isShown){O.$emit(P.prefixEvent+".hide.before",F),U=e,W=R;var t=l.leave(R,s);t&&t.then&&t.then(s),F.$isShown=O.$isShown=!1,g(O),P.keyboard&&null!==R&&k(),P.autoClose&&null!==R&&T()}},F.toggle=function(){F.$isShown?F.leave():F.enter()},F.focus=function(){R[0].focus()},F.setEnabled=function(e){P.bsEnabled=e},F.$applyPlacement=function(){if(R){var a=P.placement,o=/\s?auto?\s?/i,i=o.test(a);i&&(a=a.replace(o,"")||e.placement),R.addClass(P.placement);var r=C(),s=R.prop("offsetWidth"),l=R.prop("offsetHeight");if(i){var u=a,c=P.container?angular.element(t.querySelector(P.container)):n.parent(),d=C(c);u.indexOf("bottom")>=0&&r.bottom+l>d.bottom?a=u.replace("bottom","top"):u.indexOf("top")>=0&&r.top-l<d.top&&(a=u.replace("top","bottom")),("right"===u||"bottom-left"===u||"top-left"===u)&&r.right+s>d.width?a="right"===u?"left":a.replace("left","right"):("left"===u||"bottom-right"===u||"top-right"===u)&&r.left-s<d.left&&(a="left"===u?"right":a.replace("right","left")),R.removeClass(u).addClass(a)}var f=M(a,r,s,l);E(f.top,f.left)}},F.$onKeyUp=function(e){27===e.which&&F.$isShown&&(F.hide(),e.stopPropagation())},F.$onFocusKeyUp=function(e){27===e.which&&(n[0].blur(),e.stopPropagation())},F.$onFocusElementMouseDown=function(e){e.preventDefault(),e.stopPropagation(),F.$isShown?n[0].blur():n[0].focus()};var j=!1;return F}function g(e){e.$$phase||e.$root&&e.$root.$$phase||e.$digest()}function m(e,n){return angular.element((n||t).querySelectorAll(e))}function $(e){return b[e]?b[e]:b[e]=i.when(r.get(e)||s.get(e)).then(function(t){return angular.isObject(t)?(r.put(e,t.data),t.data):t
10
- })}var h=String.prototype.trim,v="createTouch"in n.document,y=/ng-bind="/gi,w=angular.element(n.document),b={};return p}]}).directive("bsTooltip",["$window","$location","$sce","$tooltip","$$rAF",function(e,t,n,a,o){return{restrict:"EAC",scope:!0,link:function(e,t,i){var r={scope:e};angular.forEach(["template","contentTemplate","placement","container","delay","trigger","keyboard","html","animation","backdropAnimation","type","customClass","id"],function(e){angular.isDefined(i[e])&&(r[e]=i[e])}),t.attr("data-target")&&(r.target=t.attr("data-target")),e.hasOwnProperty("title")||(e.title=""),i.$observe("title",function(t){if(angular.isDefined(t)||!e.hasOwnProperty("title")){var a=e.title;e.title=n.trustAsHtml(t),angular.isDefined(a)&&o(function(){s&&s.$applyPlacement()})}}),i.bsTooltip&&e.$watch(i.bsTooltip,function(t,n){angular.isObject(t)?angular.extend(e,t):e.title=t,angular.isDefined(n)&&o(function(){s&&s.$applyPlacement()})},!0),i.bsShow&&e.$watch(i.bsShow,function(e){s&&angular.isDefined(e)&&(angular.isString(e)&&(e=!!e.match(/true|,?(tooltip),?/i)),e===!0?s.show():s.hide())}),i.bsEnabled&&e.$watch(i.bsEnabled,function(e){s&&angular.isDefined(e)&&(angular.isString(e)&&(e=!!e.match(/true|1|,?(tooltip),?/i)),s.setEnabled(e===!1?!1:!0))});var s=a(t,r);e.$on("$destroy",function(){s&&s.destroy(),r=null,s=null})}}}]),angular.module("mgcrea.ngStrap.typeahead",["mgcrea.ngStrap.tooltip","mgcrea.ngStrap.helpers.parseOptions"]).provider("$typeahead",function(){var e=this.defaults={animation:"am-fade",prefixClass:"typeahead",prefixEvent:"$typeahead",placement:"bottom-left",template:"typeahead/typeahead.tpl.html",trigger:"focus",container:!1,keyboard:!0,html:!1,delay:0,minLength:1,filter:"filter",limit:6,comparator:""};this.$get=["$window","$rootScope","$tooltip","$timeout",function(t,n,a,o){function i(t,n,i){var r={},s=angular.extend({},e,i);r=a(t,s);var l=i.scope,u=r.$scope;u.$resetMatches=function(){u.$matches=[],u.$activeIndex=0},u.$resetMatches(),u.$activate=function(e){u.$$postDigest(function(){r.activate(e)})},u.$select=function(e){u.$$postDigest(function(){r.select(e)})},u.$isVisible=function(){return r.$isVisible()},r.update=function(e){u.$matches=e,u.$activeIndex>=e.length&&(u.$activeIndex=0)},r.activate=function(e){u.$activeIndex=e},r.select=function(e){var t=u.$matches[e].value;n.$setViewValue(t),n.$render(),u.$resetMatches(),l&&l.$digest(),u.$emit(s.prefixEvent+".select",t,e,r)},r.$isVisible=function(){return s.minLength&&n?u.$matches.length&&angular.isString(n.$viewValue)&&n.$viewValue.length>=s.minLength:!!u.$matches.length},r.$getIndex=function(e){var t=u.$matches.length,n=t;if(t){for(n=t;n--&&u.$matches[n].value!==e;);if(!(0>n))return n}},r.$onMouseDown=function(e){e.preventDefault(),e.stopPropagation()},r.$onKeyDown=function(e){/(38|40|13)/.test(e.keyCode)&&(r.$isVisible()&&(e.preventDefault(),e.stopPropagation()),13===e.keyCode&&u.$matches.length?r.select(u.$activeIndex):38===e.keyCode&&u.$activeIndex>0?u.$activeIndex--:40===e.keyCode&&u.$activeIndex<u.$matches.length-1?u.$activeIndex++:angular.isUndefined(u.$activeIndex)&&(u.$activeIndex=0),u.$digest())};var c=r.show;r.show=function(){c(),o(function(){r.$element.on("mousedown",r.$onMouseDown),s.keyboard&&t.on("keydown",r.$onKeyDown)},0,!1)};var d=r.hide;return r.hide=function(){r.$element.off("mousedown",r.$onMouseDown),s.keyboard&&t.off("keydown",r.$onKeyDown),d()},r}angular.element(t.document.body);return i.defaults=e,i}]}).directive("bsTypeahead",["$window","$parse","$q","$typeahead","$parseOptions",function(e,t,a,o,i){var r=o.defaults;return{restrict:"EAC",require:"ngModel",link:function(e,t,a,s){var l={scope:e};angular.forEach(["placement","container","delay","trigger","keyboard","html","animation","template","filter","limit","minLength","watchOptions","selectMode","comparator","id"],function(e){angular.isDefined(a[e])&&(l[e]=a[e])});var u=l.filter||r.filter,c=l.limit||r.limit,d=l.comparator||r.comparator,f=a.ngOptions;u&&(f+=" | "+u+":$viewValue"),d&&(f+=":"+d),c&&(f+=" | limitTo:"+c);var p=i(f),g=o(t,s,l);if(l.watchOptions){var m=p.$match[7].replace(/\|.+/,"").replace(/\(.*\)/g,"").trim();e.$watch(m,function(){p.valuesFn(e,s).then(function(e){g.update(e),s.$render()})},!0)}e.$watch(a.ngModel,function(t){e.$modelValue=t,p.valuesFn(e,s).then(function(e){if(l.selectMode&&!e.length&&t.length>0)return void s.$setViewValue(s.$viewValue.substring(0,s.$viewValue.length-1));e.length>c&&(e=e.slice(0,c));var n=g.$isVisible();n&&g.update(e),(1!==e.length||e[0].value!==t)&&(!n&&g.update(e),s.$render())})}),s.$formatters.push(function(e){var t=p.displayValue(e);return t===n?"":t}),s.$render=function(){if(s.$isEmpty(s.$viewValue))return t.val("");var e=g.$getIndex(s.$modelValue),n=angular.isDefined(e)?g.$scope.$matches[e].label:s.$viewValue;n=angular.isObject(n)?p.displayValue(n):n,t.val(n?n.toString().replace(/<(?:.|\n)*?>/gm,"").trim():"")},e.$on("$destroy",function(){g&&g.destroy(),l=null,g=null})}}}])}(window,document);
11
- //# sourceMappingURL=angular-strap.min.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["angular-strap.min.js"],"names":["window","document","undefined","angular","module","provider","defaults","this","offsetTop","$get","$window","debounce","dimensions","AffixFactory","element","config","getRequiredAffixClass","unpin","position","elementHeight","scrollTop","getScrollTop","scrollHeight","getScrollHeight","top","offsetBottom","initialAffixTop","targetEl","pageYOffset","body","$affix","options","extend","target","reset","setWidth","initialOffsetTop","affixed","parent","offsetParent","match","i","init","$parseOffsets","offset","style","width","on","checkPosition","checkPositionWithEventLoop","windowEl","$debouncedOnResize","destroy","off","setTimeout","height","affix","removeClass","addClass","css","offsetUnpin","bodyEl","offsetHeight","offsetWidth","$onResize","initialPosition","directive","restrict","require","link","scope","attr","affixTarget","$element","forEach","key","isDefined","$on","controller","animation","prefixClass","prefixEvent","placement","template","container","backdrop","keyboard","show","duration","type","dismissable","$modal","$timeout","AlertFactory","$alert","$scope","hide","$sce","requestAnimationFrame","$observe","newValue","trustAsHtml","bsAlert","$watch","isObject","content","alert","trigger","toggle","contentTemplate","html","AsideFactory","$aside","bsAside","aside","activeClass","toggleEvent","compile","removeAttr","children","querySelectorAll","child","childEl","ngModel","$button","$$rAF","constantValueRegExp","isInput","nodeName","activeElement","trueValue","test","$eval","falseValue","hasExoticValues","$parsers","push","viewValue","$formatters","modelValue","equals","$render","isActive","$modelValue","checked","toggleClass","bind","$apply","$setViewValue","hasClass","value","disallowToggle","startCollapsed","allowMultiple","$attrs","fixActiveItemIndexes","index","activeIndexes","self","$targets","$active","length","activeItems","indexOf","deactivateItem","splice","activateItem","$options","copy","$toggles","$viewChangeListeners","$registerToggle","$registerTarget","$unregisterToggle","$unregisterTarget","fn","$setActive","isArray","$activeIndexes","$collapse","$animate","attrs","controllers","ngModelCtrl","bsCollapseCtrl","bsCollapseToggle","render","active","action","delay","useNative","dateType","dateFormat","modelDateFormat","dayFormat","monthFormat","yearFormat","monthTitleFormat","yearTitleFormat","strictFormat","autoclose","minDate","Infinity","maxDate","startView","minView","startWeek","daysOfWeekDisabled","iconLeft","iconRight","$document","$rootScope","$dateFormatter","datepickerViews","$tooltip","DatepickerFactory","updateSelected","el","selected","$datepicker","$isSelected","date","focusElement","focus","parentScope","pickerViews","$views","views","viewDate","$mode","$iconLeft","$iconRight","$picker","$select","select","$selectPane","$toggleMode","setMode","update","isDate","isNaN","getTime","$date","call","$build","updateDisabledDates","dateRanges","disabledDateRanges","l","rows","$setDisabledEl","keep","$dateValue","Date","year","getFullYear","month","getMonth","getDate","mode","pristine","built","build","$updateSelected","isSelected","disabled","isDisabled","steps","targetDate","UTC","getUTCFullYear","getUTCMonth","getUTCDate","$onMouseDown","evt","preventDefault","stopPropagation","isTouch","toLowerCase","triggerHandler","$onKeyDown","keyCode","shiftKey","altKey","onKeyDown","$digest","_init","isNative","prop","_destroy","_show","$isShown","_hide","blur","navigator","userAgent","lang","getDefaultLocale","$parse","$q","$dateParser","normalizeDateRanges","ranges","validateAgainstMinMaxDate","parsedDate","isMinValid","datepicker","isMaxValid","isValid","$setValidity","getDateFormattedString","formatDate","bsShow","isString","format","dateParser","strict","getDateForAttribute","disabledDates","disabledRanges","previousValue","unshift","parse","toISOString","isUndefined","NaN","val","split","arr","size","arrays","mod","n","m","daySplit","picker","weekDaysMin","weekdaysShort","weekDaysLabels","slice","concat","weekDaysLabelsHtml","join","startDate","getTimezoneOffset","force","firstDayOfMonth","firstDayOfMonthOffset","firstDate","getDay","firstDateOffset","today","toDateString","day","days","daylightSavingAdjust","isToday","label","muted","title","showLabels","labels","time","start","end","newDate","actualTime","name","months","lastDate","actualMonth","setMonth","parseInt","firstYear","years","actualYear","setYear","Array","prototype","DropdownFactory","onBodyClick","$dropdown","$new","parentEl","items","matchesSelector","eq","Element","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","bsDropdown","dropdown","service","$locale","dateFilter","splitTimeFormat","exec","id","getDatetimeFormat","DATETIME_FORMATS","SHORTDAY","hoursFormat","timeFormat","minutesFormat","timeSeparator","showAM","ParseDate","hours","minutes","seconds","milliseconds","noop","isNumeric","parseFloat","isFinite","indexOfCaseInsensitive","array","len","str","toString","setMilliseconds","setSeconds","setMinutes","setHours","getHours","setDate","setFullYear","fromDate","getMinutes","getSeconds","getMilliseconds","toDate","proto","DateParserFactory","setMapForFormat","keys","Object","setFnMap","map","sortedMap","clonedFormat","search","v","escapeReservedSymbols","text","replace","regExpForFormat","regExpMap","re","RegExp","regex","setMap","sss","ss","s","mm","HH","H","hh","h","a","EEEE","DAY","EEE","dd","d","MMMM","MONTH","MMM","SHORTMONTH","MM","M","yyyy","yy","y","$format","baseDate","formatRegex","formatSetMap","matches","substr","getTimeForAttribute","factory","func","wait","immediate","timeout","context","args","arguments","callNow","cancel","apply","leading","trailing","extra","currentStyle","getComputedStyle","boxRect","getBoundingClientRect","docElement","ownerDocument","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","displayValue","version","minor","dot","webkitRequestAnimationFrame","mozRequestAnimationFrame","cancelAnimationFrame","webkitCancelAnimationFrame","mozCancelAnimationFrame","webkitCancelRequestAnimationFrame","rafSupported","raf","timer","supported","backdropAnimation","$compile","$templateCache","$http","ModalFactory","enterAnimateCallback","$emit","leaveAnimateCallback","bodyElement","hideOnBackdropClick","currentTarget","preventEventDefault","$promise","fetchTemplate","$id","$hide","$$postDigest","$show","$toggle","templateEl","contentEl","findElement","next","remove","outerHTML","modalLinker","modalElement","backdropElement","data","htmlReplaceRegExp","trim","$destroy","defaultPrevented","after","isElement","lastChild","display","enter","promise","safeDigest","$onKeyUp","leave","which","$$phase","$root","query","fetchPromises","get","res","put","String","falseValueRegExp","bsModal","modal","routeAttr","$location","$navbar","path","liElements","li","liElement","pattern","customClass","autoClose","PopoverFactory","$popover","oldValue","popover","$applyPlacement","bsPopover","spies","$$spies","throttle","ScrollSpyFactory","isWindowSpy","scrollEl","scrollId","$$count","unbindViewContentLoaded","unbindIncludeContentLoaded","activeTarget","debouncedCheckPosition","throttledCheckPosition","debouncedCheckOffsets","viewportHeight","$scrollspy","trackedElements","$trackedElements","sortedElements","checkOffsets","Math","max","innerHeight","docEl","$activateElement","$getTrackedElement","source","filter","obj","trackedElement","targetElement","querySelector","sort","b","trackElement","untrackElement","toDelete","activate","scrollspy","multiple","allNoneButtons","caretHtml","placeholder","allText","noneText","maxLength","maxLengthHtml","iconCheckmark","SelectFactory","$matches","$activeIndex","$isMultiple","$showAllNoneButtons","$iconCheckmark","$allText","$noneText","$activate","$isVisible","$isActive","$selectAll","$selectNone","$updateActiveIndex","$getIndex","minLength","$viewValue","inputEl","parsedOptions","ngOptions","watchedOptions","$isEmpty","navClass","$navClass","$activeClass","$panes","$activePaneChangeListeners","$push","pane","$remove","activeIndex","$tab","transclude","templateUrl","bsTabsCtrl","console","warn","bsActivePane","parsedBsActivePane","assign","timeType","modelTimeFormat","minTime","maxTime","hourStep","minuteStep","iconUp","iconDown","arrowBehavior","timepickerFactory","createSelection","createTextRange","selRange","collapse","moveStart","moveEnd","setSelectionRange","selectionStart","selectionEnd","$timepicker","selectedIndex","hour","meridian","minute","second","millisecond","$iconUp","$iconDown","$moveIndex","$switchMeridian","switchMeridian","$isBuilt","midIndex","$isDisabled","isAM","selectedTime","$arrowAction","$setTimeByStep","hoursLength","minutesLength","lateralMove","count","selectRange","validateAgainstMinMaxTime","parsedTime","getTimeFormattedString","timepicker","bsEnabled","TooltipFactory","tipElement","_tipToHide","_blur","destroyTipElement","bindTriggerEvents","triggers","$onFocusElementMouseDown","unbindTriggerEvents","bindKeyboardEvents","$onFocusKeyUp","unbindKeyboardEvents","bindAutoCloseEvents","stopEventPropagation","$body","_autoCloseEventsBinded","unbindAutoCloseEvents","event","getPosition","elRect","rect","p","hasOwnProperty","right","bottom","elPos","getCalculatedOffset","actualWidth","actualHeight","applyPlacementCss","clearTimeout","tipScope","$setEnabled","isEnabled","setEnabled","hoverState","tipLinker","tipTemplate","tipContainer","isNumber","visibility","autoToken","autoPlace","elementPosition","tipWidth","tipHeight","originalPlacement","containerPosition","tipPosition","tooltip","bsTooltip","limit","comparator","TypeaheadFactory","$typeahead","$resetMatches","typeahead","watchOptions","selectMode","substring","isVisible"],"mappings":"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","file":"angular-strap.min.js","sourcesContent":[null],"sourceRoot":"/source/"}
@@ -1,89 +0,0 @@
1
- /**
2
- * angular-strap
3
- * @version v2.1.6 - 2015-02-08
4
- * @link http://mgcrea.github.io/angular-strap
5
- * @author Olivier Louvignes (olivier@mg-crea.com)
6
- * @license MIT License, http://www.opensource.org/licenses/MIT
7
- */
8
- (function(window, document, undefined) {
9
- 'use strict';
10
-
11
- // Source: alert.tpl.js
12
- angular.module('mgcrea.ngStrap.alert').run(['$templateCache', function($templateCache) {
13
-
14
- $templateCache.put('alert/alert.tpl.html', '<div class="alert" ng-class="[type ? \'alert-\' + type : null]"><button type="button" class="close" ng-if="dismissable" ng-click="$hide()">&times;</button> <strong ng-bind="title"></strong>&nbsp;<span ng-bind-html="content"></span></div>');
15
-
16
- }]);
17
-
18
- // Source: aside.tpl.js
19
- angular.module('mgcrea.ngStrap.aside').run(['$templateCache', function($templateCache) {
20
-
21
- $templateCache.put('aside/aside.tpl.html', '<div class="aside" tabindex="-1" role="dialog"><div class="aside-dialog"><div class="aside-content"><div class="aside-header" ng-show="title"><button type="button" class="close" ng-click="$hide()">&times;</button><h4 class="aside-title" ng-bind="title"></h4></div><div class="aside-body" ng-bind="content"></div><div class="aside-footer"><button type="button" class="btn btn-default" ng-click="$hide()">Close</button></div></div></div></div>');
22
-
23
- }]);
24
-
25
- // Source: datepicker.tpl.js
26
- angular.module('mgcrea.ngStrap.datepicker').run(['$templateCache', function($templateCache) {
27
-
28
- $templateCache.put('datepicker/datepicker.tpl.html', '<div class="dropdown-menu datepicker" ng-class="\'datepicker-mode-\' + $mode" style="max-width: 320px"><table style="table-layout: fixed; height: 100%; width: 100%"><thead><tr class="text-center"><th><button tabindex="-1" type="button" class="btn btn-default pull-left" ng-click="$selectPane(-1)"><i class="{{$iconLeft}}"></i></button></th><th colspan="{{ rows[0].length - 2 }}"><button tabindex="-1" type="button" class="btn btn-default btn-block text-strong" ng-click="$toggleMode()"><strong style="text-transform: capitalize" ng-bind="title"></strong></button></th><th><button tabindex="-1" type="button" class="btn btn-default pull-right" ng-click="$selectPane(+1)"><i class="{{$iconRight}}"></i></button></th></tr><tr ng-show="showLabels" ng-bind-html="labels"></tr></thead><tbody><tr ng-repeat="(i, row) in rows" height="{{ 100 / rows.length }}%"><td class="text-center" ng-repeat="(j, el) in row"><button tabindex="-1" type="button" class="btn btn-default" style="width: 100%" ng-class="{\'btn-primary\': el.selected, \'btn-info btn-today\': el.isToday && !el.selected}" ng-click="$select(el.date)" ng-disabled="el.disabled"><span ng-class="{\'text-muted\': el.muted}" ng-bind="el.label"></span></button></td></tr></tbody></table></div>');
29
-
30
- }]);
31
-
32
- // Source: dropdown.tpl.js
33
- angular.module('mgcrea.ngStrap.dropdown').run(['$templateCache', function($templateCache) {
34
-
35
- $templateCache.put('dropdown/dropdown.tpl.html', '<ul tabindex="-1" class="dropdown-menu" role="menu"><li role="presentation" ng-class="{divider: item.divider}" ng-repeat="item in content"><a role="menuitem" tabindex="-1" ng-href="{{item.href}}" ng-if="!item.divider && item.href" target="{{item.target || \'\'}}" ng-bind="item.text"></a> <a role="menuitem" tabindex="-1" href="javascript:void(0)" ng-if="!item.divider && item.click" ng-click="$eval(item.click);$hide()" ng-bind="item.text"></a></li></ul>');
36
-
37
- }]);
38
-
39
- // Source: modal.tpl.js
40
- angular.module('mgcrea.ngStrap.modal').run(['$templateCache', function($templateCache) {
41
-
42
- $templateCache.put('modal/modal.tpl.html', '<div class="modal" tabindex="-1" role="dialog"><div class="modal-dialog"><div class="modal-content"><div class="modal-header" ng-show="title"><button type="button" class="close" ng-click="$hide()">&times;</button><h4 class="modal-title" ng-bind="title"></h4></div><div class="modal-body" ng-bind="content"></div><div class="modal-footer"><button type="button" class="btn btn-default" ng-click="$hide()">Close</button></div></div></div></div>');
43
-
44
- }]);
45
-
46
- // Source: popover.tpl.js
47
- angular.module('mgcrea.ngStrap.popover').run(['$templateCache', function($templateCache) {
48
-
49
- $templateCache.put('popover/popover.tpl.html', '<div class="popover"><div class="arrow"></div><h3 class="popover-title" ng-bind="title" ng-show="title"></h3><div class="popover-content" ng-bind="content"></div></div>');
50
-
51
- }]);
52
-
53
- // Source: select.tpl.js
54
- angular.module('mgcrea.ngStrap.select').run(['$templateCache', function($templateCache) {
55
-
56
- $templateCache.put('select/select.tpl.html', '<ul tabindex="-1" class="select dropdown-menu" ng-show="$isVisible()" role="select"><li ng-if="$showAllNoneButtons"><div class="btn-group" style="margin-bottom: 5px; margin-left: 5px"><button type="button" class="btn btn-default btn-xs" ng-click="$selectAll()">{{$allText}}</button> <button type="button" class="btn btn-default btn-xs" ng-click="$selectNone()">{{$noneText}}</button></div></li><li role="presentation" ng-repeat="match in $matches" ng-class="{active: $isActive($index)}"><a style="cursor: default" role="menuitem" tabindex="-1" ng-click="$select($index, $event)"><i class="{{$iconCheckmark}} pull-right" ng-if="$isMultiple && $isActive($index)"></i> <span ng-bind="match.label"></span></a></li></ul>');
57
-
58
- }]);
59
-
60
- // Source: tab.tpl.js
61
- angular.module('mgcrea.ngStrap.tab').run(['$templateCache', function($templateCache) {
62
-
63
- $templateCache.put('tab/tab.tpl.html', '<ul class="nav" ng-class="$navClass" role="tablist"><li ng-repeat="$pane in $panes track by $index" ng-class="$index == $panes.$active ? $activeClass : \'\'"><a role="tab" data-toggle="tab" ng-click="$setActive($index)" data-index="{{ $index }}" ng-bind-html="$pane.title"></a></li></ul><div ng-transclude class="tab-content"></div>');
64
-
65
- }]);
66
-
67
- // Source: timepicker.tpl.js
68
- angular.module('mgcrea.ngStrap.timepicker').run(['$templateCache', function($templateCache) {
69
-
70
- $templateCache.put('timepicker/timepicker.tpl.html', '<div class="dropdown-menu timepicker" style="min-width: 0px;width: auto"><table height="100%"><thead><tr class="text-center"><th><button tabindex="-1" type="button" class="btn btn-default pull-left" ng-click="$arrowAction(-1, 0)"><i class="{{ $iconUp }}"></i></button></th><th>&nbsp;</th><th><button tabindex="-1" type="button" class="btn btn-default pull-left" ng-click="$arrowAction(-1, 1)"><i class="{{ $iconUp }}"></i></button></th></tr></thead><tbody><tr ng-repeat="(i, row) in rows"><td class="text-center"><button tabindex="-1" style="width: 100%" type="button" class="btn btn-default" ng-class="{\'btn-primary\': row[0].selected}" ng-click="$select(row[0].date, 0)" ng-disabled="row[0].disabled"><span ng-class="{\'text-muted\': row[0].muted}" ng-bind="row[0].label"></span></button></td><td><span ng-bind="i == midIndex ? timeSeparator : \' \'"></span></td><td class="text-center"><button tabindex="-1" ng-if="row[1].date" style="width: 100%" type="button" class="btn btn-default" ng-class="{\'btn-primary\': row[1].selected}" ng-click="$select(row[1].date, 1)" ng-disabled="row[1].disabled"><span ng-class="{\'text-muted\': row[1].muted}" ng-bind="row[1].label"></span></button></td><td ng-if="showAM">&nbsp;</td><td ng-if="showAM"><button tabindex="-1" ng-show="i == midIndex - !isAM * 1" style="width: 100%" type="button" ng-class="{\'btn-primary\': !!isAM}" class="btn btn-default" ng-click="$switchMeridian()" ng-disabled="el.disabled">AM</button> <button tabindex="-1" ng-show="i == midIndex + 1 - !isAM * 1" style="width: 100%" type="button" ng-class="{\'btn-primary\': !isAM}" class="btn btn-default" ng-click="$switchMeridian()" ng-disabled="el.disabled">PM</button></td></tr></tbody><tfoot><tr class="text-center"><th><button tabindex="-1" type="button" class="btn btn-default pull-left" ng-click="$arrowAction(1, 0)"><i class="{{ $iconDown }}"></i></button></th><th>&nbsp;</th><th><button tabindex="-1" type="button" class="btn btn-default pull-left" ng-click="$arrowAction(1, 1)"><i class="{{ $iconDown }}"></i></button></th></tr></tfoot></table></div>');
71
-
72
- }]);
73
-
74
- // Source: tooltip.tpl.js
75
- angular.module('mgcrea.ngStrap.tooltip').run(['$templateCache', function($templateCache) {
76
-
77
- $templateCache.put('tooltip/tooltip.tpl.html', '<div class="tooltip in" ng-show="title"><div class="tooltip-arrow"></div><div class="tooltip-inner" ng-bind="title"></div></div>');
78
-
79
- }]);
80
-
81
- // Source: typeahead.tpl.js
82
- angular.module('mgcrea.ngStrap.typeahead').run(['$templateCache', function($templateCache) {
83
-
84
- $templateCache.put('typeahead/typeahead.tpl.html', '<ul tabindex="-1" class="typeahead dropdown-menu" ng-show="$isVisible()" role="select"><li role="presentation" ng-repeat="match in $matches" ng-class="{active: $index == $activeIndex}"><a role="menuitem" tabindex="-1" ng-click="$select($index, $event)" ng-bind="match.label"></a></li></ul>');
85
-
86
- }]);
87
-
88
-
89
- })(window, document);
@@ -1,8 +0,0 @@
1
- /**
2
- * angular-strap
3
- * @version v2.1.6 - 2015-02-08
4
- * @link http://mgcrea.github.io/angular-strap
5
- * @author Olivier Louvignes (olivier@mg-crea.com)
6
- * @license MIT License, http://www.opensource.org/licenses/MIT
7
- */
8
- !function(){"use strict";angular.module("mgcrea.ngStrap.alert").run(["$templateCache",function(t){t.put("alert/alert.tpl.html",'<div class="alert" ng-class="[type ? \'alert-\' + type : null]"><button type="button" class="close" ng-if="dismissable" ng-click="$hide()">&times;</button> <strong ng-bind="title"></strong>&nbsp;<span ng-bind-html="content"></span></div>')}]),angular.module("mgcrea.ngStrap.aside").run(["$templateCache",function(t){t.put("aside/aside.tpl.html",'<div class="aside" tabindex="-1" role="dialog"><div class="aside-dialog"><div class="aside-content"><div class="aside-header" ng-show="title"><button type="button" class="close" ng-click="$hide()">&times;</button><h4 class="aside-title" ng-bind="title"></h4></div><div class="aside-body" ng-bind="content"></div><div class="aside-footer"><button type="button" class="btn btn-default" ng-click="$hide()">Close</button></div></div></div></div>')}]),angular.module("mgcrea.ngStrap.datepicker").run(["$templateCache",function(t){t.put("datepicker/datepicker.tpl.html",'<div class="dropdown-menu datepicker" ng-class="\'datepicker-mode-\' + $mode" style="max-width: 320px"><table style="table-layout: fixed; height: 100%; width: 100%"><thead><tr class="text-center"><th><button tabindex="-1" type="button" class="btn btn-default pull-left" ng-click="$selectPane(-1)"><i class="{{$iconLeft}}"></i></button></th><th colspan="{{ rows[0].length - 2 }}"><button tabindex="-1" type="button" class="btn btn-default btn-block text-strong" ng-click="$toggleMode()"><strong style="text-transform: capitalize" ng-bind="title"></strong></button></th><th><button tabindex="-1" type="button" class="btn btn-default pull-right" ng-click="$selectPane(+1)"><i class="{{$iconRight}}"></i></button></th></tr><tr ng-show="showLabels" ng-bind-html="labels"></tr></thead><tbody><tr ng-repeat="(i, row) in rows" height="{{ 100 / rows.length }}%"><td class="text-center" ng-repeat="(j, el) in row"><button tabindex="-1" type="button" class="btn btn-default" style="width: 100%" ng-class="{\'btn-primary\': el.selected, \'btn-info btn-today\': el.isToday && !el.selected}" ng-click="$select(el.date)" ng-disabled="el.disabled"><span ng-class="{\'text-muted\': el.muted}" ng-bind="el.label"></span></button></td></tr></tbody></table></div>')}]),angular.module("mgcrea.ngStrap.dropdown").run(["$templateCache",function(t){t.put("dropdown/dropdown.tpl.html",'<ul tabindex="-1" class="dropdown-menu" role="menu"><li role="presentation" ng-class="{divider: item.divider}" ng-repeat="item in content"><a role="menuitem" tabindex="-1" ng-href="{{item.href}}" ng-if="!item.divider && item.href" target="{{item.target || \'\'}}" ng-bind="item.text"></a> <a role="menuitem" tabindex="-1" href="javascript:void(0)" ng-if="!item.divider && item.click" ng-click="$eval(item.click);$hide()" ng-bind="item.text"></a></li></ul>')}]),angular.module("mgcrea.ngStrap.modal").run(["$templateCache",function(t){t.put("modal/modal.tpl.html",'<div class="modal" tabindex="-1" role="dialog"><div class="modal-dialog"><div class="modal-content"><div class="modal-header" ng-show="title"><button type="button" class="close" ng-click="$hide()">&times;</button><h4 class="modal-title" ng-bind="title"></h4></div><div class="modal-body" ng-bind="content"></div><div class="modal-footer"><button type="button" class="btn btn-default" ng-click="$hide()">Close</button></div></div></div></div>')}]),angular.module("mgcrea.ngStrap.popover").run(["$templateCache",function(t){t.put("popover/popover.tpl.html",'<div class="popover"><div class="arrow"></div><h3 class="popover-title" ng-bind="title" ng-show="title"></h3><div class="popover-content" ng-bind="content"></div></div>')}]),angular.module("mgcrea.ngStrap.select").run(["$templateCache",function(t){t.put("select/select.tpl.html",'<ul tabindex="-1" class="select dropdown-menu" ng-show="$isVisible()" role="select"><li ng-if="$showAllNoneButtons"><div class="btn-group" style="margin-bottom: 5px; margin-left: 5px"><button type="button" class="btn btn-default btn-xs" ng-click="$selectAll()">{{$allText}}</button> <button type="button" class="btn btn-default btn-xs" ng-click="$selectNone()">{{$noneText}}</button></div></li><li role="presentation" ng-repeat="match in $matches" ng-class="{active: $isActive($index)}"><a style="cursor: default" role="menuitem" tabindex="-1" ng-click="$select($index, $event)"><i class="{{$iconCheckmark}} pull-right" ng-if="$isMultiple && $isActive($index)"></i> <span ng-bind="match.label"></span></a></li></ul>')}]),angular.module("mgcrea.ngStrap.tab").run(["$templateCache",function(t){t.put("tab/tab.tpl.html",'<ul class="nav" ng-class="$navClass" role="tablist"><li ng-repeat="$pane in $panes track by $index" ng-class="$index == $panes.$active ? $activeClass : \'\'"><a role="tab" data-toggle="tab" ng-click="$setActive($index)" data-index="{{ $index }}" ng-bind-html="$pane.title"></a></li></ul><div ng-transclude class="tab-content"></div>')}]),angular.module("mgcrea.ngStrap.timepicker").run(["$templateCache",function(t){t.put("timepicker/timepicker.tpl.html",'<div class="dropdown-menu timepicker" style="min-width: 0px;width: auto"><table height="100%"><thead><tr class="text-center"><th><button tabindex="-1" type="button" class="btn btn-default pull-left" ng-click="$arrowAction(-1, 0)"><i class="{{ $iconUp }}"></i></button></th><th>&nbsp;</th><th><button tabindex="-1" type="button" class="btn btn-default pull-left" ng-click="$arrowAction(-1, 1)"><i class="{{ $iconUp }}"></i></button></th></tr></thead><tbody><tr ng-repeat="(i, row) in rows"><td class="text-center"><button tabindex="-1" style="width: 100%" type="button" class="btn btn-default" ng-class="{\'btn-primary\': row[0].selected}" ng-click="$select(row[0].date, 0)" ng-disabled="row[0].disabled"><span ng-class="{\'text-muted\': row[0].muted}" ng-bind="row[0].label"></span></button></td><td><span ng-bind="i == midIndex ? timeSeparator : \' \'"></span></td><td class="text-center"><button tabindex="-1" ng-if="row[1].date" style="width: 100%" type="button" class="btn btn-default" ng-class="{\'btn-primary\': row[1].selected}" ng-click="$select(row[1].date, 1)" ng-disabled="row[1].disabled"><span ng-class="{\'text-muted\': row[1].muted}" ng-bind="row[1].label"></span></button></td><td ng-if="showAM">&nbsp;</td><td ng-if="showAM"><button tabindex="-1" ng-show="i == midIndex - !isAM * 1" style="width: 100%" type="button" ng-class="{\'btn-primary\': !!isAM}" class="btn btn-default" ng-click="$switchMeridian()" ng-disabled="el.disabled">AM</button> <button tabindex="-1" ng-show="i == midIndex + 1 - !isAM * 1" style="width: 100%" type="button" ng-class="{\'btn-primary\': !isAM}" class="btn btn-default" ng-click="$switchMeridian()" ng-disabled="el.disabled">PM</button></td></tr></tbody><tfoot><tr class="text-center"><th><button tabindex="-1" type="button" class="btn btn-default pull-left" ng-click="$arrowAction(1, 0)"><i class="{{ $iconDown }}"></i></button></th><th>&nbsp;</th><th><button tabindex="-1" type="button" class="btn btn-default pull-left" ng-click="$arrowAction(1, 1)"><i class="{{ $iconDown }}"></i></button></th></tr></tfoot></table></div>')}]),angular.module("mgcrea.ngStrap.tooltip").run(["$templateCache",function(t){t.put("tooltip/tooltip.tpl.html",'<div class="tooltip in" ng-show="title"><div class="tooltip-arrow"></div><div class="tooltip-inner" ng-bind="title"></div></div>')}]),angular.module("mgcrea.ngStrap.typeahead").run(["$templateCache",function(t){t.put("typeahead/typeahead.tpl.html",'<ul tabindex="-1" class="typeahead dropdown-menu" ng-show="$isVisible()" role="select"><li role="presentation" ng-repeat="match in $matches" ng-class="{active: $index == $activeIndex}"><a role="menuitem" tabindex="-1" ng-click="$select($index, $event)" ng-bind="match.label"></a></li></ul>')}])}(window,document);
@@ -1,249 +0,0 @@
1
- /**
2
- * angular-strap
3
- * @version v2.1.6 - 2015-02-08
4
- * @link http://mgcrea.github.io/angular-strap
5
- * @author Olivier Louvignes (olivier@mg-crea.com)
6
- * @license MIT License, http://www.opensource.org/licenses/MIT
7
- */
8
- 'use strict';
9
-
10
- angular.module('mgcrea.ngStrap.affix', ['mgcrea.ngStrap.helpers.dimensions', 'mgcrea.ngStrap.helpers.debounce'])
11
-
12
- .provider('$affix', function() {
13
-
14
- var defaults = this.defaults = {
15
- offsetTop: 'auto'
16
- };
17
-
18
- this.$get = ["$window", "debounce", "dimensions", function($window, debounce, dimensions) {
19
-
20
- var bodyEl = angular.element($window.document.body);
21
- var windowEl = angular.element($window);
22
-
23
- function AffixFactory(element, config) {
24
-
25
- var $affix = {};
26
-
27
- // Common vars
28
- var options = angular.extend({}, defaults, config);
29
- var targetEl = options.target;
30
-
31
- // Initial private vars
32
- var reset = 'affix affix-top affix-bottom',
33
- setWidth = false,
34
- initialAffixTop = 0,
35
- initialOffsetTop = 0,
36
- offsetTop = 0,
37
- offsetBottom = 0,
38
- affixed = null,
39
- unpin = null;
40
-
41
- var parent = element.parent();
42
- // Options: custom parent
43
- if (options.offsetParent) {
44
- if (options.offsetParent.match(/^\d+$/)) {
45
- for (var i = 0; i < (options.offsetParent * 1) - 1; i++) {
46
- parent = parent.parent();
47
- }
48
- }
49
- else {
50
- parent = angular.element(options.offsetParent);
51
- }
52
- }
53
-
54
- $affix.init = function() {
55
-
56
- this.$parseOffsets();
57
- initialOffsetTop = dimensions.offset(element[0]).top + initialAffixTop;
58
- setWidth = !element[0].style.width;
59
-
60
- // Bind events
61
- targetEl.on('scroll', this.checkPosition);
62
- targetEl.on('click', this.checkPositionWithEventLoop);
63
- windowEl.on('resize', this.$debouncedOnResize);
64
-
65
- // Both of these checkPosition() calls are necessary for the case where
66
- // the user hits refresh after scrolling to the bottom of the page.
67
- this.checkPosition();
68
- this.checkPositionWithEventLoop();
69
-
70
- };
71
-
72
- $affix.destroy = function() {
73
-
74
- // Unbind events
75
- targetEl.off('scroll', this.checkPosition);
76
- targetEl.off('click', this.checkPositionWithEventLoop);
77
- windowEl.off('resize', this.$debouncedOnResize);
78
-
79
- };
80
-
81
- $affix.checkPositionWithEventLoop = function() {
82
-
83
- // IE 9 throws an error if we use 'this' instead of '$affix'
84
- // in this setTimeout call
85
- setTimeout($affix.checkPosition, 1);
86
-
87
- };
88
-
89
- $affix.checkPosition = function() {
90
- // if (!this.$element.is(':visible')) return
91
-
92
- var scrollTop = getScrollTop();
93
- var position = dimensions.offset(element[0]);
94
- var elementHeight = dimensions.height(element[0]);
95
-
96
- // Get required affix class according to position
97
- var affix = getRequiredAffixClass(unpin, position, elementHeight);
98
-
99
- // Did affix status changed this last check?
100
- if(affixed === affix) return;
101
- affixed = affix;
102
-
103
- // Add proper affix class
104
- element.removeClass(reset).addClass('affix' + ((affix !== 'middle') ? '-' + affix : ''));
105
-
106
- if(affix === 'top') {
107
- unpin = null;
108
- element.css('position', (options.offsetParent) ? '' : 'relative');
109
- if(setWidth) {
110
- element.css('width', '');
111
- }
112
- element.css('top', '');
113
- } else if(affix === 'bottom') {
114
- if (options.offsetUnpin) {
115
- unpin = -(options.offsetUnpin * 1);
116
- }
117
- else {
118
- // Calculate unpin threshold when affixed to bottom.
119
- // Hopefully the browser scrolls pixel by pixel.
120
- unpin = position.top - scrollTop;
121
- }
122
- if(setWidth) {
123
- element.css('width', '');
124
- }
125
- element.css('position', (options.offsetParent) ? '' : 'relative');
126
- element.css('top', (options.offsetParent) ? '' : ((bodyEl[0].offsetHeight - offsetBottom - elementHeight - initialOffsetTop) + 'px'));
127
- } else { // affix === 'middle'
128
- unpin = null;
129
- if(setWidth) {
130
- element.css('width', element[0].offsetWidth + 'px');
131
- }
132
- element.css('position', 'fixed');
133
- element.css('top', initialAffixTop + 'px');
134
- }
135
-
136
- };
137
-
138
- $affix.$onResize = function() {
139
- $affix.$parseOffsets();
140
- $affix.checkPosition();
141
- };
142
- $affix.$debouncedOnResize = debounce($affix.$onResize, 50);
143
-
144
- $affix.$parseOffsets = function() {
145
- var initialPosition = element.css('position');
146
- // Reset position to calculate correct offsetTop
147
- element.css('position', (options.offsetParent) ? '' : 'relative');
148
-
149
- if(options.offsetTop) {
150
- if(options.offsetTop === 'auto') {
151
- options.offsetTop = '+0';
152
- }
153
- if(options.offsetTop.match(/^[-+]\d+$/)) {
154
- initialAffixTop = - options.offsetTop * 1;
155
- if(options.offsetParent) {
156
- offsetTop = dimensions.offset(parent[0]).top + (options.offsetTop * 1);
157
- }
158
- else {
159
- offsetTop = dimensions.offset(element[0]).top - dimensions.css(element[0], 'marginTop', true) + (options.offsetTop * 1);
160
- }
161
- }
162
- else {
163
- offsetTop = options.offsetTop * 1;
164
- }
165
- }
166
-
167
- if(options.offsetBottom) {
168
- if(options.offsetParent && options.offsetBottom.match(/^[-+]\d+$/)) {
169
- // add 1 pixel due to rounding problems...
170
- offsetBottom = getScrollHeight() - (dimensions.offset(parent[0]).top + dimensions.height(parent[0])) + (options.offsetBottom * 1) + 1;
171
- }
172
- else {
173
- offsetBottom = options.offsetBottom * 1;
174
- }
175
- }
176
-
177
- // Bring back the element's position after calculations
178
- element.css('position', initialPosition);
179
- };
180
-
181
- // Private methods
182
-
183
- function getRequiredAffixClass(unpin, position, elementHeight) {
184
-
185
- var scrollTop = getScrollTop();
186
- var scrollHeight = getScrollHeight();
187
-
188
- if(scrollTop <= offsetTop) {
189
- return 'top';
190
- } else if(unpin !== null && (scrollTop + unpin <= position.top)) {
191
- return 'middle';
192
- } else if(offsetBottom !== null && (position.top + elementHeight + initialAffixTop >= scrollHeight - offsetBottom)) {
193
- return 'bottom';
194
- } else {
195
- return 'middle';
196
- }
197
-
198
- }
199
-
200
- function getScrollTop() {
201
- return targetEl[0] === $window ? $window.pageYOffset : targetEl[0].scrollTop;
202
- }
203
-
204
- function getScrollHeight() {
205
- return targetEl[0] === $window ? $window.document.body.scrollHeight : targetEl[0].scrollHeight;
206
- }
207
-
208
- $affix.init();
209
- return $affix;
210
-
211
- }
212
-
213
- return AffixFactory;
214
-
215
- }];
216
-
217
- })
218
-
219
- .directive('bsAffix', ["$affix", "$window", function($affix, $window) {
220
-
221
- return {
222
- restrict: 'EAC',
223
- require: '^?bsAffixTarget',
224
- link: function postLink(scope, element, attr, affixTarget) {
225
-
226
- var options = {scope: scope, offsetTop: 'auto', target: affixTarget ? affixTarget.$element : angular.element($window)};
227
- angular.forEach(['offsetTop', 'offsetBottom', 'offsetParent', 'offsetUnpin'], function(key) {
228
- if(angular.isDefined(attr[key])) options[key] = attr[key];
229
- });
230
-
231
- var affix = $affix(element, options);
232
- scope.$on('$destroy', function() {
233
- affix && affix.destroy();
234
- options = null;
235
- affix = null;
236
- });
237
-
238
- }
239
- };
240
-
241
- }])
242
-
243
- .directive('bsAffixTarget', function() {
244
- return {
245
- controller: ["$element", function($element) {
246
- this.$element = $element;
247
- }]
248
- };
249
- });
@@ -1,9 +0,0 @@
1
- /**
2
- * angular-strap
3
- * @version v2.1.6 - 2015-02-08
4
- * @link http://mgcrea.github.io/angular-strap
5
- * @author Olivier Louvignes (olivier@mg-crea.com)
6
- * @license MIT License, http://www.opensource.org/licenses/MIT
7
- */
8
- "use strict";angular.module("mgcrea.ngStrap.affix",["mgcrea.ngStrap.helpers.dimensions","mgcrea.ngStrap.helpers.debounce"]).provider("$affix",function(){var t=this.defaults={offsetTop:"auto"};this.$get=["$window","debounce","dimensions",function(e,o,s){function n(n,r){function c(t,e,o){var s=a(),n=l();return $>=s?"top":null!==t&&s+t<=e.top?"middle":null!==v&&e.top+o+g>=n-v?"bottom":"middle"}function a(){return h[0]===e?e.pageYOffset:h[0].scrollTop}function l(){return h[0]===e?e.document.body.scrollHeight:h[0].scrollHeight}var u={},p=angular.extend({},t,r),h=p.target,d="affix affix-top affix-bottom",m=!1,g=0,P=0,$=0,v=0,T=null,x=null,b=n.parent();if(p.offsetParent)if(p.offsetParent.match(/^\d+$/))for(var k=0;k<1*p.offsetParent-1;k++)b=b.parent();else b=angular.element(p.offsetParent);return u.init=function(){this.$parseOffsets(),P=s.offset(n[0]).top+g,m=!n[0].style.width,h.on("scroll",this.checkPosition),h.on("click",this.checkPositionWithEventLoop),i.on("resize",this.$debouncedOnResize),this.checkPosition(),this.checkPositionWithEventLoop()},u.destroy=function(){h.off("scroll",this.checkPosition),h.off("click",this.checkPositionWithEventLoop),i.off("resize",this.$debouncedOnResize)},u.checkPositionWithEventLoop=function(){setTimeout(u.checkPosition,1)},u.checkPosition=function(){var t=a(),e=s.offset(n[0]),o=s.height(n[0]),i=c(x,e,o);T!==i&&(T=i,n.removeClass(d).addClass("affix"+("middle"!==i?"-"+i:"")),"top"===i?(x=null,n.css("position",p.offsetParent?"":"relative"),m&&n.css("width",""),n.css("top","")):"bottom"===i?(x=p.offsetUnpin?-(1*p.offsetUnpin):e.top-t,m&&n.css("width",""),n.css("position",p.offsetParent?"":"relative"),n.css("top",p.offsetParent?"":f[0].offsetHeight-v-o-P+"px")):(x=null,m&&n.css("width",n[0].offsetWidth+"px"),n.css("position","fixed"),n.css("top",g+"px")))},u.$onResize=function(){u.$parseOffsets(),u.checkPosition()},u.$debouncedOnResize=o(u.$onResize,50),u.$parseOffsets=function(){var t=n.css("position");n.css("position",p.offsetParent?"":"relative"),p.offsetTop&&("auto"===p.offsetTop&&(p.offsetTop="+0"),p.offsetTop.match(/^[-+]\d+$/)?(g=1*-p.offsetTop,$=p.offsetParent?s.offset(b[0]).top+1*p.offsetTop:s.offset(n[0]).top-s.css(n[0],"marginTop",!0)+1*p.offsetTop):$=1*p.offsetTop),p.offsetBottom&&(v=p.offsetParent&&p.offsetBottom.match(/^[-+]\d+$/)?l()-(s.offset(b[0]).top+s.height(b[0]))+1*p.offsetBottom+1:1*p.offsetBottom),n.css("position",t)},u.init(),u}var f=angular.element(e.document.body),i=angular.element(e);return n}]}).directive("bsAffix",["$affix","$window",function(t,e){return{restrict:"EAC",require:"^?bsAffixTarget",link:function(o,s,n,f){var i={scope:o,offsetTop:"auto",target:f?f.$element:angular.element(e)};angular.forEach(["offsetTop","offsetBottom","offsetParent","offsetUnpin"],function(t){angular.isDefined(n[t])&&(i[t]=n[t])});var r=t(s,i);o.$on("$destroy",function(){r&&r.destroy(),i=null,r=null})}}}]).directive("bsAffixTarget",function(){return{controller:["$element",function(t){this.$element=t}]}});
9
- //# sourceMappingURL=affix.min.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["affix.min.js"],"names":["angular","module","provider","defaults","this","offsetTop","$get","$window","debounce","dimensions","AffixFactory","element","config","getRequiredAffixClass","unpin","position","elementHeight","scrollTop","getScrollTop","scrollHeight","getScrollHeight","top","offsetBottom","initialAffixTop","targetEl","pageYOffset","document","body","$affix","options","extend","target","reset","setWidth","initialOffsetTop","affixed","parent","offsetParent","match","i","init","$parseOffsets","offset","style","width","on","checkPosition","checkPositionWithEventLoop","windowEl","$debouncedOnResize","destroy","off","setTimeout","height","affix","removeClass","addClass","css","offsetUnpin","bodyEl","offsetHeight","offsetWidth","$onResize","initialPosition","directive","restrict","require","link","scope","attr","affixTarget","$element","forEach","key","isDefined","$on","controller"],"mappings":"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","file":"affix.min.js","sourcesContent":[null],"sourceRoot":"/source/"}
@@ -1,120 +0,0 @@
1
- /**
2
- * angular-strap
3
- * @version v2.1.6 - 2015-02-08
4
- * @link http://mgcrea.github.io/angular-strap
5
- * @author Olivier Louvignes (olivier@mg-crea.com)
6
- * @license MIT License, http://www.opensource.org/licenses/MIT
7
- */
8
- 'use strict';
9
-
10
- // @BUG: following snippet won't compile correctly
11
- // @TODO: submit issue to core
12
- // '<span ng-if="title"><strong ng-bind="title"></strong>&nbsp;</span><span ng-bind-html="content"></span>' +
13
-
14
- angular.module('mgcrea.ngStrap.alert', ['mgcrea.ngStrap.modal'])
15
-
16
- .provider('$alert', function() {
17
-
18
- var defaults = this.defaults = {
19
- animation: 'am-fade',
20
- prefixClass: 'alert',
21
- prefixEvent: 'alert',
22
- placement: null,
23
- template: 'alert/alert.tpl.html',
24
- container: false,
25
- element: null,
26
- backdrop: false,
27
- keyboard: true,
28
- show: true,
29
- // Specific options
30
- duration: false,
31
- type: false,
32
- dismissable: true
33
- };
34
-
35
- this.$get = ["$modal", "$timeout", function($modal, $timeout) {
36
-
37
- function AlertFactory(config) {
38
-
39
- var $alert = {};
40
-
41
- // Common vars
42
- var options = angular.extend({}, defaults, config);
43
-
44
- $alert = $modal(options);
45
-
46
- // Support scope as string options [/*title, content, */ type, dismissable]
47
- $alert.$scope.dismissable = !!options.dismissable;
48
- if(options.type) {
49
- $alert.$scope.type = options.type;
50
- }
51
-
52
- // Support auto-close duration
53
- var show = $alert.show;
54
- if(options.duration) {
55
- $alert.show = function() {
56
- show();
57
- $timeout(function() {
58
- $alert.hide();
59
- }, options.duration * 1000);
60
- };
61
- }
62
-
63
- return $alert;
64
-
65
- }
66
-
67
- return AlertFactory;
68
-
69
- }];
70
-
71
- })
72
-
73
- .directive('bsAlert', ["$window", "$sce", "$alert", function($window, $sce, $alert) {
74
-
75
- var requestAnimationFrame = $window.requestAnimationFrame || $window.setTimeout;
76
-
77
- return {
78
- restrict: 'EAC',
79
- scope: true,
80
- link: function postLink(scope, element, attr, transclusion) {
81
-
82
- // Directive options
83
- var options = {scope: scope, element: element, show: false};
84
- angular.forEach(['template', 'placement', 'keyboard', 'html', 'container', 'animation', 'duration', 'dismissable'], function(key) {
85
- if(angular.isDefined(attr[key])) options[key] = attr[key];
86
- });
87
-
88
- // Support scope as data-attrs
89
- angular.forEach(['title', 'content', 'type'], function(key) {
90
- attr[key] && attr.$observe(key, function(newValue, oldValue) {
91
- scope[key] = $sce.trustAsHtml(newValue);
92
- });
93
- });
94
-
95
- // Support scope as an object
96
- attr.bsAlert && scope.$watch(attr.bsAlert, function(newValue, oldValue) {
97
- if(angular.isObject(newValue)) {
98
- angular.extend(scope, newValue);
99
- } else {
100
- scope.content = newValue;
101
- }
102
- }, true);
103
-
104
- // Initialize alert
105
- var alert = $alert(options);
106
-
107
- // Trigger
108
- element.on(attr.trigger || 'click', alert.toggle);
109
-
110
- // Garbage collection
111
- scope.$on('$destroy', function() {
112
- if (alert) alert.destroy();
113
- options = null;
114
- alert = null;
115
- });
116
-
117
- }
118
- };
119
-
120
- }]);