From 1b7bd28eeddccee50393bafb23033bd3874285b7 Mon Sep 17 00:00:00 2001 From: danshapir Date: Mon, 1 Sep 2014 09:53:50 +0300 Subject: [PATCH 01/24] Add ability to open a fully manual modal Send the content/message directly to the manager and compile at run time --- app/scripts/components/BsModalComponent.coffee | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/app/scripts/components/BsModalComponent.coffee b/app/scripts/components/BsModalComponent.coffee index e34fa67..185238e 100644 --- a/app/scripts/components/BsModalComponent.coffee +++ b/app/scripts/components/BsModalComponent.coffee @@ -83,7 +83,7 @@ Bootstrap.BsModalComponent = Ember.Component.extend(Ember.Evented, @$().one 'webkitTransitionEnd', (e) -> if current.get('manual') then current.destroy() else current.hide() return - @trigger 'closed' + @trigger 'closed' #Invoked automatically by ember when the view is destroyed, giving us a chance to perform cleanups @@ -149,8 +149,8 @@ Bootstrap.ModalManager = Ember.Object.create( Ember.Object.create({title: cancelButtonTitle, clicked: cancelButtonEvent, type: cancelButtonType, dismiss: 'modal'}) ] @open('confirm-modal', title || 'Confirmation required!', body, buttons, controller, fade, fullSizeButtons, targetObj) - - okModal: (controller, title, message, okButtonTitle = "OK", okButtonEvent = "okModal", okButtonType = null, targetObj = controller, fade = true, fullSizeButtons = false) -> + + okModal: (controller, title, message, okButtonTitle = "OK", okButtonEvent = "okModal", okButtonType = null, targetObj = controller, fade = true, fullSizeButtons = false) -> body = Ember.View.extend( template: Ember.Handlebars.compile(message || "Are you sure you would like to perform this action?") ) @@ -164,6 +164,13 @@ Bootstrap.ModalManager = Ember.Object.create( instance = modalView.create options instance.appendTo rootElement + openManual: (name, title, content, footerButtons, controller, fade, fullSizeButtons, targetObj) -> + view = Ember.View.extend( + template: Ember.Handlebars.compile(content) + controller: controller + ) + @open name, title, view, footerButtons, controller, fade, fullSizeButtons, targetObj + open: (name, title, view, footerButtons, controller, fade , fullSizeButtons = false, targetObj = controller) -> cl = controller.container.lookup 'component-lookup:main' modalComponent = cl.lookupFactory('bs-modal', controller.get('container')).create() From f6aa1739f612a3f4ebaee15a99cd70b0d4d91664 Mon Sep 17 00:00:00 2001 From: danshapir Date: Sun, 25 Jan 2015 14:05:10 +0200 Subject: [PATCH 02/24] Commit dist --- app/.idea/.name | 1 + app/.idea/app.iml | 9 + app/.idea/encodings.xml | 5 + app/.idea/misc.xml | 5 + app/.idea/modules.xml | 9 + app/.idea/scopes/scope_settings.xml | 5 + app/.idea/vcs.xml | 7 + app/.idea/workspace.xml | 206 +++++++++++++++++++ dist/index.html | 82 ++++++++ dist/js/bs-alert.max.js | 103 +--------- dist/js/bs-alert.min.js | 2 +- dist/js/bs-badge.min.js | 2 +- dist/js/bs-basic.max.js | 50 ++--- dist/js/bs-basic.min.js | 2 +- dist/js/bs-breadcrumbs.max.js | 2 +- dist/js/bs-breadcrumbs.min.js | 2 +- dist/js/bs-button.max.js | 116 +---------- dist/js/bs-button.min.js | 2 +- dist/js/bs-core.max.js | 57 ----- dist/js/bs-core.min.js | 2 +- dist/js/bs-growl-notifications.min.js | 2 +- dist/js/bs-items-action-bar.min.js | 2 +- dist/js/bs-label.min.js | 2 +- dist/js/bs-list-group.min.js | 2 +- dist/js/bs-modal.max.js | 190 +++++++++++++---- dist/js/bs-modal.min.js | 2 +- dist/js/bs-nav.min.js | 2 +- dist/js/bs-notifications.min.js | 2 +- dist/js/bs-popover.min.js | 2 +- dist/js/bs-progressbar.max.js | 8 +- dist/js/bs-progressbar.min.js | 2 +- dist/js/bs-wizard.min.js | 2 +- dist/showcase/scripts/showcase-components.js | 0 dist/showcase/scripts/showcase.js | 5 + dist/showcase/scripts/vendor/modernizr.js | 0 dist/showcase/styles/main.css | 0 36 files changed, 535 insertions(+), 357 deletions(-) create mode 100644 app/.idea/.name create mode 100644 app/.idea/app.iml create mode 100644 app/.idea/encodings.xml create mode 100644 app/.idea/misc.xml create mode 100644 app/.idea/modules.xml create mode 100644 app/.idea/scopes/scope_settings.xml create mode 100644 app/.idea/vcs.xml create mode 100644 app/.idea/workspace.xml create mode 100644 dist/index.html create mode 100644 dist/showcase/scripts/showcase-components.js create mode 100644 dist/showcase/scripts/showcase.js create mode 100644 dist/showcase/scripts/vendor/modernizr.js create mode 100644 dist/showcase/styles/main.css diff --git a/app/.idea/.name b/app/.idea/.name new file mode 100644 index 0000000..7a0b7f0 --- /dev/null +++ b/app/.idea/.name @@ -0,0 +1 @@ +app \ No newline at end of file diff --git a/app/.idea/app.iml b/app/.idea/app.iml new file mode 100644 index 0000000..6b8184f --- /dev/null +++ b/app/.idea/app.iml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/app/.idea/encodings.xml b/app/.idea/encodings.xml new file mode 100644 index 0000000..e206d70 --- /dev/null +++ b/app/.idea/encodings.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/app/.idea/misc.xml b/app/.idea/misc.xml new file mode 100644 index 0000000..1162f43 --- /dev/null +++ b/app/.idea/misc.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/app/.idea/modules.xml b/app/.idea/modules.xml new file mode 100644 index 0000000..d1d947c --- /dev/null +++ b/app/.idea/modules.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/app/.idea/scopes/scope_settings.xml b/app/.idea/scopes/scope_settings.xml new file mode 100644 index 0000000..922003b --- /dev/null +++ b/app/.idea/scopes/scope_settings.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/app/.idea/vcs.xml b/app/.idea/vcs.xml new file mode 100644 index 0000000..def6a6a --- /dev/null +++ b/app/.idea/vcs.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/app/.idea/workspace.xml b/app/.idea/workspace.xml new file mode 100644 index 0000000..17814c3 --- /dev/null +++ b/app/.idea/workspace.xml @@ -0,0 +1,206 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1409553916722 + 1409553916722 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dist/index.html b/dist/index.html new file mode 100644 index 0000000..f652b6a --- /dev/null +++ b/dist/index.html @@ -0,0 +1,82 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/dist/js/bs-alert.max.js b/dist/js/bs-alert.max.js index 70c6b94..16f039d 100644 --- a/dist/js/bs-alert.max.js +++ b/dist/js/bs-alert.max.js @@ -1,102 +1,3 @@ -/* ======================================================================== - * Bootstrap: alert.js v3.0.0 - * http://twbs.github.com/bootstrap/javascript.html#alerts - * ======================================================================== - * Copyright 2013 Twitter, Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ======================================================================== */ - - -+function ($) { "use strict"; - - // ALERT CLASS DEFINITION - // ====================== - - var dismiss = '[data-dismiss="alert"]' - var Alert = function (el) { - $(el).on('click', dismiss, this.close) - } - - Alert.prototype.close = function (e) { - var $this = $(this) - var selector = $this.attr('data-target') - - if (!selector) { - selector = $this.attr('href') - selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7 - } - - var $parent = $(selector) - - if (e) e.preventDefault() - - if (!$parent.length) { - $parent = $this.hasClass('alert') ? $this : $this.parent() - } - - $parent.trigger(e = $.Event('close.bs.alert')) - - if (e.isDefaultPrevented()) return - - $parent.removeClass('in') - - function removeElement() { - $parent.trigger('closed.bs.alert').remove() - } - - $.support.transition && $parent.hasClass('fade') ? - $parent - .one($.support.transition.end, removeElement) - .emulateTransitionEnd(150) : - removeElement() - } - - - // ALERT PLUGIN DEFINITION - // ======================= - - var old = $.fn.alert - - $.fn.alert = function (option) { - return this.each(function () { - var $this = $(this) - var data = $this.data('bs.alert') - - if (!data) $this.data('bs.alert', (data = new Alert(this))) - if (typeof option == 'string') data[option].call($this) - }) - } - - $.fn.alert.Constructor = Alert - - - // ALERT NO CONFLICT - // ================= - - $.fn.alert.noConflict = function () { - $.fn.alert = old - return this - } - - - // ALERT DATA-API - // ============== - - $(document).on('click.bs.alert.data-api', dismiss, Alert.prototype.close) - -}(window.jQuery); - (function() { Bootstrap.BsAlertComponent = Ember.Component.extend(Bootstrap.TypeSupport, { classNames: ['alert'], @@ -139,14 +40,14 @@ helpers = this.merge(helpers, Ember.Handlebars.helpers); data = data || {}; function program1(depth0,data) { - data.buffer.push("\n ×\n"); + data.buffer.push("\r\n ×\r\n"); } hashTypes = {}; hashContexts = {}; stack1 = helpers['if'].call(depth0, "dismiss", {hash:{},inverse:self.noop,fn:self.program(1, program1, data),contexts:[depth0],types:["ID"],hashContexts:hashContexts,hashTypes:hashTypes,data:data}); if(stack1 || stack1 === 0) { data.buffer.push(stack1); } - data.buffer.push("\n"); + data.buffer.push("\r\n"); hashTypes = {}; hashContexts = {}; data.buffer.push(escapeExpression(helpers._triageMustache.call(depth0, "message", {hash:{},contexts:[depth0],types:["ID"],hashContexts:hashContexts,hashTypes:hashTypes,data:data}))); diff --git a/dist/js/bs-alert.min.js b/dist/js/bs-alert.min.js index 402ebc9..0b3bf67 100644 --- a/dist/js/bs-alert.min.js +++ b/dist/js/bs-alert.min.js @@ -1 +1 @@ -+function(a){"use strict";var b='[data-dismiss="alert"]',c=function(c){a(c).on("click",b,this.close)};c.prototype.close=function(b){function c(){f.trigger("closed.bs.alert").remove()}var d=a(this),e=d.attr("data-target");e||(e=d.attr("href"),e=e&&e.replace(/.*(?=#[^\s]*$)/,""));var f=a(e);b&&b.preventDefault(),f.length||(f=d.hasClass("alert")?d:d.parent()),f.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one(a.support.transition.end,c).emulateTransitionEnd(150):c())};var d=a.fn.alert;a.fn.alert=function(b){return this.each(function(){var d=a(this),e=d.data("bs.alert");e||d.data("bs.alert",e=new c(this)),"string"==typeof b&&e[b].call(d)})},a.fn.alert.Constructor=c,a.fn.alert.noConflict=function(){return a.fn.alert=d,this},a(document).on("click.bs.alert.data-api",b,c.prototype.close)}(window.jQuery),function(){Bootstrap.BsAlertComponent=Ember.Component.extend(Bootstrap.TypeSupport,{classNames:["alert"],classNameBindings:["fade","fade:in"],layoutName:"components/bs-alert",classTypePrefix:"alert",attributeBindings:["data-timeout"],dismissAfter:0,closedParam:null,didInsertElement:function(){var a=this;return this.dismissAfter>0&&Ember.run.later(this,"dismiss",1e3*this.dismissAfter),Ember.$("#"+this.elementId).bind("closed.bs.alert",function(){return a.sendAction("closed",a.get("closedParam")),a.destroy()}),Ember.$("#"+this.elementId).bind("close.bs.alert",function(){return a.sendAction("close",a.get("closedParam"))})},dismiss:function(){return Ember.$("#"+this.elementId).alert("close")}}),Ember.Handlebars.helper("bs-alert",Bootstrap.BsAlertComponent)}.call(this),this.Ember=this.Ember||{},this.Ember.TEMPLATES=this.Ember.TEMPLATES||{},this.Ember.TEMPLATES["components/bs-alert"]=Ember.Handlebars.template(function(a,b,c,d,e){function f(a,b){b.buffer.push('\n ×\n')}this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var g,h,i,j="",k=this,l=this.escapeExpression;return h={},i={},g=c["if"].call(b,"dismiss",{hash:{},inverse:k.noop,fn:k.program(1,f,e),contexts:[b],types:["ID"],hashContexts:i,hashTypes:h,data:e}),(g||0===g)&&e.buffer.push(g),e.buffer.push("\n"),h={},i={},e.buffer.push(l(c._triageMustache.call(b,"message",{hash:{},contexts:[b],types:["ID"],hashContexts:i,hashTypes:h,data:e}))),h={},i={},e.buffer.push(l(c._triageMustache.call(b,"yield",{hash:{},contexts:[b],types:["ID"],hashContexts:i,hashTypes:h,data:e}))),j}); \ No newline at end of file +(function(){Bootstrap.BsAlertComponent=Ember.Component.extend(Bootstrap.TypeSupport,{classNames:["alert"],classNameBindings:["fade","fade:in"],layoutName:"components/bs-alert",classTypePrefix:"alert",attributeBindings:["data-timeout"],dismissAfter:0,closedParam:null,didInsertElement:function(){var a=this;return this.dismissAfter>0&&Ember.run.later(this,"dismiss",1e3*this.dismissAfter),Ember.$("#"+this.elementId).bind("closed.bs.alert",function(){return a.sendAction("closed",a.get("closedParam")),a.destroy()}),Ember.$("#"+this.elementId).bind("close.bs.alert",function(){return a.sendAction("close",a.get("closedParam"))})},dismiss:function(){return Ember.$("#"+this.elementId).alert("close")}}),Ember.Handlebars.helper("bs-alert",Bootstrap.BsAlertComponent)}).call(this),this.Ember=this.Ember||{},this.Ember.TEMPLATES=this.Ember.TEMPLATES||{},this.Ember.TEMPLATES["components/bs-alert"]=Ember.Handlebars.template(function(a,b,c,d,e){function f(a,b){b.buffer.push('\r\n ×\r\n')}this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var g,h,i,j="",k=this,l=this.escapeExpression;return h={},i={},g=c["if"].call(b,"dismiss",{hash:{},inverse:k.noop,fn:k.program(1,f,e),contexts:[b],types:["ID"],hashContexts:i,hashTypes:h,data:e}),(g||0===g)&&e.buffer.push(g),e.buffer.push("\r\n"),h={},i={},e.buffer.push(l(c._triageMustache.call(b,"message",{hash:{},contexts:[b],types:["ID"],hashContexts:i,hashTypes:h,data:e}))),h={},i={},e.buffer.push(l(c._triageMustache.call(b,"yield",{hash:{},contexts:[b],types:["ID"],hashContexts:i,hashTypes:h,data:e}))),j}); \ No newline at end of file diff --git a/dist/js/bs-badge.min.js b/dist/js/bs-badge.min.js index 1ff34fb..125d3dd 100644 --- a/dist/js/bs-badge.min.js +++ b/dist/js/bs-badge.min.js @@ -1 +1 @@ -!function(){Bootstrap.BsBadgeComponent=Ember.Component.extend(Bootstrap.TypeSupport,{layoutName:"components/bs-badge",tagName:"span",classNames:["badge"],classTypePrefix:"badge"}),Ember.Handlebars.helper("bs-badge",Bootstrap.BsBadgeComponent)}.call(this),this.Ember=this.Ember||{},this.Ember.TEMPLATES=this.Ember.TEMPLATES||{},this.Ember.TEMPLATES["components/bs-badge"]=Ember.Handlebars.template(function(a,b,c,d,e){this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var f,g,h=this.escapeExpression;f={},g={},e.buffer.push(h(c._triageMustache.call(b,"content",{hash:{},contexts:[b],types:["ID"],hashContexts:g,hashTypes:f,data:e})))}); \ No newline at end of file +(function(){Bootstrap.BsBadgeComponent=Ember.Component.extend(Bootstrap.TypeSupport,{layoutName:"components/bs-badge",tagName:"span",classNames:["badge"],classTypePrefix:"badge"}),Ember.Handlebars.helper("bs-badge",Bootstrap.BsBadgeComponent)}).call(this),this.Ember=this.Ember||{},this.Ember.TEMPLATES=this.Ember.TEMPLATES||{},this.Ember.TEMPLATES["components/bs-badge"]=Ember.Handlebars.template(function(a,b,c,d,e){this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var f,g,h=this.escapeExpression;f={},g={},e.buffer.push(h(c._triageMustache.call(b,"content",{hash:{},contexts:[b],types:["ID"],hashContexts:g,hashTypes:f,data:e})))}); \ No newline at end of file diff --git a/dist/js/bs-basic.max.js b/dist/js/bs-basic.max.js index 0bd8241..f8fb684 100644 --- a/dist/js/bs-basic.max.js +++ b/dist/js/bs-basic.max.js @@ -68,24 +68,24 @@ helpers = this.merge(helpers, Ember.Handlebars.helpers); data = data || {}; function program1(depth0,data) { var buffer = '', hashTypes, hashContexts; - data.buffer.push("\n "); + data.buffer.push("\r\n "); hashTypes = {}; hashContexts = {}; data.buffer.push(escapeExpression(helpers._triageMustache.call(depth0, "sub", {hash:{},contexts:[depth0],types:["ID"],hashContexts:hashContexts,hashTypes:hashTypes,data:data}))); - data.buffer.push("\n "); + data.buffer.push("\r\n "); return buffer; } - data.buffer.push("

\n "); + data.buffer.push("

\r\n "); hashTypes = {}; hashContexts = {}; data.buffer.push(escapeExpression(helpers._triageMustache.call(depth0, "title", {hash:{},contexts:[depth0],types:["ID"],hashContexts:hashContexts,hashTypes:hashTypes,data:data}))); - data.buffer.push("\n "); + data.buffer.push("\r\n "); hashTypes = {}; hashContexts = {}; stack1 = helpers['if'].call(depth0, "sub", {hash:{},inverse:self.noop,fn:self.program(1, program1, data),contexts:[depth0],types:["ID"],hashContexts:hashContexts,hashTypes:hashTypes,data:data}); if(stack1 || stack1 === 0) { data.buffer.push(stack1); } - data.buffer.push("\n

"); + data.buffer.push("\r\n"); return buffer; }); @@ -110,63 +110,63 @@ helpers = this.merge(helpers, Ember.Handlebars.helpers); data = data || {}; function program1(depth0,data) { var buffer = '', stack1, hashTypes, hashContexts; - data.buffer.push("\n
\n "); + data.buffer.push("\r\n
\r\n "); hashTypes = {}; hashContexts = {}; stack1 = helpers['if'].call(depth0, "collapsible", {hash:{},inverse:self.program(4, program4, data),fn:self.program(2, program2, data),contexts:[depth0],types:["ID"],hashContexts:hashContexts,hashTypes:hashTypes,data:data}); if(stack1 || stack1 === 0) { data.buffer.push(stack1); } - data.buffer.push("\n "); + data.buffer.push("\r\n "); hashTypes = {}; hashContexts = {}; stack1 = helpers['if'].call(depth0, "dismiss", {hash:{},inverse:self.noop,fn:self.program(6, program6, data),contexts:[depth0],types:["ID"],hashContexts:hashContexts,hashTypes:hashTypes,data:data}); if(stack1 || stack1 === 0) { data.buffer.push(stack1); } - data.buffer.push("\n
\n"); + data.buffer.push("\r\n
\r\n"); return buffer; } function program2(depth0,data) { var buffer = '', stack1, hashContexts, hashTypes, options; - data.buffer.push("\n \n "); + data.buffer.push(">\r\n "); hashTypes = {}; hashContexts = {}; data.buffer.push(escapeExpression(helpers._triageMustache.call(depth0, "heading", {hash:{},contexts:[depth0],types:["ID"],hashContexts:hashContexts,hashTypes:hashTypes,data:data}))); - data.buffer.push("\n \n "); + data.buffer.push("\r\n \r\n "); return buffer; } function program4(depth0,data) { var buffer = '', hashTypes, hashContexts; - data.buffer.push("\n "); + data.buffer.push("\r\n "); hashTypes = {}; hashContexts = {}; data.buffer.push(escapeExpression(helpers._triageMustache.call(depth0, "heading", {hash:{},contexts:[depth0],types:["ID"],hashContexts:hashContexts,hashTypes:hashTypes,data:data}))); - data.buffer.push("\n "); + data.buffer.push("\r\n "); return buffer; } function program6(depth0,data) { var buffer = '', hashTypes, hashContexts; - data.buffer.push("\n ×\n "); + data.buffer.push(">×\r\n "); return buffer; } function program8(depth0,data) { var buffer = '', stack1, hashContexts, hashTypes, options; - data.buffer.push("\n
\n
"); + data.buffer.push(">\r\n
"); hashTypes = {}; hashContexts = {}; data.buffer.push(escapeExpression(helpers._triageMustache.call(depth0, "yield", {hash:{},contexts:[depth0],types:["ID"],hashContexts:hashContexts,hashTypes:hashTypes,data:data}))); - data.buffer.push("
\n
\n"); + data.buffer.push("
\r\n \r\n"); return buffer; } function program10(depth0,data) { var buffer = '', hashTypes, hashContexts; - data.buffer.push("\n
"); + data.buffer.push("\r\n
"); hashTypes = {}; hashContexts = {}; data.buffer.push(escapeExpression(helpers._triageMustache.call(depth0, "yield", {hash:{},contexts:[depth0],types:["ID"],hashContexts:hashContexts,hashTypes:hashTypes,data:data}))); - data.buffer.push("
\n"); + data.buffer.push("
\r\n"); return buffer; } function program12(depth0,data) { var buffer = '', hashTypes, hashContexts; - data.buffer.push("\n
"); + data.buffer.push("\r\n
"); hashTypes = {}; hashContexts = {}; data.buffer.push(escapeExpression(helpers._triageMustache.call(depth0, "footer", {hash:{},contexts:[depth0],types:["ID"],hashContexts:hashContexts,hashTypes:hashTypes,data:data}))); - data.buffer.push("
\n"); + data.buffer.push("
\r\n"); return buffer; } @@ -214,17 +214,17 @@ function program12(depth0,data) { hashContexts = {}; stack1 = helpers['if'].call(depth0, "heading", {hash:{},inverse:self.noop,fn:self.program(1, program1, data),contexts:[depth0],types:["ID"],hashContexts:hashContexts,hashTypes:hashTypes,data:data}); if(stack1 || stack1 === 0) { data.buffer.push(stack1); } - data.buffer.push("\n\n"); + data.buffer.push("\r\n\r\n"); hashTypes = {}; hashContexts = {}; stack1 = helpers['if'].call(depth0, "collapsible", {hash:{},inverse:self.program(10, program10, data),fn:self.program(8, program8, data),contexts:[depth0],types:["ID"],hashContexts:hashContexts,hashTypes:hashTypes,data:data}); if(stack1 || stack1 === 0) { data.buffer.push(stack1); } - data.buffer.push("\n\n"); + data.buffer.push("\r\n\r\n"); hashTypes = {}; hashContexts = {}; stack1 = helpers['if'].call(depth0, "footer", {hash:{},inverse:self.noop,fn:self.program(12, program12, data),contexts:[depth0],types:["ID"],hashContexts:hashContexts,hashTypes:hashTypes,data:data}); if(stack1 || stack1 === 0) { data.buffer.push(stack1); } - data.buffer.push("\n"); + data.buffer.push("\r\n"); return buffer; }); \ No newline at end of file diff --git a/dist/js/bs-basic.min.js b/dist/js/bs-basic.min.js index 5e4d6c2..10cfd4c 100644 --- a/dist/js/bs-basic.min.js +++ b/dist/js/bs-basic.min.js @@ -1 +1 @@ -!function(){Bootstrap.BsWellComponent=Ember.Component.extend({layoutName:"components/bs-well",classNameBindings:["small:well-sm","large:well-lg"],classNames:["well"],click:function(){return this.sendAction("clicked")}}),Ember.Handlebars.helper("bs-well",Bootstrap.BsWellComponent)}.call(this),function(){Bootstrap.BsPageHeaderComponent=Ember.Component.extend({layoutName:"components/bs-page-header",classNames:["page-header"]}),Ember.Handlebars.helper("bs-page-header",Bootstrap.BsPageHeaderComponent)}.call(this),function(){Bootstrap.BsPanelComponent=Ember.Component.extend(Bootstrap.TypeSupport,{layoutName:"components/bs-panel",classNames:["panel"],classTypePrefix:["panel"],classNameBindings:["fade","fade:in"],clicked:null,onClose:null,fade:!0,collapsible:!1,open:!0,actions:{close:function(){return this.sendAction("onClose"),this.$().removeClass("in"),setTimeout(function(){return this.destroy()}.bind(this),250)}},click:function(){return this.sendAction("clicked")},collapsibleBodyId:function(){return""+this.get("elementId")+"_body"}.property("collapsible"),collapsibleBodyLink:function(){return"#"+this.get("elementId")+"_body"}.property("collapsibleBodyId")}),Ember.Handlebars.helper("bs-panel",Bootstrap.BsPanelComponent)}.call(this),this.Ember=this.Ember||{},this.Ember.TEMPLATES=this.Ember.TEMPLATES||{},this.Ember.TEMPLATES["components/bs-page-header"]=Ember.Handlebars.template(function(a,b,c,d,e){function f(a,b){var d,e,f="";return b.buffer.push("\n "),d={},e={},b.buffer.push(k(c._triageMustache.call(a,"sub",{hash:{},contexts:[a],types:["ID"],hashContexts:e,hashTypes:d,data:b}))),b.buffer.push("\n "),f}this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var g,h,i,j="",k=this.escapeExpression,l=this;return e.buffer.push("

\n "),h={},i={},e.buffer.push(k(c._triageMustache.call(b,"title",{hash:{},contexts:[b],types:["ID"],hashContexts:i,hashTypes:h,data:e}))),e.buffer.push("\n "),h={},i={},g=c["if"].call(b,"sub",{hash:{},inverse:l.noop,fn:l.program(1,f,e),contexts:[b],types:["ID"],hashContexts:i,hashTypes:h,data:e}),(g||0===g)&&e.buffer.push(g),e.buffer.push("\n

"),j}),this.Ember.TEMPLATES["components/bs-well"]=Ember.Handlebars.template(function(a,b,c,d,e){this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var f,g,h=this.escapeExpression;f={},g={},e.buffer.push(h(c._triageMustache.call(b,"yield",{hash:{},contexts:[b],types:["ID"],hashContexts:g,hashTypes:f,data:e})))}),this.Ember.TEMPLATES["components/bs-panel"]=Ember.Handlebars.template(function(a,b,c,d,e){function f(a,b){var d,e,f,j="";return b.buffer.push('\n
\n '),e={},f={},d=c["if"].call(a,"collapsible",{hash:{},inverse:s.program(4,h,b),fn:s.program(2,g,b),contexts:[a],types:["ID"],hashContexts:f,hashTypes:e,data:b}),(d||0===d)&&b.buffer.push(d),b.buffer.push("\n "),e={},f={},d=c["if"].call(a,"dismiss",{hash:{},inverse:s.noop,fn:s.program(6,i,b),contexts:[a],types:["ID"],hashContexts:f,hashTypes:e,data:b}),(d||0===d)&&b.buffer.push(d),b.buffer.push("\n
\n"),j}function g(a,b){var d,e,f,g,h="";return b.buffer.push('\n \n "),f={},e={},b.buffer.push(r(c._triageMustache.call(a,"heading",{hash:{},contexts:[a],types:["ID"],hashContexts:e,hashTypes:f,data:b}))),b.buffer.push("\n \n "),h}function h(a,b){var d,e,f="";return b.buffer.push("\n "),d={},e={},b.buffer.push(r(c._triageMustache.call(a,"heading",{hash:{},contexts:[a],types:["ID"],hashContexts:e,hashTypes:d,data:b}))),b.buffer.push("\n "),f}function i(a,b){var d,e,f="";return b.buffer.push('\n ×\n "),f}function j(a,b){var d,e,f,g,h="";return b.buffer.push("\n
\n
'),f={},e={},b.buffer.push(r(c._triageMustache.call(a,"yield",{hash:{},contexts:[a],types:["ID"],hashContexts:e,hashTypes:f,data:b}))),b.buffer.push("
\n
\n"),h}function k(a,b){var d,e,f="";return b.buffer.push('\n
'),d={},e={},b.buffer.push(r(c._triageMustache.call(a,"yield",{hash:{},contexts:[a],types:["ID"],hashContexts:e,hashTypes:d,data:b}))),b.buffer.push("
\n"),f}function l(a,b){var d,e,f="";return b.buffer.push('\n \n"),f}this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var m,n,o,p="",q=c.helperMissing,r=this.escapeExpression,s=this;return n={},o={},m=c["if"].call(b,"heading",{hash:{},inverse:s.noop,fn:s.program(1,f,e),contexts:[b],types:["ID"],hashContexts:o,hashTypes:n,data:e}),(m||0===m)&&e.buffer.push(m),e.buffer.push("\n\n"),n={},o={},m=c["if"].call(b,"collapsible",{hash:{},inverse:s.program(10,k,e),fn:s.program(8,j,e),contexts:[b],types:["ID"],hashContexts:o,hashTypes:n,data:e}),(m||0===m)&&e.buffer.push(m),e.buffer.push("\n\n"),n={},o={},m=c["if"].call(b,"footer",{hash:{},inverse:s.noop,fn:s.program(12,l,e),contexts:[b],types:["ID"],hashContexts:o,hashTypes:n,data:e}),(m||0===m)&&e.buffer.push(m),e.buffer.push("\n"),p}); \ No newline at end of file +(function(){Bootstrap.BsWellComponent=Ember.Component.extend({layoutName:"components/bs-well",classNameBindings:["small:well-sm","large:well-lg"],classNames:["well"],click:function(){return this.sendAction("clicked")}}),Ember.Handlebars.helper("bs-well",Bootstrap.BsWellComponent)}).call(this),function(){Bootstrap.BsPageHeaderComponent=Ember.Component.extend({layoutName:"components/bs-page-header",classNames:["page-header"]}),Ember.Handlebars.helper("bs-page-header",Bootstrap.BsPageHeaderComponent)}.call(this),function(){Bootstrap.BsPanelComponent=Ember.Component.extend(Bootstrap.TypeSupport,{layoutName:"components/bs-panel",classNames:["panel"],classTypePrefix:["panel"],classNameBindings:["fade","fade:in"],clicked:null,onClose:null,fade:!0,collapsible:!1,open:!0,actions:{close:function(){return this.sendAction("onClose"),this.$().removeClass("in"),setTimeout(function(){return this.destroy()}.bind(this),250)}},click:function(){return this.sendAction("clicked")},collapsibleBodyId:function(){return""+this.get("elementId")+"_body"}.property("collapsible"),collapsibleBodyLink:function(){return"#"+this.get("elementId")+"_body"}.property("collapsibleBodyId")}),Ember.Handlebars.helper("bs-panel",Bootstrap.BsPanelComponent)}.call(this),this.Ember=this.Ember||{},this.Ember.TEMPLATES=this.Ember.TEMPLATES||{},this.Ember.TEMPLATES["components/bs-page-header"]=Ember.Handlebars.template(function(a,b,c,d,e){function f(a,b){var d,e,f="";return b.buffer.push("\r\n "),d={},e={},b.buffer.push(k(c._triageMustache.call(a,"sub",{hash:{},contexts:[a],types:["ID"],hashContexts:e,hashTypes:d,data:b}))),b.buffer.push("\r\n "),f}this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var g,h,i,j="",k=this.escapeExpression,l=this;return e.buffer.push("

\r\n "),h={},i={},e.buffer.push(k(c._triageMustache.call(b,"title",{hash:{},contexts:[b],types:["ID"],hashContexts:i,hashTypes:h,data:e}))),e.buffer.push("\r\n "),h={},i={},g=c["if"].call(b,"sub",{hash:{},inverse:l.noop,fn:l.program(1,f,e),contexts:[b],types:["ID"],hashContexts:i,hashTypes:h,data:e}),(g||0===g)&&e.buffer.push(g),e.buffer.push("\r\n

"),j}),this.Ember.TEMPLATES["components/bs-well"]=Ember.Handlebars.template(function(a,b,c,d,e){this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var f,g,h=this.escapeExpression;f={},g={},e.buffer.push(h(c._triageMustache.call(b,"yield",{hash:{},contexts:[b],types:["ID"],hashContexts:g,hashTypes:f,data:e})))}),this.Ember.TEMPLATES["components/bs-panel"]=Ember.Handlebars.template(function(a,b,c,d,e){function f(a,b){var d,e,f,j="";return b.buffer.push('\r\n
\r\n '),e={},f={},d=c["if"].call(a,"collapsible",{hash:{},inverse:s.program(4,h,b),fn:s.program(2,g,b),contexts:[a],types:["ID"],hashContexts:f,hashTypes:e,data:b}),(d||0===d)&&b.buffer.push(d),b.buffer.push("\r\n "),e={},f={},d=c["if"].call(a,"dismiss",{hash:{},inverse:s.noop,fn:s.program(6,i,b),contexts:[a],types:["ID"],hashContexts:f,hashTypes:e,data:b}),(d||0===d)&&b.buffer.push(d),b.buffer.push("\r\n
\r\n"),j}function g(a,b){var d,e,f,g,h="";return b.buffer.push('\r\n \r\n "),f={},e={},b.buffer.push(r(c._triageMustache.call(a,"heading",{hash:{},contexts:[a],types:["ID"],hashContexts:e,hashTypes:f,data:b}))),b.buffer.push("\r\n \r\n "),h}function h(a,b){var d,e,f="";return b.buffer.push("\r\n "),d={},e={},b.buffer.push(r(c._triageMustache.call(a,"heading",{hash:{},contexts:[a],types:["ID"],hashContexts:e,hashTypes:d,data:b}))),b.buffer.push("\r\n "),f}function i(a,b){var d,e,f="";return b.buffer.push('\r\n ×\r\n "),f}function j(a,b){var d,e,f,g,h="";return b.buffer.push("\r\n
\r\n
'),f={},e={},b.buffer.push(r(c._triageMustache.call(a,"yield",{hash:{},contexts:[a],types:["ID"],hashContexts:e,hashTypes:f,data:b}))),b.buffer.push("
\r\n
\r\n"),h}function k(a,b){var d,e,f="";return b.buffer.push('\r\n
'),d={},e={},b.buffer.push(r(c._triageMustache.call(a,"yield",{hash:{},contexts:[a],types:["ID"],hashContexts:e,hashTypes:d,data:b}))),b.buffer.push("
\r\n"),f}function l(a,b){var d,e,f="";return b.buffer.push('\r\n \r\n"),f}this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var m,n,o,p="",q=c.helperMissing,r=this.escapeExpression,s=this;return n={},o={},m=c["if"].call(b,"heading",{hash:{},inverse:s.noop,fn:s.program(1,f,e),contexts:[b],types:["ID"],hashContexts:o,hashTypes:n,data:e}),(m||0===m)&&e.buffer.push(m),e.buffer.push("\r\n\r\n"),n={},o={},m=c["if"].call(b,"collapsible",{hash:{},inverse:s.program(10,k,e),fn:s.program(8,j,e),contexts:[b],types:["ID"],hashContexts:o,hashTypes:n,data:e}),(m||0===m)&&e.buffer.push(m),e.buffer.push("\r\n\r\n"),n={},o={},m=c["if"].call(b,"footer",{hash:{},inverse:s.noop,fn:s.program(12,l,e),contexts:[b],types:["ID"],hashContexts:o,hashTypes:n,data:e}),(m||0===m)&&e.buffer.push(m),e.buffer.push("\r\n"),p}); \ No newline at end of file diff --git a/dist/js/bs-breadcrumbs.max.js b/dist/js/bs-breadcrumbs.max.js index b028938..169f6a3 100644 --- a/dist/js/bs-breadcrumbs.max.js +++ b/dist/js/bs-breadcrumbs.max.js @@ -1,5 +1,5 @@ /* -Breadcrumbs compponent. +Breadcrumbs component. */ diff --git a/dist/js/bs-breadcrumbs.min.js b/dist/js/bs-breadcrumbs.min.js index c5b5d23..4a7c924 100644 --- a/dist/js/bs-breadcrumbs.min.js +++ b/dist/js/bs-breadcrumbs.min.js @@ -1 +1 @@ -!function(){Bootstrap.BsBreadcrumbsItem=Bootstrap.ItemView.extend({tagName:["li"],classNameBindings:["isActive:active"],template:Ember.Handlebars.compile("{{#unless view.isActive}}{{#if view.content.model}}{{#link-to view.content.route model.id}}{{view.content.name}}{{/link-to}}{{else}}{{#link-to view.content.route}}{{view.content.name}}{{/link-to}}{{/if}}{{else}}{{view.content.name}}{{/unless}}"),isActive:function(){return this.get("content.active")}.property("content.active")}),Bootstrap.BsBreadcrumbs=Bootstrap.ItemsView.extend(Bootstrap.WithRouter,{tagName:["ol"],classNames:["breadcrumb"],currentPathObserver:function(){return this.get("router"),this.send("updateCrumbsByRoute")}.observes("router.url").on("init"),content:[],itemViewClass:Bootstrap.BsBreadcrumbsItem,nameDictionary:void 0,dictionaryNamePrefix:"breadcrumbs",actions:{currentPathDidChange:function(){return this.send("updateCrumbsByRoute")},updateCrumbsByRoute:function(){var a,b=this;return this.get("content").clear(),a=this.get("container").lookup("router:main"),a.get("router.currentHandlerInfos").forEach(function(a){var c,d,e,f,g,h,i;return e=a.name,-1!==e.indexOf(".index")||"application"===e||(null!=(g=a.handler.breadcrumbs)?g.hidden:0)?void 0:(f=a.handler.routeName,(null!=(h=a.handler.breadcrumbs)?h.name:void 0)?d=a.handler.breadcrumbs.name:(null!=(i=b.get("nameDictionary"))?i[""+b.dictionaryNamePrefix+"."+f]:void 0)?d=b.get("nameDictionary")[""+b.dictionaryNamePrefix+"."+f]:(d=a.handler.routeName.split(".").pop(),d=d[0].toUpperCase()+d.slice(1).toLowerCase()),c=Ember.Object.create({route:a.handler.routeName,name:d,model:null}),0===b.get("content").length&&c.set("icon","fa fa-home home-icon"),a.isDynamic&&c.setProperties({model:a.handler.context,name:a.handler.context.get("name")}),b.get("content").pushObject(c))}),this.get("content.lastObject").set("active",!0)}}}),Ember.Handlebars.helper("bs-breadcrumbs",Bootstrap.BsBreadcrumbs)}.call(this); \ No newline at end of file +(function(){Bootstrap.BsBreadcrumbsItem=Bootstrap.ItemView.extend({tagName:["li"],classNameBindings:["isActive:active"],template:Ember.Handlebars.compile("{{#unless view.isActive}}{{#if view.content.model}}{{#link-to view.content.route model.id}}{{view.content.name}}{{/link-to}}{{else}}{{#link-to view.content.route}}{{view.content.name}}{{/link-to}}{{/if}}{{else}}{{view.content.name}}{{/unless}}"),isActive:function(){return this.get("content.active")}.property("content.active")}),Bootstrap.BsBreadcrumbs=Bootstrap.ItemsView.extend(Bootstrap.WithRouter,{tagName:["ol"],classNames:["breadcrumb"],currentPathObserver:function(){return this.get("router"),this.send("updateCrumbsByRoute")}.observes("router.url").on("init"),content:[],itemViewClass:Bootstrap.BsBreadcrumbsItem,nameDictionary:void 0,dictionaryNamePrefix:"breadcrumbs",actions:{currentPathDidChange:function(){return this.send("updateCrumbsByRoute")},updateCrumbsByRoute:function(){var a,b=this;return this.get("content").clear(),a=this.get("container").lookup("router:main"),a.get("router.currentHandlerInfos").forEach(function(a){var c,d,e,f,g,h,i;return e=a.name,-1!==e.indexOf(".index")||"application"===e||(null!=(g=a.handler.breadcrumbs)?g.hidden:0)?void 0:(f=a.handler.routeName,(null!=(h=a.handler.breadcrumbs)?h.name:void 0)?d=a.handler.breadcrumbs.name:(null!=(i=b.get("nameDictionary"))?i[""+b.dictionaryNamePrefix+"."+f]:void 0)?d=b.get("nameDictionary")[""+b.dictionaryNamePrefix+"."+f]:(d=a.handler.routeName.split(".").pop(),d=d[0].toUpperCase()+d.slice(1).toLowerCase()),c=Ember.Object.create({route:a.handler.routeName,name:d,model:null}),0===b.get("content").length&&c.set("icon","fa fa-home home-icon"),a.isDynamic&&c.setProperties({model:a.handler.context,name:a.handler.context.get("name")}),b.get("content").pushObject(c))}),this.get("content.lastObject").set("active",!0)}}}),Ember.Handlebars.helper("bs-breadcrumbs",Bootstrap.BsBreadcrumbs)}).call(this); \ No newline at end of file diff --git a/dist/js/bs-button.max.js b/dist/js/bs-button.max.js index 81e1c37..ff0e2e9 100644 --- a/dist/js/bs-button.max.js +++ b/dist/js/bs-button.max.js @@ -1,113 +1,3 @@ -/* ======================================================================== - * Bootstrap: button.js v3.0.0 - * http://twbs.github.com/bootstrap/javascript.html#buttons - * ======================================================================== - * Copyright 2013 Twitter, Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ======================================================================== */ - - -+function ($) { "use strict"; - - // BUTTON PUBLIC CLASS DEFINITION - // ============================== - - var Button = function (element, options) { - this.$element = $(element) - this.options = $.extend({}, Button.DEFAULTS, options) - } - - Button.DEFAULTS = { - loadingText: 'loading...' - } - - Button.prototype.setState = function (state) { - var d = 'disabled' - var $el = this.$element - var val = $el.is('input') ? 'val' : 'html' - var data = $el.data() - - state = state + 'Text' - - if (!data.resetText) $el.data('resetText', $el[val]()) - - $el[val](data[state] || this.options[state]) - - // push to event loop to allow forms to submit - setTimeout(function () { - state == 'loadingText' ? - $el.addClass(d).attr(d, d) : - $el.removeClass(d).removeAttr(d); - }, 0) - } - - Button.prototype.toggle = function () { - var $parent = this.$element.closest('[data-toggle="buttons"]') - - if ($parent.length) { - var $input = this.$element.find('input') - .prop('checked', !this.$element.hasClass('active')) - .trigger('change') - if ($input.prop('type') === 'radio') $parent.find('.active').removeClass('active') - } - - this.$element.toggleClass('active') - } - - - // BUTTON PLUGIN DEFINITION - // ======================== - - var old = $.fn.button - - $.fn.button = function (option) { - return this.each(function () { - var $this = $(this) - var data = $this.data('bs.button') - var options = typeof option == 'object' && option - - if (!data) $this.data('bs.button', (data = new Button(this, options))) - - if (option == 'toggle') data.toggle() - else if (option) data.setState(option) - }) - } - - $.fn.button.Constructor = Button - - - // BUTTON NO CONFLICT - // ================== - - $.fn.button.noConflict = function () { - $.fn.button = old - return this - } - - - // BUTTON DATA-API - // =============== - - $(document).on('click.bs.button.data-api', '[data-toggle^=button]', function (e) { - var $btn = $(e.target) - if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn') - $btn.button('toggle') - e.preventDefault() - }) - -}(window.jQuery); - (function() { Bootstrap.BsButtonComponent = Ember.Component.extend(Bootstrap.TypeSupport, Bootstrap.SizeSupport, { layoutName: 'components/bs-button', @@ -234,14 +124,14 @@ helpers = this.merge(helpers, Ember.Handlebars.helpers); data = data || {}; function program1(depth0,data) { var buffer = '', stack1, hashContexts, hashTypes, options; - data.buffer.push("\n \n"); + data.buffer.push(">\r\n"); return buffer; } @@ -249,7 +139,7 @@ function program1(depth0,data) { hashContexts = {}; stack1 = helpers['if'].call(depth0, "icon", {hash:{},inverse:self.noop,fn:self.program(1, program1, data),contexts:[depth0],types:["ID"],hashContexts:hashContexts,hashTypes:hashTypes,data:data}); if(stack1 || stack1 === 0) { data.buffer.push(stack1); } - data.buffer.push("\n"); + data.buffer.push("\r\n"); hashTypes = {}; hashContexts = {}; data.buffer.push(escapeExpression(helpers._triageMustache.call(depth0, "title", {hash:{},contexts:[depth0],types:["ID"],hashContexts:hashContexts,hashTypes:hashTypes,data:data}))); diff --git a/dist/js/bs-button.min.js b/dist/js/bs-button.min.js index 795af74..44983d6 100644 --- a/dist/js/bs-button.min.js +++ b/dist/js/bs-button.min.js @@ -1 +1 @@ -+function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d)};b.DEFAULTS={loadingText:"loading..."},b.prototype.setState=function(a){var b="disabled",c=this.$element,d=c.is("input")?"val":"html",e=c.data();a+="Text",e.resetText||c.data("resetText",c[d]()),c[d](e[a]||this.options[a]),setTimeout(function(){"loadingText"==a?c.addClass(b).attr(b,b):c.removeClass(b).removeAttr(b)},0)},b.prototype.toggle=function(){var a=this.$element.closest('[data-toggle="buttons"]');if(a.length){var b=this.$element.find("input").prop("checked",!this.$element.hasClass("active")).trigger("change");"radio"===b.prop("type")&&a.find(".active").removeClass("active")}this.$element.toggleClass("active")};var c=a.fn.button;a.fn.button=function(c){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof c&&c;e||d.data("bs.button",e=new b(this,f)),"toggle"==c?e.toggle():c&&e.setState(c)})},a.fn.button.Constructor=b,a.fn.button.noConflict=function(){return a.fn.button=c,this},a(document).on("click.bs.button.data-api","[data-toggle^=button]",function(b){var c=a(b.target);c.hasClass("btn")||(c=c.closest(".btn")),c.button("toggle"),b.preventDefault()})}(window.jQuery),function(){Bootstrap.BsButtonComponent=Ember.Component.extend(Bootstrap.TypeSupport,Bootstrap.SizeSupport,{layoutName:"components/bs-button",tagName:"button",classNames:["btn"],classNameBindings:["blockClass"],classTypePrefix:"btn",clickedParam:null,block:null,attributeBindings:["disabled","dismiss:data-dismiss","_type:type","style"],_type:"button",bubbles:!0,allowedProperties:["title","type","size","block","disabled","clicked","dismiss","class"],icon_active:void 0,icon_inactive:void 0},{init:function(){var a,b,c,d,e,f,g;if(this._super(),null!=this.get("content")&&"instance"===Ember.typeOf(this.get("content")))for(b=this.get("content"),f=this.get("allowedProperties"),d=0,e=f.length;e>d;d++)c=f[d],null!=b[c]&&this.set(c,b[c]);else null==this.get("title")&&this.set("title",this.get("content"));g=[];for(a in this)null!=a.match(/^data-[\w-]*$/)&&g.push(this.attributeBindings.pushObject(a));return g},blockClass:function(){return this.block?""+this.classTypePrefix+"-block":null}.property("block").cacheable(),click:function(a){return this.get("bubbles")||a.stopPropagation(),this.sendAction("clicked",this.get("clickedParam"))},loadingChanged:function(){var a;return a=null!==this.get("loading")?this.get("loading"):"reset",Ember.$("#"+this.elementId).button(a)}.observes("loading"),icon:function(){return this.get("isActive")?this.get("icon_active"):this.get("icon_inactive")}.property("isActive")}),Ember.Handlebars.helper("bs-button",Bootstrap.BsButtonComponent)}.call(this),function(){Bootstrap.BsBtnGroup=Bootstrap.ItemsView.extend(Bootstrap.SizeSupport,Bootstrap.ItemsSelection,{classTypePrefix:["btn-group"],classNames:["btn-group"],classNameBindings:["vertical:btn-group-vertical"],itemViewClass:Bootstrap.BsButtonComponent.extend(Bootstrap.ItemValue,Bootstrap.ItemSelection,{init:function(){return this._super(),this.set("icon_active",this.get("parentView.icon_active")),this.set("icon_inactive",this.get("parentView.icon_inactive"))}})}),Ember.Handlebars.helper("bs-btn-group",Bootstrap.BsBtnGroup)}.call(this),function(){Bootstrap.BsBtnToolbarComponent=Ember.Component.extend({layoutName:"components/bs-btn-toolbar",classNames:["btn-toolbar"]}),Ember.Handlebars.helper("bs-btn-toolbar",Bootstrap.BsBtnToolbarComponent)}.call(this),this.Ember=this.Ember||{},this.Ember.TEMPLATES=this.Ember.TEMPLATES||{},this.Ember.TEMPLATES["components/bs-button"]=Ember.Handlebars.template(function(a,b,c,d,e){function f(a,b){var d,e,f,g,h="";return b.buffer.push("\n \n"),h}this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var g,h,i,j="",k=c.helperMissing,l=this.escapeExpression,m=this;return h={},i={},g=c["if"].call(b,"icon",{hash:{},inverse:m.noop,fn:m.program(1,f,e),contexts:[b],types:["ID"],hashContexts:i,hashTypes:h,data:e}),(g||0===g)&&e.buffer.push(g),e.buffer.push("\n"),h={},i={},e.buffer.push(l(c._triageMustache.call(b,"title",{hash:{},contexts:[b],types:["ID"],hashContexts:i,hashTypes:h,data:e}))),h={},i={},e.buffer.push(l(c._triageMustache.call(b,"yield",{hash:{},contexts:[b],types:["ID"],hashContexts:i,hashTypes:h,data:e}))),j}),this.Ember=this.Ember||{},this.Ember.TEMPLATES=this.Ember.TEMPLATES||{},this.Ember.TEMPLATES["components/bs-btn-toolbar"]=Ember.Handlebars.template(function(a,b,c,d,e){this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var f,g,h=this.escapeExpression;f={},g={},e.buffer.push(h(c._triageMustache.call(b,"yield",{hash:{},contexts:[b],types:["ID"],hashContexts:g,hashTypes:f,data:e})))}); \ No newline at end of file +(function(){Bootstrap.BsButtonComponent=Ember.Component.extend(Bootstrap.TypeSupport,Bootstrap.SizeSupport,{layoutName:"components/bs-button",tagName:"button",classNames:["btn"],classNameBindings:["blockClass"],classTypePrefix:"btn",clickedParam:null,block:null,attributeBindings:["disabled","dismiss:data-dismiss","_type:type","style"],_type:"button",bubbles:!0,allowedProperties:["title","type","size","block","disabled","clicked","dismiss","class"],icon_active:void 0,icon_inactive:void 0},{init:function(){var a,b,c,d,e,f,g;if(this._super(),null!=this.get("content")&&"instance"===Ember.typeOf(this.get("content")))for(b=this.get("content"),f=this.get("allowedProperties"),d=0,e=f.length;e>d;d++)c=f[d],null!=b[c]&&this.set(c,b[c]);else null==this.get("title")&&this.set("title",this.get("content"));g=[];for(a in this)null!=a.match(/^data-[\w-]*$/)&&g.push(this.attributeBindings.pushObject(a));return g},blockClass:function(){return this.block?""+this.classTypePrefix+"-block":null}.property("block").cacheable(),click:function(a){return this.get("bubbles")||a.stopPropagation(),this.sendAction("clicked",this.get("clickedParam"))},loadingChanged:function(){var a;return a=null!==this.get("loading")?this.get("loading"):"reset",Ember.$("#"+this.elementId).button(a)}.observes("loading"),icon:function(){return this.get(this.get("isActive")?"icon_active":"icon_inactive")}.property("isActive")}),Ember.Handlebars.helper("bs-button",Bootstrap.BsButtonComponent)}).call(this),function(){Bootstrap.BsBtnGroup=Bootstrap.ItemsView.extend(Bootstrap.SizeSupport,Bootstrap.ItemsSelection,{classTypePrefix:["btn-group"],classNames:["btn-group"],classNameBindings:["vertical:btn-group-vertical"],itemViewClass:Bootstrap.BsButtonComponent.extend(Bootstrap.ItemValue,Bootstrap.ItemSelection,{init:function(){return this._super(),this.set("icon_active",this.get("parentView.icon_active")),this.set("icon_inactive",this.get("parentView.icon_inactive"))}})}),Ember.Handlebars.helper("bs-btn-group",Bootstrap.BsBtnGroup)}.call(this),function(){Bootstrap.BsBtnToolbarComponent=Ember.Component.extend({layoutName:"components/bs-btn-toolbar",classNames:["btn-toolbar"]}),Ember.Handlebars.helper("bs-btn-toolbar",Bootstrap.BsBtnToolbarComponent)}.call(this),this.Ember=this.Ember||{},this.Ember.TEMPLATES=this.Ember.TEMPLATES||{},this.Ember.TEMPLATES["components/bs-button"]=Ember.Handlebars.template(function(a,b,c,d,e){function f(a,b){var d,e,f,g,h="";return b.buffer.push("\r\n \r\n"),h}this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var g,h,i,j="",k=c.helperMissing,l=this.escapeExpression,m=this;return h={},i={},g=c["if"].call(b,"icon",{hash:{},inverse:m.noop,fn:m.program(1,f,e),contexts:[b],types:["ID"],hashContexts:i,hashTypes:h,data:e}),(g||0===g)&&e.buffer.push(g),e.buffer.push("\r\n"),h={},i={},e.buffer.push(l(c._triageMustache.call(b,"title",{hash:{},contexts:[b],types:["ID"],hashContexts:i,hashTypes:h,data:e}))),h={},i={},e.buffer.push(l(c._triageMustache.call(b,"yield",{hash:{},contexts:[b],types:["ID"],hashContexts:i,hashTypes:h,data:e}))),j}),this.Ember=this.Ember||{},this.Ember.TEMPLATES=this.Ember.TEMPLATES||{},this.Ember.TEMPLATES["components/bs-btn-toolbar"]=Ember.Handlebars.template(function(a,b,c,d,e){this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var f,g,h=this.escapeExpression;f={},g={},e.buffer.push(h(c._triageMustache.call(b,"yield",{hash:{},contexts:[b],types:["ID"],hashContexts:g,hashTypes:f,data:e})))}); \ No newline at end of file diff --git a/dist/js/bs-core.max.js b/dist/js/bs-core.max.js index 6dbb9fe..5cb173a 100644 --- a/dist/js/bs-core.max.js +++ b/dist/js/bs-core.max.js @@ -1,60 +1,3 @@ -/* ======================================================================== - * Bootstrap: transition.js v3.0.0 - * http://twbs.github.com/bootstrap/javascript.html#transitions - * ======================================================================== - * Copyright 2013 Twitter, Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ======================================================================== */ - - -+function ($) { "use strict"; - - // CSS TRANSITION SUPPORT (Shoutout: http://www.modernizr.com/) - // ============================================================ - - function transitionEnd() { - var el = document.createElement('bootstrap') - - var transEndEventNames = { - 'WebkitTransition' : 'webkitTransitionEnd' - , 'MozTransition' : 'transitionend' - , 'OTransition' : 'oTransitionEnd otransitionend' - , 'transition' : 'transitionend' - } - - for (var name in transEndEventNames) { - if (el.style[name] !== undefined) { - return { end: transEndEventNames[name] } - } - } - } - - // http://blog.alexmaccaw.com/css-transitions - $.fn.emulateTransitionEnd = function (duration) { - var called = false, $el = this - $(this).one($.support.transition.end, function () { called = true }) - var callback = function () { if (!called) $($el).trigger($.support.transition.end) } - setTimeout(callback, duration) - return this - } - - $(function () { - $.support.transition = transitionEnd() - }) - -}(window.jQuery); - (function() { var Bootstrap; diff --git a/dist/js/bs-core.min.js b/dist/js/bs-core.min.js index 37d145d..1351fc3 100644 --- a/dist/js/bs-core.min.js +++ b/dist/js/bs-core.min.js @@ -1 +1 @@ -+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]}}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one(a.support.transition.end,function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b()})}(window.jQuery),function(){var a;a=window.Bootstrap=Ember.Namespace.create()}.call(this),function(){var a,b;a=window.Bootstrap,b=Ember.get,a.WithRouter=Ember.Mixin.create({router:Ember.computed(function(){return b(this,"controller").container.lookup("router:main")})})}.call(this),function(){var a,b,c;a=window.Bootstrap,b=Ember.get,c=Ember.set,a.TypeSupport=Ember.Mixin.create({classTypePrefix:Ember.required(String),classNameBindings:["typeClass"],type:"default",typeClass:function(){var a,b;return b=this.get("type"),null==b&&(b="default"),a=this.get("classTypePrefix"),""+a+"-"+b}.property("type").cacheable()})}.call(this),function(){var a,b,c;a=window.Bootstrap,b=Ember.get,c=Ember.set,a.SizeSupport=Ember.Mixin.create({classTypePrefix:Ember.required(String),classNameBindings:["sizeClass","largeSizeClass","smallSizeClass","extraSmallSizeClass"],size:null,xs:null,small:null,large:null,extraSmallSizeClass:function(){var a;return a=this.get("classTypePrefix"),this.xs?""+a+"-xs":null}.property("xs").cacheable(),smallSizeClass:function(){var a;return a=this.get("classTypePrefix"),this.small?""+a+"-sm":null}.property("small").cacheable(),largeSizeClass:function(){var a;return a=this.get("classTypePrefix"),this.large?""+a+"-lg":null}.property("large").cacheable(),sizeClass:function(){var a,b;return b=this.get("size"),a=this.get("classTypePrefix"),b?""+a+"-"+b:null}.property("size").cacheable()})}.call(this),function(){Bootstrap.ItemValue=Ember.Mixin.create({value:function(){var a,b;return a=this.get("parentView"),null!=a?b=this.get("content"):void 0}.property("content").cacheable()})}.call(this),function(){Bootstrap.ItemSelection=Ember.Mixin.create(Bootstrap.ItemValue,Bootstrap.WithRouter,{classNameBindings:["isActive:active"],init:function(){return this._super(),this.didRouteChange()},didRouteChange:function(){var a,b,c;return b=this.get("content.linkTo"),null!=b&&(a=this.get("parentView"),null!=a)?(null!=(c=this.get("router"))?c.isActive(b):void 0)?a.set("selected",this.get("value")):void 0:void 0}.observes("router.url"),isActive:function(){var a,b,c;return a=this.get("parentView"),null==a?!1:(b=a.get("selected"),c=this.get("value"),null==c?!1:b===c)}.property("value","parentView.selected","content.linkTo").cacheable(),click:function(a){var b,c;return a.preventDefault(),c=this.get("parentView"),null==c||(b=this.get("content"),"object"==typeof b&&b.get("disabled")||null!=this.get("content.linkTo"))?void 0:c.set("selected",this.get("value"))}})}.call(this),function(){Bootstrap.ItemsSelection=Ember.Mixin.create({multiSelection:!1,selected:[]})}.call(this),function(){Bootstrap.Nav=Ember.Mixin.create({classNames:["nav"],classNameBindings:["navTypeClass"],tagName:"ul",navType:null,navTypeClass:function(){return null!=this.navType?"nav-"+this.navType:null}.property("navType").cacheable()})}.call(this),function(){Bootstrap.NavItem=Ember.Mixin.create(Bootstrap.SelectableView)}.call(this),function(){var a,b;a=function(a){var b,c;if(a&&(c=a.get("parentView")))return b=c instanceof Bootstrap.ItemsView,Ember.assert("The parent view must be an instance of Bootstrap.ItemsView or any inherited class",b),b?c:void 0},b=function(a,b,c){return"instance"===Ember.typeOf(a)||Ember.canInvoke(a,"get")?a.get(b):c},Bootstrap.ItemView=Ember.View.extend({isItem:!0,classNameBindings:["disabled"],title:function(){var c,d,e;if(e=a(this))return d=e.get("itemTitleKey")||"title",c=this.get("content"),b(c,d,c)}.property("content").cacheable(),disabled:function(){var c,d,e;if(e=a(this))return c=this.get("content"),d=!!b(c,"disabled",!1),d&&this.get("isActive")&&e.set("selected",null),d}.property("content","content.disabled").cacheable()})}.call(this),function(){Bootstrap.ItemsView=Ember.CollectionView.extend({didInsertElement:function(){var a,b,c,d,e,f;if(this.get("default")){for(a=this.get("default"),e=this._childViews,c=0,d=e.length;d>c;c++)b=e[c],(null!=(f=b.get("content"))?f.get("title"):void 0)===a&&this.set("selected",b.get("content"));return Ember.assert("Could not activate default tab "+a+" as it doesnt exist",a)}}})}.call(this),function(){Bootstrap.ItemPaneView=Ember.View.extend({template:Ember.Handlebars.compile(["{{#if view.content.template}}","{{bsItemPanePartial view.content.template}}","{{/if}}"].join("\n")),corrItem:function(){var a,b,c,d;if(null!=this.get("parentView").get("corrItemsView"))for(d=this.get("parentView").get("corrItemsView")._childViews,b=0,c=d.length;c>b;b++)if(a=d[b],a.content===this.get("content"))return a}.property("parentView.corrItemsView"),isVisible:function(){var a;return null!=(a=this.get("corrItem"))?a.get("isActive"):void 0}.property("corrItem.isActive"),controller:function(){var a,b;return a=this.get("parentView.controller"),this.get("content.controller")&&(b=this.get("container").lookup("controller:"+this.get("content.controller")),b&&(a=b)),a}.property("content")}),Ember.Handlebars.helper("bsItemPanePartial",function(a,b){var c,d;return d=b.data.view,c=d.templateForName(a),Ember.assert("Unable to find template with name '"+a+"'",c),c(this,{data:b.data})})}.call(this),function(){Bootstrap.ItemsPanesView=Ember.CollectionView.extend({viewsInserted:!1,corrItemsView:function(){var a;return a=Ember.View.views[this.get("items-id")]}.property("viewsInserted"),didInsertElement:function(){return this._super(),this.set("viewsInserted",!0)}})}.call(this); \ No newline at end of file +(function(){var a;a=window.Bootstrap=Ember.Namespace.create()}).call(this),function(){var a,b;a=window.Bootstrap,b=Ember.get,a.WithRouter=Ember.Mixin.create({router:Ember.computed(function(){return b(this,"controller").container.lookup("router:main")})})}.call(this),function(){var a,b,c;a=window.Bootstrap,b=Ember.get,c=Ember.set,a.TypeSupport=Ember.Mixin.create({classTypePrefix:Ember.required(String),classNameBindings:["typeClass"],type:"default",typeClass:function(){var a,b;return b=this.get("type"),null==b&&(b="default"),a=this.get("classTypePrefix"),""+a+"-"+b}.property("type").cacheable()})}.call(this),function(){var a,b,c;a=window.Bootstrap,b=Ember.get,c=Ember.set,a.SizeSupport=Ember.Mixin.create({classTypePrefix:Ember.required(String),classNameBindings:["sizeClass","largeSizeClass","smallSizeClass","extraSmallSizeClass"],size:null,xs:null,small:null,large:null,extraSmallSizeClass:function(){var a;return a=this.get("classTypePrefix"),this.xs?""+a+"-xs":null}.property("xs").cacheable(),smallSizeClass:function(){var a;return a=this.get("classTypePrefix"),this.small?""+a+"-sm":null}.property("small").cacheable(),largeSizeClass:function(){var a;return a=this.get("classTypePrefix"),this.large?""+a+"-lg":null}.property("large").cacheable(),sizeClass:function(){var a,b;return b=this.get("size"),a=this.get("classTypePrefix"),b?""+a+"-"+b:null}.property("size").cacheable()})}.call(this),function(){Bootstrap.ItemValue=Ember.Mixin.create({value:function(){var a,b;return a=this.get("parentView"),null!=a?b=this.get("content"):void 0}.property("content").cacheable()})}.call(this),function(){Bootstrap.ItemSelection=Ember.Mixin.create(Bootstrap.ItemValue,Bootstrap.WithRouter,{classNameBindings:["isActive:active"],init:function(){return this._super(),this.didRouteChange()},didRouteChange:function(){var a,b,c;return b=this.get("content.linkTo"),null!=b&&(a=this.get("parentView"),null!=a)&&(null!=(c=this.get("router"))?c.isActive(b):void 0)?a.set("selected",this.get("value")):void 0}.observes("router.url"),isActive:function(){var a,b,c;return a=this.get("parentView"),null==a?!1:(b=a.get("selected"),c=this.get("value"),null==c?!1:b===c)}.property("value","parentView.selected","content.linkTo").cacheable(),click:function(a){var b,c;return a.preventDefault(),c=this.get("parentView"),null==c||(b=this.get("content"),"object"==typeof b&&b.get("disabled")||null!=this.get("content.linkTo"))?void 0:c.set("selected",this.get("value"))}})}.call(this),function(){Bootstrap.ItemsSelection=Ember.Mixin.create({multiSelection:!1,selected:[]})}.call(this),function(){Bootstrap.Nav=Ember.Mixin.create({classNames:["nav"],classNameBindings:["navTypeClass"],tagName:"ul",navType:null,navTypeClass:function(){return null!=this.navType?"nav-"+this.navType:null}.property("navType").cacheable()})}.call(this),function(){Bootstrap.NavItem=Ember.Mixin.create(Bootstrap.SelectableView)}.call(this),function(){var a,b;a=function(a){var b,c;if(a&&(c=a.get("parentView")))return b=c instanceof Bootstrap.ItemsView,Ember.assert("The parent view must be an instance of Bootstrap.ItemsView or any inherited class",b),b?c:void 0},b=function(a,b,c){return"instance"===Ember.typeOf(a)||Ember.canInvoke(a,"get")?a.get(b):c},Bootstrap.ItemView=Ember.View.extend({isItem:!0,classNameBindings:["disabled"],title:function(){var c,d,e;if(e=a(this))return d=e.get("itemTitleKey")||"title",c=this.get("content"),b(c,d,c)}.property("content").cacheable(),disabled:function(){var c,d,e;if(e=a(this))return c=this.get("content"),d=!!b(c,"disabled",!1),d&&this.get("isActive")&&e.set("selected",null),d}.property("content","content.disabled").cacheable()})}.call(this),function(){Bootstrap.ItemsView=Ember.CollectionView.extend({didInsertElement:function(){var a,b,c,d,e,f;if(this.get("default")){for(a=this.get("default"),e=this._childViews,c=0,d=e.length;d>c;c++)b=e[c],(null!=(f=b.get("content"))?f.get("title"):void 0)===a&&this.set("selected",b.get("content"));return Ember.assert("Could not activate default tab "+a+" as it doesnt exist",a)}}})}.call(this),function(){Bootstrap.ItemPaneView=Ember.View.extend({template:Ember.Handlebars.compile(["{{#if view.content.template}}","{{bsItemPanePartial view.content.template}}","{{/if}}"].join("\n")),corrItem:function(){var a,b,c,d;if(null!=this.get("parentView").get("corrItemsView"))for(d=this.get("parentView").get("corrItemsView")._childViews,b=0,c=d.length;c>b;b++)if(a=d[b],a.content===this.get("content"))return a}.property("parentView.corrItemsView"),isVisible:function(){var a;return null!=(a=this.get("corrItem"))?a.get("isActive"):void 0}.property("corrItem.isActive"),controller:function(){var a,b;return a=this.get("parentView.controller"),this.get("content.controller")&&(b=this.get("container").lookup("controller:"+this.get("content.controller")),b&&(a=b)),a}.property("content")}),Ember.Handlebars.helper("bsItemPanePartial",function(a,b){var c,d;return d=b.data.view,c=d.templateForName(a),Ember.assert("Unable to find template with name '"+a+"'",c),c(this,{data:b.data})})}.call(this),function(){Bootstrap.ItemsPanesView=Ember.CollectionView.extend({viewsInserted:!1,corrItemsView:function(){var a;return a=Ember.View.views[this.get("items-id")]}.property("viewsInserted"),didInsertElement:function(){return this._super(),this.set("viewsInserted",!0)}})}.call(this); \ No newline at end of file diff --git a/dist/js/bs-growl-notifications.min.js b/dist/js/bs-growl-notifications.min.js index 0ba20d8..0d82ff3 100644 --- a/dist/js/bs-growl-notifications.min.js +++ b/dist/js/bs-growl-notifications.min.js @@ -1 +1 @@ -!function(){Bootstrap.GrowlNotifications=Ember.CollectionView.extend({classNames:["growl-notifications"],contentBinding:"Bootstrap.GNM.notifications",attributeBindings:["style"],showTime:1e4,itemViewClass:Ember.View.extend({classNames:["growl-notification"],template:Ember.Handlebars.compile('\n\n \n\n\n {{view.content.title}}\n\n

\n {{view.content.sub}}\n

'),classNameBindings:[":growl-notification","content.closed","isOpaque"],attributeBindings:["style"],timeoutId:null,isOpaque:!1,init:function(){var a,b=this;return this._super(),a=function(){return b.notifyPropertyChange("style")},this.set("_recomputeStyle",a),$(window).bind("resize",a)},didInsertElement:function(){var a=this;return this.set("timeoutId",setTimeout(function(){return a.send("close")},this.get("parentView.showTime"))),Ember.run.later(this,function(){return this.set("isOpaque",!0)},1)},willDestroyElement:function(){return $(window).unbind("resize",this.get("_recomputeStyle"))},style:function(){var a,b,c,d,e,f,g,h,i,j;return c=this.get("parentView.content").rejectProperty("closed",!0),b=c.indexOf(this.get("content")),j=$(window).height(),g=80,h=320,i=Math.floor(j/g),a=Math.floor(b/i),e=b%i,-1===b?"":(f=e*g,d=a*h,"top: "+f+"px; right: "+d+"px;")}.property("parentView.content.@each.closed"),iconType:function(){var a,b;return b=this.get("content.type"),a={info:"fa-bullhorn",success:"fa-check",warning:"fa-exclamation",danger:"fa-times"},a[b]||""}.property("content.type"),actions:{close:function(){var a=this;return this.set("isOpaque",!1),setTimeout(function(){return a.get("parentView.content").removeObject(a.get("content")),clearTimeout(a.get("timeoutId"))},300)}}})}),Ember.Handlebars.helper("bs-growl-notifications",Bootstrap.GrowlNotifications),Bootstrap.GNM=Bootstrap.GrowlNotificationManager=Ember.Object.create({notifications:Ember.A(),push:function(a,b,c){var d;return c=null!=c?c:c="info",d=Bootstrap.Notification.create({title:a,sub:b,type:c,closed:!1}),this.get("notifications").pushObject(d)}}),Bootstrap.GrowlNotification=Ember.Object.extend()}.call(this); \ No newline at end of file +(function(){Bootstrap.GrowlNotifications=Ember.CollectionView.extend({classNames:["growl-notifications"],contentBinding:"Bootstrap.GNM.notifications",attributeBindings:["style"],showTime:1e4,itemViewClass:Ember.View.extend({classNames:["growl-notification"],template:Ember.Handlebars.compile('\n\n \n\n\n {{view.content.title}}\n\n

\n {{view.content.sub}}\n

'),classNameBindings:[":growl-notification","content.closed","isOpaque"],attributeBindings:["style"],timeoutId:null,isOpaque:!1,init:function(){var a,b=this;return this._super(),a=function(){return b.notifyPropertyChange("style")},this.set("_recomputeStyle",a),$(window).bind("resize",a)},didInsertElement:function(){var a=this;return this.set("timeoutId",setTimeout(function(){return a.send("close")},this.get("parentView.showTime"))),Ember.run.later(this,function(){return this.set("isOpaque",!0)},1)},willDestroyElement:function(){return $(window).unbind("resize",this.get("_recomputeStyle"))},style:function(){var a,b,c,d,e,f,g,h,i,j;return c=this.get("parentView.content").rejectProperty("closed",!0),b=c.indexOf(this.get("content")),j=$(window).height(),g=80,h=320,i=Math.floor(j/g),a=Math.floor(b/i),e=b%i,-1===b?"":(f=e*g,d=a*h,"top: "+f+"px; right: "+d+"px;")}.property("parentView.content.@each.closed"),iconType:function(){var a,b;return b=this.get("content.type"),a={info:"fa-bullhorn",success:"fa-check",warning:"fa-exclamation",danger:"fa-times"},a[b]||""}.property("content.type"),actions:{close:function(){var a=this;return this.set("isOpaque",!1),setTimeout(function(){return a.get("parentView.content").removeObject(a.get("content")),clearTimeout(a.get("timeoutId"))},300)}}})}),Ember.Handlebars.helper("bs-growl-notifications",Bootstrap.GrowlNotifications),Bootstrap.GNM=Bootstrap.GrowlNotificationManager=Ember.Object.create({notifications:Ember.A(),push:function(a,b,c){var d;return c=null!=c?c:c="info",d=Bootstrap.Notification.create({title:a,sub:b,type:c,closed:!1}),this.get("notifications").pushObject(d)}}),Bootstrap.GrowlNotification=Ember.Object.extend()}).call(this); \ No newline at end of file diff --git a/dist/js/bs-items-action-bar.min.js b/dist/js/bs-items-action-bar.min.js index c11126b..f1c058b 100644 --- a/dist/js/bs-items-action-bar.min.js +++ b/dist/js/bs-items-action-bar.min.js @@ -1 +1 @@ -!function(){Bootstrap.ItemsActionBar=Ember.CollectionView.extend({classNames:"btn-toolbar",classNameBindings:"rtl:pull-right",role:"toolbar",selectedItems:[],rtl:!1,selection:function(){var a;return a=this.get("selectedItems"),null==a?[]:Array.isArray(a)?a:[a]}.property("selectedItems"),itemViewClass:Ember.CollectionView.extend({tagName:["div"],classNames:["btn-group"],itemViewClass:Ember.View.extend({tagName:"button",classNames:["btn","btn-default"],attributeBindings:["disabled"],template:Ember.Handlebars.compile(" {{#if view.content.transitionTo}} {{link-to view.content.title view.content.transitionTo tagName='div'}} {{else}} {{view.content.title}} {{/if}} "),disabled:function(){var a;return"function"==typeof(a=this.get("content.disabled"))?a(this.get("parentView.parentView.selection")):void 0}.property("parentView.parentView.selection.@each","parentView.parentView.selection"),click:function(){return null!=this.get("content.clickActionName")?this.get("controller").send(this.get("content.clickActionName"),this.get("parentView.parentView.selection")):this.get("content.click")?this.get("content.click")(this.get("parentView.parentView.selection")):void 0}})})}),Ember.Handlebars.helper("bs-items-action-bar",Bootstrap.ItemsActionBar)}.call(this); \ No newline at end of file +(function(){Bootstrap.ItemsActionBar=Ember.CollectionView.extend({classNames:"btn-toolbar",classNameBindings:"rtl:pull-right",role:"toolbar",selectedItems:[],rtl:!1,selection:function(){var a;return a=this.get("selectedItems"),null==a?[]:Array.isArray(a)?a:[a]}.property("selectedItems"),itemViewClass:Ember.CollectionView.extend({tagName:["div"],classNames:["btn-group"],itemViewClass:Ember.View.extend({tagName:"button",classNames:["btn","btn-default"],attributeBindings:["disabled"],template:Ember.Handlebars.compile(" {{#if view.content.transitionTo}} {{link-to view.content.title view.content.transitionTo tagName='div'}} {{else}} {{view.content.title}} {{/if}} "),disabled:function(){var a;return"function"==typeof(a=this.get("content.disabled"))?a(this.get("parentView.parentView.selection")):void 0}.property("parentView.parentView.selection.@each","parentView.parentView.selection"),click:function(){return null!=this.get("content.clickActionName")?this.get("controller").send(this.get("content.clickActionName"),this.get("parentView.parentView.selection")):this.get("content.click")?this.get("content.click")(this.get("parentView.parentView.selection")):void 0}})})}),Ember.Handlebars.helper("bs-items-action-bar",Bootstrap.ItemsActionBar)}).call(this); \ No newline at end of file diff --git a/dist/js/bs-label.min.js b/dist/js/bs-label.min.js index 1e1fef6..318be8b 100644 --- a/dist/js/bs-label.min.js +++ b/dist/js/bs-label.min.js @@ -1 +1 @@ -!function(){Bootstrap.BsLabelComponent=Ember.Component.extend(Bootstrap.TypeSupport,{layoutName:"components/bs-label",tagName:"span",classNames:["label"],classTypePrefix:"label"}),Ember.Handlebars.helper("bs-label",Bootstrap.BsLabelComponent)}.call(this),this.Ember=this.Ember||{},this.Ember.TEMPLATES=this.Ember.TEMPLATES||{},this.Ember.TEMPLATES["components/bs-label"]=Ember.Handlebars.template(function(a,b,c,d,e){this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var f,g,h=this.escapeExpression;f={},g={},e.buffer.push(h(c._triageMustache.call(b,"content",{hash:{},contexts:[b],types:["ID"],hashContexts:g,hashTypes:f,data:e})))}); \ No newline at end of file +(function(){Bootstrap.BsLabelComponent=Ember.Component.extend(Bootstrap.TypeSupport,{layoutName:"components/bs-label",tagName:"span",classNames:["label"],classTypePrefix:"label"}),Ember.Handlebars.helper("bs-label",Bootstrap.BsLabelComponent)}).call(this),this.Ember=this.Ember||{},this.Ember.TEMPLATES=this.Ember.TEMPLATES||{},this.Ember.TEMPLATES["components/bs-label"]=Ember.Handlebars.template(function(a,b,c,d,e){this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var f,g,h=this.escapeExpression;f={},g={},e.buffer.push(h(c._triageMustache.call(b,"content",{hash:{},contexts:[b],types:["ID"],hashContexts:g,hashTypes:f,data:e})))}); \ No newline at end of file diff --git a/dist/js/bs-list-group.min.js b/dist/js/bs-list-group.min.js index b706f21..4399d8d 100644 --- a/dist/js/bs-list-group.min.js +++ b/dist/js/bs-list-group.min.js @@ -1 +1 @@ -!function(){Bootstrap.BsListGroupComponent=Bootstrap.ItemsView.extend({tagName:"ul",classNames:["list-group"],itemViewClass:Bootstrap.ItemView.extend(Bootstrap.ItemSelection,{classNames:["list-group-item"],template:Ember.Handlebars.compile('{{#if view.badge}}\n {{bs-badge contentBinding="view.badge"}}\n{{/if}}\n{{#if view.sub}}\n

{{view.title}}

\n

{{view.sub}}

\n{{else}}\n {{view.title}}\n{{/if}}'),badge:function(){var a;return a=this.get("content"),"instance"===Ember.typeOf(a)||Ember.canInvoke(a,"get")?a.get("badge"):null}.property("content"),sub:function(){var a;return a=this.get("content"),"instance"===Ember.typeOf(a)||Ember.canInvoke(a,"get")?a.get("sub"):null}.property("content")})}),Ember.Handlebars.helper("bs-list-group",Bootstrap.BsListGroupComponent)}.call(this); \ No newline at end of file +(function(){Bootstrap.BsListGroupComponent=Bootstrap.ItemsView.extend({tagName:"ul",classNames:["list-group"],itemViewClass:Bootstrap.ItemView.extend(Bootstrap.ItemSelection,{classNames:["list-group-item"],template:Ember.Handlebars.compile('{{#if view.badge}}\n {{bs-badge contentBinding="view.badge"}}\n{{/if}}\n{{#if view.sub}}\n

{{view.title}}

\n

{{view.sub}}

\n{{else}}\n {{view.title}}\n{{/if}}'),badge:function(){var a;return a=this.get("content"),"instance"===Ember.typeOf(a)||Ember.canInvoke(a,"get")?a.get("badge"):null}.property("content"),sub:function(){var a;return a=this.get("content"),"instance"===Ember.typeOf(a)||Ember.canInvoke(a,"get")?a.get("sub"):null}.property("content")})}),Ember.Handlebars.helper("bs-list-group",Bootstrap.BsListGroupComponent)}).call(this); \ No newline at end of file diff --git a/dist/js/bs-modal.max.js b/dist/js/bs-modal.max.js index 04ae00e..612fb9b 100644 --- a/dist/js/bs-modal.max.js +++ b/dist/js/bs-modal.max.js @@ -7,6 +7,7 @@ Modal component. Bootstrap.BsModalComponent = Ember.Component.extend(Ember.Evented, { layoutName: 'components/bs-modal', classNames: ['modal'], + classNameBindings: ['fade', 'isVis:in'], attributeBindings: ['role', 'aria-labelledby', 'isAriaHidden:aria-hidden', "ariaLabelledBy:aria-labelledby"], isAriaHidden: (function() { return "" + (this.get('isVisible')); @@ -18,6 +19,9 @@ Modal component. title: null, isVisible: false, manual: false, + isVis: false, + fullSizeButtons: false, + fade: true, didInsertElement: function() { var name; this._super(); @@ -33,11 +37,13 @@ Modal component. } }, becameVisible: function() { + Em.$('body').addClass('modal-open'); if (this.get("backdrop")) { return this.appendBackdrop(); } }, becameHidden: function() { + Em.$('body').removeClass('modal-open'); if (this._backdrop) { return this._backdrop.remove(); } @@ -48,10 +54,21 @@ Modal component. return this._backdrop = Em.$(this.modalBackdrop).appendTo(parentElement); }, show: function() { - return this.set('isVisible', true); + var current; + this.set('isVisible', true); + current = this; + setTimeout((function() { + current.set('isVis', true); + }), 15); }, hide: function() { - return this.set('isVisible', false); + var current; + this.set('isVis', false); + current = this; + this.$().one('webkitTransitionEnd', function(e) { + current.set('isVisible', false); + }); + return false; }, toggle: function() { return this.toggleProperty('isVisible'); @@ -70,15 +87,21 @@ Modal component. } }, close: function(event) { - if (this.get('manual')) { - this.destroy(); - } else { - this.hide(); - } + var current; + this.set('isVis', false); + current = this; + this.$().one('webkitTransitionEnd', function(e) { + if (current.get('manual')) { + current.destroy(); + } else { + current.hide(); + } + }); return this.trigger('closed'); }, willDestroyElement: function() { var name; + Em.$('body').removeClass('modal-open'); this.removeHandlers(); name = this.get('name'); if (name == null) { @@ -137,29 +160,86 @@ Modal component. toggle: function(name) { return this.get(name).toggle(); }, - confirm: function(controller, title, message, confirmButtonTitle, cancelButtonTitle) { + confirm: function(controller, title, message, confirmButtonTitle, confirmButtonEvent, confirmButtonType, cancelButtonTitle, cancelButtonEvent, cancelButtonType, targetObj, fade, fullSizeButtons) { var body, buttons; if (confirmButtonTitle == null) { confirmButtonTitle = "Confirm"; } + if (confirmButtonEvent == null) { + confirmButtonEvent = "modalConfirmed"; + } + if (confirmButtonType == null) { + confirmButtonType = null; + } if (cancelButtonTitle == null) { cancelButtonTitle = "Cancel"; } + if (cancelButtonEvent == null) { + cancelButtonEvent = "modalCanceled"; + } + if (cancelButtonType == null) { + cancelButtonType = null; + } + if (targetObj == null) { + targetObj = controller; + } + if (fade == null) { + fade = true; + } + if (fullSizeButtons == null) { + fullSizeButtons = false; + } body = Ember.View.extend({ template: Ember.Handlebars.compile(message || "Are you sure you would like to perform this action?") }); buttons = [ Ember.Object.create({ title: confirmButtonTitle, - clicked: "modalConfirmed", + clicked: confirmButtonEvent, + type: confirmButtonType, dismiss: 'modal' }), Ember.Object.create({ title: cancelButtonTitle, - clicked: "modalCanceled", + clicked: cancelButtonEvent, + type: cancelButtonType, dismiss: 'modal' }) ]; - return this.open('confirm-modal', title || 'Confirmation required!', body, buttons, controller); + return this.open('confirm-modal', title || 'Confirmation required!', body, buttons, controller, fade, fullSizeButtons, targetObj); + } + }, { + okModal: function(controller, title, message, okButtonTitle, okButtonEvent, okButtonType, targetObj, fade, fullSizeButtons) { + var body, buttons; + if (okButtonTitle == null) { + okButtonTitle = "OK"; + } + if (okButtonEvent == null) { + okButtonEvent = "okModal"; + } + if (okButtonType == null) { + okButtonType = null; + } + if (targetObj == null) { + targetObj = controller; + } + if (fade == null) { + fade = true; + } + if (fullSizeButtons == null) { + fullSizeButtons = false; + } + body = Ember.View.extend({ + template: Ember.Handlebars.compile(message || "Are you sure you would like to perform this action?") + }); + buttons = [ + Ember.Object.create({ + title: okButtonTitle, + clicked: okButtonEvent, + type: okButtonType, + dismiss: 'modal' + }) + ]; + return this.open('ok-modal', title || 'Confirmation required!', body, buttons, controller, fade, fullSizeButtons, targetObj); }, openModal: function(modalView, options) { var instance, rootElement; @@ -170,8 +250,22 @@ Modal component. instance = modalView.create(options); return instance.appendTo(rootElement); }, - open: function(name, title, view, footerButtons, controller) { + openManual: function(name, title, content, footerButtons, controller, fade, fullSizeButtons, targetObj) { + var view; + view = Ember.View.extend({ + template: Ember.Handlebars.compile(content), + controller: controller + }); + return this.open(name, title, view, footerButtons, controller, fade, fullSizeButtons, targetObj); + }, + open: function(name, title, view, footerButtons, controller, fade, fullSizeButtons, targetObj) { var cl, modalComponent, template; + if (fullSizeButtons == null) { + fullSizeButtons = false; + } + if (targetObj == null) { + targetObj = controller; + } cl = controller.container.lookup('component-lookup:main'); modalComponent = cl.lookupFactory('bs-modal', controller.get('container')).create(); modalComponent.setProperties({ @@ -179,7 +273,9 @@ Modal component. title: title, manual: true, footerButtons: footerButtons, - targetObject: controller + targetObject: targetObj, + fade: fade, + fullSizeButtons: fullSizeButtons }); if (Ember.typeOf(view) === 'string') { template = controller.container.lookup("template:" + view); @@ -217,48 +313,48 @@ this["Ember"]["TEMPLATES"] = this["Ember"]["TEMPLATES"] || {}; this["Ember"]["TEMPLATES"]["components/bs-modal"] = Ember.Handlebars.template(function anonymous(Handlebars,depth0,helpers,partials,data) { this.compilerInfo = [4,'>= 1.0.0']; helpers = this.merge(helpers, Ember.Handlebars.helpers); data = data || {}; - var buffer = '', stack1, hashTypes, hashContexts, helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression, self=this; + var buffer = '', stack1, stack2, hashContexts, hashTypes, options, helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression, self=this; function program1(depth0,data) { var buffer = '', stack1, hashContexts, hashTypes, options; - data.buffer.push("\n \n "); + data.buffer.push(">\r\n "); return buffer; } function program3(depth0,data) { var buffer = '', hashTypes, hashContexts; - data.buffer.push("\n "); + data.buffer.push("\r\n "); hashTypes = {}; hashContexts = {}; data.buffer.push(escapeExpression(helpers.view.call(depth0, "view.body", {hash:{},contexts:[depth0],types:["ID"],hashContexts:hashContexts,hashTypes:hashTypes,data:data}))); - data.buffer.push("\n "); + data.buffer.push("\r\n "); return buffer; } function program5(depth0,data) { var buffer = '', hashTypes, hashContexts; - data.buffer.push("\n "); + data.buffer.push("\r\n "); hashTypes = {}; hashContexts = {}; data.buffer.push(escapeExpression(helpers._triageMustache.call(depth0, "yield", {hash:{},contexts:[depth0],types:["ID"],hashContexts:hashContexts,hashTypes:hashTypes,data:data}))); - data.buffer.push("\n "); + data.buffer.push("\r\n "); return buffer; } function program7(depth0,data) { var buffer = '', stack1, hashContexts, hashTypes, options; - data.buffer.push("\n "); + data.buffer.push("\r\n "); hashContexts = {'content': depth0,'targetObjectBinding': depth0}; hashTypes = {'content': "ID",'targetObjectBinding': "STRING"}; options = {hash:{ @@ -266,49 +362,63 @@ function program7(depth0,data) { 'targetObjectBinding': ("view.targetObject") },contexts:[],types:[],hashContexts:hashContexts,hashTypes:hashTypes,data:data}; data.buffer.push(escapeExpression(((stack1 = helpers['bs-button'] || depth0['bs-button']),stack1 ? stack1.call(depth0, options) : helperMissing.call(depth0, "bs-button", options)))); - data.buffer.push("\n "); + data.buffer.push("\r\n "); return buffer; } function program9(depth0,data) { var buffer = '', hashTypes, hashContexts; - data.buffer.push("\n "); + data.buffer.push("\r\n "); hashTypes = {}; hashContexts = {}; data.buffer.push(escapeExpression(helpers.view.call(depth0, "", {hash:{},contexts:[depth0],types:["ID"],hashContexts:hashContexts,hashTypes:hashTypes,data:data}))); - data.buffer.push("\n "); + data.buffer.push("\r\n "); return buffer; } - data.buffer.push("
\n
\n
\n \n

\n "); + data.buffer.push("
\r\n
\r\n
\r\n \r\n

\r\n "); hashTypes = {}; hashContexts = {}; - stack1 = helpers['if'].call(depth0, "titleIconClasses", {hash:{},inverse:self.noop,fn:self.program(1, program1, data),contexts:[depth0],types:["ID"],hashContexts:hashContexts,hashTypes:hashTypes,data:data}); - if(stack1 || stack1 === 0) { data.buffer.push(stack1); } - data.buffer.push("\n "); + stack2 = helpers['if'].call(depth0, "titleIconClasses", {hash:{},inverse:self.noop,fn:self.program(1, program1, data),contexts:[depth0],types:["ID"],hashContexts:hashContexts,hashTypes:hashTypes,data:data}); + if(stack2 || stack2 === 0) { data.buffer.push(stack2); } + data.buffer.push("\r\n "); hashContexts = {'unescaped': depth0}; hashTypes = {'unescaped': "STRING"}; - stack1 = helpers._triageMustache.call(depth0, "title", {hash:{ + stack2 = helpers._triageMustache.call(depth0, "title", {hash:{ 'unescaped': ("true") },contexts:[depth0],types:["ID"],hashContexts:hashContexts,hashTypes:hashTypes,data:data}); - if(stack1 || stack1 === 0) { data.buffer.push(stack1); } - data.buffer.push("\n

\n
\n
\n "); + if(stack2 || stack2 === 0) { data.buffer.push(stack2); } + data.buffer.push("\r\n

\r\n
\r\n
\r\n "); hashTypes = {}; hashContexts = {}; - stack1 = helpers['if'].call(depth0, "body", {hash:{},inverse:self.program(5, program5, data),fn:self.program(3, program3, data),contexts:[depth0],types:["ID"],hashContexts:hashContexts,hashTypes:hashTypes,data:data}); - if(stack1 || stack1 === 0) { data.buffer.push(stack1); } - data.buffer.push("\n
\n
\n "); + stack2 = helpers['if'].call(depth0, "body", {hash:{},inverse:self.program(5, program5, data),fn:self.program(3, program3, data),contexts:[depth0],types:["ID"],hashContexts:hashContexts,hashTypes:hashTypes,data:data}); + if(stack2 || stack2 === 0) { data.buffer.push(stack2); } + data.buffer.push("\r\n
\r\n
\r\n "); hashTypes = {}; hashContexts = {}; - stack1 = helpers.each.call(depth0, "footerButtons", {hash:{},inverse:self.noop,fn:self.program(7, program7, data),contexts:[depth0],types:["ID"],hashContexts:hashContexts,hashTypes:hashTypes,data:data}); - if(stack1 || stack1 === 0) { data.buffer.push(stack1); } - data.buffer.push("\n "); + stack2 = helpers.each.call(depth0, "footerButtons", {hash:{},inverse:self.noop,fn:self.program(7, program7, data),contexts:[depth0],types:["ID"],hashContexts:hashContexts,hashTypes:hashTypes,data:data}); + if(stack2 || stack2 === 0) { data.buffer.push(stack2); } + data.buffer.push("\r\n "); hashTypes = {}; hashContexts = {}; - stack1 = helpers.each.call(depth0, "footerViews", {hash:{},inverse:self.noop,fn:self.program(9, program9, data),contexts:[depth0],types:["ID"],hashContexts:hashContexts,hashTypes:hashTypes,data:data}); - if(stack1 || stack1 === 0) { data.buffer.push(stack1); } - data.buffer.push("\n
\n
\n
"); + stack2 = helpers.each.call(depth0, "footerViews", {hash:{},inverse:self.noop,fn:self.program(9, program9, data),contexts:[depth0],types:["ID"],hashContexts:hashContexts,hashTypes:hashTypes,data:data}); + if(stack2 || stack2 === 0) { data.buffer.push(stack2); } + data.buffer.push("\r\n \r\n \r\n"); return buffer; }); \ No newline at end of file diff --git a/dist/js/bs-modal.min.js b/dist/js/bs-modal.min.js index 7ff65cf..a023878 100644 --- a/dist/js/bs-modal.min.js +++ b/dist/js/bs-modal.min.js @@ -1 +1 @@ -!function(){Bootstrap.BsModalComponent=Ember.Component.extend(Ember.Evented,{layoutName:"components/bs-modal",classNames:["modal"],attributeBindings:["role","aria-labelledby","isAriaHidden:aria-hidden","ariaLabelledBy:aria-labelledby"],isAriaHidden:function(){return""+this.get("isVisible")}.property("isVisible"),modalBackdrop:'',role:"dialog",footerViews:[],backdrop:!0,title:null,isVisible:!1,manual:!1,didInsertElement:function(){var a;return this._super(),this.setupBinders(),a=this.get("name"),Ember.assert("Modal name is required for modal view "+this.get("elementId"),this.get("name")),null==a&&(a=this.get("elementId")),Bootstrap.ModalManager.add(a,this),this.manual?this.show():void 0},becameVisible:function(){return this.get("backdrop")?this.appendBackdrop():void 0},becameHidden:function(){return this._backdrop?this._backdrop.remove():void 0},appendBackdrop:function(){var a;return a=this.$().parent(),this._backdrop=Em.$(this.modalBackdrop).appendTo(a)},show:function(){return this.set("isVisible",!0)},hide:function(){return this.set("isVisible",!1)},toggle:function(){return this.toggleProperty("isVisible")},click:function(a){var b,c;return b=a.target,c=b.getAttribute("data-dismiss"),"modal"===c?this.close():void 0},keyPressed:function(a){return 27===a.keyCode?this.close(a):void 0},close:function(){return this.get("manual")?this.destroy():this.hide(),this.trigger("closed")},willDestroyElement:function(){var a;return this.removeHandlers(),a=this.get("name"),null==a&&(a=this.get("elementId")),Bootstrap.ModalManager.remove(a,this),this._backdrop?this._backdrop.remove():void 0},removeHandlers:function(){return jQuery(window.document).unbind("keyup",this._keyUpHandler)},setupBinders:function(){var a,b=this;return a=function(a){return b.keyPressed(a)},jQuery(window.document).bind("keyup",a),this._keyUpHandler=a}}),Bootstrap.ModalManager=Ember.Object.create({add:function(a,b){return this.set(a,b)},register:function(a,b){return this.add(a,b),b.appendTo(b.get("targetObject").namespace.rootElement)},remove:function(a){return this.set(a,null)},close:function(a){return this.get(a).close()},hide:function(a){return this.get(a).hide()},show:function(a){return this.get(a).show()},toggle:function(a){return this.get(a).toggle()},confirm:function(a,b,c,d,e){var f,g;return null==d&&(d="Confirm"),null==e&&(e="Cancel"),f=Ember.View.extend({template:Ember.Handlebars.compile(c||"Are you sure you would like to perform this action?")}),g=[Ember.Object.create({title:d,clicked:"modalConfirmed",dismiss:"modal"}),Ember.Object.create({title:e,clicked:"modalCanceled",dismiss:"modal"})],this.open("confirm-modal",b||"Confirmation required!",f,g,a)},openModal:function(a,b){var c,d;return null==b&&(b={}),d=b.rootElement||".ember-application",c=a.create(b),c.appendTo(d)},open:function(a,b,c,d,e){var f,g,h;return f=e.container.lookup("component-lookup:main"),g=f.lookupFactory("bs-modal",e.get("container")).create(),g.setProperties({name:a,title:b,manual:!0,footerButtons:d,targetObject:e}),"string"===Ember.typeOf(c)?(h=e.container.lookup("template:"+c),Ember.assert("Template "+c+" was specified for Modal but template could not be found.",h),h&&g.setProperties({body:Ember.View.extend({template:h,controller:e})})):"class"===Ember.typeOf(c)&&g.setProperties({body:c,controller:e}),g.appendTo(e.namespace.rootElement)}}),Ember.Application.initializer({name:"bs-modal",initialize:function(a){return a.register("component:bs-modal",Bootstrap.BsModalComponent)}})}.call(this),this.Ember=this.Ember||{},this.Ember.TEMPLATES=this.Ember.TEMPLATES||{},this.Ember.TEMPLATES["components/bs-modal"]=Ember.Handlebars.template(function(a,b,c,d,e){function f(a,b){var d,e,f,g,h="";return b.buffer.push("\n \n "),h}function g(a,b){var d,e,f="";return b.buffer.push("\n "),d={},e={},b.buffer.push(p(c.view.call(a,"view.body",{hash:{},contexts:[a],types:["ID"],hashContexts:e,hashTypes:d,data:b}))),b.buffer.push("\n "),f}function h(a,b){var d,e,f="";return b.buffer.push("\n "),d={},e={},b.buffer.push(p(c._triageMustache.call(a,"yield",{hash:{},contexts:[a],types:["ID"],hashContexts:e,hashTypes:d,data:b}))),b.buffer.push("\n "),f}function i(a,b){var d,e,f,g,h="";return b.buffer.push("\n "),e={content:a,targetObjectBinding:a},f={content:"ID",targetObjectBinding:"STRING"},g={hash:{content:"",targetObjectBinding:"view.targetObject"},contexts:[],types:[],hashContexts:e,hashTypes:f,data:b},b.buffer.push(p((d=c["bs-button"]||a["bs-button"],d?d.call(a,g):o.call(a,"bs-button",g)))),b.buffer.push("\n "),h}function j(a,b){var d,e,f="";return b.buffer.push("\n "),d={},e={},b.buffer.push(p(c.view.call(a,"",{hash:{},contexts:[a],types:["ID"],hashContexts:e,hashTypes:d,data:b}))),b.buffer.push("\n "),f}this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var k,l,m,n="",o=c.helperMissing,p=this.escapeExpression,q=this;return e.buffer.push('"),n}); \ No newline at end of file +(function(){Bootstrap.BsModalComponent=Ember.Component.extend(Ember.Evented,{layoutName:"components/bs-modal",classNames:["modal"],classNameBindings:["fade","isVis:in"],attributeBindings:["role","aria-labelledby","isAriaHidden:aria-hidden","ariaLabelledBy:aria-labelledby"],isAriaHidden:function(){return""+this.get("isVisible")}.property("isVisible"),modalBackdrop:'',role:"dialog",footerViews:[],backdrop:!0,title:null,isVisible:!1,manual:!1,isVis:!1,fullSizeButtons:!1,fade:!0,didInsertElement:function(){var a;return this._super(),this.setupBinders(),a=this.get("name"),Ember.assert("Modal name is required for modal view "+this.get("elementId"),this.get("name")),null==a&&(a=this.get("elementId")),Bootstrap.ModalManager.add(a,this),this.manual?this.show():void 0},becameVisible:function(){return Em.$("body").addClass("modal-open"),this.get("backdrop")?this.appendBackdrop():void 0},becameHidden:function(){return Em.$("body").removeClass("modal-open"),this._backdrop?this._backdrop.remove():void 0},appendBackdrop:function(){var a;return a=this.$().parent(),this._backdrop=Em.$(this.modalBackdrop).appendTo(a)},show:function(){var a;this.set("isVisible",!0),a=this,setTimeout(function(){a.set("isVis",!0)},15)},hide:function(){var a;return this.set("isVis",!1),a=this,this.$().one("webkitTransitionEnd",function(){a.set("isVisible",!1)}),!1},toggle:function(){return this.toggleProperty("isVisible")},click:function(a){var b,c;return b=a.target,c=b.getAttribute("data-dismiss"),"modal"===c?this.close():void 0},keyPressed:function(a){return 27===a.keyCode?this.close(a):void 0},close:function(){var a;return this.set("isVis",!1),a=this,this.$().one("webkitTransitionEnd",function(){a.get("manual")?a.destroy():a.hide()}),this.trigger("closed")},willDestroyElement:function(){var a;return Em.$("body").removeClass("modal-open"),this.removeHandlers(),a=this.get("name"),null==a&&(a=this.get("elementId")),Bootstrap.ModalManager.remove(a,this),this._backdrop?this._backdrop.remove():void 0},removeHandlers:function(){return jQuery(window.document).unbind("keyup",this._keyUpHandler)},setupBinders:function(){var a,b=this;return a=function(a){return b.keyPressed(a)},jQuery(window.document).bind("keyup",a),this._keyUpHandler=a}}),Bootstrap.ModalManager=Ember.Object.create({add:function(a,b){return this.set(a,b)},register:function(a,b){return this.add(a,b),b.appendTo(b.get("targetObject").namespace.rootElement)},remove:function(a){return this.set(a,null)},close:function(a){return this.get(a).close()},hide:function(a){return this.get(a).hide()},show:function(a){return this.get(a).show()},toggle:function(a){return this.get(a).toggle()},confirm:function(a,b,c,d,e,f,g,h,i,j,k,l){var m,n;return null==d&&(d="Confirm"),null==e&&(e="modalConfirmed"),null==f&&(f=null),null==g&&(g="Cancel"),null==h&&(h="modalCanceled"),null==i&&(i=null),null==j&&(j=a),null==k&&(k=!0),null==l&&(l=!1),m=Ember.View.extend({template:Ember.Handlebars.compile(c||"Are you sure you would like to perform this action?")}),n=[Ember.Object.create({title:d,clicked:e,type:f,dismiss:"modal"}),Ember.Object.create({title:g,clicked:h,type:i,dismiss:"modal"})],this.open("confirm-modal",b||"Confirmation required!",m,n,a,k,l,j)}},{okModal:function(a,b,c,d,e,f,g,h,i){var j,k;return null==d&&(d="OK"),null==e&&(e="okModal"),null==f&&(f=null),null==g&&(g=a),null==h&&(h=!0),null==i&&(i=!1),j=Ember.View.extend({template:Ember.Handlebars.compile(c||"Are you sure you would like to perform this action?")}),k=[Ember.Object.create({title:d,clicked:e,type:f,dismiss:"modal"})],this.open("ok-modal",b||"Confirmation required!",j,k,a,h,i,g)},openModal:function(a,b){var c,d;return null==b&&(b={}),d=b.rootElement||".ember-application",c=a.create(b),c.appendTo(d)},openManual:function(a,b,c,d,e,f,g,h){var i;return i=Ember.View.extend({template:Ember.Handlebars.compile(c),controller:e}),this.open(a,b,i,d,e,f,g,h)},open:function(a,b,c,d,e,f,g,h){var i,j,k;return null==g&&(g=!1),null==h&&(h=e),i=e.container.lookup("component-lookup:main"),j=i.lookupFactory("bs-modal",e.get("container")).create(),j.setProperties({name:a,title:b,manual:!0,footerButtons:d,targetObject:h,fade:f,fullSizeButtons:g}),"string"===Ember.typeOf(c)?(k=e.container.lookup("template:"+c),Ember.assert("Template "+c+" was specified for Modal but template could not be found.",k),k&&j.setProperties({body:Ember.View.extend({template:k,controller:e})})):"class"===Ember.typeOf(c)&&j.setProperties({body:c,controller:e}),j.appendTo(e.namespace.rootElement)}}),Ember.Application.initializer({name:"bs-modal",initialize:function(a){return a.register("component:bs-modal",Bootstrap.BsModalComponent)}})}).call(this),this.Ember=this.Ember||{},this.Ember.TEMPLATES=this.Ember.TEMPLATES||{},this.Ember.TEMPLATES["components/bs-modal"]=Ember.Handlebars.template(function(a,b,c,d,e){function f(a,b){var d,e,f,g,h="";return b.buffer.push("\r\n \r\n "),h}function g(a,b){var d,e,f="";return b.buffer.push("\r\n "),d={},e={},b.buffer.push(r(c.view.call(a,"view.body",{hash:{},contexts:[a],types:["ID"],hashContexts:e,hashTypes:d,data:b}))),b.buffer.push("\r\n "),f}function h(a,b){var d,e,f="";return b.buffer.push("\r\n "),d={},e={},b.buffer.push(r(c._triageMustache.call(a,"yield",{hash:{},contexts:[a],types:["ID"],hashContexts:e,hashTypes:d,data:b}))),b.buffer.push("\r\n "),f}function i(a,b){var d,e,f,g,h="";return b.buffer.push("\r\n "),e={content:a,targetObjectBinding:a},f={content:"ID",targetObjectBinding:"STRING"},g={hash:{content:"",targetObjectBinding:"view.targetObject"},contexts:[],types:[],hashContexts:e,hashTypes:f,data:b},b.buffer.push(r((d=c["bs-button"]||a["bs-button"],d?d.call(a,g):q.call(a,"bs-button",g)))),b.buffer.push("\r\n "),h}function j(a,b){var d,e,f="";return b.buffer.push("\r\n "),d={},e={},b.buffer.push(r(c.view.call(a,"",{hash:{},contexts:[a],types:["ID"],hashContexts:e,hashTypes:d,data:b}))),b.buffer.push("\r\n "),f}this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var k,l,m,n,o,p="",q=c.helperMissing,r=this.escapeExpression,s=this;return e.buffer.push('"),p}); \ No newline at end of file diff --git a/dist/js/bs-nav.min.js b/dist/js/bs-nav.min.js index 8f9f7af..3a368f1 100644 --- a/dist/js/bs-nav.min.js +++ b/dist/js/bs-nav.min.js @@ -1 +1 @@ -!function(){Bootstrap.BsPill=Bootstrap.ItemView.extend(Bootstrap.NavItem,Bootstrap.ItemSelection,{template:Ember.Handlebars.compile("{{#if view.content.linkTo}}\n {{#if view.parentView.dynamicLink}}\n {{#link-to view.content.linkTo model}}{{view.title}}{{/link-to}}\n {{else}}\n {{#link-to view.content.linkTo}}{{view.title}}{{/link-to}}\n {{/if}}\n{{else}}\n {{view view.pillAsLinkView}}\n{{/if}}"),pillAsLinkView:Ember.View.extend({tagName:"a",template:Ember.Handlebars.compile("{{view.parentView.title}}"),attributeBindings:["href"],href:"#"})})}.call(this),function(){Bootstrap.BsPills=Bootstrap.ItemsView.extend(Bootstrap.Nav,{navType:"pills",classNameBindings:["stacked:nav-stacked","justified:nav-justified"],attributeBindings:["style"],itemViewClass:Bootstrap.BsPill}),Ember.Handlebars.helper("bs-pills",Bootstrap.BsPills)}.call(this),function(){Bootstrap.BsTabPane=Bootstrap.ItemPaneView.extend()}.call(this),function(){Bootstrap.BsTabsPanes=Bootstrap.ItemsPanesView.extend({classNames:["tab-content"],itemViewClass:Bootstrap.BsTabPane}),Ember.Handlebars.helper("bs-tabs-panes",Bootstrap.BsTabsPanes)}.call(this),function(){Bootstrap.BsTabs=Bootstrap.ItemsView.extend(Bootstrap.Nav,{navType:"tabs",classNameBindings:["justified:nav-justified"],attributeBindings:["style"],itemViewClass:Bootstrap.BsPill}),Ember.Handlebars.helper("bs-tabs",Bootstrap.BsTabs)}.call(this); \ No newline at end of file +(function(){Bootstrap.BsPill=Bootstrap.ItemView.extend(Bootstrap.NavItem,Bootstrap.ItemSelection,{template:Ember.Handlebars.compile("{{#if view.content.linkTo}}\n {{#if view.parentView.dynamicLink}}\n {{#link-to view.content.linkTo model}}{{view.title}}{{/link-to}}\n {{else}}\n {{#link-to view.content.linkTo}}{{view.title}}{{/link-to}}\n {{/if}}\n{{else}}\n {{view view.pillAsLinkView}}\n{{/if}}"),pillAsLinkView:Ember.View.extend({tagName:"a",template:Ember.Handlebars.compile("{{view.parentView.title}}"),attributeBindings:["href"],href:"#"})})}).call(this),function(){Bootstrap.BsPills=Bootstrap.ItemsView.extend(Bootstrap.Nav,{navType:"pills",classNameBindings:["stacked:nav-stacked","justified:nav-justified"],attributeBindings:["style"],itemViewClass:Bootstrap.BsPill}),Ember.Handlebars.helper("bs-pills",Bootstrap.BsPills)}.call(this),function(){Bootstrap.BsTabPane=Bootstrap.ItemPaneView.extend()}.call(this),function(){Bootstrap.BsTabsPanes=Bootstrap.ItemsPanesView.extend({classNames:["tab-content"],itemViewClass:Bootstrap.BsTabPane}),Ember.Handlebars.helper("bs-tabs-panes",Bootstrap.BsTabsPanes)}.call(this),function(){Bootstrap.BsTabs=Bootstrap.ItemsView.extend(Bootstrap.Nav,{navType:"tabs",classNameBindings:["justified:nav-justified"],attributeBindings:["style"],itemViewClass:Bootstrap.BsPill}),Ember.Handlebars.helper("bs-tabs",Bootstrap.BsTabs)}.call(this); \ No newline at end of file diff --git a/dist/js/bs-notifications.min.js b/dist/js/bs-notifications.min.js index 343d390..9311efb 100644 --- a/dist/js/bs-notifications.min.js +++ b/dist/js/bs-notifications.min.js @@ -1 +1 @@ -!function(){Bootstrap.NotificationsView=Ember.CollectionView.extend({classNames:["notifications"],attributeBindings:["style"],contentBinding:"Bootstrap.NM.content",showTime:2e3,fadeInTime:500,fadeOutTime:3e3,showTimeTimeoutId:null,itemViewClass:Ember.View.extend({classNames:["alert","notification"],template:Ember.Handlebars.compile("{{view.content.message}}"),classNameBindings:["alertType"],isVisible:!1,alertType:function(){return this.get("content").get("classType")}.property("content"),didInsertElement:function(){return this.$().fadeIn(this.get("fadeInTime"))}}),contentChanged:function(){return this.get("content").length>0?this.resetShowTime():void 0}.observes("content.length"),resetShowTime:function(){var a=this;return this.$().css({display:"block"}),this.$().is(":animated")&&this.$().stop().animate({opacity:"100"}),null!=this.showTimeTimeoutId&&clearTimeout(this.showTimeTimeoutId),this.showTimeTimeoutId=setTimeout(function(){return a.fadeOut(a)},this.showTime)},fadeOut:function(a){return a.$().fadeOut(a.fadeOutTime,function(){return a.get("content").clear()})},mouseEnter:function(){return this.$().is(":animated")?this.$().stop().animate({opacity:"100"}):void 0},mouseLeave:function(){return this.resetShowTime()}}),Ember.Handlebars.helper("bs-notifications",Bootstrap.NotificationsView),Bootstrap.NM=Bootstrap.NotificationManager=Ember.Object.create({content:Ember.A(),push:function(a,b){var c;return b=null!=b?b:b="info",c=Bootstrap.Notification.create({message:a,type:b}),this.get("content").pushObject(c)}}),Bootstrap.Notification=Ember.Object.extend({classType:function(){return null!=this.type?"alert-"+this.type:null}.property("type").cacheable()})}.call(this); \ No newline at end of file +(function(){Bootstrap.NotificationsView=Ember.CollectionView.extend({classNames:["notifications"],attributeBindings:["style"],contentBinding:"Bootstrap.NM.content",showTime:2e3,fadeInTime:500,fadeOutTime:3e3,showTimeTimeoutId:null,itemViewClass:Ember.View.extend({classNames:["alert","notification"],template:Ember.Handlebars.compile("{{view.content.message}}"),classNameBindings:["alertType"],isVisible:!1,alertType:function(){return this.get("content").get("classType")}.property("content"),didInsertElement:function(){return this.$().fadeIn(this.get("fadeInTime"))}}),contentChanged:function(){return this.get("content").length>0?this.resetShowTime():void 0}.observes("content.length"),resetShowTime:function(){var a=this;return this.$().css({display:"block"}),this.$().is(":animated")&&this.$().stop().animate({opacity:"100"}),null!=this.showTimeTimeoutId&&clearTimeout(this.showTimeTimeoutId),this.showTimeTimeoutId=setTimeout(function(){return a.fadeOut(a)},this.showTime)},fadeOut:function(a){return a.$().fadeOut(a.fadeOutTime,function(){return a.get("content").clear()})},mouseEnter:function(){return this.$().is(":animated")?this.$().stop().animate({opacity:"100"}):void 0},mouseLeave:function(){return this.resetShowTime()}}),Ember.Handlebars.helper("bs-notifications",Bootstrap.NotificationsView),Bootstrap.NM=Bootstrap.NotificationManager=Ember.Object.create({content:Ember.A(),push:function(a,b){var c;return b=null!=b?b:b="info",c=Bootstrap.Notification.create({message:a,type:b}),this.get("content").pushObject(c)}}),Bootstrap.Notification=Ember.Object.extend({classType:function(){return null!=this.type?"alert-"+this.type:null}.property("type").cacheable()})}).call(this); \ No newline at end of file diff --git a/dist/js/bs-popover.min.js b/dist/js/bs-popover.min.js index d56d925..927eec0 100644 --- a/dist/js/bs-popover.min.js +++ b/dist/js/bs-popover.min.js @@ -1 +1 @@ -!function(){var a,b,c;a='
{{#if title}}

{{title}}

{{/if}}
{{#if template}} {{partial partialTemplateName}}{{else}} {{#if content}} {{#if html}} {{{content}}} {{else}} {{content}} {{/if}} {{else}} {{yield}} {{/if}}{{/if}}
',Ember.TEMPLATES["components/bs-popover"]=Ember.Handlebars.compile(a),c='
{{#if html}} {{{content}}}{{else}} {{content}}{{/if}}
',Ember.TEMPLATES["components/bs-tooltip"]=Ember.Handlebars.compile(c),Bootstrap.BsPopoverComponent=Ember.Component.extend({layoutName:"components/bs-popover",classNames:"popover",classNameBindings:["fade","in","top","left","right","bottom"],top:function(){return"top"===this.get("realPlacement")}.property("realPlacement"),left:function(){return"left"===this.get("realPlacement")}.property("realPlacement"),right:function(){return"right"===this.get("realPlacement")}.property("realPlacement"),bottom:function(){return"bottom"===this.get("realPlacement")}.property("realPlacement"),titleBinding:"data.title",content:Ember.computed.alias("data.content"),html:!1,delay:0,animation:!0,fade:function(){return this.get("animation")}.property("animation"),"in":function(){return this.get("isVisible")}.property("isVisible"),placement:function(){return this.get("data.placement")||"top"}.property("data.placement"),$element:null,$tip:null,inserted:!1,styleUpdater:function(){var a,b,c,d,e;if(this.$tip&&this.get("isVisible"))return this.$tip.css({top:0,left:0,display:"block"}).addClass(this.get("realPlacement")),d=this.get("realPlacement"),e=this.getPosition(),b=this.$tip[0].offsetWidth,a=this.$tip[0].offsetHeight,c=this.getCalculatedOffset(d,e,b,a),this.$tip.css("top",c.top),this.$tip.css("left",c.left),this.firstTime?(this.firstTime=!1,this.styleUpdater(),this.firstTime=!0):void 0}.observes("content","realPlacement","inserted","isVisible"),init:function(){var a,b;return this._super(),this.set("html",this.get("data.html")||!1),this.set("template",void 0!==this.get("data.template")),this.get("template")?(a="components/bs-popover/_partial-content-"+this.get("tip_id"),b=this.get("data.template"),Ember.TEMPLATES[a]="function"==typeof b?b:Ember.Handlebars.compile(b),this.set("partialTemplateName",a)):void 0},didInsertElement:function(){var a,b=this;return this.$tip=this.$(),a=Bootstrap.TooltipBoxManager.attribute,a="["+a+"='"+this.get("tip_id")+"']",this.$element=$(a),this.set("inserted",!0),"hover"===this.get("data.trigger")&&this.get("data.sticky")&&this.$().on("mouseenter",function(){return clearTimeout(Bootstrap.TooltipBoxManager.timeout)}),this.$().on("mouseleave",function(){return Bootstrap.TooltipBoxManager.removeTip(b.get("tip_id"))}),this.$().find("img").load(function(){return b.afterRender()})},afterRender:function(){return this.notifyPropertyChange("content")},realPlacement:function(){var a,b,c,d,e,f,g,h,i,j,k,l;return this.$tip?(k=this.get("placement")||"",e=/\s?auto?\s?/i,d=e.test(k),d&&(k=k.replace(e,"")||"top"),l=this.getPosition(),c=this.$tip[0].offsetWidth,b=this.$tip[0].offsetHeight,d&&(a=this.$element.parent(),g=k,f=document.documentElement.scrollTop||document.body.scrollTop,j=window.innerWidth,h=window.innerHeight,i=0,k="bottom"===k&&l.top+l.height+b-f>h?"top":"top"===k&&l.top-f-b<0?"bottom":"right"===k&&l.right+c>j?"left":"left"===k&&l.left-c
{{#if html}} {{{content}}}{{else}} {{content}}{{/if}}
',Ember.TEMPLATES["components/bs-tooltip"]=Ember.Handlebars.compile(c),Bootstrap.BsPopoverComponent=Ember.Component.extend({layoutName:"components/bs-popover",classNames:"popover",classNameBindings:["fade","in","top","left","right","bottom"],top:function(){return"top"===this.get("realPlacement")}.property("realPlacement"),left:function(){return"left"===this.get("realPlacement")}.property("realPlacement"),right:function(){return"right"===this.get("realPlacement")}.property("realPlacement"),bottom:function(){return"bottom"===this.get("realPlacement")}.property("realPlacement"),titleBinding:"data.title",content:Ember.computed.alias("data.content"),html:!1,delay:0,animation:!0,fade:function(){return this.get("animation")}.property("animation"),"in":function(){return this.get("isVisible")}.property("isVisible"),placement:function(){return this.get("data.placement")||"top"}.property("data.placement"),$element:null,$tip:null,inserted:!1,styleUpdater:function(){var a,b,c,d,e;if(this.$tip&&this.get("isVisible"))return this.$tip.css({top:0,left:0,display:"block"}).addClass(this.get("realPlacement")),d=this.get("realPlacement"),e=this.getPosition(),b=this.$tip[0].offsetWidth,a=this.$tip[0].offsetHeight,c=this.getCalculatedOffset(d,e,b,a),this.$tip.css("top",c.top),this.$tip.css("left",c.left),this.firstTime?(this.firstTime=!1,this.styleUpdater(),this.firstTime=!0):void 0}.observes("content","realPlacement","inserted","isVisible"),init:function(){var a,b;return this._super(),this.set("html",this.get("data.html")||!1),this.set("template",void 0!==this.get("data.template")),this.get("template")?(a="components/bs-popover/_partial-content-"+this.get("tip_id"),b=this.get("data.template"),Ember.TEMPLATES[a]="function"==typeof b?b:Ember.Handlebars.compile(b),this.set("partialTemplateName",a)):void 0},didInsertElement:function(){var a,b=this;return this.$tip=this.$(),a=Bootstrap.TooltipBoxManager.attribute,a="["+a+"='"+this.get("tip_id")+"']",this.$element=$(a),this.set("inserted",!0),"hover"===this.get("data.trigger")&&this.get("data.sticky")&&this.$().on("mouseenter",function(){return clearTimeout(Bootstrap.TooltipBoxManager.timeout)}),this.$().on("mouseleave",function(){return Bootstrap.TooltipBoxManager.removeTip(b.get("tip_id"))}),this.$().find("img").load(function(){return b.afterRender()})},afterRender:function(){return this.notifyPropertyChange("content")},realPlacement:function(){var a,b,c,d,e,f,g,h,i,j,k,l;return this.$tip?(k=this.get("placement")||"",e=/\s?auto?\s?/i,d=e.test(k),d&&(k=k.replace(e,"")||"top"),l=this.getPosition(),c=this.$tip[0].offsetWidth,b=this.$tip[0].offsetHeight,d&&(a=this.$element.parent(),g=k,f=document.documentElement.scrollTop||document.body.scrollTop,j=window.innerWidth,h=window.innerHeight,i=0,k="bottom"===k&&l.top+l.height+b-f>h?"top":"top"===k&&l.top-f-b<0?"bottom":"right"===k&&l.right+c>j?"left":"left"===k&&l.left-c= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var h,i,j,k=c.helperMissing,l=this.escapeExpression,m=this;i={},j={},h=c["if"].call(b,"default",{hash:{},inverse:m.program(3,g,e),fn:m.program(1,f,e),contexts:[b],types:["ID"],hashContexts:j,hashTypes:i,data:e}),h||0===h?e.buffer.push(h):e.buffer.push("")}),this.Ember.TEMPLATES["components/bs-progressbar"]=Ember.Handlebars.template(function(a,b,c,d,e){this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var f,g,h="",i=this.escapeExpression;return e.buffer.push(''),f={},g={},e.buffer.push(i(c._triageMustache.call(b,"progress",{hash:{},contexts:[b],types:["ID"],hashContexts:g,hashTypes:f,data:e}))),e.buffer.push("% Complete"),h}); \ No newline at end of file +(function(){Bootstrap.BsProgressComponent=Ember.Component.extend({layoutName:"components/bs-progress",classNames:["progress"],classNameBindings:["animated:active","stripped:progress-striped"],progress:null,stripped:!1,animated:!1,"default":function(){return this.progress}.property("progress")}),Ember.Handlebars.helper("bs-progress",Bootstrap.BsProgressComponent)}).call(this),function(){Bootstrap.BsProgressbarComponent=Ember.Component.extend(Bootstrap.TypeSupport,{layoutName:"components/bs-progressbar",classNames:["progress-bar"],attributeBindings:["style","role","aria-valuemin","ariaValueNow:aria-valuenow","aria-valuemax"],classTypePrefix:"progress-bar",role:"progressbar","aria-valuemin":0,"aria-valuemax":100,init:function(){return this._super()},style:function(){return"width:"+this.progress+"%;"}.property("progress").cacheable(),ariaValueNow:function(){return this.progress}.property("progress").cacheable()}),Ember.Handlebars.helper("bs-progressbar",Bootstrap.BsProgressbarComponent)}.call(this),this.Ember=this.Ember||{},this.Ember.TEMPLATES=this.Ember.TEMPLATES||{},this.Ember.TEMPLATES["components/bs-progress"]=Ember.Handlebars.template(function(a,b,c,d,e){function f(a,b){var d,e,f,g,h="";return b.buffer.push("\r\n "),e={progress:a,type:a},f={progress:"ID",type:"ID"},g={hash:{progress:"progress",type:"type"},contexts:[],types:[],hashContexts:e,hashTypes:f,data:b},b.buffer.push(l((d=c["bs-progressbar"]||a["bs-progressbar"],d?d.call(a,g):k.call(a,"bs-progressbar",g)))),b.buffer.push("\r\n"),h}function g(a,b){var d,e,f="";return b.buffer.push("\r\n "),d={},e={},b.buffer.push(l(c._triageMustache.call(a,"yield",{hash:{},contexts:[a],types:["ID"],hashContexts:e,hashTypes:d,data:b}))),b.buffer.push("\r\n"),f}this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var h,i,j,k=c.helperMissing,l=this.escapeExpression,m=this;i={},j={},h=c["if"].call(b,"default",{hash:{},inverse:m.program(3,g,e),fn:m.program(1,f,e),contexts:[b],types:["ID"],hashContexts:j,hashTypes:i,data:e}),e.buffer.push(h||0===h?h:"")}),this.Ember.TEMPLATES["components/bs-progressbar"]=Ember.Handlebars.template(function(a,b,c,d,e){this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var f,g,h="",i=this.escapeExpression;return e.buffer.push(''),f={},g={},e.buffer.push(i(c._triageMustache.call(b,"progress",{hash:{},contexts:[b],types:["ID"],hashContexts:g,hashTypes:f,data:e}))),e.buffer.push("% Complete"),h}); \ No newline at end of file diff --git a/dist/js/bs-wizard.min.js b/dist/js/bs-wizard.min.js index d14abbe..40486d5 100644 --- a/dist/js/bs-wizard.min.js +++ b/dist/js/bs-wizard.min.js @@ -1 +1 @@ -!function(){Bootstrap.BsWizardStep=Bootstrap.ItemView.extend(Bootstrap.ItemSelection,Bootstrap.NavItem,{classNames:["wizard-step"],classNameBindings:["completed"],completed:!1,template:Ember.Handlebars.compile(["{{view view.stepAsLink}}"].join("\n")),stepAsLink:Ember.View.extend({tagName:"a",template:Ember.Handlebars.compile("{{view.parentView.title}}"),attributeBindings:["href"],href:"#"})}),Bootstrap.BsWizardSteps=Bootstrap.ItemsView.extend(Bootstrap.Nav,{navType:"pills",classNames:["wizard-steps"],itemViewClass:Bootstrap.BsWizardStep,currentItemIdx:function(){var a,b,c,d,e,f,g;for(b=this.get("selected"),a=0,g=this._childViews,e=0,f=g.length;f>e;e++){if(d=g[e],d.get("content")===b){c=d;break}a++}return c?a:null}.property("selected")}),Bootstrap.BsWizardStepPane=Bootstrap.ItemPaneView.extend(),Bootstrap.BsWizardStepsPanes=Bootstrap.ItemsPanesView.extend({classNames:["wizard-panes"],itemViewClass:Bootstrap.BsWizardStepPane}),Bootstrap.BsWizardComponent=Ember.ContainerView.extend(Ember.TargetActionSupport,{classNames:["wizard"],childViews:["steps","panes","controls"],prevAllowed:!0,items:function(){var a;return null!=(a=this._childViews)?a[0]:void 0}.property("content"),panes:function(){return this._childViews[1]}.property("content"),steps:Bootstrap.BsWizardSteps.extend({contentBinding:"parentView.content",selectedBinding:"parentView.selected"}),panes:Bootstrap.BsWizardStepsPanes.extend({contentBinding:"parentView.content"}),controls:Ember.ContainerView.extend({childViews:["prev","next","finish"],prev:Bootstrap.BsButtonComponent.extend({layoutName:"components/bs-button",title:"Prev",size:"xs","data-rel":"PREV",isVisible:function(){return this.get("parentView").get("parentView").get("hasPrev")}.property("parentView.parentView.items.selected")}),next:Bootstrap.BsButtonComponent.extend({layoutName:"components/bs-button",title:"Next",size:"xs","data-rel":"NEXT",isVisible:function(){return this.get("parentView").get("parentView").get("hasNext")}.property("parentView.parentView.items.selected")}),finish:Bootstrap.BsButtonComponent.extend({layoutName:"components/bs-button",title:"Finish",size:"xs","data-rel":"FINISH",isVisible:function(){return this.get("parentView").get("parentView").get("isLast")}.property("parentView.parentView.items.selected")})}),currentStepIdx:function(){return this.get("items").get("currentItemIdx")}.property("items.selected"),willInsertElement:function(){return this.get("panes").set("items-id",this.get("items").get("elementId")),this.get("items").set("default",this.get("items")._childViews[0].get("content").get("title"))},click:function(a){var b;return b=a.target.getAttribute("data-rel"),"PREV"===b&&this.prev(),"NEXT"===b&&this.next(),"FINISH"===b?this.close():void 0},next:function(){var a;return this.get("hasNext")?(this.stepCompleted(this.get("currentStepIdx")),a=this.get("currentStepIdx")+1,this.move(a),this.triggerAction({action:"onNext",actionContext:this.get("targetObject")})):void 0},prev:function(){var a;return this.get("hasPrev")?(a=this.get("currentStepIdx")-1,this.stepCompleted(a,!1),this.move(a),this.triggerAction({action:"onPrev",actionContext:this.get("targetObject")})):void 0},move:function(a){var b,c;return null!=(b=this._childViews[0])?b.set("selected",null!=(c=this._childViews[0]._childViews[a])?c.get("content"):void 0):void 0},hasNext:function(){return this.get("items")._childViews.length>this.get("currentStepIdx")+1}.property("currentStepIdx"),hasPrev:function(){return this.get("currentStepIdx")>0,this.get("currentStepIdx")>0&&this.get("prevAllowed")}.property("currentStepIdx"),isLast:function(){return this.get("items")._childViews.length===this.get("currentStepIdx")+1}.property("currentStepIdx"),close:function(){return this.triggerAction({action:"onFinish",actionContext:this.get("targetObject")}),this.destroy()},stepCompleted:function(a,b){return null==b&&(b=!0),this._childViews[0]._childViews[a].set("completed",b)}}),Bootstrap.BsWizardComponent=Bootstrap.BsWizardComponent.reopenClass({build:function(a){var b;return a||(a={}),a.manual=!0,b=this.create(a),b.append()}}),Ember.Handlebars.helper("bs-wizard",Bootstrap.BsWizardComponent)}.call(this); \ No newline at end of file +(function(){Bootstrap.BsWizardStep=Bootstrap.ItemView.extend(Bootstrap.ItemSelection,Bootstrap.NavItem,{classNames:["wizard-step"],classNameBindings:["completed"],completed:!1,template:Ember.Handlebars.compile(["{{view view.stepAsLink}}"].join("\n")),stepAsLink:Ember.View.extend({tagName:"a",template:Ember.Handlebars.compile("{{view.parentView.title}}"),attributeBindings:["href"],href:"#"})}),Bootstrap.BsWizardSteps=Bootstrap.ItemsView.extend(Bootstrap.Nav,{navType:"pills",classNames:["wizard-steps"],itemViewClass:Bootstrap.BsWizardStep,currentItemIdx:function(){var a,b,c,d,e,f,g;for(b=this.get("selected"),a=0,g=this._childViews,e=0,f=g.length;f>e;e++){if(d=g[e],d.get("content")===b){c=d;break}a++}return c?a:null}.property("selected")}),Bootstrap.BsWizardStepPane=Bootstrap.ItemPaneView.extend(),Bootstrap.BsWizardStepsPanes=Bootstrap.ItemsPanesView.extend({classNames:["wizard-panes"],itemViewClass:Bootstrap.BsWizardStepPane}),Bootstrap.BsWizardComponent=Ember.ContainerView.extend(Ember.TargetActionSupport,{classNames:["wizard"],childViews:["steps","panes","controls"],prevAllowed:!0,items:function(){var a;return null!=(a=this._childViews)?a[0]:void 0}.property("content"),panes:function(){return this._childViews[1]}.property("content"),steps:Bootstrap.BsWizardSteps.extend({contentBinding:"parentView.content",selectedBinding:"parentView.selected"}),panes:Bootstrap.BsWizardStepsPanes.extend({contentBinding:"parentView.content"}),controls:Ember.ContainerView.extend({childViews:["prev","next","finish"],prev:Bootstrap.BsButtonComponent.extend({layoutName:"components/bs-button",title:"Prev",size:"xs","data-rel":"PREV",isVisible:function(){return this.get("parentView").get("parentView").get("hasPrev")}.property("parentView.parentView.items.selected")}),next:Bootstrap.BsButtonComponent.extend({layoutName:"components/bs-button",title:"Next",size:"xs","data-rel":"NEXT",isVisible:function(){return this.get("parentView").get("parentView").get("hasNext")}.property("parentView.parentView.items.selected")}),finish:Bootstrap.BsButtonComponent.extend({layoutName:"components/bs-button",title:"Finish",size:"xs","data-rel":"FINISH",isVisible:function(){return this.get("parentView").get("parentView").get("isLast")}.property("parentView.parentView.items.selected")})}),currentStepIdx:function(){return this.get("items").get("currentItemIdx")}.property("items.selected"),willInsertElement:function(){return this.get("panes").set("items-id",this.get("items").get("elementId")),this.get("items").set("default",this.get("items")._childViews[0].get("content").get("title"))},click:function(a){var b;return b=a.target.getAttribute("data-rel"),"PREV"===b&&this.prev(),"NEXT"===b&&this.next(),"FINISH"===b?this.close():void 0},next:function(){var a;return this.get("hasNext")?(this.stepCompleted(this.get("currentStepIdx")),a=this.get("currentStepIdx")+1,this.move(a),this.triggerAction({action:"onNext",actionContext:this.get("targetObject")})):void 0},prev:function(){var a;return this.get("hasPrev")?(a=this.get("currentStepIdx")-1,this.stepCompleted(a,!1),this.move(a),this.triggerAction({action:"onPrev",actionContext:this.get("targetObject")})):void 0},move:function(a){var b,c;return null!=(b=this._childViews[0])?b.set("selected",null!=(c=this._childViews[0]._childViews[a])?c.get("content"):void 0):void 0},hasNext:function(){return this.get("items")._childViews.length>this.get("currentStepIdx")+1}.property("currentStepIdx"),hasPrev:function(){return this.get("currentStepIdx")>0,this.get("currentStepIdx")>0&&this.get("prevAllowed")}.property("currentStepIdx"),isLast:function(){return this.get("items")._childViews.length===this.get("currentStepIdx")+1}.property("currentStepIdx"),close:function(){return this.triggerAction({action:"onFinish",actionContext:this.get("targetObject")}),this.destroy()},stepCompleted:function(a,b){return null==b&&(b=!0),this._childViews[0]._childViews[a].set("completed",b)}}),Bootstrap.BsWizardComponent=Bootstrap.BsWizardComponent.reopenClass({build:function(a){var b;return a||(a={}),a.manual=!0,b=this.create(a),b.append()}}),Ember.Handlebars.helper("bs-wizard",Bootstrap.BsWizardComponent)}).call(this); \ No newline at end of file diff --git a/dist/showcase/scripts/showcase-components.js b/dist/showcase/scripts/showcase-components.js new file mode 100644 index 0000000..e69de29 diff --git a/dist/showcase/scripts/showcase.js b/dist/showcase/scripts/showcase.js new file mode 100644 index 0000000..8ec2add --- /dev/null +++ b/dist/showcase/scripts/showcase.js @@ -0,0 +1,5 @@ +this.Ember=this.Ember||{},this.Ember.TEMPLATES=this.Ember.TEMPLATES||{},this.Ember.TEMPLATES.ads=Ember.Handlebars.template(function(a,b,c,d,e){this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{},e.buffer.push("

Bootstrap for Ember

")}),this.Ember.TEMPLATES.application=Ember.Handlebars.template(function(a,b,c,d,e){this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var f,g,h,i,j="",k=c.helperMissing,l=this.escapeExpression;return e.buffer.push('\r\n\r\n \r\n '),g={},h={},i={hash:{},contexts:[b],types:["ID"],hashContexts:h,hashTypes:g,data:e},e.buffer.push(l((f=c.outlet||b.outlet,f?f.call(b,"bs-tooltip-box",i):k.call(b,"outlet","bs-tooltip-box",i)))),e.buffer.push("\r\n \r\n "),g={},h={},i={hash:{},contexts:[b],types:["STRING"],hashContexts:h,hashTypes:g,data:e},e.buffer.push(l((f=c.partial||b.partial,f?f.call(b,"header",i):k.call(b,"partial","header",i)))),e.buffer.push('\r\n \r\n \r\n \r\n Skip navigation\r\n \r\n '),g={},h={},i={hash:{},contexts:[b],types:["STRING"],hashContexts:h,hashTypes:g,data:e},e.buffer.push(l((f=c.partial||b.partial,f?f.call(b,"nav-main",i):k.call(b,"partial","nav-main",i)))),e.buffer.push("\r\n "),h={style:b},g={style:"STRING"},i={hash:{style:"z-index: 9999; position: fixed; width: 50%; left: 0; right: 0; margin-left: auto; margin-right: auto; margin-top: 50px;"},contexts:[],types:[],hashContexts:h,hashTypes:g,data:e},e.buffer.push(l((f=c["bs-notifications"]||b["bs-notifications"],f?f.call(b,i):k.call(b,"bs-notifications",i)))),e.buffer.push("\r\n "),g={},h={},e.buffer.push(l(c._triageMustache.call(b,"bs-growl-notifications",{hash:{},contexts:[b],types:["ID"],hashContexts:h,hashTypes:g,data:e}))),e.buffer.push('\r\n \r\n
\r\n
\r\n

'),g={},h={},e.buffer.push(l(c._triageMustache.call(b,"page.lead",{hash:{},contexts:[b],types:["ID"],hashContexts:h,hashTypes:g,data:e}))),e.buffer.push("

\r\n "),g={},h={},i={hash:{},contexts:[b],types:["STRING"],hashContexts:h,hashTypes:g,data:e},e.buffer.push(l((f=c.partial||b.partial,f?f.call(b,"ads",i):k.call(b,"partial","ads",i)))),e.buffer.push('\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n '),g={},h={},e.buffer.push(l(c._triageMustache.call(b,"bs-breadcrumbs",{hash:{},contexts:[b],types:["ID"],hashContexts:h,hashTypes:g,data:e}))),e.buffer.push("\r\n "),g={},h={},e.buffer.push(l(c._triageMustache.call(b,"outlet",{hash:{},contexts:[b],types:["ID"],hashContexts:h,hashTypes:g,data:e}))),e.buffer.push('\r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n '),g={},h={},i={hash:{},contexts:[b],types:["ID"],hashContexts:h,hashTypes:g,data:e},e.buffer.push(l((f=c.partial||b.partial,f?f.call(b,"social-buttons",i):k.call(b,"partial","social-buttons",i)))),e.buffer.push("\r\n
\r\n
\r\n\r\n \r\n "),g={},h={},i={hash:{},contexts:[b],types:["ID"],hashContexts:h,hashTypes:g,data:e},e.buffer.push(l((f=c.partial||b.partial,f?f.call(b,"footer",i):k.call(b,"partial","footer",i)))),e.buffer.push("\r\n \r\n\r\n"),j}),this.Ember.TEMPLATES["demo-template"]=Ember.Handlebars.template(function(a,b,c,d,e){function f(a,b){var d,e,f="";return b.buffer.push("\r\n"),d={},e={},b.buffer.push(m(c._triageMustache.call(a,"message",{hash:{},contexts:[a],types:["ID"],hashContexts:e,hashTypes:d,data:b}))),b.buffer.push("\r\n"),f}this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var g,h,i,j,k,l="",m=this.escapeExpression,n=c.helperMissing,o=this,p="function",q=c.blockHelperMissing;return i={title:b,sub:b},j={title:"STRING",sub:"STRING"},k={hash:{title:"Hello",sub:"Hello world."},contexts:[],types:[],hashContexts:i,hashTypes:j,data:e},e.buffer.push(m((g=c["bs-page-header"]||b["bs-page-header"],g?g.call(b,k):n.call(b,"bs-page-header",k)))),e.buffer.push("\r\n"),k={hash:{},inverse:o.noop,fn:o.program(1,f,e),contexts:[],types:[],hashContexts:i,hashTypes:j,data:e},(h=c["bs-well"])?h=h.call(b,k):(h=b["bs-well"],h=typeof h===p?h.apply(b):h),j={},i={},c["bs-well"]||(h=q.call(b,h,k)),(h||0===h)&&e.buffer.push(h),l}),this.Ember.TEMPLATES.footer=Ember.Handlebars.template(function(a,b,c,d,e){this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var f="";return f}),this.Ember.TEMPLATES.header=Ember.Handlebars.template(function(a,b,c,d,e){this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var f="";return f}),this.Ember.TEMPLATES.index=Ember.Handlebars.template(function(a,b,c,d,e){this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{},e.buffer.push('
\r\n ')}),this.Ember.TEMPLATES.leftnav=Ember.Handlebars.template(function(a,b,c,d,e){function f(a,b){var d,e,f,h,i,j="";return b.buffer.push("\r\n
  • \r\n "),f={},h={},i={hash:{},inverse:o.noop,fn:o.program(2,g,b),contexts:[a],types:["ID"],hashContexts:h,hashTypes:f,data:b},d=c["link-to"]||a["link-to"],e=d?d.call(a,"item.route",i):m.call(a,"link-to","item.route",i),(e||0===e)&&b.buffer.push(e),b.buffer.push("\r\n
  • \r\n"),j}function g(a,b){var d,e,f,g="";return b.buffer.push("\r\n "),e={},f={},b.buffer.push(n(c._triageMustache.call(a,"item.title",{hash:{},contexts:[a],types:["ID"],hashContexts:f,hashTypes:e,data:b}))),b.buffer.push("\r\n "),e={},f={},d=c["if"].call(a,"item.special",{hash:{},inverse:o.noop,fn:o.program(3,h,b),contexts:[a],types:["ID"],hashContexts:f,hashTypes:e,data:b}),(d||0===d)&&b.buffer.push(d),b.buffer.push("\r\n "),e={},f={},d=c["if"].call(a,"item.new",{hash:{},inverse:o.noop,fn:o.program(5,i,b),contexts:[a],types:["ID"],hashContexts:f,hashTypes:e,data:b}),(d||0===d)&&b.buffer.push(d),b.buffer.push("\r\n "),g}function h(a,b){var d,e,f,g,h="";return b.buffer.push("\r\n "),e={content:a,type:a},f={content:"STRING",type:"STRING"},g={hash:{content:"Special",type:"danger"},contexts:[],types:[],hashContexts:e,hashTypes:f,data:b},b.buffer.push(n((d=c["bs-label"]||a["bs-label"],d?d.call(a,g):m.call(a,"bs-label",g)))),b.buffer.push("\r\n "),h}function i(a,b){var d,e,f,g,h="";return b.buffer.push("\r\n "),e={content:a,type:a},f={content:"STRING",type:"STRING"},g={hash:{content:"New",type:"info"},contexts:[],types:[],hashContexts:e,hashTypes:f,data:b},b.buffer.push(n((d=c["bs-label"]||a["bs-label"],d?d.call(a,g):m.call(a,"bs-label",g)))),b.buffer.push("\r\n "),h}this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var j,k,l,m=c.helperMissing,n=this.escapeExpression,o=this;k={},l={},j=c.each.call(b,"item","in","controller",{hash:{},inverse:o.noop,fn:o.program(1,f,e),contexts:[b,b,b],types:["ID","ID","ID"],hashContexts:l,hashTypes:k,data:e}),e.buffer.push(j||0===j?j:"")}),this.Ember.TEMPLATES["nav-main"]=Ember.Handlebars.template(function(a,b,c,d,e){function f(a,b){b.buffer.push("Bootstrap for Ember")}function g(a,b){b.buffer.push("Home")}function h(a,b){b.buffer.push("Components")}this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var i,j,k,l,m,n="",o=this,p=c.helperMissing;return e.buffer.push('\r\n"),n}),this.Ember.TEMPLATES["show_components/alert"]=Ember.Handlebars.template(function(a,b,c,d,e){function f(a,b){var d,e,f="";return b.buffer.push('\n

    Oh snap! You got an error!

    \n

    Alert can also be used in a block form.

    \n

    \n Or do this\n

    \n '),f}this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var g,h,i,j,k,l="",m=this.escapeExpression,n=c.helperMissing,o=this;return e.buffer.push('

    Alert

    \n

    Usage Examples

    \n
    \n '),i={message:b,type:b},j={message:"STRING",type:"STRING"},k={hash:{message:"A warning alert with simple message.",type:"warning"},contexts:[],types:[],hashContexts:i,hashTypes:j,data:e},e.buffer.push(m((g=c["bs-alert"]||b["bs-alert"],g?g.call(b,k):n.call(b,"bs-alert",k)))),e.buffer.push('\n
    \n\n
    {{bs-alert message="A warning alert with simple message." type="warning"}}
    \n
    \n '),i={message:b,type:b,dismiss:b},j={message:"STRING",type:"STRING",dismiss:"BOOLEAN"},k={hash:{message:"With close button",type:"warning",dismiss:!0},contexts:[],types:[],hashContexts:i,hashTypes:j,data:e},e.buffer.push(m((g=c["bs-alert"]||b["bs-alert"],g?g.call(b,k):n.call(b,"bs-alert",k)))),e.buffer.push('\n
    \n\n
    {{bs-alert message="With close button" type="warning" dismiss=true}}
    \n
    \n '),i={message:b,type:b,dismiss:b,fade:b},j={message:"STRING",type:"STRING",dismiss:"BOOLEAN",fade:"BOOLEAN"},k={hash:{message:"Close button will fade",type:"warning",dismiss:!0,fade:!0},contexts:[],types:[],hashContexts:i,hashTypes:j,data:e},e.buffer.push(m((g=c["bs-alert"]||b["bs-alert"],g?g.call(b,k):n.call(b,"bs-alert",k)))),e.buffer.push('\n
    \n\n
        {{bs-alert message="Close button will fade" type="warning" dismiss=true fade=true}}
    \n
    \n '),i={message:b,type:b,fade:b,dismissAfter:b},j={message:"STRING",type:"STRING",fade:"BOOLEAN",dismissAfter:"INTEGER"},k={hash:{message:"Dismissed after 5 seconds!!",type:"info",fade:!0,dismissAfter:5},contexts:[],types:[],hashContexts:i,hashTypes:j,data:e},e.buffer.push(m((g=c["bs-alert"]||b["bs-alert"],g?g.call(b,k):n.call(b,"bs-alert",k)))),e.buffer.push('\n
    \n\n
        {{bs-alert message="Dismissed after 5 seconds" type="info" dismissAfter=5}}
    \n
    \n '),i={message:b,type:b},j={message:"STRING",type:"STRING"},k={hash:{message:"Other types such as Sucess",type:"success"},contexts:[],types:[],hashContexts:i,hashTypes:j,data:e},e.buffer.push(m((g=c["bs-alert"]||b["bs-alert"],g?g.call(b,k):n.call(b,"bs-alert",k)))),e.buffer.push('\n
    \n\n
        {{bs-alert message="Other types such as Sucess" type="success"}}
    \n
    \n '),i={type:b},j={type:"STRING"},k={hash:{type:"danger"},inverse:o.noop,fn:o.program(1,f,e),contexts:[],types:[],hashContexts:i,hashTypes:j,data:e},g=c["bs-alert"]||b["bs-alert"],h=g?g.call(b,k):n.call(b,"bs-alert",k),(h||0===h)&&e.buffer.push(h),e.buffer.push('\n
    \n\n
    {{#bs-alert type="danger"}}\n<h4 class="alert-heading">Oh snap! You got an error!</h4>\n<p>Alert can also be used in a <strong>block form</strong>.</p>\n<p>\n<button class="btn btn-danger" {{action "submit"}}>Take this action</button> <a class="btn btn-default">Or do this</a>\n</p>\n{{/bs-alert}}
    \n
    \n '),i={message:b,type:b,dismiss:b,closed:b,close:b},j={message:"STRING",type:"STRING",dismiss:"BOOLEAN",closed:"STRING",close:"STRING"},k={hash:{message:"Close will trigger a function in controller",type:"warning",dismiss:!0,closed:"didAlertClosed",close:"didAlertClose"},contexts:[],types:[],hashContexts:i,hashTypes:j,data:e},e.buffer.push(m((g=c["bs-alert"]||b["bs-alert"],g?g.call(b,k):n.call(b,"bs-alert",k)))),e.buffer.push('\n
    \n\n
        {{bs-alert message="Close will trigger a function in controller" type="warning" dismiss=true closed="didAlertClosed" close="didAlertClose"}}
    \n

    Component Properties

    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    PropertyDescription
    messageThe string to display in the alert.
    typeAlert types: success | info | warning | danger
    dismissif true an X link is set to dismiss the alert.
    dismissAfterIf set the alert will be automatically dismissed after the specified amount of seconds
    fadeIf true, the dialog will be faded out when closed.
    closeTriggers the specified function name on the controller immediately when the close instance method is called.
    closedTriggers the specified function name on the controller when the alert has been closed (will wait for CSS transitions to complete).
    \n
    \n\n'),l}),this.Ember.TEMPLATES["show_components/badge"]=Ember.Handlebars.template(function(a,b,c,d,e){this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var f,g,h,i,j="",k=c.helperMissing,l=this.escapeExpression;return e.buffer.push('

    Badge

    \n\n\n
    <a href="#"> Inbox{{bs-badge content="42"}} </a>
    \n

    Built-in styles

    \n

    Works well with built-in styles that are included for placing badges in active states in pill and list navigations.

    \n\n\n
    <ul class="nav nav-pills">\n    <li class="active"><a href="#">Home {{bs-badge content=42}}</a></li>\n    <li><a href="#">Profile</a></li>\n    <li><a href="#">Messages {{bs-badge content=3}}</a></li>\n</ul>\n<br>\n<ul class="nav nav-pills nav-stacked" style="max-width: 260px;">\n    <li class="active">\n        <a href="#">\n            {{bs-badge class="pull-right"content=42}}\n            Home\n        </a>\n    </li>\n    <li><a href="#">Profile</a></li>\n    <li>\n        <a href="#">\n            {{bs-badge class="pull-right"content=3}}\n            Messages\n        </a>\n    </li>\n</ul>
    \n

    Component Properties

    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    PropertyDescription
    contentstring: The content of the badge.
    \n
    \n'),j}),this.Ember.TEMPLATES["show_components/breadcrumbs"]=Ember.Handlebars.template(function(a,b,c,d,e){this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{},e.buffer.push('

    Breadcrumbs

    \n

    Indicate the current page's location within a navigational hierarchy.

    \n

    The breadcrumbs is magically constructed by interpreting the current router location,

    \n

    Move between components and look at the showcase's breadcrumbs on the top of the screen

    \n

    The only thing needed to setup breadcrumbs is add to one of your top templates (such application template):

    \n
    {{bs-breadcrumbs}}
    \n

    Breadcrumbs Names

    \n

    By default the name of the breadcrumbs is set to the route name,\nyou can change this behavior by specifying some meta info on the route:

    \n
    SomeRoute = Ember.Route.extend({\n    breadcrumbs: {name: 'Primary'}\n\n    ...\n})
    \n')}),this.Ember.TEMPLATES["show_components/button"]=Ember.Handlebars.template(function(a,b,c,d,e){function f(a,b){b.buffer.push("Content")}function g(a,b){b.buffer.push("Primary")}function h(a,b){b.buffer.push("Link")}function i(a,b){b.buffer.push("Default Large button")}function j(a,b){b.buffer.push("Block Button")}function k(a,b){b.buffer.push("Disabled Button")}function l(a,b){b.buffer.push("Button with Param")}this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var m,n,o,p,q,r="",s=this,t="function",u=c.blockHelperMissing,v=c.helperMissing,w=this.escapeExpression;return e.buffer.push('

    Button

    \n

    Types

    \n
    \n '),o={hash:{},inverse:s.noop,fn:s.program(1,f,e),contexts:[],types:[],hashContexts:q,hashTypes:p,data:e},(m=c["bs-button"])?m=m.call(b,o):(m=b["bs-button"],m=typeof m===t?m.apply(b):m),p={},q={},c["bs-button"]||(m=u.call(b,m,o)),(m||0===m)&&e.buffer.push(m),e.buffer.push("\n "),q={title:b},p={title:"STRING"},o={hash:{title:"Inline Text"},contexts:[],types:[],hashContexts:q,hashTypes:p,data:e},e.buffer.push(w((m=c["bs-button"]||b["bs-button"],m?m.call(b,o):v.call(b,"bs-button",o)))),e.buffer.push("\n "),q={type:b},p={type:"STRING"},o={hash:{type:"primary"},inverse:s.noop,fn:s.program(3,g,e),contexts:[],types:[],hashContexts:q,hashTypes:p,data:e},m=c["bs-button"]||b["bs-button"],n=m?m.call(b,o):v.call(b,"bs-button",o),(n||0===n)&&e.buffer.push(n),e.buffer.push("\n "),q={type:b},p={type:"STRING"},o={hash:{type:"link"},inverse:s.noop,fn:s.program(5,h,e),contexts:[],types:[],hashContexts:q,hashTypes:p,data:e},m=c["bs-button"]||b["bs-button"],n=m?m.call(b,o):v.call(b,"bs-button",o),(n||0===n)&&e.buffer.push(n),e.buffer.push('\n\n

    All other types such as info, warning, danger are supported.

    \n
    \n\n\n
    <!-- Standard gray default button with gradient -->\n{{#bs-button}}Content{{/bs-button}}\n\n<!--Inline text as button content-->\n{{bs-button title="Inline Text"}}\n\n<!-- Provides extra visual weight and identifies the primary action in a set of buttons -->\n{{#bs-button type="primary"}}Primary{{/bs-button}}\n\n<!-- Deemphasize a button by making it look like a link while maintaining button behavior -->\n{{#bs-button type="link"}}Link{{/bs-button}}
    \n

    Sizes

    \n

    In correspondence with bootstrap css class button sizes .btn-lg, .btn-sm, or .btn-xs, size can simply defined by the size property or use one of the size properties: small=true, large=true, xs=true

    \n
    \n

    \n '),q={type:b,size:b,title:b},p={type:"STRING",size:"STRING",title:"STRING"},o={hash:{type:"primary",size:"xs",title:"Primary Extra Small Button"},contexts:[],types:[],hashContexts:q,hashTypes:p,data:e},e.buffer.push(w((m=c["bs-button"]||b["bs-button"],m?m.call(b,o):v.call(b,"bs-button",o)))),e.buffer.push("\n "),q={type:b,small:b,title:b},p={type:"STRING",small:"BOOLEAN",title:"STRING"},o={hash:{type:"info",small:!0,title:"Info Small Button"},contexts:[],types:[],hashContexts:q,hashTypes:p,data:e},e.buffer.push(w((m=c["bs-button"]||b["bs-button"],m?m.call(b,o):v.call(b,"bs-button",o)))),e.buffer.push("\n "),q={type:b,title:b},p={type:"STRING",title:"STRING"},o={hash:{type:"danger",title:"Danger Default size button"},contexts:[],types:[],hashContexts:q,hashTypes:p,data:e},e.buffer.push(w((m=c["bs-button"]||b["bs-button"],m?m.call(b,o):v.call(b,"bs-button",o)))),e.buffer.push("\n "),q={size:b},p={size:"STRING"},o={hash:{size:"lg"},inverse:s.noop,fn:s.program(7,i,e),contexts:[],types:[],hashContexts:q,hashTypes:p,data:e},m=c["bs-button"]||b["bs-button"],n=m?m.call(b,o):v.call(b,"bs-button",o),(n||0===n)&&e.buffer.push(n),e.buffer.push('\n

    \n
    \n\n
    {{bs-button type="primary" size="xs" title="Primary Extra Small Button"}}\n{{bs-button type="info" small=true title="Info Small Button"}}\n{{bs-button type="danger" title="Danger Default size button"}}\n{{#bs-button size="lg"}}Default Large button{{/bs-button}}
    \n

    Icon

    \n
    \n

    \n '),q={icon:b,title:b},p={icon:"STRING",title:"STRING"},o={hash:{icon:"fa fa-check",title:"Button with Icon"},contexts:[],types:[],hashContexts:q,hashTypes:p,data:e},e.buffer.push(w((m=c["bs-button"]||b["bs-button"],m?m.call(b,o):v.call(b,"bs-button",o)))),e.buffer.push('\n

    \n

    \n\n

    Simply add an icon property to the button meta data, such:

    \n
    {{bs-button icon="fa fa-check" title="Danger Default size button"}}
    \n

    Will render an <i class="fa fa-check"></i> tag within the button tag.

    \n

    Block Level

    \n

    block level buttons—those that span the full width of a parent— by adding block=true

    \n
    \n '),q={type:b,xs:b,block:b},p={type:"STRING",xs:"BOOLEAN",block:"BOOLEAN"},o={hash:{type:"primary",xs:!0,block:!0},inverse:s.noop,fn:s.program(9,j,e),contexts:[],types:[],hashContexts:q,hashTypes:p,data:e},m=c["bs-button"]||b["bs-button"],n=m?m.call(b,o):v.call(b,"bs-button",o),(n||0===n)&&e.buffer.push(n),e.buffer.push('\n
    \n\n
    {{#bs-button type="primary" xs=true block=true}}Block Button{{/bs-button}}
    \n

    Disbled state

    \n

    As in Bootstrap, set disabled="disabled"/disabled=true to make the button unclickable.

    \n
    \n '),q={type:b,disabled:b},p={type:"STRING",disabled:"BOOLEAN"},o={hash:{type:"primary",disabled:!0},inverse:s.noop,fn:s.program(11,k,e),contexts:[],types:[],hashContexts:q,hashTypes:p,data:e},m=c["bs-button"]||b["bs-button"],n=m?m.call(b,o):v.call(b,"bs-button",o),(n||0===n)&&e.buffer.push(n),e.buffer.push('\n
    \n\n
    {{#bs-button type="primary" disabled=true}}Disabled Button{{/bs-button}}
    \n

    Disabled state can also be hooked to a controller property

    \n
    \n '),q={type:b,title:b,disabled:b,clicked:b},p={type:"STRING",title:"STRING",disabled:"ID",clicked:"STRING"},o={hash:{type:"primary",title:"Click to disable",disabled:"isButtonDisabled",clicked:"disableButton"},contexts:[],types:[],hashContexts:q,hashTypes:p,data:e},e.buffer.push(w((m=c["bs-button"]||b["bs-button"],m?m.call(b,o):v.call(b,"bs-button",o)))),e.buffer.push('\n
    \n\n
    {{bs-button type="primary" title="Click to disable" disabled=isButtonDisabled clicked="disableButton"}}
    \n
      \n
    • isButtonDisabled is a boolean property on the controller
    • \n
    • disableButton is a function on the controller that sets isButtonDisabled to false
    • \n
    \n

    Param

    \n

    It is possible to pass a parameter to the action in the controller that is bound to the click event by using the clickedParam property.

    \n
    \n '),q={type:b,clicked:b,clickedParamBinding:b},p={type:"STRING",clicked:"STRING",clickedParamBinding:"STRING"},o={hash:{type:"primary",clicked:"buttonWithParam",clickedParamBinding:"controller"},inverse:s.noop,fn:s.program(13,l,e),contexts:[],types:[],hashContexts:q,hashTypes:p,data:e},m=c["bs-button"]||b["bs-button"],n=m?m.call(b,o):v.call(b,"bs-button",o),(n||0===n)&&e.buffer.push(n),e.buffer.push('\n
    \n\n\n
    {{#bs-button type="primary" clicked="buttonWithParam" clickedParamBinding="controller"}}Button with Param{{/bs-button}}
    \n

    Action in controller:

    \n
    MyController = Ember.Controller.extend({\n    actions: {\n        buttonWithParam: function(expectedMyself) {\n            alert("Passed controller as a param: " + expectedMyself);\n        }\n    }\n)}
    \n

    State

    \n

    By Bootstrap:

    \n
    \n

    Add data-loading-text="Loading..." to use a loading state on a button.

    \n
    \n

    Then extra loading=loadingState is needed where loadingState is a property in the controller that returns a string which\ndefines the current state of the button:

    \n
      \n
    • If loadingState property equals loading then the button will be disabled and its text will change to the value of the data-loading-text button property.
    • \n
    • If its value is null then the button will be re-enabled and its text will be modified to the original value defined in the title button property.
    • \n
    \n
    \n '),q={type:b,"data-loading-text":b,loading:b,clicked:b,title:b,clicked:b},p={type:"STRING","data-loading-text":"STRING",loading:"ID",clicked:"STRING",title:"STRING",clicked:"STRING"},o={hash:{type:"primary","data-loading-text":"Loading...",loading:"loadingState",clicked:"disableButton",title:"Submit",clicked:"startLoading"},contexts:[],types:[],hashContexts:q,hashTypes:p,data:e},e.buffer.push(w((m=c["bs-button"]||b["bs-button"],m?m.call(b,o):v.call(b,"bs-button",o)))),e.buffer.push('\n
    \n\n\n
    {{bs-button type="primary" data-loading-text="Loading..." loading=loadingState title="Submit" clicked="startLoading"}}
    \n

    In controller:

    \n\n
    startLoading: function() {\n    var _this = this;\n    this.set('loadingState', 'loading');\n    return Ember.run.later(function() {\n      return _this.set('loadingState', null);\n    }, 2000);\n}
    \n

    The loading property may also return any string that matches one of the data-foo-text button property to render other text\nbut the original text of the button when the loading state completes.

    \n
    \n '),q={type:b,"data-loading-text":b,"data-completed-text":b,loading:b,title:b,clicked:b},p={type:"STRING","data-loading-text":"STRING","data-completed-text":"STRING",loading:"ID",title:"STRING",clicked:"STRING"},o={hash:{type:"primary","data-loading-text":"Loading...","data-completed-text":"Completed!",loading:"loadingState1",title:"Submit!",clicked:"startLoading1"},contexts:[],types:[],hashContexts:q,hashTypes:p,data:e},e.buffer.push(w((m=c["bs-button"]||b["bs-button"],m?m.call(b,o):v.call(b,"bs-button",o)))),e.buffer.push('\n
    \n\n
    startLoading1: function() {\n    var _this = this;\n    this.set('loadingState', 'loading');\n    return Ember.run.later(function() {\n      return _this.set('loadingState', 'completed');\n    }, 2000);\n}
    \n

    Pay attention that this time the loadingState is set to completed and not null.

    \n

    Component Properties

    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    PropertyDescription
    typeAlert types: success | info | warning | danger
    titleA string representing the text of the button (not required if component is used as a block component)
    clickedTriggers the specified function name on the controller immediately when the button is clicked.
    clickedParamA parameter to pass the action to be invoked immediately when the button is clicked
    sizeCan be: xs | sm | lg
    xsIf set to true it is equivalent to size=xs
    smallIf set to true it is equivalent to size=small
    largeIf set to true it is equivalent to size=large
    blockIf true the button is a block level and will span the full width of its parent
    disabledIf true the button will be disabled, can also be bound to a controller property
    loadingBound to a controller property that defines the state of the button.
    data-loading-textIf loading=foo and foo is a property in the controller and foo property returns loading, then the text of the button will be changed to the value of this property.
    data-xxx-textIf loading=foo and foo is a property in the controller and foo property returns xxx, then the text of the button will be changed to the value of this property.
    \n
    \n'),r +}),this.Ember.TEMPLATES["show_components/buttonGroup"]=Ember.Handlebars.template(function(a,b,c,d,e){function f(a,b){var d,e,f,g,h="";return b.buffer.push("\n "),e={contentBinding:a,selectedBinding:a},f={contentBinding:"STRING",selectedBinding:"STRING"},g={hash:{contentBinding:"options",selectedBinding:"selected"},contexts:[],types:[],hashContexts:e,hashTypes:f,data:b},b.buffer.push(s((d=c["bs-btn-group"]||a["bs-btn-group"],d?d.call(a,g):r.call(a,"bs-btn-group",g)))),b.buffer.push("\n "),e={contentBinding:a,selectedBinding:a},f={contentBinding:"STRING",selectedBinding:"STRING"},g={hash:{contentBinding:"options2",selectedBinding:"selected"},contexts:[],types:[],hashContexts:e,hashTypes:f,data:b},b.buffer.push(s((d=c["bs-btn-group"]||a["bs-btn-group"],d?d.call(a,g):r.call(a,"bs-btn-group",g)))),b.buffer.push("\n "),h}function g(a,b){var d,e,f,g,h="";return b.buffer.push("\n "),e={size:a,contentBinding:a,selectedBinding:a},f={size:"STRING",contentBinding:"STRING",selectedBinding:"STRING"},g={hash:{size:"lg",contentBinding:"options",selectedBinding:"selected"},contexts:[],types:[],hashContexts:e,hashTypes:f,data:b},b.buffer.push(s((d=c["bs-btn-group"]||a["bs-btn-group"],d?d.call(a,g):r.call(a,"bs-btn-group",g)))),b.buffer.push("\n "),h}function h(a,b){var d,e,f,g,h="";return b.buffer.push("\n "),e={contentBinding:a,selectedBinding:a},f={contentBinding:"STRING",selectedBinding:"STRING"},g={hash:{contentBinding:"options",selectedBinding:"selected"},contexts:[],types:[],hashContexts:e,hashTypes:f,data:b},b.buffer.push(s((d=c["bs-btn-group"]||a["bs-btn-group"],d?d.call(a,g):r.call(a,"bs-btn-group",g)))),b.buffer.push("\n "),h}function i(a,b){var d,e,f,g,h="";return b.buffer.push("\n "),e={small:a,contentBinding:a,selectedBinding:a},f={small:"BOOLEAN",contentBinding:"STRING",selectedBinding:"STRING"},g={hash:{small:!0,contentBinding:"options",selectedBinding:"selected"},contexts:[],types:[],hashContexts:e,hashTypes:f,data:b},b.buffer.push(s((d=c["bs-btn-group"]||a["bs-btn-group"],d?d.call(a,g):r.call(a,"bs-btn-group",g)))),b.buffer.push("\n "),h}function j(a,b){var d,e,f,g,h="";return b.buffer.push("\n "),e={size:a,contentBinding:a,selectedBinding:a},f={size:"STRING",contentBinding:"STRING",selectedBinding:"STRING"},g={hash:{size:"xs",contentBinding:"options",selectedBinding:"selected"},contexts:[],types:[],hashContexts:e,hashTypes:f,data:b},b.buffer.push(s((d=c["bs-btn-group"]||a["bs-btn-group"],d?d.call(a,g):r.call(a,"bs-btn-group",g)))),b.buffer.push("\n "),h}function k(a,b){var d,e,f,g,h="";return b.buffer.push("\n "),e={size:a,contentBinding:a,selectedBinding:a},f={size:"STRING",contentBinding:"STRING",selectedBinding:"STRING"},g={hash:{size:"lg",contentBinding:"optionsWithMeta",selectedBinding:"selected"},contexts:[],types:[],hashContexts:e,hashTypes:f,data:b},b.buffer.push(s((d=c["bs-btn-group"]||a["bs-btn-group"],d?d.call(a,g):r.call(a,"bs-btn-group",g)))),b.buffer.push("\n "),h}this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var l,m,n,o,p,q="",r=c.helperMissing,s=this.escapeExpression,t=this,u="function",v=c.blockHelperMissing;return e.buffer.push('

    Button Group

    \n

    To wrap a series of buttons, use the bs-btn-group component.

    \n

    Standard

    \n
    \n '),n={contentBinding:b,selectedBinding:b},o={contentBinding:"STRING",selectedBinding:"STRING"},p={hash:{contentBinding:"options",selectedBinding:"selected"},contexts:[],types:[],hashContexts:n,hashTypes:o,data:e},e.buffer.push(s((l=c["bs-btn-group"]||b["bs-btn-group"],l?l.call(b,p):r.call(b,"bs-btn-group",p)))),e.buffer.push("\n
    \n Controller say selected item is: "),o={},n={},e.buffer.push(s(c._triageMustache.call(b,"selected",{hash:{},contexts:[b],types:["ID"],hashContexts:n,hashTypes:o,data:e}))),e.buffer.push('\n
    \n\n

    content is an array of options, each option is rendered as a button tag.

    \n

    TODO: SHOW CODE

    \n

    Icons

    \n

    It is possible to set an icon for the selected button in a group or/and an icon for the in-active buttons by\nsetting the icon_active and/or icon_inactive properties to the icon class name.

    \n
    \n '),n={icon_inactive:b,icon_active:b,contentBinding:b,selectedBinding:b},o={icon_inactive:"STRING",icon_active:"STRING",contentBinding:"STRING",selectedBinding:"STRING"},p={hash:{icon_inactive:"fa fa-square-o",icon_active:"fa fa-check-square-o",contentBinding:"options",selectedBinding:"selected"},contexts:[],types:[],hashContexts:n,hashTypes:o,data:e},e.buffer.push(s((l=c["bs-btn-group"]||b["bs-btn-group"],l?l.call(b,p):r.call(b,"bs-btn-group",p)))),e.buffer.push("\n
    \n Controller say selected item is: "),o={},n={},e.buffer.push(s(c._triageMustache.call(b,"selected",{hash:{},contexts:[b],types:["ID"],hashContexts:n,hashTypes:o,data:e}))),e.buffer.push('\n
    \n\n
    <div class="bs-example">\n    {{bs-btn-group icon_inactive="fa fa-square-o" icon_active="fa fa-check-square-o" contentBinding="options" selectedBinding="selected"}}\n    <br/>\n    Controller say selected item is: {{selected}}\n</div>
    \n

    Button Toolbar

    \n

    Combine sets of bs-btn-groups into a bs-btn-toolbar for more complex components.

    \n
    \n '),p={hash:{},inverse:t.noop,fn:t.program(1,f,e),contexts:[],types:[],hashContexts:n,hashTypes:o,data:e},(m=c["bs-btn-toolbar"])?m=m.call(b,p):(m=b["bs-btn-toolbar"],m=typeof m===u?m.apply(b):m),o={},n={},c["bs-btn-toolbar"]||(m=v.call(b,m,p)),(m||0===m)&&e.buffer.push(m),e.buffer.push('\n
    \n\n

    Sizing

    \n

    You can set size in the group level instead of setting size per button.

    \n
    \n '),p={hash:{},inverse:t.noop,fn:t.program(3,g,e),contexts:[],types:[],hashContexts:n,hashTypes:o,data:e},(m=c["bs-btn-toolbar"])?m=m.call(b,p):(m=b["bs-btn-toolbar"],m=typeof m===u?m.apply(b):m),o={},n={},c["bs-btn-toolbar"]||(m=v.call(b,m,p)),(m||0===m)&&e.buffer.push(m),e.buffer.push("\n "),p={hash:{},inverse:t.noop,fn:t.program(5,h,e),contexts:[],types:[],hashContexts:n,hashTypes:o,data:e},(m=c["bs-btn-toolbar"])?m=m.call(b,p):(m=b["bs-btn-toolbar"],m=typeof m===u?m.apply(b):m),o={},n={},c["bs-btn-toolbar"]||(m=v.call(b,m,p)),(m||0===m)&&e.buffer.push(m),e.buffer.push("\n "),p={hash:{},inverse:t.noop,fn:t.program(7,i,e),contexts:[],types:[],hashContexts:n,hashTypes:o,data:e},(m=c["bs-btn-toolbar"])?m=m.call(b,p):(m=b["bs-btn-toolbar"],m=typeof m===u?m.apply(b):m),o={},n={},c["bs-btn-toolbar"]||(m=v.call(b,m,p)),(m||0===m)&&e.buffer.push(m),e.buffer.push("\n "),p={hash:{},inverse:t.noop,fn:t.program(9,j,e),contexts:[],types:[],hashContexts:n,hashTypes:o,data:e},(m=c["bs-btn-toolbar"])?m=m.call(b,p):(m=b["bs-btn-toolbar"],m=typeof m===u?m.apply(b):m),o={},n={},c["bs-btn-toolbar"]||(m=v.call(b,m,p)),(m||0===m)&&e.buffer.push(m),e.buffer.push('\n
    \n\n\n

    Vertical variation

    \n

    Make a set of buttons appear vertically stacked rather than horizontally by adding vertical=true.

    \n
    \n '),n={contentBinding:b,selectedBinding:b,vertical:b},o={contentBinding:"STRING",selectedBinding:"STRING",vertical:"BOOLEAN"},p={hash:{contentBinding:"options",selectedBinding:"selected",vertical:!0},contexts:[],types:[],hashContexts:n,hashTypes:o,data:e},e.buffer.push(s((l=c["bs-btn-group"]||b["bs-btn-group"],l?l.call(b,p):r.call(b,"bs-btn-group",p)))),e.buffer.push('\n
    \n\n

    Buttons with Metadata

    \n

    It is possible to provide extra metadata per button in the group.

    \n
    \n '),p={hash:{},inverse:t.noop,fn:t.program(11,k,e),contexts:[],types:[],hashContexts:n,hashTypes:o,data:e},(m=c["bs-btn-toolbar"])?m=m.call(b,p):(m=b["bs-btn-toolbar"],m=typeof m===u?m.apply(b):m),o={},n={},c["bs-btn-toolbar"]||(m=v.call(b,m,p)),(m||0===m)&&e.buffer.push(m),e.buffer.push('\n
    \n\n
    {{bs-btn-group size="lg" contentBinding="optionsWithMeta" selectedBinding="selected"}}
    \n

    Controller's code:

    \n
    \nShowcase.ShowComponentsButtonGroupController = Ember.Controller.extend({\n  optionsWithMeta: [\n    Ember.Object.create({title: 'Create', type: 'primary'}),\n    Ember.Object.create(({title: 'Destroy', type: 'danger'})\n  ]\n});
    \n'),q}),this.Ember.TEMPLATES["show_components/growl-notif"]=Ember.Handlebars.template(function(a,b,c,d,e){this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var f,g,h,i,j="",k=c.helperMissing,l=this.escapeExpression;return e.buffer.push('

    Growl like Notifications

    \n

    Growl Notifications is not a Bootstrap component but is mandatory for almost every web application.

    \n

    Growl Notifications are just like the Notification component but messages that are rendered as small boxes on the right top of the screen, they fade in for a short period of time with a title, sub text and icon and then fade out.

    \n

    To use growl notifications, put somewhere in your application template the bs-growl-notifications component.

    \n
    {{bs-growl-notifications}}
    \n

    Then use the GrowlNotificationManager / GNM to push new notifications with a message and type.

    \n
    \n '),g={clicked:b,title:b},h={clicked:"STRING",title:"STRING"},i={hash:{clicked:"pushInfo",title:"Push Info"},contexts:[],types:[],hashContexts:g,hashTypes:h,data:e},e.buffer.push(l((f=c["bs-button"]||b["bs-button"],f?f.call(b,i):k.call(b,"bs-button",i)))),e.buffer.push("\n "),g={clicked:b,title:b},h={clicked:"STRING",title:"STRING"},i={hash:{clicked:"pushWarn",title:"Push Warning"},contexts:[],types:[],hashContexts:g,hashTypes:h,data:e},e.buffer.push(l((f=c["bs-button"]||b["bs-button"],f?f.call(b,i):k.call(b,"bs-button",i)))),e.buffer.push("\n "),g={clicked:b,title:b},h={clicked:"STRING",title:"STRING"},i={hash:{clicked:"pushSuccess",title:"Push Success"},contexts:[],types:[],hashContexts:g,hashTypes:h,data:e},e.buffer.push(l((f=c["bs-button"]||b["bs-button"],f?f.call(b,i):k.call(b,"bs-button",i)))),e.buffer.push("\n "),g={clicked:b,title:b},h={clicked:"STRING",title:"STRING"},i={hash:{clicked:"pushDanger",title:"Push Danger"},contexts:[],types:[],hashContexts:g,hashTypes:h,data:e},e.buffer.push(l((f=c["bs-button"]||b["bs-button"],f?f.call(b,i):k.call(b,"bs-button",i)))),e.buffer.push('\n
    \n\n

    Controller code:

    \n
    Showcase.ShowComponentsGrowlNotifController = Ember.Controller.extend({\n  pushInfo: function() {\n    Bootstrap.GNM.push('INFO!', 'Hello, this is just an info message.', 'info');\n  },\n  pushSuccess: function() {\n    Bootstrap.GNM.push('SUCCESS!', 'Successfully performed operation!', 'success');\n  },\n  pushWarn: function() {\n    Bootstrap.GNM.push('WARN!', 'Could not perform operation!', 'warning');\n  },\n  pushDanger: function() {\n    Bootstrap.GNM.push('Danger!', 'System is halting!', 'danger');\n  }\n});
    \n

    You can control the visibility duration of each message by specifying the showTime property.

    \n

    Component Files

    \n
      \n
    • css/bs-growl-notifications.min.css
    • \n
    • js/bs-growl-notifications.min.js
    • \n
    \n

    Component Properties

    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    PropertyDescriptionDefault
    showTimeA number in ms that defines how long the notification is displayed before it starts to fade out.10 seconds
    \n
    \n'),j}),this.Ember.TEMPLATES["show_components/items_action_bar"]=Ember.Handlebars.template(function(a,b,c,d,e){this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var f,g,h,i,j="",k=c.helperMissing,l=this.escapeExpression;return e.buffer.push('

    Item action bar

    \n

    When listing items that support selection, it usually make sense to perform some actions on the selected item(s).

    \n

    The Items action bar component make it possible to build an bar of buttons where each button visibility may behave differently according to the selection,

    \n

    For example an 'Edit' button may be disabled unless 1 item is selected, or a 'Delete' button may be enabled only\nwhen there is 1 or more items selected.

    \n

    In the template, only 1 expression is needed, the content property is expected to be an array of array, where each array represents a section in the action bar and contains objects that represent a button defintion in the bar, the selectedItems property is expected to be an array of the currently selected items on a list.

    \n
    \n '),g={contentBinding:b,selectedItemsBinding:b},h={contentBinding:"STRING",selectedItemsBinding:"STRING"},i={hash:{contentBinding:"actionsInBar",selectedItemsBinding:"selection"},contexts:[],types:[],hashContexts:g,hashTypes:h,data:e},e.buffer.push(l((f=c["bs-items-action-bar"]||b["bs-items-action-bar"],f?f.call(b,i):k.call(b,"bs-items-action-bar",i)))),e.buffer.push("\n
    \n "),g={contentBinding:b,selectedBinding:b},h={contentBinding:"STRING",selectedBinding:"STRING"},i={hash:{contentBinding:"items",selectedBinding:"selection"},contexts:[],types:[],hashContexts:g,hashTypes:h,data:e},e.buffer.push(l((f=c["bs-pills"]||b["bs-pills"],f?f.call(b,i):k.call(b,"bs-pills",i)))),e.buffer.push('\n
    \n\n

    For the sake of simplicity in this example we use the bs-pills component to list items with signle itemselection support,\nbut this can be replaced with a table or any other visual form that supports selection.

    \n
    {{bs-items-action-bar contentBinding="actionsInBar" selectedItemsBinding="selection"}}\n{{bs-pills contentBinding="items" selectedBinding="selection"}}
    \n

    Per action defined in the controller (see below), it is possible to define whether the action should be disabled or not\nand what should happen when an enabled action is clicked,

    \n
      \n
    • Implement the disabled function per action and return true if the action should be disabled, the method recieve the current selection so logic may take the selection into consideration whether the action should be disabled or not.
    • \n
    • Define transitionTo property with a route name if you want the action to transition to another route when pressed.
    • \n
    • Define the clickActionName property with an action name to be invoked on the controller when action is clicked.
    • \n
    \n

    Controller's code:

    \n
    Showcase.ShowComponentsItemsActionBarController = Ember.Controller.extend({\n  actionsInBar: [\n    [\n      {\n        title: 'To Alerts',\n        disabled: function(selection) {\n          var _ref;\n          if (selection.size < 1 || (selection != null ? (_ref = selection[0]) != null ? _ref.title : void 0 : void 0) !== 'Alerts') {\n            return true;\n          }\n        },\n        transitionTo: 'show_components.alert'\n      }, {\n        title: 'To Panels',\n        transitionTo: 'show_components.panel',\n        disabled: function(selection) {\n          var _ref;\n          if (selection.size < 1 || (selection != null ? (_ref = selection[0]) != null ? _ref.title : void 0 : void 0) !== 'Panels') {\n            return true;\n          }\n        }\n      }\n    ], [\n      {\n        title: 'To Wizard',\n        disabled: function(selection) {\n          var _ref;\n          if (selection.size < 1 || (selection != null ? (_ref = selection[0]) != null ? _ref.title : void 0 : void 0) !== 'Wizards') {\n            return true;\n          }\n        },\n        clickActionName: 'wizard'\n      }\n    ]\n  ],\n  actions: {\n    wizard: function(selection) {\n      return alert("Wizard pressed!");\n    }\n  },\n  items: [\n    Ember.Object.create({\n      title: 'Alerts'\n    }), Ember.Object.create({\n      title: 'Panels'\n    }), Ember.Object.create({\n      title: 'Wizards'\n    })\n  ]\n});
    \n'),j}),this.Ember.TEMPLATES["show_components/label"]=Ember.Handlebars.template(function(a,b,c,d,e){this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var f,g,h,i,j="",k=c.helperMissing,l=this.escapeExpression;return e.buffer.push('

    Label

    \n

    Basic

    \n
    \n

    Heading with label '),g={content:b},h={content:"STRING"},i={hash:{content:"Label"},contexts:[],types:[],hashContexts:g,hashTypes:h,data:e},e.buffer.push(l((f=c["bs-label"]||b["bs-label"],f?f.call(b,i):k.call(b,"bs-label",i)))),e.buffer.push('

    \n
    \n\n
        <h3>Heading with label {{bs-label content="Label"}}</h3>
    \n

    With Type

    \n
    \n

    Heading with danger '),g={content:b,type:b},h={content:"STRING",type:"STRING"},i={hash:{content:"Careful!",type:"danger"},contexts:[],types:[],hashContexts:g,hashTypes:h,data:e},e.buffer.push(l((f=c["bs-label"]||b["bs-label"],f?f.call(b,i):k.call(b,"bs-label",i)))),e.buffer.push('

    \n
    \n\n
        <h3>Heading with <strong>danger</strong> {{bs-label content="Careful!" type="danger"}}</h3>
    \n

    Component Properties

    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    PropertyDescription
    contentstring: the label content.
    typeLabel types: success | info | warning | danger
    \n
    \n'),j}),this.Ember.TEMPLATES["show_components/list-group"]=Ember.Handlebars.template(function(a,b,c,d,e){this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var f,g,h,i,j="",k=c.helperMissing,l=this.escapeExpression;return e.buffer.push('

    List Group

    \n
    \n

    List groups are a flexible and powerful component for displaying not only simple lists of elements, but complex ones with custom content.\nBy Bootstrap

    \n
    \n

    All list items are linkable and selection can easily be observed

    \n

    Simple

    \n

    The most basic list group is simply an unordered list with list items.

    \n
    \n'),g={contentBinding:b,selectedBinding:b},h={contentBinding:"STRING",selectedBinding:"STRING"},i={hash:{contentBinding:"listSimple",selectedBinding:"selected"},contexts:[],types:[],hashContexts:g,hashTypes:h,data:e},e.buffer.push(l((f=c["bs-list-group"]||b["bs-list-group"],f?f.call(b,i):k.call(b,"bs-list-group",i)))),e.buffer.push("\n\nSelected: "),h={},g={},e.buffer.push(l(c._triageMustache.call(b,"selected",{hash:{},contexts:[b],types:["ID"],hashContexts:g,hashTypes:h,data:e}))),e.buffer.push('\n
    \n\n
    {{bs-list-group contentBinding="listSimple"}}
    \n

    Controller's code:

    \n
    Showcase.ShowComponentsListGroupController = Ember.Controller.extend({\n    listSimple: Ember.A(['Cras justo odio', 'Dapibus ac facilisis in', 'Morbi leo risus'])\n})
    \n

    Badges

    \n

    Each item in the list can have badge component that will automatically be positioned on the right.

    \n
    \n '),g={contentBinding:b},h={contentBinding:"STRING"},i={hash:{contentBinding:"listWithBadges"},contexts:[],types:[],hashContexts:g,hashTypes:h,data:e},e.buffer.push(l((f=c["bs-list-group"]||b["bs-list-group"],f?f.call(b,i):k.call(b,"bs-list-group",i)))),e.buffer.push('\n
    \n\n
    {{bs-list-group contentBinding="listWithBadges"}}
    \n

    Controller's code:

    \n
    Showcase.ShowComponentsListGroupController = Ember.Controller.extend({\n  listWithBadges: Ember.A([\n    Ember.Object.create({title: 'Inbox', badge: '45'}),\n    Ember.Object.create({ title: 'Sent', badge: '33'})\n  ])\n});
    \n

    List with Sub Text

    \n

    Items can have a sub text enabled if an item metadata has the 'sub' property.

    \n
    \n '),g={contentBinding:b},h={contentBinding:"STRING"},i={hash:{contentBinding:"listWithSub"},contexts:[],types:[],hashContexts:g,hashTypes:h,data:e},e.buffer.push(l((f=c["bs-list-group"]||b["bs-list-group"],f?f.call(b,i):k.call(b,"bs-list-group",i)))),e.buffer.push('\n
    \n\n
    {{bs-list-group contentBinding="listWithSub"}}
    \n

    Controller's code:

    \n
    Showcase.ShowComponentsListGroupController = Ember.Controller.extend({\n  listWithSub: Ember.A([\n    Ember.Object.create({title: 'Inbox', badge: '45'}),\n    Ember.Object.create({ title: 'Sent', badge: '33'})\n  ])\n});
    \n'),j}),this.Ember.TEMPLATES["show_components/modal"]=Ember.Handlebars.template(function(a,b,c,d,e){function f(a,b){b.buffer.push("\n

    Modal content!

    \n ")}this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var g,h,i,j,k,l="",m=c.helperMissing,n=this.escapeExpression,o=this;return e.buffer.push('

    Modal

    \n
    \n

    Modals are streamlined, but flexible, dialog prompts with the minimum required functionality and smart defaults.\nby Bootstrap

    \n
    \n

    Blocked Modal

    \n

    A rendered modal with header, body, and set of actions in the footer.

    \n
    \n '),i={title:b,clicked:b},j={title:"STRING",clicked:"STRING"},k={hash:{title:"Show Modal",clicked:"show"},contexts:[],types:[],hashContexts:i,hashTypes:j,data:e},e.buffer.push(n((g=c["bs-button"]||b["bs-button"],g?g.call(b,k):m.call(b,"bs-button",k)))),e.buffer.push("\n "),i={name:b,fade:b,footerButtonsBinding:b,title:b},j={name:"STRING",fade:"BOOLEAN",footerButtonsBinding:"STRING",title:"STRING"},k={hash:{name:"myModal",fade:!0,footerButtonsBinding:"myModalButtons",title:"My Modal"},inverse:o.noop,fn:o.program(1,f,e),contexts:[],types:[],hashContexts:i,hashTypes:j,data:e},g=c["bs-modal"]||b["bs-modal"],h=g?g.call(b,k):m.call(b,"bs-modal",k),(h||0===h)&&e.buffer.push(h),e.buffer.push('\n
    \n\n
        {{bs-button title="Show Modal" clicked="show"}}\n    {{#bs-modal name="myModal" fade=true footerButtonsBinding="myModalButtons" title="My Modal"}}\n        <p>Modal content!</p>\n    {{/bs-modal}}
    \n

    Controller's code:

    \n
    Showcase.ShowComponentsModalController = Ember.Controller.extend({\n  myModalButtons: [\n      Ember.Object.create({title: 'Submit', clicked:"submit"})\n      Ember.Object.create({title: 'Cancel', clicked:"cancel", dismiss: 'modal'})\n  ],\n\n  actions: {\n    //Submit the modal\n    submit: function() {\n      Bootstrap.NM.push('Successfully submitted modal', 'success');\n      return Bootstrap.ModalManager.hide('myModal');\n    },\n\n    //Cancel the modal, we don't need to hide the model manually because we set {..., dismiss: 'modal'} on the button meta data\n    cancel: function() {\n      return Bootstrap.NM.push('Modal was cancelled', 'info');\n    },\n\n    //Show the modal\n    show: function() {\n      return Bootstrap.ModalManager.show('myModal');\n    }\n  }\n});
    \n

    NOTE: The buttons defined in the array object can contain the same attributes as the button component. For example: for a 'danger' button, add "type='danger'" to the object defining the button.

    \n

    Confirmation Modal

    \n

    For a simple confirmation modal, you can simply invoke Bootstrap.ModalManager.confirm(this);

    \n
    \n '),i={title:b,clicked:b},j={title:"STRING",clicked:"STRING"},k={hash:{title:"Delete",clicked:"confirm"},contexts:[],types:[],hashContexts:i,hashTypes:j,data:e},e.buffer.push(n((g=c["bs-button"]||b["bs-button"],g?g.call(b,k):m.call(b,"bs-button",k)))),e.buffer.push('\n
    \n\n
    {{bs-button title="Delete" clicked="confirm"}}
    \n

    Controller's code:

    \n
    Showcase.ShowComponentsModalController = Ember.Controller.extend({\n    confirm: {\n        confirm: {\n            Bootstrap.ModalManager.confirm(@);\n        },\n        //invoked when user press "confirm"\n        modalConfirmed: {\n            Bootstrap.NM.push('Confirmed!', 'success')\n        },\n        //invoked when user press "cancel"\n        modalCanceled: {\n            Bootstrap.NM.push('Cancelled!', 'info')\n        }\n    }\n})
    \n

    The Bootstrap.ModalManager.confirm method accept the following parameters:

    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    PropertyDescriptionOptional?
    controllerA reference to the controller that the confirm/cancel actions will be triggered onno
    titleThe title of the modal that.yes
    messageThe body text of the modal.yes
    confirmButtonTitleThe title of the confirm buttonyes
    cancelButtonTitleThe title of the cancel buttonyes
    \n
    \n\n\n

    Programatically Modal Creation

    \n

    It is also possible to programatically create a modal, this approach is useful if the modal contains a lot of elements and it makes sense to push the modal elements into the DOM programatically and totally destroy the modal when it is closed.

    \n
    \n '),i={title:b,clicked:b},j={title:"STRING",clicked:"STRING"},k={hash:{title:"Create Modal",clicked:"createModalProgramatically"},contexts:[],types:[],hashContexts:i,hashTypes:j,data:e},e.buffer.push(n((g=c["bs-button"]||b["bs-button"],g?g.call(b,k):m.call(b,"bs-button",k)))),e.buffer.push('\n
    \n\n
    //we only render a button which will programatically create the modal\n{{bs-button title="Create Modal" clicked="createModalProgramatically"}}
    \n

    Controller's code:

    \n
    Showcase.ShowComponentsModalController = Ember.Controller.extend({\n  manualButtons: [\n      Ember.Object.create({title: 'Submit', clicked:"submitManual"})\n      Ember.Object.create({title: 'Cancel', dismiss: 'modal'})\n  ],\n\n  actions: {\n    submitManual: function() {\n      Bootstrap.NM.push('Modal destroyed!', 'success');\n      return Bootstrap.ModalManager.close('manualModal');\n    },\n    createModalProgramatically: function() {\n      //@property {string} The name of the modal, required later to close the modal (see submitManual function above)\n      //@property {string} The title of the modal.\n      //@property {string} The template name to render within the modal body, a View class may also be specified.\n      //@property {array} Array of Button meta data\n      //@property {object} The controller instance that instantiate the modal.\n      Bootstrap.ModalManager.open('manualModal', 'Hello', 'demo-template', this.manualButtons, this);\n    }\n  }\n});
    \n'),l}),this.Ember.TEMPLATES["show_components/notifications"]=Ember.Handlebars.template(function(a,b,c,d,e){this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var f,g,h,i,j="",k=c.helperMissing,l=this.escapeExpression;return e.buffer.push('

    Notifications

    \n

    Notifications is not a Bootstrap component but is mandatory for almost every web application.

    \n

    Notifications are messages that are rendered as Alerts, they fade in for a short period of time with some message and type and then they fade out.

    \n

    Notifications are pushed into an array, so different parts of the application may push notifications to the user\nand each will be displayed one after another.

    \n

    To use notifications, put somewhere in your application template the bs-notifications component.

    \n
    {{bs-notifications style="z-index: 1000; position: fixed; width: 50%; left: 0; right: 0; margin-left: auto; margin-right: auto; margin-top: 50px;"}}
    \n

    How you style the component is up to you, this is just an example for centralizing the notifications on the screen.

    \n

    Then use the NotificationManager / NM to push new notifications with a message and type.

    \n
    \n '),g={type:b,clicked:b,title:b},h={type:"STRING",clicked:"STRING",title:"STRING"},i={hash:{type:"info",clicked:"pushInfo",title:"Push Info"},contexts:[],types:[],hashContexts:g,hashTypes:h,data:e},e.buffer.push(l((f=c["bs-button"]||b["bs-button"],f?f.call(b,i):k.call(b,"bs-button",i)))),e.buffer.push("\n "),g={type:b,clicked:b,title:b},h={type:"STRING",clicked:"STRING",title:"STRING"},i={hash:{type:"warning",clicked:"pushWarn",title:"Push Warning"},contexts:[],types:[],hashContexts:g,hashTypes:h,data:e},e.buffer.push(l((f=c["bs-button"]||b["bs-button"],f?f.call(b,i):k.call(b,"bs-button",i)))),e.buffer.push("\n "),g={type:b,clicked:b,title:b},h={type:"STRING",clicked:"STRING",title:"STRING"},i={hash:{type:"success",clicked:"pushSuccess",title:"Push Success"},contexts:[],types:[],hashContexts:g,hashTypes:h,data:e},e.buffer.push(l((f=c["bs-button"]||b["bs-button"],f?f.call(b,i):k.call(b,"bs-button",i)))),e.buffer.push("\n "),g={type:b,clicked:b,title:b},h={type:"STRING",clicked:"STRING",title:"STRING"},i={hash:{type:"danger",clicked:"pushDanger",title:"Push Danger"},contexts:[],types:[],hashContexts:g,hashTypes:h,data:e},e.buffer.push(l((f=c["bs-button"]||b["bs-button"],f?f.call(b,i):k.call(b,"bs-button",i)))),e.buffer.push('\n
    \n\n

    Controller code:

    \n
    Showcase.ShowComponentsNotificationsController = Ember.Controller.extend({\n  pushInfo: function() {\n    return Bootstrap.NM.push('Hello, this is just an info message.', 'info');\n  },\n  pushWarn: function() {\n    return Bootstrap.NM.push('Could not perform operation!', 'warning');\n  },\n  pushSuccess: function() {\n    return Bootstrap.NM.push('Successfully performed operation!', 'success');\n  },\n  pushDanger: function() {\n    return Bootstrap.NM.push('Danger! system is halting!', 'danger');\n  }\n});
    \n

    During fade out, If user hover with the mouse in the notification area, it will cancel the fade in animation so the user can have more time to read the message, moving the mouse out will retrigger the fade out.

    \n

    You can control the duration messages are displayed, the fade out and fade in time by providing properties for each, for more info see the properties options below.

    \n

    Component Properties

    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    PropertyDescription
    showTimeA number in ms that defines how long the notification is displayed before it starts to fade out.
    fadeInTimeA number in ms that defines how long it takes a notification to fades in.
    fadeOutTimeA number in ms that defines how long it takes a notification to fade out.
    \n
    \n'),j +}),this.Ember.TEMPLATES["show_components/page-header"]=Ember.Handlebars.template(function(a,b,c,d,e){this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var f,g,h,i,j="",k=c.helperMissing,l=this.escapeExpression;return e.buffer.push('

    Page Header

    \n


    \n
    \n

    A simple shell for an h1 to appropriately space out and segment sections of content on a page. It can utilize the h1's default small element, as well as most other components (with additional styles).\nBy Bootstrap

    \n
    \n
    \n '),g={title:b,sub:b},h={title:"STRING",sub:"STRING"},i={hash:{title:"Example page header",sub:"Subtext for header"},contexts:[],types:[],hashContexts:g,hashTypes:h,data:e},e.buffer.push(l((f=c["bs-page-header"]||b["bs-page-header"],f?f.call(b,i):k.call(b,"bs-page-header",i)))),e.buffer.push('\n
    \n\n
        {{bs-page-header title="Example page header" sub="Subtext for header"}}
    \n'),j}),this.Ember.TEMPLATES["show_components/panel"]=Ember.Handlebars.template(function(a,b,c,d,e){function f(a,b){b.buffer.push("\n

    Panel content goes here...!

    \n ")}function g(a,b){b.buffer.push("\n

    Panel content.

    \n ")}function h(a,b){b.buffer.push("\n

    Panel content goes here...!

    \n")}function i(a,b){b.buffer.push("\n

    IM OPEN NOW!

    \n")}this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var j,k,l,m,n,o="",p=this,q=c.helperMissing;return e.buffer.push('

    Panel

    \n
    \n

    While not always necessary, sometimes you need to put your DOM in a box. For those situations, try the panel component.\nBy Bootstrap

    \n
    \n

    Basic

    \n
    \n '),l={heading:b,footer:b},m={heading:"STRING",footer:"STRING"},n={hash:{heading:"Simple Panel",footer:"Panel Footer"},inverse:p.noop,fn:p.program(1,f,e),contexts:[],types:[],hashContexts:l,hashTypes:m,data:e},j=c["bs-panel"]||b["bs-panel"],k=j?j.call(b,n):q.call(b,"bs-panel",n),(k||0===k)&&e.buffer.push(k),e.buffer.push('\n
    \n\n
    {{#bs-panel heading="Simple Panel" footer="Panel Footer"}}\n    <p>Panel content goes here...!</p>\n{{/bs-panel}}
    \n

    Contextual alternatives

    \n
    \n

    Like other components, easily make a panel more meaningful to a particular context by adding any of the contextual state classes.\nBy Bootstrap

    \n
    \n
    \n '),l={heading:b,type:b},m={heading:"STRING",type:"STRING"},n={hash:{heading:"Primary Panel",type:"primary"},inverse:p.noop,fn:p.program(3,g,e),contexts:[],types:[],hashContexts:l,hashTypes:m,data:e},j=c["bs-panel"]||b["bs-panel"],k=j?j.call(b,n):q.call(b,"bs-panel",n),(k||0===k)&&e.buffer.push(k),e.buffer.push("\n "),l={heading:b,type:b},m={heading:"STRING",type:"STRING"},n={hash:{heading:"Success Panel",type:"success"},inverse:p.noop,fn:p.program(3,g,e),contexts:[],types:[],hashContexts:l,hashTypes:m,data:e},j=c["bs-panel"]||b["bs-panel"],k=j?j.call(b,n):q.call(b,"bs-panel",n),(k||0===k)&&e.buffer.push(k),e.buffer.push("\n "),l={heading:b,type:b},m={heading:"STRING",type:"STRING"},n={hash:{heading:"Info Panel",type:"info"},inverse:p.noop,fn:p.program(3,g,e),contexts:[],types:[],hashContexts:l,hashTypes:m,data:e},j=c["bs-panel"]||b["bs-panel"],k=j?j.call(b,n):q.call(b,"bs-panel",n),(k||0===k)&&e.buffer.push(k),e.buffer.push("\n "),l={heading:b,type:b},m={heading:"STRING",type:"STRING"},n={hash:{heading:"Warning Panel",type:"warning"},inverse:p.noop,fn:p.program(3,g,e),contexts:[],types:[],hashContexts:l,hashTypes:m,data:e},j=c["bs-panel"]||b["bs-panel"],k=j?j.call(b,n):q.call(b,"bs-panel",n),(k||0===k)&&e.buffer.push(k),e.buffer.push("\n "),l={heading:b,type:b},m={heading:"STRING",type:"STRING"},n={hash:{heading:"Danger Panel",type:"danger"},inverse:p.noop,fn:p.program(3,g,e),contexts:[],types:[],hashContexts:l,hashTypes:m,data:e},j=c["bs-panel"]||b["bs-panel"],k=j?j.call(b,n):q.call(b,"bs-panel",n),(k||0===k)&&e.buffer.push(k),e.buffer.push('\n
    \n\n
        {{#bs-panel heading="Primary Panel" type="primary"}}\n        <p>Panel content.</p>\n    {{/bs-panel}}\n    {{#bs-panel heading="Success Panel" type="success"}}\n        <p>Panel content.</p>\n    {{/bs-panel}}\n    {{#bs-panel heading="Info Panel" type="info"}}\n        <p>Panel content.</p>\n    {{/bs-panel}}\n    {{#bs-panel heading="Warning Panel" type="warning"}}\n        <p>Panel content.</p>\n    {{/bs-panel}}\n    {{#bs-panel heading="Danger Panel" type="danger"}}\n        <p>Panel content.</p>\n    {{/bs-panel}}
    \n

    Dismissable Panels

    \n

    This goes beyond what Bootstrap offers and let you create a closable panels by adding the dismiss=true property

    \n
    \n '),l={heading:b,type:b,dismiss:b,onClose:b},m={heading:"STRING",type:"STRING",dismiss:"BOOLEAN",onClose:"STRING"},n={hash:{heading:"Primary Panel",type:"primary",dismiss:!0,onClose:"panelClosed"},inverse:p.noop,fn:p.program(3,g,e),contexts:[],types:[],hashContexts:l,hashTypes:m,data:e},j=c["bs-panel"]||b["bs-panel"],k=j?j.call(b,n):q.call(b,"bs-panel",n),(k||0===k)&&e.buffer.push(k),e.buffer.push('\n
    \n\n\n
    {{#bs-panel heading="Primary Panel" type="primary" dismiss=true onClose="panelClosed"}}\n    <p>Panel content.</p>\n{{/bs-panel}}
    \n

    Clickable Panels

    \n

    Panels can also be clickable, the click is propagated to the current controller via the clicked property

    \n
    \n '),l={heading:b,type:b,clicked:b},m={heading:"STRING",type:"STRING",clicked:"STRING"},n={hash:{heading:"Primary Panel",type:"primary",clicked:"panelClicked"},inverse:p.noop,fn:p.program(3,g,e),contexts:[],types:[],hashContexts:l,hashTypes:m,data:e},j=c["bs-panel"]||b["bs-panel"],k=j?j.call(b,n):q.call(b,"bs-panel",n),(k||0===k)&&e.buffer.push(k),e.buffer.push('\n
    \n\n
    {{#bs-panel heading="Primary Panel" type="primary" clicked="panelClicked"}}\n    <p>Panel content.</p>\n{{/bs-panel}}
    \n

    Collapsible Panels

    \n

    Panels can be collapsible, to enable collapsible support set collapsible=true on the component tag:

    \n
    \n'),l={heading:b,collapsible:b,dismiss:b,footer:b},m={heading:"STRING",collapsible:"BOOLEAN",dismiss:"BOOLEAN",footer:"STRING"},n={hash:{heading:"Simple Panel",collapsible:!0,dismiss:!0,footer:"Panel Footer"},inverse:p.noop,fn:p.program(5,h,e),contexts:[],types:[],hashContexts:l,hashTypes:m,data:e},j=c["bs-panel"]||b["bs-panel"],k=j?j.call(b,n):q.call(b,"bs-panel",n),(k||0===k)&&e.buffer.push(k),e.buffer.push('\n
    \n\n
    {{#bs-panel heading="Simple Panel" collapsible=true dismiss=true footer="Panel Footer"}}\n    <p>Panel content goes here...!</p>\n{{/bs-panel}}
    \n

    Collapsible panels can also be closed by default by setting open=false.

    \n
    \n'),l={heading:b,collapsible:b,dismiss:b,open:b},m={heading:"STRING",collapsible:"BOOLEAN",dismiss:"BOOLEAN",open:"BOOLEAN"},n={hash:{heading:"Open me!",collapsible:!0,dismiss:!0,open:!1},inverse:p.noop,fn:p.program(7,i,e),contexts:[],types:[],hashContexts:l,hashTypes:m,data:e},j=c["bs-panel"]||b["bs-panel"],k=j?j.call(b,n):q.call(b,"bs-panel",n),(k||0===k)&&e.buffer.push(k),e.buffer.push('\n
    \n\n
    {{#bs-panel heading="Simple Panel" collapsible=true dismiss=true footer="Panel Footer"}}\n    <p>Panel content goes here...!</p>\n{{/bs-panel}}
    \n'),o}),this.Ember.TEMPLATES["show_components/pills"]=Ember.Handlebars.template(function(a,b,c,d,e){this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var f,g,h,i,j="",k=c.helperMissing,l=this.escapeExpression;return e.buffer.push('

    Pills

    \n

    Pills are a button-like navigation style,

    \n

    Bootstrap doesn't dictate nor assist with how you respond when an item is selected in the Pills navigation,\nBut using bs-pills helps by making the navigation more interactive by providing selection bindings and styling the\nactive element, see examples below.

    \n
    \n '),g={contentBinding:b,selectedBinding:b},h={contentBinding:"STRING",selectedBinding:"STRING"},i={hash:{contentBinding:"content",selectedBinding:"selected"},contexts:[],types:[],hashContexts:g,hashTypes:h,data:e},e.buffer.push(l((f=c["bs-pills"]||b["bs-pills"],f?f.call(b,i):k.call(b,"bs-pills",i)))),e.buffer.push("\n Selected: "),h={},g={},e.buffer.push(l(c._triageMustache.call(b,"selected",{hash:{},contexts:[b],types:["ID"],hashContexts:g,hashTypes:h,data:e}))),e.buffer.push('\n
    \n\n
    \n{{bs-pills contentBinding="content" selectedBinding="selected"}}\n\nSelected: {{selected}}
    \n

    content and selected are properties in the current controller

    \n
      \n
    • The content controller property is an array of strings where each string is rendered as a possible item selection.
    • \n
    • When an item selection is changed, the selected property in the current controller will be set with the value of the selected item.
    • \n
    \n

    Here's the controller sample code:

    \n
    Showcase.ShowComponentsPillsController = Ember.Controller.extend({\n  content: ['Home', 'Profile', 'Messages'],\n  contentChanged: (function() {\n    return console.log("Selection has changed to: " + (this.get('selected')));\n  }).observes('selected')\n});
    \n

    Stacked

    \n
    \n

    Pills are also vertically stackable. Just add `stacked=true``

    \n
    \n
    \n '),g={contentBinding:b,selectedBinding:b,stacked:b,style:b},h={contentBinding:"STRING",selectedBinding:"STRING",stacked:"BOOLEAN",style:"STRING"},i={hash:{contentBinding:"content",selectedBinding:"selected",stacked:!0,style:"max-width: 300px;"},contexts:[],types:[],hashContexts:g,hashTypes:h,data:e},e.buffer.push(l((f=c["bs-pills"]||b["bs-pills"],f?f.call(b,i):k.call(b,"bs-pills",i)))),e.buffer.push('\n
    \n\n
        {{bs-pills contentBinding="content" selectedBinding="selected" stacked=true style="max-width: 300px;"}}
    \n

    Justified

    \n
    \n

    Easily make tabs or pills equal widths of their parent with setting justified=true

    \n
    \n
    \n '),g={contentBinding:b,selectedBinding:b,justified:b},h={contentBinding:"STRING",selectedBinding:"STRING",justified:"BOOLEAN"},i={hash:{contentBinding:"content",selectedBinding:"selected",justified:!0},contexts:[],types:[],hashContexts:g,hashTypes:h,data:e},e.buffer.push(l((f=c["bs-pills"]||b["bs-pills"],f?f.call(b,i):k.call(b,"bs-pills",i)))),e.buffer.push('\n
    \n\n
        {{bs-pills contentBinding="content" selectedBinding="selected" justified=true}}
    \n

    Disabled links

    \n

    Bootstrap doesn't stop the propagation of the redirection of disabled links for you:

    \n
    \n

    This class will only change the anchor's appearance, not its functionality. Use custom JavaScript to disable links here.\nBy Bootstrap

    \n
    \n

    But using bs-pills ease your pain by giving you the opportunity to bind the disable state of each item by providing extra metadata per item, clicking a disabled item disables the links too.

    \n

    To define links (items) as disabed, you need to provide extra metadata per defined item in the contentBinding property.

    \n
    \n '),g={contentBinding:b,selectedBinding:b},h={contentBinding:"STRING",selectedBinding:"STRING"},i={hash:{contentBinding:"content1",selectedBinding:"selected1"},contexts:[],types:[],hashContexts:g,hashTypes:h,data:e},e.buffer.push(l((f=c["bs-pills"]||b["bs-pills"],f?f.call(b,i):k.call(b,"bs-pills",i)))),e.buffer.push("\n "),g={clicked:b,title:b},h={clicked:"STRING",title:"STRING"},i={hash:{clicked:"disableHome",title:"Disable Home"},contexts:[],types:[],hashContexts:g,hashTypes:h,data:e},e.buffer.push(l((f=c["bs-button"]||b["bs-button"],f?f.call(b,i):k.call(b,"bs-button",i)))),e.buffer.push('\n
    \n\n
    {{bs-pills contentBinding="content" selectedBinding="selected"}}\n{{bs-button clicked="disableHome" content="Disable Home"}}
    \n

    Controller sample code:

    \n
    \nShowcase.ShowComponentsPillsController = Ember.Controller.extend({\n  init: function() {\n    this._super();\n    this.set('content', Ember.A([\n      Ember.Object.create({title: 'Home',disabled: false}),\n      Ember.Object.create({title: 'Admin',disabled: true})\n    ]));\n    this.set('selected', this.get('content').objectAt(0));\n  },\n\n  disableHome: function() {\n    this.get('content').objectAt(0).set('disabled', true);\n  }\n});
    \n'),j}),this.Ember.TEMPLATES["show_components/popover"]=Ember.Handlebars.template(function(a,b,c,d,e){this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var f,g,h,i,j="",k=c.helperMissing,l=this.escapeExpression;return e.buffer.push('

    Popover & Tooltips

    \n

    Setup

    \n

    For Popover support, it is required to adapt the application route and add a named outlet to your main template and reference a controller that extends from Bootstrap.TooltipBoxController

    \n
    //Create some controller in your app that references _Bootstrap.TooltipBoxController_\nApp.TooltipBoxController = Bootstrap.TooltipBoxController\n\n//Application route\nApp.ApplicationRoute = Ember.Route.extend({\n    renderTemplate: function() {\n        // Render default outlet\n        this.render();\n        // render extra outlets\n        var controller = this.controllerFor('tooltip-box');\n        this.render("bs-tooltip-box", {\n            outlet: "bs-tooltip-box",\n            controller: controller,\n            into: "application" // important when using at root level\n        });\n    }\n});
    \n

    Tooltips

    \n

    Simple content

    \n
    \n

    Here is a very link with a tooltip,.\n You can mix as many tooltips as you wish.\n

    \n
    \n\n
    <p class="muted" style="margin-bottom: 0;">\n    Here is <a href="#" {{bs-bind-tooltip content="A tooltip!"}}>a very</a> link with a tooltip,.\n    You can mix as many <a href="#" {{bs-bind-tooltip title="Another tooltip!"}}>tooltips</a> as you wish.\n</p>
    \n

    Bindings & Sticky

    \n

    You can bind the value of the tooltip to an object and make the tooltip sticky by:

    \n\n\n

    In template:

    \n
    <a href="#" {{bs-bind-tooltip testObject.sticky}}>Hover me for a sticky tooltip!</a>
    \n

    In controller:

    \n
        stickyTooltip: Ember.Object.createWithMixins({\n        popover: (function() {\n          return Ember.Object.create({\n            user: this,\n            content: 'know this is a sticky tooltip! You can hover over it.',\n            trigger: 'hover',\n            sticky: true\n          });\n        }).property()\n      })
    \n

    Popovers

    \n

    Examples

    \n

    Here are some examples for popovers:

    \n
    \n
      \n
    • \n Hover for a sticky popup\n
    • \n
    • \n Click for a popup\n
    • \n
    • \n Click for a popup with template\n
    • \n
    \n
    \n\n

    In template:

    \n
    <ul class="list-group" style="width:250px">\n    <li class="list-group-item" {{bs-bind-popover hoverPop}}>\n             Hover for a sticky popup\n    </li>\n    <li class="list-group-item" {{bs-bind-popover clickPop}}>\n             Click for a popup\n    </li>\n    <li class="list-group-item" {{bs-bind-popover templPop}}>\n             Click for a popup with template\n    </li>\n</ul>
    \n

    In controller:

    \n
      hoverPop: Ember.Object.create({\n    title: "I'm a title!",\n    content: "And i'm a content!",\n    trigger: "hover",\n    placement: "right",\n    sticky: true\n  }),\n\n  clickPop: Ember.Object.create({\n    title: "Clickable!",\n    content: "This is a clickable popover",\n    placement: "left"\n  }),\n\n  templPop: Ember.Object.create({\n      firstName: 'numbers',\n      title: 'Popover with Template',\n      template: 'numbers:<ul>' +\n              '{{#each val in content.numbers}}' +\n              '   <li>{{val}}</li>' + '{{/each}}' +\n              '</ul>',\n      content: {\n        numbers: [1, 2, 3]\n      }\n  })
    \n

    Object Options

    \n

    Following are the options that back a tooltip/popover entry:

    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    Property NameTypeDefaultDescription
    htmlbooleanfalseInsert HTML into the popover.
    placementstring | function'right'how to position the popover - top | bottom | left | right | auto.
    When "auto" is specified, it will dynamically reorient the popover. For example, if placement is "auto left", the popover will display to the left when possible, otherwise it will display right.
    triggerstring'click' for popover| 'hover' for tooltiphow popover is triggered - click | hover | focus | manual
    stickybooleanfalseTo be used when trigger is 'hover'.\n When the tooltip appears you have 100ms to hover over it and only after you leave the popover/tooltip it will disappear
    showbooleanfalseTo be used when trigger is 'manual'.\n Will show the tip when true, hide when false.\n The property will be observed for changes with "addObserver"\n
    titlestring''
    contentstring | function''
    templatestringnullUse this template to display. The context will be the popover/tooltip. The data is available in content.*
    \n
    \n\n\n\n'),j}),this.Ember.TEMPLATES["show_components/progressbar"]=Ember.Handlebars.template(function(a,b,c,d,e){function f(a,b){var d,e,f,g,h="";return b.buffer.push("\n "),e={type:a,progress:a},f={type:"STRING",progress:"STRING"},g={hash:{type:"success",progress:"35"},contexts:[],types:[],hashContexts:e,hashTypes:f,data:b},b.buffer.push(n((d=c["bs-progressbar"]||a["bs-progressbar"],d?d.call(a,g):m.call(a,"bs-progressbar",g)))),b.buffer.push("\n "),e={type:a,progress:a},f={type:"STRING",progress:"STRING"},g={hash:{type:"warning",progress:"20"},contexts:[],types:[],hashContexts:e,hashTypes:f,data:b},b.buffer.push(n((d=c["bs-progressbar"]||a["bs-progressbar"],d?d.call(a,g):m.call(a,"bs-progressbar",g)))),b.buffer.push("\n "),e={type:a,progress:a},f={type:"STRING",progress:"STRING"},g={hash:{type:"danger",progress:"10"},contexts:[],types:[],hashContexts:e,hashTypes:f,data:b},b.buffer.push(n((d=c["bs-progressbar"]||a["bs-progressbar"],d?d.call(a,g):m.call(a,"bs-progressbar",g)))),b.buffer.push("\n "),h}this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var g,h,i,j,k,l="",m=c.helperMissing,n=this.escapeExpression,o=this,p="function",q=c.blockHelperMissing;return e.buffer.push('

    Progress Bar

    \n
    \n

    Provide up-to-date feedback on the progress of a workflow or action with simple yet flexible progress bars.\nBy Bootstrap

    \n
    \n

    Basic usage

    \n
    \n '),i={progress:b},j={progress:"INTEGER"},k={hash:{progress:60},contexts:[],types:[],hashContexts:i,hashTypes:j,data:e},e.buffer.push(n((g=c["bs-progress"]||b["bs-progress"],g?g.call(b,k):m.call(b,"bs-progress",k)))),e.buffer.push('\n
    \n\n
        {{bs-progress progress=60}}
    \n

    Simple as that! a single short line, compared to Bootstarp Tags 5 long lines that\nproduces the same result.

    \n

    The progress component respects all aria tags mentioned in Bootstrap documentation.

    \n
    \n
    \n

    Progress bars use some of the same button and alert classes for consistent styles\nBy Bootstrap

    \n
    \n
    \n '),i={progress:b,type:b},j={progress:"INTEGER",type:"STRING"},k={hash:{progress:40,type:"success"},contexts:[],types:[],hashContexts:i,hashTypes:j,data:e},e.buffer.push(n((g=c["bs-progress"]||b["bs-progress"],g?g.call(b,k):m.call(b,"bs-progress",k)))),e.buffer.push("\n "),i={progress:b,type:b},j={progress:"INTEGER",type:"STRING"},k={hash:{progress:20,type:"info"},contexts:[],types:[],hashContexts:i,hashTypes:j,data:e},e.buffer.push(n((g=c["bs-progress"]||b["bs-progress"],g?g.call(b,k):m.call(b,"bs-progress",k)))),e.buffer.push("\n "),i={progress:b,type:b},j={progress:"INTEGER",type:"STRING"},k={hash:{progress:60,type:"warning"},contexts:[],types:[],hashContexts:i,hashTypes:j,data:e},e.buffer.push(n((g=c["bs-progress"]||b["bs-progress"],g?g.call(b,k):m.call(b,"bs-progress",k)))),e.buffer.push("\n "),i={progress:b,type:b},j={progress:"INTEGER",type:"STRING"},k={hash:{progress:80,type:"danger"},contexts:[],types:[],hashContexts:i,hashTypes:j,data:e},e.buffer.push(n((g=c["bs-progress"]||b["bs-progress"],g?g.call(b,k):m.call(b,"bs-progress",k)))),e.buffer.push('\n
    \n\n\n
        {{bs-progress progress=40 type="success"}}\n    {{bs-progress progress=20 type="info"}}\n    {{bs-progress progress=60 type="warning"}}\n    {{bs-progress progress=80 type="danger"}}
    \n
    \n

    The progress property can be bound to a controller property:

    \n
    \n '),i={progressBinding:b},j={progressBinding:"STRING"},k={hash:{progressBinding:"prog"},contexts:[],types:[],hashContexts:i,hashTypes:j,data:e},e.buffer.push(n((g=c["bs-progress"]||b["bs-progress"],g?g.call(b,k):m.call(b,"bs-progress",k)))),e.buffer.push("\n "),i={clicked:b,title:b},j={clicked:"STRING",title:"STRING"},k={hash:{clicked:"increment",title:"Increment!"},contexts:[],types:[],hashContexts:i,hashTypes:j,data:e},e.buffer.push(n((g=c["bs-button"]||b["bs-button"],g?g.call(b,k):m.call(b,"bs-button",k)))),e.buffer.push('\n
    \n\n
        {{bs-progress progressBinding="prog"}}\n    {{bs-button clicked="increment" content="Increment!"}}
    \n

    Controller sample code:

    \n
    Showcase.ShowComponentsProgressbarController = Ember.Controller.extend({\n  prog: 0,\n  incrementBy: 20,\n  increment: function() {\n    if (this.prog < 100) {\n      return this.incrementProperty("prog", this.incrementBy);\n    } else {\n      return this.set("prog", this.incrementBy);\n    }\n  }\n});
    \n

    Striped

    \n
    \n

    Uses a gradient to create a striped effect. Not available in IE8.\nBy Bootstrap

    \n
    \n

    This is simply done by setting the stripped=true property.

    \n
    \n '),i={progress:b,type:b,stripped:b},j={progress:"INTEGER",type:"STRING",stripped:"BOOLEAN"},k={hash:{progress:40,type:"success",stripped:!0},contexts:[],types:[],hashContexts:i,hashTypes:j,data:e},e.buffer.push(n((g=c["bs-progress"]||b["bs-progress"],g?g.call(b,k):m.call(b,"bs-progress",k)))),e.buffer.push("\n "),i={progress:b,type:b,stripped:b},j={progress:"INTEGER",type:"STRING",stripped:"BOOLEAN"},k={hash:{progress:20,type:"info",stripped:!0},contexts:[],types:[],hashContexts:i,hashTypes:j,data:e},e.buffer.push(n((g=c["bs-progress"]||b["bs-progress"],g?g.call(b,k):m.call(b,"bs-progress",k)))),e.buffer.push("\n "),i={progress:b,type:b,stripped:b},j={progress:"INTEGER",type:"STRING",stripped:"BOOLEAN"},k={hash:{progress:60,type:"warning",stripped:!0},contexts:[],types:[],hashContexts:i,hashTypes:j,data:e},e.buffer.push(n((g=c["bs-progress"]||b["bs-progress"],g?g.call(b,k):m.call(b,"bs-progress",k)))),e.buffer.push("\n "),i={progress:b,type:b,stripped:b},j={progress:"INTEGER",type:"STRING",stripped:"BOOLEAN"},k={hash:{progress:80,type:"danger",stripped:!0},contexts:[],types:[],hashContexts:i,hashTypes:j,data:e},e.buffer.push(n((g=c["bs-progress"]||b["bs-progress"],g?g.call(b,k):m.call(b,"bs-progress",k)))),e.buffer.push('\n
    \n\n\n

    Animated

    \n

    In addition to stripped=true, add animated=true property to animate the stripes right to left.

    \n
    \n '),i={progress:b,stripped:b,animated:b},j={progress:"INTEGER",stripped:"BOOLEAN",animated:"BOOLEAN"},k={hash:{progress:45,stripped:!0,animated:!0},contexts:[],types:[],hashContexts:i,hashTypes:j,data:e},e.buffer.push(n((g=c["bs-progress"]||b["bs-progress"],g?g.call(b,k):m.call(b,"bs-progress",k)))),e.buffer.push('\n
    \n\n
        {{bs-progress progress=45 stripped=true animated=true}}
    \n

    Stacked

    \n

    Multiple bars can be placed into the same bs-progress to stack them:

    \n
    \n '),k={hash:{},inverse:o.noop,fn:o.program(1,f,e),contexts:[],types:[],hashContexts:i,hashTypes:j,data:e},(h=c["bs-progress"])?h=h.call(b,k):(h=b["bs-progress"],h=typeof h===p?h.apply(b):h),j={},i={},c["bs-progress"]||(h=q.call(b,h,k)),(h||0===h)&&e.buffer.push(h),e.buffer.push('\n
    \n\n
        {{#bs-progress}}\n        {{bs-progressbar type="success" progress="35"}}\n        {{bs-progressbar type="warning" progress="20"}}\n        {{bs-progressbar type="danger" progress="10"}}\n    {{/bs-progress}}
    \n'),l}),this.Ember.TEMPLATES["show_components/tabs-panes"]=Ember.Handlebars.template(function(a,b,c,d,e){function f(a,b){b.buffer.push("Tab Component")}this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var g,h,i,j,k,l="",m=this,n=c.helperMissing,o=this.escapeExpression;return e.buffer.push('

    Tab Panes

    \n

    Defining '),i={},j={},k={hash:{},inverse:m.noop,fn:m.program(1,f,e),contexts:[b],types:["STRING"],hashContexts:j,hashTypes:i,data:e},g=c["link-to"]||b["link-to"],h=g?g.call(b,"show_components.tabs",k):n.call(b,"link-to","show_components.tabs",k),(h||0===h)&&e.buffer.push(h),e.buffer.push(' covers the Tabs rendering and help you to interact with the selected tab. But usually some content should be rendered as a response for a tab click right?

    \n

    This is where Tab Panes come into play, a tab pane is the content area of each rendered tab, when a tab is selected, the corresponding tab pane becomes visible, see below for the possible options.

    \n

    Tab Panes expects a contentBinding property just like the bs-tabs component, the Tabs Panes component also must be aware of the bs-tabs component it is bound to by specifying the items-id property set to the id of the corresponding bs-tabs

    \n
    \n '),j={id:b,contentBinding:b,"default":b},i={id:"STRING",contentBinding:"STRING","default":"STRING"},k={hash:{id:"tabs1",contentBinding:"tabsMeta","default":"Foo"},contexts:[],types:[],hashContexts:j,hashTypes:i,data:e},e.buffer.push(o((g=c["bs-tabs"]||b["bs-tabs"],g?g.call(b,k):n.call(b,"bs-tabs",k)))),e.buffer.push("\n "),j={"items-id":b,contentBinding:b},i={"items-id":"STRING",contentBinding:"STRING"},k={hash:{"items-id":"tabs1",contentBinding:"tabsMeta"},contexts:[],types:[],hashContexts:j,hashTypes:i,data:e},e.buffer.push(o((g=c["bs-tabs-panes"]||b["bs-tabs-panes"],g?g.call(b,k):n.call(b,"bs-tabs-panes",k)))),e.buffer.push('\n
    \n\n
    {{bs-tabs id="tabs1" contentBinding="tabsMeta" default="Foo"}}\n{{bs-tabs-panes items-id="tabs1" contentBinding="tabsMeta"}}
    \n
      \n
    • An id property is required for the bs-tabs.
    • \n
    • The bs-tabs-panes generates a tab pane per element in the content array.
    • \n
    • The items-id property must refer to the id of the bs-tabs component.
    • \n
    • If you like one tab to be activated by default, set the default property of the bs-tabs component to a title of the tab you would like to be activated by default.
    • \n
    \n

    Here is the controller tabsPanesOptions property:

    \n
    SomeController = Ember.Controller.extend({\n    tabsMeta: Ember.A([\n            Ember.Object.create({ title: 'Foo', template: 'tabs/foo-tabpane', controller: 'ShowcaseComponentsTabsFoo'}),\n            Ember.Object.create({ title: 'Bar', template: 'tabs/bar-tabpane'})\n    ]);\n});\n\nThe `template: 'some-template'` defines what template to render in the corresponding _Tab Pane_ when the Tab is selected.
    \n

    Note that for the Foo tab, a controller property was defined, calling {{controller}} within the tab pane template tabs/foo-tabpane will point to the specified ShowcaseComponentsTabsFoo controller instead of the default controller\nwhich is the controller of the template the {{bs-tabs-panes}} was called from.

    \n

    Thats all needed! awesome isn't it?

    \n'),l +}),this.Ember.TEMPLATES["show_components/tabs-with-routes"]=Ember.Handlebars.template(function(a,b,c,d,e){function f(a,b){b.buffer.push("User Profile")}this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var g,h,i,j,k,l="",m=this,n=c.helperMissing;return e.buffer.push('

    Tabs in conjuction with Routes

    \n

    Rendering tab content can be simply done by providing a template per tab using the bs-tabs-panes component,\nAnother possiblity is to have a route per tab for rendering tabs contents, Choose this approach if:

    \n
      \n
    • You need your tabs to be bookmarkable, this is possible because each route is bound to some URL path.
    • \n
    • Your tabs are complicated and have a lot of logic and you need a controller per tab.
    • \n
    \n

    If one or more of the reasons above makes sense to you, read on, otherwise use bs-tabs-panes because its setup is much simpler.

    \n

    Users Profile Example

    \n

    This is much easier to explain by example, so for the sake of example, we'll build a User profile with 3 tabs.

    \n

    Defining routes

    \n

    First, lets define the routes of the User profile:

    \n
    this.resource('user', function() {\n  this.route('general');\n  this.route('privacy');\n  return this.route('activities');\n});
    \n

    A resource is required per tabs component, here we define the resource as user because tabs deals with managing a User and a @route is required per tab.

    \n

    Putting the Tabs component in the Resource template.

    \n

    In Ember.js, every resource page has its own main template, nested routes are rendered within the resource page, with such hierarchy, it makes sense to put the tabs component in the resource page so it will be available for any nested route that the user visits.

    \n

    Content goes into the user template.

    \n
        {{bs-tabs contentBinding="tabsMeta"}}\n    {{outlet}}
    \n

    The tabsMeta is an array of the Tabs metadata in the UserController:

    \n
    \nApp.UserController = Ember.Controller.extend({\n  tabsMeta: [\n    Ember.Object.create({title: 'General', linkTo: 'user.general'}),\n    Ember.Object.create({title: 'Privacy', linkTo: 'user.privacy'}),\n    Ember.Object.create({title: 'Activities', linkTo: 'user.activities'})\n  ]\n});\n`
    \n

    The outlet is important so the content of each tab will be rendered beneath the tabs component.

    \n

    Defining Templates

    \n

    Simply define a template per nested route, just like you would do if each nested route wouldnt be apart of the tab component.

    \n

    Live example

    \n

    Want to see it alive? take a look here: '),i={},j={},k={hash:{},inverse:m.noop,fn:m.program(1,f,e),contexts:[b],types:["STRING"],hashContexts:j,hashTypes:i,data:e},g=c["link-to"]||b["link-to"],h=g?g.call(b,"user.general",k):n.call(b,"link-to","user.general",k),(h||0===h)&&e.buffer.push(h),e.buffer.push("

    \n"),l}),this.Ember.TEMPLATES["show_components/tabs"]=Ember.Handlebars.template(function(a,b,c,d,e){function f(a,b){b.buffer.push("Tab Panes")}this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var g,h,i,j,k,l="",m=c.helperMissing,n=this.escapeExpression,o=this;return e.buffer.push('

    Tabs

    \n

    Tabs are like Pills but styled differently,\nThe share exactly the same concepts, so this page doesn't repeat everything, visit Pills for the complete details.

    \n

    Simple Tabs

    \n
    \n '),i={contentBinding:b,selectedBinding:b},j={contentBinding:"STRING",selectedBinding:"STRING"},k={hash:{contentBinding:"content",selectedBinding:"selected"},contexts:[],types:[],hashContexts:i,hashTypes:j,data:e},e.buffer.push(n((g=c["bs-tabs"]||b["bs-tabs"],g?g.call(b,k):m.call(b,"bs-tabs",k)))),e.buffer.push("\n\n
    \n Selected: "),j={},i={},e.buffer.push(n(c._triageMustache.call(b,"selected",{hash:{},contexts:[b],types:["ID"],hashContexts:i,hashTypes:j,data:e}))),e.buffer.push('\n
    \n\n\n
        {{bs-tabs contentBinding="content" selectedBinding="selected"}}
    \n

    Controller's code:

    \n
    Showcase.ShowComponentsTabsController = Ember.Controller.extend({\n  content: ['Home', 'Profile', 'Messages']\n});
    \n

    Panes

    \n

    Please see '),j={},i={},k={hash:{},inverse:o.noop,fn:o.program(1,f,e),contexts:[b],types:["STRING"],hashContexts:i,hashTypes:j,data:e},g=c["link-to"]||b["link-to"],h=g?g.call(b,"show_components.tabs-panes",k):m.call(b,"link-to","show_components.tabs-panes",k),(h||0===h)&&e.buffer.push(h),e.buffer.push(" for more info about Tab Panes.

    \n"),l}),this.Ember.TEMPLATES["show_components/well"]=Ember.Handlebars.template(function(a,b,c,d,e){function f(a,b){b.buffer.push("\n I am in a well, click me!\n ")}function g(a,b){b.buffer.push("\n Look, I'm in a large well!\n ")}function h(a,b){b.buffer.push("\n Look, I'm in a small well!\n ")}this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var i,j,k,l,m,n="",o=this,p=c.helperMissing;return e.buffer.push('

    Well

    \n

    Default Well

    \n

    Here is a default well, but pay attention that it is clickable, the click will be propagated to the controller.

    \n\n
    \n '),k={clicked:b},l={clicked:"STRING"},m={hash:{clicked:"wellClick"},inverse:o.noop,fn:o.program(1,f,e),contexts:[],types:[],hashContexts:k,hashTypes:l,data:e},i=c["bs-well"]||b["bs-well"],j=i?i.call(b,m):p.call(b,"bs-well",m),(j||0===j)&&e.buffer.push(j),e.buffer.push('\n
    \n\n
    {{#bs-well clicked="wellClick"}}\nI am in a well!\n{{/bs-well}}
    \n

    wellClick is the function name in the controller.

    \n

    Optional classes

    \n

    As explained by Bootstrap:

    \n
    \n

    Control padding and rounded corners with two optional modifier classes.

    \n
    \n

    Large Well

    \n
    \n '),k={large:b},l={large:"BOOLEAN"},m={hash:{large:!0},inverse:o.noop,fn:o.program(3,g,e),contexts:[],types:[],hashContexts:k,hashTypes:l,data:e},i=c["bs-well"]||b["bs-well"],j=i?i.call(b,m):p.call(b,"bs-well",m),(j||0===j)&&e.buffer.push(j),e.buffer.push('\n
    \n\n
    {{#bs-well large=true}}\nLook, I'm in a large well!\n{{/bs-well}}
    \n

    You can set large well by adding class="well-lg" or just set the large property to true

    \n

    Small Well

    \n
    \n '),k={small:b},l={small:"BOOLEAN"},m={hash:{small:!0},inverse:o.noop,fn:o.program(5,h,e),contexts:[],types:[],hashContexts:k,hashTypes:l,data:e},i=c["bs-well"]||b["bs-well"],j=i?i.call(b,m):p.call(b,"bs-well",m),(j||0===j)&&e.buffer.push(j),e.buffer.push('\n
    \n\n
    {{#bs-well small=true}}\nLook, I'm in a small well!\n{{/bs-well}}
    \n

    You can set large well by adding class="well-sm" or just set the small property to true

    \n

    Component Properties

    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    PropertyDescription
    largeIf true, a large well will be rendered by adding the well-lg class.
    smallIf true, a small well will be rendered by adding the well-sm class.
    clickedTriggers the specified function name on the controller immediately when user clicks the area of the well.
    \n
    \n'),n}),this.Ember.TEMPLATES["show_components/wizard"]=Ember.Handlebars.template(function(a,b,c,d,e){this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var f,g,h,i,j="",k=c.helperMissing,l=this.escapeExpression;return e.buffer.push('

    Wizard

    \n

    Wizard is a multi step view component with transitioning workflow,\nWizard has a lot in common with the Tabs component as you can think about each Wizard step as a tab & pane, the main different is that with the Wizard component the transitioning order of the steps is defined a head.

    \n

    Wizard Sample

    \n

    Defining an inline content Wizard with blocks is the simplest form of using the wizard component.

    \n
    \n '),g={contentBinding:b},h={contentBinding:"STRING"},i={hash:{contentBinding:"steps"},contexts:[],types:[],hashContexts:g,hashTypes:h,data:e},e.buffer.push(l((f=c["bs-wizard"]||b["bs-wizard"],f?f.call(b,i):k.call(b,"bs-wizard",i)))),e.buffer.push('\n
    \n\n\n
    {{bs-wizard contentBinding="steps"}}
    \n

    contentBinding="steps" defines a property named steps in the current controll that defines the wizard steps,\nHere is the current controll of this example:

    \n
    Showcase.ShowComponentsWizardController = Ember.Controller.extend({\n  init: function() {\n    this._super();\n    this.set('steps', Ember.A([\n      Ember.Object.create({title: 'Foo', template: 'tabs/foo-tabpane'}),\n      Ember.Object.create({title: 'Bar', template: 'tabs/bar-tabpane'}),\n      Ember.Object.create({title: 'Baz', template: 'tabs/baz-tabpane'})\n    ]));\n  }\n});
    \n

    Disable Step Selection

    \n

    Sometimes it makes sense to create a wizard with fixed step flow, this can be done by disabling the steps by providing disabled=true per step.

    \n

    It is also possible to disallow moving to previous step if needed.

    \n
    \n '),g={prevAllowed:b,contentBinding:b},h={prevAllowed:"BOOLEAN",contentBinding:"STRING"},i={hash:{prevAllowed:!1,contentBinding:"stepsNoPrev"},contexts:[],types:[],hashContexts:g,hashTypes:h,data:e},e.buffer.push(l((f=c["bs-wizard"]||b["bs-wizard"],f?f.call(b,i):k.call(b,"bs-wizard",i)))),e.buffer.push('\n
    \n\n
    {{bs-wizard prevAllowed=false contentBinding="stepsNoPrev"}}
    \n
    Showcase.ShowComponentsWizardController = Ember.Controller.extend({\n  init: function() {\n    this._super();\n    this.set('steps', Ember.A([\n      Ember.Object.create({title: 'Step1', template: 'tabs/foo-tabpane', disabled="true"}),\n      Ember.Object.create({title: 'Step2', template: 'tabs/bar-tabpane', disabled="true"}),\n      Ember.Object.create({title: 'Step3', template: 'tabs/baz-tabpane', disabled="true"})\n    ]));\n  }\n});
    \n

    Programatically Created Wizard

    \n

    Creating a wizard programatically should be used if rendering a Wizard is based on some action such as a button click, for example, a modal can be rendered by pressing a button that will render a Wizard within a modal as the example shown below:

    \n
    \n '),g={title:b,type:b,clicked:b},h={title:"STRING",type:"STRING",clicked:"STRING"},i={hash:{title:"Start Wizard",type:"primary",clicked:"createWizard"},contexts:[],types:[],hashContexts:g,hashTypes:h,data:e},e.buffer.push(l((f=c["bs-button"]||b["bs-button"],f?f.call(b,i):k.call(b,"bs-button",i)))),e.buffer.push('\n
    \n\n\n
    {{bs-button title="Start Wizard" type="primary" clicked="createWizard"}}
    \n

    Controller's code:

    \n
    Showcase.ShowComponentsWizardController = Ember.Controller.extend({\n  actions: {\n    createWizard: function() {\n      var body;\n      body = Bootstrap.BsWizardComponent.extend({\n        content: [\n          Ember.Object.create({title: 'Step1', template: 'wizard/step1', disabled: true}),\n          Ember.Object.create({title: 'Step2', template: 'wizard/step2', disabled: true}),\n          Ember.Object.create({title: 'Step3', template: 'wizard/step3', disabled: true})\n        ],\n        targetObject: this,\n        onNext: "onNext",\n        onPrev: "onPrev",\n        onFinish: 'onFinish'\n      });\n      Bootstrap.ModalManager.open('manualModal', 'Wizard Title...', body, null, this);\n    },\n    onNext: function() {\n      return console.log('NEXT');\n    },\n    onPrev: function() {\n      return console.log('PREV');\n    },\n    onFinish: function() {\n      Bootstrap.ModalManager.close('manualModal');\n      return Bootstrap.NM.push('Wizard completed!');\n    }\n  }\n});
    \n

    The controller is responsible for creating the Modal and the Wizard components, our controller listens to the Wizard onFinish event and close the modal as a response plus send an application notification.

    \n'),j}),this.Ember.TEMPLATES["social-buttons"]=Ember.Handlebars.template(function(a,b,c,d,e){this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{},e.buffer.push('
    \r\n \r\n
    \r\n')}),this.Ember.TEMPLATES["tabs/bar-tabpane"]=Ember.Handlebars.template(function(a,b,c,d,e){this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var f,g,h,i,j="",k=c.helperMissing,l=this.escapeExpression;return g={title:b,sub:b},h={title:"STRING",sub:"STRING"},i={hash:{title:"BAR ",sub:"Tab Pane Content"},contexts:[],types:[],hashContexts:g,hashTypes:h,data:e},e.buffer.push(l((f=c["bs-page-header"]||b["bs-page-header"],f?f.call(b,i):k.call(b,"bs-page-header",i)))),e.buffer.push("\r\nController is: "),h={},g={},e.buffer.push(l(c._triageMustache.call(b,"controller",{hash:{},contexts:[b],types:["ID"],hashContexts:g,hashTypes:h,data:e}))),j}),this.Ember.TEMPLATES["tabs/baz-tabpane"]=Ember.Handlebars.template(function(a,b,c,d,e){this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var f,g,h,i,j=c.helperMissing,k=this.escapeExpression;g={title:b,sub:b},h={title:"STRING",sub:"STRING"},i={hash:{title:"BAZ",sub:"Tab Pane Content"},contexts:[],types:[],hashContexts:g,hashTypes:h,data:e},e.buffer.push(k((f=c["bs-page-header"]||b["bs-page-header"],f?f.call(b,i):j.call(b,"bs-page-header",i))))}),this.Ember.TEMPLATES["tabs/foo-tabpane"]=Ember.Handlebars.template(function(a,b,c,d,e){this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var f,g,h,i,j="",k=c.helperMissing,l=this.escapeExpression;return g={title:b,sub:b},h={title:"STRING",sub:"STRING"},i={hash:{title:"FOO",sub:"Tab Pane Content"},contexts:[],types:[],hashContexts:g,hashTypes:h,data:e},e.buffer.push(l((f=c["bs-page-header"]||b["bs-page-header"],f?f.call(b,i):k.call(b,"bs-page-header",i)))),e.buffer.push("\r\nController is: "),h={},g={},e.buffer.push(l(c._triageMustache.call(b,"controller",{hash:{},contexts:[b],types:["ID"],hashContexts:g,hashTypes:h,data:e}))),j}),this.Ember.TEMPLATES.user=Ember.Handlebars.template(function(a,b,c,d,e){this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var f,g,h,i,j="",k=c.helperMissing,l=this.escapeExpression;return g={contentBinding:b},h={contentBinding:"STRING"},i={hash:{contentBinding:"tabsMeta"},contexts:[],types:[],hashContexts:g,hashTypes:h,data:e},e.buffer.push(l((f=c["bs-tabs"]||b["bs-tabs"],f?f.call(b,i):k.call(b,"bs-tabs",i)))),e.buffer.push("\r\n\r\n"),h={},g={},e.buffer.push(l(c._triageMustache.call(b,"outlet",{hash:{},contexts:[b],types:["ID"],hashContexts:g,hashTypes:h,data:e}))),j}),this.Ember.TEMPLATES["user/activities"]=Ember.Handlebars.template(function(a,b,c,d,e){this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var f,g,h,i,j=c.helperMissing,k=this.escapeExpression;g={title:b,sub:b},h={title:"STRING",sub:"STRING"},i={hash:{title:"Activities",sub:"User latest Activities"},contexts:[],types:[],hashContexts:g,hashTypes:h,data:e},e.buffer.push(k((f=c["bs-page-header"]||b["bs-page-header"],f?f.call(b,i):j.call(b,"bs-page-header",i))))}),this.Ember.TEMPLATES["user/general"]=Ember.Handlebars.template(function(a,b,c,d,e){this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var f,g,h,i,j=c.helperMissing,k=this.escapeExpression;g={title:b,sub:b},h={title:"STRING",sub:"STRING"},i={hash:{title:"General",sub:"User general details"},contexts:[],types:[],hashContexts:g,hashTypes:h,data:e},e.buffer.push(k((f=c["bs-page-header"]||b["bs-page-header"],f?f.call(b,i):j.call(b,"bs-page-header",i))))}),this.Ember.TEMPLATES["user/privacy"]=Ember.Handlebars.template(function(a,b,c,d,e){this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var f,g,h,i,j=c.helperMissing,k=this.escapeExpression;g={title:b,sub:b},h={title:"STRING",sub:"STRING"},i={hash:{title:"Privacy",sub:"User Privacy details"},contexts:[],types:[],hashContexts:g,hashTypes:h,data:e},e.buffer.push(k((f=c["bs-page-header"]||b["bs-page-header"],f?f.call(b,i):j.call(b,"bs-page-header",i))))}),this.Ember.TEMPLATES["wizard/step1"]=Ember.Handlebars.template(function(a,b,c,d,e){this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{},e.buffer.push("

    Step1

    ")}),this.Ember.TEMPLATES["wizard/step2"]=Ember.Handlebars.template(function(a,b,c,d,e){this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{},e.buffer.push("

    Step 2

    ")}),this.Ember.TEMPLATES["wizard/step3"]=Ember.Handlebars.template(function(a,b,c,d,e){this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{},e.buffer.push("

    Step 3

    ")}),function(){!function(){var a,b;a=window.Bootstrap,b=window.Showcase=Ember.Application.create({LOG_TRANSITIONS:!0,LOG_VIEW_LOOKUPS:!0,LOG_ACTIVE_GENERATION:!0}),Ember.ENV={HELPER_PARAM_LOOKUPS:!0},Ember.Handlebars.registerHelper("raw",function(a){return a.fn(a)})}(),function(){(function(){Showcase.Router.map(function(){return this.resource("show_components",function(){return this.route("alert"),this.route("breadcrumbs"),this.route("modal"),this.route("label"),this.route("badge"),this.route("well"),this.route("list-group"),this.route("panel"),this.route("page-header"),this.route("button"),this.route("buttonGroup"),this.route("progressbar"),this.route("pills"),this.route("tabs"),this.route("tabs-panes"),this.route("wizard"),this.route("items_action_bar"),this.route("tabs-with-routes"),this.route("notifications"),this.route("growl-notif"),this.route("popover"),this.resource("user",function(){return this.route("general"),this.route("privacy"),this.route("activities")})})})}).call(this)}(),function(){(function(){Showcase.ApplicationRoute=Ember.Route.extend({model:function(){return[Ember.Object.create({title:"Alert",route:"show_components.alert"}),Ember.Object.create({title:"Breadcrumbs",route:"show_components.breadcrumbs","new":!0}),Ember.Object.create({title:"Modal",route:"show_components.modal"}),Ember.Object.create({title:"Label",route:"show_components.label"}),Ember.Object.create({title:"Badge",route:"show_components.badge"}),Ember.Object.create({title:"Well",route:"show_components.well"}),Ember.Object.create({title:"List Group",route:"show_components.list-group"}),Ember.Object.create({title:"Panel",route:"show_components.panel"}),Ember.Object.create({title:"Page Header",route:"show_components.page-header"}),Ember.Object.create({title:"Button",route:"show_components.button"}),Ember.Object.create({title:"Button Group",route:"show_components.buttonGroup"}),Ember.Object.create({title:"Progressbar",route:"show_components.progressbar"}),Ember.Object.create({title:"Tooltips & Popover","new":!0,route:"show_components.popover"}),Ember.Object.create({title:"Nav - Pills",route:"show_components.pills"}),Ember.Object.create({title:"Nav - Tabs",route:"show_components.tabs"}),Ember.Object.create({title:"Nav - Tabs Panes",route:"show_components.tabs-panes"}),Ember.Object.create({title:"Nav - Tabs with Routes",special:!0,route:"show_components.tabs-with-routes"}),Ember.Object.create({title:"Wizard",special:!0,route:"show_components.wizard"}),Ember.Object.create({title:"Notifications",special:!0,route:"show_components.notifications"}),Ember.Object.create({title:"Items Action Bar","new":!0,route:"show_components.items_action_bar"}),Ember.Object.create({title:"Growl Notifications",special:!0,route:"show_components.growl-notif"})]}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsPopoverRoute=Ember.Route.extend({renderTemplate:function(){var a;return this.render(),a=this.controllerFor("ShowComponentsTooltipBox"),this.render("bs-tooltip-box",{outlet:"bs-tooltip-box",controller:a,into:"application"})}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsAlertController=Ember.Controller.extend({actions:{submit:function(){return alert("Action taken by controller!")},didAlertClosed:function(){return alert("From controller: The -closed- event was triggered.")},didAlertClose:function(){return alert("From controller: The -close- event was triggered.")}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsButtonController=Ember.Controller.extend({isButtonDisabled:!1,loadingState:null,loadingState1:null,actions:{disableButton:function(){return this.set("isButtonDisabled",!0)},startLoading:function(){var a=this;return this.set("loadingState","loading"),Ember.run.later(function(){return a.set("loadingState",null)},2e3)},startLoading1:function(){var a=this;return this.set("loadingState1","loading"),Ember.run.later(function(){return a.set("loadingState1","completed")},2e3)},buttonWithParam:function(a){return alert("Passed controller as a param: "+a)}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsItemsActionBarController=Ember.Controller.extend({actionsInBar:[[{title:"To Alerts",disabled:function(a){var b;return a.size<1||"Alerts"!==(null!=a&&null!=(b=a[0])?b.title:void 0)?!0:void 0},transitionTo:"show_components.alert"},{title:"To Panels",transitionTo:"show_components.panel",disabled:function(a){var b;return a.size<1||"Panels"!==(null!=a&&null!=(b=a[0])?b.title:void 0)?!0:void 0}}],[{title:"To Wizard",disabled:function(a){var b;return a.size<1||"Wizards"!==(null!=a&&null!=(b=a[0])?b.title:void 0)?!0:void 0},clickActionName:"wizard"}]],actions:{wizard:function(){return alert("Wizard pressed!")}},items:[Ember.Object.create({title:"Alerts"}),Ember.Object.create({title:"Panels"}),Ember.Object.create({title:"Wizards"})]})}).call(this)}(),function(){(function(){Showcase.ShowComponentsPanelController=Ember.Controller.extend({actions:{panelClicked:function(){return alert("Hello from controller: A click in a panel!")},panelClosed:function(){return alert("Hello from controller: The panel was closed!")}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsPopoverController=Ember.Controller.extend({testObject:Ember.Object.createWithMixins({sticky:function(){return Ember.Object.create({user:this,content:"know this is a sticky tooltip! You can hover over it.",trigger:"hover",sticky:!0})}.property()}),user:Ember.Object.create({firstNameBinding:"content.name",title:"rename",template:'name: {{input type="text" value=content.name}}',content:{name:"John"},trigger:"hover",sticky:!0}),hoverPop:Ember.Object.create({title:"I'm a title!",content:"And i'm a content!",trigger:"hover",placement:"right",sticky:!0}),clickPop:Ember.Object.create({title:"Clickable!",content:"

    Hello

    This is a clickable popover with html content!",placement:"left",html:!0}),templPop:Ember.Object.create({firstName:"numbers",title:"Popover with Template",template:"numbers:
      {{#each val in content.numbers}}
    • {{val}}
    • {{/each}}
    ",content:{numbers:[1,2,3]}})})}).call(this)}(),function(){(function(){Showcase.ShowComponentsProgressbarController=Ember.Controller.extend({prog:0,incrementBy:20,actions:{increment:function(){return this.prog<100?this.incrementProperty("prog",this.incrementBy):this.set("prog",this.incrementBy)}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsTooltipBoxController=Bootstrap.TooltipBoxController}).call(this)}(),function(){(function(){Showcase.ShowComponentsWellController=Ember.Controller.extend({wellClick:function(){return alert("Hello from controller: A click in a well!")}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsButtonGroupController=Ember.Controller.extend({options:["Home","Profile","Messages"],options2:["Admin","Settings"],optionsWithMeta:[Ember.Object.create({title:"Create",type:"primary"}),Ember.Object.create({title:"Destroy",type:"danger"})]})}).call(this)}(),function(){(function(){Showcase.ShowComponentsPillsController=Ember.Controller.extend({content:["Home","Profile","Messages"],init:function(){return this._super(),this.set("content1",Ember.A([Ember.Object.create({title:"Home","default":!0,disabled:!1}),Ember.Object.create({title:"Admin",disabled:!0})])),this.set("selected1",this.get("content1").objectAt(0))},contentChanged:function(){return console.log("Selection has changed to: "+this.get("selected"))}.observes("selected"),actions:{disableHome:function(){return this.get("content1").objectAt(0).set("disabled",!0)}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsGrowlNotifController=Ember.Controller.extend({actions:{pushInfo:function(){return Bootstrap.GNM.push("INFO!","Hello, this is just an info message.","info")},pushSuccess:function(){return Bootstrap.GNM.push("SUCCESS!","Successfully performed operation!","success")},pushWarn:function(){return Bootstrap.GNM.push("WARN!","Could not perform operation!","warning")},pushDanger:function(){return Bootstrap.GNM.push("Danger!","System is halting!","danger")}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsListGroupController=Ember.Controller.extend({listSimple:Ember.A(["Cras justo odio","Dapibus ac facilisis in","Morbi leo risus"]),listWithBadges:Ember.A([Ember.Object.create({title:"Inbox",badge:"45"}),Ember.Object.create({title:"Sent",badge:"33"})]),listWithSub:Ember.A([Ember.Object.create({title:"Inbox",sub:"Incoming mails folder",badge:"45"}),Ember.Object.create({title:"Sent",sub:"Sent emails folder",badge:"33"})])})}).call(this)}(),function(){(function(){Showcase.ShowComponentsModalController=Ember.Controller.extend({message:"Welcome to Bootstrap for Ember..!",myModalButtons:[Ember.Object.create({title:"Submit",clicked:"submit"}),Ember.Object.create({title:"Cancel",clicked:"cancel",dismiss:"modal"})],manualButtons:[Ember.Object.create({title:"Submit",clicked:"submitManual"}),Ember.Object.create({title:"Cancel",dismiss:"modal"})],actions:{submit:function(){return Bootstrap.NM.push("Successfully submitted modal","success"),Bootstrap.ModalManager.hide("myModal")},cancel:function(){return Bootstrap.NM.push("Modal was cancelled","info")},show:function(){return Bootstrap.ModalManager.show("myModal")},submitManual:function(){return Bootstrap.NM.push("Modal destroyed!","success"),Bootstrap.ModalManager.close("manualModal")},createModalProgramatically:function(){var a;return a=Ember.View.extend({template:Ember.Handlebars.compile("This is a programatic ")}),Bootstrap.ModalManager.open("manualModal","Hello","demo-template",this.manualButtons,this)},confirm:function(){return Bootstrap.ModalManager.confirm(this)},modalConfirmed:function(){return Bootstrap.NM.push("Confirmed!","success")},modalCanceled:function(){return Bootstrap.NM.push("Cancelled!","info")}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsNotificationsController=Ember.Controller.extend({actions:{pushInfo:function(){return Bootstrap.NM.push("Hello, this is just an info message.","info")},pushWarn:function(){return Bootstrap.NM.push("Could not perform operation!","warning")},pushSuccess:function(){return Bootstrap.NM.push("Successfully performed operation!","success")},pushDanger:function(){return Bootstrap.NM.push("Danger! system is halting!","danger")}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsTabsController=Ember.Controller.extend({content:["Home","Profile","Messages"],init:function(){return this._super(),this.set("selected","Home"),this.set("tabsPanesOptions",Ember.A([Ember.Object.create({title:"Foo",template:"tabs/foo-tabpane"}),Ember.Object.create({title:"Bar",template:"tabs/bar-tabpane"})]))}})}).call(this)}(),function(){(function(){Showcase.ShowcaseComponentsTabsFooController=Ember.Controller.extend()}).call(this)}(),function(){(function(){Showcase.ShowComponentsTabsPanesController=Ember.Controller.extend({tabsMeta:Ember.A([Ember.Object.create({title:"Foo",template:"tabs/foo-tabpane",controller:"ShowcaseComponentsTabsFoo"}),Ember.Object.create({title:"Bar",template:"tabs/bar-tabpane"})])})}).call(this)}(),function(){(function(){Showcase.ShowComponentsWizardController=Ember.Controller.extend({init:function(){return this._super(),this.set("steps",Ember.A([Ember.Object.create({title:"Foo",template:"tabs/foo-tabpane"}),Ember.Object.create({title:"Bar",template:"tabs/bar-tabpane"}),Ember.Object.create({title:"Baz",template:"tabs/baz-tabpane"})])),this.set("stepsNoPrev",Ember.A([Ember.Object.create({title:"Step1",template:"tabs/foo-tabpane",disabled:!0}),Ember.Object.create({title:"Step2",template:"tabs/bar-tabpane",disabled:!0}),Ember.Object.create({title:"Step3",template:"tabs/baz-tabpane",disabled:!0})]))},actions:{createWizard:function(){var a;return a=Bootstrap.BsWizardComponent.extend({content:[Ember.Object.create({title:"Step1",template:"wizard/step1",disabled:!0}),Ember.Object.create({title:"Step2",template:"wizard/step2",disabled:!0}),Ember.Object.create({title:"Step3",template:"wizard/step3",disabled:!0})],targetObject:this,onNext:"onNext",onPrev:"onPrev",onFinish:"onFinish"}),Bootstrap.ModalManager.open("manualModal","Wizard Title...",a,null,this)},onNext:function(){return console.log("NEXT")},onPrev:function(){return console.log("PREV")},onFinish:function(){return Bootstrap.ModalManager.close("manualModal"),Bootstrap.NM.push("Wizard completed!") +}}})}).call(this)}(),function(){(function(){Showcase.UserController=Ember.Controller.extend({tabsMeta:[Ember.Object.create({title:"General",linkTo:"user.general"}),Ember.Object.create({title:"Privacy",linkTo:"user.privacy"}),Ember.Object.create({title:"Activities",linkTo:"user.activities"})]})}).call(this)}(),function(){}.call(this)}(); \ No newline at end of file diff --git a/dist/showcase/scripts/vendor/modernizr.js b/dist/showcase/scripts/vendor/modernizr.js new file mode 100644 index 0000000..e69de29 diff --git a/dist/showcase/styles/main.css b/dist/showcase/styles/main.css new file mode 100644 index 0000000..e69de29 From 49dc2a43bf0add96674505450aa4541580216a14 Mon Sep 17 00:00:00 2001 From: danshapir Date: Thu, 19 Feb 2015 09:22:33 +0200 Subject: [PATCH 03/24] Move to emberTemplates --- Gruntfile.js | 33 +-- dist/js/bs-alert.max.js | 137 ++++++++--- dist/js/bs-alert.min.js | 2 +- dist/js/bs-badge.max.js | 20 +- dist/js/bs-badge.min.js | 2 +- dist/js/bs-basic.max.js | 229 +++++++------------ dist/js/bs-basic.min.js | 2 +- dist/js/bs-button.max.js | 176 ++++++++++---- dist/js/bs-button.min.js | 2 +- dist/js/bs-core.max.js | 57 +++++ dist/js/bs-core.min.js | 2 +- dist/js/bs-label.max.js | 20 +- dist/js/bs-label.min.js | 2 +- dist/js/bs-modal.max.js | 157 +++++-------- dist/js/bs-modal.min.js | 2 +- dist/js/bs-progressbar.max.js | 69 ++---- dist/js/bs-progressbar.min.js | 2 +- dist/showcase/scripts/showcase-components.js | 17 ++ dist/showcase/scripts/showcase.js | 6 +- dist/showcase/scripts/vendor/modernizr.js | 1 + dist/showcase/styles/main.css | 12 + package.json | 3 +- 22 files changed, 515 insertions(+), 438 deletions(-) diff --git a/Gruntfile.js b/Gruntfile.js index a092e71..3af5f92 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -37,9 +37,9 @@ module.exports = function (grunt) { files: ['<%= yeoman.app %>/styles/{,*/}*.{scss,sass}'], tasks: ['compass:server'] }, - ember_handlebars: { + emberTemplates: { files: '<%= yeoman.app %>/templates/**/*.hbs', - tasks: ['ember_handlebars'] + tasks: ['emberTemplates'] }, markdown: { files: '<%= yeoman.app %>/templates/**/*.md', @@ -309,7 +309,7 @@ module.exports = function (grunt) { server: [ 'compass', 'markdown', - 'ember_handlebars', + 'emberTemplates', 'coffee:dist' ], test: [ @@ -318,21 +318,22 @@ module.exports = function (grunt) { dist: [ 'coffee', 'markdown', - 'ember_handlebars', + 'emberTemplates', 'compass', 'imagemin', 'svgmin', 'htmlmin' ] }, - ember_handlebars: { - compile_components: { + emberTemplates: { + compile: { options: { - processName: function(filename) { - var fromComponent = filename.substring(filename.lastIndexOf('/components/')+1,filename.length); + templateNameFromFile: function(filename) { + var fromComponent = filename.substring(filename.lastIndexOf('/components/')+1,filename.length); return fromComponent.substring(0,fromComponent.length-4); - }, - namespace: "Ember.TEMPLATES" + }, + + templateNamespace: "Ember.TEMPLATES" }, files: { '.tmp/scripts/bs-basic.js': [ @@ -352,18 +353,6 @@ module.exports = function (grunt) { '.tmp/scripts/bs-pills.js': '<%= yeoman.app %>/templates/components/bs-pills.hbs', '.tmp/scripts/bs-modal.js': '<%= yeoman.app %>/templates/components/bs-modal.hbs' } - }, - compile_showcase: { - options: { - processName: function(filename) { - var fromShowcase = filename.substring(filename.lastIndexOf('/showcase/')+1,filename.length) - return fromShowcase.substring(fromShowcase.indexOf('/')+1,fromShowcase.length-4); - }, - namespace: "Ember.TEMPLATES" - }, - files: { - '.tmp/scripts/showcase-templates.js': '<%= yeoman.app %>/templates/showcase/**/*.hbs' - } } }, markdown: { diff --git a/dist/js/bs-alert.max.js b/dist/js/bs-alert.max.js index 16f039d..3285104 100644 --- a/dist/js/bs-alert.max.js +++ b/dist/js/bs-alert.max.js @@ -1,3 +1,102 @@ +/* ======================================================================== + * Bootstrap: alert.js v3.0.0 + * http://twbs.github.com/bootstrap/javascript.html#alerts + * ======================================================================== + * Copyright 2013 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ======================================================================== */ + + ++function ($) { "use strict"; + + // ALERT CLASS DEFINITION + // ====================== + + var dismiss = '[data-dismiss="alert"]' + var Alert = function (el) { + $(el).on('click', dismiss, this.close) + } + + Alert.prototype.close = function (e) { + var $this = $(this) + var selector = $this.attr('data-target') + + if (!selector) { + selector = $this.attr('href') + selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7 + } + + var $parent = $(selector) + + if (e) e.preventDefault() + + if (!$parent.length) { + $parent = $this.hasClass('alert') ? $this : $this.parent() + } + + $parent.trigger(e = $.Event('close.bs.alert')) + + if (e.isDefaultPrevented()) return + + $parent.removeClass('in') + + function removeElement() { + $parent.trigger('closed.bs.alert').remove() + } + + $.support.transition && $parent.hasClass('fade') ? + $parent + .one($.support.transition.end, removeElement) + .emulateTransitionEnd(150) : + removeElement() + } + + + // ALERT PLUGIN DEFINITION + // ======================= + + var old = $.fn.alert + + $.fn.alert = function (option) { + return this.each(function () { + var $this = $(this) + var data = $this.data('bs.alert') + + if (!data) $this.data('bs.alert', (data = new Alert(this))) + if (typeof option == 'string') data[option].call($this) + }) + } + + $.fn.alert.Constructor = Alert + + + // ALERT NO CONFLICT + // ================= + + $.fn.alert.noConflict = function () { + $.fn.alert = old + return this + } + + + // ALERT DATA-API + // ============== + + $(document).on('click.bs.alert.data-api', dismiss, Alert.prototype.close) + +}(window.jQuery); + (function() { Bootstrap.BsAlertComponent = Ember.Component.extend(Bootstrap.TypeSupport, { classNames: ['alert'], @@ -29,31 +128,15 @@ }).call(this); -this["Ember"] = this["Ember"] || {}; -this["Ember"]["TEMPLATES"] = this["Ember"]["TEMPLATES"] || {}; - -this["Ember"]["TEMPLATES"]["components/bs-alert"] = Ember.Handlebars.template(function anonymous(Handlebars,depth0,helpers,partials,data) { -this.compilerInfo = [4,'>= 1.0.0']; -helpers = this.merge(helpers, Ember.Handlebars.helpers); data = data || {}; - var buffer = '', stack1, hashTypes, hashContexts, self=this, escapeExpression=this.escapeExpression; - -function program1(depth0,data) { - - - data.buffer.push("\r\n ×\r\n"); - } - - hashTypes = {}; - hashContexts = {}; - stack1 = helpers['if'].call(depth0, "dismiss", {hash:{},inverse:self.noop,fn:self.program(1, program1, data),contexts:[depth0],types:["ID"],hashContexts:hashContexts,hashTypes:hashTypes,data:data}); - if(stack1 || stack1 === 0) { data.buffer.push(stack1); } - data.buffer.push("\r\n"); - hashTypes = {}; - hashContexts = {}; - data.buffer.push(escapeExpression(helpers._triageMustache.call(depth0, "message", {hash:{},contexts:[depth0],types:["ID"],hashContexts:hashContexts,hashTypes:hashTypes,data:data}))); - hashTypes = {}; - hashContexts = {}; - data.buffer.push(escapeExpression(helpers._triageMustache.call(depth0, "yield", {hash:{},contexts:[depth0],types:["ID"],hashContexts:hashContexts,hashTypes:hashTypes,data:data}))); +Ember.TEMPLATES["components/bs-alert"] = Ember.Ember.TEMPLATES.template({"1":function(depth0,helpers,partials,data) { + data.buffer.push(" ×\r\n"); + },"compiler":[6,">= 2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) { + var stack1, buffer = ''; + stack1 = helpers['if'].call(depth0, "dismiss", {"name":"if","hash":{},"hashTypes":{},"hashContexts":{},"fn":this.program(1, data),"inverse":this.noop,"types":["ID"],"contexts":[depth0],"data":data}); + if (stack1 != null) { data.buffer.push(stack1); } + stack1 = helpers._triageMustache.call(depth0, "message", {"name":"_triageMustache","hash":{},"hashTypes":{},"hashContexts":{},"types":["ID"],"contexts":[depth0],"data":data}); + if (stack1 != null) { data.buffer.push(stack1); } + stack1 = helpers._triageMustache.call(depth0, "yield", {"name":"_triageMustache","hash":{},"hashTypes":{},"hashContexts":{},"types":["ID"],"contexts":[depth0],"data":data}); + if (stack1 != null) { data.buffer.push(stack1); } return buffer; - -}); \ No newline at end of file +},"useData":true}); \ No newline at end of file diff --git a/dist/js/bs-alert.min.js b/dist/js/bs-alert.min.js index 0b3bf67..1a79d3c 100644 --- a/dist/js/bs-alert.min.js +++ b/dist/js/bs-alert.min.js @@ -1 +1 @@ -(function(){Bootstrap.BsAlertComponent=Ember.Component.extend(Bootstrap.TypeSupport,{classNames:["alert"],classNameBindings:["fade","fade:in"],layoutName:"components/bs-alert",classTypePrefix:"alert",attributeBindings:["data-timeout"],dismissAfter:0,closedParam:null,didInsertElement:function(){var a=this;return this.dismissAfter>0&&Ember.run.later(this,"dismiss",1e3*this.dismissAfter),Ember.$("#"+this.elementId).bind("closed.bs.alert",function(){return a.sendAction("closed",a.get("closedParam")),a.destroy()}),Ember.$("#"+this.elementId).bind("close.bs.alert",function(){return a.sendAction("close",a.get("closedParam"))})},dismiss:function(){return Ember.$("#"+this.elementId).alert("close")}}),Ember.Handlebars.helper("bs-alert",Bootstrap.BsAlertComponent)}).call(this),this.Ember=this.Ember||{},this.Ember.TEMPLATES=this.Ember.TEMPLATES||{},this.Ember.TEMPLATES["components/bs-alert"]=Ember.Handlebars.template(function(a,b,c,d,e){function f(a,b){b.buffer.push('\r\n ×\r\n')}this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var g,h,i,j="",k=this,l=this.escapeExpression;return h={},i={},g=c["if"].call(b,"dismiss",{hash:{},inverse:k.noop,fn:k.program(1,f,e),contexts:[b],types:["ID"],hashContexts:i,hashTypes:h,data:e}),(g||0===g)&&e.buffer.push(g),e.buffer.push("\r\n"),h={},i={},e.buffer.push(l(c._triageMustache.call(b,"message",{hash:{},contexts:[b],types:["ID"],hashContexts:i,hashTypes:h,data:e}))),h={},i={},e.buffer.push(l(c._triageMustache.call(b,"yield",{hash:{},contexts:[b],types:["ID"],hashContexts:i,hashTypes:h,data:e}))),j}); \ No newline at end of file ++function(a){"use strict";var b='[data-dismiss="alert"]',c=function(c){a(c).on("click",b,this.close)};c.prototype.close=function(b){function c(){f.trigger("closed.bs.alert").remove()}var d=a(this),e=d.attr("data-target");e||(e=d.attr("href"),e=e&&e.replace(/.*(?=#[^\s]*$)/,""));var f=a(e);b&&b.preventDefault(),f.length||(f=d.hasClass("alert")?d:d.parent()),f.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one(a.support.transition.end,c).emulateTransitionEnd(150):c())};var d=a.fn.alert;a.fn.alert=function(b){return this.each(function(){var d=a(this),e=d.data("bs.alert");e||d.data("bs.alert",e=new c(this)),"string"==typeof b&&e[b].call(d)})},a.fn.alert.Constructor=c,a.fn.alert.noConflict=function(){return a.fn.alert=d,this},a(document).on("click.bs.alert.data-api",b,c.prototype.close)}(window.jQuery),function(){Bootstrap.BsAlertComponent=Ember.Component.extend(Bootstrap.TypeSupport,{classNames:["alert"],classNameBindings:["fade","fade:in"],layoutName:"components/bs-alert",classTypePrefix:"alert",attributeBindings:["data-timeout"],dismissAfter:0,closedParam:null,didInsertElement:function(){var a=this;return this.dismissAfter>0&&Ember.run.later(this,"dismiss",1e3*this.dismissAfter),Ember.$("#"+this.elementId).bind("closed.bs.alert",function(){return a.sendAction("closed",a.get("closedParam")),a.destroy()}),Ember.$("#"+this.elementId).bind("close.bs.alert",function(){return a.sendAction("close",a.get("closedParam"))})},dismiss:function(){return Ember.$("#"+this.elementId).alert("close")}}),Ember.Handlebars.helper("bs-alert",Bootstrap.BsAlertComponent)}.call(this),Ember.TEMPLATES["components/bs-alert"]=Ember.Ember.TEMPLATES.template({1:function(a,b,c,d){d.buffer.push(' ×\r\n')},compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f="";return e=b["if"].call(a,"dismiss",{name:"if",hash:{},hashTypes:{},hashContexts:{},fn:this.program(1,d),inverse:this.noop,types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),e=b._triageMustache.call(a,"message",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),e=b._triageMustache.call(a,"yield",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),f},useData:!0}); \ No newline at end of file diff --git a/dist/js/bs-badge.max.js b/dist/js/bs-badge.max.js index 3724644..76a6a9f 100644 --- a/dist/js/bs-badge.max.js +++ b/dist/js/bs-badge.max.js @@ -10,17 +10,9 @@ }).call(this); -this["Ember"] = this["Ember"] || {}; -this["Ember"]["TEMPLATES"] = this["Ember"]["TEMPLATES"] || {}; - -this["Ember"]["TEMPLATES"]["components/bs-badge"] = Ember.Handlebars.template(function anonymous(Handlebars,depth0,helpers,partials,data) { -this.compilerInfo = [4,'>= 1.0.0']; -helpers = this.merge(helpers, Ember.Handlebars.helpers); data = data || {}; - var hashTypes, hashContexts, escapeExpression=this.escapeExpression; - - - hashTypes = {}; - hashContexts = {}; - data.buffer.push(escapeExpression(helpers._triageMustache.call(depth0, "content", {hash:{},contexts:[depth0],types:["ID"],hashContexts:hashContexts,hashTypes:hashTypes,data:data}))); - -}); \ No newline at end of file +Ember.TEMPLATES["components/bs-badge"] = Ember.Ember.TEMPLATES.template({"compiler":[6,">= 2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) { + var stack1; + stack1 = helpers._triageMustache.call(depth0, "content", {"name":"_triageMustache","hash":{},"hashTypes":{},"hashContexts":{},"types":["ID"],"contexts":[depth0],"data":data}); + if (stack1 != null) { data.buffer.push(stack1); } + else { data.buffer.push(''); } + },"useData":true}); \ No newline at end of file diff --git a/dist/js/bs-badge.min.js b/dist/js/bs-badge.min.js index 125d3dd..fa29e67 100644 --- a/dist/js/bs-badge.min.js +++ b/dist/js/bs-badge.min.js @@ -1 +1 @@ -(function(){Bootstrap.BsBadgeComponent=Ember.Component.extend(Bootstrap.TypeSupport,{layoutName:"components/bs-badge",tagName:"span",classNames:["badge"],classTypePrefix:"badge"}),Ember.Handlebars.helper("bs-badge",Bootstrap.BsBadgeComponent)}).call(this),this.Ember=this.Ember||{},this.Ember.TEMPLATES=this.Ember.TEMPLATES||{},this.Ember.TEMPLATES["components/bs-badge"]=Ember.Handlebars.template(function(a,b,c,d,e){this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var f,g,h=this.escapeExpression;f={},g={},e.buffer.push(h(c._triageMustache.call(b,"content",{hash:{},contexts:[b],types:["ID"],hashContexts:g,hashTypes:f,data:e})))}); \ No newline at end of file +(function(){Bootstrap.BsBadgeComponent=Ember.Component.extend(Bootstrap.TypeSupport,{layoutName:"components/bs-badge",tagName:"span",classNames:["badge"],classTypePrefix:"badge"}),Ember.Handlebars.helper("bs-badge",Bootstrap.BsBadgeComponent)}).call(this),Ember.TEMPLATES["components/bs-badge"]=Ember.Ember.TEMPLATES.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e;e=b._triageMustache.call(a,"content",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),d.buffer.push(null!=e?e:"")},useData:!0}); \ No newline at end of file diff --git a/dist/js/bs-basic.max.js b/dist/js/bs-basic.max.js index f8fb684..5f79497 100644 --- a/dist/js/bs-basic.max.js +++ b/dist/js/bs-basic.max.js @@ -57,174 +57,103 @@ }).call(this); -this["Ember"] = this["Ember"] || {}; -this["Ember"]["TEMPLATES"] = this["Ember"]["TEMPLATES"] || {}; - -this["Ember"]["TEMPLATES"]["components/bs-page-header"] = Ember.Handlebars.template(function anonymous(Handlebars,depth0,helpers,partials,data) { -this.compilerInfo = [4,'>= 1.0.0']; -helpers = this.merge(helpers, Ember.Handlebars.helpers); data = data || {}; - var buffer = '', stack1, hashTypes, hashContexts, escapeExpression=this.escapeExpression, self=this; - -function program1(depth0,data) { - - var buffer = '', hashTypes, hashContexts; - data.buffer.push("\r\n "); - hashTypes = {}; - hashContexts = {}; - data.buffer.push(escapeExpression(helpers._triageMustache.call(depth0, "sub", {hash:{},contexts:[depth0],types:["ID"],hashContexts:hashContexts,hashTypes:hashTypes,data:data}))); - data.buffer.push("\r\n "); +Ember.TEMPLATES["components/bs-page-header"] = Ember.Ember.TEMPLATES.template({"1":function(depth0,helpers,partials,data) { + var stack1, buffer = ''; + data.buffer.push(" "); + stack1 = helpers._triageMustache.call(depth0, "sub", {"name":"_triageMustache","hash":{},"hashTypes":{},"hashContexts":{},"types":["ID"],"contexts":[depth0],"data":data}); + if (stack1 != null) { data.buffer.push(stack1); } + data.buffer.push("\r\n"); return buffer; - } - +},"compiler":[6,">= 2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) { + var stack1, buffer = ''; data.buffer.push("

    \r\n "); - hashTypes = {}; - hashContexts = {}; - data.buffer.push(escapeExpression(helpers._triageMustache.call(depth0, "title", {hash:{},contexts:[depth0],types:["ID"],hashContexts:hashContexts,hashTypes:hashTypes,data:data}))); - data.buffer.push("\r\n "); - hashTypes = {}; - hashContexts = {}; - stack1 = helpers['if'].call(depth0, "sub", {hash:{},inverse:self.noop,fn:self.program(1, program1, data),contexts:[depth0],types:["ID"],hashContexts:hashContexts,hashTypes:hashTypes,data:data}); - if(stack1 || stack1 === 0) { data.buffer.push(stack1); } - data.buffer.push("\r\n

    "); + stack1 = helpers._triageMustache.call(depth0, "title", {"name":"_triageMustache","hash":{},"hashTypes":{},"hashContexts":{},"types":["ID"],"contexts":[depth0],"data":data}); + if (stack1 != null) { data.buffer.push(stack1); } + data.buffer.push("\r\n"); + stack1 = helpers['if'].call(depth0, "sub", {"name":"if","hash":{},"hashTypes":{},"hashContexts":{},"fn":this.program(1, data),"inverse":this.noop,"types":["ID"],"contexts":[depth0],"data":data}); + if (stack1 != null) { data.buffer.push(stack1); } + data.buffer.push(""); return buffer; - -}); - -this["Ember"]["TEMPLATES"]["components/bs-well"] = Ember.Handlebars.template(function anonymous(Handlebars,depth0,helpers,partials,data) { -this.compilerInfo = [4,'>= 1.0.0']; -helpers = this.merge(helpers, Ember.Handlebars.helpers); data = data || {}; - var hashTypes, hashContexts, escapeExpression=this.escapeExpression; - - - hashTypes = {}; - hashContexts = {}; - data.buffer.push(escapeExpression(helpers._triageMustache.call(depth0, "yield", {hash:{},contexts:[depth0],types:["ID"],hashContexts:hashContexts,hashTypes:hashTypes,data:data}))); - -}); - -this["Ember"]["TEMPLATES"]["components/bs-panel"] = Ember.Handlebars.template(function anonymous(Handlebars,depth0,helpers,partials,data) { -this.compilerInfo = [4,'>= 1.0.0']; -helpers = this.merge(helpers, Ember.Handlebars.helpers); data = data || {}; - var buffer = '', stack1, hashTypes, hashContexts, helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression, self=this; - -function program1(depth0,data) { - - var buffer = '', stack1, hashTypes, hashContexts; - data.buffer.push("\r\n
    \r\n "); - hashTypes = {}; - hashContexts = {}; - stack1 = helpers['if'].call(depth0, "collapsible", {hash:{},inverse:self.program(4, program4, data),fn:self.program(2, program2, data),contexts:[depth0],types:["ID"],hashContexts:hashContexts,hashTypes:hashTypes,data:data}); - if(stack1 || stack1 === 0) { data.buffer.push(stack1); } - data.buffer.push("\r\n "); - hashTypes = {}; - hashContexts = {}; - stack1 = helpers['if'].call(depth0, "dismiss", {hash:{},inverse:self.noop,fn:self.program(6, program6, data),contexts:[depth0],types:["ID"],hashContexts:hashContexts,hashTypes:hashTypes,data:data}); - if(stack1 || stack1 === 0) { data.buffer.push(stack1); } - data.buffer.push("\r\n
    \r\n"); +},"useData":true}); + +Ember.TEMPLATES["components/bs-well"] = Ember.Ember.TEMPLATES.template({"compiler":[6,">= 2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) { + var stack1; + stack1 = helpers._triageMustache.call(depth0, "yield", {"name":"_triageMustache","hash":{},"hashTypes":{},"hashContexts":{},"types":["ID"],"contexts":[depth0],"data":data}); + if (stack1 != null) { data.buffer.push(stack1); } + else { data.buffer.push(''); } + },"useData":true}); + +Ember.TEMPLATES["components/bs-panel"] = Ember.Ember.TEMPLATES.template({"1":function(depth0,helpers,partials,data) { + var stack1, buffer = ''; + data.buffer.push("
    \r\n"); + stack1 = helpers['if'].call(depth0, "collapsible", {"name":"if","hash":{},"hashTypes":{},"hashContexts":{},"fn":this.program(2, data),"inverse":this.program(4, data),"types":["ID"],"contexts":[depth0],"data":data}); + if (stack1 != null) { data.buffer.push(stack1); } + stack1 = helpers['if'].call(depth0, "dismiss", {"name":"if","hash":{},"hashTypes":{},"hashContexts":{},"fn":this.program(6, data),"inverse":this.noop,"types":["ID"],"contexts":[depth0],"data":data}); + if (stack1 != null) { data.buffer.push(stack1); } + data.buffer.push("
    \r\n"); return buffer; - } -function program2(depth0,data) { - - var buffer = '', stack1, hashContexts, hashTypes, options; - data.buffer.push("\r\n \r\n "); - hashTypes = {}; - hashContexts = {}; - data.buffer.push(escapeExpression(helpers._triageMustache.call(depth0, "heading", {hash:{},contexts:[depth0],types:["ID"],hashContexts:hashContexts,hashTypes:hashTypes,data:data}))); - data.buffer.push("\r\n \r\n "); + stack1 = helpers._triageMustache.call(depth0, "heading", {"name":"_triageMustache","hash":{},"hashTypes":{},"hashContexts":{},"types":["ID"],"contexts":[depth0],"data":data}); + if (stack1 != null) { data.buffer.push(stack1); } + data.buffer.push("\r\n \r\n"); return buffer; - } - -function program4(depth0,data) { - - var buffer = '', hashTypes, hashContexts; - data.buffer.push("\r\n "); - hashTypes = {}; - hashContexts = {}; - data.buffer.push(escapeExpression(helpers._triageMustache.call(depth0, "heading", {hash:{},contexts:[depth0],types:["ID"],hashContexts:hashContexts,hashTypes:hashTypes,data:data}))); - data.buffer.push("\r\n "); +},"4":function(depth0,helpers,partials,data) { + var stack1, buffer = ''; + data.buffer.push(" "); + stack1 = helpers._triageMustache.call(depth0, "heading", {"name":"_triageMustache","hash":{},"hashTypes":{},"hashContexts":{},"types":["ID"],"contexts":[depth0],"data":data}); + if (stack1 != null) { data.buffer.push(stack1); } + data.buffer.push("\r\n"); return buffer; - } - -function program6(depth0,data) { - - var buffer = '', hashTypes, hashContexts; - data.buffer.push("\r\n ×\r\n "); +},"6":function(depth0,helpers,partials,data) { + var escapeExpression=this.escapeExpression, buffer = ''; + data.buffer.push(" ×\r\n"); return buffer; - } - -function program8(depth0,data) { - - var buffer = '', stack1, hashContexts, hashTypes, options; - data.buffer.push("\r\n
    \r\n
    "); - hashTypes = {}; - hashContexts = {}; - data.buffer.push(escapeExpression(helpers._triageMustache.call(depth0, "yield", {hash:{},contexts:[depth0],types:["ID"],hashContexts:hashContexts,hashTypes:hashTypes,data:data}))); + stack1 = helpers._triageMustache.call(depth0, "yield", {"name":"_triageMustache","hash":{},"hashTypes":{},"hashContexts":{},"types":["ID"],"contexts":[depth0],"data":data}); + if (stack1 != null) { data.buffer.push(stack1); } data.buffer.push("
    \r\n
    \r\n"); return buffer; - } - -function program10(depth0,data) { - - var buffer = '', hashTypes, hashContexts; - data.buffer.push("\r\n
    "); - hashTypes = {}; - hashContexts = {}; - data.buffer.push(escapeExpression(helpers._triageMustache.call(depth0, "yield", {hash:{},contexts:[depth0],types:["ID"],hashContexts:hashContexts,hashTypes:hashTypes,data:data}))); +},"10":function(depth0,helpers,partials,data) { + var stack1, buffer = ''; + data.buffer.push("
    "); + stack1 = helpers._triageMustache.call(depth0, "yield", {"name":"_triageMustache","hash":{},"hashTypes":{},"hashContexts":{},"types":["ID"],"contexts":[depth0],"data":data}); + if (stack1 != null) { data.buffer.push(stack1); } data.buffer.push("
    \r\n"); return buffer; - } - -function program12(depth0,data) { - - var buffer = '', hashTypes, hashContexts; - data.buffer.push("\r\n
    "); - hashTypes = {}; - hashContexts = {}; - data.buffer.push(escapeExpression(helpers._triageMustache.call(depth0, "footer", {hash:{},contexts:[depth0],types:["ID"],hashContexts:hashContexts,hashTypes:hashTypes,data:data}))); +},"12":function(depth0,helpers,partials,data) { + var stack1, buffer = ''; + data.buffer.push("
    "); + stack1 = helpers._triageMustache.call(depth0, "footer", {"name":"_triageMustache","hash":{},"hashTypes":{},"hashContexts":{},"types":["ID"],"contexts":[depth0],"data":data}); + if (stack1 != null) { data.buffer.push(stack1); } data.buffer.push("
    \r\n"); return buffer; - } - - hashTypes = {}; - hashContexts = {}; - stack1 = helpers['if'].call(depth0, "heading", {hash:{},inverse:self.noop,fn:self.program(1, program1, data),contexts:[depth0],types:["ID"],hashContexts:hashContexts,hashTypes:hashTypes,data:data}); - if(stack1 || stack1 === 0) { data.buffer.push(stack1); } - data.buffer.push("\r\n\r\n"); - hashTypes = {}; - hashContexts = {}; - stack1 = helpers['if'].call(depth0, "collapsible", {hash:{},inverse:self.program(10, program10, data),fn:self.program(8, program8, data),contexts:[depth0],types:["ID"],hashContexts:hashContexts,hashTypes:hashTypes,data:data}); - if(stack1 || stack1 === 0) { data.buffer.push(stack1); } - data.buffer.push("\r\n\r\n"); - hashTypes = {}; - hashContexts = {}; - stack1 = helpers['if'].call(depth0, "footer", {hash:{},inverse:self.noop,fn:self.program(12, program12, data),contexts:[depth0],types:["ID"],hashContexts:hashContexts,hashTypes:hashTypes,data:data}); - if(stack1 || stack1 === 0) { data.buffer.push(stack1); } +},"compiler":[6,">= 2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) { + var stack1, buffer = ''; + stack1 = helpers['if'].call(depth0, "heading", {"name":"if","hash":{},"hashTypes":{},"hashContexts":{},"fn":this.program(1, data),"inverse":this.noop,"types":["ID"],"contexts":[depth0],"data":data}); + if (stack1 != null) { data.buffer.push(stack1); } + data.buffer.push("\r\n"); + stack1 = helpers['if'].call(depth0, "collapsible", {"name":"if","hash":{},"hashTypes":{},"hashContexts":{},"fn":this.program(8, data),"inverse":this.program(10, data),"types":["ID"],"contexts":[depth0],"data":data}); + if (stack1 != null) { data.buffer.push(stack1); } data.buffer.push("\r\n"); + stack1 = helpers['if'].call(depth0, "footer", {"name":"if","hash":{},"hashTypes":{},"hashContexts":{},"fn":this.program(12, data),"inverse":this.noop,"types":["ID"],"contexts":[depth0],"data":data}); + if (stack1 != null) { data.buffer.push(stack1); } return buffer; - -}); \ No newline at end of file +},"useData":true}); \ No newline at end of file diff --git a/dist/js/bs-basic.min.js b/dist/js/bs-basic.min.js index 10cfd4c..6324a25 100644 --- a/dist/js/bs-basic.min.js +++ b/dist/js/bs-basic.min.js @@ -1 +1 @@ -(function(){Bootstrap.BsWellComponent=Ember.Component.extend({layoutName:"components/bs-well",classNameBindings:["small:well-sm","large:well-lg"],classNames:["well"],click:function(){return this.sendAction("clicked")}}),Ember.Handlebars.helper("bs-well",Bootstrap.BsWellComponent)}).call(this),function(){Bootstrap.BsPageHeaderComponent=Ember.Component.extend({layoutName:"components/bs-page-header",classNames:["page-header"]}),Ember.Handlebars.helper("bs-page-header",Bootstrap.BsPageHeaderComponent)}.call(this),function(){Bootstrap.BsPanelComponent=Ember.Component.extend(Bootstrap.TypeSupport,{layoutName:"components/bs-panel",classNames:["panel"],classTypePrefix:["panel"],classNameBindings:["fade","fade:in"],clicked:null,onClose:null,fade:!0,collapsible:!1,open:!0,actions:{close:function(){return this.sendAction("onClose"),this.$().removeClass("in"),setTimeout(function(){return this.destroy()}.bind(this),250)}},click:function(){return this.sendAction("clicked")},collapsibleBodyId:function(){return""+this.get("elementId")+"_body"}.property("collapsible"),collapsibleBodyLink:function(){return"#"+this.get("elementId")+"_body"}.property("collapsibleBodyId")}),Ember.Handlebars.helper("bs-panel",Bootstrap.BsPanelComponent)}.call(this),this.Ember=this.Ember||{},this.Ember.TEMPLATES=this.Ember.TEMPLATES||{},this.Ember.TEMPLATES["components/bs-page-header"]=Ember.Handlebars.template(function(a,b,c,d,e){function f(a,b){var d,e,f="";return b.buffer.push("\r\n "),d={},e={},b.buffer.push(k(c._triageMustache.call(a,"sub",{hash:{},contexts:[a],types:["ID"],hashContexts:e,hashTypes:d,data:b}))),b.buffer.push("\r\n "),f}this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var g,h,i,j="",k=this.escapeExpression,l=this;return e.buffer.push("

    \r\n "),h={},i={},e.buffer.push(k(c._triageMustache.call(b,"title",{hash:{},contexts:[b],types:["ID"],hashContexts:i,hashTypes:h,data:e}))),e.buffer.push("\r\n "),h={},i={},g=c["if"].call(b,"sub",{hash:{},inverse:l.noop,fn:l.program(1,f,e),contexts:[b],types:["ID"],hashContexts:i,hashTypes:h,data:e}),(g||0===g)&&e.buffer.push(g),e.buffer.push("\r\n

    "),j}),this.Ember.TEMPLATES["components/bs-well"]=Ember.Handlebars.template(function(a,b,c,d,e){this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var f,g,h=this.escapeExpression;f={},g={},e.buffer.push(h(c._triageMustache.call(b,"yield",{hash:{},contexts:[b],types:["ID"],hashContexts:g,hashTypes:f,data:e})))}),this.Ember.TEMPLATES["components/bs-panel"]=Ember.Handlebars.template(function(a,b,c,d,e){function f(a,b){var d,e,f,j="";return b.buffer.push('\r\n
    \r\n '),e={},f={},d=c["if"].call(a,"collapsible",{hash:{},inverse:s.program(4,h,b),fn:s.program(2,g,b),contexts:[a],types:["ID"],hashContexts:f,hashTypes:e,data:b}),(d||0===d)&&b.buffer.push(d),b.buffer.push("\r\n "),e={},f={},d=c["if"].call(a,"dismiss",{hash:{},inverse:s.noop,fn:s.program(6,i,b),contexts:[a],types:["ID"],hashContexts:f,hashTypes:e,data:b}),(d||0===d)&&b.buffer.push(d),b.buffer.push("\r\n
    \r\n"),j}function g(a,b){var d,e,f,g,h="";return b.buffer.push('\r\n \r\n "),f={},e={},b.buffer.push(r(c._triageMustache.call(a,"heading",{hash:{},contexts:[a],types:["ID"],hashContexts:e,hashTypes:f,data:b}))),b.buffer.push("\r\n \r\n "),h}function h(a,b){var d,e,f="";return b.buffer.push("\r\n "),d={},e={},b.buffer.push(r(c._triageMustache.call(a,"heading",{hash:{},contexts:[a],types:["ID"],hashContexts:e,hashTypes:d,data:b}))),b.buffer.push("\r\n "),f}function i(a,b){var d,e,f="";return b.buffer.push('\r\n ×\r\n "),f}function j(a,b){var d,e,f,g,h="";return b.buffer.push("\r\n
    \r\n
    '),f={},e={},b.buffer.push(r(c._triageMustache.call(a,"yield",{hash:{},contexts:[a],types:["ID"],hashContexts:e,hashTypes:f,data:b}))),b.buffer.push("
    \r\n
    \r\n"),h}function k(a,b){var d,e,f="";return b.buffer.push('\r\n
    '),d={},e={},b.buffer.push(r(c._triageMustache.call(a,"yield",{hash:{},contexts:[a],types:["ID"],hashContexts:e,hashTypes:d,data:b}))),b.buffer.push("
    \r\n"),f}function l(a,b){var d,e,f="";return b.buffer.push('\r\n \r\n"),f}this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var m,n,o,p="",q=c.helperMissing,r=this.escapeExpression,s=this;return n={},o={},m=c["if"].call(b,"heading",{hash:{},inverse:s.noop,fn:s.program(1,f,e),contexts:[b],types:["ID"],hashContexts:o,hashTypes:n,data:e}),(m||0===m)&&e.buffer.push(m),e.buffer.push("\r\n\r\n"),n={},o={},m=c["if"].call(b,"collapsible",{hash:{},inverse:s.program(10,k,e),fn:s.program(8,j,e),contexts:[b],types:["ID"],hashContexts:o,hashTypes:n,data:e}),(m||0===m)&&e.buffer.push(m),e.buffer.push("\r\n\r\n"),n={},o={},m=c["if"].call(b,"footer",{hash:{},inverse:s.noop,fn:s.program(12,l,e),contexts:[b],types:["ID"],hashContexts:o,hashTypes:n,data:e}),(m||0===m)&&e.buffer.push(m),e.buffer.push("\r\n"),p}); \ No newline at end of file +(function(){Bootstrap.BsWellComponent=Ember.Component.extend({layoutName:"components/bs-well",classNameBindings:["small:well-sm","large:well-lg"],classNames:["well"],click:function(){return this.sendAction("clicked")}}),Ember.Handlebars.helper("bs-well",Bootstrap.BsWellComponent)}).call(this),function(){Bootstrap.BsPageHeaderComponent=Ember.Component.extend({layoutName:"components/bs-page-header",classNames:["page-header"]}),Ember.Handlebars.helper("bs-page-header",Bootstrap.BsPageHeaderComponent)}.call(this),function(){Bootstrap.BsPanelComponent=Ember.Component.extend(Bootstrap.TypeSupport,{layoutName:"components/bs-panel",classNames:["panel"],classTypePrefix:["panel"],classNameBindings:["fade","fade:in"],clicked:null,onClose:null,fade:!0,collapsible:!1,open:!0,actions:{close:function(){return this.sendAction("onClose"),this.$().removeClass("in"),setTimeout(function(){return this.destroy()}.bind(this),250)}},click:function(){return this.sendAction("clicked")},collapsibleBodyId:function(){return""+this.get("elementId")+"_body"}.property("collapsible"),collapsibleBodyLink:function(){return"#"+this.get("elementId")+"_body"}.property("collapsibleBodyId")}),Ember.Handlebars.helper("bs-panel",Bootstrap.BsPanelComponent)}.call(this),Ember.TEMPLATES["components/bs-page-header"]=Ember.Ember.TEMPLATES.template({1:function(a,b,c,d){var e,f="";return d.buffer.push(" "),e=b._triageMustache.call(a,"sub",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("\r\n"),f},compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f="";return d.buffer.push("

    \r\n "),e=b._triageMustache.call(a,"title",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("\r\n"),e=b["if"].call(a,"sub",{name:"if",hash:{},hashTypes:{},hashContexts:{},fn:this.program(1,d),inverse:this.noop,types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("

    "),f},useData:!0}),Ember.TEMPLATES["components/bs-well"]=Ember.Ember.TEMPLATES.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e;e=b._triageMustache.call(a,"yield",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),d.buffer.push(null!=e?e:"")},useData:!0}),Ember.TEMPLATES["components/bs-panel"]=Ember.Ember.TEMPLATES.template({1:function(a,b,c,d){var e,f="";return d.buffer.push('
    \r\n'),e=b["if"].call(a,"collapsible",{name:"if",hash:{},hashTypes:{},hashContexts:{},fn:this.program(2,d),inverse:this.program(4,d),types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),e=b["if"].call(a,"dismiss",{name:"if",hash:{},hashTypes:{},hashContexts:{},fn:this.program(6,d),inverse:this.noop,types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("
    \r\n"),f},2:function(a,b,c,d){var e,f=this.escapeExpression,g="";return d.buffer.push(' \r\n "),e=b._triageMustache.call(a,"heading",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("\r\n \r\n"),g},4:function(a,b,c,d){var e,f="";return d.buffer.push(" "),e=b._triageMustache.call(a,"heading",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("\r\n"),f},6:function(a,b,c,d){var e=this.escapeExpression,f="";return d.buffer.push(' ×\r\n"),f},8:function(a,b,c,d){var e,f=this.escapeExpression,g="";return d.buffer.push("
    \r\n
    '),e=b._triageMustache.call(a,"yield",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("
    \r\n
    \r\n"),g},10:function(a,b,c,d){var e,f="";return d.buffer.push('
    '),e=b._triageMustache.call(a,"yield",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("
    \r\n"),f},12:function(a,b,c,d){var e,f="";return d.buffer.push(' \r\n"),f},compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f="";return e=b["if"].call(a,"heading",{name:"if",hash:{},hashTypes:{},hashContexts:{},fn:this.program(1,d),inverse:this.noop,types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("\r\n"),e=b["if"].call(a,"collapsible",{name:"if",hash:{},hashTypes:{},hashContexts:{},fn:this.program(8,d),inverse:this.program(10,d),types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("\r\n"),e=b["if"].call(a,"footer",{name:"if",hash:{},hashTypes:{},hashContexts:{},fn:this.program(12,d),inverse:this.noop,types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),f},useData:!0}); \ No newline at end of file diff --git a/dist/js/bs-button.max.js b/dist/js/bs-button.max.js index ff0e2e9..c3a6331 100644 --- a/dist/js/bs-button.max.js +++ b/dist/js/bs-button.max.js @@ -1,3 +1,113 @@ +/* ======================================================================== + * Bootstrap: button.js v3.0.0 + * http://twbs.github.com/bootstrap/javascript.html#buttons + * ======================================================================== + * Copyright 2013 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ======================================================================== */ + + ++function ($) { "use strict"; + + // BUTTON PUBLIC CLASS DEFINITION + // ============================== + + var Button = function (element, options) { + this.$element = $(element) + this.options = $.extend({}, Button.DEFAULTS, options) + } + + Button.DEFAULTS = { + loadingText: 'loading...' + } + + Button.prototype.setState = function (state) { + var d = 'disabled' + var $el = this.$element + var val = $el.is('input') ? 'val' : 'html' + var data = $el.data() + + state = state + 'Text' + + if (!data.resetText) $el.data('resetText', $el[val]()) + + $el[val](data[state] || this.options[state]) + + // push to event loop to allow forms to submit + setTimeout(function () { + state == 'loadingText' ? + $el.addClass(d).attr(d, d) : + $el.removeClass(d).removeAttr(d); + }, 0) + } + + Button.prototype.toggle = function () { + var $parent = this.$element.closest('[data-toggle="buttons"]') + + if ($parent.length) { + var $input = this.$element.find('input') + .prop('checked', !this.$element.hasClass('active')) + .trigger('change') + if ($input.prop('type') === 'radio') $parent.find('.active').removeClass('active') + } + + this.$element.toggleClass('active') + } + + + // BUTTON PLUGIN DEFINITION + // ======================== + + var old = $.fn.button + + $.fn.button = function (option) { + return this.each(function () { + var $this = $(this) + var data = $this.data('bs.button') + var options = typeof option == 'object' && option + + if (!data) $this.data('bs.button', (data = new Button(this, options))) + + if (option == 'toggle') data.toggle() + else if (option) data.setState(option) + }) + } + + $.fn.button.Constructor = Button + + + // BUTTON NO CONFLICT + // ================== + + $.fn.button.noConflict = function () { + $.fn.button = old + return this + } + + + // BUTTON DATA-API + // =============== + + $(document).on('click.bs.button.data-api', '[data-toggle^=button]', function (e) { + var $btn = $(e.target) + if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn') + $btn.button('toggle') + e.preventDefault() + }) + +}(window.jQuery); + (function() { Bootstrap.BsButtonComponent = Ember.Component.extend(Bootstrap.TypeSupport, Bootstrap.SizeSupport, { layoutName: 'components/bs-button', @@ -113,53 +223,27 @@ A collection of button groups }).call(this); -this["Ember"] = this["Ember"] || {}; -this["Ember"]["TEMPLATES"] = this["Ember"]["TEMPLATES"] || {}; - -this["Ember"]["TEMPLATES"]["components/bs-button"] = Ember.Handlebars.template(function anonymous(Handlebars,depth0,helpers,partials,data) { -this.compilerInfo = [4,'>= 1.0.0']; -helpers = this.merge(helpers, Ember.Handlebars.helpers); data = data || {}; - var buffer = '', stack1, hashTypes, hashContexts, helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression, self=this; - -function program1(depth0,data) { - - var buffer = '', stack1, hashContexts, hashTypes, options; - data.buffer.push("\r\n \r\n"); return buffer; - } - - hashTypes = {}; - hashContexts = {}; - stack1 = helpers['if'].call(depth0, "icon", {hash:{},inverse:self.noop,fn:self.program(1, program1, data),contexts:[depth0],types:["ID"],hashContexts:hashContexts,hashTypes:hashTypes,data:data}); - if(stack1 || stack1 === 0) { data.buffer.push(stack1); } - data.buffer.push("\r\n"); - hashTypes = {}; - hashContexts = {}; - data.buffer.push(escapeExpression(helpers._triageMustache.call(depth0, "title", {hash:{},contexts:[depth0],types:["ID"],hashContexts:hashContexts,hashTypes:hashTypes,data:data}))); - hashTypes = {}; - hashContexts = {}; - data.buffer.push(escapeExpression(helpers._triageMustache.call(depth0, "yield", {hash:{},contexts:[depth0],types:["ID"],hashContexts:hashContexts,hashTypes:hashTypes,data:data}))); +},"compiler":[6,">= 2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) { + var stack1, buffer = ''; + stack1 = helpers['if'].call(depth0, "icon", {"name":"if","hash":{},"hashTypes":{},"hashContexts":{},"fn":this.program(1, data),"inverse":this.noop,"types":["ID"],"contexts":[depth0],"data":data}); + if (stack1 != null) { data.buffer.push(stack1); } + stack1 = helpers._triageMustache.call(depth0, "title", {"name":"_triageMustache","hash":{},"hashTypes":{},"hashContexts":{},"types":["ID"],"contexts":[depth0],"data":data}); + if (stack1 != null) { data.buffer.push(stack1); } + stack1 = helpers._triageMustache.call(depth0, "yield", {"name":"_triageMustache","hash":{},"hashTypes":{},"hashContexts":{},"types":["ID"],"contexts":[depth0],"data":data}); + if (stack1 != null) { data.buffer.push(stack1); } return buffer; - -}); -this["Ember"] = this["Ember"] || {}; -this["Ember"]["TEMPLATES"] = this["Ember"]["TEMPLATES"] || {}; - -this["Ember"]["TEMPLATES"]["components/bs-btn-toolbar"] = Ember.Handlebars.template(function anonymous(Handlebars,depth0,helpers,partials,data) { -this.compilerInfo = [4,'>= 1.0.0']; -helpers = this.merge(helpers, Ember.Handlebars.helpers); data = data || {}; - var hashTypes, hashContexts, escapeExpression=this.escapeExpression; - - - hashTypes = {}; - hashContexts = {}; - data.buffer.push(escapeExpression(helpers._triageMustache.call(depth0, "yield", {hash:{},contexts:[depth0],types:["ID"],hashContexts:hashContexts,hashTypes:hashTypes,data:data}))); - -}); \ No newline at end of file +},"useData":true}); +Ember.TEMPLATES["components/bs-btn-toolbar"] = Ember.Ember.TEMPLATES.template({"compiler":[6,">= 2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) { + var stack1; + stack1 = helpers._triageMustache.call(depth0, "yield", {"name":"_triageMustache","hash":{},"hashTypes":{},"hashContexts":{},"types":["ID"],"contexts":[depth0],"data":data}); + if (stack1 != null) { data.buffer.push(stack1); } + else { data.buffer.push(''); } + },"useData":true}); \ No newline at end of file diff --git a/dist/js/bs-button.min.js b/dist/js/bs-button.min.js index 44983d6..d6561ff 100644 --- a/dist/js/bs-button.min.js +++ b/dist/js/bs-button.min.js @@ -1 +1 @@ -(function(){Bootstrap.BsButtonComponent=Ember.Component.extend(Bootstrap.TypeSupport,Bootstrap.SizeSupport,{layoutName:"components/bs-button",tagName:"button",classNames:["btn"],classNameBindings:["blockClass"],classTypePrefix:"btn",clickedParam:null,block:null,attributeBindings:["disabled","dismiss:data-dismiss","_type:type","style"],_type:"button",bubbles:!0,allowedProperties:["title","type","size","block","disabled","clicked","dismiss","class"],icon_active:void 0,icon_inactive:void 0},{init:function(){var a,b,c,d,e,f,g;if(this._super(),null!=this.get("content")&&"instance"===Ember.typeOf(this.get("content")))for(b=this.get("content"),f=this.get("allowedProperties"),d=0,e=f.length;e>d;d++)c=f[d],null!=b[c]&&this.set(c,b[c]);else null==this.get("title")&&this.set("title",this.get("content"));g=[];for(a in this)null!=a.match(/^data-[\w-]*$/)&&g.push(this.attributeBindings.pushObject(a));return g},blockClass:function(){return this.block?""+this.classTypePrefix+"-block":null}.property("block").cacheable(),click:function(a){return this.get("bubbles")||a.stopPropagation(),this.sendAction("clicked",this.get("clickedParam"))},loadingChanged:function(){var a;return a=null!==this.get("loading")?this.get("loading"):"reset",Ember.$("#"+this.elementId).button(a)}.observes("loading"),icon:function(){return this.get(this.get("isActive")?"icon_active":"icon_inactive")}.property("isActive")}),Ember.Handlebars.helper("bs-button",Bootstrap.BsButtonComponent)}).call(this),function(){Bootstrap.BsBtnGroup=Bootstrap.ItemsView.extend(Bootstrap.SizeSupport,Bootstrap.ItemsSelection,{classTypePrefix:["btn-group"],classNames:["btn-group"],classNameBindings:["vertical:btn-group-vertical"],itemViewClass:Bootstrap.BsButtonComponent.extend(Bootstrap.ItemValue,Bootstrap.ItemSelection,{init:function(){return this._super(),this.set("icon_active",this.get("parentView.icon_active")),this.set("icon_inactive",this.get("parentView.icon_inactive"))}})}),Ember.Handlebars.helper("bs-btn-group",Bootstrap.BsBtnGroup)}.call(this),function(){Bootstrap.BsBtnToolbarComponent=Ember.Component.extend({layoutName:"components/bs-btn-toolbar",classNames:["btn-toolbar"]}),Ember.Handlebars.helper("bs-btn-toolbar",Bootstrap.BsBtnToolbarComponent)}.call(this),this.Ember=this.Ember||{},this.Ember.TEMPLATES=this.Ember.TEMPLATES||{},this.Ember.TEMPLATES["components/bs-button"]=Ember.Handlebars.template(function(a,b,c,d,e){function f(a,b){var d,e,f,g,h="";return b.buffer.push("\r\n \r\n"),h}this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var g,h,i,j="",k=c.helperMissing,l=this.escapeExpression,m=this;return h={},i={},g=c["if"].call(b,"icon",{hash:{},inverse:m.noop,fn:m.program(1,f,e),contexts:[b],types:["ID"],hashContexts:i,hashTypes:h,data:e}),(g||0===g)&&e.buffer.push(g),e.buffer.push("\r\n"),h={},i={},e.buffer.push(l(c._triageMustache.call(b,"title",{hash:{},contexts:[b],types:["ID"],hashContexts:i,hashTypes:h,data:e}))),h={},i={},e.buffer.push(l(c._triageMustache.call(b,"yield",{hash:{},contexts:[b],types:["ID"],hashContexts:i,hashTypes:h,data:e}))),j}),this.Ember=this.Ember||{},this.Ember.TEMPLATES=this.Ember.TEMPLATES||{},this.Ember.TEMPLATES["components/bs-btn-toolbar"]=Ember.Handlebars.template(function(a,b,c,d,e){this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var f,g,h=this.escapeExpression;f={},g={},e.buffer.push(h(c._triageMustache.call(b,"yield",{hash:{},contexts:[b],types:["ID"],hashContexts:g,hashTypes:f,data:e})))}); \ No newline at end of file ++function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d)};b.DEFAULTS={loadingText:"loading..."},b.prototype.setState=function(a){var b="disabled",c=this.$element,d=c.is("input")?"val":"html",e=c.data();a+="Text",e.resetText||c.data("resetText",c[d]()),c[d](e[a]||this.options[a]),setTimeout(function(){"loadingText"==a?c.addClass(b).attr(b,b):c.removeClass(b).removeAttr(b)},0)},b.prototype.toggle=function(){var a=this.$element.closest('[data-toggle="buttons"]');if(a.length){var b=this.$element.find("input").prop("checked",!this.$element.hasClass("active")).trigger("change");"radio"===b.prop("type")&&a.find(".active").removeClass("active")}this.$element.toggleClass("active")};var c=a.fn.button;a.fn.button=function(c){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof c&&c;e||d.data("bs.button",e=new b(this,f)),"toggle"==c?e.toggle():c&&e.setState(c)})},a.fn.button.Constructor=b,a.fn.button.noConflict=function(){return a.fn.button=c,this},a(document).on("click.bs.button.data-api","[data-toggle^=button]",function(b){var c=a(b.target);c.hasClass("btn")||(c=c.closest(".btn")),c.button("toggle"),b.preventDefault()})}(window.jQuery),function(){Bootstrap.BsButtonComponent=Ember.Component.extend(Bootstrap.TypeSupport,Bootstrap.SizeSupport,{layoutName:"components/bs-button",tagName:"button",classNames:["btn"],classNameBindings:["blockClass"],classTypePrefix:"btn",clickedParam:null,block:null,attributeBindings:["disabled","dismiss:data-dismiss","_type:type","style"],_type:"button",bubbles:!0,allowedProperties:["title","type","size","block","disabled","clicked","dismiss","class"],icon_active:void 0,icon_inactive:void 0},{init:function(){var a,b,c,d,e,f,g;if(this._super(),null!=this.get("content")&&"instance"===Ember.typeOf(this.get("content")))for(b=this.get("content"),f=this.get("allowedProperties"),d=0,e=f.length;e>d;d++)c=f[d],null!=b[c]&&this.set(c,b[c]);else null==this.get("title")&&this.set("title",this.get("content"));g=[];for(a in this)null!=a.match(/^data-[\w-]*$/)&&g.push(this.attributeBindings.pushObject(a));return g},blockClass:function(){return this.block?""+this.classTypePrefix+"-block":null}.property("block").cacheable(),click:function(a){return this.get("bubbles")||a.stopPropagation(),this.sendAction("clicked",this.get("clickedParam"))},loadingChanged:function(){var a;return a=null!==this.get("loading")?this.get("loading"):"reset",Ember.$("#"+this.elementId).button(a)}.observes("loading"),icon:function(){return this.get(this.get("isActive")?"icon_active":"icon_inactive")}.property("isActive")}),Ember.Handlebars.helper("bs-button",Bootstrap.BsButtonComponent)}.call(this),function(){Bootstrap.BsBtnGroup=Bootstrap.ItemsView.extend(Bootstrap.SizeSupport,Bootstrap.ItemsSelection,{classTypePrefix:["btn-group"],classNames:["btn-group"],classNameBindings:["vertical:btn-group-vertical"],itemViewClass:Bootstrap.BsButtonComponent.extend(Bootstrap.ItemValue,Bootstrap.ItemSelection,{init:function(){return this._super(),this.set("icon_active",this.get("parentView.icon_active")),this.set("icon_inactive",this.get("parentView.icon_inactive"))}})}),Ember.Handlebars.helper("bs-btn-group",Bootstrap.BsBtnGroup)}.call(this),function(){Bootstrap.BsBtnToolbarComponent=Ember.Component.extend({layoutName:"components/bs-btn-toolbar",classNames:["btn-toolbar"]}),Ember.Handlebars.helper("bs-btn-toolbar",Bootstrap.BsBtnToolbarComponent)}.call(this),Ember.TEMPLATES["components/bs-button"]=Ember.Ember.TEMPLATES.template({1:function(a,b,c,d){var e=this.escapeExpression,f="";return d.buffer.push(" \r\n"),f},compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f="";return e=b["if"].call(a,"icon",{name:"if",hash:{},hashTypes:{},hashContexts:{},fn:this.program(1,d),inverse:this.noop,types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),e=b._triageMustache.call(a,"title",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),e=b._triageMustache.call(a,"yield",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),f},useData:!0}),Ember.TEMPLATES["components/bs-btn-toolbar"]=Ember.Ember.TEMPLATES.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e;e=b._triageMustache.call(a,"yield",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),d.buffer.push(null!=e?e:"")},useData:!0}); \ No newline at end of file diff --git a/dist/js/bs-core.max.js b/dist/js/bs-core.max.js index 5cb173a..6dbb9fe 100644 --- a/dist/js/bs-core.max.js +++ b/dist/js/bs-core.max.js @@ -1,3 +1,60 @@ +/* ======================================================================== + * Bootstrap: transition.js v3.0.0 + * http://twbs.github.com/bootstrap/javascript.html#transitions + * ======================================================================== + * Copyright 2013 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ======================================================================== */ + + ++function ($) { "use strict"; + + // CSS TRANSITION SUPPORT (Shoutout: http://www.modernizr.com/) + // ============================================================ + + function transitionEnd() { + var el = document.createElement('bootstrap') + + var transEndEventNames = { + 'WebkitTransition' : 'webkitTransitionEnd' + , 'MozTransition' : 'transitionend' + , 'OTransition' : 'oTransitionEnd otransitionend' + , 'transition' : 'transitionend' + } + + for (var name in transEndEventNames) { + if (el.style[name] !== undefined) { + return { end: transEndEventNames[name] } + } + } + } + + // http://blog.alexmaccaw.com/css-transitions + $.fn.emulateTransitionEnd = function (duration) { + var called = false, $el = this + $(this).one($.support.transition.end, function () { called = true }) + var callback = function () { if (!called) $($el).trigger($.support.transition.end) } + setTimeout(callback, duration) + return this + } + + $(function () { + $.support.transition = transitionEnd() + }) + +}(window.jQuery); + (function() { var Bootstrap; diff --git a/dist/js/bs-core.min.js b/dist/js/bs-core.min.js index 1351fc3..1f93bef 100644 --- a/dist/js/bs-core.min.js +++ b/dist/js/bs-core.min.js @@ -1 +1 @@ -(function(){var a;a=window.Bootstrap=Ember.Namespace.create()}).call(this),function(){var a,b;a=window.Bootstrap,b=Ember.get,a.WithRouter=Ember.Mixin.create({router:Ember.computed(function(){return b(this,"controller").container.lookup("router:main")})})}.call(this),function(){var a,b,c;a=window.Bootstrap,b=Ember.get,c=Ember.set,a.TypeSupport=Ember.Mixin.create({classTypePrefix:Ember.required(String),classNameBindings:["typeClass"],type:"default",typeClass:function(){var a,b;return b=this.get("type"),null==b&&(b="default"),a=this.get("classTypePrefix"),""+a+"-"+b}.property("type").cacheable()})}.call(this),function(){var a,b,c;a=window.Bootstrap,b=Ember.get,c=Ember.set,a.SizeSupport=Ember.Mixin.create({classTypePrefix:Ember.required(String),classNameBindings:["sizeClass","largeSizeClass","smallSizeClass","extraSmallSizeClass"],size:null,xs:null,small:null,large:null,extraSmallSizeClass:function(){var a;return a=this.get("classTypePrefix"),this.xs?""+a+"-xs":null}.property("xs").cacheable(),smallSizeClass:function(){var a;return a=this.get("classTypePrefix"),this.small?""+a+"-sm":null}.property("small").cacheable(),largeSizeClass:function(){var a;return a=this.get("classTypePrefix"),this.large?""+a+"-lg":null}.property("large").cacheable(),sizeClass:function(){var a,b;return b=this.get("size"),a=this.get("classTypePrefix"),b?""+a+"-"+b:null}.property("size").cacheable()})}.call(this),function(){Bootstrap.ItemValue=Ember.Mixin.create({value:function(){var a,b;return a=this.get("parentView"),null!=a?b=this.get("content"):void 0}.property("content").cacheable()})}.call(this),function(){Bootstrap.ItemSelection=Ember.Mixin.create(Bootstrap.ItemValue,Bootstrap.WithRouter,{classNameBindings:["isActive:active"],init:function(){return this._super(),this.didRouteChange()},didRouteChange:function(){var a,b,c;return b=this.get("content.linkTo"),null!=b&&(a=this.get("parentView"),null!=a)&&(null!=(c=this.get("router"))?c.isActive(b):void 0)?a.set("selected",this.get("value")):void 0}.observes("router.url"),isActive:function(){var a,b,c;return a=this.get("parentView"),null==a?!1:(b=a.get("selected"),c=this.get("value"),null==c?!1:b===c)}.property("value","parentView.selected","content.linkTo").cacheable(),click:function(a){var b,c;return a.preventDefault(),c=this.get("parentView"),null==c||(b=this.get("content"),"object"==typeof b&&b.get("disabled")||null!=this.get("content.linkTo"))?void 0:c.set("selected",this.get("value"))}})}.call(this),function(){Bootstrap.ItemsSelection=Ember.Mixin.create({multiSelection:!1,selected:[]})}.call(this),function(){Bootstrap.Nav=Ember.Mixin.create({classNames:["nav"],classNameBindings:["navTypeClass"],tagName:"ul",navType:null,navTypeClass:function(){return null!=this.navType?"nav-"+this.navType:null}.property("navType").cacheable()})}.call(this),function(){Bootstrap.NavItem=Ember.Mixin.create(Bootstrap.SelectableView)}.call(this),function(){var a,b;a=function(a){var b,c;if(a&&(c=a.get("parentView")))return b=c instanceof Bootstrap.ItemsView,Ember.assert("The parent view must be an instance of Bootstrap.ItemsView or any inherited class",b),b?c:void 0},b=function(a,b,c){return"instance"===Ember.typeOf(a)||Ember.canInvoke(a,"get")?a.get(b):c},Bootstrap.ItemView=Ember.View.extend({isItem:!0,classNameBindings:["disabled"],title:function(){var c,d,e;if(e=a(this))return d=e.get("itemTitleKey")||"title",c=this.get("content"),b(c,d,c)}.property("content").cacheable(),disabled:function(){var c,d,e;if(e=a(this))return c=this.get("content"),d=!!b(c,"disabled",!1),d&&this.get("isActive")&&e.set("selected",null),d}.property("content","content.disabled").cacheable()})}.call(this),function(){Bootstrap.ItemsView=Ember.CollectionView.extend({didInsertElement:function(){var a,b,c,d,e,f;if(this.get("default")){for(a=this.get("default"),e=this._childViews,c=0,d=e.length;d>c;c++)b=e[c],(null!=(f=b.get("content"))?f.get("title"):void 0)===a&&this.set("selected",b.get("content"));return Ember.assert("Could not activate default tab "+a+" as it doesnt exist",a)}}})}.call(this),function(){Bootstrap.ItemPaneView=Ember.View.extend({template:Ember.Handlebars.compile(["{{#if view.content.template}}","{{bsItemPanePartial view.content.template}}","{{/if}}"].join("\n")),corrItem:function(){var a,b,c,d;if(null!=this.get("parentView").get("corrItemsView"))for(d=this.get("parentView").get("corrItemsView")._childViews,b=0,c=d.length;c>b;b++)if(a=d[b],a.content===this.get("content"))return a}.property("parentView.corrItemsView"),isVisible:function(){var a;return null!=(a=this.get("corrItem"))?a.get("isActive"):void 0}.property("corrItem.isActive"),controller:function(){var a,b;return a=this.get("parentView.controller"),this.get("content.controller")&&(b=this.get("container").lookup("controller:"+this.get("content.controller")),b&&(a=b)),a}.property("content")}),Ember.Handlebars.helper("bsItemPanePartial",function(a,b){var c,d;return d=b.data.view,c=d.templateForName(a),Ember.assert("Unable to find template with name '"+a+"'",c),c(this,{data:b.data})})}.call(this),function(){Bootstrap.ItemsPanesView=Ember.CollectionView.extend({viewsInserted:!1,corrItemsView:function(){var a;return a=Ember.View.views[this.get("items-id")]}.property("viewsInserted"),didInsertElement:function(){return this._super(),this.set("viewsInserted",!0)}})}.call(this); \ No newline at end of file ++function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]}}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one(a.support.transition.end,function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b()})}(window.jQuery),function(){var a;a=window.Bootstrap=Ember.Namespace.create()}.call(this),function(){var a,b;a=window.Bootstrap,b=Ember.get,a.WithRouter=Ember.Mixin.create({router:Ember.computed(function(){return b(this,"controller").container.lookup("router:main")})})}.call(this),function(){var a,b,c;a=window.Bootstrap,b=Ember.get,c=Ember.set,a.TypeSupport=Ember.Mixin.create({classTypePrefix:Ember.required(String),classNameBindings:["typeClass"],type:"default",typeClass:function(){var a,b;return b=this.get("type"),null==b&&(b="default"),a=this.get("classTypePrefix"),""+a+"-"+b}.property("type").cacheable()})}.call(this),function(){var a,b,c;a=window.Bootstrap,b=Ember.get,c=Ember.set,a.SizeSupport=Ember.Mixin.create({classTypePrefix:Ember.required(String),classNameBindings:["sizeClass","largeSizeClass","smallSizeClass","extraSmallSizeClass"],size:null,xs:null,small:null,large:null,extraSmallSizeClass:function(){var a;return a=this.get("classTypePrefix"),this.xs?""+a+"-xs":null}.property("xs").cacheable(),smallSizeClass:function(){var a;return a=this.get("classTypePrefix"),this.small?""+a+"-sm":null}.property("small").cacheable(),largeSizeClass:function(){var a;return a=this.get("classTypePrefix"),this.large?""+a+"-lg":null}.property("large").cacheable(),sizeClass:function(){var a,b;return b=this.get("size"),a=this.get("classTypePrefix"),b?""+a+"-"+b:null}.property("size").cacheable()})}.call(this),function(){Bootstrap.ItemValue=Ember.Mixin.create({value:function(){var a,b;return a=this.get("parentView"),null!=a?b=this.get("content"):void 0}.property("content").cacheable()})}.call(this),function(){Bootstrap.ItemSelection=Ember.Mixin.create(Bootstrap.ItemValue,Bootstrap.WithRouter,{classNameBindings:["isActive:active"],init:function(){return this._super(),this.didRouteChange()},didRouteChange:function(){var a,b,c;return b=this.get("content.linkTo"),null!=b&&(a=this.get("parentView"),null!=a)&&(null!=(c=this.get("router"))?c.isActive(b):void 0)?a.set("selected",this.get("value")):void 0}.observes("router.url"),isActive:function(){var a,b,c;return a=this.get("parentView"),null==a?!1:(b=a.get("selected"),c=this.get("value"),null==c?!1:b===c)}.property("value","parentView.selected","content.linkTo").cacheable(),click:function(a){var b,c;return a.preventDefault(),c=this.get("parentView"),null==c||(b=this.get("content"),"object"==typeof b&&b.get("disabled")||null!=this.get("content.linkTo"))?void 0:c.set("selected",this.get("value"))}})}.call(this),function(){Bootstrap.ItemsSelection=Ember.Mixin.create({multiSelection:!1,selected:[]})}.call(this),function(){Bootstrap.Nav=Ember.Mixin.create({classNames:["nav"],classNameBindings:["navTypeClass"],tagName:"ul",navType:null,navTypeClass:function(){return null!=this.navType?"nav-"+this.navType:null}.property("navType").cacheable()})}.call(this),function(){Bootstrap.NavItem=Ember.Mixin.create(Bootstrap.SelectableView)}.call(this),function(){var a,b;a=function(a){var b,c;if(a&&(c=a.get("parentView")))return b=c instanceof Bootstrap.ItemsView,Ember.assert("The parent view must be an instance of Bootstrap.ItemsView or any inherited class",b),b?c:void 0},b=function(a,b,c){return"instance"===Ember.typeOf(a)||Ember.canInvoke(a,"get")?a.get(b):c},Bootstrap.ItemView=Ember.View.extend({isItem:!0,classNameBindings:["disabled"],title:function(){var c,d,e;if(e=a(this))return d=e.get("itemTitleKey")||"title",c=this.get("content"),b(c,d,c)}.property("content").cacheable(),disabled:function(){var c,d,e;if(e=a(this))return c=this.get("content"),d=!!b(c,"disabled",!1),d&&this.get("isActive")&&e.set("selected",null),d}.property("content","content.disabled").cacheable()})}.call(this),function(){Bootstrap.ItemsView=Ember.CollectionView.extend({didInsertElement:function(){var a,b,c,d,e,f;if(this.get("default")){for(a=this.get("default"),e=this._childViews,c=0,d=e.length;d>c;c++)b=e[c],(null!=(f=b.get("content"))?f.get("title"):void 0)===a&&this.set("selected",b.get("content"));return Ember.assert("Could not activate default tab "+a+" as it doesnt exist",a)}}})}.call(this),function(){Bootstrap.ItemPaneView=Ember.View.extend({template:Ember.Handlebars.compile(["{{#if view.content.template}}","{{bsItemPanePartial view.content.template}}","{{/if}}"].join("\n")),corrItem:function(){var a,b,c,d;if(null!=this.get("parentView").get("corrItemsView"))for(d=this.get("parentView").get("corrItemsView")._childViews,b=0,c=d.length;c>b;b++)if(a=d[b],a.content===this.get("content"))return a}.property("parentView.corrItemsView"),isVisible:function(){var a;return null!=(a=this.get("corrItem"))?a.get("isActive"):void 0}.property("corrItem.isActive"),controller:function(){var a,b;return a=this.get("parentView.controller"),this.get("content.controller")&&(b=this.get("container").lookup("controller:"+this.get("content.controller")),b&&(a=b)),a}.property("content")}),Ember.Handlebars.helper("bsItemPanePartial",function(a,b){var c,d;return d=b.data.view,c=d.templateForName(a),Ember.assert("Unable to find template with name '"+a+"'",c),c(this,{data:b.data})})}.call(this),function(){Bootstrap.ItemsPanesView=Ember.CollectionView.extend({viewsInserted:!1,corrItemsView:function(){var a;return a=Ember.View.views[this.get("items-id")]}.property("viewsInserted"),didInsertElement:function(){return this._super(),this.set("viewsInserted",!0)}})}.call(this); \ No newline at end of file diff --git a/dist/js/bs-label.max.js b/dist/js/bs-label.max.js index 6b2e30b..3b145bf 100644 --- a/dist/js/bs-label.max.js +++ b/dist/js/bs-label.max.js @@ -10,17 +10,9 @@ }).call(this); -this["Ember"] = this["Ember"] || {}; -this["Ember"]["TEMPLATES"] = this["Ember"]["TEMPLATES"] || {}; - -this["Ember"]["TEMPLATES"]["components/bs-label"] = Ember.Handlebars.template(function anonymous(Handlebars,depth0,helpers,partials,data) { -this.compilerInfo = [4,'>= 1.0.0']; -helpers = this.merge(helpers, Ember.Handlebars.helpers); data = data || {}; - var hashTypes, hashContexts, escapeExpression=this.escapeExpression; - - - hashTypes = {}; - hashContexts = {}; - data.buffer.push(escapeExpression(helpers._triageMustache.call(depth0, "content", {hash:{},contexts:[depth0],types:["ID"],hashContexts:hashContexts,hashTypes:hashTypes,data:data}))); - -}); \ No newline at end of file +Ember.TEMPLATES["components/bs-label"] = Ember.Ember.TEMPLATES.template({"compiler":[6,">= 2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) { + var stack1; + stack1 = helpers._triageMustache.call(depth0, "content", {"name":"_triageMustache","hash":{},"hashTypes":{},"hashContexts":{},"types":["ID"],"contexts":[depth0],"data":data}); + if (stack1 != null) { data.buffer.push(stack1); } + else { data.buffer.push(''); } + },"useData":true}); \ No newline at end of file diff --git a/dist/js/bs-label.min.js b/dist/js/bs-label.min.js index 318be8b..0fcf29b 100644 --- a/dist/js/bs-label.min.js +++ b/dist/js/bs-label.min.js @@ -1 +1 @@ -(function(){Bootstrap.BsLabelComponent=Ember.Component.extend(Bootstrap.TypeSupport,{layoutName:"components/bs-label",tagName:"span",classNames:["label"],classTypePrefix:"label"}),Ember.Handlebars.helper("bs-label",Bootstrap.BsLabelComponent)}).call(this),this.Ember=this.Ember||{},this.Ember.TEMPLATES=this.Ember.TEMPLATES||{},this.Ember.TEMPLATES["components/bs-label"]=Ember.Handlebars.template(function(a,b,c,d,e){this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var f,g,h=this.escapeExpression;f={},g={},e.buffer.push(h(c._triageMustache.call(b,"content",{hash:{},contexts:[b],types:["ID"],hashContexts:g,hashTypes:f,data:e})))}); \ No newline at end of file +(function(){Bootstrap.BsLabelComponent=Ember.Component.extend(Bootstrap.TypeSupport,{layoutName:"components/bs-label",tagName:"span",classNames:["label"],classTypePrefix:"label"}),Ember.Handlebars.helper("bs-label",Bootstrap.BsLabelComponent)}).call(this),Ember.TEMPLATES["components/bs-label"]=Ember.Ember.TEMPLATES.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e;e=b._triageMustache.call(a,"content",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),d.buffer.push(null!=e?e:"")},useData:!0}); \ No newline at end of file diff --git a/dist/js/bs-modal.max.js b/dist/js/bs-modal.max.js index 612fb9b..0da5fbe 100644 --- a/dist/js/bs-modal.max.js +++ b/dist/js/bs-modal.max.js @@ -307,118 +307,67 @@ Modal component. }).call(this); -this["Ember"] = this["Ember"] || {}; -this["Ember"]["TEMPLATES"] = this["Ember"]["TEMPLATES"] || {}; - -this["Ember"]["TEMPLATES"]["components/bs-modal"] = Ember.Handlebars.template(function anonymous(Handlebars,depth0,helpers,partials,data) { -this.compilerInfo = [4,'>= 1.0.0']; -helpers = this.merge(helpers, Ember.Handlebars.helpers); data = data || {}; - var buffer = '', stack1, stack2, hashContexts, hashTypes, options, helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression, self=this; - -function program1(depth0,data) { - - var buffer = '', stack1, hashContexts, hashTypes, options; - data.buffer.push("\r\n \r\n "); + },"hashTypes":{'class': "STRING"},"hashContexts":{'class': depth0},"types":[],"contexts":[],"data":data}))); + data.buffer.push(">\r\n"); return buffer; - } - -function program3(depth0,data) { - - var buffer = '', hashTypes, hashContexts; - data.buffer.push("\r\n "); - hashTypes = {}; - hashContexts = {}; - data.buffer.push(escapeExpression(helpers.view.call(depth0, "view.body", {hash:{},contexts:[depth0],types:["ID"],hashContexts:hashContexts,hashTypes:hashTypes,data:data}))); - data.buffer.push("\r\n "); +},"3":function(depth0,helpers,partials,data) { + var escapeExpression=this.escapeExpression, buffer = ''; + data.buffer.push(" "); + data.buffer.push(escapeExpression(helpers.view.call(depth0, "view.body", {"name":"view","hash":{},"hashTypes":{},"hashContexts":{},"types":["ID"],"contexts":[depth0],"data":data}))); + data.buffer.push("\r\n"); return buffer; - } - -function program5(depth0,data) { - - var buffer = '', hashTypes, hashContexts; - data.buffer.push("\r\n "); - hashTypes = {}; - hashContexts = {}; - data.buffer.push(escapeExpression(helpers._triageMustache.call(depth0, "yield", {hash:{},contexts:[depth0],types:["ID"],hashContexts:hashContexts,hashTypes:hashTypes,data:data}))); - data.buffer.push("\r\n "); +},"5":function(depth0,helpers,partials,data) { + var stack1, buffer = ''; + data.buffer.push(" "); + stack1 = helpers._triageMustache.call(depth0, "yield", {"name":"_triageMustache","hash":{},"hashTypes":{},"hashContexts":{},"types":["ID"],"contexts":[depth0],"data":data}); + if (stack1 != null) { data.buffer.push(stack1); } + data.buffer.push("\r\n"); return buffer; - } - -function program7(depth0,data) { - - var buffer = '', stack1, hashContexts, hashTypes, options; - data.buffer.push("\r\n "); - hashContexts = {'content': depth0,'targetObjectBinding': depth0}; - hashTypes = {'content': "ID",'targetObjectBinding': "STRING"}; - options = {hash:{ - 'content': (""), - 'targetObjectBinding': ("view.targetObject") - },contexts:[],types:[],hashContexts:hashContexts,hashTypes:hashTypes,data:data}; - data.buffer.push(escapeExpression(((stack1 = helpers['bs-button'] || depth0['bs-button']),stack1 ? stack1.call(depth0, options) : helperMissing.call(depth0, "bs-button", options)))); - data.buffer.push("\r\n "); +},"7":function(depth0,helpers,partials,data) { + var helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression, buffer = ''; + data.buffer.push(" "); + data.buffer.push(escapeExpression(((helpers['bs-button'] || (depth0 && depth0['bs-button']) || helperMissing).call(depth0, {"name":"bs-button","hash":{ + 'targetObjectBinding': ("view.targetObject"), + 'content': ("") + },"hashTypes":{'targetObjectBinding': "STRING",'content': "ID"},"hashContexts":{'targetObjectBinding': depth0,'content': depth0},"types":[],"contexts":[],"data":data})))); + data.buffer.push("\r\n"); return buffer; - } - -function program9(depth0,data) { - - var buffer = '', hashTypes, hashContexts; - data.buffer.push("\r\n "); - hashTypes = {}; - hashContexts = {}; - data.buffer.push(escapeExpression(helpers.view.call(depth0, "", {hash:{},contexts:[depth0],types:["ID"],hashContexts:hashContexts,hashTypes:hashTypes,data:data}))); - data.buffer.push("\r\n "); +},"9":function(depth0,helpers,partials,data) { + var escapeExpression=this.escapeExpression, buffer = ''; + data.buffer.push(" "); + data.buffer.push(escapeExpression(helpers.view.call(depth0, "", {"name":"view","hash":{},"hashTypes":{},"hashContexts":{},"types":["ID"],"contexts":[depth0],"data":data}))); + data.buffer.push("\r\n"); return buffer; - } - +},"compiler":[6,">= 2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) { + var stack1, escapeExpression=this.escapeExpression, buffer = ''; data.buffer.push("
    \r\n
    \r\n
    \r\n \r\n

    \r\n "); - hashTypes = {}; - hashContexts = {}; - stack2 = helpers['if'].call(depth0, "titleIconClasses", {hash:{},inverse:self.noop,fn:self.program(1, program1, data),contexts:[depth0],types:["ID"],hashContexts:hashContexts,hashTypes:hashTypes,data:data}); - if(stack2 || stack2 === 0) { data.buffer.push(stack2); } - data.buffer.push("\r\n "); - hashContexts = {'unescaped': depth0}; - hashTypes = {'unescaped': "STRING"}; - stack2 = helpers._triageMustache.call(depth0, "title", {hash:{ + },"hashTypes":{'class': "STRING"},"hashContexts":{'class': depth0},"types":[],"contexts":[],"data":data}))); + data.buffer.push(" data-dismiss=\"modal\" aria-hidden=\"true\">×\r\n

    \r\n"); + stack1 = helpers['if'].call(depth0, "titleIconClasses", {"name":"if","hash":{},"hashTypes":{},"hashContexts":{},"fn":this.program(1, data),"inverse":this.noop,"types":["ID"],"contexts":[depth0],"data":data}); + if (stack1 != null) { data.buffer.push(stack1); } + data.buffer.push(" "); + data.buffer.push(escapeExpression(helpers._triageMustache.call(depth0, "title", {"name":"_triageMustache","hash":{ 'unescaped': ("true") - },contexts:[depth0],types:["ID"],hashContexts:hashContexts,hashTypes:hashTypes,data:data}); - if(stack2 || stack2 === 0) { data.buffer.push(stack2); } - data.buffer.push("\r\n

    \r\n
    \r\n
    \r\n "); - hashTypes = {}; - hashContexts = {}; - stack2 = helpers['if'].call(depth0, "body", {hash:{},inverse:self.program(5, program5, data),fn:self.program(3, program3, data),contexts:[depth0],types:["ID"],hashContexts:hashContexts,hashTypes:hashTypes,data:data}); - if(stack2 || stack2 === 0) { data.buffer.push(stack2); } - data.buffer.push("\r\n
    \r\n
    \r\n
    \r\n
    \r\n"); + stack1 = helpers['if'].call(depth0, "body", {"name":"if","hash":{},"hashTypes":{},"hashContexts":{},"fn":this.program(3, data),"inverse":this.program(5, data),"types":["ID"],"contexts":[depth0],"data":data}); + if (stack1 != null) { data.buffer.push(stack1); } + data.buffer.push("
    \r\n
    \r\n "); - hashTypes = {}; - hashContexts = {}; - stack2 = helpers.each.call(depth0, "footerButtons", {hash:{},inverse:self.noop,fn:self.program(7, program7, data),contexts:[depth0],types:["ID"],hashContexts:hashContexts,hashTypes:hashTypes,data:data}); - if(stack2 || stack2 === 0) { data.buffer.push(stack2); } - data.buffer.push("\r\n "); - hashTypes = {}; - hashContexts = {}; - stack2 = helpers.each.call(depth0, "footerViews", {hash:{},inverse:self.noop,fn:self.program(9, program9, data),contexts:[depth0],types:["ID"],hashContexts:hashContexts,hashTypes:hashTypes,data:data}); - if(stack2 || stack2 === 0) { data.buffer.push(stack2); } - data.buffer.push("\r\n
    \r\n
    \r\n
    "); + },"hashTypes":{'class': "STRING"},"hashContexts":{'class': depth0},"types":[],"contexts":[],"data":data}))); + data.buffer.push(">\r\n"); + stack1 = helpers.each.call(depth0, "footerButtons", {"name":"each","hash":{},"hashTypes":{},"hashContexts":{},"fn":this.program(7, data),"inverse":this.noop,"types":["ID"],"contexts":[depth0],"data":data}); + if (stack1 != null) { data.buffer.push(stack1); } + stack1 = helpers.each.call(depth0, "footerViews", {"name":"each","hash":{},"hashTypes":{},"hashContexts":{},"fn":this.program(9, data),"inverse":this.noop,"types":["ID"],"contexts":[depth0],"data":data}); + if (stack1 != null) { data.buffer.push(stack1); } + data.buffer.push("
    \r\n
    \r\n
    "); return buffer; - -}); \ No newline at end of file +},"useData":true}); \ No newline at end of file diff --git a/dist/js/bs-modal.min.js b/dist/js/bs-modal.min.js index a023878..b40c4b0 100644 --- a/dist/js/bs-modal.min.js +++ b/dist/js/bs-modal.min.js @@ -1 +1 @@ -(function(){Bootstrap.BsModalComponent=Ember.Component.extend(Ember.Evented,{layoutName:"components/bs-modal",classNames:["modal"],classNameBindings:["fade","isVis:in"],attributeBindings:["role","aria-labelledby","isAriaHidden:aria-hidden","ariaLabelledBy:aria-labelledby"],isAriaHidden:function(){return""+this.get("isVisible")}.property("isVisible"),modalBackdrop:'',role:"dialog",footerViews:[],backdrop:!0,title:null,isVisible:!1,manual:!1,isVis:!1,fullSizeButtons:!1,fade:!0,didInsertElement:function(){var a;return this._super(),this.setupBinders(),a=this.get("name"),Ember.assert("Modal name is required for modal view "+this.get("elementId"),this.get("name")),null==a&&(a=this.get("elementId")),Bootstrap.ModalManager.add(a,this),this.manual?this.show():void 0},becameVisible:function(){return Em.$("body").addClass("modal-open"),this.get("backdrop")?this.appendBackdrop():void 0},becameHidden:function(){return Em.$("body").removeClass("modal-open"),this._backdrop?this._backdrop.remove():void 0},appendBackdrop:function(){var a;return a=this.$().parent(),this._backdrop=Em.$(this.modalBackdrop).appendTo(a)},show:function(){var a;this.set("isVisible",!0),a=this,setTimeout(function(){a.set("isVis",!0)},15)},hide:function(){var a;return this.set("isVis",!1),a=this,this.$().one("webkitTransitionEnd",function(){a.set("isVisible",!1)}),!1},toggle:function(){return this.toggleProperty("isVisible")},click:function(a){var b,c;return b=a.target,c=b.getAttribute("data-dismiss"),"modal"===c?this.close():void 0},keyPressed:function(a){return 27===a.keyCode?this.close(a):void 0},close:function(){var a;return this.set("isVis",!1),a=this,this.$().one("webkitTransitionEnd",function(){a.get("manual")?a.destroy():a.hide()}),this.trigger("closed")},willDestroyElement:function(){var a;return Em.$("body").removeClass("modal-open"),this.removeHandlers(),a=this.get("name"),null==a&&(a=this.get("elementId")),Bootstrap.ModalManager.remove(a,this),this._backdrop?this._backdrop.remove():void 0},removeHandlers:function(){return jQuery(window.document).unbind("keyup",this._keyUpHandler)},setupBinders:function(){var a,b=this;return a=function(a){return b.keyPressed(a)},jQuery(window.document).bind("keyup",a),this._keyUpHandler=a}}),Bootstrap.ModalManager=Ember.Object.create({add:function(a,b){return this.set(a,b)},register:function(a,b){return this.add(a,b),b.appendTo(b.get("targetObject").namespace.rootElement)},remove:function(a){return this.set(a,null)},close:function(a){return this.get(a).close()},hide:function(a){return this.get(a).hide()},show:function(a){return this.get(a).show()},toggle:function(a){return this.get(a).toggle()},confirm:function(a,b,c,d,e,f,g,h,i,j,k,l){var m,n;return null==d&&(d="Confirm"),null==e&&(e="modalConfirmed"),null==f&&(f=null),null==g&&(g="Cancel"),null==h&&(h="modalCanceled"),null==i&&(i=null),null==j&&(j=a),null==k&&(k=!0),null==l&&(l=!1),m=Ember.View.extend({template:Ember.Handlebars.compile(c||"Are you sure you would like to perform this action?")}),n=[Ember.Object.create({title:d,clicked:e,type:f,dismiss:"modal"}),Ember.Object.create({title:g,clicked:h,type:i,dismiss:"modal"})],this.open("confirm-modal",b||"Confirmation required!",m,n,a,k,l,j)}},{okModal:function(a,b,c,d,e,f,g,h,i){var j,k;return null==d&&(d="OK"),null==e&&(e="okModal"),null==f&&(f=null),null==g&&(g=a),null==h&&(h=!0),null==i&&(i=!1),j=Ember.View.extend({template:Ember.Handlebars.compile(c||"Are you sure you would like to perform this action?")}),k=[Ember.Object.create({title:d,clicked:e,type:f,dismiss:"modal"})],this.open("ok-modal",b||"Confirmation required!",j,k,a,h,i,g)},openModal:function(a,b){var c,d;return null==b&&(b={}),d=b.rootElement||".ember-application",c=a.create(b),c.appendTo(d)},openManual:function(a,b,c,d,e,f,g,h){var i;return i=Ember.View.extend({template:Ember.Handlebars.compile(c),controller:e}),this.open(a,b,i,d,e,f,g,h)},open:function(a,b,c,d,e,f,g,h){var i,j,k;return null==g&&(g=!1),null==h&&(h=e),i=e.container.lookup("component-lookup:main"),j=i.lookupFactory("bs-modal",e.get("container")).create(),j.setProperties({name:a,title:b,manual:!0,footerButtons:d,targetObject:h,fade:f,fullSizeButtons:g}),"string"===Ember.typeOf(c)?(k=e.container.lookup("template:"+c),Ember.assert("Template "+c+" was specified for Modal but template could not be found.",k),k&&j.setProperties({body:Ember.View.extend({template:k,controller:e})})):"class"===Ember.typeOf(c)&&j.setProperties({body:c,controller:e}),j.appendTo(e.namespace.rootElement)}}),Ember.Application.initializer({name:"bs-modal",initialize:function(a){return a.register("component:bs-modal",Bootstrap.BsModalComponent)}})}).call(this),this.Ember=this.Ember||{},this.Ember.TEMPLATES=this.Ember.TEMPLATES||{},this.Ember.TEMPLATES["components/bs-modal"]=Ember.Handlebars.template(function(a,b,c,d,e){function f(a,b){var d,e,f,g,h="";return b.buffer.push("\r\n \r\n "),h}function g(a,b){var d,e,f="";return b.buffer.push("\r\n "),d={},e={},b.buffer.push(r(c.view.call(a,"view.body",{hash:{},contexts:[a],types:["ID"],hashContexts:e,hashTypes:d,data:b}))),b.buffer.push("\r\n "),f}function h(a,b){var d,e,f="";return b.buffer.push("\r\n "),d={},e={},b.buffer.push(r(c._triageMustache.call(a,"yield",{hash:{},contexts:[a],types:["ID"],hashContexts:e,hashTypes:d,data:b}))),b.buffer.push("\r\n "),f}function i(a,b){var d,e,f,g,h="";return b.buffer.push("\r\n "),e={content:a,targetObjectBinding:a},f={content:"ID",targetObjectBinding:"STRING"},g={hash:{content:"",targetObjectBinding:"view.targetObject"},contexts:[],types:[],hashContexts:e,hashTypes:f,data:b},b.buffer.push(r((d=c["bs-button"]||a["bs-button"],d?d.call(a,g):q.call(a,"bs-button",g)))),b.buffer.push("\r\n "),h}function j(a,b){var d,e,f="";return b.buffer.push("\r\n "),d={},e={},b.buffer.push(r(c.view.call(a,"",{hash:{},contexts:[a],types:["ID"],hashContexts:e,hashTypes:d,data:b}))),b.buffer.push("\r\n "),f}this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var k,l,m,n,o,p="",q=c.helperMissing,r=this.escapeExpression,s=this;return e.buffer.push('"),p}); \ No newline at end of file +(function(){Bootstrap.BsModalComponent=Ember.Component.extend(Ember.Evented,{layoutName:"components/bs-modal",classNames:["modal"],classNameBindings:["fade","isVis:in"],attributeBindings:["role","aria-labelledby","isAriaHidden:aria-hidden","ariaLabelledBy:aria-labelledby"],isAriaHidden:function(){return""+this.get("isVisible")}.property("isVisible"),modalBackdrop:'',role:"dialog",footerViews:[],backdrop:!0,title:null,isVisible:!1,manual:!1,isVis:!1,fullSizeButtons:!1,fade:!0,didInsertElement:function(){var a;return this._super(),this.setupBinders(),a=this.get("name"),Ember.assert("Modal name is required for modal view "+this.get("elementId"),this.get("name")),null==a&&(a=this.get("elementId")),Bootstrap.ModalManager.add(a,this),this.manual?this.show():void 0},becameVisible:function(){return Em.$("body").addClass("modal-open"),this.get("backdrop")?this.appendBackdrop():void 0},becameHidden:function(){return Em.$("body").removeClass("modal-open"),this._backdrop?this._backdrop.remove():void 0},appendBackdrop:function(){var a;return a=this.$().parent(),this._backdrop=Em.$(this.modalBackdrop).appendTo(a)},show:function(){var a;this.set("isVisible",!0),a=this,setTimeout(function(){a.set("isVis",!0)},15)},hide:function(){var a;return this.set("isVis",!1),a=this,this.$().one("webkitTransitionEnd",function(){a.set("isVisible",!1)}),!1},toggle:function(){return this.toggleProperty("isVisible")},click:function(a){var b,c;return b=a.target,c=b.getAttribute("data-dismiss"),"modal"===c?this.close():void 0},keyPressed:function(a){return 27===a.keyCode?this.close(a):void 0},close:function(){var a;return this.set("isVis",!1),a=this,this.$().one("webkitTransitionEnd",function(){a.get("manual")?a.destroy():a.hide()}),this.trigger("closed")},willDestroyElement:function(){var a;return Em.$("body").removeClass("modal-open"),this.removeHandlers(),a=this.get("name"),null==a&&(a=this.get("elementId")),Bootstrap.ModalManager.remove(a,this),this._backdrop?this._backdrop.remove():void 0},removeHandlers:function(){return jQuery(window.document).unbind("keyup",this._keyUpHandler)},setupBinders:function(){var a,b=this;return a=function(a){return b.keyPressed(a)},jQuery(window.document).bind("keyup",a),this._keyUpHandler=a}}),Bootstrap.ModalManager=Ember.Object.create({add:function(a,b){return this.set(a,b)},register:function(a,b){return this.add(a,b),b.appendTo(b.get("targetObject").namespace.rootElement)},remove:function(a){return this.set(a,null)},close:function(a){return this.get(a).close()},hide:function(a){return this.get(a).hide()},show:function(a){return this.get(a).show()},toggle:function(a){return this.get(a).toggle()},confirm:function(a,b,c,d,e,f,g,h,i,j,k,l){var m,n;return null==d&&(d="Confirm"),null==e&&(e="modalConfirmed"),null==f&&(f=null),null==g&&(g="Cancel"),null==h&&(h="modalCanceled"),null==i&&(i=null),null==j&&(j=a),null==k&&(k=!0),null==l&&(l=!1),m=Ember.View.extend({template:Ember.Handlebars.compile(c||"Are you sure you would like to perform this action?")}),n=[Ember.Object.create({title:d,clicked:e,type:f,dismiss:"modal"}),Ember.Object.create({title:g,clicked:h,type:i,dismiss:"modal"})],this.open("confirm-modal",b||"Confirmation required!",m,n,a,k,l,j)}},{okModal:function(a,b,c,d,e,f,g,h,i){var j,k;return null==d&&(d="OK"),null==e&&(e="okModal"),null==f&&(f=null),null==g&&(g=a),null==h&&(h=!0),null==i&&(i=!1),j=Ember.View.extend({template:Ember.Handlebars.compile(c||"Are you sure you would like to perform this action?")}),k=[Ember.Object.create({title:d,clicked:e,type:f,dismiss:"modal"})],this.open("ok-modal",b||"Confirmation required!",j,k,a,h,i,g)},openModal:function(a,b){var c,d;return null==b&&(b={}),d=b.rootElement||".ember-application",c=a.create(b),c.appendTo(d)},openManual:function(a,b,c,d,e,f,g,h){var i;return i=Ember.View.extend({template:Ember.Handlebars.compile(c),controller:e}),this.open(a,b,i,d,e,f,g,h)},open:function(a,b,c,d,e,f,g,h){var i,j,k;return null==g&&(g=!1),null==h&&(h=e),i=e.container.lookup("component-lookup:main"),j=i.lookupFactory("bs-modal",e.get("container")).create(),j.setProperties({name:a,title:b,manual:!0,footerButtons:d,targetObject:h,fade:f,fullSizeButtons:g}),"string"===Ember.typeOf(c)?(k=e.container.lookup("template:"+c),Ember.assert("Template "+c+" was specified for Modal but template could not be found.",k),k&&j.setProperties({body:Ember.View.extend({template:k,controller:e})})):"class"===Ember.typeOf(c)&&j.setProperties({body:c,controller:e}),j.appendTo(e.namespace.rootElement)}}),Ember.Application.initializer({name:"bs-modal",initialize:function(a){return a.register("component:bs-modal",Bootstrap.BsModalComponent)}})}).call(this),Ember.TEMPLATES["components/bs-modal"]=Ember.Ember.TEMPLATES.template({1:function(a,b,c,d){var e=this.escapeExpression,f="";return d.buffer.push(" \r\n"),f},3:function(a,b,c,d){var e=this.escapeExpression,f="";return d.buffer.push(" "),d.buffer.push(e(b.view.call(a,"view.body",{name:"view",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}))),d.buffer.push("\r\n"),f},5:function(a,b,c,d){var e,f="";return d.buffer.push(" "),e=b._triageMustache.call(a,"yield",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("\r\n"),f},7:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression,g="";return d.buffer.push(" "),d.buffer.push(f((b["bs-button"]||a&&a["bs-button"]||e).call(a,{name:"bs-button",hash:{targetObjectBinding:"view.targetObject",content:""},hashTypes:{targetObjectBinding:"STRING",content:"ID"},hashContexts:{targetObjectBinding:a,content:a},types:[],contexts:[],data:d}))),d.buffer.push("\r\n"),g},9:function(a,b,c,d){var e=this.escapeExpression,f="";return d.buffer.push(" "),d.buffer.push(e(b.view.call(a,"",{name:"view",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}))),d.buffer.push("\r\n"),f},compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f=this.escapeExpression,g="";return d.buffer.push('"),g},useData:!0}); \ No newline at end of file diff --git a/dist/js/bs-progressbar.max.js b/dist/js/bs-progressbar.max.js index d3d9d19..6f299a1 100644 --- a/dist/js/bs-progressbar.max.js +++ b/dist/js/bs-progressbar.max.js @@ -44,59 +44,34 @@ Parent component of a progressbar component }).call(this); -this["Ember"] = this["Ember"] || {}; -this["Ember"]["TEMPLATES"] = this["Ember"]["TEMPLATES"] || {}; - -this["Ember"]["TEMPLATES"]["components/bs-progress"] = Ember.Handlebars.template(function anonymous(Handlebars,depth0,helpers,partials,data) { -this.compilerInfo = [4,'>= 1.0.0']; -helpers = this.merge(helpers, Ember.Handlebars.helpers); data = data || {}; - var stack1, hashTypes, hashContexts, helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression, self=this; - -function program1(depth0,data) { - - var buffer = '', stack1, hashContexts, hashTypes, options; - data.buffer.push("\r\n "); - hashContexts = {'progress': depth0,'type': depth0}; - hashTypes = {'progress': "ID",'type': "ID"}; - options = {hash:{ - 'progress': ("progress"), - 'type': ("type") - },contexts:[],types:[],hashContexts:hashContexts,hashTypes:hashTypes,data:data}; - data.buffer.push(escapeExpression(((stack1 = helpers['bs-progressbar'] || depth0['bs-progressbar']),stack1 ? stack1.call(depth0, options) : helperMissing.call(depth0, "bs-progressbar", options)))); +Ember.TEMPLATES["components/bs-progress"] = Ember.Ember.TEMPLATES.template({"1":function(depth0,helpers,partials,data) { + var helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression, buffer = ''; + data.buffer.push(" "); + data.buffer.push(escapeExpression(((helpers['bs-progressbar'] || (depth0 && depth0['bs-progressbar']) || helperMissing).call(depth0, {"name":"bs-progressbar","hash":{ + 'type': ("type"), + 'progress': ("progress") + },"hashTypes":{'type': "ID",'progress': "ID"},"hashContexts":{'type': depth0,'progress': depth0},"types":[],"contexts":[],"data":data})))); data.buffer.push("\r\n"); return buffer; - } - -function program3(depth0,data) { - - var buffer = '', hashTypes, hashContexts; - data.buffer.push("\r\n "); - hashTypes = {}; - hashContexts = {}; - data.buffer.push(escapeExpression(helpers._triageMustache.call(depth0, "yield", {hash:{},contexts:[depth0],types:["ID"],hashContexts:hashContexts,hashTypes:hashTypes,data:data}))); +},"3":function(depth0,helpers,partials,data) { + var stack1, buffer = ''; + data.buffer.push(" "); + stack1 = helpers._triageMustache.call(depth0, "yield", {"name":"_triageMustache","hash":{},"hashTypes":{},"hashContexts":{},"types":["ID"],"contexts":[depth0],"data":data}); + if (stack1 != null) { data.buffer.push(stack1); } data.buffer.push("\r\n"); return buffer; - } - - hashTypes = {}; - hashContexts = {}; - stack1 = helpers['if'].call(depth0, "default", {hash:{},inverse:self.program(3, program3, data),fn:self.program(1, program1, data),contexts:[depth0],types:["ID"],hashContexts:hashContexts,hashTypes:hashTypes,data:data}); - if(stack1 || stack1 === 0) { data.buffer.push(stack1); } +},"compiler":[6,">= 2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) { + var stack1; + stack1 = helpers['if'].call(depth0, "default", {"name":"if","hash":{},"hashTypes":{},"hashContexts":{},"fn":this.program(1, data),"inverse":this.program(3, data),"types":["ID"],"contexts":[depth0],"data":data}); + if (stack1 != null) { data.buffer.push(stack1); } else { data.buffer.push(''); } - -}); - -this["Ember"]["TEMPLATES"]["components/bs-progressbar"] = Ember.Handlebars.template(function anonymous(Handlebars,depth0,helpers,partials,data) { -this.compilerInfo = [4,'>= 1.0.0']; -helpers = this.merge(helpers, Ember.Handlebars.helpers); data = data || {}; - var buffer = '', hashTypes, hashContexts, escapeExpression=this.escapeExpression; - + },"useData":true}); +Ember.TEMPLATES["components/bs-progressbar"] = Ember.Ember.TEMPLATES.template({"compiler":[6,">= 2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) { + var stack1, buffer = ''; data.buffer.push(""); - hashTypes = {}; - hashContexts = {}; - data.buffer.push(escapeExpression(helpers._triageMustache.call(depth0, "progress", {hash:{},contexts:[depth0],types:["ID"],hashContexts:hashContexts,hashTypes:hashTypes,data:data}))); + stack1 = helpers._triageMustache.call(depth0, "progress", {"name":"_triageMustache","hash":{},"hashTypes":{},"hashContexts":{},"types":["ID"],"contexts":[depth0],"data":data}); + if (stack1 != null) { data.buffer.push(stack1); } data.buffer.push("% Complete"); return buffer; - -}); \ No newline at end of file +},"useData":true}); \ No newline at end of file diff --git a/dist/js/bs-progressbar.min.js b/dist/js/bs-progressbar.min.js index 78cec7b..a148d1e 100644 --- a/dist/js/bs-progressbar.min.js +++ b/dist/js/bs-progressbar.min.js @@ -1 +1 @@ -(function(){Bootstrap.BsProgressComponent=Ember.Component.extend({layoutName:"components/bs-progress",classNames:["progress"],classNameBindings:["animated:active","stripped:progress-striped"],progress:null,stripped:!1,animated:!1,"default":function(){return this.progress}.property("progress")}),Ember.Handlebars.helper("bs-progress",Bootstrap.BsProgressComponent)}).call(this),function(){Bootstrap.BsProgressbarComponent=Ember.Component.extend(Bootstrap.TypeSupport,{layoutName:"components/bs-progressbar",classNames:["progress-bar"],attributeBindings:["style","role","aria-valuemin","ariaValueNow:aria-valuenow","aria-valuemax"],classTypePrefix:"progress-bar",role:"progressbar","aria-valuemin":0,"aria-valuemax":100,init:function(){return this._super()},style:function(){return"width:"+this.progress+"%;"}.property("progress").cacheable(),ariaValueNow:function(){return this.progress}.property("progress").cacheable()}),Ember.Handlebars.helper("bs-progressbar",Bootstrap.BsProgressbarComponent)}.call(this),this.Ember=this.Ember||{},this.Ember.TEMPLATES=this.Ember.TEMPLATES||{},this.Ember.TEMPLATES["components/bs-progress"]=Ember.Handlebars.template(function(a,b,c,d,e){function f(a,b){var d,e,f,g,h="";return b.buffer.push("\r\n "),e={progress:a,type:a},f={progress:"ID",type:"ID"},g={hash:{progress:"progress",type:"type"},contexts:[],types:[],hashContexts:e,hashTypes:f,data:b},b.buffer.push(l((d=c["bs-progressbar"]||a["bs-progressbar"],d?d.call(a,g):k.call(a,"bs-progressbar",g)))),b.buffer.push("\r\n"),h}function g(a,b){var d,e,f="";return b.buffer.push("\r\n "),d={},e={},b.buffer.push(l(c._triageMustache.call(a,"yield",{hash:{},contexts:[a],types:["ID"],hashContexts:e,hashTypes:d,data:b}))),b.buffer.push("\r\n"),f}this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var h,i,j,k=c.helperMissing,l=this.escapeExpression,m=this;i={},j={},h=c["if"].call(b,"default",{hash:{},inverse:m.program(3,g,e),fn:m.program(1,f,e),contexts:[b],types:["ID"],hashContexts:j,hashTypes:i,data:e}),e.buffer.push(h||0===h?h:"")}),this.Ember.TEMPLATES["components/bs-progressbar"]=Ember.Handlebars.template(function(a,b,c,d,e){this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var f,g,h="",i=this.escapeExpression;return e.buffer.push(''),f={},g={},e.buffer.push(i(c._triageMustache.call(b,"progress",{hash:{},contexts:[b],types:["ID"],hashContexts:g,hashTypes:f,data:e}))),e.buffer.push("% Complete"),h}); \ No newline at end of file +(function(){Bootstrap.BsProgressComponent=Ember.Component.extend({layoutName:"components/bs-progress",classNames:["progress"],classNameBindings:["animated:active","stripped:progress-striped"],progress:null,stripped:!1,animated:!1,"default":function(){return this.progress}.property("progress")}),Ember.Handlebars.helper("bs-progress",Bootstrap.BsProgressComponent)}).call(this),function(){Bootstrap.BsProgressbarComponent=Ember.Component.extend(Bootstrap.TypeSupport,{layoutName:"components/bs-progressbar",classNames:["progress-bar"],attributeBindings:["style","role","aria-valuemin","ariaValueNow:aria-valuenow","aria-valuemax"],classTypePrefix:"progress-bar",role:"progressbar","aria-valuemin":0,"aria-valuemax":100,init:function(){return this._super()},style:function(){return"width:"+this.progress+"%;"}.property("progress").cacheable(),ariaValueNow:function(){return this.progress}.property("progress").cacheable()}),Ember.Handlebars.helper("bs-progressbar",Bootstrap.BsProgressbarComponent)}.call(this),Ember.TEMPLATES["components/bs-progress"]=Ember.Ember.TEMPLATES.template({1:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression,g="";return d.buffer.push(" "),d.buffer.push(f((b["bs-progressbar"]||a&&a["bs-progressbar"]||e).call(a,{name:"bs-progressbar",hash:{type:"type",progress:"progress"},hashTypes:{type:"ID",progress:"ID"},hashContexts:{type:a,progress:a},types:[],contexts:[],data:d}))),d.buffer.push("\r\n"),g},3:function(a,b,c,d){var e,f="";return d.buffer.push(" "),e=b._triageMustache.call(a,"yield",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("\r\n"),f},compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e;e=b["if"].call(a,"default",{name:"if",hash:{},hashTypes:{},hashContexts:{},fn:this.program(1,d),inverse:this.program(3,d),types:["ID"],contexts:[a],data:d}),d.buffer.push(null!=e?e:"")},useData:!0}),Ember.TEMPLATES["components/bs-progressbar"]=Ember.Ember.TEMPLATES.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f="";return d.buffer.push(''),e=b._triageMustache.call(a,"progress",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("% Complete"),f},useData:!0}); \ No newline at end of file diff --git a/dist/showcase/scripts/showcase-components.js b/dist/showcase/scripts/showcase-components.js index e69de29..00ed6c7 100644 --- a/dist/showcase/scripts/showcase-components.js +++ b/dist/showcase/scripts/showcase-components.js @@ -0,0 +1,17 @@ +!function(a,b){function c(a){var b=a.length,c=ib.type(a);return ib.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||"function"!==c&&(0===b||"number"==typeof b&&b>0&&b-1 in a)}function d(a){var b=xb[a]={};return ib.each(a.match(kb)||[],function(a,c){b[c]=!0}),b}function e(a,c,d,e){if(ib.acceptData(a)){var f,g,h=ib.expando,i="string"==typeof c,j=a.nodeType,k=j?ib.cache:a,l=j?a[h]:a[h]&&h;if(l&&k[l]&&(e||k[l].data)||!i||d!==b)return l||(j?a[h]=l=_.pop()||ib.guid++:l=h),k[l]||(k[l]={},j||(k[l].toJSON=ib.noop)),("object"==typeof c||"function"==typeof c)&&(e?k[l]=ib.extend(k[l],c):k[l].data=ib.extend(k[l].data,c)),f=k[l],e||(f.data||(f.data={}),f=f.data),d!==b&&(f[ib.camelCase(c)]=d),i?(g=f[c],null==g&&(g=f[ib.camelCase(c)])):g=f,g}}function f(a,b,c){if(ib.acceptData(a)){var d,e,f,g=a.nodeType,i=g?ib.cache:a,j=g?a[ib.expando]:ib.expando;if(i[j]){if(b&&(f=c?i[j]:i[j].data)){ib.isArray(b)?b=b.concat(ib.map(b,ib.camelCase)):b in f?b=[b]:(b=ib.camelCase(b),b=b in f?[b]:b.split(" "));for(d=0,e=b.length;e>d;d++)delete f[b[d]];if(!(c?h:ib.isEmptyObject)(f))return}(c||(delete i[j].data,h(i[j])))&&(g?ib.cleanData([a],!0):ib.support.deleteExpando||i!=i.window?delete i[j]:i[j]=null)}}}function g(a,c,d){if(d===b&&1===a.nodeType){var e="data-"+c.replace(zb,"-$1").toLowerCase();if(d=a.getAttribute(e),"string"==typeof d){try{d="true"===d?!0:"false"===d?!1:"null"===d?null:+d+""===d?+d:yb.test(d)?ib.parseJSON(d):d}catch(f){}ib.data(a,c,d)}else d=b}return d}function h(a){var b;for(b in a)if(("data"!==b||!ib.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function i(){return!0}function j(){return!1}function k(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}function l(a,b,c){if(b=b||0,ib.isFunction(b))return ib.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return ib.grep(a,function(a){return a===b===c});if("string"==typeof b){var d=ib.grep(a,function(a){return 1===a.nodeType});if(Rb.test(b))return ib.filter(b,d,!c);b=ib.filter(b,d)}return ib.grep(a,function(a){return ib.inArray(a,b)>=0===c})}function m(a){var b=Ub.split("|"),c=a.createDocumentFragment();if(c.createElement)for(;b.length;)c.createElement(b.pop());return c}function n(a,b){return a.getElementsByTagName(b)[0]||a.appendChild(a.ownerDocument.createElement(b))}function o(a){var b=a.getAttributeNode("type");return a.type=(b&&b.specified)+"/"+a.type,a}function p(a){var b=ec.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function q(a,b){for(var c,d=0;null!=(c=a[d]);d++)ib._data(c,"globalEval",!b||ib._data(b[d],"globalEval"))}function r(a,b){if(1===b.nodeType&&ib.hasData(a)){var c,d,e,f=ib._data(a),g=ib._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)ib.event.add(b,c,h[c][d])}g.data&&(g.data=ib.extend({},g.data))}}function s(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!ib.support.noCloneEvent&&b[ib.expando]){e=ib._data(b);for(d in e.events)ib.removeEvent(b,d,e.handle);b.removeAttribute(ib.expando)}"script"===c&&b.text!==a.text?(o(b).text=a.text,p(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),ib.support.html5Clone&&a.innerHTML&&!ib.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&bc.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}function t(a,c){var d,e,f=0,g=typeof a.getElementsByTagName!==V?a.getElementsByTagName(c||"*"):typeof a.querySelectorAll!==V?a.querySelectorAll(c||"*"):b;if(!g)for(g=[],d=a.childNodes||a;null!=(e=d[f]);f++)!c||ib.nodeName(e,c)?g.push(e):ib.merge(g,t(e,c));return c===b||c&&ib.nodeName(a,c)?ib.merge([a],g):g}function u(a){bc.test(a.type)&&(a.defaultChecked=a.checked)}function v(a,b){if(b in a)return b;for(var c=b.charAt(0).toUpperCase()+b.slice(1),d=b,e=yc.length;e--;)if(b=yc[e]+c,b in a)return b;return d}function w(a,b){return a=b||a,"none"===ib.css(a,"display")||!ib.contains(a.ownerDocument,a)}function x(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=ib._data(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&w(d)&&(f[g]=ib._data(d,"olddisplay",B(d.nodeName)))):f[g]||(e=w(d),(c&&"none"!==c||!e)&&ib._data(d,"olddisplay",e?c:ib.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}function y(a,b,c){var d=rc.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function z(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=ib.css(a,c+xc[f],!0,e)),d?("content"===c&&(g-=ib.css(a,"padding"+xc[f],!0,e)),"margin"!==c&&(g-=ib.css(a,"border"+xc[f]+"Width",!0,e))):(g+=ib.css(a,"padding"+xc[f],!0,e),"padding"!==c&&(g+=ib.css(a,"border"+xc[f]+"Width",!0,e)));return g}function A(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=kc(a),g=ib.support.boxSizing&&"border-box"===ib.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=lc(a,b,f),(0>e||null==e)&&(e=a.style[b]),sc.test(e))return e;d=g&&(ib.support.boxSizingReliable||e===a.style[b]),e=parseFloat(e)||0}return e+z(a,b,c||(g?"border":"content"),d,f)+"px"}function B(a){var b=W,c=uc[a];return c||(c=C(a,b),"none"!==c&&c||(jc=(jc||ib("\r\n \r\n
  • \r\n \r\n
  • \r\n \r\n \r\n\r\n')}),this.Ember.TEMPLATES["tabs/bar-tabpane"]=Ember.Handlebars.template(function(a,b,c,d,e){this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var f,g,h,i,j="",k=c.helperMissing,l=this.escapeExpression;return g={title:b,sub:b},h={title:"STRING",sub:"STRING"},i={hash:{title:"BAR ",sub:"Tab Pane Content"},contexts:[],types:[],hashContexts:g,hashTypes:h,data:e},e.buffer.push(l((f=c["bs-page-header"]||b["bs-page-header"],f?f.call(b,i):k.call(b,"bs-page-header",i)))),e.buffer.push("\r\nController is: "),h={},g={},e.buffer.push(l(c._triageMustache.call(b,"controller",{hash:{},contexts:[b],types:["ID"],hashContexts:g,hashTypes:h,data:e}))),j}),this.Ember.TEMPLATES["tabs/baz-tabpane"]=Ember.Handlebars.template(function(a,b,c,d,e){this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var f,g,h,i,j=c.helperMissing,k=this.escapeExpression;g={title:b,sub:b},h={title:"STRING",sub:"STRING"},i={hash:{title:"BAZ",sub:"Tab Pane Content"},contexts:[],types:[],hashContexts:g,hashTypes:h,data:e},e.buffer.push(k((f=c["bs-page-header"]||b["bs-page-header"],f?f.call(b,i):j.call(b,"bs-page-header",i))))}),this.Ember.TEMPLATES["tabs/foo-tabpane"]=Ember.Handlebars.template(function(a,b,c,d,e){this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var f,g,h,i,j="",k=c.helperMissing,l=this.escapeExpression;return g={title:b,sub:b},h={title:"STRING",sub:"STRING"},i={hash:{title:"FOO",sub:"Tab Pane Content"},contexts:[],types:[],hashContexts:g,hashTypes:h,data:e},e.buffer.push(l((f=c["bs-page-header"]||b["bs-page-header"],f?f.call(b,i):k.call(b,"bs-page-header",i)))),e.buffer.push("\r\nController is: "),h={},g={},e.buffer.push(l(c._triageMustache.call(b,"controller",{hash:{},contexts:[b],types:["ID"],hashContexts:g,hashTypes:h,data:e}))),j}),this.Ember.TEMPLATES.user=Ember.Handlebars.template(function(a,b,c,d,e){this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var f,g,h,i,j="",k=c.helperMissing,l=this.escapeExpression;return g={contentBinding:b},h={contentBinding:"STRING"},i={hash:{contentBinding:"tabsMeta"},contexts:[],types:[],hashContexts:g,hashTypes:h,data:e},e.buffer.push(l((f=c["bs-tabs"]||b["bs-tabs"],f?f.call(b,i):k.call(b,"bs-tabs",i)))),e.buffer.push("\r\n\r\n"),h={},g={},e.buffer.push(l(c._triageMustache.call(b,"outlet",{hash:{},contexts:[b],types:["ID"],hashContexts:g,hashTypes:h,data:e}))),j}),this.Ember.TEMPLATES["user/activities"]=Ember.Handlebars.template(function(a,b,c,d,e){this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var f,g,h,i,j=c.helperMissing,k=this.escapeExpression;g={title:b,sub:b},h={title:"STRING",sub:"STRING"},i={hash:{title:"Activities",sub:"User latest Activities"},contexts:[],types:[],hashContexts:g,hashTypes:h,data:e},e.buffer.push(k((f=c["bs-page-header"]||b["bs-page-header"],f?f.call(b,i):j.call(b,"bs-page-header",i))))}),this.Ember.TEMPLATES["user/general"]=Ember.Handlebars.template(function(a,b,c,d,e){this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var f,g,h,i,j=c.helperMissing,k=this.escapeExpression;g={title:b,sub:b},h={title:"STRING",sub:"STRING"},i={hash:{title:"General",sub:"User general details"},contexts:[],types:[],hashContexts:g,hashTypes:h,data:e},e.buffer.push(k((f=c["bs-page-header"]||b["bs-page-header"],f?f.call(b,i):j.call(b,"bs-page-header",i))))}),this.Ember.TEMPLATES["user/privacy"]=Ember.Handlebars.template(function(a,b,c,d,e){this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{};var f,g,h,i,j=c.helperMissing,k=this.escapeExpression;g={title:b,sub:b},h={title:"STRING",sub:"STRING"},i={hash:{title:"Privacy",sub:"User Privacy details"},contexts:[],types:[],hashContexts:g,hashTypes:h,data:e},e.buffer.push(k((f=c["bs-page-header"]||b["bs-page-header"],f?f.call(b,i):j.call(b,"bs-page-header",i))))}),this.Ember.TEMPLATES["wizard/step1"]=Ember.Handlebars.template(function(a,b,c,d,e){this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{},e.buffer.push("

    Step1

    ")}),this.Ember.TEMPLATES["wizard/step2"]=Ember.Handlebars.template(function(a,b,c,d,e){this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{},e.buffer.push("

    Step 2

    ")}),this.Ember.TEMPLATES["wizard/step3"]=Ember.Handlebars.template(function(a,b,c,d,e){this.compilerInfo=[4,">= 1.0.0"],c=this.merge(c,Ember.Handlebars.helpers),e=e||{},e.buffer.push("

    Step 3

    ")}),function(){!function(){var a,b;a=window.Bootstrap,b=window.Showcase=Ember.Application.create({LOG_TRANSITIONS:!0,LOG_VIEW_LOOKUPS:!0,LOG_ACTIVE_GENERATION:!0}),Ember.ENV={HELPER_PARAM_LOOKUPS:!0},Ember.Handlebars.registerHelper("raw",function(a){return a.fn(a)})}(),function(){(function(){Showcase.Router.map(function(){return this.resource("show_components",function(){return this.route("alert"),this.route("breadcrumbs"),this.route("modal"),this.route("label"),this.route("badge"),this.route("well"),this.route("list-group"),this.route("panel"),this.route("page-header"),this.route("button"),this.route("buttonGroup"),this.route("progressbar"),this.route("pills"),this.route("tabs"),this.route("tabs-panes"),this.route("wizard"),this.route("items_action_bar"),this.route("tabs-with-routes"),this.route("notifications"),this.route("growl-notif"),this.route("popover"),this.resource("user",function(){return this.route("general"),this.route("privacy"),this.route("activities")})})})}).call(this)}(),function(){(function(){Showcase.ApplicationRoute=Ember.Route.extend({model:function(){return[Ember.Object.create({title:"Alert",route:"show_components.alert"}),Ember.Object.create({title:"Breadcrumbs",route:"show_components.breadcrumbs","new":!0}),Ember.Object.create({title:"Modal",route:"show_components.modal"}),Ember.Object.create({title:"Label",route:"show_components.label"}),Ember.Object.create({title:"Badge",route:"show_components.badge"}),Ember.Object.create({title:"Well",route:"show_components.well"}),Ember.Object.create({title:"List Group",route:"show_components.list-group"}),Ember.Object.create({title:"Panel",route:"show_components.panel"}),Ember.Object.create({title:"Page Header",route:"show_components.page-header"}),Ember.Object.create({title:"Button",route:"show_components.button"}),Ember.Object.create({title:"Button Group",route:"show_components.buttonGroup"}),Ember.Object.create({title:"Progressbar",route:"show_components.progressbar"}),Ember.Object.create({title:"Tooltips & Popover","new":!0,route:"show_components.popover"}),Ember.Object.create({title:"Nav - Pills",route:"show_components.pills"}),Ember.Object.create({title:"Nav - Tabs",route:"show_components.tabs"}),Ember.Object.create({title:"Nav - Tabs Panes",route:"show_components.tabs-panes"}),Ember.Object.create({title:"Nav - Tabs with Routes",special:!0,route:"show_components.tabs-with-routes"}),Ember.Object.create({title:"Wizard",special:!0,route:"show_components.wizard"}),Ember.Object.create({title:"Notifications",special:!0,route:"show_components.notifications"}),Ember.Object.create({title:"Items Action Bar","new":!0,route:"show_components.items_action_bar"}),Ember.Object.create({title:"Growl Notifications",special:!0,route:"show_components.growl-notif"})]}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsPopoverRoute=Ember.Route.extend({renderTemplate:function(){var a;return this.render(),a=this.controllerFor("ShowComponentsTooltipBox"),this.render("bs-tooltip-box",{outlet:"bs-tooltip-box",controller:a,into:"application"})}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsAlertController=Ember.Controller.extend({actions:{submit:function(){return alert("Action taken by controller!")},didAlertClosed:function(){return alert("From controller: The -closed- event was triggered.")},didAlertClose:function(){return alert("From controller: The -close- event was triggered.")}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsButtonController=Ember.Controller.extend({isButtonDisabled:!1,loadingState:null,loadingState1:null,actions:{disableButton:function(){return this.set("isButtonDisabled",!0)},startLoading:function(){var a=this;return this.set("loadingState","loading"),Ember.run.later(function(){return a.set("loadingState",null)},2e3)},startLoading1:function(){var a=this;return this.set("loadingState1","loading"),Ember.run.later(function(){return a.set("loadingState1","completed")},2e3)},buttonWithParam:function(a){return alert("Passed controller as a param: "+a)}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsItemsActionBarController=Ember.Controller.extend({actionsInBar:[[{title:"To Alerts",disabled:function(a){var b;return a.size<1||"Alerts"!==(null!=a&&null!=(b=a[0])?b.title:void 0)?!0:void 0},transitionTo:"show_components.alert"},{title:"To Panels",transitionTo:"show_components.panel",disabled:function(a){var b;return a.size<1||"Panels"!==(null!=a&&null!=(b=a[0])?b.title:void 0)?!0:void 0}}],[{title:"To Wizard",disabled:function(a){var b;return a.size<1||"Wizards"!==(null!=a&&null!=(b=a[0])?b.title:void 0)?!0:void 0},clickActionName:"wizard"}]],actions:{wizard:function(){return alert("Wizard pressed!")}},items:[Ember.Object.create({title:"Alerts"}),Ember.Object.create({title:"Panels"}),Ember.Object.create({title:"Wizards"})]})}).call(this)}(),function(){(function(){Showcase.ShowComponentsPanelController=Ember.Controller.extend({actions:{panelClicked:function(){return alert("Hello from controller: A click in a panel!")},panelClosed:function(){return alert("Hello from controller: The panel was closed!")}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsPopoverController=Ember.Controller.extend({testObject:Ember.Object.createWithMixins({sticky:function(){return Ember.Object.create({user:this,content:"know this is a sticky tooltip! You can hover over it.",trigger:"hover",sticky:!0})}.property()}),user:Ember.Object.create({firstNameBinding:"content.name",title:"rename",template:'name: {{input type="text" value=content.name}}',content:{name:"John"},trigger:"hover",sticky:!0}),hoverPop:Ember.Object.create({title:"I'm a title!",content:"And i'm a content!",trigger:"hover",placement:"right",sticky:!0}),clickPop:Ember.Object.create({title:"Clickable!",content:"

    Hello

    This is a clickable popover with html content!",placement:"left",html:!0}),templPop:Ember.Object.create({firstName:"numbers",title:"Popover with Template",template:"numbers:
      {{#each val in content.numbers}}
    • {{val}}
    • {{/each}}
    ",content:{numbers:[1,2,3]}})})}).call(this)}(),function(){(function(){Showcase.ShowComponentsProgressbarController=Ember.Controller.extend({prog:0,incrementBy:20,actions:{increment:function(){return this.prog<100?this.incrementProperty("prog",this.incrementBy):this.set("prog",this.incrementBy)}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsTooltipBoxController=Bootstrap.TooltipBoxController}).call(this)}(),function(){(function(){Showcase.ShowComponentsWellController=Ember.Controller.extend({wellClick:function(){return alert("Hello from controller: A click in a well!")}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsButtonGroupController=Ember.Controller.extend({options:["Home","Profile","Messages"],options2:["Admin","Settings"],optionsWithMeta:[Ember.Object.create({title:"Create",type:"primary"}),Ember.Object.create({title:"Destroy",type:"danger"})]})}).call(this)}(),function(){(function(){Showcase.ShowComponentsPillsController=Ember.Controller.extend({content:["Home","Profile","Messages"],init:function(){return this._super(),this.set("content1",Ember.A([Ember.Object.create({title:"Home","default":!0,disabled:!1}),Ember.Object.create({title:"Admin",disabled:!0})])),this.set("selected1",this.get("content1").objectAt(0))},contentChanged:function(){return console.log("Selection has changed to: "+this.get("selected"))}.observes("selected"),actions:{disableHome:function(){return this.get("content1").objectAt(0).set("disabled",!0)}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsGrowlNotifController=Ember.Controller.extend({actions:{pushInfo:function(){return Bootstrap.GNM.push("INFO!","Hello, this is just an info message.","info")},pushSuccess:function(){return Bootstrap.GNM.push("SUCCESS!","Successfully performed operation!","success")},pushWarn:function(){return Bootstrap.GNM.push("WARN!","Could not perform operation!","warning")},pushDanger:function(){return Bootstrap.GNM.push("Danger!","System is halting!","danger")}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsListGroupController=Ember.Controller.extend({listSimple:Ember.A(["Cras justo odio","Dapibus ac facilisis in","Morbi leo risus"]),listWithBadges:Ember.A([Ember.Object.create({title:"Inbox",badge:"45"}),Ember.Object.create({title:"Sent",badge:"33"})]),listWithSub:Ember.A([Ember.Object.create({title:"Inbox",sub:"Incoming mails folder",badge:"45"}),Ember.Object.create({title:"Sent",sub:"Sent emails folder",badge:"33"})])})}).call(this)}(),function(){(function(){Showcase.ShowComponentsModalController=Ember.Controller.extend({message:"Welcome to Bootstrap for Ember..!",myModalButtons:[Ember.Object.create({title:"Submit",clicked:"submit"}),Ember.Object.create({title:"Cancel",clicked:"cancel",dismiss:"modal"})],manualButtons:[Ember.Object.create({title:"Submit",clicked:"submitManual"}),Ember.Object.create({title:"Cancel",dismiss:"modal"})],actions:{submit:function(){return Bootstrap.NM.push("Successfully submitted modal","success"),Bootstrap.ModalManager.hide("myModal")},cancel:function(){return Bootstrap.NM.push("Modal was cancelled","info")},show:function(){return Bootstrap.ModalManager.show("myModal")},submitManual:function(){return Bootstrap.NM.push("Modal destroyed!","success"),Bootstrap.ModalManager.close("manualModal")},createModalProgramatically:function(){var a;return a=Ember.View.extend({template:Ember.Handlebars.compile("This is a programatic ")}),Bootstrap.ModalManager.open("manualModal","Hello","demo-template",this.manualButtons,this)},confirm:function(){return Bootstrap.ModalManager.confirm(this)},modalConfirmed:function(){return Bootstrap.NM.push("Confirmed!","success")},modalCanceled:function(){return Bootstrap.NM.push("Cancelled!","info")}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsNotificationsController=Ember.Controller.extend({actions:{pushInfo:function(){return Bootstrap.NM.push("Hello, this is just an info message.","info")},pushWarn:function(){return Bootstrap.NM.push("Could not perform operation!","warning")},pushSuccess:function(){return Bootstrap.NM.push("Successfully performed operation!","success")},pushDanger:function(){return Bootstrap.NM.push("Danger! system is halting!","danger")}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsTabsController=Ember.Controller.extend({content:["Home","Profile","Messages"],init:function(){return this._super(),this.set("selected","Home"),this.set("tabsPanesOptions",Ember.A([Ember.Object.create({title:"Foo",template:"tabs/foo-tabpane"}),Ember.Object.create({title:"Bar",template:"tabs/bar-tabpane"})]))}})}).call(this)}(),function(){(function(){Showcase.ShowcaseComponentsTabsFooController=Ember.Controller.extend()}).call(this)}(),function(){(function(){Showcase.ShowComponentsTabsPanesController=Ember.Controller.extend({tabsMeta:Ember.A([Ember.Object.create({title:"Foo",template:"tabs/foo-tabpane",controller:"ShowcaseComponentsTabsFoo"}),Ember.Object.create({title:"Bar",template:"tabs/bar-tabpane"})])})}).call(this)}(),function(){(function(){Showcase.ShowComponentsWizardController=Ember.Controller.extend({init:function(){return this._super(),this.set("steps",Ember.A([Ember.Object.create({title:"Foo",template:"tabs/foo-tabpane"}),Ember.Object.create({title:"Bar",template:"tabs/bar-tabpane"}),Ember.Object.create({title:"Baz",template:"tabs/baz-tabpane"})])),this.set("stepsNoPrev",Ember.A([Ember.Object.create({title:"Step1",template:"tabs/foo-tabpane",disabled:!0}),Ember.Object.create({title:"Step2",template:"tabs/bar-tabpane",disabled:!0}),Ember.Object.create({title:"Step3",template:"tabs/baz-tabpane",disabled:!0})]))},actions:{createWizard:function(){var a;return a=Bootstrap.BsWizardComponent.extend({content:[Ember.Object.create({title:"Step1",template:"wizard/step1",disabled:!0}),Ember.Object.create({title:"Step2",template:"wizard/step2",disabled:!0}),Ember.Object.create({title:"Step3",template:"wizard/step3",disabled:!0})],targetObject:this,onNext:"onNext",onPrev:"onPrev",onFinish:"onFinish"}),Bootstrap.ModalManager.open("manualModal","Wizard Title...",a,null,this)},onNext:function(){return console.log("NEXT")},onPrev:function(){return console.log("PREV")},onFinish:function(){return Bootstrap.ModalManager.close("manualModal"),Bootstrap.NM.push("Wizard completed!") -}}})}).call(this)}(),function(){(function(){Showcase.UserController=Ember.Controller.extend({tabsMeta:[Ember.Object.create({title:"General",linkTo:"user.general"}),Ember.Object.create({title:"Privacy",linkTo:"user.privacy"}),Ember.Object.create({title:"Activities",linkTo:"user.activities"})]})}).call(this)}(),function(){}.call(this)}(); \ No newline at end of file +!function(){!function(){var a,b;a=window.Bootstrap,b=window.Showcase=Ember.Application.create({LOG_TRANSITIONS:!0,LOG_VIEW_LOOKUPS:!0,LOG_ACTIVE_GENERATION:!0}),Ember.ENV={HELPER_PARAM_LOOKUPS:!0},Ember.Handlebars.registerHelper("raw",function(a){return a.fn(a)})}(),function(){(function(){Showcase.Router.map(function(){return this.resource("show_components",function(){return this.route("alert"),this.route("breadcrumbs"),this.route("modal"),this.route("label"),this.route("badge"),this.route("well"),this.route("list-group"),this.route("panel"),this.route("page-header"),this.route("button"),this.route("buttonGroup"),this.route("progressbar"),this.route("pills"),this.route("tabs"),this.route("tabs-panes"),this.route("wizard"),this.route("items_action_bar"),this.route("tabs-with-routes"),this.route("notifications"),this.route("growl-notif"),this.route("popover"),this.resource("user",function(){return this.route("general"),this.route("privacy"),this.route("activities")})})})}).call(this)}(),function(){(function(){Showcase.ApplicationRoute=Ember.Route.extend({model:function(){return[Ember.Object.create({title:"Alert",route:"show_components.alert"}),Ember.Object.create({title:"Breadcrumbs",route:"show_components.breadcrumbs","new":!0}),Ember.Object.create({title:"Modal",route:"show_components.modal"}),Ember.Object.create({title:"Label",route:"show_components.label"}),Ember.Object.create({title:"Badge",route:"show_components.badge"}),Ember.Object.create({title:"Well",route:"show_components.well"}),Ember.Object.create({title:"List Group",route:"show_components.list-group"}),Ember.Object.create({title:"Panel",route:"show_components.panel"}),Ember.Object.create({title:"Page Header",route:"show_components.page-header"}),Ember.Object.create({title:"Button",route:"show_components.button"}),Ember.Object.create({title:"Button Group",route:"show_components.buttonGroup"}),Ember.Object.create({title:"Progressbar",route:"show_components.progressbar"}),Ember.Object.create({title:"Tooltips & Popover","new":!0,route:"show_components.popover"}),Ember.Object.create({title:"Nav - Pills",route:"show_components.pills"}),Ember.Object.create({title:"Nav - Tabs",route:"show_components.tabs"}),Ember.Object.create({title:"Nav - Tabs Panes",route:"show_components.tabs-panes"}),Ember.Object.create({title:"Nav - Tabs with Routes",special:!0,route:"show_components.tabs-with-routes"}),Ember.Object.create({title:"Wizard",special:!0,route:"show_components.wizard"}),Ember.Object.create({title:"Notifications",special:!0,route:"show_components.notifications"}),Ember.Object.create({title:"Items Action Bar","new":!0,route:"show_components.items_action_bar"}),Ember.Object.create({title:"Growl Notifications",special:!0,route:"show_components.growl-notif"})]}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsPopoverRoute=Ember.Route.extend({renderTemplate:function(){var a;return this.render(),a=this.controllerFor("ShowComponentsTooltipBox"),this.render("bs-tooltip-box",{outlet:"bs-tooltip-box",controller:a,into:"application"})}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsAlertController=Ember.Controller.extend({actions:{submit:function(){return alert("Action taken by controller!")},didAlertClosed:function(){return alert("From controller: The -closed- event was triggered.")},didAlertClose:function(){return alert("From controller: The -close- event was triggered.")}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsButtonController=Ember.Controller.extend({isButtonDisabled:!1,loadingState:null,loadingState1:null,actions:{disableButton:function(){return this.set("isButtonDisabled",!0)},startLoading:function(){var a=this;return this.set("loadingState","loading"),Ember.run.later(function(){return a.set("loadingState",null)},2e3)},startLoading1:function(){var a=this;return this.set("loadingState1","loading"),Ember.run.later(function(){return a.set("loadingState1","completed")},2e3)},buttonWithParam:function(a){return alert("Passed controller as a param: "+a)}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsItemsActionBarController=Ember.Controller.extend({actionsInBar:[[{title:"To Alerts",disabled:function(a){var b;return a.size<1||"Alerts"!==(null!=a&&null!=(b=a[0])?b.title:void 0)?!0:void 0},transitionTo:"show_components.alert"},{title:"To Panels",transitionTo:"show_components.panel",disabled:function(a){var b;return a.size<1||"Panels"!==(null!=a&&null!=(b=a[0])?b.title:void 0)?!0:void 0}}],[{title:"To Wizard",disabled:function(a){var b;return a.size<1||"Wizards"!==(null!=a&&null!=(b=a[0])?b.title:void 0)?!0:void 0},clickActionName:"wizard"}]],actions:{wizard:function(){return alert("Wizard pressed!")}},items:[Ember.Object.create({title:"Alerts"}),Ember.Object.create({title:"Panels"}),Ember.Object.create({title:"Wizards"})]})}).call(this)}(),function(){(function(){Showcase.ShowComponentsPanelController=Ember.Controller.extend({actions:{panelClicked:function(){return alert("Hello from controller: A click in a panel!")},panelClosed:function(){return alert("Hello from controller: The panel was closed!")}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsPopoverController=Ember.Controller.extend({testObject:Ember.Object.createWithMixins({sticky:function(){return Ember.Object.create({user:this,content:"know this is a sticky tooltip! You can hover over it.",trigger:"hover",sticky:!0})}.property()}),user:Ember.Object.create({firstNameBinding:"content.name",title:"rename",template:'name: {{input type="text" value=content.name}}',content:{name:"John"},trigger:"hover",sticky:!0}),hoverPop:Ember.Object.create({title:"I'm a title!",content:"And i'm a content!",trigger:"hover",placement:"right",sticky:!0}),clickPop:Ember.Object.create({title:"Clickable!",content:"

    Hello

    This is a clickable popover with html content!",placement:"left",html:!0}),templPop:Ember.Object.create({firstName:"numbers",title:"Popover with Template",template:"numbers:
      {{#each val in content.numbers}}
    • {{val}}
    • {{/each}}
    ",content:{numbers:[1,2,3]}})})}).call(this)}(),function(){(function(){Showcase.ShowComponentsProgressbarController=Ember.Controller.extend({prog:0,incrementBy:20,actions:{increment:function(){return this.prog<100?this.incrementProperty("prog",this.incrementBy):this.set("prog",this.incrementBy)}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsTooltipBoxController=Bootstrap.TooltipBoxController}).call(this)}(),function(){(function(){Showcase.ShowComponentsWellController=Ember.Controller.extend({wellClick:function(){return alert("Hello from controller: A click in a well!")}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsButtonGroupController=Ember.Controller.extend({options:["Home","Profile","Messages"],options2:["Admin","Settings"],optionsWithMeta:[Ember.Object.create({title:"Create",type:"primary"}),Ember.Object.create({title:"Destroy",type:"danger"})]})}).call(this)}(),function(){(function(){Showcase.ShowComponentsPillsController=Ember.Controller.extend({content:["Home","Profile","Messages"],init:function(){return this._super(),this.set("content1",Ember.A([Ember.Object.create({title:"Home","default":!0,disabled:!1}),Ember.Object.create({title:"Admin",disabled:!0})])),this.set("selected1",this.get("content1").objectAt(0))},contentChanged:function(){return console.log("Selection has changed to: "+this.get("selected"))}.observes("selected"),actions:{disableHome:function(){return this.get("content1").objectAt(0).set("disabled",!0)}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsGrowlNotifController=Ember.Controller.extend({actions:{pushInfo:function(){return Bootstrap.GNM.push("INFO!","Hello, this is just an info message.","info")},pushSuccess:function(){return Bootstrap.GNM.push("SUCCESS!","Successfully performed operation!","success")},pushWarn:function(){return Bootstrap.GNM.push("WARN!","Could not perform operation!","warning")},pushDanger:function(){return Bootstrap.GNM.push("Danger!","System is halting!","danger")}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsListGroupController=Ember.Controller.extend({listSimple:Ember.A(["Cras justo odio","Dapibus ac facilisis in","Morbi leo risus"]),listWithBadges:Ember.A([Ember.Object.create({title:"Inbox",badge:"45"}),Ember.Object.create({title:"Sent",badge:"33"})]),listWithSub:Ember.A([Ember.Object.create({title:"Inbox",sub:"Incoming mails folder",badge:"45"}),Ember.Object.create({title:"Sent",sub:"Sent emails folder",badge:"33"})])})}).call(this)}(),function(){(function(){Showcase.ShowComponentsModalController=Ember.Controller.extend({message:"Welcome to Bootstrap for Ember..!",myModalButtons:[Ember.Object.create({title:"Submit",clicked:"submit"}),Ember.Object.create({title:"Cancel",clicked:"cancel",dismiss:"modal"})],manualButtons:[Ember.Object.create({title:"Submit",clicked:"submitManual"}),Ember.Object.create({title:"Cancel",dismiss:"modal"})],actions:{submit:function(){return Bootstrap.NM.push("Successfully submitted modal","success"),Bootstrap.ModalManager.hide("myModal")},cancel:function(){return Bootstrap.NM.push("Modal was cancelled","info")},show:function(){return Bootstrap.ModalManager.show("myModal")},submitManual:function(){return Bootstrap.NM.push("Modal destroyed!","success"),Bootstrap.ModalManager.close("manualModal")},createModalProgramatically:function(){var a;return a=Ember.View.extend({template:Ember.Handlebars.compile("This is a programatic ")}),Bootstrap.ModalManager.open("manualModal","Hello","demo-template",this.manualButtons,this)},confirm:function(){return Bootstrap.ModalManager.confirm(this)},modalConfirmed:function(){return Bootstrap.NM.push("Confirmed!","success")},modalCanceled:function(){return Bootstrap.NM.push("Cancelled!","info")}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsNotificationsController=Ember.Controller.extend({actions:{pushInfo:function(){return Bootstrap.NM.push("Hello, this is just an info message.","info")},pushWarn:function(){return Bootstrap.NM.push("Could not perform operation!","warning")},pushSuccess:function(){return Bootstrap.NM.push("Successfully performed operation!","success")},pushDanger:function(){return Bootstrap.NM.push("Danger! system is halting!","danger")}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsTabsController=Ember.Controller.extend({content:["Home","Profile","Messages"],init:function(){return this._super(),this.set("selected","Home"),this.set("tabsPanesOptions",Ember.A([Ember.Object.create({title:"Foo",template:"tabs/foo-tabpane"}),Ember.Object.create({title:"Bar",template:"tabs/bar-tabpane"})]))}})}).call(this)}(),function(){(function(){Showcase.ShowcaseComponentsTabsFooController=Ember.Controller.extend()}).call(this)}(),function(){(function(){Showcase.ShowComponentsTabsPanesController=Ember.Controller.extend({tabsMeta:Ember.A([Ember.Object.create({title:"Foo",template:"tabs/foo-tabpane",controller:"ShowcaseComponentsTabsFoo"}),Ember.Object.create({title:"Bar",template:"tabs/bar-tabpane"})])})}).call(this)}(),function(){(function(){Showcase.ShowComponentsWizardController=Ember.Controller.extend({init:function(){return this._super(),this.set("steps",Ember.A([Ember.Object.create({title:"Foo",template:"tabs/foo-tabpane"}),Ember.Object.create({title:"Bar",template:"tabs/bar-tabpane"}),Ember.Object.create({title:"Baz",template:"tabs/baz-tabpane"})])),this.set("stepsNoPrev",Ember.A([Ember.Object.create({title:"Step1",template:"tabs/foo-tabpane",disabled:!0}),Ember.Object.create({title:"Step2",template:"tabs/bar-tabpane",disabled:!0}),Ember.Object.create({title:"Step3",template:"tabs/baz-tabpane",disabled:!0})]))},actions:{createWizard:function(){var a;return a=Bootstrap.BsWizardComponent.extend({content:[Ember.Object.create({title:"Step1",template:"wizard/step1",disabled:!0}),Ember.Object.create({title:"Step2",template:"wizard/step2",disabled:!0}),Ember.Object.create({title:"Step3",template:"wizard/step3",disabled:!0})],targetObject:this,onNext:"onNext",onPrev:"onPrev",onFinish:"onFinish"}),Bootstrap.ModalManager.open("manualModal","Wizard Title...",a,null,this)},onNext:function(){return console.log("NEXT")},onPrev:function(){return console.log("PREV")},onFinish:function(){return Bootstrap.ModalManager.close("manualModal"),Bootstrap.NM.push("Wizard completed!")}}})}).call(this)}(),function(){(function(){Showcase.UserController=Ember.Controller.extend({tabsMeta:[Ember.Object.create({title:"General",linkTo:"user.general"}),Ember.Object.create({title:"Privacy",linkTo:"user.privacy"}),Ember.Object.create({title:"Activities",linkTo:"user.activities"})]})}).call(this)}(),function(){}.call(this)}(); \ No newline at end of file diff --git a/dist/showcase/scripts/vendor/modernizr.js b/dist/showcase/scripts/vendor/modernizr.js index e69de29..903f5fa 100644 --- a/dist/showcase/scripts/vendor/modernizr.js +++ b/dist/showcase/scripts/vendor/modernizr.js @@ -0,0 +1 @@ +window.Modernizr=function(a,b,c){function d(a){t.cssText=a}function e(a,b){return d(x.join(a+";")+(b||""))}function f(a,b){return typeof a===b}function g(a,b){return!!~(""+a).indexOf(b)}function h(a,b){for(var d in a){var e=a[d];if(!g(e,"-")&&t[e]!==c)return"pfx"==b?e:!0}return!1}function i(a,b,d){for(var e in a){var g=b[a[e]];if(g!==c)return d===!1?a[e]:f(g,"function")?g.bind(d||b):g}return!1}function j(a,b,c){var d=a.charAt(0).toUpperCase()+a.slice(1),e=(a+" "+z.join(d+" ")+d).split(" ");return f(b,"string")||f(b,"undefined")?h(e,b):(e=(a+" "+A.join(d+" ")+d).split(" "),i(e,b,c))}function k(){o.input=function(c){for(var d=0,e=c.length;e>d;d++)E[c[d]]=!!(c[d]in u);return E.list&&(E.list=!(!b.createElement("datalist")||!a.HTMLDataListElement)),E}("autocomplete autofocus list placeholder max min multiple pattern required step".split(" ")),o.inputtypes=function(a){for(var d,e,f,g=0,h=a.length;h>g;g++)u.setAttribute("type",e=a[g]),d="text"!==u.type,d&&(u.value=v,u.style.cssText="position:absolute;visibility:hidden;",/^range$/.test(e)&&u.style.WebkitAppearance!==c?(q.appendChild(u),f=b.defaultView,d=f.getComputedStyle&&"textfield"!==f.getComputedStyle(u,null).WebkitAppearance&&0!==u.offsetHeight,q.removeChild(u)):/^(search|tel)$/.test(e)||(d=/^(url|email)$/.test(e)?u.checkValidity&&u.checkValidity()===!1:u.value!=v)),D[a[g]]=!!d;return D}("search tel url email datetime date month week time datetime-local number range color".split(" "))}var l,m,n="2.6.3",o={},p=!0,q=b.documentElement,r="modernizr",s=b.createElement(r),t=s.style,u=b.createElement("input"),v=":)",w={}.toString,x=" -webkit- -moz- -o- -ms- ".split(" "),y="Webkit Moz O ms",z=y.split(" "),A=y.toLowerCase().split(" "),B={svg:"http://www.w3.org/2000/svg"},C={},D={},E={},F=[],G=F.slice,H=function(a,c,d,e){var f,g,h,i,j=b.createElement("div"),k=b.body,l=k||b.createElement("body");if(parseInt(d,10))for(;d--;)h=b.createElement("div"),h.id=e?e[d]:r+(d+1),j.appendChild(h);return f=["­",'"].join(""),j.id=r,(k?j:l).innerHTML+=f,l.appendChild(j),k||(l.style.background="",l.style.overflow="hidden",i=q.style.overflow,q.style.overflow="hidden",q.appendChild(l)),g=c(j,a),k?j.parentNode.removeChild(j):(l.parentNode.removeChild(l),q.style.overflow=i),!!g},I=function(b){var c=a.matchMedia||a.msMatchMedia;if(c)return c(b).matches;var d;return H("@media "+b+" { #"+r+" { position: absolute; } }",function(b){d="absolute"==(a.getComputedStyle?getComputedStyle(b,null):b.currentStyle).position}),d},J=function(){function a(a,e){e=e||b.createElement(d[a]||"div"),a="on"+a;var g=a in e;return g||(e.setAttribute||(e=b.createElement("div")),e.setAttribute&&e.removeAttribute&&(e.setAttribute(a,""),g=f(e[a],"function"),f(e[a],"undefined")||(e[a]=c),e.removeAttribute(a))),e=null,g}var d={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return a}(),K={}.hasOwnProperty;m=f(K,"undefined")||f(K.call,"undefined")?function(a,b){return b in a&&f(a.constructor.prototype[b],"undefined")}:function(a,b){return K.call(a,b)},Function.prototype.bind||(Function.prototype.bind=function(a){var b=this;if("function"!=typeof b)throw new TypeError;var c=G.call(arguments,1),d=function(){if(this instanceof d){var e=function(){};e.prototype=b.prototype;var f=new e,g=b.apply(f,c.concat(G.call(arguments)));return Object(g)===g?g:f}return b.apply(a,c.concat(G.call(arguments)))};return d}),C.flexbox=function(){return j("flexWrap")},C.flexboxlegacy=function(){return j("boxDirection")},C.canvas=function(){var a=b.createElement("canvas");return!(!a.getContext||!a.getContext("2d"))},C.canvastext=function(){return!(!o.canvas||!f(b.createElement("canvas").getContext("2d").fillText,"function"))},C.webgl=function(){return!!a.WebGLRenderingContext},C.touch=function(){var c;return"ontouchstart"in a||a.DocumentTouch&&b instanceof DocumentTouch?c=!0:H(["@media (",x.join("touch-enabled),("),r,")","{#modernizr{top:9px;position:absolute}}"].join(""),function(a){c=9===a.offsetTop}),c},C.geolocation=function(){return"geolocation"in navigator},C.postmessage=function(){return!!a.postMessage},C.websqldatabase=function(){return!!a.openDatabase},C.indexedDB=function(){return!!j("indexedDB",a)},C.hashchange=function(){return J("hashchange",a)&&(b.documentMode===c||b.documentMode>7)},C.history=function(){return!(!a.history||!history.pushState)},C.draganddrop=function(){var a=b.createElement("div");return"draggable"in a||"ondragstart"in a&&"ondrop"in a},C.websockets=function(){return"WebSocket"in a||"MozWebSocket"in a},C.rgba=function(){return d("background-color:rgba(150,255,150,.5)"),g(t.backgroundColor,"rgba")},C.hsla=function(){return d("background-color:hsla(120,40%,100%,.5)"),g(t.backgroundColor,"rgba")||g(t.backgroundColor,"hsla")},C.multiplebgs=function(){return d("background:url(https://),url(https://),red url(https://)"),/(url\s*\(.*?){3}/.test(t.background)},C.backgroundsize=function(){return j("backgroundSize")},C.borderimage=function(){return j("borderImage")},C.borderradius=function(){return j("borderRadius")},C.boxshadow=function(){return j("boxShadow")},C.textshadow=function(){return""===b.createElement("div").style.textShadow},C.opacity=function(){return e("opacity:.55"),/^0.55$/.test(t.opacity)},C.cssanimations=function(){return j("animationName")},C.csscolumns=function(){return j("columnCount")},C.cssgradients=function(){var a="background-image:",b="gradient(linear,left top,right bottom,from(#9f9),to(white));",c="linear-gradient(left top,#9f9, white);";return d((a+"-webkit- ".split(" ").join(b+a)+x.join(c+a)).slice(0,-a.length)),g(t.backgroundImage,"gradient")},C.cssreflections=function(){return j("boxReflect")},C.csstransforms=function(){return!!j("transform")},C.csstransforms3d=function(){var a=!!j("perspective");return a&&"webkitPerspective"in q.style&&H("@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}",function(b){a=9===b.offsetLeft&&3===b.offsetHeight}),a},C.csstransitions=function(){return j("transition")},C.fontface=function(){var a;return H('@font-face {font-family:"font";src:url("https://")}',function(c,d){var e=b.getElementById("smodernizr"),f=e.sheet||e.styleSheet,g=f?f.cssRules&&f.cssRules[0]?f.cssRules[0].cssText:f.cssText||"":"";a=/src/i.test(g)&&0===g.indexOf(d.split(" ")[0])}),a},C.generatedcontent=function(){var a;return H(["#",r,"{font:0/0 a}#",r,':after{content:"',v,'";visibility:hidden;font:3px/1 a}'].join(""),function(b){a=b.offsetHeight>=3}),a},C.video=function(){var a=b.createElement("video"),c=!1;try{(c=!!a.canPlayType)&&(c=new Boolean(c),c.ogg=a.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,""),c.h264=a.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,""),c.webm=a.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,""))}catch(d){}return c},C.audio=function(){var a=b.createElement("audio"),c=!1;try{(c=!!a.canPlayType)&&(c=new Boolean(c),c.ogg=a.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),c.mp3=a.canPlayType("audio/mpeg;").replace(/^no$/,""),c.wav=a.canPlayType('audio/wav; codecs="1"').replace(/^no$/,""),c.m4a=(a.canPlayType("audio/x-m4a;")||a.canPlayType("audio/aac;")).replace(/^no$/,""))}catch(d){}return c},C.localstorage=function(){try{return localStorage.setItem(r,r),localStorage.removeItem(r),!0}catch(a){return!1}},C.sessionstorage=function(){try{return sessionStorage.setItem(r,r),sessionStorage.removeItem(r),!0}catch(a){return!1}},C.webworkers=function(){return!!a.Worker},C.applicationcache=function(){return!!a.applicationCache},C.svg=function(){return!!b.createElementNS&&!!b.createElementNS(B.svg,"svg").createSVGRect},C.inlinesvg=function(){var a=b.createElement("div");return a.innerHTML="",(a.firstChild&&a.firstChild.namespaceURI)==B.svg},C.smil=function(){return!!b.createElementNS&&/SVGAnimate/.test(w.call(b.createElementNS(B.svg,"animate")))},C.svgclippaths=function(){return!!b.createElementNS&&/SVGClipPath/.test(w.call(b.createElementNS(B.svg,"clipPath")))};for(var L in C)m(C,L)&&(l=L.toLowerCase(),o[l]=C[L](),F.push((o[l]?"":"no-")+l));return o.input||k(),o.addTest=function(a,b){if("object"==typeof a)for(var d in a)m(a,d)&&o.addTest(d,a[d]);else{if(a=a.toLowerCase(),o[a]!==c)return o;b="function"==typeof b?b():b,"undefined"!=typeof p&&p&&(q.className+=" "+(b?"":"no-")+a),o[a]=b}return o},d(""),s=u=null,function(a,b){function c(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=r.elements;return"string"==typeof a?a.split(" "):a}function e(a){var b=q[a[o]];return b||(b={},p++,a[o]=p,q[p]=b),b}function f(a,c,d){if(c||(c=b),k)return c.createElement(a);d||(d=e(c));var f;return f=d.cache[a]?d.cache[a].cloneNode():n.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),f.canHaveChildren&&!m.test(a)?d.frag.appendChild(f):f}function g(a,c){if(a||(a=b),k)return a.createDocumentFragment();c=c||e(a);for(var f=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)f.createElement(h[g]);return f}function h(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return r.shivMethods?f(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/\w+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(r,b.frag)}function i(a){a||(a=b);var d=e(a);return!r.shivCSS||j||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,figcaption,figure,footer,header,hgroup,nav,section{display:block}mark{background:#FF0;color:#000}")),k||h(a,d),a}var j,k,l=a.html5||{},m=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,n=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,o="_html5shiv",p=0,q={};!function(){try{var a=b.createElement("a");a.innerHTML="",j="hidden"in a,k=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){j=!0,k=!0}}();var r={elements:l.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",shivCSS:l.shivCSS!==!1,supportsUnknownElements:k,shivMethods:l.shivMethods!==!1,type:"default",shivDocument:i,createElement:f,createDocumentFragment:g};a.html5=r,i(b)}(this,b),o._version=n,o._prefixes=x,o._domPrefixes=A,o._cssomPrefixes=z,o.mq=I,o.hasEvent=J,o.testProp=function(a){return h([a])},o.testAllProps=j,o.testStyles=H,o.prefixed=function(a,b,c){return b?j(a,b,c):j(a,"pfx")},q.className=q.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(p?" js "+F.join(" "):""),o}(this,this.document); \ No newline at end of file diff --git a/dist/showcase/styles/main.css b/dist/showcase/styles/main.css index e69de29..377484a 100644 --- a/dist/showcase/styles/main.css +++ b/dist/showcase/styles/main.css @@ -0,0 +1,12 @@ +body{padding-top:70px}footer{padding-left:15px;padding-right:15px}/*! + * Bootstrap v3.0.0 + * + * Copyright 2013 Twitter, Inc + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Designed and built with all the love in the world by @mdo and @fat. + *//*! normalize.css v2.1.0 | MIT License | git.io/normalize */article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block}audio:not([controls]){display:none;height:0}[hidden]{display:none}html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}a:focus{outline:thin dotted}a:active,a:hover{outline:0}h1{margin:.67em 0;font-size:2em}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}hr{height:0;-moz-box-sizing:content-box;box-sizing:content-box}mark{color:#000;background:#ff0}code,kbd,pre,samp{font-family:monospace,serif;font-size:1em}pre{white-space:pre-wrap}q{quotes:"\201C" "\201D" "\2018" "\2019"}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:0}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}button,input,select,textarea{margin:0;font-family:inherit;font-size:100%}button,input{line-height:normal}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{cursor:pointer;-webkit-appearance:button}button[disabled],html input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{padding:0;box-sizing:border-box}input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}@media print{*{color:#000!important;text-shadow:none!important;background:transparent!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100%!important}@page{margin:2cm .5cm}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.table td,.table th{background-color:#fff!important}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table-bordered th,.table-bordered td{border:1px solid #ddd!important}}*,:before,:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:62.5%;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.428571429;color:#333;background-color:#fff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}button,input,select[multiple],textarea{background-image:none}a{color:#428bca;text-decoration:none}a:hover,a:focus{color:#2a6496;text-decoration:underline}a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}img{vertical-align:middle}.img-responsive{display:block;height:auto;max-width:100%}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;height:auto;max-width:100%;padding:4px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16.099999999999998px;font-weight:200;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}small{font-size:85%}cite{font-style:normal}.text-muted{color:#999}.text-primary{color:#428bca}.text-warning{color:#c09853}.text-danger{color:#b94a48}.text-success{color:#468847}.text-info{color:#3a87ad}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:500;line-height:1.1}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small{font-weight:400;line-height:1;color:#999}h1,h2,h3{margin-top:20px;margin-bottom:10px}h4,h5,h6{margin-top:10px;margin-bottom:10px}h1,.h1{font-size:36px}h2,.h2{font-size:30px}h3,.h3{font-size:24px}h4,.h4{font-size:18px}h5,.h5{font-size:14px}h6,.h6{font-size:12px}h1 small,.h1 small{font-size:24px}h2 small,.h2 small{font-size:18px}h3 small,.h3 small,h4 small,.h4 small{font-size:14px}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ul,ol{margin-top:0;margin-bottom:10px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-bottom:20px}dt,dd{line-height:1.428571429}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}.dl-horizontal dd:before,.dl-horizontal dd:after{display:table;content:" "}.dl-horizontal dd:after{clear:both}.dl-horizontal dd:before,.dl-horizontal dd:after{display:table;content:" "}.dl-horizontal dd:after{clear:both}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #999}abbr.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;border-left:5px solid #eee}blockquote p{font-size:17.5px;font-weight:300;line-height:1.25}blockquote p:last-child{margin-bottom:0}blockquote small{display:block;line-height:1.428571429;color:#999}blockquote small:before{content:'\2014 \00A0'}blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0}blockquote.pull-right p,blockquote.pull-right small{text-align:right}blockquote.pull-right small:before{content:''}blockquote.pull-right small:after{content:'\00A0 \2014'}q:before,q:after,blockquote:before,blockquote:after{content:""}address{display:block;margin-bottom:20px;font-style:normal;line-height:1.428571429}code,pre{font-family:Monaco,Menlo,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;white-space:nowrap;background-color:#f9f2f4;border-radius:4px}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.428571429;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre.prettyprint{margin-bottom:20px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.container:before,.container:after{display:table;content:" "}.container:after{clear:both}.container:before,.container:after{display:table;content:" "}.container:after{clear:both}.row{margin-right:-15px;margin-left:-15px}.row:before,.row:after{display:table;content:" "}.row:after{clear:both}.row:before,.row:after{display:table;content:" "}.row:after{clear:both}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12,.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12,.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12,.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11{float:left}.col-xs-1{width:8.333333333333332%}.col-xs-2{width:16.666666666666664%}.col-xs-3{width:25%}.col-xs-4{width:33.33333333333333%}.col-xs-5{width:41.66666666666667%}.col-xs-6{width:50%}.col-xs-7{width:58.333333333333336%}.col-xs-8{width:66.66666666666666%}.col-xs-9{width:75%}.col-xs-10{width:83.33333333333334%}.col-xs-11{width:91.66666666666666%}.col-xs-12{width:100%}@media (min-width:768px){.container{max-width:750px}.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11{float:left}.col-sm-1{width:8.333333333333332%}.col-sm-2{width:16.666666666666664%}.col-sm-3{width:25%}.col-sm-4{width:33.33333333333333%}.col-sm-5{width:41.66666666666667%}.col-sm-6{width:50%}.col-sm-7{width:58.333333333333336%}.col-sm-8{width:66.66666666666666%}.col-sm-9{width:75%}.col-sm-10{width:83.33333333333334%}.col-sm-11{width:91.66666666666666%}.col-sm-12{width:100%}.col-sm-push-1{left:8.333333333333332%}.col-sm-push-2{left:16.666666666666664%}.col-sm-push-3{left:25%}.col-sm-push-4{left:33.33333333333333%}.col-sm-push-5{left:41.66666666666667%}.col-sm-push-6{left:50%}.col-sm-push-7{left:58.333333333333336%}.col-sm-push-8{left:66.66666666666666%}.col-sm-push-9{left:75%}.col-sm-push-10{left:83.33333333333334%}.col-sm-push-11{left:91.66666666666666%}.col-sm-pull-1{right:8.333333333333332%}.col-sm-pull-2{right:16.666666666666664%}.col-sm-pull-3{right:25%}.col-sm-pull-4{right:33.33333333333333%}.col-sm-pull-5{right:41.66666666666667%}.col-sm-pull-6{right:50%}.col-sm-pull-7{right:58.333333333333336%}.col-sm-pull-8{right:66.66666666666666%}.col-sm-pull-9{right:75%}.col-sm-pull-10{right:83.33333333333334%}.col-sm-pull-11{right:91.66666666666666%}.col-sm-offset-1{margin-left:8.333333333333332%}.col-sm-offset-2{margin-left:16.666666666666664%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-4{margin-left:33.33333333333333%}.col-sm-offset-5{margin-left:41.66666666666667%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-7{margin-left:58.333333333333336%}.col-sm-offset-8{margin-left:66.66666666666666%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-10{margin-left:83.33333333333334%}.col-sm-offset-11{margin-left:91.66666666666666%}}@media (min-width:992px){.container{max-width:970px}.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11{float:left}.col-md-1{width:8.333333333333332%}.col-md-2{width:16.666666666666664%}.col-md-3{width:25%}.col-md-4{width:33.33333333333333%}.col-md-5{width:41.66666666666667%}.col-md-6{width:50%}.col-md-7{width:58.333333333333336%}.col-md-8{width:66.66666666666666%}.col-md-9{width:75%}.col-md-10{width:83.33333333333334%}.col-md-11{width:91.66666666666666%}.col-md-12{width:100%}.col-md-push-0{left:auto}.col-md-push-1{left:8.333333333333332%}.col-md-push-2{left:16.666666666666664%}.col-md-push-3{left:25%}.col-md-push-4{left:33.33333333333333%}.col-md-push-5{left:41.66666666666667%}.col-md-push-6{left:50%}.col-md-push-7{left:58.333333333333336%}.col-md-push-8{left:66.66666666666666%}.col-md-push-9{left:75%}.col-md-push-10{left:83.33333333333334%}.col-md-push-11{left:91.66666666666666%}.col-md-pull-0{right:auto}.col-md-pull-1{right:8.333333333333332%}.col-md-pull-2{right:16.666666666666664%}.col-md-pull-3{right:25%}.col-md-pull-4{right:33.33333333333333%}.col-md-pull-5{right:41.66666666666667%}.col-md-pull-6{right:50%}.col-md-pull-7{right:58.333333333333336%}.col-md-pull-8{right:66.66666666666666%}.col-md-pull-9{right:75%}.col-md-pull-10{right:83.33333333333334%}.col-md-pull-11{right:91.66666666666666%}.col-md-offset-0{margin-left:0}.col-md-offset-1{margin-left:8.333333333333332%}.col-md-offset-2{margin-left:16.666666666666664%}.col-md-offset-3{margin-left:25%}.col-md-offset-4{margin-left:33.33333333333333%}.col-md-offset-5{margin-left:41.66666666666667%}.col-md-offset-6{margin-left:50%}.col-md-offset-7{margin-left:58.333333333333336%}.col-md-offset-8{margin-left:66.66666666666666%}.col-md-offset-9{margin-left:75%}.col-md-offset-10{margin-left:83.33333333333334%}.col-md-offset-11{margin-left:91.66666666666666%}}@media (min-width:1200px){.container{max-width:1170px}.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11{float:left}.col-lg-1{width:8.333333333333332%}.col-lg-2{width:16.666666666666664%}.col-lg-3{width:25%}.col-lg-4{width:33.33333333333333%}.col-lg-5{width:41.66666666666667%}.col-lg-6{width:50%}.col-lg-7{width:58.333333333333336%}.col-lg-8{width:66.66666666666666%}.col-lg-9{width:75%}.col-lg-10{width:83.33333333333334%}.col-lg-11{width:91.66666666666666%}.col-lg-12{width:100%}.col-lg-push-0{left:auto}.col-lg-push-1{left:8.333333333333332%}.col-lg-push-2{left:16.666666666666664%}.col-lg-push-3{left:25%}.col-lg-push-4{left:33.33333333333333%}.col-lg-push-5{left:41.66666666666667%}.col-lg-push-6{left:50%}.col-lg-push-7{left:58.333333333333336%}.col-lg-push-8{left:66.66666666666666%}.col-lg-push-9{left:75%}.col-lg-push-10{left:83.33333333333334%}.col-lg-push-11{left:91.66666666666666%}.col-lg-pull-0{right:auto}.col-lg-pull-1{right:8.333333333333332%}.col-lg-pull-2{right:16.666666666666664%}.col-lg-pull-3{right:25%}.col-lg-pull-4{right:33.33333333333333%}.col-lg-pull-5{right:41.66666666666667%}.col-lg-pull-6{right:50%}.col-lg-pull-7{right:58.333333333333336%}.col-lg-pull-8{right:66.66666666666666%}.col-lg-pull-9{right:75%}.col-lg-pull-10{right:83.33333333333334%}.col-lg-pull-11{right:91.66666666666666%}.col-lg-offset-0{margin-left:0}.col-lg-offset-1{margin-left:8.333333333333332%}.col-lg-offset-2{margin-left:16.666666666666664%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-4{margin-left:33.33333333333333%}.col-lg-offset-5{margin-left:41.66666666666667%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-7{margin-left:58.333333333333336%}.col-lg-offset-8{margin-left:66.66666666666666%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-10{margin-left:83.33333333333334%}.col-lg-offset-11{margin-left:91.66666666666666%}}table{max-width:100%;background-color:transparent}th{text-align:left}.table{width:100%;margin-bottom:20px}.table thead>tr>th,.table tbody>tr>th,.table tfoot>tr>th,.table thead>tr>td,.table tbody>tr>td,.table tfoot>tr>td{padding:8px;line-height:1.428571429;vertical-align:top;border-top:1px solid #ddd}.table thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table caption+thead tr:first-child th,.table colgroup+thead tr:first-child th,.table thead:first-child tr:first-child th,.table caption+thead tr:first-child td,.table colgroup+thead tr:first-child td,.table thead:first-child tr:first-child td{border-top:0}.table tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed thead>tr>th,.table-condensed tbody>tr>th,.table-condensed tfoot>tr>th,.table-condensed thead>tr>td,.table-condensed tbody>tr>td,.table-condensed tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-child(odd)>td,.table-striped>tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.table-hover>tbody>tr:hover>td,.table-hover>tbody>tr:hover>th{background-color:#f5f5f5}table col[class*=col-]{display:table-column;float:none}table td[class*=col-],table th[class*=col-]{display:table-cell;float:none}.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#f5f5f5}.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#dff0d8;border-color:#d6e9c6}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td{background-color:#d0e9c6;border-color:#c9e2b3}.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#f2dede;border-color:#eed3d7}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td{background-color:#ebcccc;border-color:#e6c1c7}.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#fcf8e3;border-color:#fbeed5}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td{background-color:#faf2cc;border-color:#f8e5be}@media (max-width:768px){.table-responsive{width:100%;margin-bottom:15px;overflow-x:scroll;overflow-y:hidden;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0;background-color:#fff}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>thead>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>thead>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=radio],input[type=checkbox]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type=file]{display:block}select[multiple],select[size]{height:auto}select optgroup{font-family:inherit;font-size:inherit;font-style:inherit}input[type=file]:focus,input[type=radio]:focus,input[type=checkbox]:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{height:auto}.form-control:-moz-placeholder{color:#999}.form-control::-moz-placeholder{color:#999}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.428571429;color:#555;vertical-align:middle;background-color:#fff;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee}textarea.form-control{height:auto}.form-group{margin-bottom:15px}.radio,.checkbox{display:block;min-height:20px;padding-left:20px;margin-top:10px;margin-bottom:10px;vertical-align:middle}.radio label,.checkbox label{display:inline;margin-bottom:0;font-weight:400;cursor:pointer}.radio input[type=radio],.radio-inline input[type=radio],.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox]{float:left;margin-left:-20px}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type=radio][disabled],input[type=checkbox][disabled],.radio[disabled],.radio-inline[disabled],.checkbox[disabled],.checkbox-inline[disabled],fieldset[disabled] input[type=radio],fieldset[disabled] input[type=checkbox],fieldset[disabled] .radio,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}textarea.input-sm{height:auto}.input-lg{height:45px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-lg{height:45px;line-height:45px}textarea.input-lg{height:auto}.has-warning .help-block,.has-warning .control-label{color:#c09853}.has-warning .form-control{border-color:#c09853;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#a47e3c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #dbc59e;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #dbc59e}.has-warning .input-group-addon{color:#c09853;background-color:#fcf8e3;border-color:#c09853}.has-error .help-block,.has-error .control-label{color:#b94a48}.has-error .form-control{border-color:#b94a48;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#953b39;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #d59392;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #d59392}.has-error .input-group-addon{color:#b94a48;background-color:#f2dede;border-color:#b94a48}.has-success .help-block,.has-success .control-label{color:#468847}.has-success .form-control{border-color:#468847;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#356635;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #7aba7b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #7aba7b}.has-success .input-group-addon{color:#468847;background-color:#dff0d8;border-color:#468847}.form-control-static{padding-top:7px;margin-bottom:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block}.form-inline .radio,.form-inline .checkbox{display:inline-block;padding-left:0;margin-top:0;margin-bottom:0}.form-inline .radio input[type=radio],.form-inline .checkbox input[type=checkbox]{float:none;margin-left:0}}.form-horizontal .control-label,.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}.form-horizontal .form-group:before,.form-horizontal .form-group:after{display:table;content:" "}.form-horizontal .form-group:after{clear:both}.form-horizontal .form-group:before,.form-horizontal .form-group:after{display:table;content:" "}.form-horizontal .form-group:after{clear:both}@media (min-width:768px){.form-horizontal .control-label{text-align:right}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.428571429;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;border:1px solid transparent;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.btn:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus{color:#333;text-decoration:none}.btn:active,.btn.active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{pointer-events:none;cursor:not-allowed;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default:hover,.btn-default:focus,.btn-default:active,.btn-default.active,.open .dropdown-toggle.btn-default{color:#333;background-color:#ebebeb;border-color:#adadad}.btn-default:active,.btn-default.active,.open .dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default[disabled],fieldset[disabled] .btn-default,.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled:active,.btn-default[disabled]:active,fieldset[disabled] .btn-default:active,.btn-default.disabled.active,.btn-default[disabled].active,fieldset[disabled] .btn-default.active{background-color:#fff;border-color:#ccc}.btn-primary{color:#fff;background-color:#428bca;border-color:#357ebd}.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.open .dropdown-toggle.btn-primary{color:#fff;background-color:#3276b1;border-color:#285e8e}.btn-primary:active,.btn-primary.active,.open .dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary[disabled],fieldset[disabled] .btn-primary,.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled:active,.btn-primary[disabled]:active,fieldset[disabled] .btn-primary:active,.btn-primary.disabled.active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary.active{background-color:#428bca;border-color:#357ebd}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active,.open .dropdown-toggle.btn-warning{color:#fff;background-color:#ed9c28;border-color:#d58512}.btn-warning:active,.btn-warning.active,.open .dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-warning,.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled:active,.btn-warning[disabled]:active,fieldset[disabled] .btn-warning:active,.btn-warning.disabled.active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning.active{background-color:#f0ad4e;border-color:#eea236}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.open .dropdown-toggle.btn-danger{color:#fff;background-color:#d2322d;border-color:#ac2925}.btn-danger:active,.btn-danger.active,.open .dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger[disabled],fieldset[disabled] .btn-danger,.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled:active,.btn-danger[disabled]:active,fieldset[disabled] .btn-danger:active,.btn-danger.disabled.active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger.active{background-color:#d9534f;border-color:#d43f3a}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.open .dropdown-toggle.btn-success{color:#fff;background-color:#47a447;border-color:#398439}.btn-success:active,.btn-success.active,.open .dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success[disabled],fieldset[disabled] .btn-success,.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled:active,.btn-success[disabled]:active,fieldset[disabled] .btn-success:active,.btn-success.disabled.active,.btn-success[disabled].active,fieldset[disabled] .btn-success.active{background-color:#5cb85c;border-color:#4cae4c}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active,.open .dropdown-toggle.btn-info{color:#fff;background-color:#39b3d7;border-color:#269abc}.btn-info:active,.btn-info.active,.open .dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info[disabled],fieldset[disabled] .btn-info,.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled:active,.btn-info[disabled]:active,fieldset[disabled] .btn-info:active,.btn-info.disabled.active,.btn-info[disabled].active,fieldset[disabled] .btn-info.active{background-color:#5bc0de;border-color:#46b8da}.btn-link{font-weight:400;color:#428bca;cursor:pointer;border-radius:0}.btn-link,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#2a6496;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#999;text-decoration:none}.btn-lg{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.btn-sm,.btn-xs{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-xs{padding:1px 5px}.btn-block{display:block;width:100%;padding-right:0;padding-left:0}.btn-block+.btn-block{margin-top:5px}input[type=submit].btn-block,input[type=reset].btn-block,input[type=button].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;transition:height .35s ease}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons-halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';-webkit-font-smoothing:antialiased;font-style:normal;font-weight:400;line-height:1}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-print:before{content:"\e045"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-briefcase:before{content:"\1f4bc"}.glyphicon-calendar:before{content:"\1f4c5"}.glyphicon-pushpin:before{content:"\1f4cc"}.glyphicon-paperclip:before{content:"\1f4ce"}.glyphicon-camera:before{content:"\1f4f7"}.glyphicon-lock:before{content:"\1f512"}.glyphicon-bell:before{content:"\1f514"}.glyphicon-bookmark:before{content:"\1f516"}.glyphicon-fire:before{content:"\1f525"}.glyphicon-wrench:before{content:"\1f527"}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid #000;border-right:4px solid transparent;border-bottom:0 dotted;border-left:4px solid transparent;content:""}.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;list-style:none;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.428571429;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{color:#fff;text-decoration:none;background-color:#428bca}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;background-color:#428bca;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#999}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.428571429;color:#999}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0 dotted;border-bottom:4px solid #000;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}}.btn-default .caret{border-top-color:#333}.btn-primary .caret,.btn-success .caret,.btn-warning .caret,.btn-danger .caret,.btn-info .caret{border-top-color:#fff}.dropup .btn-default .caret{border-bottom-color:#333}.dropup .btn-primary .caret,.dropup .btn-success .caret,.dropup .btn-warning .caret,.dropup .btn-danger .caret,.dropup .btn-info .caret{border-bottom-color:#fff}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}.btn-group>.btn:focus,.btn-group-vertical>.btn:focus{outline:0}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar:before,.btn-toolbar:after{display:table;content:" "}.btn-toolbar:after{clear:both}.btn-toolbar:before,.btn-toolbar:after{display:table;content:" "}.btn-toolbar:after{clear:both}.btn-toolbar .btn-group{float:left}.btn-toolbar>.btn+.btn,.btn-toolbar>.btn-group+.btn,.btn-toolbar>.btn+.btn-group,.btn-toolbar>.btn-group+.btn-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child>.btn:last-child,.btn-group>.btn-group:first-child>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group-xs>.btn{padding:5px 10px;padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after{display:table;content:" "}.btn-group-vertical>.btn-group:after{clear:both}.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after{display:table;content:" "}.btn-group-vertical>.btn-group:after{clear:both}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-right-radius:0;border-bottom-left-radius:4px;border-top-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child>.btn:last-child,.btn-group-vertical>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;border-collapse:separate;table-layout:fixed}.btn-group-justified .btn{display:table-cell;float:none;width:1%}[data-toggle=buttons]>.btn>input[type=radio],[data-toggle=buttons]>.btn>input[type=checkbox]{display:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group.col{float:none;padding-right:0;padding-left:0}.input-group .form-control{width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:45px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:45px;line-height:45px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=radio],.input-group-addon input[type=checkbox]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-4px}.input-group-btn>.btn:hover,.input-group-btn>.btn:active{z-index:2}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav:before,.nav:after{display:table;content:" "}.nav:after{clear:both}.nav:before,.nav:after{display:table;content:" "}.nav:after{clear:both}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#999}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#999;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eee;border-color:#428bca}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.428571429;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{text-align:center}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}}.nav-tabs.nav-justified>li>a{margin-right:0;border-bottom:1px solid #ddd}.nav-tabs.nav-justified>.active>a{border-bottom-color:#fff}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:5px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#fff;background-color:#428bca}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{text-align:center}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-bottom:1px solid #ddd}.nav-tabs-justified>.active>a{border-bottom-color:#fff}.tabbable:before,.tabbable:after{display:table;content:" "}.tabbable:after{clear:both}.tabbable:before,.tabbable:after{display:table;content:" "}.tabbable:after{clear:both}.tab-content>.tab-pane,.pill-content>.pill-pane{display:none}.tab-content>.active,.pill-content>.active{display:block}.nav .caret{border-top-color:#428bca;border-bottom-color:#428bca}.nav a:hover .caret{border-top-color:#2a6496;border-bottom-color:#2a6496}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.navbar{position:relative;z-index:1000;min-height:50px;margin-bottom:20px;border:1px solid transparent}.navbar:before,.navbar:after{display:table;content:" "}.navbar:after{clear:both}.navbar:before,.navbar:after{display:table;content:" "}.navbar:after{clear:both}@media (min-width:768px){.navbar{border-radius:4px}}.navbar-header:before,.navbar-header:after{display:table;content:" "}.navbar-header:after{clear:both}.navbar-header:before,.navbar-header:after{display:table;content:" "}.navbar-header:after{clear:both}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{max-height:340px;padding-right:15px;padding-left:15px;overflow-x:visible;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.1);-webkit-overflow-scrolling:touch}.navbar-collapse:before,.navbar-collapse:after{display:table;content:" "}.navbar-collapse:after{clear:both}.navbar-collapse:before,.navbar-collapse:after{display:table;content:" "}.navbar-collapse:after{clear:both}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-collapse .navbar-nav.navbar-left:first-child{margin-left:-15px}.navbar-collapse .navbar-nav.navbar-right:last-child{margin-right:-15px}.navbar-collapse .navbar-text:last-child{margin-right:0}}.container>.navbar-header,.container>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container>.navbar-header,.container>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;border-width:0 0 1px}@media (min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;z-index:1030}.navbar-fixed-bottom{bottom:0;margin-bottom:0}.navbar-brand{float:left;padding:15px;font-size:18px;line-height:20px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}@media (min-width:768px){.navbar>.container .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;border:1px solid transparent;border-radius:4px}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;padding-left:0;margin-top:0;margin-bottom:0}.navbar-form .radio input[type=radio],.navbar-form .checkbox input[type=checkbox]{float:none;margin-left:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-nav.pull-right>li>.dropdown-menu,.navbar-nav>li>.dropdown-menu.pull-right{right:0;left:auto}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-text{float:left;margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{margin-right:15px;margin-left:15px}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#ccc}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e6e6e6}.navbar-default .navbar-nav>.dropdown>a:hover .caret,.navbar-default .navbar-nav>.dropdown>a:focus .caret{border-top-color:#333;border-bottom-color:#333}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.open>a .caret,.navbar-default .navbar-nav>.open>a:hover .caret,.navbar-default .navbar-nav>.open>a:focus .caret{border-top-color:#555;border-bottom-color:#555}.navbar-default .navbar-nav>.dropdown>a .caret{border-top-color:#777;border-bottom-color:#777}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#999}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#999}.navbar-inverse .navbar-nav>li>a{color:#999}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.dropdown>a:hover .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .navbar-nav>.dropdown>a .caret{border-top-color:#999;border-bottom-color:#999}.navbar-inverse .navbar-nav>.open>a .caret,.navbar-inverse .navbar-nav>.open>a:hover .caret,.navbar-inverse .navbar-nav>.open>a:focus .caret{border-top-color:#fff;border-bottom-color:#fff}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#999}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#999}.navbar-inverse .navbar-link:hover{color:#fff}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#999}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.428571429;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{background-color:#eee}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:2;color:#fff;cursor:default;background-color:#428bca;border-color:#428bca}.pagination>.disabled>span,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#999;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager:before,.pager:after{display:table;content:" "}.pager:after{clear:both}.pager:before,.pager:after{display:table;content:" "}.pager:after{clear:both}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#999;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}.label[href]:hover,.label[href]:focus{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.label-default{background-color:#999}.label-default[href]:hover,.label-default[href]:focus{background-color:gray}.label-primary{background-color:#428bca}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#3071a9}.label-success{background-color:#5cb85c}.label-success[href]:hover,.label-success[href]:focus{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:hover,.label-info[href]:focus{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;background-color:#999;border-radius:10px}.badge:empty{display:none}a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}.btn .badge{position:relative;top:-1px}a.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#428bca;background-color:#fff}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding:30px;margin-bottom:30px;font-size:21px;font-weight:200;line-height:2.1428571435;color:inherit;background-color:#eee}.jumbotron h1{line-height:1;color:inherit}.jumbotron p{line-height:1.4}.container .jumbotron{border-radius:6px}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron{padding-right:60px;padding-left:60px}.jumbotron h1{font-size:63px}}.thumbnail{display:inline-block;display:block;height:auto;max-width:100%;padding:4px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.thumbnail>img{display:block;height:auto;max-width:100%}a.thumbnail:hover,a.thumbnail:focus{border-color:#428bca}.thumbnail>img{margin-right:auto;margin-left:auto}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable{padding-right:35px}.alert-dismissable .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#468847;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#356635}.alert-info{color:#3a87ad;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#2d6987}.alert-warning{color:#c09853;background-color:#fcf8e3;border-color:#fbeed5}.alert-warning hr{border-top-color:#f8e5be}.alert-warning .alert-link{color:#a47e3c}.alert-danger{color:#b94a48;background-color:#f2dede;border-color:#eed3d7}.alert-danger hr{border-top-color:#e6c1c7}.alert-danger .alert-link{color:#953b39}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-moz-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:0 0}to{background-position:40px 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;color:#fff;text-align:center;background-color:#428bca;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;transition:width .6s ease}.progress-striped .progress-bar{background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,.15)),color-stop(0.75,rgba(255,255,255,.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:40px 40px}.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-moz-animation:progress-bar-stripes 2s linear infinite;-ms-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,.15)),color-stop(0.75,rgba(255,255,255,.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,.15)),color-stop(0.75,rgba(255,255,255,.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,.15)),color-stop(0.75,rgba(255,255,255,.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,.15)),color-stop(0.75,rgba(255,255,255,.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media,.media-body{overflow:hidden;zoom:1}.media,.media .media{margin-top:15px}.media:first-child{margin-top:0}.media-object{display:block}.media-heading{margin:0 0 5px}.media>.pull-left{margin-right:10px}.media>.pull-right{margin-left:10px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:hover,a.list-group-item:focus{text-decoration:none;background-color:#f5f5f5}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca}.list-group-item.active .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#e1edf7}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-body:before,.panel-body:after{display:table;content:" "}.panel-body:after{clear:both}.panel-body:before,.panel-body:after{display:table;content:" "}.panel-body:after{clear:both}.panel>.list-group{margin-bottom:0}.panel>.list-group .list-group-item{border-width:1px 0}.panel>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.panel>.list-group .list-group-item:last-child{border-bottom:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.panel>.table{margin-bottom:0}.panel>.panel-body+.table{border-top:1px solid #ddd}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.panel-title{margin-top:0;margin-bottom:0;font-size:16px}.panel-title>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel-group .panel{margin-bottom:0;overflow:hidden;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse .panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse .panel-body{border-top-color:#ddd}.panel-default>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#428bca}.panel-primary>.panel-heading{color:#fff;background-color:#428bca;border-color:#428bca}.panel-primary>.panel-heading+.panel-collapse .panel-body{border-top-color:#428bca}.panel-primary>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#428bca}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#468847;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse .panel-body{border-top-color:#d6e9c6}.panel-success>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#d6e9c6}.panel-warning{border-color:#fbeed5}.panel-warning>.panel-heading{color:#c09853;background-color:#fcf8e3;border-color:#fbeed5}.panel-warning>.panel-heading+.panel-collapse .panel-body{border-top-color:#fbeed5}.panel-warning>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#fbeed5}.panel-danger{border-color:#eed3d7}.panel-danger>.panel-heading{color:#b94a48;background-color:#f2dede;border-color:#eed3d7}.panel-danger>.panel-heading+.panel-collapse .panel-body{border-top-color:#eed3d7}.panel-danger>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#eed3d7}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#3a87ad;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse .panel-body{border-top-color:#bce8f1}.panel-info>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#bce8f1}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}body.modal-open,.modal-open .navbar-fixed-top,.modal-open .navbar-fixed-bottom{margin-right:15px}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;display:none;overflow:auto;overflow-y:scroll}.modal.fade .modal-dialog{-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);transform:translate(0,-25%);-webkit-transition:-webkit-transform .3s ease-out;-moz-transition:-moz-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0)}.modal-dialog{z-index:1050;width:auto;padding:10px;margin-right:auto;margin-left:auto}.modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5);background-clip:padding-box}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1030;background-color:#000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.modal-header{min-height:16.428571429px;padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.428571429}.modal-body{position:relative;padding:20px}.modal-footer{padding:19px 20px 20px;margin-top:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer:before,.modal-footer:after{display:table;content:" "}.modal-footer:after{clear:both}.modal-footer:before,.modal-footer:after{display:table;content:" "}.modal-footer:after{clear:both}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}@media screen and (min-width:768px){.modal-dialog{right:auto;left:50%;width:600px;padding-top:30px;padding-bottom:30px}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}}.tooltip{position:absolute;z-index:1030;display:block;font-size:12px;line-height:1.4;opacity:0;filter:alpha(opacity=0);visibility:visible}.tooltip.in{opacity:.9;filter:alpha(opacity=90)}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-color:#000;border-width:5px 5px 0}.tooltip.top-left .tooltip-arrow{bottom:0;left:5px;border-top-color:#000;border-width:5px 5px 0}.tooltip.top-right .tooltip-arrow{right:5px;bottom:0;border-top-color:#000;border-width:5px 5px 0}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-right-color:#000;border-width:5px 5px 5px 0}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-left-color:#000;border-width:5px 0 5px 5px}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-color:#000;border-width:0 5px 5px}.tooltip.bottom-left .tooltip-arrow{top:0;left:5px;border-bottom-color:#000;border-width:0 5px 5px}.tooltip.bottom-right .tooltip-arrow{top:0;right:5px;border-bottom-color:#000;border-width:0 5px 5px}.popover{position:absolute;top:0;left:0;z-index:1010;display:none;max-width:276px;padding:1px;text-align:left;white-space:normal;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);background-clip:padding-box}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;font-weight:400;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover .arrow,.popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover .arrow{border-width:11px}.popover .arrow:after{border-width:10px;content:""}.popover.top .arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top .arrow:after{bottom:1px;margin-left:-10px;border-top-color:#fff;border-bottom-width:0;content:" "}.popover.right .arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right .arrow:after{bottom:-10px;left:1px;border-right-color:#fff;border-left-width:0;content:" "}.popover.bottom .arrow{top:-11px;left:50%;margin-left:-11px;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25);border-top-width:0}.popover.bottom .arrow:after{top:1px;margin-left:-10px;border-bottom-color:#fff;border-top-width:0;content:" "}.popover.left .arrow{top:50%;right:-11px;margin-top:-11px;border-left-color:#999;border-left-color:rgba(0,0,0,.25);border-right-width:0}.popover.left .arrow:after{right:1px;bottom:-10px;border-left-color:#fff;border-right-width:0;content:" "}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;height:auto;max-width:100%;line-height:1}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);opacity:.5;filter:alpha(opacity=50)}.carousel-control.left{background-image:-webkit-gradient(linear,0 top,100% top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:-webkit-linear-gradient(left,color-stop(rgba(0,0,0,.5) 0),color-stop(rgba(0,0,0,.0001) 100%));background-image:-moz-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1)}.carousel-control.right{right:0;left:auto;background-image:-webkit-gradient(linear,0 top,100% top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:-webkit-linear-gradient(left,color-stop(rgba(0,0,0,.0001) 0),color-stop(rgba(0,0,0,.5) 100%));background-image:-moz-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1)}.carousel-control:hover,.carousel-control:focus{color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;left:50%;z-index:5;display:inline-block}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;margin-top:-10px;margin-left:-10px;font-family:serif}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-15px;margin-left:-15px;font-size:30px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after{display:table;content:" "}.clearfix:after{clear:both}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.affix{position:fixed}@-ms-viewport{width:device-width}@media screen and (max-width:400px){@-ms-viewport{width:320px}}.hidden{display:none!important;visibility:hidden!important}.visible-xs{display:none!important}tr.visible-xs{display:none!important}th.visible-xs,td.visible-xs{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}tr.visible-xs{display:table-row!important}th.visible-xs,td.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-xs.visible-sm{display:block!important}tr.visible-xs.visible-sm{display:table-row!important}th.visible-xs.visible-sm,td.visible-xs.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-xs.visible-md{display:block!important}tr.visible-xs.visible-md{display:table-row!important}th.visible-xs.visible-md,td.visible-xs.visible-md{display:table-cell!important}}@media (min-width:1200px){.visible-xs.visible-lg{display:block!important}tr.visible-xs.visible-lg{display:table-row!important}th.visible-xs.visible-lg,td.visible-xs.visible-lg{display:table-cell!important}}.visible-sm{display:none!important}tr.visible-sm{display:none!important}th.visible-sm,td.visible-sm{display:none!important}@media (max-width:767px){.visible-sm.visible-xs{display:block!important}tr.visible-sm.visible-xs{display:table-row!important}th.visible-sm.visible-xs,td.visible-sm.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}tr.visible-sm{display:table-row!important}th.visible-sm,td.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-sm.visible-md{display:block!important}tr.visible-sm.visible-md{display:table-row!important}th.visible-sm.visible-md,td.visible-sm.visible-md{display:table-cell!important}}@media (min-width:1200px){.visible-sm.visible-lg{display:block!important}tr.visible-sm.visible-lg{display:table-row!important}th.visible-sm.visible-lg,td.visible-sm.visible-lg{display:table-cell!important}}.visible-md{display:none!important}tr.visible-md{display:none!important}th.visible-md,td.visible-md{display:none!important}@media (max-width:767px){.visible-md.visible-xs{display:block!important}tr.visible-md.visible-xs{display:table-row!important}th.visible-md.visible-xs,td.visible-md.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-md.visible-sm{display:block!important}tr.visible-md.visible-sm{display:table-row!important}th.visible-md.visible-sm,td.visible-md.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}tr.visible-md{display:table-row!important}th.visible-md,td.visible-md{display:table-cell!important}}@media (min-width:1200px){.visible-md.visible-lg{display:block!important}tr.visible-md.visible-lg{display:table-row!important}th.visible-md.visible-lg,td.visible-md.visible-lg{display:table-cell!important}}.visible-lg{display:none!important}tr.visible-lg{display:none!important}th.visible-lg,td.visible-lg{display:none!important}@media (max-width:767px){.visible-lg.visible-xs{display:block!important}tr.visible-lg.visible-xs{display:table-row!important}th.visible-lg.visible-xs,td.visible-lg.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-lg.visible-sm{display:block!important}tr.visible-lg.visible-sm{display:table-row!important}th.visible-lg.visible-sm,td.visible-lg.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-lg.visible-md{display:block!important}tr.visible-lg.visible-md{display:table-row!important}th.visible-lg.visible-md,td.visible-lg.visible-md{display:table-cell!important}}@media (min-width:1200px){.visible-lg{display:block!important}tr.visible-lg{display:table-row!important}th.visible-lg,td.visible-lg{display:table-cell!important}}.hidden-xs{display:block!important}tr.hidden-xs{display:table-row!important}th.hidden-xs,td.hidden-xs{display:table-cell!important}@media (max-width:767px){.hidden-xs{display:none!important}tr.hidden-xs{display:none!important}th.hidden-xs,td.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-xs.hidden-sm{display:none!important}tr.hidden-xs.hidden-sm{display:none!important}th.hidden-xs.hidden-sm,td.hidden-xs.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-xs.hidden-md{display:none!important}tr.hidden-xs.hidden-md{display:none!important}th.hidden-xs.hidden-md,td.hidden-xs.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-xs.hidden-lg{display:none!important}tr.hidden-xs.hidden-lg{display:none!important}th.hidden-xs.hidden-lg,td.hidden-xs.hidden-lg{display:none!important}}.hidden-sm{display:block!important}tr.hidden-sm{display:table-row!important}th.hidden-sm,td.hidden-sm{display:table-cell!important}@media (max-width:767px){.hidden-sm.hidden-xs{display:none!important}tr.hidden-sm.hidden-xs{display:none!important}th.hidden-sm.hidden-xs,td.hidden-sm.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}tr.hidden-sm{display:none!important}th.hidden-sm,td.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-sm.hidden-md{display:none!important}tr.hidden-sm.hidden-md{display:none!important}th.hidden-sm.hidden-md,td.hidden-sm.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-sm.hidden-lg{display:none!important}tr.hidden-sm.hidden-lg{display:none!important}th.hidden-sm.hidden-lg,td.hidden-sm.hidden-lg{display:none!important}}.hidden-md{display:block!important}tr.hidden-md{display:table-row!important}th.hidden-md,td.hidden-md{display:table-cell!important}@media (max-width:767px){.hidden-md.hidden-xs{display:none!important}tr.hidden-md.hidden-xs{display:none!important}th.hidden-md.hidden-xs,td.hidden-md.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-md.hidden-sm{display:none!important}tr.hidden-md.hidden-sm{display:none!important}th.hidden-md.hidden-sm,td.hidden-md.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}tr.hidden-md{display:none!important}th.hidden-md,td.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-md.hidden-lg{display:none!important}tr.hidden-md.hidden-lg{display:none!important}th.hidden-md.hidden-lg,td.hidden-md.hidden-lg{display:none!important}}.hidden-lg{display:block!important}tr.hidden-lg{display:table-row!important}th.hidden-lg,td.hidden-lg{display:table-cell!important}@media (max-width:767px){.hidden-lg.hidden-xs{display:none!important}tr.hidden-lg.hidden-xs{display:none!important}th.hidden-lg.hidden-xs,td.hidden-lg.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-lg.hidden-sm{display:none!important}tr.hidden-lg.hidden-sm{display:none!important}th.hidden-lg.hidden-sm,td.hidden-lg.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-lg.hidden-md{display:none!important}tr.hidden-lg.hidden-md{display:none!important}th.hidden-lg.hidden-md,td.hidden-lg.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}tr.hidden-lg{display:none!important}th.hidden-lg,td.hidden-lg{display:none!important}}.visible-print{display:none!important}tr.visible-print{display:none!important}th.visible-print,td.visible-print{display:none!important}@media print{.visible-print{display:block!important}tr.visible-print{display:table-row!important}th.visible-print,td.visible-print{display:table-cell!important}.hidden-print{display:none!important}tr.hidden-print{display:none!important}th.hidden-print,td.hidden-print{display:none!important}}.btn-default,.btn-primary,.btn-success,.btn-info,.btn-warning,.btn-danger{text-shadow:0 -1px 0 rgba(0,0,0,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075)}.btn-default:active,.btn-primary:active,.btn-success:active,.btn-info:active,.btn-warning:active,.btn-danger:active,.btn-default.active,.btn-primary.active,.btn-success.active,.btn-info.active,.btn-warning.active,.btn-danger.active{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn:active,.btn.active{background-image:none}.btn-default{text-shadow:0 1px 0 #fff;background-image:-webkit-gradient(linear,left 0,left 100%,from(#fff),to(#e6e6e6));background-image:-webkit-linear-gradient(top,#fff,0,#e6e6e6,100%);background-image:-moz-linear-gradient(top,#fff 0,#e6e6e6 100%);background-image:linear-gradient(to bottom,#fff 0,#e6e6e6 100%);background-repeat:repeat-x;border-color:#e0e0e0;border-color:#ccc;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe6e6e6', GradientType=0)}.btn-default:active,.btn-default.active{background-color:#e6e6e6;border-color:#e0e0e0}.btn-primary{background-image:-webkit-gradient(linear,left 0,left 100%,from(#428bca),to(#3071a9));background-image:-webkit-linear-gradient(top,#428bca,0,#3071a9,100%);background-image:-moz-linear-gradient(top,#428bca 0,#3071a9 100%);background-image:linear-gradient(to bottom,#428bca 0,#3071a9 100%);background-repeat:repeat-x;border-color:#2d6ca2;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3071a9', GradientType=0)}.btn-primary:active,.btn-primary.active{background-color:#3071a9;border-color:#2d6ca2}.btn-success{background-image:-webkit-gradient(linear,left 0,left 100%,from(#5cb85c),to(#449d44));background-image:-webkit-linear-gradient(top,#5cb85c,0,#449d44,100%);background-image:-moz-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:linear-gradient(to bottom,#5cb85c 0,#449d44 100%);background-repeat:repeat-x;border-color:#419641;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0)}.btn-success:active,.btn-success.active{background-color:#449d44;border-color:#419641}.btn-warning{background-image:-webkit-gradient(linear,left 0,left 100%,from(#f0ad4e),to(#ec971f));background-image:-webkit-linear-gradient(top,#f0ad4e,0,#ec971f,100%);background-image:-moz-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:linear-gradient(to bottom,#f0ad4e 0,#ec971f 100%);background-repeat:repeat-x;border-color:#eb9316;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0)}.btn-warning:active,.btn-warning.active{background-color:#ec971f;border-color:#eb9316}.btn-danger{background-image:-webkit-gradient(linear,left 0,left 100%,from(#d9534f),to(#c9302c));background-image:-webkit-linear-gradient(top,#d9534f,0,#c9302c,100%);background-image:-moz-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:linear-gradient(to bottom,#d9534f 0,#c9302c 100%);background-repeat:repeat-x;border-color:#c12e2a;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0)}.btn-danger:active,.btn-danger.active{background-color:#c9302c;border-color:#c12e2a}.btn-info{background-image:-webkit-gradient(linear,left 0,left 100%,from(#5bc0de),to(#31b0d5));background-image:-webkit-linear-gradient(top,#5bc0de,0,#31b0d5,100%);background-image:-moz-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:linear-gradient(to bottom,#5bc0de 0,#31b0d5 100%);background-repeat:repeat-x;border-color:#2aabd2;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0)}.btn-info:active,.btn-info.active{background-color:#31b0d5;border-color:#2aabd2}.thumbnail,.img-thumbnail{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus,.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{background-color:#357ebd;background-image:-webkit-gradient(linear,left 0,left 100%,from(#428bca),to(#357ebd));background-image:-webkit-linear-gradient(top,#428bca,0,#357ebd,100%);background-image:-moz-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:linear-gradient(to bottom,#428bca 0,#357ebd 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0)}.navbar{background-image:-webkit-gradient(linear,left 0,left 100%,from(#fff),to(#f8f8f8));background-image:-webkit-linear-gradient(top,#fff,0,#f8f8f8,100%);background-image:-moz-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:linear-gradient(to bottom,#fff 0,#f8f8f8 100%);background-repeat:repeat-x;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075)}.navbar .navbar-nav>.active>a{background-color:#f8f8f8}.navbar-brand,.navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,.25)}.navbar-inverse{background-image:-webkit-gradient(linear,left 0,left 100%,from(#3c3c3c),to(#222));background-image:-webkit-linear-gradient(top,#3c3c3c,0,#222,100%);background-image:-moz-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:linear-gradient(to bottom,#3c3c3c 0,#222 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0)}.navbar-inverse .navbar-nav>.active>a{background-color:#222}.navbar-inverse .navbar-brand,.navbar-inverse .navbar-nav>li>a{text-shadow:0 -1px 0 rgba(0,0,0,.25)}.navbar-static-top,.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}.alert{text-shadow:0 1px 0 rgba(255,255,255,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05)}.alert-success{background-image:-webkit-gradient(linear,left 0,left 100%,from(#dff0d8),to(#c8e5bc));background-image:-webkit-linear-gradient(top,#dff0d8,0,#c8e5bc,100%);background-image:-moz-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:linear-gradient(to bottom,#dff0d8 0,#c8e5bc 100%);background-repeat:repeat-x;border-color:#b2dba1;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0)}.alert-info{background-image:-webkit-gradient(linear,left 0,left 100%,from(#d9edf7),to(#b9def0));background-image:-webkit-linear-gradient(top,#d9edf7,0,#b9def0,100%);background-image:-moz-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:linear-gradient(to bottom,#d9edf7 0,#b9def0 100%);background-repeat:repeat-x;border-color:#9acfea;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0)}.alert-warning{background-image:-webkit-gradient(linear,left 0,left 100%,from(#fcf8e3),to(#f8efc0));background-image:-webkit-linear-gradient(top,#fcf8e3,0,#f8efc0,100%);background-image:-moz-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:linear-gradient(to bottom,#fcf8e3 0,#f8efc0 100%);background-repeat:repeat-x;border-color:#f5e79e;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0)}.alert-danger{background-image:-webkit-gradient(linear,left 0,left 100%,from(#f2dede),to(#e7c3c3));background-image:-webkit-linear-gradient(top,#f2dede,0,#e7c3c3,100%);background-image:-moz-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:linear-gradient(to bottom,#f2dede 0,#e7c3c3 100%);background-repeat:repeat-x;border-color:#dca7a7;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0)}.progress{background-image:-webkit-gradient(linear,left 0,left 100%,from(#ebebeb),to(#f5f5f5));background-image:-webkit-linear-gradient(top,#ebebeb,0,#f5f5f5,100%);background-image:-moz-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:linear-gradient(to bottom,#ebebeb 0,#f5f5f5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0)}.progress-bar{background-image:-webkit-gradient(linear,left 0,left 100%,from(#428bca),to(#3071a9));background-image:-webkit-linear-gradient(top,#428bca,0,#3071a9,100%);background-image:-moz-linear-gradient(top,#428bca 0,#3071a9 100%);background-image:linear-gradient(to bottom,#428bca 0,#3071a9 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3071a9', GradientType=0)}.progress-bar-success{background-image:-webkit-gradient(linear,left 0,left 100%,from(#5cb85c),to(#449d44));background-image:-webkit-linear-gradient(top,#5cb85c,0,#449d44,100%);background-image:-moz-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:linear-gradient(to bottom,#5cb85c 0,#449d44 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0)}.progress-bar-info{background-image:-webkit-gradient(linear,left 0,left 100%,from(#5bc0de),to(#31b0d5));background-image:-webkit-linear-gradient(top,#5bc0de,0,#31b0d5,100%);background-image:-moz-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:linear-gradient(to bottom,#5bc0de 0,#31b0d5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0)}.progress-bar-warning{background-image:-webkit-gradient(linear,left 0,left 100%,from(#f0ad4e),to(#ec971f));background-image:-webkit-linear-gradient(top,#f0ad4e,0,#ec971f,100%);background-image:-moz-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:linear-gradient(to bottom,#f0ad4e 0,#ec971f 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0)}.progress-bar-danger{background-image:-webkit-gradient(linear,left 0,left 100%,from(#d9534f),to(#c9302c));background-image:-webkit-linear-gradient(top,#d9534f,0,#c9302c,100%);background-image:-moz-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:linear-gradient(to bottom,#d9534f 0,#c9302c 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0)}.list-group{border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{text-shadow:0 -1px 0 #3071a9;background-image:-webkit-gradient(linear,left 0,left 100%,from(#428bca),to(#3278b3));background-image:-webkit-linear-gradient(top,#428bca,0,#3278b3,100%);background-image:-moz-linear-gradient(top,#428bca 0,#3278b3 100%);background-image:linear-gradient(to bottom,#428bca 0,#3278b3 100%);background-repeat:repeat-x;border-color:#3278b3;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3278b3', GradientType=0)}.panel{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.05);box-shadow:0 1px 2px rgba(0,0,0,.05)}.panel-default>.panel-heading{background-image:-webkit-gradient(linear,left 0,left 100%,from(#f5f5f5),to(#e8e8e8));background-image:-webkit-linear-gradient(top,#f5f5f5,0,#e8e8e8,100%);background-image:-moz-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0)}.panel-primary>.panel-heading{background-image:-webkit-gradient(linear,left 0,left 100%,from(#428bca),to(#357ebd));background-image:-webkit-linear-gradient(top,#428bca,0,#357ebd,100%);background-image:-moz-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:linear-gradient(to bottom,#428bca 0,#357ebd 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0)}.panel-success>.panel-heading{background-image:-webkit-gradient(linear,left 0,left 100%,from(#dff0d8),to(#d0e9c6));background-image:-webkit-linear-gradient(top,#dff0d8,0,#d0e9c6,100%);background-image:-moz-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:linear-gradient(to bottom,#dff0d8 0,#d0e9c6 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0)}.panel-info>.panel-heading{background-image:-webkit-gradient(linear,left 0,left 100%,from(#d9edf7),to(#c4e3f3));background-image:-webkit-linear-gradient(top,#d9edf7,0,#c4e3f3,100%);background-image:-moz-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:linear-gradient(to bottom,#d9edf7 0,#c4e3f3 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0)}.panel-warning>.panel-heading{background-image:-webkit-gradient(linear,left 0,left 100%,from(#fcf8e3),to(#faf2cc));background-image:-webkit-linear-gradient(top,#fcf8e3,0,#faf2cc,100%);background-image:-moz-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:linear-gradient(to bottom,#fcf8e3 0,#faf2cc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0)}.panel-danger>.panel-heading{background-image:-webkit-gradient(linear,left 0,left 100%,from(#f2dede),to(#ebcccc));background-image:-webkit-linear-gradient(top,#f2dede,0,#ebcccc,100%);background-image:-moz-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:linear-gradient(to bottom,#f2dede 0,#ebcccc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0)}.well{background-image:-webkit-gradient(linear,left 0,left 100%,from(#e8e8e8),to(#f5f5f5));background-image:-webkit-linear-gradient(top,#e8e8e8,0,#f5f5f5,100%);background-image:-moz-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:linear-gradient(to bottom,#e8e8e8 0,#f5f5f5 100%);background-repeat:repeat-x;border-color:#dcdcdc;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1)}pre code{display:block;padding:.5em;background:#F0F0F0}pre code,pre .subst,pre .tag .title,pre .lisp .title,pre .clojure .built_in,pre .nginx .title{color:#000}pre .string,pre .title,pre .constant,pre .parent,pre .tag .value,pre .rules .value,pre .rules .value .number,pre .preprocessor,pre .ruby .symbol,pre .ruby .symbol .string,pre .aggregate,pre .template_tag,pre .django .variable,pre .smalltalk .class,pre .addition,pre .flow,pre .stream,pre .bash .variable,pre .apache .tag,pre .apache .cbracket,pre .tex .command,pre .tex .special,pre .erlang_repl .function_or_atom,pre .markdown .header{color:#800}pre .comment,pre .annotation,pre .template_comment,pre .diff .header,pre .chunk,pre .markdown .blockquote{color:#888}pre .number,pre .date,pre .regexp,pre .literal,pre .smalltalk .symbol,pre .smalltalk .char,pre .go .constant,pre .change,pre .markdown .bullet,pre .markdown .link_url{color:#080}pre .label,pre .javadoc,pre .ruby .string,pre .decorator,pre .filter .argument,pre .localvars,pre .array,pre .attr_selector,pre .important,pre .pseudo,pre .pi,pre .doctype,pre .deletion,pre .envvar,pre .shebang,pre .apache .sqbracket,pre .nginx .built_in,pre .tex .formula,pre .erlang_repl .reserved,pre .prompt,pre .markdown .link_label,pre .vhdl .attribute,pre .clojure .attribute,pre .coffeescript .property{color:#88F}pre .keyword,pre .id,pre .phpdoc,pre .title,pre .built_in,pre .aggregate,pre .css .tag,pre .javadoctag,pre .phpdoc,pre .yardoctag,pre .smalltalk .class,pre .winutils,pre .bash .variable,pre .apache .tag,pre .go .typename,pre .tex .command,pre .markdown .strong,pre .request,pre .status{font-weight:700}pre .markdown .emphasis{font-style:italic}pre .nginx .built_in{font-weight:400}pre .coffeescript .javascript,pre .javascript .xml,pre .tex .formula,pre .xml .javascript,pre .xml .vbscript,pre .xml .css,pre .xml .cdata{opacity:.5}/*! + * Font Awesome 4.0.3 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:FontAwesome;src:url(../fonts/fontawesome-webfont.eot?v=4.0.3);src:url(../fonts/fontawesome-webfont.eot?#iefix&v=4.0.3) format('embedded-opentype'),url(../fonts/fontawesome-webfont.woff?v=4.0.3) format('woff'),url(../fonts/fontawesome-webfont.ttf?v=4.0.3) format('truetype'),url(../fonts/fontawesome-webfont.svg?v=4.0.3#fontawesomeregular) format('svg');font-weight:400;font-style:normal}.fa{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.3333333333333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.2857142857142858em;text-align:center}.fa-ul{padding-left:0;margin-left:2.142857142857143em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.142857142857143em;width:2.142857142857143em;top:.14285714285714285em;text-align:center}.fa-li.fa-lg{left:-1.8571428571428572em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:spin 2s infinite linear;-moz-animation:spin 2s infinite linear;-o-animation:spin 2s infinite linear;animation:spin 2s infinite linear}@-moz-keyframes spin{0%{-moz-transform:rotate(0deg)}100%{-moz-transform:rotate(359deg)}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg)}}@-o-keyframes spin{0%{-o-transform:rotate(0deg)}100%{-o-transform:rotate(359deg)}}@-ms-keyframes spin{0%{-ms-transform:rotate(0deg)}100%{-ms-transform:rotate(359deg)}}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);-webkit-transform:scale(-1,1);-moz-transform:scale(-1,1);-ms-transform:scale(-1,1);-o-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);-webkit-transform:scale(1,-1);-moz-transform:scale(1,-1);-ms-transform:scale(1,-1);-o-transform:scale(1,-1);transform:scale(1,-1)}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-asc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-desc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-reply-all:before{content:"\f122"}.fa-mail-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"} \ No newline at end of file diff --git a/package.json b/package.json index 3e0cd3b..5a29b79 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,8 @@ "grunt-concurrent": "~0.1.0", "matchdep": "~0.1.1", "connect-livereload": "~0.2.0", - "grunt-ember-handlebars": "~0.7.0", + "grunt-ember-templates": "^0.5.0-alpha", + "ember-template-compiler": "^1.9.0-alpha", "grunt-neuter": "~0.5.0", "grunt-markdown": "~0.4.0" }, From ebde1882e3c1b367124c2c716e453ebbf93229b7 Mon Sep 17 00:00:00 2001 From: danshapir Date: Thu, 19 Feb 2015 09:53:56 +0200 Subject: [PATCH 04/24] Merge from master --- dist/js/bs-alert.max.js | 2 +- dist/js/bs-alert.min.js | 2 +- dist/js/bs-badge.max.js | 2 +- dist/js/bs-badge.min.js | 2 +- dist/js/bs-basic.max.js | 8 ++--- dist/js/bs-basic.min.js | 2 +- dist/js/bs-button.max.js | 4 +-- dist/js/bs-button.min.js | 2 +- dist/js/bs-core.max.js | 15 ++++++++- dist/js/bs-core.min.js | 2 +- dist/js/bs-label.max.js | 2 +- dist/js/bs-label.min.js | 2 +- dist/js/bs-modal.max.js | 2 +- dist/js/bs-modal.min.js | 2 +- dist/js/bs-popover.max.js | 24 ++++++++++++-- dist/js/bs-popover.min.js | 2 +- dist/js/bs-progressbar.max.js | 4 +-- dist/js/bs-progressbar.min.js | 2 +- dist/showcase/scripts/showcase-components.js | 33 +++++++++++--------- dist/showcase/scripts/showcase.js | 5 ++- 20 files changed, 78 insertions(+), 41 deletions(-) diff --git a/dist/js/bs-alert.max.js b/dist/js/bs-alert.max.js index 3285104..0ca7807 100644 --- a/dist/js/bs-alert.max.js +++ b/dist/js/bs-alert.max.js @@ -128,7 +128,7 @@ }).call(this); -Ember.TEMPLATES["components/bs-alert"] = Ember.Ember.TEMPLATES.template({"1":function(depth0,helpers,partials,data) { +Ember.TEMPLATES["components/bs-alert"] = Ember.HTMLBars.template({"1":function(depth0,helpers,partials,data) { data.buffer.push(" ×\r\n"); },"compiler":[6,">= 2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) { var stack1, buffer = ''; diff --git a/dist/js/bs-alert.min.js b/dist/js/bs-alert.min.js index 1a79d3c..4eb03b4 100644 --- a/dist/js/bs-alert.min.js +++ b/dist/js/bs-alert.min.js @@ -1 +1 @@ -+function(a){"use strict";var b='[data-dismiss="alert"]',c=function(c){a(c).on("click",b,this.close)};c.prototype.close=function(b){function c(){f.trigger("closed.bs.alert").remove()}var d=a(this),e=d.attr("data-target");e||(e=d.attr("href"),e=e&&e.replace(/.*(?=#[^\s]*$)/,""));var f=a(e);b&&b.preventDefault(),f.length||(f=d.hasClass("alert")?d:d.parent()),f.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one(a.support.transition.end,c).emulateTransitionEnd(150):c())};var d=a.fn.alert;a.fn.alert=function(b){return this.each(function(){var d=a(this),e=d.data("bs.alert");e||d.data("bs.alert",e=new c(this)),"string"==typeof b&&e[b].call(d)})},a.fn.alert.Constructor=c,a.fn.alert.noConflict=function(){return a.fn.alert=d,this},a(document).on("click.bs.alert.data-api",b,c.prototype.close)}(window.jQuery),function(){Bootstrap.BsAlertComponent=Ember.Component.extend(Bootstrap.TypeSupport,{classNames:["alert"],classNameBindings:["fade","fade:in"],layoutName:"components/bs-alert",classTypePrefix:"alert",attributeBindings:["data-timeout"],dismissAfter:0,closedParam:null,didInsertElement:function(){var a=this;return this.dismissAfter>0&&Ember.run.later(this,"dismiss",1e3*this.dismissAfter),Ember.$("#"+this.elementId).bind("closed.bs.alert",function(){return a.sendAction("closed",a.get("closedParam")),a.destroy()}),Ember.$("#"+this.elementId).bind("close.bs.alert",function(){return a.sendAction("close",a.get("closedParam"))})},dismiss:function(){return Ember.$("#"+this.elementId).alert("close")}}),Ember.Handlebars.helper("bs-alert",Bootstrap.BsAlertComponent)}.call(this),Ember.TEMPLATES["components/bs-alert"]=Ember.Ember.TEMPLATES.template({1:function(a,b,c,d){d.buffer.push(' ×\r\n')},compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f="";return e=b["if"].call(a,"dismiss",{name:"if",hash:{},hashTypes:{},hashContexts:{},fn:this.program(1,d),inverse:this.noop,types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),e=b._triageMustache.call(a,"message",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),e=b._triageMustache.call(a,"yield",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),f},useData:!0}); \ No newline at end of file ++function(a){"use strict";var b='[data-dismiss="alert"]',c=function(c){a(c).on("click",b,this.close)};c.prototype.close=function(b){function c(){f.trigger("closed.bs.alert").remove()}var d=a(this),e=d.attr("data-target");e||(e=d.attr("href"),e=e&&e.replace(/.*(?=#[^\s]*$)/,""));var f=a(e);b&&b.preventDefault(),f.length||(f=d.hasClass("alert")?d:d.parent()),f.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one(a.support.transition.end,c).emulateTransitionEnd(150):c())};var d=a.fn.alert;a.fn.alert=function(b){return this.each(function(){var d=a(this),e=d.data("bs.alert");e||d.data("bs.alert",e=new c(this)),"string"==typeof b&&e[b].call(d)})},a.fn.alert.Constructor=c,a.fn.alert.noConflict=function(){return a.fn.alert=d,this},a(document).on("click.bs.alert.data-api",b,c.prototype.close)}(window.jQuery),function(){Bootstrap.BsAlertComponent=Ember.Component.extend(Bootstrap.TypeSupport,{classNames:["alert"],classNameBindings:["fade","fade:in"],layoutName:"components/bs-alert",classTypePrefix:"alert",attributeBindings:["data-timeout"],dismissAfter:0,closedParam:null,didInsertElement:function(){var a=this;return this.dismissAfter>0&&Ember.run.later(this,"dismiss",1e3*this.dismissAfter),Ember.$("#"+this.elementId).bind("closed.bs.alert",function(){return a.sendAction("closed",a.get("closedParam")),a.destroy()}),Ember.$("#"+this.elementId).bind("close.bs.alert",function(){return a.sendAction("close",a.get("closedParam"))})},dismiss:function(){return Ember.$("#"+this.elementId).alert("close")}}),Ember.Handlebars.helper("bs-alert",Bootstrap.BsAlertComponent)}.call(this),Ember.TEMPLATES["components/bs-alert"]=Ember.HTMLBars.template({1:function(a,b,c,d){d.buffer.push(' ×\r\n')},compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f="";return e=b["if"].call(a,"dismiss",{name:"if",hash:{},hashTypes:{},hashContexts:{},fn:this.program(1,d),inverse:this.noop,types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),e=b._triageMustache.call(a,"message",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),e=b._triageMustache.call(a,"yield",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),f},useData:!0}); \ No newline at end of file diff --git a/dist/js/bs-badge.max.js b/dist/js/bs-badge.max.js index 76a6a9f..a6c10c4 100644 --- a/dist/js/bs-badge.max.js +++ b/dist/js/bs-badge.max.js @@ -10,7 +10,7 @@ }).call(this); -Ember.TEMPLATES["components/bs-badge"] = Ember.Ember.TEMPLATES.template({"compiler":[6,">= 2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) { +Ember.TEMPLATES["components/bs-badge"] = Ember.HTMLBars.template({"compiler":[6,">= 2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) { var stack1; stack1 = helpers._triageMustache.call(depth0, "content", {"name":"_triageMustache","hash":{},"hashTypes":{},"hashContexts":{},"types":["ID"],"contexts":[depth0],"data":data}); if (stack1 != null) { data.buffer.push(stack1); } diff --git a/dist/js/bs-badge.min.js b/dist/js/bs-badge.min.js index fa29e67..137d6a3 100644 --- a/dist/js/bs-badge.min.js +++ b/dist/js/bs-badge.min.js @@ -1 +1 @@ -(function(){Bootstrap.BsBadgeComponent=Ember.Component.extend(Bootstrap.TypeSupport,{layoutName:"components/bs-badge",tagName:"span",classNames:["badge"],classTypePrefix:"badge"}),Ember.Handlebars.helper("bs-badge",Bootstrap.BsBadgeComponent)}).call(this),Ember.TEMPLATES["components/bs-badge"]=Ember.Ember.TEMPLATES.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e;e=b._triageMustache.call(a,"content",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),d.buffer.push(null!=e?e:"")},useData:!0}); \ No newline at end of file +(function(){Bootstrap.BsBadgeComponent=Ember.Component.extend(Bootstrap.TypeSupport,{layoutName:"components/bs-badge",tagName:"span",classNames:["badge"],classTypePrefix:"badge"}),Ember.Handlebars.helper("bs-badge",Bootstrap.BsBadgeComponent)}).call(this),Ember.TEMPLATES["components/bs-badge"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e;e=b._triageMustache.call(a,"content",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),d.buffer.push(null!=e?e:"")},useData:!0}); \ No newline at end of file diff --git a/dist/js/bs-basic.max.js b/dist/js/bs-basic.max.js index 5f79497..f50aca6 100644 --- a/dist/js/bs-basic.max.js +++ b/dist/js/bs-basic.max.js @@ -43,7 +43,7 @@ } }, click: function(event) { - return this.sendAction('clicked'); + return this.sendAction('clicked', event); }, collapsibleBodyId: (function() { return "" + (this.get('elementId')) + "_body"; @@ -57,7 +57,7 @@ }).call(this); -Ember.TEMPLATES["components/bs-page-header"] = Ember.Ember.TEMPLATES.template({"1":function(depth0,helpers,partials,data) { +Ember.TEMPLATES["components/bs-page-header"] = Ember.HTMLBars.template({"1":function(depth0,helpers,partials,data) { var stack1, buffer = ''; data.buffer.push(" "); stack1 = helpers._triageMustache.call(depth0, "sub", {"name":"_triageMustache","hash":{},"hashTypes":{},"hashContexts":{},"types":["ID"],"contexts":[depth0],"data":data}); @@ -76,14 +76,14 @@ Ember.TEMPLATES["components/bs-page-header"] = Ember.Ember.TEMPLATES.template({" return buffer; },"useData":true}); -Ember.TEMPLATES["components/bs-well"] = Ember.Ember.TEMPLATES.template({"compiler":[6,">= 2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) { +Ember.TEMPLATES["components/bs-well"] = Ember.HTMLBars.template({"compiler":[6,">= 2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) { var stack1; stack1 = helpers._triageMustache.call(depth0, "yield", {"name":"_triageMustache","hash":{},"hashTypes":{},"hashContexts":{},"types":["ID"],"contexts":[depth0],"data":data}); if (stack1 != null) { data.buffer.push(stack1); } else { data.buffer.push(''); } },"useData":true}); -Ember.TEMPLATES["components/bs-panel"] = Ember.Ember.TEMPLATES.template({"1":function(depth0,helpers,partials,data) { +Ember.TEMPLATES["components/bs-panel"] = Ember.HTMLBars.template({"1":function(depth0,helpers,partials,data) { var stack1, buffer = ''; data.buffer.push("
    \r\n"); stack1 = helpers['if'].call(depth0, "collapsible", {"name":"if","hash":{},"hashTypes":{},"hashContexts":{},"fn":this.program(2, data),"inverse":this.program(4, data),"types":["ID"],"contexts":[depth0],"data":data}); diff --git a/dist/js/bs-basic.min.js b/dist/js/bs-basic.min.js index 6324a25..0eb13d3 100644 --- a/dist/js/bs-basic.min.js +++ b/dist/js/bs-basic.min.js @@ -1 +1 @@ -(function(){Bootstrap.BsWellComponent=Ember.Component.extend({layoutName:"components/bs-well",classNameBindings:["small:well-sm","large:well-lg"],classNames:["well"],click:function(){return this.sendAction("clicked")}}),Ember.Handlebars.helper("bs-well",Bootstrap.BsWellComponent)}).call(this),function(){Bootstrap.BsPageHeaderComponent=Ember.Component.extend({layoutName:"components/bs-page-header",classNames:["page-header"]}),Ember.Handlebars.helper("bs-page-header",Bootstrap.BsPageHeaderComponent)}.call(this),function(){Bootstrap.BsPanelComponent=Ember.Component.extend(Bootstrap.TypeSupport,{layoutName:"components/bs-panel",classNames:["panel"],classTypePrefix:["panel"],classNameBindings:["fade","fade:in"],clicked:null,onClose:null,fade:!0,collapsible:!1,open:!0,actions:{close:function(){return this.sendAction("onClose"),this.$().removeClass("in"),setTimeout(function(){return this.destroy()}.bind(this),250)}},click:function(){return this.sendAction("clicked")},collapsibleBodyId:function(){return""+this.get("elementId")+"_body"}.property("collapsible"),collapsibleBodyLink:function(){return"#"+this.get("elementId")+"_body"}.property("collapsibleBodyId")}),Ember.Handlebars.helper("bs-panel",Bootstrap.BsPanelComponent)}.call(this),Ember.TEMPLATES["components/bs-page-header"]=Ember.Ember.TEMPLATES.template({1:function(a,b,c,d){var e,f="";return d.buffer.push(" "),e=b._triageMustache.call(a,"sub",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("\r\n"),f},compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f="";return d.buffer.push("

    \r\n "),e=b._triageMustache.call(a,"title",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("\r\n"),e=b["if"].call(a,"sub",{name:"if",hash:{},hashTypes:{},hashContexts:{},fn:this.program(1,d),inverse:this.noop,types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("

    "),f},useData:!0}),Ember.TEMPLATES["components/bs-well"]=Ember.Ember.TEMPLATES.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e;e=b._triageMustache.call(a,"yield",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),d.buffer.push(null!=e?e:"")},useData:!0}),Ember.TEMPLATES["components/bs-panel"]=Ember.Ember.TEMPLATES.template({1:function(a,b,c,d){var e,f="";return d.buffer.push('
    \r\n'),e=b["if"].call(a,"collapsible",{name:"if",hash:{},hashTypes:{},hashContexts:{},fn:this.program(2,d),inverse:this.program(4,d),types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),e=b["if"].call(a,"dismiss",{name:"if",hash:{},hashTypes:{},hashContexts:{},fn:this.program(6,d),inverse:this.noop,types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("
    \r\n"),f},2:function(a,b,c,d){var e,f=this.escapeExpression,g="";return d.buffer.push(' \r\n "),e=b._triageMustache.call(a,"heading",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("\r\n \r\n"),g},4:function(a,b,c,d){var e,f="";return d.buffer.push(" "),e=b._triageMustache.call(a,"heading",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("\r\n"),f},6:function(a,b,c,d){var e=this.escapeExpression,f="";return d.buffer.push(' ×\r\n"),f},8:function(a,b,c,d){var e,f=this.escapeExpression,g="";return d.buffer.push("
    \r\n
    '),e=b._triageMustache.call(a,"yield",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("
    \r\n
    \r\n"),g},10:function(a,b,c,d){var e,f="";return d.buffer.push('
    '),e=b._triageMustache.call(a,"yield",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("
    \r\n"),f},12:function(a,b,c,d){var e,f="";return d.buffer.push(' \r\n"),f},compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f="";return e=b["if"].call(a,"heading",{name:"if",hash:{},hashTypes:{},hashContexts:{},fn:this.program(1,d),inverse:this.noop,types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("\r\n"),e=b["if"].call(a,"collapsible",{name:"if",hash:{},hashTypes:{},hashContexts:{},fn:this.program(8,d),inverse:this.program(10,d),types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("\r\n"),e=b["if"].call(a,"footer",{name:"if",hash:{},hashTypes:{},hashContexts:{},fn:this.program(12,d),inverse:this.noop,types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),f},useData:!0}); \ No newline at end of file +(function(){Bootstrap.BsWellComponent=Ember.Component.extend({layoutName:"components/bs-well",classNameBindings:["small:well-sm","large:well-lg"],classNames:["well"],click:function(){return this.sendAction("clicked")}}),Ember.Handlebars.helper("bs-well",Bootstrap.BsWellComponent)}).call(this),function(){Bootstrap.BsPageHeaderComponent=Ember.Component.extend({layoutName:"components/bs-page-header",classNames:["page-header"]}),Ember.Handlebars.helper("bs-page-header",Bootstrap.BsPageHeaderComponent)}.call(this),function(){Bootstrap.BsPanelComponent=Ember.Component.extend(Bootstrap.TypeSupport,{layoutName:"components/bs-panel",classNames:["panel"],classTypePrefix:["panel"],classNameBindings:["fade","fade:in"],clicked:null,onClose:null,fade:!0,collapsible:!1,open:!0,actions:{close:function(){return this.sendAction("onClose"),this.$().removeClass("in"),setTimeout(function(){return this.destroy()}.bind(this),250)}},click:function(a){return this.sendAction("clicked",a)},collapsibleBodyId:function(){return""+this.get("elementId")+"_body"}.property("collapsible"),collapsibleBodyLink:function(){return"#"+this.get("elementId")+"_body"}.property("collapsibleBodyId")}),Ember.Handlebars.helper("bs-panel",Bootstrap.BsPanelComponent)}.call(this),Ember.TEMPLATES["components/bs-page-header"]=Ember.HTMLBars.template({1:function(a,b,c,d){var e,f="";return d.buffer.push(" "),e=b._triageMustache.call(a,"sub",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("\r\n"),f},compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f="";return d.buffer.push("

    \r\n "),e=b._triageMustache.call(a,"title",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("\r\n"),e=b["if"].call(a,"sub",{name:"if",hash:{},hashTypes:{},hashContexts:{},fn:this.program(1,d),inverse:this.noop,types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("

    "),f},useData:!0}),Ember.TEMPLATES["components/bs-well"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e;e=b._triageMustache.call(a,"yield",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),d.buffer.push(null!=e?e:"")},useData:!0}),Ember.TEMPLATES["components/bs-panel"]=Ember.HTMLBars.template({1:function(a,b,c,d){var e,f="";return d.buffer.push('
    \r\n'),e=b["if"].call(a,"collapsible",{name:"if",hash:{},hashTypes:{},hashContexts:{},fn:this.program(2,d),inverse:this.program(4,d),types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),e=b["if"].call(a,"dismiss",{name:"if",hash:{},hashTypes:{},hashContexts:{},fn:this.program(6,d),inverse:this.noop,types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("
    \r\n"),f},2:function(a,b,c,d){var e,f=this.escapeExpression,g="";return d.buffer.push(' \r\n "),e=b._triageMustache.call(a,"heading",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("\r\n \r\n"),g},4:function(a,b,c,d){var e,f="";return d.buffer.push(" "),e=b._triageMustache.call(a,"heading",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("\r\n"),f},6:function(a,b,c,d){var e=this.escapeExpression,f="";return d.buffer.push(' ×\r\n"),f},8:function(a,b,c,d){var e,f=this.escapeExpression,g="";return d.buffer.push("
    \r\n
    '),e=b._triageMustache.call(a,"yield",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("
    \r\n
    \r\n"),g},10:function(a,b,c,d){var e,f="";return d.buffer.push('
    '),e=b._triageMustache.call(a,"yield",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("
    \r\n"),f},12:function(a,b,c,d){var e,f="";return d.buffer.push(' \r\n"),f},compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f="";return e=b["if"].call(a,"heading",{name:"if",hash:{},hashTypes:{},hashContexts:{},fn:this.program(1,d),inverse:this.noop,types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("\r\n"),e=b["if"].call(a,"collapsible",{name:"if",hash:{},hashTypes:{},hashContexts:{},fn:this.program(8,d),inverse:this.program(10,d),types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("\r\n"),e=b["if"].call(a,"footer",{name:"if",hash:{},hashTypes:{},hashContexts:{},fn:this.program(12,d),inverse:this.noop,types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),f},useData:!0}); \ No newline at end of file diff --git a/dist/js/bs-button.max.js b/dist/js/bs-button.max.js index c3a6331..31cf158 100644 --- a/dist/js/bs-button.max.js +++ b/dist/js/bs-button.max.js @@ -223,7 +223,7 @@ A collection of button groups }).call(this); -Ember.TEMPLATES["components/bs-button"] = Ember.Ember.TEMPLATES.template({"1":function(depth0,helpers,partials,data) { +Ember.TEMPLATES["components/bs-button"] = Ember.HTMLBars.template({"1":function(depth0,helpers,partials,data) { var escapeExpression=this.escapeExpression, buffer = ''; data.buffer.push(" = 2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) { +Ember.TEMPLATES["components/bs-btn-toolbar"] = Ember.HTMLBars.template({"compiler":[6,">= 2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) { var stack1; stack1 = helpers._triageMustache.call(depth0, "yield", {"name":"_triageMustache","hash":{},"hashTypes":{},"hashContexts":{},"types":["ID"],"contexts":[depth0],"data":data}); if (stack1 != null) { data.buffer.push(stack1); } diff --git a/dist/js/bs-button.min.js b/dist/js/bs-button.min.js index d6561ff..ad79750 100644 --- a/dist/js/bs-button.min.js +++ b/dist/js/bs-button.min.js @@ -1 +1 @@ -+function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d)};b.DEFAULTS={loadingText:"loading..."},b.prototype.setState=function(a){var b="disabled",c=this.$element,d=c.is("input")?"val":"html",e=c.data();a+="Text",e.resetText||c.data("resetText",c[d]()),c[d](e[a]||this.options[a]),setTimeout(function(){"loadingText"==a?c.addClass(b).attr(b,b):c.removeClass(b).removeAttr(b)},0)},b.prototype.toggle=function(){var a=this.$element.closest('[data-toggle="buttons"]');if(a.length){var b=this.$element.find("input").prop("checked",!this.$element.hasClass("active")).trigger("change");"radio"===b.prop("type")&&a.find(".active").removeClass("active")}this.$element.toggleClass("active")};var c=a.fn.button;a.fn.button=function(c){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof c&&c;e||d.data("bs.button",e=new b(this,f)),"toggle"==c?e.toggle():c&&e.setState(c)})},a.fn.button.Constructor=b,a.fn.button.noConflict=function(){return a.fn.button=c,this},a(document).on("click.bs.button.data-api","[data-toggle^=button]",function(b){var c=a(b.target);c.hasClass("btn")||(c=c.closest(".btn")),c.button("toggle"),b.preventDefault()})}(window.jQuery),function(){Bootstrap.BsButtonComponent=Ember.Component.extend(Bootstrap.TypeSupport,Bootstrap.SizeSupport,{layoutName:"components/bs-button",tagName:"button",classNames:["btn"],classNameBindings:["blockClass"],classTypePrefix:"btn",clickedParam:null,block:null,attributeBindings:["disabled","dismiss:data-dismiss","_type:type","style"],_type:"button",bubbles:!0,allowedProperties:["title","type","size","block","disabled","clicked","dismiss","class"],icon_active:void 0,icon_inactive:void 0},{init:function(){var a,b,c,d,e,f,g;if(this._super(),null!=this.get("content")&&"instance"===Ember.typeOf(this.get("content")))for(b=this.get("content"),f=this.get("allowedProperties"),d=0,e=f.length;e>d;d++)c=f[d],null!=b[c]&&this.set(c,b[c]);else null==this.get("title")&&this.set("title",this.get("content"));g=[];for(a in this)null!=a.match(/^data-[\w-]*$/)&&g.push(this.attributeBindings.pushObject(a));return g},blockClass:function(){return this.block?""+this.classTypePrefix+"-block":null}.property("block").cacheable(),click:function(a){return this.get("bubbles")||a.stopPropagation(),this.sendAction("clicked",this.get("clickedParam"))},loadingChanged:function(){var a;return a=null!==this.get("loading")?this.get("loading"):"reset",Ember.$("#"+this.elementId).button(a)}.observes("loading"),icon:function(){return this.get(this.get("isActive")?"icon_active":"icon_inactive")}.property("isActive")}),Ember.Handlebars.helper("bs-button",Bootstrap.BsButtonComponent)}.call(this),function(){Bootstrap.BsBtnGroup=Bootstrap.ItemsView.extend(Bootstrap.SizeSupport,Bootstrap.ItemsSelection,{classTypePrefix:["btn-group"],classNames:["btn-group"],classNameBindings:["vertical:btn-group-vertical"],itemViewClass:Bootstrap.BsButtonComponent.extend(Bootstrap.ItemValue,Bootstrap.ItemSelection,{init:function(){return this._super(),this.set("icon_active",this.get("parentView.icon_active")),this.set("icon_inactive",this.get("parentView.icon_inactive"))}})}),Ember.Handlebars.helper("bs-btn-group",Bootstrap.BsBtnGroup)}.call(this),function(){Bootstrap.BsBtnToolbarComponent=Ember.Component.extend({layoutName:"components/bs-btn-toolbar",classNames:["btn-toolbar"]}),Ember.Handlebars.helper("bs-btn-toolbar",Bootstrap.BsBtnToolbarComponent)}.call(this),Ember.TEMPLATES["components/bs-button"]=Ember.Ember.TEMPLATES.template({1:function(a,b,c,d){var e=this.escapeExpression,f="";return d.buffer.push(" \r\n"),f},compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f="";return e=b["if"].call(a,"icon",{name:"if",hash:{},hashTypes:{},hashContexts:{},fn:this.program(1,d),inverse:this.noop,types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),e=b._triageMustache.call(a,"title",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),e=b._triageMustache.call(a,"yield",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),f},useData:!0}),Ember.TEMPLATES["components/bs-btn-toolbar"]=Ember.Ember.TEMPLATES.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e;e=b._triageMustache.call(a,"yield",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),d.buffer.push(null!=e?e:"")},useData:!0}); \ No newline at end of file ++function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d)};b.DEFAULTS={loadingText:"loading..."},b.prototype.setState=function(a){var b="disabled",c=this.$element,d=c.is("input")?"val":"html",e=c.data();a+="Text",e.resetText||c.data("resetText",c[d]()),c[d](e[a]||this.options[a]),setTimeout(function(){"loadingText"==a?c.addClass(b).attr(b,b):c.removeClass(b).removeAttr(b)},0)},b.prototype.toggle=function(){var a=this.$element.closest('[data-toggle="buttons"]');if(a.length){var b=this.$element.find("input").prop("checked",!this.$element.hasClass("active")).trigger("change");"radio"===b.prop("type")&&a.find(".active").removeClass("active")}this.$element.toggleClass("active")};var c=a.fn.button;a.fn.button=function(c){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof c&&c;e||d.data("bs.button",e=new b(this,f)),"toggle"==c?e.toggle():c&&e.setState(c)})},a.fn.button.Constructor=b,a.fn.button.noConflict=function(){return a.fn.button=c,this},a(document).on("click.bs.button.data-api","[data-toggle^=button]",function(b){var c=a(b.target);c.hasClass("btn")||(c=c.closest(".btn")),c.button("toggle"),b.preventDefault()})}(window.jQuery),function(){Bootstrap.BsButtonComponent=Ember.Component.extend(Bootstrap.TypeSupport,Bootstrap.SizeSupport,{layoutName:"components/bs-button",tagName:"button",classNames:["btn"],classNameBindings:["blockClass"],classTypePrefix:"btn",clickedParam:null,block:null,attributeBindings:["disabled","dismiss:data-dismiss","_type:type","style"],_type:"button",bubbles:!0,allowedProperties:["title","type","size","block","disabled","clicked","dismiss","class"],icon_active:void 0,icon_inactive:void 0},{init:function(){var a,b,c,d,e,f,g;if(this._super(),null!=this.get("content")&&"instance"===Ember.typeOf(this.get("content")))for(b=this.get("content"),f=this.get("allowedProperties"),d=0,e=f.length;e>d;d++)c=f[d],null!=b[c]&&this.set(c,b[c]);else null==this.get("title")&&this.set("title",this.get("content"));g=[];for(a in this)null!=a.match(/^data-[\w-]*$/)&&g.push(this.attributeBindings.pushObject(a));return g},blockClass:function(){return this.block?""+this.classTypePrefix+"-block":null}.property("block").cacheable(),click:function(a){return this.get("bubbles")||a.stopPropagation(),this.sendAction("clicked",this.get("clickedParam"))},loadingChanged:function(){var a;return a=null!==this.get("loading")?this.get("loading"):"reset",Ember.$("#"+this.elementId).button(a)}.observes("loading"),icon:function(){return this.get(this.get("isActive")?"icon_active":"icon_inactive")}.property("isActive")}),Ember.Handlebars.helper("bs-button",Bootstrap.BsButtonComponent)}.call(this),function(){Bootstrap.BsBtnGroup=Bootstrap.ItemsView.extend(Bootstrap.SizeSupport,Bootstrap.ItemsSelection,{classTypePrefix:["btn-group"],classNames:["btn-group"],classNameBindings:["vertical:btn-group-vertical"],itemViewClass:Bootstrap.BsButtonComponent.extend(Bootstrap.ItemValue,Bootstrap.ItemSelection,{init:function(){return this._super(),this.set("icon_active",this.get("parentView.icon_active")),this.set("icon_inactive",this.get("parentView.icon_inactive"))}})}),Ember.Handlebars.helper("bs-btn-group",Bootstrap.BsBtnGroup)}.call(this),function(){Bootstrap.BsBtnToolbarComponent=Ember.Component.extend({layoutName:"components/bs-btn-toolbar",classNames:["btn-toolbar"]}),Ember.Handlebars.helper("bs-btn-toolbar",Bootstrap.BsBtnToolbarComponent)}.call(this),Ember.TEMPLATES["components/bs-button"]=Ember.HTMLBars.template({1:function(a,b,c,d){var e=this.escapeExpression,f="";return d.buffer.push(" \r\n"),f},compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f="";return e=b["if"].call(a,"icon",{name:"if",hash:{},hashTypes:{},hashContexts:{},fn:this.program(1,d),inverse:this.noop,types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),e=b._triageMustache.call(a,"title",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),e=b._triageMustache.call(a,"yield",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),f},useData:!0}),Ember.TEMPLATES["components/bs-btn-toolbar"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e;e=b._triageMustache.call(a,"yield",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),d.buffer.push(null!=e?e:"")},useData:!0}); \ No newline at end of file diff --git a/dist/js/bs-core.max.js b/dist/js/bs-core.max.js index 6dbb9fe..ec67704 100644 --- a/dist/js/bs-core.max.js +++ b/dist/js/bs-core.max.js @@ -417,7 +417,7 @@ Views that inherits from this view can be enhanced with: (function() { Bootstrap.ItemPaneView = Ember.View.extend({ - template: Ember.Handlebars.compile(['{{#if view.content.template}}', '{{bsItemPanePartial view.content.template}}', '{{/if}}'].join("\n")), + templateName: 'views/item-pane', corrItem: (function() { var view, _i, _len, _ref; if (this.get('parentView').get('corrItemsView') != null) { @@ -474,3 +474,16 @@ Views that inherits from this view can be enhanced with: }); }).call(this); + +Ember.TEMPLATES["app/templates/views/item-pane"] = Ember.HTMLBars.template({"1":function(depth0,helpers,partials,data) { + var helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression, buffer = ''; + data.buffer.push(" "); + data.buffer.push(escapeExpression(((helpers.bsItemPanePartial || (depth0 && depth0.bsItemPanePartial) || helperMissing).call(depth0, "view.content.template", {"name":"bsItemPanePartial","hash":{},"hashTypes":{},"hashContexts":{},"types":["ID"],"contexts":[depth0],"data":data})))); + data.buffer.push("\r\n"); + return buffer; +},"compiler":[6,">= 2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) { + var stack1; + stack1 = helpers['if'].call(depth0, "view.content.template", {"name":"if","hash":{},"hashTypes":{},"hashContexts":{},"fn":this.program(1, data),"inverse":this.noop,"types":["ID"],"contexts":[depth0],"data":data}); + if (stack1 != null) { data.buffer.push(stack1); } + else { data.buffer.push(''); } + },"useData":true}); \ No newline at end of file diff --git a/dist/js/bs-core.min.js b/dist/js/bs-core.min.js index 1f93bef..1914062 100644 --- a/dist/js/bs-core.min.js +++ b/dist/js/bs-core.min.js @@ -1 +1 @@ -+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]}}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one(a.support.transition.end,function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b()})}(window.jQuery),function(){var a;a=window.Bootstrap=Ember.Namespace.create()}.call(this),function(){var a,b;a=window.Bootstrap,b=Ember.get,a.WithRouter=Ember.Mixin.create({router:Ember.computed(function(){return b(this,"controller").container.lookup("router:main")})})}.call(this),function(){var a,b,c;a=window.Bootstrap,b=Ember.get,c=Ember.set,a.TypeSupport=Ember.Mixin.create({classTypePrefix:Ember.required(String),classNameBindings:["typeClass"],type:"default",typeClass:function(){var a,b;return b=this.get("type"),null==b&&(b="default"),a=this.get("classTypePrefix"),""+a+"-"+b}.property("type").cacheable()})}.call(this),function(){var a,b,c;a=window.Bootstrap,b=Ember.get,c=Ember.set,a.SizeSupport=Ember.Mixin.create({classTypePrefix:Ember.required(String),classNameBindings:["sizeClass","largeSizeClass","smallSizeClass","extraSmallSizeClass"],size:null,xs:null,small:null,large:null,extraSmallSizeClass:function(){var a;return a=this.get("classTypePrefix"),this.xs?""+a+"-xs":null}.property("xs").cacheable(),smallSizeClass:function(){var a;return a=this.get("classTypePrefix"),this.small?""+a+"-sm":null}.property("small").cacheable(),largeSizeClass:function(){var a;return a=this.get("classTypePrefix"),this.large?""+a+"-lg":null}.property("large").cacheable(),sizeClass:function(){var a,b;return b=this.get("size"),a=this.get("classTypePrefix"),b?""+a+"-"+b:null}.property("size").cacheable()})}.call(this),function(){Bootstrap.ItemValue=Ember.Mixin.create({value:function(){var a,b;return a=this.get("parentView"),null!=a?b=this.get("content"):void 0}.property("content").cacheable()})}.call(this),function(){Bootstrap.ItemSelection=Ember.Mixin.create(Bootstrap.ItemValue,Bootstrap.WithRouter,{classNameBindings:["isActive:active"],init:function(){return this._super(),this.didRouteChange()},didRouteChange:function(){var a,b,c;return b=this.get("content.linkTo"),null!=b&&(a=this.get("parentView"),null!=a)&&(null!=(c=this.get("router"))?c.isActive(b):void 0)?a.set("selected",this.get("value")):void 0}.observes("router.url"),isActive:function(){var a,b,c;return a=this.get("parentView"),null==a?!1:(b=a.get("selected"),c=this.get("value"),null==c?!1:b===c)}.property("value","parentView.selected","content.linkTo").cacheable(),click:function(a){var b,c;return a.preventDefault(),c=this.get("parentView"),null==c||(b=this.get("content"),"object"==typeof b&&b.get("disabled")||null!=this.get("content.linkTo"))?void 0:c.set("selected",this.get("value"))}})}.call(this),function(){Bootstrap.ItemsSelection=Ember.Mixin.create({multiSelection:!1,selected:[]})}.call(this),function(){Bootstrap.Nav=Ember.Mixin.create({classNames:["nav"],classNameBindings:["navTypeClass"],tagName:"ul",navType:null,navTypeClass:function(){return null!=this.navType?"nav-"+this.navType:null}.property("navType").cacheable()})}.call(this),function(){Bootstrap.NavItem=Ember.Mixin.create(Bootstrap.SelectableView)}.call(this),function(){var a,b;a=function(a){var b,c;if(a&&(c=a.get("parentView")))return b=c instanceof Bootstrap.ItemsView,Ember.assert("The parent view must be an instance of Bootstrap.ItemsView or any inherited class",b),b?c:void 0},b=function(a,b,c){return"instance"===Ember.typeOf(a)||Ember.canInvoke(a,"get")?a.get(b):c},Bootstrap.ItemView=Ember.View.extend({isItem:!0,classNameBindings:["disabled"],title:function(){var c,d,e;if(e=a(this))return d=e.get("itemTitleKey")||"title",c=this.get("content"),b(c,d,c)}.property("content").cacheable(),disabled:function(){var c,d,e;if(e=a(this))return c=this.get("content"),d=!!b(c,"disabled",!1),d&&this.get("isActive")&&e.set("selected",null),d}.property("content","content.disabled").cacheable()})}.call(this),function(){Bootstrap.ItemsView=Ember.CollectionView.extend({didInsertElement:function(){var a,b,c,d,e,f;if(this.get("default")){for(a=this.get("default"),e=this._childViews,c=0,d=e.length;d>c;c++)b=e[c],(null!=(f=b.get("content"))?f.get("title"):void 0)===a&&this.set("selected",b.get("content"));return Ember.assert("Could not activate default tab "+a+" as it doesnt exist",a)}}})}.call(this),function(){Bootstrap.ItemPaneView=Ember.View.extend({template:Ember.Handlebars.compile(["{{#if view.content.template}}","{{bsItemPanePartial view.content.template}}","{{/if}}"].join("\n")),corrItem:function(){var a,b,c,d;if(null!=this.get("parentView").get("corrItemsView"))for(d=this.get("parentView").get("corrItemsView")._childViews,b=0,c=d.length;c>b;b++)if(a=d[b],a.content===this.get("content"))return a}.property("parentView.corrItemsView"),isVisible:function(){var a;return null!=(a=this.get("corrItem"))?a.get("isActive"):void 0}.property("corrItem.isActive"),controller:function(){var a,b;return a=this.get("parentView.controller"),this.get("content.controller")&&(b=this.get("container").lookup("controller:"+this.get("content.controller")),b&&(a=b)),a}.property("content")}),Ember.Handlebars.helper("bsItemPanePartial",function(a,b){var c,d;return d=b.data.view,c=d.templateForName(a),Ember.assert("Unable to find template with name '"+a+"'",c),c(this,{data:b.data})})}.call(this),function(){Bootstrap.ItemsPanesView=Ember.CollectionView.extend({viewsInserted:!1,corrItemsView:function(){var a;return a=Ember.View.views[this.get("items-id")]}.property("viewsInserted"),didInsertElement:function(){return this._super(),this.set("viewsInserted",!0)}})}.call(this); \ No newline at end of file ++function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]}}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one(a.support.transition.end,function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b()})}(window.jQuery),function(){var a;a=window.Bootstrap=Ember.Namespace.create()}.call(this),function(){var a,b;a=window.Bootstrap,b=Ember.get,a.WithRouter=Ember.Mixin.create({router:Ember.computed(function(){return b(this,"controller").container.lookup("router:main")})})}.call(this),function(){var a,b,c;a=window.Bootstrap,b=Ember.get,c=Ember.set,a.TypeSupport=Ember.Mixin.create({classTypePrefix:Ember.required(String),classNameBindings:["typeClass"],type:"default",typeClass:function(){var a,b;return b=this.get("type"),null==b&&(b="default"),a=this.get("classTypePrefix"),""+a+"-"+b}.property("type").cacheable()})}.call(this),function(){var a,b,c;a=window.Bootstrap,b=Ember.get,c=Ember.set,a.SizeSupport=Ember.Mixin.create({classTypePrefix:Ember.required(String),classNameBindings:["sizeClass","largeSizeClass","smallSizeClass","extraSmallSizeClass"],size:null,xs:null,small:null,large:null,extraSmallSizeClass:function(){var a;return a=this.get("classTypePrefix"),this.xs?""+a+"-xs":null}.property("xs").cacheable(),smallSizeClass:function(){var a;return a=this.get("classTypePrefix"),this.small?""+a+"-sm":null}.property("small").cacheable(),largeSizeClass:function(){var a;return a=this.get("classTypePrefix"),this.large?""+a+"-lg":null}.property("large").cacheable(),sizeClass:function(){var a,b;return b=this.get("size"),a=this.get("classTypePrefix"),b?""+a+"-"+b:null}.property("size").cacheable()})}.call(this),function(){Bootstrap.ItemValue=Ember.Mixin.create({value:function(){var a,b;return a=this.get("parentView"),null!=a?b=this.get("content"):void 0}.property("content").cacheable()})}.call(this),function(){Bootstrap.ItemSelection=Ember.Mixin.create(Bootstrap.ItemValue,Bootstrap.WithRouter,{classNameBindings:["isActive:active"],init:function(){return this._super(),this.didRouteChange()},didRouteChange:function(){var a,b,c;return b=this.get("content.linkTo"),null!=b&&(a=this.get("parentView"),null!=a)&&(null!=(c=this.get("router"))?c.isActive(b):void 0)?a.set("selected",this.get("value")):void 0}.observes("router.url"),isActive:function(){var a,b,c;return a=this.get("parentView"),null==a?!1:(b=a.get("selected"),c=this.get("value"),null==c?!1:b===c)}.property("value","parentView.selected","content.linkTo").cacheable(),click:function(a){var b,c;return a.preventDefault(),c=this.get("parentView"),null==c||(b=this.get("content"),"object"==typeof b&&b.get("disabled")||null!=this.get("content.linkTo"))?void 0:c.set("selected",this.get("value"))}})}.call(this),function(){Bootstrap.ItemsSelection=Ember.Mixin.create({multiSelection:!1,selected:[]})}.call(this),function(){Bootstrap.Nav=Ember.Mixin.create({classNames:["nav"],classNameBindings:["navTypeClass"],tagName:"ul",navType:null,navTypeClass:function(){return null!=this.navType?"nav-"+this.navType:null}.property("navType").cacheable()})}.call(this),function(){Bootstrap.NavItem=Ember.Mixin.create(Bootstrap.SelectableView)}.call(this),function(){var a,b;a=function(a){var b,c;if(a&&(c=a.get("parentView")))return b=c instanceof Bootstrap.ItemsView,Ember.assert("The parent view must be an instance of Bootstrap.ItemsView or any inherited class",b),b?c:void 0},b=function(a,b,c){return"instance"===Ember.typeOf(a)||Ember.canInvoke(a,"get")?a.get(b):c},Bootstrap.ItemView=Ember.View.extend({isItem:!0,classNameBindings:["disabled"],title:function(){var c,d,e;if(e=a(this))return d=e.get("itemTitleKey")||"title",c=this.get("content"),b(c,d,c)}.property("content").cacheable(),disabled:function(){var c,d,e;if(e=a(this))return c=this.get("content"),d=!!b(c,"disabled",!1),d&&this.get("isActive")&&e.set("selected",null),d}.property("content","content.disabled").cacheable()})}.call(this),function(){Bootstrap.ItemsView=Ember.CollectionView.extend({didInsertElement:function(){var a,b,c,d,e,f;if(this.get("default")){for(a=this.get("default"),e=this._childViews,c=0,d=e.length;d>c;c++)b=e[c],(null!=(f=b.get("content"))?f.get("title"):void 0)===a&&this.set("selected",b.get("content"));return Ember.assert("Could not activate default tab "+a+" as it doesnt exist",a)}}})}.call(this),function(){Bootstrap.ItemPaneView=Ember.View.extend({templateName:"views/item-pane",corrItem:function(){var a,b,c,d;if(null!=this.get("parentView").get("corrItemsView"))for(d=this.get("parentView").get("corrItemsView")._childViews,b=0,c=d.length;c>b;b++)if(a=d[b],a.content===this.get("content"))return a}.property("parentView.corrItemsView"),isVisible:function(){var a;return null!=(a=this.get("corrItem"))?a.get("isActive"):void 0}.property("corrItem.isActive"),controller:function(){var a,b;return a=this.get("parentView.controller"),this.get("content.controller")&&(b=this.get("container").lookup("controller:"+this.get("content.controller")),b&&(a=b)),a}.property("content")}),Ember.Handlebars.helper("bsItemPanePartial",function(a,b){var c,d;return d=b.data.view,c=d.templateForName(a),Ember.assert("Unable to find template with name '"+a+"'",c),c(this,{data:b.data})})}.call(this),function(){Bootstrap.ItemsPanesView=Ember.CollectionView.extend({viewsInserted:!1,corrItemsView:function(){var a;return a=Ember.View.views[this.get("items-id")]}.property("viewsInserted"),didInsertElement:function(){return this._super(),this.set("viewsInserted",!0)}})}.call(this),Ember.TEMPLATES["app/templates/views/item-pane"]=Ember.HTMLBars.template({1:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression,g="";return d.buffer.push(" "),d.buffer.push(f((b.bsItemPanePartial||a&&a.bsItemPanePartial||e).call(a,"view.content.template",{name:"bsItemPanePartial",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}))),d.buffer.push("\r\n"),g},compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e;e=b["if"].call(a,"view.content.template",{name:"if",hash:{},hashTypes:{},hashContexts:{},fn:this.program(1,d),inverse:this.noop,types:["ID"],contexts:[a],data:d}),d.buffer.push(null!=e?e:"")},useData:!0}); \ No newline at end of file diff --git a/dist/js/bs-label.max.js b/dist/js/bs-label.max.js index 3b145bf..17acbc5 100644 --- a/dist/js/bs-label.max.js +++ b/dist/js/bs-label.max.js @@ -10,7 +10,7 @@ }).call(this); -Ember.TEMPLATES["components/bs-label"] = Ember.Ember.TEMPLATES.template({"compiler":[6,">= 2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) { +Ember.TEMPLATES["components/bs-label"] = Ember.HTMLBars.template({"compiler":[6,">= 2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) { var stack1; stack1 = helpers._triageMustache.call(depth0, "content", {"name":"_triageMustache","hash":{},"hashTypes":{},"hashContexts":{},"types":["ID"],"contexts":[depth0],"data":data}); if (stack1 != null) { data.buffer.push(stack1); } diff --git a/dist/js/bs-label.min.js b/dist/js/bs-label.min.js index 0fcf29b..85a61a9 100644 --- a/dist/js/bs-label.min.js +++ b/dist/js/bs-label.min.js @@ -1 +1 @@ -(function(){Bootstrap.BsLabelComponent=Ember.Component.extend(Bootstrap.TypeSupport,{layoutName:"components/bs-label",tagName:"span",classNames:["label"],classTypePrefix:"label"}),Ember.Handlebars.helper("bs-label",Bootstrap.BsLabelComponent)}).call(this),Ember.TEMPLATES["components/bs-label"]=Ember.Ember.TEMPLATES.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e;e=b._triageMustache.call(a,"content",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),d.buffer.push(null!=e?e:"")},useData:!0}); \ No newline at end of file +(function(){Bootstrap.BsLabelComponent=Ember.Component.extend(Bootstrap.TypeSupport,{layoutName:"components/bs-label",tagName:"span",classNames:["label"],classTypePrefix:"label"}),Ember.Handlebars.helper("bs-label",Bootstrap.BsLabelComponent)}).call(this),Ember.TEMPLATES["components/bs-label"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e;e=b._triageMustache.call(a,"content",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),d.buffer.push(null!=e?e:"")},useData:!0}); \ No newline at end of file diff --git a/dist/js/bs-modal.max.js b/dist/js/bs-modal.max.js index 0da5fbe..69b6ad4 100644 --- a/dist/js/bs-modal.max.js +++ b/dist/js/bs-modal.max.js @@ -307,7 +307,7 @@ Modal component. }).call(this); -Ember.TEMPLATES["components/bs-modal"] = Ember.Ember.TEMPLATES.template({"1":function(depth0,helpers,partials,data) { +Ember.TEMPLATES["components/bs-modal"] = Ember.HTMLBars.template({"1":function(depth0,helpers,partials,data) { var escapeExpression=this.escapeExpression, buffer = ''; data.buffer.push("
    ',role:"dialog",footerViews:[],backdrop:!0,title:null,isVisible:!1,manual:!1,isVis:!1,fullSizeButtons:!1,fade:!0,didInsertElement:function(){var a;return this._super(),this.setupBinders(),a=this.get("name"),Ember.assert("Modal name is required for modal view "+this.get("elementId"),this.get("name")),null==a&&(a=this.get("elementId")),Bootstrap.ModalManager.add(a,this),this.manual?this.show():void 0},becameVisible:function(){return Em.$("body").addClass("modal-open"),this.get("backdrop")?this.appendBackdrop():void 0},becameHidden:function(){return Em.$("body").removeClass("modal-open"),this._backdrop?this._backdrop.remove():void 0},appendBackdrop:function(){var a;return a=this.$().parent(),this._backdrop=Em.$(this.modalBackdrop).appendTo(a)},show:function(){var a;this.set("isVisible",!0),a=this,setTimeout(function(){a.set("isVis",!0)},15)},hide:function(){var a;return this.set("isVis",!1),a=this,this.$().one("webkitTransitionEnd",function(){a.set("isVisible",!1)}),!1},toggle:function(){return this.toggleProperty("isVisible")},click:function(a){var b,c;return b=a.target,c=b.getAttribute("data-dismiss"),"modal"===c?this.close():void 0},keyPressed:function(a){return 27===a.keyCode?this.close(a):void 0},close:function(){var a;return this.set("isVis",!1),a=this,this.$().one("webkitTransitionEnd",function(){a.get("manual")?a.destroy():a.hide()}),this.trigger("closed")},willDestroyElement:function(){var a;return Em.$("body").removeClass("modal-open"),this.removeHandlers(),a=this.get("name"),null==a&&(a=this.get("elementId")),Bootstrap.ModalManager.remove(a,this),this._backdrop?this._backdrop.remove():void 0},removeHandlers:function(){return jQuery(window.document).unbind("keyup",this._keyUpHandler)},setupBinders:function(){var a,b=this;return a=function(a){return b.keyPressed(a)},jQuery(window.document).bind("keyup",a),this._keyUpHandler=a}}),Bootstrap.ModalManager=Ember.Object.create({add:function(a,b){return this.set(a,b)},register:function(a,b){return this.add(a,b),b.appendTo(b.get("targetObject").namespace.rootElement)},remove:function(a){return this.set(a,null)},close:function(a){return this.get(a).close()},hide:function(a){return this.get(a).hide()},show:function(a){return this.get(a).show()},toggle:function(a){return this.get(a).toggle()},confirm:function(a,b,c,d,e,f,g,h,i,j,k,l){var m,n;return null==d&&(d="Confirm"),null==e&&(e="modalConfirmed"),null==f&&(f=null),null==g&&(g="Cancel"),null==h&&(h="modalCanceled"),null==i&&(i=null),null==j&&(j=a),null==k&&(k=!0),null==l&&(l=!1),m=Ember.View.extend({template:Ember.Handlebars.compile(c||"Are you sure you would like to perform this action?")}),n=[Ember.Object.create({title:d,clicked:e,type:f,dismiss:"modal"}),Ember.Object.create({title:g,clicked:h,type:i,dismiss:"modal"})],this.open("confirm-modal",b||"Confirmation required!",m,n,a,k,l,j)}},{okModal:function(a,b,c,d,e,f,g,h,i){var j,k;return null==d&&(d="OK"),null==e&&(e="okModal"),null==f&&(f=null),null==g&&(g=a),null==h&&(h=!0),null==i&&(i=!1),j=Ember.View.extend({template:Ember.Handlebars.compile(c||"Are you sure you would like to perform this action?")}),k=[Ember.Object.create({title:d,clicked:e,type:f,dismiss:"modal"})],this.open("ok-modal",b||"Confirmation required!",j,k,a,h,i,g)},openModal:function(a,b){var c,d;return null==b&&(b={}),d=b.rootElement||".ember-application",c=a.create(b),c.appendTo(d)},openManual:function(a,b,c,d,e,f,g,h){var i;return i=Ember.View.extend({template:Ember.Handlebars.compile(c),controller:e}),this.open(a,b,i,d,e,f,g,h)},open:function(a,b,c,d,e,f,g,h){var i,j,k;return null==g&&(g=!1),null==h&&(h=e),i=e.container.lookup("component-lookup:main"),j=i.lookupFactory("bs-modal",e.get("container")).create(),j.setProperties({name:a,title:b,manual:!0,footerButtons:d,targetObject:h,fade:f,fullSizeButtons:g}),"string"===Ember.typeOf(c)?(k=e.container.lookup("template:"+c),Ember.assert("Template "+c+" was specified for Modal but template could not be found.",k),k&&j.setProperties({body:Ember.View.extend({template:k,controller:e})})):"class"===Ember.typeOf(c)&&j.setProperties({body:c,controller:e}),j.appendTo(e.namespace.rootElement)}}),Ember.Application.initializer({name:"bs-modal",initialize:function(a){return a.register("component:bs-modal",Bootstrap.BsModalComponent)}})}).call(this),Ember.TEMPLATES["components/bs-modal"]=Ember.Ember.TEMPLATES.template({1:function(a,b,c,d){var e=this.escapeExpression,f="";return d.buffer.push(" \r\n"),f},3:function(a,b,c,d){var e=this.escapeExpression,f="";return d.buffer.push(" "),d.buffer.push(e(b.view.call(a,"view.body",{name:"view",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}))),d.buffer.push("\r\n"),f},5:function(a,b,c,d){var e,f="";return d.buffer.push(" "),e=b._triageMustache.call(a,"yield",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("\r\n"),f},7:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression,g="";return d.buffer.push(" "),d.buffer.push(f((b["bs-button"]||a&&a["bs-button"]||e).call(a,{name:"bs-button",hash:{targetObjectBinding:"view.targetObject",content:""},hashTypes:{targetObjectBinding:"STRING",content:"ID"},hashContexts:{targetObjectBinding:a,content:a},types:[],contexts:[],data:d}))),d.buffer.push("\r\n"),g},9:function(a,b,c,d){var e=this.escapeExpression,f="";return d.buffer.push(" "),d.buffer.push(e(b.view.call(a,"",{name:"view",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}))),d.buffer.push("\r\n"),f},compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f=this.escapeExpression,g="";return d.buffer.push('"),g},useData:!0}); \ No newline at end of file +(function(){Bootstrap.BsModalComponent=Ember.Component.extend(Ember.Evented,{layoutName:"components/bs-modal",classNames:["modal"],classNameBindings:["fade","isVis:in"],attributeBindings:["role","aria-labelledby","isAriaHidden:aria-hidden","ariaLabelledBy:aria-labelledby"],isAriaHidden:function(){return""+this.get("isVisible")}.property("isVisible"),modalBackdrop:'',role:"dialog",footerViews:[],backdrop:!0,title:null,isVisible:!1,manual:!1,isVis:!1,fullSizeButtons:!1,fade:!0,didInsertElement:function(){var a;return this._super(),this.setupBinders(),a=this.get("name"),Ember.assert("Modal name is required for modal view "+this.get("elementId"),this.get("name")),null==a&&(a=this.get("elementId")),Bootstrap.ModalManager.add(a,this),this.manual?this.show():void 0},becameVisible:function(){return Em.$("body").addClass("modal-open"),this.get("backdrop")?this.appendBackdrop():void 0},becameHidden:function(){return Em.$("body").removeClass("modal-open"),this._backdrop?this._backdrop.remove():void 0},appendBackdrop:function(){var a;return a=this.$().parent(),this._backdrop=Em.$(this.modalBackdrop).appendTo(a)},show:function(){var a;this.set("isVisible",!0),a=this,setTimeout(function(){a.set("isVis",!0)},15)},hide:function(){var a;return this.set("isVis",!1),a=this,this.$().one("webkitTransitionEnd",function(){a.set("isVisible",!1)}),!1},toggle:function(){return this.toggleProperty("isVisible")},click:function(a){var b,c;return b=a.target,c=b.getAttribute("data-dismiss"),"modal"===c?this.close():void 0},keyPressed:function(a){return 27===a.keyCode?this.close(a):void 0},close:function(){var a;return this.set("isVis",!1),a=this,this.$().one("webkitTransitionEnd",function(){a.get("manual")?a.destroy():a.hide()}),this.trigger("closed")},willDestroyElement:function(){var a;return Em.$("body").removeClass("modal-open"),this.removeHandlers(),a=this.get("name"),null==a&&(a=this.get("elementId")),Bootstrap.ModalManager.remove(a,this),this._backdrop?this._backdrop.remove():void 0},removeHandlers:function(){return jQuery(window.document).unbind("keyup",this._keyUpHandler)},setupBinders:function(){var a,b=this;return a=function(a){return b.keyPressed(a)},jQuery(window.document).bind("keyup",a),this._keyUpHandler=a}}),Bootstrap.ModalManager=Ember.Object.create({add:function(a,b){return this.set(a,b)},register:function(a,b){return this.add(a,b),b.appendTo(b.get("targetObject").namespace.rootElement)},remove:function(a){return this.set(a,null)},close:function(a){return this.get(a).close()},hide:function(a){return this.get(a).hide()},show:function(a){return this.get(a).show()},toggle:function(a){return this.get(a).toggle()},confirm:function(a,b,c,d,e,f,g,h,i,j,k,l){var m,n;return null==d&&(d="Confirm"),null==e&&(e="modalConfirmed"),null==f&&(f=null),null==g&&(g="Cancel"),null==h&&(h="modalCanceled"),null==i&&(i=null),null==j&&(j=a),null==k&&(k=!0),null==l&&(l=!1),m=Ember.View.extend({template:Ember.Handlebars.compile(c||"Are you sure you would like to perform this action?")}),n=[Ember.Object.create({title:d,clicked:e,type:f,dismiss:"modal"}),Ember.Object.create({title:g,clicked:h,type:i,dismiss:"modal"})],this.open("confirm-modal",b||"Confirmation required!",m,n,a,k,l,j)}},{okModal:function(a,b,c,d,e,f,g,h,i){var j,k;return null==d&&(d="OK"),null==e&&(e="okModal"),null==f&&(f=null),null==g&&(g=a),null==h&&(h=!0),null==i&&(i=!1),j=Ember.View.extend({template:Ember.Handlebars.compile(c||"Are you sure you would like to perform this action?")}),k=[Ember.Object.create({title:d,clicked:e,type:f,dismiss:"modal"})],this.open("ok-modal",b||"Confirmation required!",j,k,a,h,i,g)},openModal:function(a,b){var c,d;return null==b&&(b={}),d=b.rootElement||".ember-application",c=a.create(b),c.appendTo(d)},openManual:function(a,b,c,d,e,f,g,h){var i;return i=Ember.View.extend({template:Ember.Handlebars.compile(c),controller:e}),this.open(a,b,i,d,e,f,g,h)},open:function(a,b,c,d,e,f,g,h){var i,j,k;return null==g&&(g=!1),null==h&&(h=e),i=e.container.lookup("component-lookup:main"),j=i.lookupFactory("bs-modal",e.get("container")).create(),j.setProperties({name:a,title:b,manual:!0,footerButtons:d,targetObject:h,fade:f,fullSizeButtons:g}),"string"===Ember.typeOf(c)?(k=e.container.lookup("template:"+c),Ember.assert("Template "+c+" was specified for Modal but template could not be found.",k),k&&j.setProperties({body:Ember.View.extend({template:k,controller:e})})):"class"===Ember.typeOf(c)&&j.setProperties({body:c,controller:e}),j.appendTo(e.namespace.rootElement)}}),Ember.Application.initializer({name:"bs-modal",initialize:function(a){return a.register("component:bs-modal",Bootstrap.BsModalComponent)}})}).call(this),Ember.TEMPLATES["components/bs-modal"]=Ember.HTMLBars.template({1:function(a,b,c,d){var e=this.escapeExpression,f="";return d.buffer.push(" \r\n"),f},3:function(a,b,c,d){var e=this.escapeExpression,f="";return d.buffer.push(" "),d.buffer.push(e(b.view.call(a,"view.body",{name:"view",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}))),d.buffer.push("\r\n"),f},5:function(a,b,c,d){var e,f="";return d.buffer.push(" "),e=b._triageMustache.call(a,"yield",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("\r\n"),f},7:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression,g="";return d.buffer.push(" "),d.buffer.push(f((b["bs-button"]||a&&a["bs-button"]||e).call(a,{name:"bs-button",hash:{targetObjectBinding:"view.targetObject",content:""},hashTypes:{targetObjectBinding:"STRING",content:"ID"},hashContexts:{targetObjectBinding:a,content:a},types:[],contexts:[],data:d}))),d.buffer.push("\r\n"),g},9:function(a,b,c,d){var e=this.escapeExpression,f="";return d.buffer.push(" "),d.buffer.push(e(b.view.call(a,"",{name:"view",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}))),d.buffer.push("\r\n"),f},compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f=this.escapeExpression,g="";return d.buffer.push('"),g},useData:!0}); \ No newline at end of file diff --git a/dist/js/bs-popover.max.js b/dist/js/bs-popover.max.js index fb302dd..2b4b65a 100644 --- a/dist/js/bs-popover.max.js +++ b/dist/js/bs-popover.max.js @@ -12,14 +12,30 @@ Bootstrap.BsPopoverComponent = Ember.Component.extend({ layoutName: 'components/bs-popover', classNames: "popover", - classNameBindings: ["fade", "in", "realPlacement"], + classNameBindings: ["fade", "in", "top", "left", "right", "bottom"], + top: (function() { + return this.get("realPlacement") === "top"; + }).property("realPlacement"), + left: (function() { + return this.get("realPlacement") === "left"; + }).property("realPlacement"), + right: (function() { + return this.get("realPlacement") === "right"; + }).property("realPlacement"), + bottom: (function() { + return this.get("realPlacement") === "bottom"; + }).property("realPlacement"), titleBinding: "data.title", content: Ember.computed.alias('data.content'), html: false, delay: 0, animation: true, - fade: Ember.computed.oneWay("animation"), - "in": Ember.computed.oneWay("isVisible"), + fade: (function() { + return this.get("animation"); + }).property("animation"), + "in": (function() { + return this.get("isVisible"); + }).property("isVisible"), placement: (function() { return this.get("data.placement") || "top"; }).property("data.placement"), @@ -374,6 +390,8 @@ object[name] = ""; binding = Ember.Binding.from(p).to(name); binding.connect(object); + } else { + object.set(name, value); } } } diff --git a/dist/js/bs-popover.min.js b/dist/js/bs-popover.min.js index 927eec0..ecfe573 100644 --- a/dist/js/bs-popover.min.js +++ b/dist/js/bs-popover.min.js @@ -1 +1 @@ -(function(){var a,b,c;a='
    {{#if title}}

    {{title}}

    {{/if}}
    {{#if template}} {{partial partialTemplateName}}{{else}} {{#if content}} {{#if html}} {{{content}}} {{else}} {{content}} {{/if}} {{else}} {{yield}} {{/if}}{{/if}}
    ',Ember.TEMPLATES["components/bs-popover"]=Ember.Handlebars.compile(a),c='
    {{#if html}} {{{content}}}{{else}} {{content}}{{/if}}
    ',Ember.TEMPLATES["components/bs-tooltip"]=Ember.Handlebars.compile(c),Bootstrap.BsPopoverComponent=Ember.Component.extend({layoutName:"components/bs-popover",classNames:"popover",classNameBindings:["fade","in","top","left","right","bottom"],top:function(){return"top"===this.get("realPlacement")}.property("realPlacement"),left:function(){return"left"===this.get("realPlacement")}.property("realPlacement"),right:function(){return"right"===this.get("realPlacement")}.property("realPlacement"),bottom:function(){return"bottom"===this.get("realPlacement")}.property("realPlacement"),titleBinding:"data.title",content:Ember.computed.alias("data.content"),html:!1,delay:0,animation:!0,fade:function(){return this.get("animation")}.property("animation"),"in":function(){return this.get("isVisible")}.property("isVisible"),placement:function(){return this.get("data.placement")||"top"}.property("data.placement"),$element:null,$tip:null,inserted:!1,styleUpdater:function(){var a,b,c,d,e;if(this.$tip&&this.get("isVisible"))return this.$tip.css({top:0,left:0,display:"block"}).addClass(this.get("realPlacement")),d=this.get("realPlacement"),e=this.getPosition(),b=this.$tip[0].offsetWidth,a=this.$tip[0].offsetHeight,c=this.getCalculatedOffset(d,e,b,a),this.$tip.css("top",c.top),this.$tip.css("left",c.left),this.firstTime?(this.firstTime=!1,this.styleUpdater(),this.firstTime=!0):void 0}.observes("content","realPlacement","inserted","isVisible"),init:function(){var a,b;return this._super(),this.set("html",this.get("data.html")||!1),this.set("template",void 0!==this.get("data.template")),this.get("template")?(a="components/bs-popover/_partial-content-"+this.get("tip_id"),b=this.get("data.template"),Ember.TEMPLATES[a]="function"==typeof b?b:Ember.Handlebars.compile(b),this.set("partialTemplateName",a)):void 0},didInsertElement:function(){var a,b=this;return this.$tip=this.$(),a=Bootstrap.TooltipBoxManager.attribute,a="["+a+"='"+this.get("tip_id")+"']",this.$element=$(a),this.set("inserted",!0),"hover"===this.get("data.trigger")&&this.get("data.sticky")&&this.$().on("mouseenter",function(){return clearTimeout(Bootstrap.TooltipBoxManager.timeout)}),this.$().on("mouseleave",function(){return Bootstrap.TooltipBoxManager.removeTip(b.get("tip_id"))}),this.$().find("img").load(function(){return b.afterRender()})},afterRender:function(){return this.notifyPropertyChange("content")},realPlacement:function(){var a,b,c,d,e,f,g,h,i,j,k,l;return this.$tip?(k=this.get("placement")||"",e=/\s?auto?\s?/i,d=e.test(k),d&&(k=k.replace(e,"")||"top"),l=this.getPosition(),c=this.$tip[0].offsetWidth,b=this.$tip[0].offsetHeight,d&&(a=this.$element.parent(),g=k,f=document.documentElement.scrollTop||document.body.scrollTop,j=window.innerWidth,h=window.innerHeight,i=0,k="bottom"===k&&l.top+l.height+b-f>h?"top":"top"===k&&l.top-f-b<0?"bottom":"right"===k&&l.right+c>j?"left":"left"===k&&l.left-c
    {{#if html}} {{{content}}}{{else}} {{content}}{{/if}}
    ',Ember.TEMPLATES["components/bs-tooltip"]=Ember.Handlebars.compile(c),Bootstrap.BsPopoverComponent=Ember.Component.extend({layoutName:"components/bs-popover",classNames:"popover",classNameBindings:["fade","in","top","left","right","bottom"],top:function(){return"top"===this.get("realPlacement")}.property("realPlacement"),left:function(){return"left"===this.get("realPlacement")}.property("realPlacement"),right:function(){return"right"===this.get("realPlacement")}.property("realPlacement"),bottom:function(){return"bottom"===this.get("realPlacement")}.property("realPlacement"),titleBinding:"data.title",content:Ember.computed.alias("data.content"),html:!1,delay:0,animation:!0,fade:function(){return this.get("animation")}.property("animation"),"in":function(){return this.get("isVisible")}.property("isVisible"),placement:function(){return this.get("data.placement")||"top"}.property("data.placement"),$element:null,$tip:null,inserted:!1,styleUpdater:function(){var a,b,c,d,e;if(this.$tip&&this.get("isVisible"))return this.$tip.css({top:0,left:0,display:"block"}).addClass(this.get("realPlacement")),d=this.get("realPlacement"),e=this.getPosition(),b=this.$tip[0].offsetWidth,a=this.$tip[0].offsetHeight,c=this.getCalculatedOffset(d,e,b,a),this.$tip.css("top",c.top),this.$tip.css("left",c.left),this.firstTime?(this.firstTime=!1,this.styleUpdater(),this.firstTime=!0):void 0}.observes("content","realPlacement","inserted","isVisible"),init:function(){var a,b;return this._super(),this.set("html",this.get("data.html")||!1),this.set("template",void 0!==this.get("data.template")),this.get("template")?(a="components/bs-popover/_partial-content-"+this.get("tip_id"),b=this.get("data.template"),Ember.TEMPLATES[a]="function"==typeof b?b:Ember.Handlebars.compile(b),this.set("partialTemplateName",a)):void 0},didInsertElement:function(){var a,b=this;return this.$tip=this.$(),a=Bootstrap.TooltipBoxManager.attribute,a="["+a+"='"+this.get("tip_id")+"']",this.$element=$(a),this.set("inserted",!0),"hover"===this.get("data.trigger")&&this.get("data.sticky")&&this.$().on("mouseenter",function(){return clearTimeout(Bootstrap.TooltipBoxManager.timeout)}),this.$().on("mouseleave",function(){return Bootstrap.TooltipBoxManager.removeTip(b.get("tip_id"))}),this.$().find("img").load(function(){return b.afterRender()})},afterRender:function(){return this.notifyPropertyChange("content")},realPlacement:function(){var a,b,c,d,e,f,g,h,i,j,k,l;return this.$tip?(k=this.get("placement")||"",e=/\s?auto?\s?/i,d=e.test(k),d&&(k=k.replace(e,"")||"top"),l=this.getPosition(),c=this.$tip[0].offsetWidth,b=this.$tip[0].offsetHeight,d&&(a=this.$element.parent(),g=k,f=document.documentElement.scrollTop||document.body.scrollTop,j=window.innerWidth,h=window.innerHeight,i=0,k="bottom"===k&&l.top+l.height+b-f>h?"top":"top"===k&&l.top-f-b<0?"bottom":"right"===k&&l.right+c>j?"left":"left"===k&&l.left-c= 2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) { +Ember.TEMPLATES["components/bs-progressbar"] = Ember.HTMLBars.template({"compiler":[6,">= 2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) { var stack1, buffer = ''; data.buffer.push(""); stack1 = helpers._triageMustache.call(depth0, "progress", {"name":"_triageMustache","hash":{},"hashTypes":{},"hashContexts":{},"types":["ID"],"contexts":[depth0],"data":data}); diff --git a/dist/js/bs-progressbar.min.js b/dist/js/bs-progressbar.min.js index a148d1e..67a2f15 100644 --- a/dist/js/bs-progressbar.min.js +++ b/dist/js/bs-progressbar.min.js @@ -1 +1 @@ -(function(){Bootstrap.BsProgressComponent=Ember.Component.extend({layoutName:"components/bs-progress",classNames:["progress"],classNameBindings:["animated:active","stripped:progress-striped"],progress:null,stripped:!1,animated:!1,"default":function(){return this.progress}.property("progress")}),Ember.Handlebars.helper("bs-progress",Bootstrap.BsProgressComponent)}).call(this),function(){Bootstrap.BsProgressbarComponent=Ember.Component.extend(Bootstrap.TypeSupport,{layoutName:"components/bs-progressbar",classNames:["progress-bar"],attributeBindings:["style","role","aria-valuemin","ariaValueNow:aria-valuenow","aria-valuemax"],classTypePrefix:"progress-bar",role:"progressbar","aria-valuemin":0,"aria-valuemax":100,init:function(){return this._super()},style:function(){return"width:"+this.progress+"%;"}.property("progress").cacheable(),ariaValueNow:function(){return this.progress}.property("progress").cacheable()}),Ember.Handlebars.helper("bs-progressbar",Bootstrap.BsProgressbarComponent)}.call(this),Ember.TEMPLATES["components/bs-progress"]=Ember.Ember.TEMPLATES.template({1:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression,g="";return d.buffer.push(" "),d.buffer.push(f((b["bs-progressbar"]||a&&a["bs-progressbar"]||e).call(a,{name:"bs-progressbar",hash:{type:"type",progress:"progress"},hashTypes:{type:"ID",progress:"ID"},hashContexts:{type:a,progress:a},types:[],contexts:[],data:d}))),d.buffer.push("\r\n"),g},3:function(a,b,c,d){var e,f="";return d.buffer.push(" "),e=b._triageMustache.call(a,"yield",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("\r\n"),f},compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e;e=b["if"].call(a,"default",{name:"if",hash:{},hashTypes:{},hashContexts:{},fn:this.program(1,d),inverse:this.program(3,d),types:["ID"],contexts:[a],data:d}),d.buffer.push(null!=e?e:"")},useData:!0}),Ember.TEMPLATES["components/bs-progressbar"]=Ember.Ember.TEMPLATES.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f="";return d.buffer.push(''),e=b._triageMustache.call(a,"progress",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("% Complete"),f},useData:!0}); \ No newline at end of file +(function(){Bootstrap.BsProgressComponent=Ember.Component.extend({layoutName:"components/bs-progress",classNames:["progress"],classNameBindings:["animated:active","stripped:progress-striped"],progress:null,stripped:!1,animated:!1,"default":function(){return this.progress}.property("progress")}),Ember.Handlebars.helper("bs-progress",Bootstrap.BsProgressComponent)}).call(this),function(){Bootstrap.BsProgressbarComponent=Ember.Component.extend(Bootstrap.TypeSupport,{layoutName:"components/bs-progressbar",classNames:["progress-bar"],attributeBindings:["style","role","aria-valuemin","ariaValueNow:aria-valuenow","aria-valuemax"],classTypePrefix:"progress-bar",role:"progressbar","aria-valuemin":0,"aria-valuemax":100,init:function(){return this._super()},style:function(){return"width:"+this.progress+"%;"}.property("progress").cacheable(),ariaValueNow:function(){return this.progress}.property("progress").cacheable()}),Ember.Handlebars.helper("bs-progressbar",Bootstrap.BsProgressbarComponent)}.call(this),Ember.TEMPLATES["components/bs-progress"]=Ember.HTMLBars.template({1:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression,g="";return d.buffer.push(" "),d.buffer.push(f((b["bs-progressbar"]||a&&a["bs-progressbar"]||e).call(a,{name:"bs-progressbar",hash:{type:"type",progress:"progress"},hashTypes:{type:"ID",progress:"ID"},hashContexts:{type:a,progress:a},types:[],contexts:[],data:d}))),d.buffer.push("\r\n"),g},3:function(a,b,c,d){var e,f="";return d.buffer.push(" "),e=b._triageMustache.call(a,"yield",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("\r\n"),f},compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e;e=b["if"].call(a,"default",{name:"if",hash:{},hashTypes:{},hashContexts:{},fn:this.program(1,d),inverse:this.program(3,d),types:["ID"],contexts:[a],data:d}),d.buffer.push(null!=e?e:"")},useData:!0}),Ember.TEMPLATES["components/bs-progressbar"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f="";return d.buffer.push(''),e=b._triageMustache.call(a,"progress",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("% Complete"),f},useData:!0}); \ No newline at end of file diff --git a/dist/showcase/scripts/showcase-components.js b/dist/showcase/scripts/showcase-components.js index 00ed6c7..d9b385d 100644 --- a/dist/showcase/scripts/showcase-components.js +++ b/dist/showcase/scripts/showcase-components.js @@ -1,17 +1,20 @@ !function(a,b){function c(a){var b=a.length,c=ib.type(a);return ib.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||"function"!==c&&(0===b||"number"==typeof b&&b>0&&b-1 in a)}function d(a){var b=xb[a]={};return ib.each(a.match(kb)||[],function(a,c){b[c]=!0}),b}function e(a,c,d,e){if(ib.acceptData(a)){var f,g,h=ib.expando,i="string"==typeof c,j=a.nodeType,k=j?ib.cache:a,l=j?a[h]:a[h]&&h;if(l&&k[l]&&(e||k[l].data)||!i||d!==b)return l||(j?a[h]=l=_.pop()||ib.guid++:l=h),k[l]||(k[l]={},j||(k[l].toJSON=ib.noop)),("object"==typeof c||"function"==typeof c)&&(e?k[l]=ib.extend(k[l],c):k[l].data=ib.extend(k[l].data,c)),f=k[l],e||(f.data||(f.data={}),f=f.data),d!==b&&(f[ib.camelCase(c)]=d),i?(g=f[c],null==g&&(g=f[ib.camelCase(c)])):g=f,g}}function f(a,b,c){if(ib.acceptData(a)){var d,e,f,g=a.nodeType,i=g?ib.cache:a,j=g?a[ib.expando]:ib.expando;if(i[j]){if(b&&(f=c?i[j]:i[j].data)){ib.isArray(b)?b=b.concat(ib.map(b,ib.camelCase)):b in f?b=[b]:(b=ib.camelCase(b),b=b in f?[b]:b.split(" "));for(d=0,e=b.length;e>d;d++)delete f[b[d]];if(!(c?h:ib.isEmptyObject)(f))return}(c||(delete i[j].data,h(i[j])))&&(g?ib.cleanData([a],!0):ib.support.deleteExpando||i!=i.window?delete i[j]:i[j]=null)}}}function g(a,c,d){if(d===b&&1===a.nodeType){var e="data-"+c.replace(zb,"-$1").toLowerCase();if(d=a.getAttribute(e),"string"==typeof d){try{d="true"===d?!0:"false"===d?!1:"null"===d?null:+d+""===d?+d:yb.test(d)?ib.parseJSON(d):d}catch(f){}ib.data(a,c,d)}else d=b}return d}function h(a){var b;for(b in a)if(("data"!==b||!ib.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function i(){return!0}function j(){return!1}function k(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}function l(a,b,c){if(b=b||0,ib.isFunction(b))return ib.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return ib.grep(a,function(a){return a===b===c});if("string"==typeof b){var d=ib.grep(a,function(a){return 1===a.nodeType});if(Rb.test(b))return ib.filter(b,d,!c);b=ib.filter(b,d)}return ib.grep(a,function(a){return ib.inArray(a,b)>=0===c})}function m(a){var b=Ub.split("|"),c=a.createDocumentFragment();if(c.createElement)for(;b.length;)c.createElement(b.pop());return c}function n(a,b){return a.getElementsByTagName(b)[0]||a.appendChild(a.ownerDocument.createElement(b))}function o(a){var b=a.getAttributeNode("type");return a.type=(b&&b.specified)+"/"+a.type,a}function p(a){var b=ec.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function q(a,b){for(var c,d=0;null!=(c=a[d]);d++)ib._data(c,"globalEval",!b||ib._data(b[d],"globalEval"))}function r(a,b){if(1===b.nodeType&&ib.hasData(a)){var c,d,e,f=ib._data(a),g=ib._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)ib.event.add(b,c,h[c][d])}g.data&&(g.data=ib.extend({},g.data))}}function s(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!ib.support.noCloneEvent&&b[ib.expando]){e=ib._data(b);for(d in e.events)ib.removeEvent(b,d,e.handle);b.removeAttribute(ib.expando)}"script"===c&&b.text!==a.text?(o(b).text=a.text,p(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),ib.support.html5Clone&&a.innerHTML&&!ib.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&bc.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}function t(a,c){var d,e,f=0,g=typeof a.getElementsByTagName!==V?a.getElementsByTagName(c||"*"):typeof a.querySelectorAll!==V?a.querySelectorAll(c||"*"):b;if(!g)for(g=[],d=a.childNodes||a;null!=(e=d[f]);f++)!c||ib.nodeName(e,c)?g.push(e):ib.merge(g,t(e,c));return c===b||c&&ib.nodeName(a,c)?ib.merge([a],g):g}function u(a){bc.test(a.type)&&(a.defaultChecked=a.checked)}function v(a,b){if(b in a)return b;for(var c=b.charAt(0).toUpperCase()+b.slice(1),d=b,e=yc.length;e--;)if(b=yc[e]+c,b in a)return b;return d}function w(a,b){return a=b||a,"none"===ib.css(a,"display")||!ib.contains(a.ownerDocument,a)}function x(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=ib._data(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&w(d)&&(f[g]=ib._data(d,"olddisplay",B(d.nodeName)))):f[g]||(e=w(d),(c&&"none"!==c||!e)&&ib._data(d,"olddisplay",e?c:ib.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}function y(a,b,c){var d=rc.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function z(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=ib.css(a,c+xc[f],!0,e)),d?("content"===c&&(g-=ib.css(a,"padding"+xc[f],!0,e)),"margin"!==c&&(g-=ib.css(a,"border"+xc[f]+"Width",!0,e))):(g+=ib.css(a,"padding"+xc[f],!0,e),"padding"!==c&&(g+=ib.css(a,"border"+xc[f]+"Width",!0,e)));return g}function A(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=kc(a),g=ib.support.boxSizing&&"border-box"===ib.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=lc(a,b,f),(0>e||null==e)&&(e=a.style[b]),sc.test(e))return e;d=g&&(ib.support.boxSizingReliable||e===a.style[b]),e=parseFloat(e)||0}return e+z(a,b,c||(g?"border":"content"),d,f)+"px"}function B(a){var b=W,c=uc[a];return c||(c=C(a,b),"none"!==c&&c||(jc=(jc||ib("\r\n \r\n
  • \r\n \r\n
  • \r\n \r\n \r\n\r\n')},useData:!0}),Ember.TEMPLATES["tabs/bar-tabpane"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f=b.helperMissing,g=this.escapeExpression,h="";return d.buffer.push(g((b["bs-page-header"]||a&&a["bs-page-header"]||f).call(a,{name:"bs-page-header",hash:{sub:"Tab Pane Content",title:"BAR "},hashTypes:{sub:"STRING",title:"STRING"},hashContexts:{sub:a,title:a},types:[],contexts:[],data:d}))),d.buffer.push("\r\nController is: "),e=b._triageMustache.call(a,"controller",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),h},useData:!0}),Ember.TEMPLATES["tabs/baz-tabpane"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression;d.buffer.push(f((b["bs-page-header"]||a&&a["bs-page-header"]||e).call(a,{name:"bs-page-header",hash:{sub:"Tab Pane Content",title:"BAZ"},hashTypes:{sub:"STRING",title:"STRING"},hashContexts:{sub:a,title:a},types:[],contexts:[],data:d})))},useData:!0}),Ember.TEMPLATES["tabs/foo-tabpane"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f=b.helperMissing,g=this.escapeExpression,h="";return d.buffer.push(g((b["bs-page-header"]||a&&a["bs-page-header"]||f).call(a,{name:"bs-page-header",hash:{sub:"Tab Pane Content",title:"FOO"},hashTypes:{sub:"STRING",title:"STRING"},hashContexts:{sub:a,title:a},types:[],contexts:[],data:d}))),d.buffer.push("\r\nController is: "),e=b._triageMustache.call(a,"controller",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),h},useData:!0}),Ember.TEMPLATES.user=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f=b.helperMissing,g=this.escapeExpression,h="";return d.buffer.push(g((b["bs-tabs"]||a&&a["bs-tabs"]||f).call(a,{name:"bs-tabs",hash:{contentBinding:"tabsMeta"},hashTypes:{contentBinding:"STRING"},hashContexts:{contentBinding:a},types:[],contexts:[],data:d}))),d.buffer.push("\r\n\r\n"),e=b._triageMustache.call(a,"outlet",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),h},useData:!0}),Ember.TEMPLATES["user/activities"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression;d.buffer.push(f((b["bs-page-header"]||a&&a["bs-page-header"]||e).call(a,{name:"bs-page-header",hash:{sub:"User latest Activities",title:"Activities"},hashTypes:{sub:"STRING",title:"STRING"},hashContexts:{sub:a,title:a},types:[],contexts:[],data:d})))},useData:!0}),Ember.TEMPLATES["user/general"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression;d.buffer.push(f((b["bs-page-header"]||a&&a["bs-page-header"]||e).call(a,{name:"bs-page-header",hash:{sub:"User general details",title:"General"},hashTypes:{sub:"STRING",title:"STRING"},hashContexts:{sub:a,title:a},types:[],contexts:[],data:d})))},useData:!0}),Ember.TEMPLATES["user/privacy"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression;d.buffer.push(f((b["bs-page-header"]||a&&a["bs-page-header"]||e).call(a,{name:"bs-page-header",hash:{sub:"User Privacy details",title:"Privacy"},hashTypes:{sub:"STRING",title:"STRING"},hashContexts:{sub:a,title:a},types:[],contexts:[],data:d})))},useData:!0}),Ember.TEMPLATES["wizard/step1"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){d.buffer.push("

    Step1

    ")},useData:!0}),Ember.TEMPLATES["wizard/step2"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){d.buffer.push("

    Step 2

    ")},useData:!0}),Ember.TEMPLATES["wizard/step3"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){d.buffer.push("

    Step 3

    ")},useData:!0}),function(){!function(){var a,b;a=window.Bootstrap,b=window.Showcase=Ember.Application.create({LOG_TRANSITIONS:!0,LOG_VIEW_LOOKUPS:!0,LOG_ACTIVE_GENERATION:!0}),Ember.ENV={HELPER_PARAM_LOOKUPS:!0},Ember.Handlebars.registerHelper("raw",function(a){return a.fn(a)})}(),function(){(function(){Showcase.Router.map(function(){return this.resource("show_components",function(){return this.route("alert"),this.route("breadcrumbs"),this.route("modal"),this.route("label"),this.route("badge"),this.route("well"),this.route("list-group"),this.route("panel"),this.route("page-header"),this.route("button"),this.route("buttonGroup"),this.route("progressbar"),this.route("pills"),this.route("tabs"),this.route("tabs-panes"),this.route("wizard"),this.route("items_action_bar"),this.route("tabs-with-routes"),this.route("notifications"),this.route("growl-notif"),this.route("popover"),this.resource("user",function(){return this.route("general"),this.route("privacy"),this.route("activities")})})})}).call(this)}(),function(){(function(){Showcase.ApplicationRoute=Ember.Route.extend({model:function(){return[Ember.Object.create({title:"Alert",route:"show_components.alert"}),Ember.Object.create({title:"Breadcrumbs",route:"show_components.breadcrumbs","new":!0}),Ember.Object.create({title:"Modal",route:"show_components.modal"}),Ember.Object.create({title:"Label",route:"show_components.label"}),Ember.Object.create({title:"Badge",route:"show_components.badge"}),Ember.Object.create({title:"Well",route:"show_components.well"}),Ember.Object.create({title:"List Group",route:"show_components.list-group"}),Ember.Object.create({title:"Panel",route:"show_components.panel"}),Ember.Object.create({title:"Page Header",route:"show_components.page-header"}),Ember.Object.create({title:"Button",route:"show_components.button"}),Ember.Object.create({title:"Button Group",route:"show_components.buttonGroup"}),Ember.Object.create({title:"Progressbar",route:"show_components.progressbar"}),Ember.Object.create({title:"Tooltips & Popover","new":!0,route:"show_components.popover"}),Ember.Object.create({title:"Nav - Pills",route:"show_components.pills"}),Ember.Object.create({title:"Nav - Tabs",route:"show_components.tabs"}),Ember.Object.create({title:"Nav - Tabs Panes",route:"show_components.tabs-panes"}),Ember.Object.create({title:"Nav - Tabs with Routes",special:!0,route:"show_components.tabs-with-routes"}),Ember.Object.create({title:"Wizard",special:!0,route:"show_components.wizard"}),Ember.Object.create({title:"Notifications",special:!0,route:"show_components.notifications"}),Ember.Object.create({title:"Items Action Bar","new":!0,route:"show_components.items_action_bar"}),Ember.Object.create({title:"Growl Notifications",special:!0,route:"show_components.growl-notif"})]}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsPopoverRoute=Ember.Route.extend({renderTemplate:function(){var a;return this.render(),a=this.controllerFor("ShowComponentsTooltipBox"),this.render("bs-tooltip-box",{outlet:"bs-tooltip-box",controller:a,into:"application"})}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsAlertController=Ember.Controller.extend({actions:{submit:function(){return alert("Action taken by controller!")},didAlertClosed:function(){return alert("From controller: The -closed- event was triggered.")},didAlertClose:function(){return alert("From controller: The -close- event was triggered.")}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsButtonController=Ember.Controller.extend({isButtonDisabled:!1,loadingState:null,loadingState1:null,actions:{disableButton:function(){return this.set("isButtonDisabled",!0)},startLoading:function(){var a=this;return this.set("loadingState","loading"),Ember.run.later(function(){return a.set("loadingState",null)},2e3)},startLoading1:function(){var a=this;return this.set("loadingState1","loading"),Ember.run.later(function(){return a.set("loadingState1","completed")},2e3)},buttonWithParam:function(a){return alert("Passed controller as a param: "+a)}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsItemsActionBarController=Ember.Controller.extend({actionsInBar:[[{title:"To Alerts",disabled:function(a){var b;return a.size<1||"Alerts"!==(null!=a&&null!=(b=a[0])?b.title:void 0)?!0:void 0},transitionTo:"show_components.alert"},{title:"To Panels",transitionTo:"show_components.panel",disabled:function(a){var b;return a.size<1||"Panels"!==(null!=a&&null!=(b=a[0])?b.title:void 0)?!0:void 0}}],[{title:"To Wizard",disabled:function(a){var b;return a.size<1||"Wizards"!==(null!=a&&null!=(b=a[0])?b.title:void 0)?!0:void 0},clickActionName:"wizard"}]],actions:{wizard:function(){return alert("Wizard pressed!")}},items:[Ember.Object.create({title:"Alerts"}),Ember.Object.create({title:"Panels"}),Ember.Object.create({title:"Wizards"})]})}).call(this)}(),function(){(function(){Showcase.ShowComponentsPanelController=Ember.Controller.extend({actions:{panelClicked:function(){return alert("Hello from controller: A click in a panel!")},panelClosed:function(){return alert("Hello from controller: The panel was closed!")}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsPopoverController=Ember.Controller.extend({testObject:Ember.Object.createWithMixins({sticky:function(){return Ember.Object.create({user:this,content:"know this is a sticky tooltip! You can hover over it.",trigger:"hover",sticky:!0})}.property()}),user:Ember.Object.create({firstNameBinding:"content.name",title:"rename",template:'name: {{input type="text" value=content.name}}',content:{name:"John"},trigger:"hover",sticky:!0}),hoverPop:Ember.Object.create({title:"I'm a title!",content:"And i'm a content!",trigger:"hover",placement:"right",sticky:!0}),clickPop:Ember.Object.create({title:"Clickable!",content:"

    Hello

    This is a clickable popover with html content!",placement:"left",html:!0}),templPop:Ember.Object.create({firstName:"numbers",title:"Popover with Template",template:"numbers:
      {{#each val in content.numbers}}
    • {{val}}
    • {{/each}}
    ",content:{numbers:[1,2,3]}})})}).call(this)}(),function(){(function(){Showcase.ShowComponentsProgressbarController=Ember.Controller.extend({prog:0,incrementBy:20,actions:{increment:function(){return this.prog<100?this.incrementProperty("prog",this.incrementBy):this.set("prog",this.incrementBy)}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsTooltipBoxController=Bootstrap.TooltipBoxController}).call(this)}(),function(){(function(){Showcase.ShowComponentsWellController=Ember.Controller.extend({wellClick:function(){return alert("Hello from controller: A click in a well!")}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsButtonGroupController=Ember.Controller.extend({options:["Home","Profile","Messages"],options2:["Admin","Settings"],optionsWithMeta:[Ember.Object.create({title:"Create",type:"primary"}),Ember.Object.create({title:"Destroy",type:"danger"})]})}).call(this)}(),function(){(function(){Showcase.ShowComponentsPillsController=Ember.Controller.extend({content:["Home","Profile","Messages"],init:function(){return this._super(),this.set("content1",Ember.A([Ember.Object.create({title:"Home","default":!0,disabled:!1}),Ember.Object.create({title:"Admin",disabled:!0})])),this.set("selected1",this.get("content1").objectAt(0))},contentChanged:function(){return console.log("Selection has changed to: "+this.get("selected"))}.observes("selected"),actions:{disableHome:function(){return this.get("content1").objectAt(0).set("disabled",!0)}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsGrowlNotifController=Ember.Controller.extend({actions:{pushInfo:function(){return Bootstrap.GNM.push("INFO!","Hello, this is just an info message.","info")},pushSuccess:function(){return Bootstrap.GNM.push("SUCCESS!","Successfully performed operation!","success")},pushWarn:function(){return Bootstrap.GNM.push("WARN!","Could not perform operation!","warning")},pushDanger:function(){return Bootstrap.GNM.push("Danger!","System is halting!","danger")}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsListGroupController=Ember.Controller.extend({listSimple:Ember.A(["Cras justo odio","Dapibus ac facilisis in","Morbi leo risus"]),listWithBadges:Ember.A([Ember.Object.create({title:"Inbox",badge:"45"}),Ember.Object.create({title:"Sent",badge:"33"})]),listWithSub:Ember.A([Ember.Object.create({title:"Inbox",sub:"Incoming mails folder",badge:"45"}),Ember.Object.create({title:"Sent",sub:"Sent emails folder",badge:"33"})])})}).call(this)}(),function(){(function(){Showcase.ShowComponentsModalController=Ember.Controller.extend({message:"Welcome to Bootstrap for Ember..!",myModalButtons:[Ember.Object.create({title:"Submit",clicked:"submit"}),Ember.Object.create({title:"Cancel",clicked:"cancel",dismiss:"modal"})],manualButtons:[Ember.Object.create({title:"Submit",clicked:"submitManual"}),Ember.Object.create({title:"Cancel",dismiss:"modal"})],actions:{submit:function(){return Bootstrap.NM.push("Successfully submitted modal","success"),Bootstrap.ModalManager.hide("myModal")},cancel:function(){return Bootstrap.NM.push("Modal was cancelled","info")},show:function(){return Bootstrap.ModalManager.show("myModal")},submitManual:function(){return Bootstrap.NM.push("Modal destroyed!","success"),Bootstrap.ModalManager.close("manualModal")},createModalProgramatically:function(){var a;return a=Ember.View.extend({template:Ember.Handlebars.compile("This is a programatic ")}),Bootstrap.ModalManager.open("manualModal","Hello","demo-template",this.manualButtons,this)},confirm:function(){return Bootstrap.ModalManager.confirm(this)},modalConfirmed:function(){return Bootstrap.NM.push("Confirmed!","success")},modalCanceled:function(){return Bootstrap.NM.push("Cancelled!","info")}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsNotificationsController=Ember.Controller.extend({actions:{pushInfo:function(){return Bootstrap.NM.push("Hello, this is just an info message.","info")},pushWarn:function(){return Bootstrap.NM.push("Could not perform operation!","warning")},pushSuccess:function(){return Bootstrap.NM.push("Successfully performed operation!","success")},pushDanger:function(){return Bootstrap.NM.push("Danger! system is halting!","danger")}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsTabsController=Ember.Controller.extend({content:["Home","Profile","Messages"],init:function(){return this._super(),this.set("selected","Home"),this.set("tabsPanesOptions",Ember.A([Ember.Object.create({title:"Foo",template:"tabs/foo-tabpane"}),Ember.Object.create({title:"Bar",template:"tabs/bar-tabpane"})]))}})}).call(this)}(),function(){(function(){Showcase.ShowcaseComponentsTabsFooController=Ember.Controller.extend()}).call(this)}(),function(){(function(){Showcase.ShowComponentsTabsPanesController=Ember.Controller.extend({tabsMeta:Ember.A([Ember.Object.create({title:"Foo",template:"tabs/foo-tabpane",controller:"ShowcaseComponentsTabsFoo"}),Ember.Object.create({title:"Bar",template:"tabs/bar-tabpane"})])})}).call(this)}(),function(){(function(){Showcase.ShowComponentsWizardController=Ember.Controller.extend({init:function(){return this._super(),this.set("steps",Ember.A([Ember.Object.create({title:"Foo",template:"tabs/foo-tabpane"}),Ember.Object.create({title:"Bar",template:"tabs/bar-tabpane"}),Ember.Object.create({title:"Baz",template:"tabs/baz-tabpane"})])),this.set("stepsNoPrev",Ember.A([Ember.Object.create({title:"Step1",template:"tabs/foo-tabpane",disabled:!0}),Ember.Object.create({title:"Step2",template:"tabs/bar-tabpane",disabled:!0}),Ember.Object.create({title:"Step3",template:"tabs/baz-tabpane",disabled:!0})]))},actions:{createWizard:function(){var a;return a=Bootstrap.BsWizardComponent.extend({content:[Ember.Object.create({title:"Step1",template:"wizard/step1",disabled:!0}),Ember.Object.create({title:"Step2",template:"wizard/step2",disabled:!0}),Ember.Object.create({title:"Step3",template:"wizard/step3",disabled:!0})],targetObject:this,onNext:"onNext",onPrev:"onPrev",onFinish:"onFinish"}),Bootstrap.ModalManager.open("manualModal","Wizard Title...",a,null,this)},onNext:function(){return console.log("NEXT")},onPrev:function(){return console.log("PREV")},onFinish:function(){return Bootstrap.ModalManager.close("manualModal"),Bootstrap.NM.push("Wizard completed!")}}})}).call(this)}(),function(){(function(){Showcase.UserController=Ember.Controller.extend({tabsMeta:[Ember.Object.create({title:"General",linkTo:"user.general"}),Ember.Object.create({title:"Privacy",linkTo:"user.privacy"}),Ember.Object.create({title:"Activities",linkTo:"user.activities"})]})}).call(this)}(),function(){}.call(this)}(); \ No newline at end of file From d71034714ad023a5de681ac13f5d2d0828ca4292 Mon Sep 17 00:00:00 2001 From: danshapir Date: Thu, 19 Feb 2015 10:01:39 +0200 Subject: [PATCH 05/24] Update bower.json --- bower.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bower.json b/bower.json index 55de86a..d4f0cbd 100644 --- a/bower.json +++ b/bower.json @@ -1,5 +1,5 @@ { - "name": "ember-addons.bootstrap_for_ember", + "name": "bootstrap-for-ember-Dan-", "version": "0.7.0", "description": "Bootstrap for Ember.js", "homepage": "http://ember-addons.github.io/bootstrap-for-ember", From 98d46a91b134ac2ff5e84478d84d6c0558acdd99 Mon Sep 17 00:00:00 2001 From: danshapir Date: Thu, 19 Feb 2015 10:21:34 +0200 Subject: [PATCH 06/24] Update bower --- bower.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/bower.json b/bower.json index 55de86a..9d7f0cc 100644 --- a/bower.json +++ b/bower.json @@ -1,10 +1,10 @@ { - "name": "ember-addons.bootstrap_for_ember", - "version": "0.7.0", - "description": "Bootstrap for Ember.js", + "name": "bootstrap-for-ember-dan", + "version": "0.8.0", + "description": "Bootstrap for Ember.js fork by Dan", "homepage": "http://ember-addons.github.io/bootstrap-for-ember", "authors": [ - "Asaf Shakarchi " + "Asaf Shakarchi , Dan Shapir" ], "keywords": [ "bootstrap", From 923f76ce03b3664c4d84c0d5e4712a56dd768cd3 Mon Sep 17 00:00:00 2001 From: danshapir Date: Thu, 19 Feb 2015 13:17:20 +0200 Subject: [PATCH 07/24] HTMLBars --- Gruntfile.js | 13 +- bower.json | 7 +- dist/js/bs-alert.max.js | 105 +++- dist/js/bs-alert.min.js | 2 +- dist/js/bs-badge.max.js | 47 +- dist/js/bs-badge.min.js | 2 +- dist/js/bs-basic.max.js | 601 ++++++++++++++++--- dist/js/bs-basic.min.js | 2 +- dist/js/bs-button.max.js | 156 ++++- dist/js/bs-button.min.js | 2 +- dist/js/bs-core.max.js | 93 ++- dist/js/bs-core.min.js | 2 +- dist/js/bs-label.max.js | 47 +- dist/js/bs-label.min.js | 2 +- dist/js/bs-modal.max.js | 374 ++++++++++-- dist/js/bs-modal.min.js | 2 +- dist/js/bs-progressbar.max.js | 190 +++++- dist/js/bs-progressbar.min.js | 2 +- dist/showcase/scripts/showcase-components.js | 31 +- 19 files changed, 1397 insertions(+), 283 deletions(-) diff --git a/Gruntfile.js b/Gruntfile.js index d6729b7..bdf4212 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -37,9 +37,9 @@ module.exports = function (grunt) { files: ['<%= yeoman.app %>/styles/{,*/}*.{scss,sass}'], tasks: ['compass:server'] }, - ember_templates: { + emberTemplates: { files: '<%= yeoman.app %>/templates/**/*.hbs', - tasks: ['ember_templates'] + tasks: ['emberTemplates'] }, markdown: { files: '<%= yeoman.app %>/templates/**/*.md', @@ -309,7 +309,7 @@ module.exports = function (grunt) { server: [ 'compass', 'markdown', - 'ember_templates', + 'emberTemplates', 'coffee:dist' ], test: [ @@ -318,19 +318,22 @@ module.exports = function (grunt) { dist: [ 'coffee', 'markdown', - 'ember_templates', + 'emberTemplates', 'compass', 'imagemin', 'svgmin', 'htmlmin' ] }, - ember_templates: { + emberTemplates: { compile_components: { options: { templateName: function(filename) { return filename.substring(filename.lastIndexOf('/components/')+1,filename.length); }, + amd: false, + handlebarsPath: 'app/bower_components/handlebars/handlebars.js', + templateCompilerPath: 'app/bower_components/ember/ember-template-compiler.js', namespace: "Ember.TEMPLATES" }, files: { diff --git a/bower.json b/bower.json index 9d7f0cc..dff0cb0 100644 --- a/bower.json +++ b/bower.json @@ -35,14 +35,15 @@ "./dist/js/bs-notifications.min.js", "./dist/js/bs-progressbar.min.js", "./dist/js/bs-wizard.min.js" - ], + ], "devDependencies": { "modernizr": "~2.6.2", "jquery": "~1.9.1", - "ember": "~1.9.0", "bootstrap": "3.0.0", "highlightjs": "~7.3.0", - "font-awesome": "~4.0.3" + "font-awesome": "~4.0.3", + "ember": "~1.10.0", + "handlebars": "2.0.0" }, "license": "Apache2", "ignore": [ diff --git a/dist/js/bs-alert.max.js b/dist/js/bs-alert.max.js index 0ca7807..755ed8e 100644 --- a/dist/js/bs-alert.max.js +++ b/dist/js/bs-alert.max.js @@ -128,15 +128,96 @@ }).call(this); -Ember.TEMPLATES["components/bs-alert"] = Ember.HTMLBars.template({"1":function(depth0,helpers,partials,data) { - data.buffer.push(" ×\r\n"); - },"compiler":[6,">= 2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) { - var stack1, buffer = ''; - stack1 = helpers['if'].call(depth0, "dismiss", {"name":"if","hash":{},"hashTypes":{},"hashContexts":{},"fn":this.program(1, data),"inverse":this.noop,"types":["ID"],"contexts":[depth0],"data":data}); - if (stack1 != null) { data.buffer.push(stack1); } - stack1 = helpers._triageMustache.call(depth0, "message", {"name":"_triageMustache","hash":{},"hashTypes":{},"hashContexts":{},"types":["ID"],"contexts":[depth0],"data":data}); - if (stack1 != null) { data.buffer.push(stack1); } - stack1 = helpers._triageMustache.call(depth0, "yield", {"name":"_triageMustache","hash":{},"hashTypes":{},"hashContexts":{},"types":["ID"],"contexts":[depth0],"data":data}); - if (stack1 != null) { data.buffer.push(stack1); } - return buffer; -},"useData":true}); \ No newline at end of file +Ember.TEMPLATES["components/bs-alert"] = Ember.HTMLBars.template((function() { + var child0 = (function() { + return { + isHTMLBars: true, + blockParams: 0, + cachedFragment: null, + hasRendered: false, + build: function build(dom) { + var el0 = dom.createDocumentFragment(); + var el1 = dom.createTextNode(" "); + dom.appendChild(el0, el1); + var el1 = dom.createElement("a"); + dom.setAttribute(el1,"class","close"); + dom.setAttribute(el1,"data-dismiss","alert"); + dom.setAttribute(el1,"href","#"); + var el2 = dom.createTextNode("×"); + dom.appendChild(el1, el2); + dom.appendChild(el0, el1); + var el1 = dom.createTextNode("\n"); + dom.appendChild(el0, el1); + return el0; + }, + render: function render(context, env, contextualElement) { + var dom = env.dom; + dom.detectNamespace(contextualElement); + var fragment; + if (env.useFragmentCache && dom.canClone) { + if (this.cachedFragment === null) { + fragment = this.build(dom); + if (this.hasRendered) { + this.cachedFragment = fragment; + } else { + this.hasRendered = true; + } + } + if (this.cachedFragment) { + fragment = dom.cloneNode(this.cachedFragment, true); + } + } else { + fragment = this.build(dom); + } + return fragment; + } + }; + }()); + return { + isHTMLBars: true, + blockParams: 0, + cachedFragment: null, + hasRendered: false, + build: function build(dom) { + var el0 = dom.createDocumentFragment(); + var el1 = dom.createTextNode(""); + dom.appendChild(el0, el1); + var el1 = dom.createTextNode(""); + dom.appendChild(el0, el1); + var el1 = dom.createTextNode(""); + dom.appendChild(el0, el1); + var el1 = dom.createTextNode(""); + dom.appendChild(el0, el1); + return el0; + }, + render: function render(context, env, contextualElement) { + var dom = env.dom; + var hooks = env.hooks, get = hooks.get, block = hooks.block, content = hooks.content; + dom.detectNamespace(contextualElement); + var fragment; + if (env.useFragmentCache && dom.canClone) { + if (this.cachedFragment === null) { + fragment = this.build(dom); + if (this.hasRendered) { + this.cachedFragment = fragment; + } else { + this.hasRendered = true; + } + } + if (this.cachedFragment) { + fragment = dom.cloneNode(this.cachedFragment, true); + } + } else { + fragment = this.build(dom); + } + if (this.cachedFragment) { dom.repairClonedNode(fragment,[0,1,2,3]); } + var morph0 = dom.createMorphAt(fragment,0,1,contextualElement); + var morph1 = dom.createMorphAt(fragment,1,2,contextualElement); + var morph2 = dom.createMorphAt(fragment,2,3,contextualElement); + block(env, morph0, context, "if", [get(env, context, "dismiss")], {}, child0, null); + content(env, morph1, context, "message"); + content(env, morph2, context, "yield"); + return fragment; + } + }; +}())); \ No newline at end of file diff --git a/dist/js/bs-alert.min.js b/dist/js/bs-alert.min.js index 4eb03b4..c60fffe 100644 --- a/dist/js/bs-alert.min.js +++ b/dist/js/bs-alert.min.js @@ -1 +1 @@ -+function(a){"use strict";var b='[data-dismiss="alert"]',c=function(c){a(c).on("click",b,this.close)};c.prototype.close=function(b){function c(){f.trigger("closed.bs.alert").remove()}var d=a(this),e=d.attr("data-target");e||(e=d.attr("href"),e=e&&e.replace(/.*(?=#[^\s]*$)/,""));var f=a(e);b&&b.preventDefault(),f.length||(f=d.hasClass("alert")?d:d.parent()),f.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one(a.support.transition.end,c).emulateTransitionEnd(150):c())};var d=a.fn.alert;a.fn.alert=function(b){return this.each(function(){var d=a(this),e=d.data("bs.alert");e||d.data("bs.alert",e=new c(this)),"string"==typeof b&&e[b].call(d)})},a.fn.alert.Constructor=c,a.fn.alert.noConflict=function(){return a.fn.alert=d,this},a(document).on("click.bs.alert.data-api",b,c.prototype.close)}(window.jQuery),function(){Bootstrap.BsAlertComponent=Ember.Component.extend(Bootstrap.TypeSupport,{classNames:["alert"],classNameBindings:["fade","fade:in"],layoutName:"components/bs-alert",classTypePrefix:"alert",attributeBindings:["data-timeout"],dismissAfter:0,closedParam:null,didInsertElement:function(){var a=this;return this.dismissAfter>0&&Ember.run.later(this,"dismiss",1e3*this.dismissAfter),Ember.$("#"+this.elementId).bind("closed.bs.alert",function(){return a.sendAction("closed",a.get("closedParam")),a.destroy()}),Ember.$("#"+this.elementId).bind("close.bs.alert",function(){return a.sendAction("close",a.get("closedParam"))})},dismiss:function(){return Ember.$("#"+this.elementId).alert("close")}}),Ember.Handlebars.helper("bs-alert",Bootstrap.BsAlertComponent)}.call(this),Ember.TEMPLATES["components/bs-alert"]=Ember.HTMLBars.template({1:function(a,b,c,d){d.buffer.push(' ×\r\n')},compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f="";return e=b["if"].call(a,"dismiss",{name:"if",hash:{},hashTypes:{},hashContexts:{},fn:this.program(1,d),inverse:this.noop,types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),e=b._triageMustache.call(a,"message",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),e=b._triageMustache.call(a,"yield",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),f},useData:!0}); \ No newline at end of file ++function(a){"use strict";var b='[data-dismiss="alert"]',c=function(c){a(c).on("click",b,this.close)};c.prototype.close=function(b){function c(){f.trigger("closed.bs.alert").remove()}var d=a(this),e=d.attr("data-target");e||(e=d.attr("href"),e=e&&e.replace(/.*(?=#[^\s]*$)/,""));var f=a(e);b&&b.preventDefault(),f.length||(f=d.hasClass("alert")?d:d.parent()),f.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one(a.support.transition.end,c).emulateTransitionEnd(150):c())};var d=a.fn.alert;a.fn.alert=function(b){return this.each(function(){var d=a(this),e=d.data("bs.alert");e||d.data("bs.alert",e=new c(this)),"string"==typeof b&&e[b].call(d)})},a.fn.alert.Constructor=c,a.fn.alert.noConflict=function(){return a.fn.alert=d,this},a(document).on("click.bs.alert.data-api",b,c.prototype.close)}(window.jQuery),function(){Bootstrap.BsAlertComponent=Ember.Component.extend(Bootstrap.TypeSupport,{classNames:["alert"],classNameBindings:["fade","fade:in"],layoutName:"components/bs-alert",classTypePrefix:"alert",attributeBindings:["data-timeout"],dismissAfter:0,closedParam:null,didInsertElement:function(){var a=this;return this.dismissAfter>0&&Ember.run.later(this,"dismiss",1e3*this.dismissAfter),Ember.$("#"+this.elementId).bind("closed.bs.alert",function(){return a.sendAction("closed",a.get("closedParam")),a.destroy()}),Ember.$("#"+this.elementId).bind("close.bs.alert",function(){return a.sendAction("close",a.get("closedParam"))})},dismiss:function(){return Ember.$("#"+this.elementId).alert("close")}}),Ember.Handlebars.helper("bs-alert",Bootstrap.BsAlertComponent)}.call(this),Ember.TEMPLATES["components/bs-alert"]=Ember.HTMLBars.template(function(){var a=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createElement("a");a.setAttribute(c,"class","close"),a.setAttribute(c,"data-dismiss","alert"),a.setAttribute(c,"href","#");var d=a.createTextNode("×");a.appendChild(c,d),a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom;d.detectNamespace(c);var e;return b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(e=this.build(d),this.hasRendered?this.cachedFragment=e:this.hasRendered=!0),this.cachedFragment&&(e=d.cloneNode(this.cachedFragment,!0))):e=this.build(d),e}}}();return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode("");a.appendChild(b,c);var c=a.createTextNode("");a.appendChild(b,c);var c=a.createTextNode("");a.appendChild(b,c);var c=a.createTextNode("");return a.appendChild(b,c),b},render:function(b,c,d){var e=c.dom,f=c.hooks,g=f.get,h=f.block,i=f.content;e.detectNamespace(d);var j;c.useFragmentCache&&e.canClone?(null===this.cachedFragment&&(j=this.build(e),this.hasRendered?this.cachedFragment=j:this.hasRendered=!0),this.cachedFragment&&(j=e.cloneNode(this.cachedFragment,!0))):j=this.build(e),this.cachedFragment&&e.repairClonedNode(j,[0,1,2,3]);var k=e.createMorphAt(j,0,1,d),l=e.createMorphAt(j,1,2,d),m=e.createMorphAt(j,2,3,d);return h(c,k,b,"if",[g(c,b,"dismiss")],{},a,null),i(c,l,b,"message"),i(c,m,b,"yield"),j}}}()); \ No newline at end of file diff --git a/dist/js/bs-badge.max.js b/dist/js/bs-badge.max.js index a6c10c4..e48d292 100644 --- a/dist/js/bs-badge.max.js +++ b/dist/js/bs-badge.max.js @@ -10,9 +10,44 @@ }).call(this); -Ember.TEMPLATES["components/bs-badge"] = Ember.HTMLBars.template({"compiler":[6,">= 2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) { - var stack1; - stack1 = helpers._triageMustache.call(depth0, "content", {"name":"_triageMustache","hash":{},"hashTypes":{},"hashContexts":{},"types":["ID"],"contexts":[depth0],"data":data}); - if (stack1 != null) { data.buffer.push(stack1); } - else { data.buffer.push(''); } - },"useData":true}); \ No newline at end of file +Ember.TEMPLATES["components/bs-badge"] = Ember.HTMLBars.template((function() { + return { + isHTMLBars: true, + blockParams: 0, + cachedFragment: null, + hasRendered: false, + build: function build(dom) { + var el0 = dom.createDocumentFragment(); + var el1 = dom.createTextNode(""); + dom.appendChild(el0, el1); + var el1 = dom.createTextNode(""); + dom.appendChild(el0, el1); + return el0; + }, + render: function render(context, env, contextualElement) { + var dom = env.dom; + var hooks = env.hooks, content = hooks.content; + dom.detectNamespace(contextualElement); + var fragment; + if (env.useFragmentCache && dom.canClone) { + if (this.cachedFragment === null) { + fragment = this.build(dom); + if (this.hasRendered) { + this.cachedFragment = fragment; + } else { + this.hasRendered = true; + } + } + if (this.cachedFragment) { + fragment = dom.cloneNode(this.cachedFragment, true); + } + } else { + fragment = this.build(dom); + } + if (this.cachedFragment) { dom.repairClonedNode(fragment,[0,1]); } + var morph0 = dom.createMorphAt(fragment,0,1,contextualElement); + content(env, morph0, context, "content"); + return fragment; + } + }; +}())); \ No newline at end of file diff --git a/dist/js/bs-badge.min.js b/dist/js/bs-badge.min.js index 137d6a3..58b66c9 100644 --- a/dist/js/bs-badge.min.js +++ b/dist/js/bs-badge.min.js @@ -1 +1 @@ -(function(){Bootstrap.BsBadgeComponent=Ember.Component.extend(Bootstrap.TypeSupport,{layoutName:"components/bs-badge",tagName:"span",classNames:["badge"],classTypePrefix:"badge"}),Ember.Handlebars.helper("bs-badge",Bootstrap.BsBadgeComponent)}).call(this),Ember.TEMPLATES["components/bs-badge"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e;e=b._triageMustache.call(a,"content",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),d.buffer.push(null!=e?e:"")},useData:!0}); \ No newline at end of file +(function(){Bootstrap.BsBadgeComponent=Ember.Component.extend(Bootstrap.TypeSupport,{layoutName:"components/bs-badge",tagName:"span",classNames:["badge"],classTypePrefix:"badge"}),Ember.Handlebars.helper("bs-badge",Bootstrap.BsBadgeComponent)}).call(this),Ember.TEMPLATES["components/bs-badge"]=Ember.HTMLBars.template(function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode("");a.appendChild(b,c);var c=a.createTextNode("");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.content;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d),this.cachedFragment&&d.repairClonedNode(g,[0,1]);var h=d.createMorphAt(g,0,1,c);return f(b,h,a,"content"),g}}}()); \ No newline at end of file diff --git a/dist/js/bs-basic.max.js b/dist/js/bs-basic.max.js index f50aca6..f911180 100644 --- a/dist/js/bs-basic.max.js +++ b/dist/js/bs-basic.max.js @@ -57,103 +57,508 @@ }).call(this); -Ember.TEMPLATES["components/bs-page-header"] = Ember.HTMLBars.template({"1":function(depth0,helpers,partials,data) { - var stack1, buffer = ''; - data.buffer.push(" "); - stack1 = helpers._triageMustache.call(depth0, "sub", {"name":"_triageMustache","hash":{},"hashTypes":{},"hashContexts":{},"types":["ID"],"contexts":[depth0],"data":data}); - if (stack1 != null) { data.buffer.push(stack1); } - data.buffer.push("\r\n"); - return buffer; -},"compiler":[6,">= 2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) { - var stack1, buffer = ''; - data.buffer.push("

    \r\n "); - stack1 = helpers._triageMustache.call(depth0, "title", {"name":"_triageMustache","hash":{},"hashTypes":{},"hashContexts":{},"types":["ID"],"contexts":[depth0],"data":data}); - if (stack1 != null) { data.buffer.push(stack1); } - data.buffer.push("\r\n"); - stack1 = helpers['if'].call(depth0, "sub", {"name":"if","hash":{},"hashTypes":{},"hashContexts":{},"fn":this.program(1, data),"inverse":this.noop,"types":["ID"],"contexts":[depth0],"data":data}); - if (stack1 != null) { data.buffer.push(stack1); } - data.buffer.push("

    "); - return buffer; -},"useData":true}); +Ember.TEMPLATES["components/bs-page-header"] = Ember.HTMLBars.template((function() { + var child0 = (function() { + return { + isHTMLBars: true, + blockParams: 0, + cachedFragment: null, + hasRendered: false, + build: function build(dom) { + var el0 = dom.createDocumentFragment(); + var el1 = dom.createTextNode(" "); + dom.appendChild(el0, el1); + var el1 = dom.createElement("small"); + dom.appendChild(el0, el1); + var el1 = dom.createTextNode("\n"); + dom.appendChild(el0, el1); + return el0; + }, + render: function render(context, env, contextualElement) { + var dom = env.dom; + var hooks = env.hooks, content = hooks.content; + dom.detectNamespace(contextualElement); + var fragment; + if (env.useFragmentCache && dom.canClone) { + if (this.cachedFragment === null) { + fragment = this.build(dom); + if (this.hasRendered) { + this.cachedFragment = fragment; + } else { + this.hasRendered = true; + } + } + if (this.cachedFragment) { + fragment = dom.cloneNode(this.cachedFragment, true); + } + } else { + fragment = this.build(dom); + } + var morph0 = dom.createMorphAt(dom.childAt(fragment, [1]),-1,-1); + content(env, morph0, context, "sub"); + return fragment; + } + }; + }()); + return { + isHTMLBars: true, + blockParams: 0, + cachedFragment: null, + hasRendered: false, + build: function build(dom) { + var el0 = dom.createElement("h1"); + var el1 = dom.createTextNode("\n "); + dom.appendChild(el0, el1); + var el1 = dom.createTextNode("\n"); + dom.appendChild(el0, el1); + return el0; + }, + render: function render(context, env, contextualElement) { + var dom = env.dom; + var hooks = env.hooks, content = hooks.content, get = hooks.get, block = hooks.block; + dom.detectNamespace(contextualElement); + var fragment; + if (env.useFragmentCache && dom.canClone) { + if (this.cachedFragment === null) { + fragment = this.build(dom); + if (this.hasRendered) { + this.cachedFragment = fragment; + } else { + this.hasRendered = true; + } + } + if (this.cachedFragment) { + fragment = dom.cloneNode(this.cachedFragment, true); + } + } else { + fragment = this.build(dom); + } + var morph0 = dom.createMorphAt(fragment,0,1); + var morph1 = dom.createMorphAt(fragment,1,-1); + content(env, morph0, context, "title"); + block(env, morph1, context, "if", [get(env, context, "sub")], {}, child0, null); + return fragment; + } + }; +}())); -Ember.TEMPLATES["components/bs-well"] = Ember.HTMLBars.template({"compiler":[6,">= 2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) { - var stack1; - stack1 = helpers._triageMustache.call(depth0, "yield", {"name":"_triageMustache","hash":{},"hashTypes":{},"hashContexts":{},"types":["ID"],"contexts":[depth0],"data":data}); - if (stack1 != null) { data.buffer.push(stack1); } - else { data.buffer.push(''); } - },"useData":true}); +Ember.TEMPLATES["components/bs-well"] = Ember.HTMLBars.template((function() { + return { + isHTMLBars: true, + blockParams: 0, + cachedFragment: null, + hasRendered: false, + build: function build(dom) { + var el0 = dom.createDocumentFragment(); + var el1 = dom.createTextNode(""); + dom.appendChild(el0, el1); + var el1 = dom.createTextNode(""); + dom.appendChild(el0, el1); + return el0; + }, + render: function render(context, env, contextualElement) { + var dom = env.dom; + var hooks = env.hooks, content = hooks.content; + dom.detectNamespace(contextualElement); + var fragment; + if (env.useFragmentCache && dom.canClone) { + if (this.cachedFragment === null) { + fragment = this.build(dom); + if (this.hasRendered) { + this.cachedFragment = fragment; + } else { + this.hasRendered = true; + } + } + if (this.cachedFragment) { + fragment = dom.cloneNode(this.cachedFragment, true); + } + } else { + fragment = this.build(dom); + } + if (this.cachedFragment) { dom.repairClonedNode(fragment,[0,1]); } + var morph0 = dom.createMorphAt(fragment,0,1,contextualElement); + content(env, morph0, context, "yield"); + return fragment; + } + }; +}())); -Ember.TEMPLATES["components/bs-panel"] = Ember.HTMLBars.template({"1":function(depth0,helpers,partials,data) { - var stack1, buffer = ''; - data.buffer.push("
    \r\n"); - stack1 = helpers['if'].call(depth0, "collapsible", {"name":"if","hash":{},"hashTypes":{},"hashContexts":{},"fn":this.program(2, data),"inverse":this.program(4, data),"types":["ID"],"contexts":[depth0],"data":data}); - if (stack1 != null) { data.buffer.push(stack1); } - stack1 = helpers['if'].call(depth0, "dismiss", {"name":"if","hash":{},"hashTypes":{},"hashContexts":{},"fn":this.program(6, data),"inverse":this.noop,"types":["ID"],"contexts":[depth0],"data":data}); - if (stack1 != null) { data.buffer.push(stack1); } - data.buffer.push("
    \r\n"); - return buffer; -},"2":function(depth0,helpers,partials,data) { - var stack1, escapeExpression=this.escapeExpression, buffer = ''; - data.buffer.push(" \r\n "); - stack1 = helpers._triageMustache.call(depth0, "heading", {"name":"_triageMustache","hash":{},"hashTypes":{},"hashContexts":{},"types":["ID"],"contexts":[depth0],"data":data}); - if (stack1 != null) { data.buffer.push(stack1); } - data.buffer.push("\r\n \r\n"); - return buffer; -},"4":function(depth0,helpers,partials,data) { - var stack1, buffer = ''; - data.buffer.push(" "); - stack1 = helpers._triageMustache.call(depth0, "heading", {"name":"_triageMustache","hash":{},"hashTypes":{},"hashContexts":{},"types":["ID"],"contexts":[depth0],"data":data}); - if (stack1 != null) { data.buffer.push(stack1); } - data.buffer.push("\r\n"); - return buffer; -},"6":function(depth0,helpers,partials,data) { - var escapeExpression=this.escapeExpression, buffer = ''; - data.buffer.push(" ×\r\n"); - return buffer; -},"8":function(depth0,helpers,partials,data) { - var stack1, escapeExpression=this.escapeExpression, buffer = ''; - data.buffer.push("
    \r\n
    "); - stack1 = helpers._triageMustache.call(depth0, "yield", {"name":"_triageMustache","hash":{},"hashTypes":{},"hashContexts":{},"types":["ID"],"contexts":[depth0],"data":data}); - if (stack1 != null) { data.buffer.push(stack1); } - data.buffer.push("
    \r\n
    \r\n"); - return buffer; -},"10":function(depth0,helpers,partials,data) { - var stack1, buffer = ''; - data.buffer.push("
    "); - stack1 = helpers._triageMustache.call(depth0, "yield", {"name":"_triageMustache","hash":{},"hashTypes":{},"hashContexts":{},"types":["ID"],"contexts":[depth0],"data":data}); - if (stack1 != null) { data.buffer.push(stack1); } - data.buffer.push("
    \r\n"); - return buffer; -},"12":function(depth0,helpers,partials,data) { - var stack1, buffer = ''; - data.buffer.push("
    "); - stack1 = helpers._triageMustache.call(depth0, "footer", {"name":"_triageMustache","hash":{},"hashTypes":{},"hashContexts":{},"types":["ID"],"contexts":[depth0],"data":data}); - if (stack1 != null) { data.buffer.push(stack1); } - data.buffer.push("
    \r\n"); - return buffer; -},"compiler":[6,">= 2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) { - var stack1, buffer = ''; - stack1 = helpers['if'].call(depth0, "heading", {"name":"if","hash":{},"hashTypes":{},"hashContexts":{},"fn":this.program(1, data),"inverse":this.noop,"types":["ID"],"contexts":[depth0],"data":data}); - if (stack1 != null) { data.buffer.push(stack1); } - data.buffer.push("\r\n"); - stack1 = helpers['if'].call(depth0, "collapsible", {"name":"if","hash":{},"hashTypes":{},"hashContexts":{},"fn":this.program(8, data),"inverse":this.program(10, data),"types":["ID"],"contexts":[depth0],"data":data}); - if (stack1 != null) { data.buffer.push(stack1); } - data.buffer.push("\r\n"); - stack1 = helpers['if'].call(depth0, "footer", {"name":"if","hash":{},"hashTypes":{},"hashContexts":{},"fn":this.program(12, data),"inverse":this.noop,"types":["ID"],"contexts":[depth0],"data":data}); - if (stack1 != null) { data.buffer.push(stack1); } - return buffer; -},"useData":true}); \ No newline at end of file +Ember.TEMPLATES["components/bs-panel"] = Ember.HTMLBars.template((function() { + var child0 = (function() { + var child0 = (function() { + return { + isHTMLBars: true, + blockParams: 0, + cachedFragment: null, + hasRendered: false, + build: function build(dom) { + var el0 = dom.createDocumentFragment(); + var el1 = dom.createTextNode(" "); + dom.appendChild(el0, el1); + var el1 = dom.createElement("a"); + dom.setAttribute(el1,"class","accordion-toggle"); + dom.setAttribute(el1,"data-toggle","collapse"); + dom.setAttribute(el1,"data-parent","#accordion"); + var el2 = dom.createTextNode("\n "); + dom.appendChild(el1, el2); + var el2 = dom.createTextNode("\n "); + dom.appendChild(el1, el2); + dom.appendChild(el0, el1); + var el1 = dom.createTextNode("\n"); + dom.appendChild(el0, el1); + return el0; + }, + render: function render(context, env, contextualElement) { + var dom = env.dom; + var hooks = env.hooks, get = hooks.get, element = hooks.element, content = hooks.content; + dom.detectNamespace(contextualElement); + var fragment; + if (env.useFragmentCache && dom.canClone) { + if (this.cachedFragment === null) { + fragment = this.build(dom); + if (this.hasRendered) { + this.cachedFragment = fragment; + } else { + this.hasRendered = true; + } + } + if (this.cachedFragment) { + fragment = dom.cloneNode(this.cachedFragment, true); + } + } else { + fragment = this.build(dom); + } + var element2 = dom.childAt(fragment, [1]); + var morph0 = dom.createMorphAt(element2,0,1); + element(env, element2, context, "bind-attr", [], {"href": get(env, context, "collapsibleBodyLink")}); + content(env, morph0, context, "heading"); + return fragment; + } + }; + }()); + var child1 = (function() { + return { + isHTMLBars: true, + blockParams: 0, + cachedFragment: null, + hasRendered: false, + build: function build(dom) { + var el0 = dom.createDocumentFragment(); + var el1 = dom.createTextNode(" "); + dom.appendChild(el0, el1); + var el1 = dom.createTextNode("\n"); + dom.appendChild(el0, el1); + return el0; + }, + render: function render(context, env, contextualElement) { + var dom = env.dom; + var hooks = env.hooks, content = hooks.content; + dom.detectNamespace(contextualElement); + var fragment; + if (env.useFragmentCache && dom.canClone) { + if (this.cachedFragment === null) { + fragment = this.build(dom); + if (this.hasRendered) { + this.cachedFragment = fragment; + } else { + this.hasRendered = true; + } + } + if (this.cachedFragment) { + fragment = dom.cloneNode(this.cachedFragment, true); + } + } else { + fragment = this.build(dom); + } + var morph0 = dom.createMorphAt(fragment,0,1,contextualElement); + content(env, morph0, context, "heading"); + return fragment; + } + }; + }()); + var child2 = (function() { + return { + isHTMLBars: true, + blockParams: 0, + cachedFragment: null, + hasRendered: false, + build: function build(dom) { + var el0 = dom.createDocumentFragment(); + var el1 = dom.createTextNode(" "); + dom.appendChild(el0, el1); + var el1 = dom.createElement("a"); + dom.setAttribute(el1,"class","close"); + dom.setAttribute(el1,"data-dismiss","panel"); + var el2 = dom.createTextNode("×"); + dom.appendChild(el1, el2); + dom.appendChild(el0, el1); + var el1 = dom.createTextNode("\n"); + dom.appendChild(el0, el1); + return el0; + }, + render: function render(context, env, contextualElement) { + var dom = env.dom; + var hooks = env.hooks, element = hooks.element; + dom.detectNamespace(contextualElement); + var fragment; + if (env.useFragmentCache && dom.canClone) { + if (this.cachedFragment === null) { + fragment = this.build(dom); + if (this.hasRendered) { + this.cachedFragment = fragment; + } else { + this.hasRendered = true; + } + } + if (this.cachedFragment) { + fragment = dom.cloneNode(this.cachedFragment, true); + } + } else { + fragment = this.build(dom); + } + var element1 = dom.childAt(fragment, [1]); + element(env, element1, context, "action", ["close"], {}); + return fragment; + } + }; + }()); + return { + isHTMLBars: true, + blockParams: 0, + cachedFragment: null, + hasRendered: false, + build: function build(dom) { + var el0 = dom.createDocumentFragment(); + var el1 = dom.createTextNode(" "); + dom.appendChild(el0, el1); + var el1 = dom.createElement("div"); + dom.setAttribute(el1,"class","panel-heading"); + var el2 = dom.createTextNode("\n"); + dom.appendChild(el1, el2); + var el2 = dom.createTextNode(""); + dom.appendChild(el1, el2); + var el2 = dom.createTextNode(" "); + dom.appendChild(el1, el2); + dom.appendChild(el0, el1); + var el1 = dom.createTextNode("\n"); + dom.appendChild(el0, el1); + return el0; + }, + render: function render(context, env, contextualElement) { + var dom = env.dom; + var hooks = env.hooks, get = hooks.get, block = hooks.block; + dom.detectNamespace(contextualElement); + var fragment; + if (env.useFragmentCache && dom.canClone) { + if (this.cachedFragment === null) { + fragment = this.build(dom); + if (this.hasRendered) { + this.cachedFragment = fragment; + } else { + this.hasRendered = true; + } + } + if (this.cachedFragment) { + fragment = dom.cloneNode(this.cachedFragment, true); + } + } else { + fragment = this.build(dom); + } + var element3 = dom.childAt(fragment, [1]); + if (this.cachedFragment) { dom.repairClonedNode(element3,[1]); } + var morph0 = dom.createMorphAt(element3,0,1); + var morph1 = dom.createMorphAt(element3,1,2); + block(env, morph0, context, "if", [get(env, context, "collapsible")], {}, child0, child1); + block(env, morph1, context, "if", [get(env, context, "dismiss")], {}, child2, null); + return fragment; + } + }; + }()); + var child1 = (function() { + return { + isHTMLBars: true, + blockParams: 0, + cachedFragment: null, + hasRendered: false, + build: function build(dom) { + var el0 = dom.createDocumentFragment(); + var el1 = dom.createTextNode(" "); + dom.appendChild(el0, el1); + var el1 = dom.createElement("div"); + var el2 = dom.createTextNode("\n "); + dom.appendChild(el1, el2); + var el2 = dom.createElement("div"); + dom.setAttribute(el2,"class","panel-body"); + dom.appendChild(el1, el2); + var el2 = dom.createTextNode("\n "); + dom.appendChild(el1, el2); + dom.appendChild(el0, el1); + var el1 = dom.createTextNode("\n"); + dom.appendChild(el0, el1); + return el0; + }, + render: function render(context, env, contextualElement) { + var dom = env.dom; + var hooks = env.hooks, get = hooks.get, element = hooks.element, content = hooks.content; + dom.detectNamespace(contextualElement); + var fragment; + if (env.useFragmentCache && dom.canClone) { + if (this.cachedFragment === null) { + fragment = this.build(dom); + if (this.hasRendered) { + this.cachedFragment = fragment; + } else { + this.hasRendered = true; + } + } + if (this.cachedFragment) { + fragment = dom.cloneNode(this.cachedFragment, true); + } + } else { + fragment = this.build(dom); + } + var element0 = dom.childAt(fragment, [1]); + var morph0 = dom.createMorphAt(dom.childAt(element0, [1]),-1,-1); + element(env, element0, context, "bind-attr", [], {"id": get(env, context, "collapsibleBodyId")}); + element(env, element0, context, "bind-attr", [], {"class": ":panel-collapse :collapse open:in"}); + content(env, morph0, context, "yield"); + return fragment; + } + }; + }()); + var child2 = (function() { + return { + isHTMLBars: true, + blockParams: 0, + cachedFragment: null, + hasRendered: false, + build: function build(dom) { + var el0 = dom.createDocumentFragment(); + var el1 = dom.createTextNode(" "); + dom.appendChild(el0, el1); + var el1 = dom.createElement("div"); + dom.setAttribute(el1,"id","collapseOne"); + dom.setAttribute(el1,"class","panel-body"); + dom.appendChild(el0, el1); + var el1 = dom.createTextNode("\n"); + dom.appendChild(el0, el1); + return el0; + }, + render: function render(context, env, contextualElement) { + var dom = env.dom; + var hooks = env.hooks, content = hooks.content; + dom.detectNamespace(contextualElement); + var fragment; + if (env.useFragmentCache && dom.canClone) { + if (this.cachedFragment === null) { + fragment = this.build(dom); + if (this.hasRendered) { + this.cachedFragment = fragment; + } else { + this.hasRendered = true; + } + } + if (this.cachedFragment) { + fragment = dom.cloneNode(this.cachedFragment, true); + } + } else { + fragment = this.build(dom); + } + var morph0 = dom.createMorphAt(dom.childAt(fragment, [1]),-1,-1); + content(env, morph0, context, "yield"); + return fragment; + } + }; + }()); + var child3 = (function() { + return { + isHTMLBars: true, + blockParams: 0, + cachedFragment: null, + hasRendered: false, + build: function build(dom) { + var el0 = dom.createDocumentFragment(); + var el1 = dom.createTextNode(" "); + dom.appendChild(el0, el1); + var el1 = dom.createElement("div"); + dom.setAttribute(el1,"class","panel-footer"); + dom.appendChild(el0, el1); + var el1 = dom.createTextNode("\n"); + dom.appendChild(el0, el1); + return el0; + }, + render: function render(context, env, contextualElement) { + var dom = env.dom; + var hooks = env.hooks, content = hooks.content; + dom.detectNamespace(contextualElement); + var fragment; + if (env.useFragmentCache && dom.canClone) { + if (this.cachedFragment === null) { + fragment = this.build(dom); + if (this.hasRendered) { + this.cachedFragment = fragment; + } else { + this.hasRendered = true; + } + } + if (this.cachedFragment) { + fragment = dom.cloneNode(this.cachedFragment, true); + } + } else { + fragment = this.build(dom); + } + var morph0 = dom.createMorphAt(dom.childAt(fragment, [1]),-1,-1); + content(env, morph0, context, "footer"); + return fragment; + } + }; + }()); + return { + isHTMLBars: true, + blockParams: 0, + cachedFragment: null, + hasRendered: false, + build: function build(dom) { + var el0 = dom.createDocumentFragment(); + var el1 = dom.createTextNode(""); + dom.appendChild(el0, el1); + var el1 = dom.createTextNode("\n"); + dom.appendChild(el0, el1); + var el1 = dom.createTextNode("\n"); + dom.appendChild(el0, el1); + var el1 = dom.createTextNode(""); + dom.appendChild(el0, el1); + return el0; + }, + render: function render(context, env, contextualElement) { + var dom = env.dom; + var hooks = env.hooks, get = hooks.get, block = hooks.block; + dom.detectNamespace(contextualElement); + var fragment; + if (env.useFragmentCache && dom.canClone) { + if (this.cachedFragment === null) { + fragment = this.build(dom); + if (this.hasRendered) { + this.cachedFragment = fragment; + } else { + this.hasRendered = true; + } + } + if (this.cachedFragment) { + fragment = dom.cloneNode(this.cachedFragment, true); + } + } else { + fragment = this.build(dom); + } + if (this.cachedFragment) { dom.repairClonedNode(fragment,[0,3]); } + var morph0 = dom.createMorphAt(fragment,0,1,contextualElement); + var morph1 = dom.createMorphAt(fragment,1,2,contextualElement); + var morph2 = dom.createMorphAt(fragment,2,3,contextualElement); + block(env, morph0, context, "if", [get(env, context, "heading")], {}, child0, null); + block(env, morph1, context, "if", [get(env, context, "collapsible")], {}, child1, child2); + block(env, morph2, context, "if", [get(env, context, "footer")], {}, child3, null); + return fragment; + } + }; +}())); \ No newline at end of file diff --git a/dist/js/bs-basic.min.js b/dist/js/bs-basic.min.js index 0eb13d3..f2e1681 100644 --- a/dist/js/bs-basic.min.js +++ b/dist/js/bs-basic.min.js @@ -1 +1 @@ -(function(){Bootstrap.BsWellComponent=Ember.Component.extend({layoutName:"components/bs-well",classNameBindings:["small:well-sm","large:well-lg"],classNames:["well"],click:function(){return this.sendAction("clicked")}}),Ember.Handlebars.helper("bs-well",Bootstrap.BsWellComponent)}).call(this),function(){Bootstrap.BsPageHeaderComponent=Ember.Component.extend({layoutName:"components/bs-page-header",classNames:["page-header"]}),Ember.Handlebars.helper("bs-page-header",Bootstrap.BsPageHeaderComponent)}.call(this),function(){Bootstrap.BsPanelComponent=Ember.Component.extend(Bootstrap.TypeSupport,{layoutName:"components/bs-panel",classNames:["panel"],classTypePrefix:["panel"],classNameBindings:["fade","fade:in"],clicked:null,onClose:null,fade:!0,collapsible:!1,open:!0,actions:{close:function(){return this.sendAction("onClose"),this.$().removeClass("in"),setTimeout(function(){return this.destroy()}.bind(this),250)}},click:function(a){return this.sendAction("clicked",a)},collapsibleBodyId:function(){return""+this.get("elementId")+"_body"}.property("collapsible"),collapsibleBodyLink:function(){return"#"+this.get("elementId")+"_body"}.property("collapsibleBodyId")}),Ember.Handlebars.helper("bs-panel",Bootstrap.BsPanelComponent)}.call(this),Ember.TEMPLATES["components/bs-page-header"]=Ember.HTMLBars.template({1:function(a,b,c,d){var e,f="";return d.buffer.push(" "),e=b._triageMustache.call(a,"sub",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("\r\n"),f},compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f="";return d.buffer.push("

    \r\n "),e=b._triageMustache.call(a,"title",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("\r\n"),e=b["if"].call(a,"sub",{name:"if",hash:{},hashTypes:{},hashContexts:{},fn:this.program(1,d),inverse:this.noop,types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("

    "),f},useData:!0}),Ember.TEMPLATES["components/bs-well"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e;e=b._triageMustache.call(a,"yield",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),d.buffer.push(null!=e?e:"")},useData:!0}),Ember.TEMPLATES["components/bs-panel"]=Ember.HTMLBars.template({1:function(a,b,c,d){var e,f="";return d.buffer.push('
    \r\n'),e=b["if"].call(a,"collapsible",{name:"if",hash:{},hashTypes:{},hashContexts:{},fn:this.program(2,d),inverse:this.program(4,d),types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),e=b["if"].call(a,"dismiss",{name:"if",hash:{},hashTypes:{},hashContexts:{},fn:this.program(6,d),inverse:this.noop,types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("
    \r\n"),f},2:function(a,b,c,d){var e,f=this.escapeExpression,g="";return d.buffer.push(' \r\n "),e=b._triageMustache.call(a,"heading",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("\r\n \r\n"),g},4:function(a,b,c,d){var e,f="";return d.buffer.push(" "),e=b._triageMustache.call(a,"heading",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("\r\n"),f},6:function(a,b,c,d){var e=this.escapeExpression,f="";return d.buffer.push(' ×\r\n"),f},8:function(a,b,c,d){var e,f=this.escapeExpression,g="";return d.buffer.push("
    \r\n
    '),e=b._triageMustache.call(a,"yield",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("
    \r\n
    \r\n"),g},10:function(a,b,c,d){var e,f="";return d.buffer.push('
    '),e=b._triageMustache.call(a,"yield",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("
    \r\n"),f},12:function(a,b,c,d){var e,f="";return d.buffer.push(' \r\n"),f},compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f="";return e=b["if"].call(a,"heading",{name:"if",hash:{},hashTypes:{},hashContexts:{},fn:this.program(1,d),inverse:this.noop,types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("\r\n"),e=b["if"].call(a,"collapsible",{name:"if",hash:{},hashTypes:{},hashContexts:{},fn:this.program(8,d),inverse:this.program(10,d),types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("\r\n"),e=b["if"].call(a,"footer",{name:"if",hash:{},hashTypes:{},hashContexts:{},fn:this.program(12,d),inverse:this.noop,types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),f},useData:!0}); \ No newline at end of file +(function(){Bootstrap.BsWellComponent=Ember.Component.extend({layoutName:"components/bs-well",classNameBindings:["small:well-sm","large:well-lg"],classNames:["well"],click:function(){return this.sendAction("clicked")}}),Ember.Handlebars.helper("bs-well",Bootstrap.BsWellComponent)}).call(this),function(){Bootstrap.BsPageHeaderComponent=Ember.Component.extend({layoutName:"components/bs-page-header",classNames:["page-header"]}),Ember.Handlebars.helper("bs-page-header",Bootstrap.BsPageHeaderComponent)}.call(this),function(){Bootstrap.BsPanelComponent=Ember.Component.extend(Bootstrap.TypeSupport,{layoutName:"components/bs-panel",classNames:["panel"],classTypePrefix:["panel"],classNameBindings:["fade","fade:in"],clicked:null,onClose:null,fade:!0,collapsible:!1,open:!0,actions:{close:function(){return this.sendAction("onClose"),this.$().removeClass("in"),setTimeout(function(){return this.destroy()}.bind(this),250)}},click:function(a){return this.sendAction("clicked",a)},collapsibleBodyId:function(){return""+this.get("elementId")+"_body"}.property("collapsible"),collapsibleBodyLink:function(){return"#"+this.get("elementId")+"_body"}.property("collapsibleBodyId")}),Ember.Handlebars.helper("bs-panel",Bootstrap.BsPanelComponent)}.call(this),Ember.TEMPLATES["components/bs-page-header"]=Ember.HTMLBars.template(function(){var a=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createElement("small");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.content;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.createMorphAt(d.childAt(g,[1]),-1,-1);return f(b,h,a,"sub"),g}}}();return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createElement("h1"),c=a.createTextNode("\n ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(b,c,d){var e=c.dom,f=c.hooks,g=f.content,h=f.get,i=f.block;e.detectNamespace(d);var j;c.useFragmentCache&&e.canClone?(null===this.cachedFragment&&(j=this.build(e),this.hasRendered?this.cachedFragment=j:this.hasRendered=!0),this.cachedFragment&&(j=e.cloneNode(this.cachedFragment,!0))):j=this.build(e);var k=e.createMorphAt(j,0,1),l=e.createMorphAt(j,1,-1);return g(c,k,b,"title"),i(c,l,b,"if",[h(c,b,"sub")],{},a,null),j}}}()),Ember.TEMPLATES["components/bs-well"]=Ember.HTMLBars.template(function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode("");a.appendChild(b,c);var c=a.createTextNode("");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.content;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d),this.cachedFragment&&d.repairClonedNode(g,[0,1]);var h=d.createMorphAt(g,0,1,c);return f(b,h,a,"yield"),g}}}()),Ember.TEMPLATES["components/bs-panel"]=Ember.HTMLBars.template(function(){var a=function(){var a=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createElement("a");a.setAttribute(c,"class","accordion-toggle"),a.setAttribute(c,"data-toggle","collapse"),a.setAttribute(c,"data-parent","#accordion");var d=a.createTextNode("\n ");a.appendChild(c,d);var d=a.createTextNode("\n ");a.appendChild(c,d),a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.element,h=e.content;d.detectNamespace(c);var i;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(i=this.build(d),this.hasRendered?this.cachedFragment=i:this.hasRendered=!0),this.cachedFragment&&(i=d.cloneNode(this.cachedFragment,!0))):i=this.build(d);var j=d.childAt(i,[1]),k=d.createMorphAt(j,0,1);return g(b,j,a,"bind-attr",[],{href:f(b,a,"collapsibleBodyLink")}),h(b,k,a,"heading"),i}}}(),b=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.content;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.createMorphAt(g,0,1,c);return f(b,h,a,"heading"),g}}}(),c=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createElement("a");a.setAttribute(c,"class","close"),a.setAttribute(c,"data-dismiss","panel");var d=a.createTextNode("×");a.appendChild(c,d),a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.element;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.childAt(g,[1]);return f(b,h,a,"action",["close"],{}),g}}}();return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createElement("div");a.setAttribute(c,"class","panel-heading");var d=a.createTextNode("\n");a.appendChild(c,d);var d=a.createTextNode("");a.appendChild(c,d);var d=a.createTextNode(" ");a.appendChild(c,d),a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(d,e,f){var g=e.dom,h=e.hooks,i=h.get,j=h.block;g.detectNamespace(f);var k;e.useFragmentCache&&g.canClone?(null===this.cachedFragment&&(k=this.build(g),this.hasRendered?this.cachedFragment=k:this.hasRendered=!0),this.cachedFragment&&(k=g.cloneNode(this.cachedFragment,!0))):k=this.build(g);var l=g.childAt(k,[1]);this.cachedFragment&&g.repairClonedNode(l,[1]);var m=g.createMorphAt(l,0,1),n=g.createMorphAt(l,1,2);return j(e,m,d,"if",[i(e,d,"collapsible")],{},a,b),j(e,n,d,"if",[i(e,d,"dismiss")],{},c,null),k}}}(),b=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createElement("div"),d=a.createTextNode("\n ");a.appendChild(c,d);var d=a.createElement("div");a.setAttribute(d,"class","panel-body"),a.appendChild(c,d);var d=a.createTextNode("\n ");a.appendChild(c,d),a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.element,h=e.content;d.detectNamespace(c);var i;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(i=this.build(d),this.hasRendered?this.cachedFragment=i:this.hasRendered=!0),this.cachedFragment&&(i=d.cloneNode(this.cachedFragment,!0))):i=this.build(d);var j=d.childAt(i,[1]),k=d.createMorphAt(d.childAt(j,[1]),-1,-1);return g(b,j,a,"bind-attr",[],{id:f(b,a,"collapsibleBodyId")}),g(b,j,a,"bind-attr",[],{"class":":panel-collapse :collapse open:in"}),h(b,k,a,"yield"),i}}}(),c=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createElement("div");a.setAttribute(c,"id","collapseOne"),a.setAttribute(c,"class","panel-body"),a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.content;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.createMorphAt(d.childAt(g,[1]),-1,-1);return f(b,h,a,"yield"),g}}}(),d=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createElement("div");a.setAttribute(c,"class","panel-footer"),a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.content;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.createMorphAt(d.childAt(g,[1]),-1,-1);return f(b,h,a,"footer"),g}}}();return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode("");a.appendChild(b,c);var c=a.createTextNode("\n");a.appendChild(b,c);var c=a.createTextNode("\n");a.appendChild(b,c);var c=a.createTextNode("");return a.appendChild(b,c),b},render:function(e,f,g){var h=f.dom,i=f.hooks,j=i.get,k=i.block;h.detectNamespace(g);var l;f.useFragmentCache&&h.canClone?(null===this.cachedFragment&&(l=this.build(h),this.hasRendered?this.cachedFragment=l:this.hasRendered=!0),this.cachedFragment&&(l=h.cloneNode(this.cachedFragment,!0))):l=this.build(h),this.cachedFragment&&h.repairClonedNode(l,[0,3]);var m=h.createMorphAt(l,0,1,g),n=h.createMorphAt(l,1,2,g),o=h.createMorphAt(l,2,3,g);return k(f,m,e,"if",[j(f,e,"heading")],{},a,null),k(f,n,e,"if",[j(f,e,"collapsible")],{},b,c),k(f,o,e,"if",[j(f,e,"footer")],{},d,null),l}}}()); \ No newline at end of file diff --git a/dist/js/bs-button.max.js b/dist/js/bs-button.max.js index 31cf158..2a2f2b9 100644 --- a/dist/js/bs-button.max.js +++ b/dist/js/bs-button.max.js @@ -223,27 +223,135 @@ A collection of button groups }).call(this); -Ember.TEMPLATES["components/bs-button"] = Ember.HTMLBars.template({"1":function(depth0,helpers,partials,data) { - var escapeExpression=this.escapeExpression, buffer = ''; - data.buffer.push(" \r\n"); - return buffer; -},"compiler":[6,">= 2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) { - var stack1, buffer = ''; - stack1 = helpers['if'].call(depth0, "icon", {"name":"if","hash":{},"hashTypes":{},"hashContexts":{},"fn":this.program(1, data),"inverse":this.noop,"types":["ID"],"contexts":[depth0],"data":data}); - if (stack1 != null) { data.buffer.push(stack1); } - stack1 = helpers._triageMustache.call(depth0, "title", {"name":"_triageMustache","hash":{},"hashTypes":{},"hashContexts":{},"types":["ID"],"contexts":[depth0],"data":data}); - if (stack1 != null) { data.buffer.push(stack1); } - stack1 = helpers._triageMustache.call(depth0, "yield", {"name":"_triageMustache","hash":{},"hashTypes":{},"hashContexts":{},"types":["ID"],"contexts":[depth0],"data":data}); - if (stack1 != null) { data.buffer.push(stack1); } - return buffer; -},"useData":true}); -Ember.TEMPLATES["components/bs-btn-toolbar"] = Ember.HTMLBars.template({"compiler":[6,">= 2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) { - var stack1; - stack1 = helpers._triageMustache.call(depth0, "yield", {"name":"_triageMustache","hash":{},"hashTypes":{},"hashContexts":{},"types":["ID"],"contexts":[depth0],"data":data}); - if (stack1 != null) { data.buffer.push(stack1); } - else { data.buffer.push(''); } - },"useData":true}); \ No newline at end of file +Ember.TEMPLATES["components/bs-button"] = Ember.HTMLBars.template((function() { + var child0 = (function() { + return { + isHTMLBars: true, + blockParams: 0, + cachedFragment: null, + hasRendered: false, + build: function build(dom) { + var el0 = dom.createDocumentFragment(); + var el1 = dom.createTextNode(" "); + dom.appendChild(el0, el1); + var el1 = dom.createElement("i"); + dom.appendChild(el0, el1); + var el1 = dom.createTextNode("\n"); + dom.appendChild(el0, el1); + return el0; + }, + render: function render(context, env, contextualElement) { + var dom = env.dom; + var hooks = env.hooks, element = hooks.element; + dom.detectNamespace(contextualElement); + var fragment; + if (env.useFragmentCache && dom.canClone) { + if (this.cachedFragment === null) { + fragment = this.build(dom); + if (this.hasRendered) { + this.cachedFragment = fragment; + } else { + this.hasRendered = true; + } + } + if (this.cachedFragment) { + fragment = dom.cloneNode(this.cachedFragment, true); + } + } else { + fragment = this.build(dom); + } + var element0 = dom.childAt(fragment, [1]); + element(env, element0, context, "bind-attr", [], {"class": "icon"}); + return fragment; + } + }; + }()); + return { + isHTMLBars: true, + blockParams: 0, + cachedFragment: null, + hasRendered: false, + build: function build(dom) { + var el0 = dom.createDocumentFragment(); + var el1 = dom.createTextNode(""); + dom.appendChild(el0, el1); + var el1 = dom.createTextNode(""); + dom.appendChild(el0, el1); + var el1 = dom.createTextNode(""); + dom.appendChild(el0, el1); + var el1 = dom.createTextNode(""); + dom.appendChild(el0, el1); + return el0; + }, + render: function render(context, env, contextualElement) { + var dom = env.dom; + var hooks = env.hooks, get = hooks.get, block = hooks.block, content = hooks.content; + dom.detectNamespace(contextualElement); + var fragment; + if (env.useFragmentCache && dom.canClone) { + if (this.cachedFragment === null) { + fragment = this.build(dom); + if (this.hasRendered) { + this.cachedFragment = fragment; + } else { + this.hasRendered = true; + } + } + if (this.cachedFragment) { + fragment = dom.cloneNode(this.cachedFragment, true); + } + } else { + fragment = this.build(dom); + } + if (this.cachedFragment) { dom.repairClonedNode(fragment,[0,1,2,3]); } + var morph0 = dom.createMorphAt(fragment,0,1,contextualElement); + var morph1 = dom.createMorphAt(fragment,1,2,contextualElement); + var morph2 = dom.createMorphAt(fragment,2,3,contextualElement); + block(env, morph0, context, "if", [get(env, context, "icon")], {}, child0, null); + content(env, morph1, context, "title"); + content(env, morph2, context, "yield"); + return fragment; + } + }; +}())); +Ember.TEMPLATES["components/bs-btn-toolbar"] = Ember.HTMLBars.template((function() { + return { + isHTMLBars: true, + blockParams: 0, + cachedFragment: null, + hasRendered: false, + build: function build(dom) { + var el0 = dom.createDocumentFragment(); + var el1 = dom.createTextNode(""); + dom.appendChild(el0, el1); + var el1 = dom.createTextNode(""); + dom.appendChild(el0, el1); + return el0; + }, + render: function render(context, env, contextualElement) { + var dom = env.dom; + var hooks = env.hooks, content = hooks.content; + dom.detectNamespace(contextualElement); + var fragment; + if (env.useFragmentCache && dom.canClone) { + if (this.cachedFragment === null) { + fragment = this.build(dom); + if (this.hasRendered) { + this.cachedFragment = fragment; + } else { + this.hasRendered = true; + } + } + if (this.cachedFragment) { + fragment = dom.cloneNode(this.cachedFragment, true); + } + } else { + fragment = this.build(dom); + } + if (this.cachedFragment) { dom.repairClonedNode(fragment,[0,1]); } + var morph0 = dom.createMorphAt(fragment,0,1,contextualElement); + content(env, morph0, context, "yield"); + return fragment; + } + }; +}())); \ No newline at end of file diff --git a/dist/js/bs-button.min.js b/dist/js/bs-button.min.js index ad79750..e9d78dc 100644 --- a/dist/js/bs-button.min.js +++ b/dist/js/bs-button.min.js @@ -1 +1 @@ -+function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d)};b.DEFAULTS={loadingText:"loading..."},b.prototype.setState=function(a){var b="disabled",c=this.$element,d=c.is("input")?"val":"html",e=c.data();a+="Text",e.resetText||c.data("resetText",c[d]()),c[d](e[a]||this.options[a]),setTimeout(function(){"loadingText"==a?c.addClass(b).attr(b,b):c.removeClass(b).removeAttr(b)},0)},b.prototype.toggle=function(){var a=this.$element.closest('[data-toggle="buttons"]');if(a.length){var b=this.$element.find("input").prop("checked",!this.$element.hasClass("active")).trigger("change");"radio"===b.prop("type")&&a.find(".active").removeClass("active")}this.$element.toggleClass("active")};var c=a.fn.button;a.fn.button=function(c){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof c&&c;e||d.data("bs.button",e=new b(this,f)),"toggle"==c?e.toggle():c&&e.setState(c)})},a.fn.button.Constructor=b,a.fn.button.noConflict=function(){return a.fn.button=c,this},a(document).on("click.bs.button.data-api","[data-toggle^=button]",function(b){var c=a(b.target);c.hasClass("btn")||(c=c.closest(".btn")),c.button("toggle"),b.preventDefault()})}(window.jQuery),function(){Bootstrap.BsButtonComponent=Ember.Component.extend(Bootstrap.TypeSupport,Bootstrap.SizeSupport,{layoutName:"components/bs-button",tagName:"button",classNames:["btn"],classNameBindings:["blockClass"],classTypePrefix:"btn",clickedParam:null,block:null,attributeBindings:["disabled","dismiss:data-dismiss","_type:type","style"],_type:"button",bubbles:!0,allowedProperties:["title","type","size","block","disabled","clicked","dismiss","class"],icon_active:void 0,icon_inactive:void 0},{init:function(){var a,b,c,d,e,f,g;if(this._super(),null!=this.get("content")&&"instance"===Ember.typeOf(this.get("content")))for(b=this.get("content"),f=this.get("allowedProperties"),d=0,e=f.length;e>d;d++)c=f[d],null!=b[c]&&this.set(c,b[c]);else null==this.get("title")&&this.set("title",this.get("content"));g=[];for(a in this)null!=a.match(/^data-[\w-]*$/)&&g.push(this.attributeBindings.pushObject(a));return g},blockClass:function(){return this.block?""+this.classTypePrefix+"-block":null}.property("block").cacheable(),click:function(a){return this.get("bubbles")||a.stopPropagation(),this.sendAction("clicked",this.get("clickedParam"))},loadingChanged:function(){var a;return a=null!==this.get("loading")?this.get("loading"):"reset",Ember.$("#"+this.elementId).button(a)}.observes("loading"),icon:function(){return this.get(this.get("isActive")?"icon_active":"icon_inactive")}.property("isActive")}),Ember.Handlebars.helper("bs-button",Bootstrap.BsButtonComponent)}.call(this),function(){Bootstrap.BsBtnGroup=Bootstrap.ItemsView.extend(Bootstrap.SizeSupport,Bootstrap.ItemsSelection,{classTypePrefix:["btn-group"],classNames:["btn-group"],classNameBindings:["vertical:btn-group-vertical"],itemViewClass:Bootstrap.BsButtonComponent.extend(Bootstrap.ItemValue,Bootstrap.ItemSelection,{init:function(){return this._super(),this.set("icon_active",this.get("parentView.icon_active")),this.set("icon_inactive",this.get("parentView.icon_inactive"))}})}),Ember.Handlebars.helper("bs-btn-group",Bootstrap.BsBtnGroup)}.call(this),function(){Bootstrap.BsBtnToolbarComponent=Ember.Component.extend({layoutName:"components/bs-btn-toolbar",classNames:["btn-toolbar"]}),Ember.Handlebars.helper("bs-btn-toolbar",Bootstrap.BsBtnToolbarComponent)}.call(this),Ember.TEMPLATES["components/bs-button"]=Ember.HTMLBars.template({1:function(a,b,c,d){var e=this.escapeExpression,f="";return d.buffer.push(" \r\n"),f},compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f="";return e=b["if"].call(a,"icon",{name:"if",hash:{},hashTypes:{},hashContexts:{},fn:this.program(1,d),inverse:this.noop,types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),e=b._triageMustache.call(a,"title",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),e=b._triageMustache.call(a,"yield",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),f},useData:!0}),Ember.TEMPLATES["components/bs-btn-toolbar"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e;e=b._triageMustache.call(a,"yield",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),d.buffer.push(null!=e?e:"")},useData:!0}); \ No newline at end of file ++function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d)};b.DEFAULTS={loadingText:"loading..."},b.prototype.setState=function(a){var b="disabled",c=this.$element,d=c.is("input")?"val":"html",e=c.data();a+="Text",e.resetText||c.data("resetText",c[d]()),c[d](e[a]||this.options[a]),setTimeout(function(){"loadingText"==a?c.addClass(b).attr(b,b):c.removeClass(b).removeAttr(b)},0)},b.prototype.toggle=function(){var a=this.$element.closest('[data-toggle="buttons"]');if(a.length){var b=this.$element.find("input").prop("checked",!this.$element.hasClass("active")).trigger("change");"radio"===b.prop("type")&&a.find(".active").removeClass("active")}this.$element.toggleClass("active")};var c=a.fn.button;a.fn.button=function(c){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof c&&c;e||d.data("bs.button",e=new b(this,f)),"toggle"==c?e.toggle():c&&e.setState(c)})},a.fn.button.Constructor=b,a.fn.button.noConflict=function(){return a.fn.button=c,this},a(document).on("click.bs.button.data-api","[data-toggle^=button]",function(b){var c=a(b.target);c.hasClass("btn")||(c=c.closest(".btn")),c.button("toggle"),b.preventDefault()})}(window.jQuery),function(){Bootstrap.BsButtonComponent=Ember.Component.extend(Bootstrap.TypeSupport,Bootstrap.SizeSupport,{layoutName:"components/bs-button",tagName:"button",classNames:["btn"],classNameBindings:["blockClass"],classTypePrefix:"btn",clickedParam:null,block:null,attributeBindings:["disabled","dismiss:data-dismiss","_type:type","style"],_type:"button",bubbles:!0,allowedProperties:["title","type","size","block","disabled","clicked","dismiss","class"],icon_active:void 0,icon_inactive:void 0},{init:function(){var a,b,c,d,e,f,g;if(this._super(),null!=this.get("content")&&"instance"===Ember.typeOf(this.get("content")))for(b=this.get("content"),f=this.get("allowedProperties"),d=0,e=f.length;e>d;d++)c=f[d],null!=b[c]&&this.set(c,b[c]);else null==this.get("title")&&this.set("title",this.get("content"));g=[];for(a in this)null!=a.match(/^data-[\w-]*$/)&&g.push(this.attributeBindings.pushObject(a));return g},blockClass:function(){return this.block?""+this.classTypePrefix+"-block":null}.property("block").cacheable(),click:function(a){return this.get("bubbles")||a.stopPropagation(),this.sendAction("clicked",this.get("clickedParam"))},loadingChanged:function(){var a;return a=null!==this.get("loading")?this.get("loading"):"reset",Ember.$("#"+this.elementId).button(a)}.observes("loading"),icon:function(){return this.get(this.get("isActive")?"icon_active":"icon_inactive")}.property("isActive")}),Ember.Handlebars.helper("bs-button",Bootstrap.BsButtonComponent)}.call(this),function(){Bootstrap.BsBtnGroup=Bootstrap.ItemsView.extend(Bootstrap.SizeSupport,Bootstrap.ItemsSelection,{classTypePrefix:["btn-group"],classNames:["btn-group"],classNameBindings:["vertical:btn-group-vertical"],itemViewClass:Bootstrap.BsButtonComponent.extend(Bootstrap.ItemValue,Bootstrap.ItemSelection,{init:function(){return this._super(),this.set("icon_active",this.get("parentView.icon_active")),this.set("icon_inactive",this.get("parentView.icon_inactive"))}})}),Ember.Handlebars.helper("bs-btn-group",Bootstrap.BsBtnGroup)}.call(this),function(){Bootstrap.BsBtnToolbarComponent=Ember.Component.extend({layoutName:"components/bs-btn-toolbar",classNames:["btn-toolbar"]}),Ember.Handlebars.helper("bs-btn-toolbar",Bootstrap.BsBtnToolbarComponent)}.call(this),Ember.TEMPLATES["components/bs-button"]=Ember.HTMLBars.template(function(){var a=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createElement("i");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.element;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.childAt(g,[1]);return f(b,h,a,"bind-attr",[],{"class":"icon"}),g}}}();return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode("");a.appendChild(b,c);var c=a.createTextNode("");a.appendChild(b,c);var c=a.createTextNode("");a.appendChild(b,c);var c=a.createTextNode("");return a.appendChild(b,c),b},render:function(b,c,d){var e=c.dom,f=c.hooks,g=f.get,h=f.block,i=f.content;e.detectNamespace(d);var j;c.useFragmentCache&&e.canClone?(null===this.cachedFragment&&(j=this.build(e),this.hasRendered?this.cachedFragment=j:this.hasRendered=!0),this.cachedFragment&&(j=e.cloneNode(this.cachedFragment,!0))):j=this.build(e),this.cachedFragment&&e.repairClonedNode(j,[0,1,2,3]);var k=e.createMorphAt(j,0,1,d),l=e.createMorphAt(j,1,2,d),m=e.createMorphAt(j,2,3,d);return h(c,k,b,"if",[g(c,b,"icon")],{},a,null),i(c,l,b,"title"),i(c,m,b,"yield"),j}}}()),Ember.TEMPLATES["components/bs-btn-toolbar"]=Ember.HTMLBars.template(function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode("");a.appendChild(b,c);var c=a.createTextNode("");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.content;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d),this.cachedFragment&&d.repairClonedNode(g,[0,1]);var h=d.createMorphAt(g,0,1,c);return f(b,h,a,"yield"),g}}}()); \ No newline at end of file diff --git a/dist/js/bs-core.max.js b/dist/js/bs-core.max.js index ec67704..15aaf9f 100644 --- a/dist/js/bs-core.max.js +++ b/dist/js/bs-core.max.js @@ -475,15 +475,84 @@ Views that inherits from this view can be enhanced with: }).call(this); -Ember.TEMPLATES["app/templates/views/item-pane"] = Ember.HTMLBars.template({"1":function(depth0,helpers,partials,data) { - var helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression, buffer = ''; - data.buffer.push(" "); - data.buffer.push(escapeExpression(((helpers.bsItemPanePartial || (depth0 && depth0.bsItemPanePartial) || helperMissing).call(depth0, "view.content.template", {"name":"bsItemPanePartial","hash":{},"hashTypes":{},"hashContexts":{},"types":["ID"],"contexts":[depth0],"data":data})))); - data.buffer.push("\r\n"); - return buffer; -},"compiler":[6,">= 2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) { - var stack1; - stack1 = helpers['if'].call(depth0, "view.content.template", {"name":"if","hash":{},"hashTypes":{},"hashContexts":{},"fn":this.program(1, data),"inverse":this.noop,"types":["ID"],"contexts":[depth0],"data":data}); - if (stack1 != null) { data.buffer.push(stack1); } - else { data.buffer.push(''); } - },"useData":true}); \ No newline at end of file +Ember.TEMPLATES["app/templates/views/item-pane"] = Ember.HTMLBars.template((function() { + var child0 = (function() { + return { + isHTMLBars: true, + blockParams: 0, + cachedFragment: null, + hasRendered: false, + build: function build(dom) { + var el0 = dom.createDocumentFragment(); + var el1 = dom.createTextNode(" "); + dom.appendChild(el0, el1); + var el1 = dom.createTextNode("\n"); + dom.appendChild(el0, el1); + return el0; + }, + render: function render(context, env, contextualElement) { + var dom = env.dom; + var hooks = env.hooks, get = hooks.get, inline = hooks.inline; + dom.detectNamespace(contextualElement); + var fragment; + if (env.useFragmentCache && dom.canClone) { + if (this.cachedFragment === null) { + fragment = this.build(dom); + if (this.hasRendered) { + this.cachedFragment = fragment; + } else { + this.hasRendered = true; + } + } + if (this.cachedFragment) { + fragment = dom.cloneNode(this.cachedFragment, true); + } + } else { + fragment = this.build(dom); + } + var morph0 = dom.createMorphAt(fragment,0,1,contextualElement); + inline(env, morph0, context, "bsItemPanePartial", [get(env, context, "view.content.template")], {}); + return fragment; + } + }; + }()); + return { + isHTMLBars: true, + blockParams: 0, + cachedFragment: null, + hasRendered: false, + build: function build(dom) { + var el0 = dom.createDocumentFragment(); + var el1 = dom.createTextNode(""); + dom.appendChild(el0, el1); + var el1 = dom.createTextNode(""); + dom.appendChild(el0, el1); + return el0; + }, + render: function render(context, env, contextualElement) { + var dom = env.dom; + var hooks = env.hooks, get = hooks.get, block = hooks.block; + dom.detectNamespace(contextualElement); + var fragment; + if (env.useFragmentCache && dom.canClone) { + if (this.cachedFragment === null) { + fragment = this.build(dom); + if (this.hasRendered) { + this.cachedFragment = fragment; + } else { + this.hasRendered = true; + } + } + if (this.cachedFragment) { + fragment = dom.cloneNode(this.cachedFragment, true); + } + } else { + fragment = this.build(dom); + } + if (this.cachedFragment) { dom.repairClonedNode(fragment,[0,1]); } + var morph0 = dom.createMorphAt(fragment,0,1,contextualElement); + block(env, morph0, context, "if", [get(env, context, "view.content.template")], {}, child0, null); + return fragment; + } + }; +}())); \ No newline at end of file diff --git a/dist/js/bs-core.min.js b/dist/js/bs-core.min.js index 1914062..685b2f8 100644 --- a/dist/js/bs-core.min.js +++ b/dist/js/bs-core.min.js @@ -1 +1 @@ -+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]}}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one(a.support.transition.end,function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b()})}(window.jQuery),function(){var a;a=window.Bootstrap=Ember.Namespace.create()}.call(this),function(){var a,b;a=window.Bootstrap,b=Ember.get,a.WithRouter=Ember.Mixin.create({router:Ember.computed(function(){return b(this,"controller").container.lookup("router:main")})})}.call(this),function(){var a,b,c;a=window.Bootstrap,b=Ember.get,c=Ember.set,a.TypeSupport=Ember.Mixin.create({classTypePrefix:Ember.required(String),classNameBindings:["typeClass"],type:"default",typeClass:function(){var a,b;return b=this.get("type"),null==b&&(b="default"),a=this.get("classTypePrefix"),""+a+"-"+b}.property("type").cacheable()})}.call(this),function(){var a,b,c;a=window.Bootstrap,b=Ember.get,c=Ember.set,a.SizeSupport=Ember.Mixin.create({classTypePrefix:Ember.required(String),classNameBindings:["sizeClass","largeSizeClass","smallSizeClass","extraSmallSizeClass"],size:null,xs:null,small:null,large:null,extraSmallSizeClass:function(){var a;return a=this.get("classTypePrefix"),this.xs?""+a+"-xs":null}.property("xs").cacheable(),smallSizeClass:function(){var a;return a=this.get("classTypePrefix"),this.small?""+a+"-sm":null}.property("small").cacheable(),largeSizeClass:function(){var a;return a=this.get("classTypePrefix"),this.large?""+a+"-lg":null}.property("large").cacheable(),sizeClass:function(){var a,b;return b=this.get("size"),a=this.get("classTypePrefix"),b?""+a+"-"+b:null}.property("size").cacheable()})}.call(this),function(){Bootstrap.ItemValue=Ember.Mixin.create({value:function(){var a,b;return a=this.get("parentView"),null!=a?b=this.get("content"):void 0}.property("content").cacheable()})}.call(this),function(){Bootstrap.ItemSelection=Ember.Mixin.create(Bootstrap.ItemValue,Bootstrap.WithRouter,{classNameBindings:["isActive:active"],init:function(){return this._super(),this.didRouteChange()},didRouteChange:function(){var a,b,c;return b=this.get("content.linkTo"),null!=b&&(a=this.get("parentView"),null!=a)&&(null!=(c=this.get("router"))?c.isActive(b):void 0)?a.set("selected",this.get("value")):void 0}.observes("router.url"),isActive:function(){var a,b,c;return a=this.get("parentView"),null==a?!1:(b=a.get("selected"),c=this.get("value"),null==c?!1:b===c)}.property("value","parentView.selected","content.linkTo").cacheable(),click:function(a){var b,c;return a.preventDefault(),c=this.get("parentView"),null==c||(b=this.get("content"),"object"==typeof b&&b.get("disabled")||null!=this.get("content.linkTo"))?void 0:c.set("selected",this.get("value"))}})}.call(this),function(){Bootstrap.ItemsSelection=Ember.Mixin.create({multiSelection:!1,selected:[]})}.call(this),function(){Bootstrap.Nav=Ember.Mixin.create({classNames:["nav"],classNameBindings:["navTypeClass"],tagName:"ul",navType:null,navTypeClass:function(){return null!=this.navType?"nav-"+this.navType:null}.property("navType").cacheable()})}.call(this),function(){Bootstrap.NavItem=Ember.Mixin.create(Bootstrap.SelectableView)}.call(this),function(){var a,b;a=function(a){var b,c;if(a&&(c=a.get("parentView")))return b=c instanceof Bootstrap.ItemsView,Ember.assert("The parent view must be an instance of Bootstrap.ItemsView or any inherited class",b),b?c:void 0},b=function(a,b,c){return"instance"===Ember.typeOf(a)||Ember.canInvoke(a,"get")?a.get(b):c},Bootstrap.ItemView=Ember.View.extend({isItem:!0,classNameBindings:["disabled"],title:function(){var c,d,e;if(e=a(this))return d=e.get("itemTitleKey")||"title",c=this.get("content"),b(c,d,c)}.property("content").cacheable(),disabled:function(){var c,d,e;if(e=a(this))return c=this.get("content"),d=!!b(c,"disabled",!1),d&&this.get("isActive")&&e.set("selected",null),d}.property("content","content.disabled").cacheable()})}.call(this),function(){Bootstrap.ItemsView=Ember.CollectionView.extend({didInsertElement:function(){var a,b,c,d,e,f;if(this.get("default")){for(a=this.get("default"),e=this._childViews,c=0,d=e.length;d>c;c++)b=e[c],(null!=(f=b.get("content"))?f.get("title"):void 0)===a&&this.set("selected",b.get("content"));return Ember.assert("Could not activate default tab "+a+" as it doesnt exist",a)}}})}.call(this),function(){Bootstrap.ItemPaneView=Ember.View.extend({templateName:"views/item-pane",corrItem:function(){var a,b,c,d;if(null!=this.get("parentView").get("corrItemsView"))for(d=this.get("parentView").get("corrItemsView")._childViews,b=0,c=d.length;c>b;b++)if(a=d[b],a.content===this.get("content"))return a}.property("parentView.corrItemsView"),isVisible:function(){var a;return null!=(a=this.get("corrItem"))?a.get("isActive"):void 0}.property("corrItem.isActive"),controller:function(){var a,b;return a=this.get("parentView.controller"),this.get("content.controller")&&(b=this.get("container").lookup("controller:"+this.get("content.controller")),b&&(a=b)),a}.property("content")}),Ember.Handlebars.helper("bsItemPanePartial",function(a,b){var c,d;return d=b.data.view,c=d.templateForName(a),Ember.assert("Unable to find template with name '"+a+"'",c),c(this,{data:b.data})})}.call(this),function(){Bootstrap.ItemsPanesView=Ember.CollectionView.extend({viewsInserted:!1,corrItemsView:function(){var a;return a=Ember.View.views[this.get("items-id")]}.property("viewsInserted"),didInsertElement:function(){return this._super(),this.set("viewsInserted",!0)}})}.call(this),Ember.TEMPLATES["app/templates/views/item-pane"]=Ember.HTMLBars.template({1:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression,g="";return d.buffer.push(" "),d.buffer.push(f((b.bsItemPanePartial||a&&a.bsItemPanePartial||e).call(a,"view.content.template",{name:"bsItemPanePartial",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}))),d.buffer.push("\r\n"),g},compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e;e=b["if"].call(a,"view.content.template",{name:"if",hash:{},hashTypes:{},hashContexts:{},fn:this.program(1,d),inverse:this.noop,types:["ID"],contexts:[a],data:d}),d.buffer.push(null!=e?e:"")},useData:!0}); \ No newline at end of file ++function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]}}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one(a.support.transition.end,function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b()})}(window.jQuery),function(){var a;a=window.Bootstrap=Ember.Namespace.create()}.call(this),function(){var a,b;a=window.Bootstrap,b=Ember.get,a.WithRouter=Ember.Mixin.create({router:Ember.computed(function(){return b(this,"controller").container.lookup("router:main")})})}.call(this),function(){var a,b,c;a=window.Bootstrap,b=Ember.get,c=Ember.set,a.TypeSupport=Ember.Mixin.create({classTypePrefix:Ember.required(String),classNameBindings:["typeClass"],type:"default",typeClass:function(){var a,b;return b=this.get("type"),null==b&&(b="default"),a=this.get("classTypePrefix"),""+a+"-"+b}.property("type").cacheable()})}.call(this),function(){var a,b,c;a=window.Bootstrap,b=Ember.get,c=Ember.set,a.SizeSupport=Ember.Mixin.create({classTypePrefix:Ember.required(String),classNameBindings:["sizeClass","largeSizeClass","smallSizeClass","extraSmallSizeClass"],size:null,xs:null,small:null,large:null,extraSmallSizeClass:function(){var a;return a=this.get("classTypePrefix"),this.xs?""+a+"-xs":null}.property("xs").cacheable(),smallSizeClass:function(){var a;return a=this.get("classTypePrefix"),this.small?""+a+"-sm":null}.property("small").cacheable(),largeSizeClass:function(){var a;return a=this.get("classTypePrefix"),this.large?""+a+"-lg":null}.property("large").cacheable(),sizeClass:function(){var a,b;return b=this.get("size"),a=this.get("classTypePrefix"),b?""+a+"-"+b:null}.property("size").cacheable()})}.call(this),function(){Bootstrap.ItemValue=Ember.Mixin.create({value:function(){var a,b;return a=this.get("parentView"),null!=a?b=this.get("content"):void 0}.property("content").cacheable()})}.call(this),function(){Bootstrap.ItemSelection=Ember.Mixin.create(Bootstrap.ItemValue,Bootstrap.WithRouter,{classNameBindings:["isActive:active"],init:function(){return this._super(),this.didRouteChange()},didRouteChange:function(){var a,b,c;return b=this.get("content.linkTo"),null!=b&&(a=this.get("parentView"),null!=a)&&(null!=(c=this.get("router"))?c.isActive(b):void 0)?a.set("selected",this.get("value")):void 0}.observes("router.url"),isActive:function(){var a,b,c;return a=this.get("parentView"),null==a?!1:(b=a.get("selected"),c=this.get("value"),null==c?!1:b===c)}.property("value","parentView.selected","content.linkTo").cacheable(),click:function(a){var b,c;return a.preventDefault(),c=this.get("parentView"),null==c||(b=this.get("content"),"object"==typeof b&&b.get("disabled")||null!=this.get("content.linkTo"))?void 0:c.set("selected",this.get("value"))}})}.call(this),function(){Bootstrap.ItemsSelection=Ember.Mixin.create({multiSelection:!1,selected:[]})}.call(this),function(){Bootstrap.Nav=Ember.Mixin.create({classNames:["nav"],classNameBindings:["navTypeClass"],tagName:"ul",navType:null,navTypeClass:function(){return null!=this.navType?"nav-"+this.navType:null}.property("navType").cacheable()})}.call(this),function(){Bootstrap.NavItem=Ember.Mixin.create(Bootstrap.SelectableView)}.call(this),function(){var a,b;a=function(a){var b,c;if(a&&(c=a.get("parentView")))return b=c instanceof Bootstrap.ItemsView,Ember.assert("The parent view must be an instance of Bootstrap.ItemsView or any inherited class",b),b?c:void 0},b=function(a,b,c){return"instance"===Ember.typeOf(a)||Ember.canInvoke(a,"get")?a.get(b):c},Bootstrap.ItemView=Ember.View.extend({isItem:!0,classNameBindings:["disabled"],title:function(){var c,d,e;if(e=a(this))return d=e.get("itemTitleKey")||"title",c=this.get("content"),b(c,d,c)}.property("content").cacheable(),disabled:function(){var c,d,e;if(e=a(this))return c=this.get("content"),d=!!b(c,"disabled",!1),d&&this.get("isActive")&&e.set("selected",null),d}.property("content","content.disabled").cacheable()})}.call(this),function(){Bootstrap.ItemsView=Ember.CollectionView.extend({didInsertElement:function(){var a,b,c,d,e,f;if(this.get("default")){for(a=this.get("default"),e=this._childViews,c=0,d=e.length;d>c;c++)b=e[c],(null!=(f=b.get("content"))?f.get("title"):void 0)===a&&this.set("selected",b.get("content"));return Ember.assert("Could not activate default tab "+a+" as it doesnt exist",a)}}})}.call(this),function(){Bootstrap.ItemPaneView=Ember.View.extend({templateName:"views/item-pane",corrItem:function(){var a,b,c,d;if(null!=this.get("parentView").get("corrItemsView"))for(d=this.get("parentView").get("corrItemsView")._childViews,b=0,c=d.length;c>b;b++)if(a=d[b],a.content===this.get("content"))return a}.property("parentView.corrItemsView"),isVisible:function(){var a;return null!=(a=this.get("corrItem"))?a.get("isActive"):void 0}.property("corrItem.isActive"),controller:function(){var a,b;return a=this.get("parentView.controller"),this.get("content.controller")&&(b=this.get("container").lookup("controller:"+this.get("content.controller")),b&&(a=b)),a}.property("content")}),Ember.Handlebars.helper("bsItemPanePartial",function(a,b){var c,d;return d=b.data.view,c=d.templateForName(a),Ember.assert("Unable to find template with name '"+a+"'",c),c(this,{data:b.data})})}.call(this),function(){Bootstrap.ItemsPanesView=Ember.CollectionView.extend({viewsInserted:!1,corrItemsView:function(){var a;return a=Ember.View.views[this.get("items-id")]}.property("viewsInserted"),didInsertElement:function(){return this._super(),this.set("viewsInserted",!0)}})}.call(this),Ember.TEMPLATES["app/templates/views/item-pane"]=Ember.HTMLBars.template(function(){var a=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,0,1,c);return g(b,i,a,"bsItemPanePartial",[f(b,a,"view.content.template")],{}),h}}}();return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode("");a.appendChild(b,c);var c=a.createTextNode("");return a.appendChild(b,c),b},render:function(b,c,d){var e=c.dom,f=c.hooks,g=f.get,h=f.block;e.detectNamespace(d);var i;c.useFragmentCache&&e.canClone?(null===this.cachedFragment&&(i=this.build(e),this.hasRendered?this.cachedFragment=i:this.hasRendered=!0),this.cachedFragment&&(i=e.cloneNode(this.cachedFragment,!0))):i=this.build(e),this.cachedFragment&&e.repairClonedNode(i,[0,1]);var j=e.createMorphAt(i,0,1,d);return h(c,j,b,"if",[g(c,b,"view.content.template")],{},a,null),i}}}()); \ No newline at end of file diff --git a/dist/js/bs-label.max.js b/dist/js/bs-label.max.js index 17acbc5..d0fce4f 100644 --- a/dist/js/bs-label.max.js +++ b/dist/js/bs-label.max.js @@ -10,9 +10,44 @@ }).call(this); -Ember.TEMPLATES["components/bs-label"] = Ember.HTMLBars.template({"compiler":[6,">= 2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) { - var stack1; - stack1 = helpers._triageMustache.call(depth0, "content", {"name":"_triageMustache","hash":{},"hashTypes":{},"hashContexts":{},"types":["ID"],"contexts":[depth0],"data":data}); - if (stack1 != null) { data.buffer.push(stack1); } - else { data.buffer.push(''); } - },"useData":true}); \ No newline at end of file +Ember.TEMPLATES["components/bs-label"] = Ember.HTMLBars.template((function() { + return { + isHTMLBars: true, + blockParams: 0, + cachedFragment: null, + hasRendered: false, + build: function build(dom) { + var el0 = dom.createDocumentFragment(); + var el1 = dom.createTextNode(""); + dom.appendChild(el0, el1); + var el1 = dom.createTextNode(""); + dom.appendChild(el0, el1); + return el0; + }, + render: function render(context, env, contextualElement) { + var dom = env.dom; + var hooks = env.hooks, content = hooks.content; + dom.detectNamespace(contextualElement); + var fragment; + if (env.useFragmentCache && dom.canClone) { + if (this.cachedFragment === null) { + fragment = this.build(dom); + if (this.hasRendered) { + this.cachedFragment = fragment; + } else { + this.hasRendered = true; + } + } + if (this.cachedFragment) { + fragment = dom.cloneNode(this.cachedFragment, true); + } + } else { + fragment = this.build(dom); + } + if (this.cachedFragment) { dom.repairClonedNode(fragment,[0,1]); } + var morph0 = dom.createMorphAt(fragment,0,1,contextualElement); + content(env, morph0, context, "content"); + return fragment; + } + }; +}())); \ No newline at end of file diff --git a/dist/js/bs-label.min.js b/dist/js/bs-label.min.js index 85a61a9..d49d6b2 100644 --- a/dist/js/bs-label.min.js +++ b/dist/js/bs-label.min.js @@ -1 +1 @@ -(function(){Bootstrap.BsLabelComponent=Ember.Component.extend(Bootstrap.TypeSupport,{layoutName:"components/bs-label",tagName:"span",classNames:["label"],classTypePrefix:"label"}),Ember.Handlebars.helper("bs-label",Bootstrap.BsLabelComponent)}).call(this),Ember.TEMPLATES["components/bs-label"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e;e=b._triageMustache.call(a,"content",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),d.buffer.push(null!=e?e:"")},useData:!0}); \ No newline at end of file +(function(){Bootstrap.BsLabelComponent=Ember.Component.extend(Bootstrap.TypeSupport,{layoutName:"components/bs-label",tagName:"span",classNames:["label"],classTypePrefix:"label"}),Ember.Handlebars.helper("bs-label",Bootstrap.BsLabelComponent)}).call(this),Ember.TEMPLATES["components/bs-label"]=Ember.HTMLBars.template(function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode("");a.appendChild(b,c);var c=a.createTextNode("");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.content;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d),this.cachedFragment&&d.repairClonedNode(g,[0,1]);var h=d.createMorphAt(g,0,1,c);return f(b,h,a,"content"),g}}}()); \ No newline at end of file diff --git a/dist/js/bs-modal.max.js b/dist/js/bs-modal.max.js index 69b6ad4..9669341 100644 --- a/dist/js/bs-modal.max.js +++ b/dist/js/bs-modal.max.js @@ -307,67 +307,313 @@ Modal component. }).call(this); -Ember.TEMPLATES["components/bs-modal"] = Ember.HTMLBars.template({"1":function(depth0,helpers,partials,data) { - var escapeExpression=this.escapeExpression, buffer = ''; - data.buffer.push(" \r\n"); - return buffer; -},"3":function(depth0,helpers,partials,data) { - var escapeExpression=this.escapeExpression, buffer = ''; - data.buffer.push(" "); - data.buffer.push(escapeExpression(helpers.view.call(depth0, "view.body", {"name":"view","hash":{},"hashTypes":{},"hashContexts":{},"types":["ID"],"contexts":[depth0],"data":data}))); - data.buffer.push("\r\n"); - return buffer; -},"5":function(depth0,helpers,partials,data) { - var stack1, buffer = ''; - data.buffer.push(" "); - stack1 = helpers._triageMustache.call(depth0, "yield", {"name":"_triageMustache","hash":{},"hashTypes":{},"hashContexts":{},"types":["ID"],"contexts":[depth0],"data":data}); - if (stack1 != null) { data.buffer.push(stack1); } - data.buffer.push("\r\n"); - return buffer; -},"7":function(depth0,helpers,partials,data) { - var helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression, buffer = ''; - data.buffer.push(" "); - data.buffer.push(escapeExpression(((helpers['bs-button'] || (depth0 && depth0['bs-button']) || helperMissing).call(depth0, {"name":"bs-button","hash":{ - 'targetObjectBinding': ("view.targetObject"), - 'content': ("") - },"hashTypes":{'targetObjectBinding': "STRING",'content': "ID"},"hashContexts":{'targetObjectBinding': depth0,'content': depth0},"types":[],"contexts":[],"data":data})))); - data.buffer.push("\r\n"); - return buffer; -},"9":function(depth0,helpers,partials,data) { - var escapeExpression=this.escapeExpression, buffer = ''; - data.buffer.push(" "); - data.buffer.push(escapeExpression(helpers.view.call(depth0, "", {"name":"view","hash":{},"hashTypes":{},"hashContexts":{},"types":["ID"],"contexts":[depth0],"data":data}))); - data.buffer.push("\r\n"); - return buffer; -},"compiler":[6,">= 2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) { - var stack1, escapeExpression=this.escapeExpression, buffer = ''; - data.buffer.push("
    \r\n
    \r\n
    \r\n \r\n

    \r\n"); - stack1 = helpers['if'].call(depth0, "titleIconClasses", {"name":"if","hash":{},"hashTypes":{},"hashContexts":{},"fn":this.program(1, data),"inverse":this.noop,"types":["ID"],"contexts":[depth0],"data":data}); - if (stack1 != null) { data.buffer.push(stack1); } - data.buffer.push(" "); - data.buffer.push(escapeExpression(helpers._triageMustache.call(depth0, "title", {"name":"_triageMustache","hash":{ - 'unescaped': ("true") - },"hashTypes":{'unescaped': "STRING"},"hashContexts":{'unescaped': depth0},"types":["ID"],"contexts":[depth0],"data":data}))); - data.buffer.push("\r\n

    \r\n
    \r\n
    \r\n"); - stack1 = helpers['if'].call(depth0, "body", {"name":"if","hash":{},"hashTypes":{},"hashContexts":{},"fn":this.program(3, data),"inverse":this.program(5, data),"types":["ID"],"contexts":[depth0],"data":data}); - if (stack1 != null) { data.buffer.push(stack1); } - data.buffer.push("
    \r\n
    \r\n"); - stack1 = helpers.each.call(depth0, "footerButtons", {"name":"each","hash":{},"hashTypes":{},"hashContexts":{},"fn":this.program(7, data),"inverse":this.noop,"types":["ID"],"contexts":[depth0],"data":data}); - if (stack1 != null) { data.buffer.push(stack1); } - stack1 = helpers.each.call(depth0, "footerViews", {"name":"each","hash":{},"hashTypes":{},"hashContexts":{},"fn":this.program(9, data),"inverse":this.noop,"types":["ID"],"contexts":[depth0],"data":data}); - if (stack1 != null) { data.buffer.push(stack1); } - data.buffer.push("
    \r\n
    \r\n
    "); - return buffer; -},"useData":true}); \ No newline at end of file +Ember.TEMPLATES["components/bs-modal"] = Ember.HTMLBars.template((function() { + var child0 = (function() { + return { + isHTMLBars: true, + blockParams: 0, + cachedFragment: null, + hasRendered: false, + build: function build(dom) { + var el0 = dom.createDocumentFragment(); + var el1 = dom.createTextNode(" "); + dom.appendChild(el0, el1); + var el1 = dom.createElement("i"); + dom.appendChild(el0, el1); + var el1 = dom.createTextNode("\n"); + dom.appendChild(el0, el1); + return el0; + }, + render: function render(context, env, contextualElement) { + var dom = env.dom; + var hooks = env.hooks, element = hooks.element; + dom.detectNamespace(contextualElement); + var fragment; + if (env.useFragmentCache && dom.canClone) { + if (this.cachedFragment === null) { + fragment = this.build(dom); + if (this.hasRendered) { + this.cachedFragment = fragment; + } else { + this.hasRendered = true; + } + } + if (this.cachedFragment) { + fragment = dom.cloneNode(this.cachedFragment, true); + } + } else { + fragment = this.build(dom); + } + var element0 = dom.childAt(fragment, [1]); + element(env, element0, context, "bind-attr", [], {"class": "titleIconClasses"}); + return fragment; + } + }; + }()); + var child1 = (function() { + return { + isHTMLBars: true, + blockParams: 0, + cachedFragment: null, + hasRendered: false, + build: function build(dom) { + var el0 = dom.createDocumentFragment(); + var el1 = dom.createTextNode(" "); + dom.appendChild(el0, el1); + var el1 = dom.createTextNode("\n"); + dom.appendChild(el0, el1); + return el0; + }, + render: function render(context, env, contextualElement) { + var dom = env.dom; + var hooks = env.hooks, get = hooks.get, inline = hooks.inline; + dom.detectNamespace(contextualElement); + var fragment; + if (env.useFragmentCache && dom.canClone) { + if (this.cachedFragment === null) { + fragment = this.build(dom); + if (this.hasRendered) { + this.cachedFragment = fragment; + } else { + this.hasRendered = true; + } + } + if (this.cachedFragment) { + fragment = dom.cloneNode(this.cachedFragment, true); + } + } else { + fragment = this.build(dom); + } + var morph0 = dom.createMorphAt(fragment,0,1,contextualElement); + inline(env, morph0, context, "view", [get(env, context, "view.body")], {}); + return fragment; + } + }; + }()); + var child2 = (function() { + return { + isHTMLBars: true, + blockParams: 0, + cachedFragment: null, + hasRendered: false, + build: function build(dom) { + var el0 = dom.createDocumentFragment(); + var el1 = dom.createTextNode(" "); + dom.appendChild(el0, el1); + var el1 = dom.createTextNode("\n"); + dom.appendChild(el0, el1); + return el0; + }, + render: function render(context, env, contextualElement) { + var dom = env.dom; + var hooks = env.hooks, content = hooks.content; + dom.detectNamespace(contextualElement); + var fragment; + if (env.useFragmentCache && dom.canClone) { + if (this.cachedFragment === null) { + fragment = this.build(dom); + if (this.hasRendered) { + this.cachedFragment = fragment; + } else { + this.hasRendered = true; + } + } + if (this.cachedFragment) { + fragment = dom.cloneNode(this.cachedFragment, true); + } + } else { + fragment = this.build(dom); + } + var morph0 = dom.createMorphAt(fragment,0,1,contextualElement); + content(env, morph0, context, "yield"); + return fragment; + } + }; + }()); + var child3 = (function() { + return { + isHTMLBars: true, + blockParams: 0, + cachedFragment: null, + hasRendered: false, + build: function build(dom) { + var el0 = dom.createDocumentFragment(); + var el1 = dom.createTextNode(" "); + dom.appendChild(el0, el1); + var el1 = dom.createTextNode("\n"); + dom.appendChild(el0, el1); + return el0; + }, + render: function render(context, env, contextualElement) { + var dom = env.dom; + var hooks = env.hooks, get = hooks.get, inline = hooks.inline; + dom.detectNamespace(contextualElement); + var fragment; + if (env.useFragmentCache && dom.canClone) { + if (this.cachedFragment === null) { + fragment = this.build(dom); + if (this.hasRendered) { + this.cachedFragment = fragment; + } else { + this.hasRendered = true; + } + } + if (this.cachedFragment) { + fragment = dom.cloneNode(this.cachedFragment, true); + } + } else { + fragment = this.build(dom); + } + var morph0 = dom.createMorphAt(fragment,0,1,contextualElement); + inline(env, morph0, context, "bs-button", [], {"content": get(env, context, "this"), "targetObjectBinding": "view.targetObject"}); + return fragment; + } + }; + }()); + var child4 = (function() { + return { + isHTMLBars: true, + blockParams: 0, + cachedFragment: null, + hasRendered: false, + build: function build(dom) { + var el0 = dom.createDocumentFragment(); + var el1 = dom.createTextNode(" "); + dom.appendChild(el0, el1); + var el1 = dom.createTextNode("\n"); + dom.appendChild(el0, el1); + return el0; + }, + render: function render(context, env, contextualElement) { + var dom = env.dom; + var hooks = env.hooks, get = hooks.get, inline = hooks.inline; + dom.detectNamespace(contextualElement); + var fragment; + if (env.useFragmentCache && dom.canClone) { + if (this.cachedFragment === null) { + fragment = this.build(dom); + if (this.hasRendered) { + this.cachedFragment = fragment; + } else { + this.hasRendered = true; + } + } + if (this.cachedFragment) { + fragment = dom.cloneNode(this.cachedFragment, true); + } + } else { + fragment = this.build(dom); + } + var morph0 = dom.createMorphAt(fragment,0,1,contextualElement); + inline(env, morph0, context, "view", [get(env, context, "this")], {}); + return fragment; + } + }; + }()); + return { + isHTMLBars: true, + blockParams: 0, + cachedFragment: null, + hasRendered: false, + build: function build(dom) { + var el0 = dom.createElement("div"); + dom.setAttribute(el0,"class","modal-dialog"); + var el1 = dom.createTextNode("\n "); + dom.appendChild(el0, el1); + var el1 = dom.createElement("div"); + dom.setAttribute(el1,"class","modal-content"); + var el2 = dom.createTextNode("\n "); + dom.appendChild(el1, el2); + var el2 = dom.createElement("div"); + dom.setAttribute(el2,"class","modal-header"); + var el3 = dom.createTextNode("\n "); + dom.appendChild(el2, el3); + var el3 = dom.createElement("button"); + dom.setAttribute(el3,"type","button"); + dom.setAttribute(el3,"data-dismiss","modal"); + dom.setAttribute(el3,"aria-hidden","true"); + var el4 = dom.createTextNode("×"); + dom.appendChild(el3, el4); + dom.appendChild(el2, el3); + var el3 = dom.createTextNode("\n "); + dom.appendChild(el2, el3); + var el3 = dom.createElement("h4"); + dom.setAttribute(el3,"class","modal-title"); + var el4 = dom.createTextNode("\n"); + dom.appendChild(el3, el4); + var el4 = dom.createTextNode(" "); + dom.appendChild(el3, el4); + var el4 = dom.createTextNode("\n "); + dom.appendChild(el3, el4); + dom.appendChild(el2, el3); + var el3 = dom.createTextNode("\n "); + dom.appendChild(el2, el3); + dom.appendChild(el1, el2); + var el2 = dom.createTextNode("\n "); + dom.appendChild(el1, el2); + var el2 = dom.createElement("div"); + dom.setAttribute(el2,"class","modal-body"); + var el3 = dom.createTextNode("\n"); + dom.appendChild(el2, el3); + var el3 = dom.createTextNode(" "); + dom.appendChild(el2, el3); + dom.appendChild(el1, el2); + var el2 = dom.createTextNode("\n "); + dom.appendChild(el1, el2); + var el2 = dom.createElement("div"); + var el3 = dom.createTextNode("\n"); + dom.appendChild(el2, el3); + var el3 = dom.createTextNode(""); + dom.appendChild(el2, el3); + var el3 = dom.createTextNode(" "); + dom.appendChild(el2, el3); + dom.appendChild(el1, el2); + var el2 = dom.createTextNode("\n "); + dom.appendChild(el1, el2); + dom.appendChild(el0, el1); + var el1 = dom.createTextNode("\n"); + dom.appendChild(el0, el1); + return el0; + }, + render: function render(context, env, contextualElement) { + var dom = env.dom; + var hooks = env.hooks, element = hooks.element, get = hooks.get, block = hooks.block, content = hooks.content; + dom.detectNamespace(contextualElement); + var fragment; + if (env.useFragmentCache && dom.canClone) { + if (this.cachedFragment === null) { + fragment = this.build(dom); + if (this.hasRendered) { + this.cachedFragment = fragment; + } else { + this.hasRendered = true; + } + } + if (this.cachedFragment) { + fragment = dom.cloneNode(this.cachedFragment, true); + } + } else { + fragment = this.build(dom); + } + var element1 = dom.childAt(fragment, [1]); + var element2 = dom.childAt(element1, [1]); + var element3 = dom.childAt(element2, [1]); + var element4 = dom.childAt(element2, [3]); + var element5 = dom.childAt(element1, [5]); + if (this.cachedFragment) { dom.repairClonedNode(element5,[1]); } + var morph0 = dom.createMorphAt(element4,0,1); + var morph1 = dom.createUnsafeMorphAt(element4,1,2); + var morph2 = dom.createMorphAt(dom.childAt(element1, [3]),0,1); + var morph3 = dom.createMorphAt(element5,0,1); + var morph4 = dom.createMorphAt(element5,1,2); + element(env, element3, context, "bind-attr", [], {"class": ":close allowClose::hide"}); + block(env, morph0, context, "if", [get(env, context, "titleIconClasses")], {}, child0, null); + content(env, morph1, context, "title"); + block(env, morph2, context, "if", [get(env, context, "body")], {}, child1, child2); + element(env, element5, context, "bind-attr", [], {"class": ":modal-footer fullSizeButtons:modal-footer-full"}); + block(env, morph3, context, "each", [get(env, context, "footerButtons")], {}, child3, null); + block(env, morph4, context, "each", [get(env, context, "footerViews")], {}, child4, null); + return fragment; + } + }; +}())); \ No newline at end of file diff --git a/dist/js/bs-modal.min.js b/dist/js/bs-modal.min.js index 6015275..edb9f77 100644 --- a/dist/js/bs-modal.min.js +++ b/dist/js/bs-modal.min.js @@ -1 +1 @@ -(function(){Bootstrap.BsModalComponent=Ember.Component.extend(Ember.Evented,{layoutName:"components/bs-modal",classNames:["modal"],classNameBindings:["fade","isVis:in"],attributeBindings:["role","aria-labelledby","isAriaHidden:aria-hidden","ariaLabelledBy:aria-labelledby"],isAriaHidden:function(){return""+this.get("isVisible")}.property("isVisible"),modalBackdrop:'',role:"dialog",footerViews:[],backdrop:!0,title:null,isVisible:!1,manual:!1,isVis:!1,fullSizeButtons:!1,fade:!0,didInsertElement:function(){var a;return this._super(),this.setupBinders(),a=this.get("name"),Ember.assert("Modal name is required for modal view "+this.get("elementId"),this.get("name")),null==a&&(a=this.get("elementId")),Bootstrap.ModalManager.add(a,this),this.manual?this.show():void 0},becameVisible:function(){return Em.$("body").addClass("modal-open"),this.get("backdrop")?this.appendBackdrop():void 0},becameHidden:function(){return Em.$("body").removeClass("modal-open"),this._backdrop?this._backdrop.remove():void 0},appendBackdrop:function(){var a;return a=this.$().parent(),this._backdrop=Em.$(this.modalBackdrop).appendTo(a)},show:function(){var a;this.set("isVisible",!0),a=this,setTimeout(function(){a.set("isVis",!0)},15)},hide:function(){var a;return this.set("isVis",!1),a=this,this.$().one("webkitTransitionEnd",function(){a.set("isVisible",!1)}),!1},toggle:function(){return this.toggleProperty("isVisible")},click:function(a){var b,c;return b=a.target,c=b.getAttribute("data-dismiss"),"modal"===c?this.close():void 0},keyPressed:function(a){return 27===a.keyCode?this.close(a):void 0},close:function(){var a;return this.set("isVis",!1),a=this,this.$().one("webkitTransitionEnd",function(){a.get("manual")?a.destroy():a.hide()}),this.trigger("closed")},willDestroyElement:function(){var a;return Em.$("body").removeClass("modal-open"),this.removeHandlers(),a=this.get("name"),null==a&&(a=this.get("elementId")),Bootstrap.ModalManager.remove(a,this),this._backdrop?this._backdrop.remove():void 0},removeHandlers:function(){return jQuery(window.document).unbind("keyup",this._keyUpHandler)},setupBinders:function(){var a,b=this;return a=function(a){return b.keyPressed(a)},jQuery(window.document).bind("keyup",a),this._keyUpHandler=a}}),Bootstrap.ModalManager=Ember.Object.create({add:function(a,b){return this.set(a,b)},register:function(a,b){return this.add(a,b),b.appendTo(b.get("targetObject").namespace.rootElement)},remove:function(a){return this.set(a,null)},close:function(a){return this.get(a).close()},hide:function(a){return this.get(a).hide()},show:function(a){return this.get(a).show()},toggle:function(a){return this.get(a).toggle()},confirm:function(a,b,c,d,e,f,g,h,i,j,k,l){var m,n;return null==d&&(d="Confirm"),null==e&&(e="modalConfirmed"),null==f&&(f=null),null==g&&(g="Cancel"),null==h&&(h="modalCanceled"),null==i&&(i=null),null==j&&(j=a),null==k&&(k=!0),null==l&&(l=!1),m=Ember.View.extend({template:Ember.Handlebars.compile(c||"Are you sure you would like to perform this action?")}),n=[Ember.Object.create({title:d,clicked:e,type:f,dismiss:"modal"}),Ember.Object.create({title:g,clicked:h,type:i,dismiss:"modal"})],this.open("confirm-modal",b||"Confirmation required!",m,n,a,k,l,j)}},{okModal:function(a,b,c,d,e,f,g,h,i){var j,k;return null==d&&(d="OK"),null==e&&(e="okModal"),null==f&&(f=null),null==g&&(g=a),null==h&&(h=!0),null==i&&(i=!1),j=Ember.View.extend({template:Ember.Handlebars.compile(c||"Are you sure you would like to perform this action?")}),k=[Ember.Object.create({title:d,clicked:e,type:f,dismiss:"modal"})],this.open("ok-modal",b||"Confirmation required!",j,k,a,h,i,g)},openModal:function(a,b){var c,d;return null==b&&(b={}),d=b.rootElement||".ember-application",c=a.create(b),c.appendTo(d)},openManual:function(a,b,c,d,e,f,g,h){var i;return i=Ember.View.extend({template:Ember.Handlebars.compile(c),controller:e}),this.open(a,b,i,d,e,f,g,h)},open:function(a,b,c,d,e,f,g,h){var i,j,k;return null==g&&(g=!1),null==h&&(h=e),i=e.container.lookup("component-lookup:main"),j=i.lookupFactory("bs-modal",e.get("container")).create(),j.setProperties({name:a,title:b,manual:!0,footerButtons:d,targetObject:h,fade:f,fullSizeButtons:g}),"string"===Ember.typeOf(c)?(k=e.container.lookup("template:"+c),Ember.assert("Template "+c+" was specified for Modal but template could not be found.",k),k&&j.setProperties({body:Ember.View.extend({template:k,controller:e})})):"class"===Ember.typeOf(c)&&j.setProperties({body:c,controller:e}),j.appendTo(e.namespace.rootElement)}}),Ember.Application.initializer({name:"bs-modal",initialize:function(a){return a.register("component:bs-modal",Bootstrap.BsModalComponent)}})}).call(this),Ember.TEMPLATES["components/bs-modal"]=Ember.HTMLBars.template({1:function(a,b,c,d){var e=this.escapeExpression,f="";return d.buffer.push(" \r\n"),f},3:function(a,b,c,d){var e=this.escapeExpression,f="";return d.buffer.push(" "),d.buffer.push(e(b.view.call(a,"view.body",{name:"view",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}))),d.buffer.push("\r\n"),f},5:function(a,b,c,d){var e,f="";return d.buffer.push(" "),e=b._triageMustache.call(a,"yield",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("\r\n"),f},7:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression,g="";return d.buffer.push(" "),d.buffer.push(f((b["bs-button"]||a&&a["bs-button"]||e).call(a,{name:"bs-button",hash:{targetObjectBinding:"view.targetObject",content:""},hashTypes:{targetObjectBinding:"STRING",content:"ID"},hashContexts:{targetObjectBinding:a,content:a},types:[],contexts:[],data:d}))),d.buffer.push("\r\n"),g},9:function(a,b,c,d){var e=this.escapeExpression,f="";return d.buffer.push(" "),d.buffer.push(e(b.view.call(a,"",{name:"view",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}))),d.buffer.push("\r\n"),f},compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f=this.escapeExpression,g="";return d.buffer.push('"),g},useData:!0}); \ No newline at end of file +(function(){Bootstrap.BsModalComponent=Ember.Component.extend(Ember.Evented,{layoutName:"components/bs-modal",classNames:["modal"],classNameBindings:["fade","isVis:in"],attributeBindings:["role","aria-labelledby","isAriaHidden:aria-hidden","ariaLabelledBy:aria-labelledby"],isAriaHidden:function(){return""+this.get("isVisible")}.property("isVisible"),modalBackdrop:'',role:"dialog",footerViews:[],backdrop:!0,title:null,isVisible:!1,manual:!1,isVis:!1,fullSizeButtons:!1,fade:!0,didInsertElement:function(){var a;return this._super(),this.setupBinders(),a=this.get("name"),Ember.assert("Modal name is required for modal view "+this.get("elementId"),this.get("name")),null==a&&(a=this.get("elementId")),Bootstrap.ModalManager.add(a,this),this.manual?this.show():void 0},becameVisible:function(){return Em.$("body").addClass("modal-open"),this.get("backdrop")?this.appendBackdrop():void 0},becameHidden:function(){return Em.$("body").removeClass("modal-open"),this._backdrop?this._backdrop.remove():void 0},appendBackdrop:function(){var a;return a=this.$().parent(),this._backdrop=Em.$(this.modalBackdrop).appendTo(a)},show:function(){var a;this.set("isVisible",!0),a=this,setTimeout(function(){a.set("isVis",!0)},15)},hide:function(){var a;return this.set("isVis",!1),a=this,this.$().one("webkitTransitionEnd",function(){a.set("isVisible",!1)}),!1},toggle:function(){return this.toggleProperty("isVisible")},click:function(a){var b,c;return b=a.target,c=b.getAttribute("data-dismiss"),"modal"===c?this.close():void 0},keyPressed:function(a){return 27===a.keyCode?this.close(a):void 0},close:function(){var a;return this.set("isVis",!1),a=this,this.$().one("webkitTransitionEnd",function(){a.get("manual")?a.destroy():a.hide()}),this.trigger("closed")},willDestroyElement:function(){var a;return Em.$("body").removeClass("modal-open"),this.removeHandlers(),a=this.get("name"),null==a&&(a=this.get("elementId")),Bootstrap.ModalManager.remove(a,this),this._backdrop?this._backdrop.remove():void 0},removeHandlers:function(){return jQuery(window.document).unbind("keyup",this._keyUpHandler)},setupBinders:function(){var a,b=this;return a=function(a){return b.keyPressed(a)},jQuery(window.document).bind("keyup",a),this._keyUpHandler=a}}),Bootstrap.ModalManager=Ember.Object.create({add:function(a,b){return this.set(a,b)},register:function(a,b){return this.add(a,b),b.appendTo(b.get("targetObject").namespace.rootElement)},remove:function(a){return this.set(a,null)},close:function(a){return this.get(a).close()},hide:function(a){return this.get(a).hide()},show:function(a){return this.get(a).show()},toggle:function(a){return this.get(a).toggle()},confirm:function(a,b,c,d,e,f,g,h,i,j,k,l){var m,n;return null==d&&(d="Confirm"),null==e&&(e="modalConfirmed"),null==f&&(f=null),null==g&&(g="Cancel"),null==h&&(h="modalCanceled"),null==i&&(i=null),null==j&&(j=a),null==k&&(k=!0),null==l&&(l=!1),m=Ember.View.extend({template:Ember.Handlebars.compile(c||"Are you sure you would like to perform this action?")}),n=[Ember.Object.create({title:d,clicked:e,type:f,dismiss:"modal"}),Ember.Object.create({title:g,clicked:h,type:i,dismiss:"modal"})],this.open("confirm-modal",b||"Confirmation required!",m,n,a,k,l,j)}},{okModal:function(a,b,c,d,e,f,g,h,i){var j,k;return null==d&&(d="OK"),null==e&&(e="okModal"),null==f&&(f=null),null==g&&(g=a),null==h&&(h=!0),null==i&&(i=!1),j=Ember.View.extend({template:Ember.Handlebars.compile(c||"Are you sure you would like to perform this action?")}),k=[Ember.Object.create({title:d,clicked:e,type:f,dismiss:"modal"})],this.open("ok-modal",b||"Confirmation required!",j,k,a,h,i,g)},openModal:function(a,b){var c,d;return null==b&&(b={}),d=b.rootElement||".ember-application",c=a.create(b),c.appendTo(d)},openManual:function(a,b,c,d,e,f,g,h){var i;return i=Ember.View.extend({template:Ember.Handlebars.compile(c),controller:e}),this.open(a,b,i,d,e,f,g,h)},open:function(a,b,c,d,e,f,g,h){var i,j,k;return null==g&&(g=!1),null==h&&(h=e),i=e.container.lookup("component-lookup:main"),j=i.lookupFactory("bs-modal",e.get("container")).create(),j.setProperties({name:a,title:b,manual:!0,footerButtons:d,targetObject:h,fade:f,fullSizeButtons:g}),"string"===Ember.typeOf(c)?(k=e.container.lookup("template:"+c),Ember.assert("Template "+c+" was specified for Modal but template could not be found.",k),k&&j.setProperties({body:Ember.View.extend({template:k,controller:e})})):"class"===Ember.typeOf(c)&&j.setProperties({body:c,controller:e}),j.appendTo(e.namespace.rootElement)}}),Ember.Application.initializer({name:"bs-modal",initialize:function(a){return a.register("component:bs-modal",Bootstrap.BsModalComponent)}})}).call(this),Ember.TEMPLATES["components/bs-modal"]=Ember.HTMLBars.template(function(){var a=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createElement("i");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.element;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.childAt(g,[1]);return f(b,h,a,"bind-attr",[],{"class":"titleIconClasses"}),g}}}(),b=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,0,1,c);return g(b,i,a,"view",[f(b,a,"view.body")],{}),h}}}(),c=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.content;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.createMorphAt(g,0,1,c);return f(b,h,a,"yield"),g}}}(),d=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,0,1,c);return g(b,i,a,"bs-button",[],{content:f(b,a,"this"),targetObjectBinding:"view.targetObject"}),h}}}(),e=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,0,1,c);return g(b,i,a,"view",[f(b,a,"this")],{}),h}}}();return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createElement("div");a.setAttribute(b,"class","modal-dialog");var c=a.createTextNode("\n ");a.appendChild(b,c);var c=a.createElement("div");a.setAttribute(c,"class","modal-content");var d=a.createTextNode("\n ");a.appendChild(c,d);var d=a.createElement("div");a.setAttribute(d,"class","modal-header");var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("button");a.setAttribute(e,"type","button"),a.setAttribute(e,"data-dismiss","modal"),a.setAttribute(e,"aria-hidden","true");var f=a.createTextNode("×");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("h4");a.setAttribute(e,"class","modal-title");var f=a.createTextNode("\n");a.appendChild(e,f);var f=a.createTextNode(" ");a.appendChild(e,f);var f=a.createTextNode("\n ");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e),a.appendChild(c,d);var d=a.createTextNode("\n ");a.appendChild(c,d);var d=a.createElement("div");a.setAttribute(d,"class","modal-body");var e=a.createTextNode("\n");a.appendChild(d,e);var e=a.createTextNode(" ");a.appendChild(d,e),a.appendChild(c,d);var d=a.createTextNode("\n ");a.appendChild(c,d);var d=a.createElement("div"),e=a.createTextNode("\n");a.appendChild(d,e);var e=a.createTextNode("");a.appendChild(d,e);var e=a.createTextNode(" ");a.appendChild(d,e),a.appendChild(c,d);var d=a.createTextNode("\n ");a.appendChild(c,d),a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(f,g,h){var i=g.dom,j=g.hooks,k=j.element,l=j.get,m=j.block,n=j.content;i.detectNamespace(h);var o;g.useFragmentCache&&i.canClone?(null===this.cachedFragment&&(o=this.build(i),this.hasRendered?this.cachedFragment=o:this.hasRendered=!0),this.cachedFragment&&(o=i.cloneNode(this.cachedFragment,!0))):o=this.build(i);var p=i.childAt(o,[1]),q=i.childAt(p,[1]),r=i.childAt(q,[1]),s=i.childAt(q,[3]),t=i.childAt(p,[5]);this.cachedFragment&&i.repairClonedNode(t,[1]);var u=i.createMorphAt(s,0,1),v=i.createUnsafeMorphAt(s,1,2),w=i.createMorphAt(i.childAt(p,[3]),0,1),x=i.createMorphAt(t,0,1),y=i.createMorphAt(t,1,2);return k(g,r,f,"bind-attr",[],{"class":":close allowClose::hide"}),m(g,u,f,"if",[l(g,f,"titleIconClasses")],{},a,null),n(g,v,f,"title"),m(g,w,f,"if",[l(g,f,"body")],{},b,c),k(g,t,f,"bind-attr",[],{"class":":modal-footer fullSizeButtons:modal-footer-full"}),m(g,x,f,"each",[l(g,f,"footerButtons")],{},d,null),m(g,y,f,"each",[l(g,f,"footerViews")],{},e,null),o}}}()); \ No newline at end of file diff --git a/dist/js/bs-progressbar.max.js b/dist/js/bs-progressbar.max.js index 0f9051b..5739826 100644 --- a/dist/js/bs-progressbar.max.js +++ b/dist/js/bs-progressbar.max.js @@ -44,34 +44,164 @@ Parent component of a progressbar component }).call(this); -Ember.TEMPLATES["components/bs-progress"] = Ember.HTMLBars.template({"1":function(depth0,helpers,partials,data) { - var helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression, buffer = ''; - data.buffer.push(" "); - data.buffer.push(escapeExpression(((helpers['bs-progressbar'] || (depth0 && depth0['bs-progressbar']) || helperMissing).call(depth0, {"name":"bs-progressbar","hash":{ - 'type': ("type"), - 'progress': ("progress") - },"hashTypes":{'type': "ID",'progress': "ID"},"hashContexts":{'type': depth0,'progress': depth0},"types":[],"contexts":[],"data":data})))); - data.buffer.push("\r\n"); - return buffer; -},"3":function(depth0,helpers,partials,data) { - var stack1, buffer = ''; - data.buffer.push(" "); - stack1 = helpers._triageMustache.call(depth0, "yield", {"name":"_triageMustache","hash":{},"hashTypes":{},"hashContexts":{},"types":["ID"],"contexts":[depth0],"data":data}); - if (stack1 != null) { data.buffer.push(stack1); } - data.buffer.push("\r\n"); - return buffer; -},"compiler":[6,">= 2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) { - var stack1; - stack1 = helpers['if'].call(depth0, "default", {"name":"if","hash":{},"hashTypes":{},"hashContexts":{},"fn":this.program(1, data),"inverse":this.program(3, data),"types":["ID"],"contexts":[depth0],"data":data}); - if (stack1 != null) { data.buffer.push(stack1); } - else { data.buffer.push(''); } - },"useData":true}); +Ember.TEMPLATES["components/bs-progress"] = Ember.HTMLBars.template((function() { + var child0 = (function() { + return { + isHTMLBars: true, + blockParams: 0, + cachedFragment: null, + hasRendered: false, + build: function build(dom) { + var el0 = dom.createDocumentFragment(); + var el1 = dom.createTextNode(" "); + dom.appendChild(el0, el1); + var el1 = dom.createTextNode("\n"); + dom.appendChild(el0, el1); + return el0; + }, + render: function render(context, env, contextualElement) { + var dom = env.dom; + var hooks = env.hooks, get = hooks.get, inline = hooks.inline; + dom.detectNamespace(contextualElement); + var fragment; + if (env.useFragmentCache && dom.canClone) { + if (this.cachedFragment === null) { + fragment = this.build(dom); + if (this.hasRendered) { + this.cachedFragment = fragment; + } else { + this.hasRendered = true; + } + } + if (this.cachedFragment) { + fragment = dom.cloneNode(this.cachedFragment, true); + } + } else { + fragment = this.build(dom); + } + var morph0 = dom.createMorphAt(fragment,0,1,contextualElement); + inline(env, morph0, context, "bs-progressbar", [], {"progress": get(env, context, "progress"), "type": get(env, context, "type")}); + return fragment; + } + }; + }()); + var child1 = (function() { + return { + isHTMLBars: true, + blockParams: 0, + cachedFragment: null, + hasRendered: false, + build: function build(dom) { + var el0 = dom.createDocumentFragment(); + var el1 = dom.createTextNode(" "); + dom.appendChild(el0, el1); + var el1 = dom.createTextNode("\n"); + dom.appendChild(el0, el1); + return el0; + }, + render: function render(context, env, contextualElement) { + var dom = env.dom; + var hooks = env.hooks, content = hooks.content; + dom.detectNamespace(contextualElement); + var fragment; + if (env.useFragmentCache && dom.canClone) { + if (this.cachedFragment === null) { + fragment = this.build(dom); + if (this.hasRendered) { + this.cachedFragment = fragment; + } else { + this.hasRendered = true; + } + } + if (this.cachedFragment) { + fragment = dom.cloneNode(this.cachedFragment, true); + } + } else { + fragment = this.build(dom); + } + var morph0 = dom.createMorphAt(fragment,0,1,contextualElement); + content(env, morph0, context, "yield"); + return fragment; + } + }; + }()); + return { + isHTMLBars: true, + blockParams: 0, + cachedFragment: null, + hasRendered: false, + build: function build(dom) { + var el0 = dom.createDocumentFragment(); + var el1 = dom.createTextNode(""); + dom.appendChild(el0, el1); + var el1 = dom.createTextNode(""); + dom.appendChild(el0, el1); + return el0; + }, + render: function render(context, env, contextualElement) { + var dom = env.dom; + var hooks = env.hooks, get = hooks.get, block = hooks.block; + dom.detectNamespace(contextualElement); + var fragment; + if (env.useFragmentCache && dom.canClone) { + if (this.cachedFragment === null) { + fragment = this.build(dom); + if (this.hasRendered) { + this.cachedFragment = fragment; + } else { + this.hasRendered = true; + } + } + if (this.cachedFragment) { + fragment = dom.cloneNode(this.cachedFragment, true); + } + } else { + fragment = this.build(dom); + } + if (this.cachedFragment) { dom.repairClonedNode(fragment,[0,1]); } + var morph0 = dom.createMorphAt(fragment,0,1,contextualElement); + block(env, morph0, context, "if", [get(env, context, "default")], {}, child0, child1); + return fragment; + } + }; +}())); -Ember.TEMPLATES["components/bs-progressbar"] = Ember.HTMLBars.template({"compiler":[6,">= 2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) { - var stack1, buffer = ''; - data.buffer.push(""); - stack1 = helpers._triageMustache.call(depth0, "progress", {"name":"_triageMustache","hash":{},"hashTypes":{},"hashContexts":{},"types":["ID"],"contexts":[depth0],"data":data}); - if (stack1 != null) { data.buffer.push(stack1); } - data.buffer.push("% Complete"); - return buffer; -},"useData":true}); \ No newline at end of file +Ember.TEMPLATES["components/bs-progressbar"] = Ember.HTMLBars.template((function() { + return { + isHTMLBars: true, + blockParams: 0, + cachedFragment: null, + hasRendered: false, + build: function build(dom) { + var el0 = dom.createElement("span"); + dom.setAttribute(el0,"class","sr-only"); + var el1 = dom.createTextNode("% Complete"); + dom.appendChild(el0, el1); + return el0; + }, + render: function render(context, env, contextualElement) { + var dom = env.dom; + var hooks = env.hooks, content = hooks.content; + dom.detectNamespace(contextualElement); + var fragment; + if (env.useFragmentCache && dom.canClone) { + if (this.cachedFragment === null) { + fragment = this.build(dom); + if (this.hasRendered) { + this.cachedFragment = fragment; + } else { + this.hasRendered = true; + } + } + if (this.cachedFragment) { + fragment = dom.cloneNode(this.cachedFragment, true); + } + } else { + fragment = this.build(dom); + } + var morph0 = dom.createMorphAt(fragment,-1,0); + content(env, morph0, context, "progress"); + return fragment; + } + }; +}())); \ No newline at end of file diff --git a/dist/js/bs-progressbar.min.js b/dist/js/bs-progressbar.min.js index 67a2f15..7bb9fdb 100644 --- a/dist/js/bs-progressbar.min.js +++ b/dist/js/bs-progressbar.min.js @@ -1 +1 @@ -(function(){Bootstrap.BsProgressComponent=Ember.Component.extend({layoutName:"components/bs-progress",classNames:["progress"],classNameBindings:["animated:active","stripped:progress-striped"],progress:null,stripped:!1,animated:!1,"default":function(){return this.progress}.property("progress")}),Ember.Handlebars.helper("bs-progress",Bootstrap.BsProgressComponent)}).call(this),function(){Bootstrap.BsProgressbarComponent=Ember.Component.extend(Bootstrap.TypeSupport,{layoutName:"components/bs-progressbar",classNames:["progress-bar"],attributeBindings:["style","role","aria-valuemin","ariaValueNow:aria-valuenow","aria-valuemax"],classTypePrefix:"progress-bar",role:"progressbar","aria-valuemin":0,"aria-valuemax":100,init:function(){return this._super()},style:function(){return"width:"+this.progress+"%;"}.property("progress").cacheable(),ariaValueNow:function(){return this.progress}.property("progress").cacheable()}),Ember.Handlebars.helper("bs-progressbar",Bootstrap.BsProgressbarComponent)}.call(this),Ember.TEMPLATES["components/bs-progress"]=Ember.HTMLBars.template({1:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression,g="";return d.buffer.push(" "),d.buffer.push(f((b["bs-progressbar"]||a&&a["bs-progressbar"]||e).call(a,{name:"bs-progressbar",hash:{type:"type",progress:"progress"},hashTypes:{type:"ID",progress:"ID"},hashContexts:{type:a,progress:a},types:[],contexts:[],data:d}))),d.buffer.push("\r\n"),g},3:function(a,b,c,d){var e,f="";return d.buffer.push(" "),e=b._triageMustache.call(a,"yield",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("\r\n"),f},compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e;e=b["if"].call(a,"default",{name:"if",hash:{},hashTypes:{},hashContexts:{},fn:this.program(1,d),inverse:this.program(3,d),types:["ID"],contexts:[a],data:d}),d.buffer.push(null!=e?e:"")},useData:!0}),Ember.TEMPLATES["components/bs-progressbar"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f="";return d.buffer.push(''),e=b._triageMustache.call(a,"progress",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("% Complete"),f},useData:!0}); \ No newline at end of file +(function(){Bootstrap.BsProgressComponent=Ember.Component.extend({layoutName:"components/bs-progress",classNames:["progress"],classNameBindings:["animated:active","stripped:progress-striped"],progress:null,stripped:!1,animated:!1,"default":function(){return this.progress}.property("progress")}),Ember.Handlebars.helper("bs-progress",Bootstrap.BsProgressComponent)}).call(this),function(){Bootstrap.BsProgressbarComponent=Ember.Component.extend(Bootstrap.TypeSupport,{layoutName:"components/bs-progressbar",classNames:["progress-bar"],attributeBindings:["style","role","aria-valuemin","ariaValueNow:aria-valuenow","aria-valuemax"],classTypePrefix:"progress-bar",role:"progressbar","aria-valuemin":0,"aria-valuemax":100,init:function(){return this._super()},style:function(){return"width:"+this.progress+"%;"}.property("progress").cacheable(),ariaValueNow:function(){return this.progress}.property("progress").cacheable()}),Ember.Handlebars.helper("bs-progressbar",Bootstrap.BsProgressbarComponent)}.call(this),Ember.TEMPLATES["components/bs-progress"]=Ember.HTMLBars.template(function(){var a=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,0,1,c);return g(b,i,a,"bs-progressbar",[],{progress:f(b,a,"progress"),type:f(b,a,"type")}),h}}}(),b=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.content;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.createMorphAt(g,0,1,c);return f(b,h,a,"yield"),g}}}();return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode("");a.appendChild(b,c);var c=a.createTextNode("");return a.appendChild(b,c),b},render:function(c,d,e){var f=d.dom,g=d.hooks,h=g.get,i=g.block;f.detectNamespace(e);var j;d.useFragmentCache&&f.canClone?(null===this.cachedFragment&&(j=this.build(f),this.hasRendered?this.cachedFragment=j:this.hasRendered=!0),this.cachedFragment&&(j=f.cloneNode(this.cachedFragment,!0))):j=this.build(f),this.cachedFragment&&f.repairClonedNode(j,[0,1]);var k=f.createMorphAt(j,0,1,e);return i(d,k,c,"if",[h(d,c,"default")],{},a,b),j}}}()),Ember.TEMPLATES["components/bs-progressbar"]=Ember.HTMLBars.template(function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createElement("span");a.setAttribute(b,"class","sr-only");var c=a.createTextNode("% Complete");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.content;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.createMorphAt(g,-1,0);return f(b,h,a,"progress"),g}}}()); \ No newline at end of file diff --git a/dist/showcase/scripts/showcase-components.js b/dist/showcase/scripts/showcase-components.js index d9b385d..aeda0ac 100644 --- a/dist/showcase/scripts/showcase-components.js +++ b/dist/showcase/scripts/showcase-components.js @@ -2,19 +2,20 @@ },set:function(a,b,c){return b===!1?ib.removeAttr(a,c):Jb&&Ib||!Hb.test(c)?a.setAttribute(!Ib&&ib.propFix[c]||c,c):a[ib.camelCase("default-"+c)]=a[c]=!0,c}},Jb&&Ib||(ib.attrHooks.value={get:function(a,c){var d=a.getAttributeNode(c);return ib.nodeName(a,"input")?a.defaultValue:d&&d.specified?d.value:b},set:function(a,b,c){return ib.nodeName(a,"input")?void(a.defaultValue=b):Ab&&Ab.set(a,b,c)}}),Ib||(Ab=ib.valHooks.button={get:function(a,c){var d=a.getAttributeNode(c);return d&&("id"===c||"name"===c||"coords"===c?""!==d.value:d.specified)?d.value:b},set:function(a,c,d){var e=a.getAttributeNode(d);return e||a.setAttributeNode(e=a.ownerDocument.createAttribute(d)),e.value=c+="","value"===d||c===a.getAttribute(d)?c:b}},ib.attrHooks.contenteditable={get:Ab.get,set:function(a,b,c){Ab.set(a,""===b?!1:b,c)}},ib.each(["width","height"],function(a,b){ib.attrHooks[b]=ib.extend(ib.attrHooks[b],{set:function(a,c){return""===c?(a.setAttribute(b,"auto"),c):void 0}})})),ib.support.hrefNormalized||(ib.each(["href","src","width","height"],function(a,c){ib.attrHooks[c]=ib.extend(ib.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return null==d?b:d}})}),ib.each(["href","src"],function(a,b){ib.propHooks[b]={get:function(a){return a.getAttribute(b,4)}}})),ib.support.style||(ib.attrHooks.style={get:function(a){return a.style.cssText||b},set:function(a,b){return a.style.cssText=b+""}}),ib.support.optSelected||(ib.propHooks.selected=ib.extend(ib.propHooks.selected,{get:function(a){var b=a.parentNode;return b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex),null}})),ib.support.enctype||(ib.propFix.enctype="encoding"),ib.support.checkOn||ib.each(["radio","checkbox"],function(){ib.valHooks[this]={get:function(a){return null===a.getAttribute("value")?"on":a.value}}}),ib.each(["radio","checkbox"],function(){ib.valHooks[this]=ib.extend(ib.valHooks[this],{set:function(a,b){return ib.isArray(b)?a.checked=ib.inArray(ib(a).val(),b)>=0:void 0}})});var Kb=/^(?:input|select|textarea)$/i,Lb=/^key/,Mb=/^(?:mouse|contextmenu)|click/,Nb=/^(?:focusinfocus|focusoutblur)$/,Ob=/^([^.]*)(?:\.(.+)|)$/;ib.event={global:{},add:function(a,c,d,e,f){var g,h,i,j,k,l,m,n,o,p,q,r=ib._data(a);if(r){for(d.handler&&(j=d,d=j.handler,f=j.selector),d.guid||(d.guid=ib.guid++),(h=r.events)||(h=r.events={}),(l=r.handle)||(l=r.handle=function(a){return typeof ib===V||a&&ib.event.triggered===a.type?b:ib.event.dispatch.apply(l.elem,arguments)},l.elem=a),c=(c||"").match(kb)||[""],i=c.length;i--;)g=Ob.exec(c[i])||[],o=q=g[1],p=(g[2]||"").split(".").sort(),k=ib.event.special[o]||{},o=(f?k.delegateType:k.bindType)||o,k=ib.event.special[o]||{},m=ib.extend({type:o,origType:q,data:e,handler:d,guid:d.guid,selector:f,needsContext:f&&ib.expr.match.needsContext.test(f),namespace:p.join(".")},j),(n=h[o])||(n=h[o]=[],n.delegateCount=0,k.setup&&k.setup.call(a,e,p,l)!==!1||(a.addEventListener?a.addEventListener(o,l,!1):a.attachEvent&&a.attachEvent("on"+o,l))),k.add&&(k.add.call(a,m),m.handler.guid||(m.handler.guid=d.guid)),f?n.splice(n.delegateCount++,0,m):n.push(m),ib.event.global[o]=!0;a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=ib.hasData(a)&&ib._data(a);if(q&&(k=q.events)){for(b=(b||"").match(kb)||[""],j=b.length;j--;)if(h=Ob.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n){for(l=ib.event.special[n]||{},n=(d?l.delegateType:l.bindType)||n,m=k[n]||[],h=h[2]&&new RegExp("(^|\\.)"+o.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=m.length;f--;)g=m[f],!e&&p!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(m.splice(f,1),g.selector&&m.delegateCount--,l.remove&&l.remove.call(a,g));i&&!m.length&&(l.teardown&&l.teardown.call(a,o,q.handle)!==!1||ib.removeEvent(a,n,q.handle),delete k[n])}else for(n in k)ib.event.remove(a,n+b[j],c,d,!0);ib.isEmptyObject(k)&&(delete q.handle,ib._removeData(a,"events"))}},trigger:function(c,d,e,f){var g,h,i,j,k,l,m,n=[e||W],o=gb.call(c,"type")?c.type:c,p=gb.call(c,"namespace")?c.namespace.split("."):[];if(i=l=e=e||W,3!==e.nodeType&&8!==e.nodeType&&!Nb.test(o+ib.event.triggered)&&(o.indexOf(".")>=0&&(p=o.split("."),o=p.shift(),p.sort()),h=o.indexOf(":")<0&&"on"+o,c=c[ib.expando]?c:new ib.Event(o,"object"==typeof c&&c),c.isTrigger=!0,c.namespace=p.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,c.result=b,c.target||(c.target=e),d=null==d?[c]:ib.makeArray(d,[c]),k=ib.event.special[o]||{},f||!k.trigger||k.trigger.apply(e,d)!==!1)){if(!f&&!k.noBubble&&!ib.isWindow(e)){for(j=k.delegateType||o,Nb.test(j+o)||(i=i.parentNode);i;i=i.parentNode)n.push(i),l=i;l===(e.ownerDocument||W)&&n.push(l.defaultView||l.parentWindow||a)}for(m=0;(i=n[m++])&&!c.isPropagationStopped();)c.type=m>1?j:k.bindType||o,g=(ib._data(i,"events")||{})[c.type]&&ib._data(i,"handle"),g&&g.apply(i,d),g=h&&i[h],g&&ib.acceptData(i)&&g.apply&&g.apply(i,d)===!1&&c.preventDefault();if(c.type=o,!(f||c.isDefaultPrevented()||k._default&&k._default.apply(e.ownerDocument,d)!==!1||"click"===o&&ib.nodeName(e,"a")||!ib.acceptData(e)||!h||!e[o]||ib.isWindow(e))){l=e[h],l&&(e[h]=null),ib.event.triggered=o;try{e[o]()}catch(q){}ib.event.triggered=b,l&&(e[h]=l)}return c.result}},dispatch:function(a){a=ib.event.fix(a);var c,d,e,f,g,h=[],i=db.call(arguments),j=(ib._data(this,"events")||{})[a.type]||[],k=ib.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){for(h=ib.event.handlers.call(this,a,j),c=0;(f=h[c++])&&!a.isPropagationStopped();)for(a.currentTarget=f.elem,g=0;(e=f.handlers[g++])&&!a.isImmediatePropagationStopped();)(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,d=((ib.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),d!==b&&(a.result=d)===!1&&(a.preventDefault(),a.stopPropagation()));return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,c){var d,e,f,g,h=[],i=c.delegateCount,j=a.target;if(i&&j.nodeType&&(!a.button||"click"!==a.type))for(;j!=this;j=j.parentNode||this)if(1===j.nodeType&&(j.disabled!==!0||"click"!==a.type)){for(f=[],g=0;i>g;g++)e=c[g],d=e.selector+" ",f[d]===b&&(f[d]=e.needsContext?ib(d,this).index(j)>=0:ib.find(d,this,null,[j]).length),f[d]&&f.push(e);f.length&&h.push({elem:j,handlers:f})}return iy.cacheLength&&delete a[b.shift()],a[c]=d}}function e(a){return a[N]=!0,a}function f(a){var b=F.createElement("div");try{return a(b)}catch(c){return!1}finally{b=null}}function g(a,b,c,d){var e,f,g,h,i,j,k,n,o,p;if((b?b.ownerDocument||b:O)!==F&&E(b),b=b||F,c=c||[],!a||"string"!=typeof a)return c;if(1!==(h=b.nodeType)&&9!==h)return[];if(!H&&!d){if(e=pb.exec(a))if(g=e[1]){if(9===h){if(f=b.getElementById(g),!f||!f.parentNode)return c;if(f.id===g)return c.push(f),c}else if(b.ownerDocument&&(f=b.ownerDocument.getElementById(g))&&L(b,f)&&f.id===g)return c.push(f),c}else{if(e[2])return Z.apply(c,$.call(b.getElementsByTagName(a),0)),c;if((g=e[3])&&P.getByClassName&&b.getElementsByClassName)return Z.apply(c,$.call(b.getElementsByClassName(g),0)),c}if(P.qsa&&!I.test(a)){if(k=!0,n=N,o=b,p=9===h&&a,1===h&&"object"!==b.nodeName.toLowerCase()){for(j=l(a),(k=b.getAttribute("id"))?n=k.replace(sb,"\\$&"):b.setAttribute("id",n),n="[id='"+n+"'] ",i=j.length;i--;)j[i]=n+m(j[i]);o=nb.test(a)&&b.parentNode||b,p=j.join(",")}if(p)try{return Z.apply(c,$.call(o.querySelectorAll(p),0)),c}catch(q){}finally{k||b.removeAttribute("id")}}}return u(a.replace(gb,"$1"),b,c,d)}function h(a,b){var c=b&&a,d=c&&(~b.sourceIndex||W)-(~a.sourceIndex||W);if(d)return d;if(c)for(;c=c.nextSibling;)if(c===b)return-1;return a?1:-1}function i(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function j(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function k(a){return e(function(b){return b=+b,e(function(c,d){for(var e,f=a([],c.length,b),g=f.length;g--;)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function l(a,b){var c,d,e,f,h,i,j,k=T[a+" "];if(k)return b?0:k.slice(0);for(h=a,i=[],j=y.preFilter;h;){(!c||(d=hb.exec(h)))&&(d&&(h=h.slice(d[0].length)||h),i.push(e=[])),c=!1,(d=jb.exec(h))&&(c=d.shift(),e.push({value:c,type:d[0].replace(gb," ")}),h=h.slice(c.length));for(f in y.filter)!(d=mb[f].exec(h))||j[f]&&!(d=j[f](d))||(c=d.shift(),e.push({value:c,type:f,matches:d}),h=h.slice(c.length));if(!c)break}return b?h.length:h?g.error(a):T(a,i).slice(0)}function m(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function n(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=R++;return b.first?function(b,c,f){for(;b=b[d];)if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j,k=Q+" "+f;if(g){for(;b=b[d];)if((1===b.nodeType||e)&&a(b,c,g))return!0}else for(;b=b[d];)if(1===b.nodeType||e)if(j=b[N]||(b[N]={}),(i=j[d])&&i[0]===k){if((h=i[1])===!0||h===x)return h===!0}else if(i=j[d]=[k],i[1]=a(b,c,g)||x,i[1]===!0)return!0}}function o(a){return a.length>1?function(b,c,d){for(var e=a.length;e--;)if(!a[e](b,c,d))return!1;return!0}:a[0]}function p(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function q(a,b,c,d,f,g){return d&&!d[N]&&(d=q(d)),f&&!f[N]&&(f=q(f,g)),e(function(e,g,h,i){var j,k,l,m=[],n=[],o=g.length,q=e||t(b||"*",h.nodeType?[h]:h,[]),r=!a||!e&&b?q:p(q,m,a,h,i),s=c?f||(e?a:o||d)?[]:g:r;if(c&&c(r,s,h,i),d)for(j=p(s,n),d(j,[],h,i),k=j.length;k--;)(l=j[k])&&(s[n[k]]=!(r[n[k]]=l));if(e){if(f||a){if(f){for(j=[],k=s.length;k--;)(l=s[k])&&j.push(r[k]=l);f(null,s=[],j,i)}for(k=s.length;k--;)(l=s[k])&&(j=f?_.call(e,l):m[k])>-1&&(e[j]=!(g[j]=l))}}else s=p(s===g?s.splice(o,s.length):s),f?f(null,g,s,i):Z.apply(g,s)})}function r(a){for(var b,c,d,e=a.length,f=y.relative[a[0].type],g=f||y.relative[" "],h=f?1:0,i=n(function(a){return a===b},g,!0),j=n(function(a){return _.call(b,a)>-1},g,!0),k=[function(a,c,d){return!f&&(d||c!==D)||((b=c).nodeType?i(a,c,d):j(a,c,d))}];e>h;h++)if(c=y.relative[a[h].type])k=[n(o(k),c)];else{if(c=y.filter[a[h].type].apply(null,a[h].matches),c[N]){for(d=++h;e>d&&!y.relative[a[d].type];d++);return q(h>1&&o(k),h>1&&m(a.slice(0,h-1)).replace(gb,"$1"),c,d>h&&r(a.slice(h,d)),e>d&&r(a=a.slice(d)),e>d&&m(a))}k.push(c)}return o(k)}function s(a,b){var c=0,d=b.length>0,f=a.length>0,h=function(e,h,i,j,k){var l,m,n,o=[],q=0,r="0",s=e&&[],t=null!=k,u=D,v=e||f&&y.find.TAG("*",k&&h.parentNode||h),w=Q+=null==u?1:Math.random()||.1;for(t&&(D=h!==F&&h,x=c);null!=(l=v[r]);r++){if(f&&l){for(m=0;n=a[m++];)if(n(l,h,i)){j.push(l);break}t&&(Q=w,x=++c)}d&&((l=!n&&l)&&q--,e&&s.push(l))}if(q+=r,d&&r!==q){for(m=0;n=b[m++];)n(s,o,h,i);if(e){if(q>0)for(;r--;)s[r]||o[r]||(o[r]=Y.call(j));o=p(o)}Z.apply(j,o),t&&!e&&o.length>0&&q+b.length>1&&g.uniqueSort(j)}return t&&(Q=w,D=u),s};return d?e(h):h}function t(a,b,c){for(var d=0,e=b.length;e>d;d++)g(a,b[d],c);return c}function u(a,b,c,d){var e,f,g,h,i,j=l(a);if(!d&&1===j.length){if(f=j[0]=j[0].slice(0),f.length>2&&"ID"===(g=f[0]).type&&9===b.nodeType&&!H&&y.relative[f[1].type]){if(b=y.find.ID(g.matches[0].replace(ub,vb),b)[0],!b)return c;a=a.slice(f.shift().value.length)}for(e=mb.needsContext.test(a)?0:f.length;e--&&(g=f[e],!y.relative[h=g.type]);)if((i=y.find[h])&&(d=i(g.matches[0].replace(ub,vb),nb.test(f[0].type)&&b.parentNode||b))){if(f.splice(e,1),a=d.length&&m(f),!a)return Z.apply(c,$.call(d,0)),c;break}}return B(a,j)(d,b,H,c,nb.test(a)),c}function v(){}var w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N="sizzle"+-new Date,O=a.document,P={},Q=0,R=0,S=d(),T=d(),U=d(),V=typeof b,W=1<<31,X=[],Y=X.pop,Z=X.push,$=X.slice,_=X.indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;return-1},ab="[\\x20\\t\\r\\n\\f]",bb="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",cb=bb.replace("w","w#"),db="([*^$|!~]?=)",eb="\\["+ab+"*("+bb+")"+ab+"*(?:"+db+ab+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+cb+")|)|)"+ab+"*\\]",fb=":("+bb+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+eb.replace(3,8)+")*)|.*)\\)|)",gb=new RegExp("^"+ab+"+|((?:^|[^\\\\])(?:\\\\.)*)"+ab+"+$","g"),hb=new RegExp("^"+ab+"*,"+ab+"*"),jb=new RegExp("^"+ab+"*([\\x20\\t\\r\\n\\f>+~])"+ab+"*"),kb=new RegExp(fb),lb=new RegExp("^"+cb+"$"),mb={ID:new RegExp("^#("+bb+")"),CLASS:new RegExp("^\\.("+bb+")"),NAME:new RegExp("^\\[name=['\"]?("+bb+")['\"]?\\]"),TAG:new RegExp("^("+bb.replace("w","w*")+")"),ATTR:new RegExp("^"+eb),PSEUDO:new RegExp("^"+fb),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ab+"*(even|odd|(([+-]|)(\\d*)n|)"+ab+"*(?:([+-]|)"+ab+"*(\\d+)|))"+ab+"*\\)|)","i"),needsContext:new RegExp("^"+ab+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ab+"*((?:-\\d)?\\d*)"+ab+"*\\)|)(?=[^-]|$)","i")},nb=/[\x20\t\r\n\f]*[+~]/,ob=/^[^{]+\{\s*\[native code/,pb=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,qb=/^(?:input|select|textarea|button)$/i,rb=/^h\d$/i,sb=/'|\\/g,tb=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,ub=/\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g,vb=function(a,b){var c="0x"+b-65536;return c!==c?b:0>c?String.fromCharCode(c+65536):String.fromCharCode(c>>10|55296,1023&c|56320)};try{$.call(O.documentElement.childNodes,0)[0].nodeType}catch(wb){$=function(a){for(var b,c=[];b=this[a++];)c.push(b);return c}}A=g.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},E=g.setDocument=function(a){var d=a?a.ownerDocument||a:O;return d!==F&&9===d.nodeType&&d.documentElement?(F=d,G=d.documentElement,H=A(d),P.tagNameNoComments=f(function(a){return a.appendChild(d.createComment("")),!a.getElementsByTagName("*").length}),P.attributes=f(function(a){a.innerHTML="";var b=typeof a.lastChild.getAttribute("multiple");return"boolean"!==b&&"string"!==b}),P.getByClassName=f(function(a){return a.innerHTML="",a.getElementsByClassName&&a.getElementsByClassName("e").length?(a.lastChild.className="e",2===a.getElementsByClassName("e").length):!1}),P.getByName=f(function(a){a.id=N+0,a.innerHTML="
    ",G.insertBefore(a,G.firstChild);var b=d.getElementsByName&&d.getElementsByName(N).length===2+d.getElementsByName(N+0).length;return P.getIdNotName=!d.getElementById(N),G.removeChild(a),b}),y.attrHandle=f(function(a){return a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!==V&&"#"===a.firstChild.getAttribute("href")})?{}:{href:function(a){return a.getAttribute("href",2)},type:function(a){return a.getAttribute("type")}},P.getIdNotName?(y.find.ID=function(a,b){if(typeof b.getElementById!==V&&!H){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},y.filter.ID=function(a){var b=a.replace(ub,vb);return function(a){return a.getAttribute("id")===b}}):(y.find.ID=function(a,c){if(typeof c.getElementById!==V&&!H){var d=c.getElementById(a);return d?d.id===a||typeof d.getAttributeNode!==V&&d.getAttributeNode("id").value===a?[d]:b:[]}},y.filter.ID=function(a){var b=a.replace(ub,vb);return function(a){var c=typeof a.getAttributeNode!==V&&a.getAttributeNode("id");return c&&c.value===b}}),y.find.TAG=P.tagNameNoComments?function(a,b){return typeof b.getElementsByTagName!==V?b.getElementsByTagName(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){for(;c=f[e++];)1===c.nodeType&&d.push(c);return d}return f},y.find.NAME=P.getByName&&function(a,b){return typeof b.getElementsByName!==V?b.getElementsByName(name):void 0},y.find.CLASS=P.getByClassName&&function(a,b){return typeof b.getElementsByClassName===V||H?void 0:b.getElementsByClassName(a)},J=[],I=[":focus"],(P.qsa=c(d.querySelectorAll))&&(f(function(a){a.innerHTML="",a.querySelectorAll("[selected]").length||I.push("\\["+ab+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),a.querySelectorAll(":checked").length||I.push(":checked")}),f(function(a){a.innerHTML="",a.querySelectorAll("[i^='']").length&&I.push("[*^$]="+ab+"*(?:\"\"|'')"),a.querySelectorAll(":enabled").length||I.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),I.push(",.*:")})),(P.matchesSelector=c(K=G.matchesSelector||G.mozMatchesSelector||G.webkitMatchesSelector||G.oMatchesSelector||G.msMatchesSelector))&&f(function(a){P.disconnectedMatch=K.call(a,"div"),K.call(a,"[s!='']:x"),J.push("!=",fb)}),I=new RegExp(I.join("|")),J=new RegExp(J.join("|")),L=c(G.contains)||G.compareDocumentPosition?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)for(;b=b.parentNode;)if(b===a)return!0;return!1},M=G.compareDocumentPosition?function(a,b){var c;return a===b?(C=!0,0):(c=b.compareDocumentPosition&&a.compareDocumentPosition&&a.compareDocumentPosition(b))?1&c||a.parentNode&&11===a.parentNode.nodeType?a===d||L(O,a)?-1:b===d||L(O,b)?1:0:4&c?-1:1:a.compareDocumentPosition?-1:1}:function(a,b){var c,e=0,f=a.parentNode,g=b.parentNode,i=[a],j=[b];if(a===b)return C=!0,0;if(!f||!g)return a===d?-1:b===d?1:f?-1:g?1:0;if(f===g)return h(a,b);for(c=a;c=c.parentNode;)i.unshift(c);for(c=b;c=c.parentNode;)j.unshift(c);for(;i[e]===j[e];)e++;return e?h(i[e],j[e]):i[e]===O?-1:j[e]===O?1:0},C=!1,[0,0].sort(M),P.detectDuplicates=C,F):F},g.matches=function(a,b){return g(a,null,null,b)},g.matchesSelector=function(a,b){if((a.ownerDocument||a)!==F&&E(a),b=b.replace(tb,"='$1']"),!(!P.matchesSelector||H||J&&J.test(b)||I.test(b)))try{var c=K.call(a,b);if(c||P.disconnectedMatch||a.document&&11!==a.document.nodeType)return c}catch(d){}return g(b,F,null,[a]).length>0},g.contains=function(a,b){return(a.ownerDocument||a)!==F&&E(a),L(a,b)},g.attr=function(a,b){var c;return(a.ownerDocument||a)!==F&&E(a),H||(b=b.toLowerCase()),(c=y.attrHandle[b])?c(a):H||P.attributes?a.getAttribute(b):((c=a.getAttributeNode(b))||a.getAttribute(b))&&a[b]===!0?b:c&&c.specified?c.value:null},g.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},g.uniqueSort=function(a){var b,c=[],d=1,e=0;if(C=!P.detectDuplicates,a.sort(M),C){for(;b=a[d];d++)b===a[d-1]&&(e=c.push(d));for(;e--;)a.splice(c[e],1)}return a},z=g.getText=function(a){var b,c="",d=0,e=a.nodeType;if(e){if(1===e||9===e||11===e){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=z(a)}else if(3===e||4===e)return a.nodeValue}else for(;b=a[d];d++)c+=z(b);return c},y=g.selectors={cacheLength:50,createPseudo:e,match:mb,find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ub,vb),a[3]=(a[4]||a[5]||"").replace(ub,vb),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||g.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&g.error(a[0]),a},PSEUDO:function(a){var b,c=!a[5]&&a[2];return mb.CHILD.test(a[0])?null:(a[4]?a[2]=a[4]:c&&kb.test(c)&&(b=l(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){return"*"===a?function(){return!0}:(a=a.replace(ub,vb).toLowerCase(),function(b){return b.nodeName&&b.nodeName.toLowerCase()===a})},CLASS:function(a){var b=S[a+" "];return b||(b=new RegExp("(^|"+ab+")"+a+"("+ab+"|$)"))&&S(a,function(a){return b.test(a.className||typeof a.getAttribute!==V&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=g.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){for(;p;){for(l=b;l=l[p];)if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){for(k=q[N]||(q[N]={}),j=k[a]||[],n=j[0]===Q&&j[1],m=j[0]===Q&&j[2],l=n&&q.childNodes[n];l=++n&&l&&l[p]||(m=n=0)||o.pop();)if(1===l.nodeType&&++m&&l===b){k[a]=[Q,n,m];break}}else if(s&&(j=(b[N]||(b[N]={}))[a])&&j[0]===Q)m=j[1];else for(;(l=++n&&l&&l[p]||(m=n=0)||o.pop())&&((h?l.nodeName.toLowerCase()!==r:1!==l.nodeType)||!++m||(s&&((l[N]||(l[N]={}))[a]=[Q,m]),l!==b)););return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,d=y.pseudos[a]||y.setFilters[a.toLowerCase()]||g.error("unsupported pseudo: "+a);return d[N]?d(b):d.length>1?(c=[a,a,"",b],y.setFilters.hasOwnProperty(a.toLowerCase())?e(function(a,c){for(var e,f=d(a,b),g=f.length;g--;)e=_.call(a,f[g]),a[e]=!(c[e]=f[g])}):function(a){return d(a,0,c)}):d}},pseudos:{not:e(function(a){var b=[],c=[],d=B(a.replace(gb,"$1"));return d[N]?e(function(a,b,c,e){for(var f,g=d(a,null,e,[]),h=a.length;h--;)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:e(function(a){return function(b){return g(a,b).length>0}}),contains:e(function(a){return function(b){return(b.textContent||b.innerText||z(b)).indexOf(a)>-1}}),lang:e(function(a){return lb.test(a||"")||g.error("unsupported lang: "+a),a=a.replace(ub,vb).toLowerCase(),function(b){var c;do if(c=H?b.getAttribute("xml:lang")||b.getAttribute("lang"):b.lang)return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===G},focus:function(a){return a===F.activeElement&&(!F.hasFocus||F.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeName>"@"||3===a.nodeType||4===a.nodeType)return!1;return!0},parent:function(a){return!y.pseudos.empty(a)},header:function(a){return rb.test(a.nodeName)},input:function(a){return qb.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||b.toLowerCase()===a.type)},first:k(function(){return[0]}),last:k(function(a,b){return[b-1]}),eq:k(function(a,b,c){return[0>c?c+b:c]}),even:k(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:k(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:k(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:k(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)if(ib.contains(d[b],this))return!0}));for(c=[],b=0;e>b;b++)ib.find(a,this[b],c);return c=this.pushStack(e>1?ib.unique(c):c),c.selector=(this.selector?this.selector+" ":"")+a,c},has:function(a){var b,c=ib(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(ib.contains(this,c[b]))return!0})},not:function(a){return this.pushStack(l(this,a,!1))},filter:function(a){return this.pushStack(l(this,a,!0))},is:function(a){return!!a&&("string"==typeof a?Sb.test(a)?ib(a,this.context).index(this[0])>=0:ib.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=Sb.test(a)||"string"!=typeof a?ib(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c.ownerDocument&&c!==b&&11!==c.nodeType;){if(g?g.index(c)>-1:ib.find.matchesSelector(c,a)){f.push(c);break}c=c.parentNode}return this.pushStack(f.length>1?ib.unique(f):f)},index:function(a){return a?"string"==typeof a?ib.inArray(this[0],ib(a)):ib.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){var c="string"==typeof a?ib(a,b):ib.makeArray(a&&a.nodeType?[a]:a),d=ib.merge(this.get(),c);return this.pushStack(ib.unique(d))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}}),ib.fn.andSelf=ib.fn.addBack,ib.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return ib.dir(a,"parentNode")},parentsUntil:function(a,b,c){return ib.dir(a,"parentNode",c)},next:function(a){return k(a,"nextSibling") },prev:function(a){return k(a,"previousSibling")},nextAll:function(a){return ib.dir(a,"nextSibling")},prevAll:function(a){return ib.dir(a,"previousSibling")},nextUntil:function(a,b,c){return ib.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return ib.dir(a,"previousSibling",c)},siblings:function(a){return ib.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return ib.sibling(a.firstChild)},contents:function(a){return ib.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:ib.merge([],a.childNodes)}},function(a,b){ib.fn[a]=function(c,d){var e=ib.map(this,b,c);return Pb.test(a)||(d=c),d&&"string"==typeof d&&(e=ib.filter(d,e)),e=this.length>1&&!Tb[a]?ib.unique(e):e,this.length>1&&Qb.test(a)&&(e=e.reverse()),this.pushStack(e)}}),ib.extend({filter:function(a,b,c){return c&&(a=":not("+a+")"),1===b.length?ib.find.matchesSelector(b[0],a)?[b[0]]:[]:ib.find.matches(a,b)},dir:function(a,c,d){for(var e=[],f=a[c];f&&9!==f.nodeType&&(d===b||1!==f.nodeType||!ib(f).is(d));)1===f.nodeType&&e.push(f),f=f[c];return e},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}});var Ub="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",Vb=/ jQuery\d+="(?:null|\d+)"/g,Wb=new RegExp("<(?:"+Ub+")[\\s/>]","i"),Xb=/^\s+/,Yb=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,Zb=/<([\w:]+)/,$b=/\s*$/g,gc={option:[1,""],legend:[1,"
    ","
    "],area:[1,"",""],param:[1,"",""],thead:[1,"","
    "],tr:[2,"","
    "],col:[2,"","
    "],td:[3,"","
    "],_default:ib.support.htmlSerialize?[0,"",""]:[1,"X
    ","
    "]},hc=m(W),ic=hc.appendChild(W.createElement("div"));gc.optgroup=gc.option,gc.tbody=gc.tfoot=gc.colgroup=gc.caption=gc.thead,gc.th=gc.td,ib.fn.extend({text:function(a){return ib.access(this,function(a){return a===b?ib.text(this):this.empty().append((this[0]&&this[0].ownerDocument||W).createTextNode(a))},null,a,arguments.length)},wrapAll:function(a){if(ib.isFunction(a))return this.each(function(b){ib(this).wrapAll(a.call(this,b))});if(this[0]){var b=ib(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){for(var a=this;a.firstChild&&1===a.firstChild.nodeType;)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return this.each(ib.isFunction(a)?function(b){ib(this).wrapInner(a.call(this,b))}:function(){var b=ib(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=ib.isFunction(a);return this.each(function(c){ib(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){ib.nodeName(this,"body")||ib(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&this.insertBefore(a,this.firstChild)})},before:function(){return this.domManip(arguments,!1,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,!1,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=0;null!=(c=this[d]);d++)(!a||ib.filter(a,[c]).length>0)&&(b||1!==c.nodeType||ib.cleanData(t(c)),c.parentNode&&(b&&ib.contains(c.ownerDocument,c)&&q(t(c,"script")),c.parentNode.removeChild(c)));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){for(1===a.nodeType&&ib.cleanData(t(a,!1));a.firstChild;)a.removeChild(a.firstChild);a.options&&ib.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return ib.clone(this,a,b)})},html:function(a){return ib.access(this,function(a){var c=this[0]||{},d=0,e=this.length;if(a===b)return 1===c.nodeType?c.innerHTML.replace(Vb,""):b;if(!("string"!=typeof a||ac.test(a)||!ib.support.htmlSerialize&&Wb.test(a)||!ib.support.leadingWhitespace&&Xb.test(a)||gc[(Zb.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(Yb,"<$1>");try{for(;e>d;d++)c=this[d]||{},1===c.nodeType&&(ib.cleanData(t(c,!1)),c.innerHTML=a);c=0}catch(f){}}c&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(a){var b=ib.isFunction(a);return b||"string"==typeof a||(a=ib(a).not(this).detach()),this.domManip([a],!0,function(a){var b=this.nextSibling,c=this.parentNode;c&&(ib(this).remove(),c.insertBefore(a,b))})},detach:function(a){return this.remove(a,!0)},domManip:function(a,c,d){a=bb.apply([],a);var e,f,g,h,i,j,k=0,l=this.length,m=this,q=l-1,r=a[0],s=ib.isFunction(r);if(s||!(1>=l||"string"!=typeof r||ib.support.checkClone)&&cc.test(r))return this.each(function(e){var f=m.eq(e);s&&(a[0]=r.call(this,e,c?f.html():b)),f.domManip(a,c,d)});if(l&&(j=ib.buildFragment(a,this[0].ownerDocument,!1,this),e=j.firstChild,1===j.childNodes.length&&(j=e),e)){for(c=c&&ib.nodeName(e,"tr"),h=ib.map(t(j,"script"),o),g=h.length;l>k;k++)f=j,k!==q&&(f=ib.clone(f,!0,!0),g&&ib.merge(h,t(f,"script"))),d.call(c&&ib.nodeName(this[k],"table")?n(this[k],"tbody"):this[k],f,k);if(g)for(i=h[h.length-1].ownerDocument,ib.map(h,p),k=0;g>k;k++)f=h[k],dc.test(f.type||"")&&!ib._data(f,"globalEval")&&ib.contains(i,f)&&(f.src?ib.ajax({url:f.src,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0}):ib.globalEval((f.text||f.textContent||f.innerHTML||"").replace(fc,"")));j=e=null}return this}}),ib.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){ib.fn[a]=function(a){for(var c,d=0,e=[],f=ib(a),g=f.length-1;g>=d;d++)c=d===g?this:this.clone(!0),ib(f[d])[b](c),cb.apply(e,c.get());return this.pushStack(e)}}),ib.extend({clone:function(a,b,c){var d,e,f,g,h,i=ib.contains(a.ownerDocument,a);if(ib.support.html5Clone||ib.isXMLDoc(a)||!Wb.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(ic.innerHTML=a.outerHTML,ic.removeChild(f=ic.firstChild)),!(ib.support.noCloneEvent&&ib.support.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||ib.isXMLDoc(a)))for(d=t(f),h=t(a),g=0;null!=(e=h[g]);++g)d[g]&&s(e,d[g]);if(b)if(c)for(h=h||t(a),d=d||t(f),g=0;null!=(e=h[g]);g++)r(e,d[g]);else r(a,f);return d=t(f,"script"),d.length>0&&q(d,!i&&t(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k,l=a.length,n=m(b),o=[],p=0;l>p;p++)if(f=a[p],f||0===f)if("object"===ib.type(f))ib.merge(o,f.nodeType?[f]:f);else if(_b.test(f)){for(h=h||n.appendChild(b.createElement("div")),i=(Zb.exec(f)||["",""])[1].toLowerCase(),k=gc[i]||gc._default,h.innerHTML=k[1]+f.replace(Yb,"<$1>")+k[2],e=k[0];e--;)h=h.lastChild;if(!ib.support.leadingWhitespace&&Xb.test(f)&&o.push(b.createTextNode(Xb.exec(f)[0])),!ib.support.tbody)for(f="table"!==i||$b.test(f)?""!==k[1]||$b.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;e--;)ib.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j);for(ib.merge(o,h.childNodes),h.textContent="";h.firstChild;)h.removeChild(h.firstChild);h=n.lastChild}else o.push(b.createTextNode(f));for(h&&n.removeChild(h),ib.support.appendChecked||ib.grep(t(o,"input"),u),p=0;f=o[p++];)if((!d||-1===ib.inArray(f,d))&&(g=ib.contains(f.ownerDocument,f),h=t(n.appendChild(f),"script"),g&&q(h),c))for(e=0;f=h[e++];)dc.test(f.type||"")&&c.push(f);return h=null,n},cleanData:function(a,b){for(var c,d,e,f,g=0,h=ib.expando,i=ib.cache,j=ib.support.deleteExpando,k=ib.event.special;null!=(c=a[g]);g++)if((b||ib.acceptData(c))&&(e=c[h],f=e&&i[e])){if(f.events)for(d in f.events)k[d]?ib.event.remove(c,d):ib.removeEvent(c,d,f.handle);i[e]&&(delete i[e],j?delete c[h]:typeof c.removeAttribute!==V?c.removeAttribute(h):c[h]=null,_.push(e))}}});var jc,kc,lc,mc=/alpha\([^)]*\)/i,nc=/opacity\s*=\s*([^)]*)/,oc=/^(top|right|bottom|left)$/,pc=/^(none|table(?!-c[ea]).+)/,qc=/^margin/,rc=new RegExp("^("+jb+")(.*)$","i"),sc=new RegExp("^("+jb+")(?!px)[a-z%]+$","i"),tc=new RegExp("^([+-])=("+jb+")","i"),uc={BODY:"block"},vc={position:"absolute",visibility:"hidden",display:"block"},wc={letterSpacing:0,fontWeight:400},xc=["Top","Right","Bottom","Left"],yc=["Webkit","O","Moz","ms"];ib.fn.extend({css:function(a,c){return ib.access(this,function(a,c,d){var e,f,g={},h=0;if(ib.isArray(c)){for(f=kc(a),e=c.length;e>h;h++)g[c[h]]=ib.css(a,c[h],!1,f);return g}return d!==b?ib.style(a,c,d):ib.css(a,c)},a,c,arguments.length>1)},show:function(){return x(this,!0)},hide:function(){return x(this)},toggle:function(a){var b="boolean"==typeof a;return this.each(function(){(b?a:w(this))?ib(this).show():ib(this).hide()})}}),ib.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=lc(a,"opacity");return""===c?"1":c}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":ib.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var f,g,h,i=ib.camelCase(c),j=a.style;if(c=ib.cssProps[i]||(ib.cssProps[i]=v(j,i)),h=ib.cssHooks[c]||ib.cssHooks[i],d===b)return h&&"get"in h&&(f=h.get(a,!1,e))!==b?f:j[c];if(g=typeof d,"string"===g&&(f=tc.exec(d))&&(d=(f[1]+1)*f[2]+parseFloat(ib.css(a,c)),g="number"),!(null==d||"number"===g&&isNaN(d)||("number"!==g||ib.cssNumber[i]||(d+="px"),ib.support.clearCloneStyle||""!==d||0!==c.indexOf("background")||(j[c]="inherit"),h&&"set"in h&&(d=h.set(a,d,e))===b)))try{j[c]=d}catch(k){}}},css:function(a,c,d,e){var f,g,h,i=ib.camelCase(c);return c=ib.cssProps[i]||(ib.cssProps[i]=v(a.style,i)),h=ib.cssHooks[c]||ib.cssHooks[i],h&&"get"in h&&(g=h.get(a,!0,d)),g===b&&(g=lc(a,c,e)),"normal"===g&&c in wc&&(g=wc[c]),""===d||d?(f=parseFloat(g),d===!0||ib.isNumeric(f)?f||0:g):g},swap:function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e}}),a.getComputedStyle?(kc=function(b){return a.getComputedStyle(b,null)},lc=function(a,c,d){var e,f,g,h=d||kc(a),i=h?h.getPropertyValue(c)||h[c]:b,j=a.style;return h&&(""!==i||ib.contains(a.ownerDocument,a)||(i=ib.style(a,c)),sc.test(i)&&qc.test(c)&&(e=j.width,f=j.minWidth,g=j.maxWidth,j.minWidth=j.maxWidth=j.width=i,i=h.width,j.width=e,j.minWidth=f,j.maxWidth=g)),i}):W.documentElement.currentStyle&&(kc=function(a){return a.currentStyle},lc=function(a,c,d){var e,f,g,h=d||kc(a),i=h?h[c]:b,j=a.style;return null==i&&j&&j[c]&&(i=j[c]),sc.test(i)&&!oc.test(c)&&(e=j.left,f=a.runtimeStyle,g=f&&f.left,g&&(f.left=a.currentStyle.left),j.left="fontSize"===c?"1em":i,i=j.pixelLeft+"px",j.left=e,g&&(f.left=g)),""===i?"auto":i}),ib.each(["height","width"],function(a,b){ib.cssHooks[b]={get:function(a,c,d){return c?0===a.offsetWidth&&pc.test(ib.css(a,"display"))?ib.swap(a,vc,function(){return A(a,b,d)}):A(a,b,d):void 0},set:function(a,c,d){var e=d&&kc(a);return y(a,c,d?z(a,b,d,ib.support.boxSizing&&"border-box"===ib.css(a,"boxSizing",!1,e),e):0)}}}),ib.support.opacity||(ib.cssHooks.opacity={get:function(a,b){return nc.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=ib.isNumeric(b)?"alpha(opacity="+100*b+")":"",f=d&&d.filter||c.filter||"";c.zoom=1,(b>=1||""===b)&&""===ib.trim(f.replace(mc,""))&&c.removeAttribute&&(c.removeAttribute("filter"),""===b||d&&!d.filter)||(c.filter=mc.test(f)?f.replace(mc,e):f+" "+e)}}),ib(function(){ib.support.reliableMarginRight||(ib.cssHooks.marginRight={get:function(a,b){return b?ib.swap(a,{display:"inline-block"},lc,[a,"marginRight"]):void 0}}),!ib.support.pixelPosition&&ib.fn.position&&ib.each(["top","left"],function(a,b){ib.cssHooks[b]={get:function(a,c){return c?(c=lc(a,b),sc.test(c)?ib(a).position()[b]+"px":c):void 0}}})}),ib.expr&&ib.expr.filters&&(ib.expr.filters.hidden=function(a){return a.offsetWidth<=0&&a.offsetHeight<=0||!ib.support.reliableHiddenOffsets&&"none"===(a.style&&a.style.display||ib.css(a,"display"))},ib.expr.filters.visible=function(a){return!ib.expr.filters.hidden(a)}),ib.each({margin:"",padding:"",border:"Width"},function(a,b){ib.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+xc[d]+b]=f[d]||f[d-2]||f[0];return e}},qc.test(a)||(ib.cssHooks[a+b].set=y)});var zc=/%20/g,Ac=/\[\]$/,Bc=/\r?\n/g,Cc=/^(?:submit|button|image|reset|file)$/i,Dc=/^(?:input|select|textarea|keygen)/i;ib.fn.extend({serialize:function(){return ib.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=ib.prop(this,"elements");return a?ib.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!ib(this).is(":disabled")&&Dc.test(this.nodeName)&&!Cc.test(a)&&(this.checked||!bc.test(a))}).map(function(a,b){var c=ib(this).val();return null==c?null:ib.isArray(c)?ib.map(c,function(a){return{name:b.name,value:a.replace(Bc,"\r\n")}}):{name:b.name,value:c.replace(Bc,"\r\n")}}).get()}}),ib.param=function(a,c){var d,e=[],f=function(a,b){b=ib.isFunction(b)?b():null==b?"":b,e[e.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(c===b&&(c=ib.ajaxSettings&&ib.ajaxSettings.traditional),ib.isArray(a)||a.jquery&&!ib.isPlainObject(a))ib.each(a,function(){f(this.name,this.value)});else for(d in a)D(d,a[d],c,f);return e.join("&").replace(zc,"+")},ib.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){ib.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),ib.fn.hover=function(a,b){return this.mouseenter(a).mouseleave(b||a)};var Ec,Fc,Gc=ib.now(),Hc=/\?/,Ic=/#.*$/,Jc=/([?&])_=[^&]*/,Kc=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Lc=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Mc=/^(?:GET|HEAD)$/,Nc=/^\/\//,Oc=/^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,Pc=ib.fn.load,Qc={},Rc={},Sc="*/".concat("*");try{Fc=X.href}catch(Tc){Fc=W.createElement("a"),Fc.href="",Fc=Fc.href}Ec=Oc.exec(Fc.toLowerCase())||[],ib.fn.load=function(a,c,d){if("string"!=typeof a&&Pc)return Pc.apply(this,arguments);var e,f,g,h=this,i=a.indexOf(" ");return i>=0&&(e=a.slice(i,a.length),a=a.slice(0,i)),ib.isFunction(c)?(d=c,c=b):c&&"object"==typeof c&&(g="POST"),h.length>0&&ib.ajax({url:a,type:g,dataType:"html",data:c}).done(function(a){f=arguments,h.html(e?ib("
    ").append(ib.parseHTML(a)).find(e):a)}).complete(d&&function(a,b){h.each(d,f||[a.responseText,b,a])}),this},ib.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){ib.fn[b]=function(a){return this.on(b,a)}}),ib.each(["get","post"],function(a,c){ib[c]=function(a,d,e,f){return ib.isFunction(d)&&(f=f||e,e=d,d=b),ib.ajax({url:a,type:c,dataType:f,data:d,success:e})}}),ib.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Fc,type:"GET",isLocal:Lc.test(Ec[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Sc,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":ib.parseJSON,"text xml":ib.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?G(G(a,ib.ajaxSettings),b):G(ib.ajaxSettings,a)},ajaxPrefilter:E(Qc),ajaxTransport:E(Rc),ajax:function(a,c){function d(a,c,d,e){var f,l,s,t,v,x=c;2!==u&&(u=2,i&&clearTimeout(i),k=b,h=e||"",w.readyState=a>0?4:0,d&&(t=H(m,w,d)),a>=200&&300>a||304===a?(m.ifModified&&(v=w.getResponseHeader("Last-Modified"),v&&(ib.lastModified[g]=v),v=w.getResponseHeader("etag"),v&&(ib.etag[g]=v)),204===a?(f=!0,x="nocontent"):304===a?(f=!0,x="notmodified"):(f=I(m,t),x=f.state,l=f.data,s=f.error,f=!s)):(s=x,(a||!x)&&(x="error",0>a&&(a=0))),w.status=a,w.statusText=(c||x)+"",f?p.resolveWith(n,[l,x,w]):p.rejectWith(n,[w,x,s]),w.statusCode(r),r=b,j&&o.trigger(f?"ajaxSuccess":"ajaxError",[w,m,f?l:s]),q.fireWith(n,[w,x]),j&&(o.trigger("ajaxComplete",[w,m]),--ib.active||ib.event.trigger("ajaxStop")))}"object"==typeof a&&(c=a,a=b),c=c||{};var e,f,g,h,i,j,k,l,m=ib.ajaxSetup({},c),n=m.context||m,o=m.context&&(n.nodeType||n.jquery)?ib(n):ib.event,p=ib.Deferred(),q=ib.Callbacks("once memory"),r=m.statusCode||{},s={},t={},u=0,v="canceled",w={readyState:0,getResponseHeader:function(a){var b;if(2===u){if(!l)for(l={};b=Kc.exec(h);)l[b[1].toLowerCase()]=b[2];b=l[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===u?h:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return u||(a=t[c]=t[c]||a,s[a]=b),this},overrideMimeType:function(a){return u||(m.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>u)for(b in a)r[b]=[r[b],a[b]];else w.always(a[w.status]);return this},abort:function(a){var b=a||v;return k&&k.abort(b),d(0,b),this}};if(p.promise(w).complete=q.add,w.success=w.done,w.error=w.fail,m.url=((a||m.url||Fc)+"").replace(Ic,"").replace(Nc,Ec[1]+"//"),m.type=c.method||c.type||m.method||m.type,m.dataTypes=ib.trim(m.dataType||"*").toLowerCase().match(kb)||[""],null==m.crossDomain&&(e=Oc.exec(m.url.toLowerCase()),m.crossDomain=!(!e||e[1]===Ec[1]&&e[2]===Ec[2]&&(e[3]||("http:"===e[1]?80:443))==(Ec[3]||("http:"===Ec[1]?80:443)))),m.data&&m.processData&&"string"!=typeof m.data&&(m.data=ib.param(m.data,m.traditional)),F(Qc,m,c,w),2===u)return w;j=m.global,j&&0===ib.active++&&ib.event.trigger("ajaxStart"),m.type=m.type.toUpperCase(),m.hasContent=!Mc.test(m.type),g=m.url,m.hasContent||(m.data&&(g=m.url+=(Hc.test(g)?"&":"?")+m.data,delete m.data),m.cache===!1&&(m.url=Jc.test(g)?g.replace(Jc,"$1_="+Gc++):g+(Hc.test(g)?"&":"?")+"_="+Gc++)),m.ifModified&&(ib.lastModified[g]&&w.setRequestHeader("If-Modified-Since",ib.lastModified[g]),ib.etag[g]&&w.setRequestHeader("If-None-Match",ib.etag[g])),(m.data&&m.hasContent&&m.contentType!==!1||c.contentType)&&w.setRequestHeader("Content-Type",m.contentType),w.setRequestHeader("Accept",m.dataTypes[0]&&m.accepts[m.dataTypes[0]]?m.accepts[m.dataTypes[0]]+("*"!==m.dataTypes[0]?", "+Sc+"; q=0.01":""):m.accepts["*"]);for(f in m.headers)w.setRequestHeader(f,m.headers[f]);if(m.beforeSend&&(m.beforeSend.call(n,w,m)===!1||2===u))return w.abort();v="abort";for(f in{success:1,error:1,complete:1})w[f](m[f]);if(k=F(Rc,m,c,w)){w.readyState=1,j&&o.trigger("ajaxSend",[w,m]),m.async&&m.timeout>0&&(i=setTimeout(function(){w.abort("timeout")},m.timeout));try{u=1,k.send(s,d)}catch(x){if(!(2>u))throw x;d(-1,x)}}else d(-1,"No Transport");return w},getScript:function(a,c){return ib.get(a,b,c,"script")},getJSON:function(a,b,c){return ib.get(a,b,c,"json")}}),ib.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(a){return ib.globalEval(a),a}}}),ib.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),ib.ajaxTransport("script",function(a){if(a.crossDomain){var c,d=W.head||ib("head")[0]||W.documentElement;return{send:function(b,e){c=W.createElement("script"),c.async=!0,a.scriptCharset&&(c.charset=a.scriptCharset),c.src=a.url,c.onload=c.onreadystatechange=function(a,b){(b||!c.readyState||/loaded|complete/.test(c.readyState))&&(c.onload=c.onreadystatechange=null,c.parentNode&&c.parentNode.removeChild(c),c=null,b||e(200,"success"))},d.insertBefore(c,d.firstChild)},abort:function(){c&&c.onload(b,!0)}}}});var Uc=[],Vc=/(=)\?(?=&|$)|\?\?/;ib.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=Uc.pop()||ib.expando+"_"+Gc++;return this[a]=!0,a}}),ib.ajaxPrefilter("json jsonp",function(c,d,e){var f,g,h,i=c.jsonp!==!1&&(Vc.test(c.url)?"url":"string"==typeof c.data&&!(c.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vc.test(c.data)&&"data");return i||"jsonp"===c.dataTypes[0]?(f=c.jsonpCallback=ib.isFunction(c.jsonpCallback)?c.jsonpCallback():c.jsonpCallback,i?c[i]=c[i].replace(Vc,"$1"+f):c.jsonp!==!1&&(c.url+=(Hc.test(c.url)?"&":"?")+c.jsonp+"="+f),c.converters["script json"]=function(){return h||ib.error(f+" was not called"),h[0]},c.dataTypes[0]="json",g=a[f],a[f]=function(){h=arguments},e.always(function(){a[f]=g,c[f]&&(c.jsonpCallback=d.jsonpCallback,Uc.push(f)),h&&ib.isFunction(g)&&g(h[0]),h=g=b}),"script"):void 0});var Wc,Xc,Yc=0,Zc=a.ActiveXObject&&function(){var a;for(a in Wc)Wc[a](b,!0)};ib.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&J()||K()}:J,Xc=ib.ajaxSettings.xhr(),ib.support.cors=!!Xc&&"withCredentials"in Xc,Xc=ib.support.ajax=!!Xc,Xc&&ib.ajaxTransport(function(c){if(!c.crossDomain||ib.support.cors){var d;return{send:function(e,f){var g,h,i=c.xhr();if(c.username?i.open(c.type,c.url,c.async,c.username,c.password):i.open(c.type,c.url,c.async),c.xhrFields)for(h in c.xhrFields)i[h]=c.xhrFields[h];c.mimeType&&i.overrideMimeType&&i.overrideMimeType(c.mimeType),c.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest");try{for(h in e)i.setRequestHeader(h,e[h])}catch(j){}i.send(c.hasContent&&c.data||null),d=function(a,e){var h,j,k,l;try{if(d&&(e||4===i.readyState))if(d=b,g&&(i.onreadystatechange=ib.noop,Zc&&delete Wc[g]),e)4!==i.readyState&&i.abort();else{l={},h=i.status,j=i.getAllResponseHeaders(),"string"==typeof i.responseText&&(l.text=i.responseText);try{k=i.statusText}catch(m){k=""}h||!c.isLocal||c.crossDomain?1223===h&&(h=204):h=l.text?200:404}}catch(n){e||f(-1,n)}l&&f(h,k,l,j)},c.async?4===i.readyState?setTimeout(d):(g=++Yc,Zc&&(Wc||(Wc={},ib(a).unload(Zc)),Wc[g]=d),i.onreadystatechange=d):d()},abort:function(){d&&d(b,!0)}}}});var $c,_c,ad=/^(?:toggle|show|hide)$/,bd=new RegExp("^(?:([+-])=|)("+jb+")([a-z%]*)$","i"),cd=/queueHooks$/,dd=[P],ed={"*":[function(a,b){var c,d,e=this.createTween(a,b),f=bd.exec(b),g=e.cur(),h=+g||0,i=1,j=20;if(f){if(c=+f[2],d=f[3]||(ib.cssNumber[a]?"":"px"),"px"!==d&&h){h=ib.css(e.elem,a,!0)||c||1;do i=i||".5",h/=i,ib.style(e.elem,a,h+d);while(i!==(i=e.cur()/g)&&1!==i&&--j)}e.unit=d,e.start=h,e.end=f[1]?h+(f[1]+1)*c:c}return e}]};ib.Animation=ib.extend(N,{tweener:function(a,b){ib.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],ed[c]=ed[c]||[],ed[c].unshift(b)},prefilter:function(a,b){b?dd.unshift(a):dd.push(a)}}),ib.Tween=Q,Q.prototype={constructor:Q,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(ib.cssNumber[c]?"":"px")},cur:function(){var a=Q.propHooks[this.prop];return a&&a.get?a.get(this):Q.propHooks._default.get(this)},run:function(a){var b,c=Q.propHooks[this.prop];return this.pos=b=this.options.duration?ib.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Q.propHooks._default.set(this),this}},Q.prototype.init.prototype=Q.prototype,Q.propHooks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=ib.css(a.elem,a.prop,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){ib.fx.step[a.prop]?ib.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[ib.cssProps[a.prop]]||ib.cssHooks[a.prop])?ib.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},Q.propHooks.scrollTop=Q.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},ib.each(["toggle","show","hide"],function(a,b){var c=ib.fn[b];ib.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(R(b,!0),a,d,e)}}),ib.fn.extend({fadeTo:function(a,b,c,d){return this.filter(w).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=ib.isEmptyObject(a),f=ib.speed(b,c,d),g=function(){var b=N(this,ib.extend({},a),f);g.finish=function(){b.stop(!0)},(e||ib._data(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,c,d){var e=function(a){var b=a.stop;delete a.stop,b(d)};return"string"!=typeof a&&(d=c,c=a,a=b),c&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,c=null!=a&&a+"queueHooks",f=ib.timers,g=ib._data(this);if(c)g[c]&&g[c].stop&&e(g[c]);else for(c in g)g[c]&&g[c].stop&&cd.test(c)&&e(g[c]);for(c=f.length;c--;)f[c].elem!==this||null!=a&&f[c].queue!==a||(f[c].anim.stop(d),b=!1,f.splice(c,1));(b||!d)&&ib.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=ib._data(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=ib.timers,g=d?d.length:0;for(c.finish=!0,ib.queue(this,a,[]),e&&e.cur&&e.cur.finish&&e.cur.finish.call(this),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),ib.each({slideDown:R("show"),slideUp:R("hide"),slideToggle:R("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){ib.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),ib.speed=function(a,b,c){var d=a&&"object"==typeof a?ib.extend({},a):{complete:c||!c&&b||ib.isFunction(a)&&a,duration:a,easing:c&&b||b&&!ib.isFunction(b)&&b};return d.duration=ib.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in ib.fx.speeds?ib.fx.speeds[d.duration]:ib.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){ib.isFunction(d.old)&&d.old.call(this),d.queue&&ib.dequeue(this,d.queue)},d},ib.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},ib.timers=[],ib.fx=Q.prototype.init,ib.fx.tick=function(){var a,c=ib.timers,d=0;for($c=ib.now();d-1,l={},m={};k?(m=g.position(),e=m.top,f=m.left):(e=parseFloat(i)||0,f=parseFloat(j)||0),ib.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(l.top=b.top-h.top+e),null!=b.left&&(l.left=b.left-h.left+f),"using"in b?b.using.call(a,l):g.css(l)}},ib.fn.extend({position:function(){if(this[0]){var a,b,c={top:0,left:0},d=this[0];return"fixed"===ib.css(d,"position")?b=d.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),ib.nodeName(a[0],"html")||(c=a.offset()),c.top+=ib.css(a[0],"borderTopWidth",!0),c.left+=ib.css(a[0],"borderLeftWidth",!0)),{top:b.top-c.top-ib.css(d,"marginTop",!0),left:b.left-c.left-ib.css(d,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||W.documentElement;a&&!ib.nodeName(a,"html")&&"static"===ib.css(a,"position");)a=a.offsetParent;return a||W.documentElement})}}),ib.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,c){var d=/Y/.test(c);ib.fn[a]=function(e){return ib.access(this,function(a,e,f){var g=S(a);return f===b?g?c in g?g[c]:g.document.documentElement[e]:a[e]:void(g?g.scrollTo(d?ib(g).scrollLeft():f,d?f:ib(g).scrollTop()):a[e]=f)},a,e,arguments.length,null)}}),ib.each({Height:"height",Width:"width"},function(a,c){ib.each({padding:"inner"+a,content:c,"":"outer"+a},function(d,e){ib.fn[e]=function(e,f){var g=arguments.length&&(d||"boolean"!=typeof e),h=d||(e===!0||f===!0?"margin":"border");return ib.access(this,function(c,d,e){var f;return ib.isWindow(c)?c.document.documentElement["client"+a]:9===c.nodeType?(f=c.documentElement,Math.max(c.body["scroll"+a],f["scroll"+a],c.body["offset"+a],f["offset"+a],f["client"+a])):e===b?ib.css(c,d,h):ib.style(c,d,e,h)},c,g?e:b,g,null)}})}),a.jQuery=a.$=ib,"function"==typeof define&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return ib})}(window),function(a,b){"function"==typeof define&&define.amd?define([],b):"object"==typeof exports?module.exports=b():a.Handlebars=a.Handlebars||b()}(this,function(){var a=function(){"use strict";function a(a){this.string=a}var b;return a.prototype.toString=function(){return""+this.string},b=a}(),b=function(a){"use strict";function b(a){return i[a]}function c(a){for(var b=1;b":">",'"':""","'":"'","`":"`"},j=/[&<>"'`]/g,k=/[&<>"'`]/;g.extend=c;var l=Object.prototype.toString;g.toString=l;var m=function(a){return"function"==typeof a};m(/x/)&&(m=function(a){return"function"==typeof a&&"[object Function]"===l.call(a)});var m;g.isFunction=m;var n=Array.isArray||function(a){return a&&"object"==typeof a?"[object Array]"===l.call(a):!1};return g.isArray=n,g.escapeExpression=d,g.isEmpty=e,g.appendContextPath=f,g}(a),c=function(){"use strict";function a(a,b){var d;b&&b.firstLine&&(d=b.firstLine,a+=" - "+d+":"+b.firstColumn);for(var e=Error.prototype.constructor.call(this,a),f=0;f0?(c.ids&&(c.ids=[c.name]),a.helpers.each(b,c)):d(this);if(c.data&&c.ids){var g=q(c.data);g.contextPath=f.appendContextPath(c.data.contextPath,c.name),c={data:g}}return e(b,c)}),a.registerHelper("each",function(a,b){if(!b)throw new g("Must pass iterator to #each");var c,d,e=b.fn,h=b.inverse,i=0,j="";if(b.data&&b.ids&&(d=f.appendContextPath(b.data.contextPath,b.ids[0])+"."),l(a)&&(a=a.call(this)),b.data&&(c=q(b.data)),a&&"object"==typeof a)if(k(a))for(var m=a.length;m>i;i++)c&&(c.index=i,c.first=0===i,c.last=i===a.length-1,d&&(c.contextPath=d+i)),j+=e(a[i],{data:c});else for(var n in a)a.hasOwnProperty(n)&&(c&&(c.key=n,c.index=i,c.first=0===i,d&&(c.contextPath=d+n)),j+=e(a[n],{data:c}),i++);return 0===i&&(j=h(this)),j}),a.registerHelper("if",function(a,b){return l(a)&&(a=a.call(this)),!b.hash.includeZero&&!a||f.isEmpty(a)?b.inverse(this):b.fn(this) }),a.registerHelper("unless",function(b,c){return a.helpers["if"].call(this,b,{fn:c.inverse,inverse:c.fn,hash:c.hash})}),a.registerHelper("with",function(a,b){l(a)&&(a=a.call(this));var c=b.fn;if(f.isEmpty(a))return b.inverse(this);if(b.data&&b.ids){var d=q(b.data);d.contextPath=f.appendContextPath(b.data.contextPath,b.ids[0]),b={data:d}}return c(a,b)}),a.registerHelper("log",function(b,c){var d=c.data&&null!=c.data.level?parseInt(c.data.level,10):1;a.log(d,b)}),a.registerHelper("lookup",function(a,b){return a&&a[b]})}var e={},f=a,g=b,h="2.0.0";e.VERSION=h;var i=6;e.COMPILER_REVISION=i;var j={1:"<= 1.0.rc.2",2:"== 1.0.0-rc.3",3:"== 1.0.0-rc.4",4:"== 1.x.x",5:"== 2.0.0-alpha.x",6:">= 2.0.0-beta.1"};e.REVISION_CHANGES=j;var k=f.isArray,l=f.isFunction,m=f.toString,n="[object Object]";e.HandlebarsEnvironment=c,c.prototype={constructor:c,logger:o,log:p,registerHelper:function(a,b){if(m.call(a)===n){if(b)throw new g("Arg not supported with multiple helpers");f.extend(this.helpers,a)}else this.helpers[a]=b},unregisterHelper:function(a){delete this.helpers[a]},registerPartial:function(a,b){m.call(a)===n?f.extend(this.partials,a):this.partials[a]=b},unregisterPartial:function(a){delete this.partials[a]}};var o={methodMap:{0:"debug",1:"info",2:"warn",3:"error"},DEBUG:0,INFO:1,WARN:2,ERROR:3,level:3,log:function(a,b){if(o.level<=a){var c=o.methodMap[a];"undefined"!=typeof console&&console[c]&&console[c].call(console,b)}}};e.logger=o;var p=o.log;e.log=p;var q=function(a){var b=f.extend({},a);return b._parent=a,b};return e.createFrame=q,e}(b,c),e=function(a,b,c){"use strict";function d(a){var b=a&&a[0]||1,c=m;if(b!==c){if(c>b){var d=n[c],e=n[b];throw new l("Template was precompiled with an older version of Handlebars than the current runtime. Please update your precompiler to a newer version ("+d+") or downgrade your runtime to an older version ("+e+").")}throw new l("Template was precompiled with a newer version of Handlebars than the current runtime. Please update your runtime to a newer version ("+a[1]+").")}}function e(a,b){if(!b)throw new l("No environment passed to template");if(!a||!a.main)throw new l("Unknown template object: "+typeof a);b.VM.checkRevision(a.compiler);var c=function(c,d,e,f,g,h,i,j,m){g&&(f=k.extend({},f,g));var n=b.VM.invokePartial.call(this,c,e,f,h,i,j,m);if(null==n&&b.compile){var o={helpers:h,partials:i,data:j,depths:m};i[e]=b.compile(c,{data:void 0!==j,compat:a.compat},b),n=i[e](f,o)}if(null!=n){if(d){for(var p=n.split("\n"),q=0,r=p.length;r>q&&(p[q]||q+1!==r);q++)p[q]=d+p[q];n=p.join("\n")}return n}throw new l("The partial "+e+" could not be compiled when running in runtime-only mode")},d={lookup:function(a,b){for(var c=a.length,d=0;c>d;d++)if(a[d]&&null!=a[d][b])return a[d][b]},lambda:function(a,b){return"function"==typeof a?a.call(b):a},escapeExpression:k.escapeExpression,invokePartial:c,fn:function(b){return a[b]},programs:[],program:function(a,b,c){var d=this.programs[a],e=this.fn(a);return b||c?d=f(this,a,e,b,c):d||(d=this.programs[a]=f(this,a,e)),d},data:function(a,b){for(;a&&b--;)a=a._parent;return a},merge:function(a,b){var c=a||b;return a&&b&&a!==b&&(c=k.extend({},b,a)),c},noop:b.VM.noop,compilerInfo:a.compiler},e=function(b,c){c=c||{};var f=c.data;e._setup(c),!c.partial&&a.useData&&(f=i(b,f));var g;return a.useDepths&&(g=c.depths?[b].concat(c.depths):[b]),a.main.call(d,b,d.helpers,d.partials,f,g)};return e.isTop=!0,e._setup=function(c){c.partial?(d.helpers=c.helpers,d.partials=c.partials):(d.helpers=d.merge(c.helpers,b.helpers),a.usePartial&&(d.partials=d.merge(c.partials,b.partials)))},e._child=function(b,c,e){if(a.useDepths&&!e)throw new l("must pass parent depths");return f(d,b,a[b],c,e)},e}function f(a,b,c,d,e){var f=function(b,f){return f=f||{},c.call(a,b,a.helpers,a.partials,f.data||d,e&&[b].concat(e))};return f.program=b,f.depth=e?e.length:0,f}function g(a,b,c,d,e,f,g){var h={partial:!0,helpers:d,partials:e,data:f,depths:g};if(void 0===a)throw new l("The partial "+b+" could not be found");return a instanceof Function?a(c,h):void 0}function h(){return""}function i(a,b){return b&&"root"in b||(b=b?o(b):{},b.root=a),b}var j={},k=a,l=b,m=c.COMPILER_REVISION,n=c.REVISION_CHANGES,o=c.createFrame;return j.checkRevision=d,j.template=e,j.program=f,j.invokePartial=g,j.noop=h,j}(b,c,d),f=function(a,b,c,d,e){"use strict";var f,g=a,h=b,i=c,j=d,k=e,l=function(){var a=new g.HandlebarsEnvironment;return j.extend(a,g),a.SafeString=h,a.Exception=i,a.Utils=j,a.escapeExpression=j.escapeExpression,a.VM=k,a.template=function(b){return k.template(b,a)},a},m=l();return m.create=l,m["default"]=m,f=m}(d,a,c,b,e),g=function(a){"use strict";function b(a){a=a||{},this.firstLine=a.first_line,this.firstColumn=a.first_column,this.lastColumn=a.last_column,this.lastLine=a.last_line}var c,d=a,e={ProgramNode:function(a,c,d){b.call(this,d),this.type="program",this.statements=a,this.strip=c},MustacheNode:function(a,c,d,f,g){if(b.call(this,g),this.type="mustache",this.strip=f,null!=d&&d.charAt){var h=d.charAt(3)||d.charAt(2);this.escaped="{"!==h&&"&"!==h}else this.escaped=!!d;this.sexpr=a instanceof e.SexprNode?a:new e.SexprNode(a,c),this.id=this.sexpr.id,this.params=this.sexpr.params,this.hash=this.sexpr.hash,this.eligibleHelper=this.sexpr.eligibleHelper,this.isHelper=this.sexpr.isHelper},SexprNode:function(a,c,d){b.call(this,d),this.type="sexpr",this.hash=c;var e=this.id=a[0],f=this.params=a.slice(1);this.isHelper=!(!f.length&&!c),this.eligibleHelper=this.isHelper||e.isSimple},PartialNode:function(a,c,d,e,f){b.call(this,f),this.type="partial",this.partialName=a,this.context=c,this.hash=d,this.strip=e,this.strip.inlineStandalone=!0},BlockNode:function(a,c,d,e,f){b.call(this,f),this.type="block",this.mustache=a,this.program=c,this.inverse=d,this.strip=e,d&&!c&&(this.isInverse=!0)},RawBlockNode:function(a,c,f,g){if(b.call(this,g),a.sexpr.id.original!==f)throw new d(a.sexpr.id.original+" doesn't match "+f,this);c=new e.ContentNode(c,g),this.type="block",this.mustache=a,this.program=new e.ProgramNode([c],{},g)},ContentNode:function(a,c){b.call(this,c),this.type="content",this.original=this.string=a},HashNode:function(a,c){b.call(this,c),this.type="hash",this.pairs=a},IdNode:function(a,c){b.call(this,c),this.type="ID";for(var e="",f=[],g=0,h="",i=0,j=a.length;j>i;i++){var k=a[i].part;if(e+=(a[i].separator||"")+k,".."===k||"."===k||"this"===k){if(f.length>0)throw new d("Invalid path: "+e,this);".."===k?(g++,h+="../"):this.isScoped=!0}else f.push(k)}this.original=e,this.parts=f,this.string=f.join("."),this.depth=g,this.idName=h+this.string,this.isSimple=1===a.length&&!this.isScoped&&0===g,this.stringModeValue=this.string},PartialNameNode:function(a,c){b.call(this,c),this.type="PARTIAL_NAME",this.name=a.original},DataNode:function(a,c){b.call(this,c),this.type="DATA",this.id=a,this.stringModeValue=a.stringModeValue,this.idName="@"+a.stringModeValue},StringNode:function(a,c){b.call(this,c),this.type="STRING",this.original=this.string=this.stringModeValue=a},NumberNode:function(a,c){b.call(this,c),this.type="NUMBER",this.original=this.number=a,this.stringModeValue=Number(a)},BooleanNode:function(a,c){b.call(this,c),this.type="BOOLEAN",this.bool=a,this.stringModeValue="true"===a},CommentNode:function(a,c){b.call(this,c),this.type="comment",this.comment=a,this.strip={inlineStandalone:!0}}};return c=e}(c),h=function(){"use strict";var a,b=function(){function a(){this.yy={}}var b={trace:function(){},yy:{},symbols_:{error:2,root:3,program:4,EOF:5,program_repetition0:6,statement:7,mustache:8,block:9,rawBlock:10,partial:11,CONTENT:12,COMMENT:13,openRawBlock:14,END_RAW_BLOCK:15,OPEN_RAW_BLOCK:16,sexpr:17,CLOSE_RAW_BLOCK:18,openBlock:19,block_option0:20,closeBlock:21,openInverse:22,block_option1:23,OPEN_BLOCK:24,CLOSE:25,OPEN_INVERSE:26,inverseAndProgram:27,INVERSE:28,OPEN_ENDBLOCK:29,path:30,OPEN:31,OPEN_UNESCAPED:32,CLOSE_UNESCAPED:33,OPEN_PARTIAL:34,partialName:35,param:36,partial_option0:37,partial_option1:38,sexpr_repetition0:39,sexpr_option0:40,dataName:41,STRING:42,NUMBER:43,BOOLEAN:44,OPEN_SEXPR:45,CLOSE_SEXPR:46,hash:47,hash_repetition_plus0:48,hashSegment:49,ID:50,EQUALS:51,DATA:52,pathSegments:53,SEP:54,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",12:"CONTENT",13:"COMMENT",15:"END_RAW_BLOCK",16:"OPEN_RAW_BLOCK",18:"CLOSE_RAW_BLOCK",24:"OPEN_BLOCK",25:"CLOSE",26:"OPEN_INVERSE",28:"INVERSE",29:"OPEN_ENDBLOCK",31:"OPEN",32:"OPEN_UNESCAPED",33:"CLOSE_UNESCAPED",34:"OPEN_PARTIAL",42:"STRING",43:"NUMBER",44:"BOOLEAN",45:"OPEN_SEXPR",46:"CLOSE_SEXPR",50:"ID",51:"EQUALS",52:"DATA",54:"SEP"},productions_:[0,[3,2],[4,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[10,3],[14,3],[9,4],[9,4],[19,3],[22,3],[27,2],[21,3],[8,3],[8,3],[11,5],[11,4],[17,3],[17,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,3],[47,1],[49,3],[35,1],[35,1],[35,1],[41,2],[30,1],[53,3],[53,1],[6,0],[6,2],[20,0],[20,1],[23,0],[23,1],[37,0],[37,1],[38,0],[38,1],[39,0],[39,2],[40,0],[40,1],[48,1],[48,2]],performAction:function(a,b,c,d,e,f){var g=f.length-1;switch(e){case 1:return d.prepareProgram(f[g-1].statements,!0),f[g-1];case 2:this.$=new d.ProgramNode(d.prepareProgram(f[g]),{},this._$);break;case 3:this.$=f[g];break;case 4:this.$=f[g];break;case 5:this.$=f[g];break;case 6:this.$=f[g];break;case 7:this.$=new d.ContentNode(f[g],this._$);break;case 8:this.$=new d.CommentNode(f[g],this._$);break;case 9:this.$=new d.RawBlockNode(f[g-2],f[g-1],f[g],this._$);break;case 10:this.$=new d.MustacheNode(f[g-1],null,"","",this._$);break;case 11:this.$=d.prepareBlock(f[g-3],f[g-2],f[g-1],f[g],!1,this._$);break;case 12:this.$=d.prepareBlock(f[g-3],f[g-2],f[g-1],f[g],!0,this._$);break;case 13:this.$=new d.MustacheNode(f[g-1],null,f[g-2],d.stripFlags(f[g-2],f[g]),this._$);break;case 14:this.$=new d.MustacheNode(f[g-1],null,f[g-2],d.stripFlags(f[g-2],f[g]),this._$);break;case 15:this.$={strip:d.stripFlags(f[g-1],f[g-1]),program:f[g]};break;case 16:this.$={path:f[g-1],strip:d.stripFlags(f[g-2],f[g])};break;case 17:this.$=new d.MustacheNode(f[g-1],null,f[g-2],d.stripFlags(f[g-2],f[g]),this._$);break;case 18:this.$=new d.MustacheNode(f[g-1],null,f[g-2],d.stripFlags(f[g-2],f[g]),this._$);break;case 19:this.$=new d.PartialNode(f[g-3],f[g-2],f[g-1],d.stripFlags(f[g-4],f[g]),this._$);break;case 20:this.$=new d.PartialNode(f[g-2],void 0,f[g-1],d.stripFlags(f[g-3],f[g]),this._$);break;case 21:this.$=new d.SexprNode([f[g-2]].concat(f[g-1]),f[g],this._$);break;case 22:this.$=new d.SexprNode([f[g]],null,this._$);break;case 23:this.$=f[g];break;case 24:this.$=new d.StringNode(f[g],this._$);break;case 25:this.$=new d.NumberNode(f[g],this._$);break;case 26:this.$=new d.BooleanNode(f[g],this._$);break;case 27:this.$=f[g];break;case 28:f[g-1].isHelper=!0,this.$=f[g-1];break;case 29:this.$=new d.HashNode(f[g],this._$);break;case 30:this.$=[f[g-2],f[g]];break;case 31:this.$=new d.PartialNameNode(f[g],this._$);break;case 32:this.$=new d.PartialNameNode(new d.StringNode(f[g],this._$),this._$);break;case 33:this.$=new d.PartialNameNode(new d.NumberNode(f[g],this._$));break;case 34:this.$=new d.DataNode(f[g],this._$);break;case 35:this.$=new d.IdNode(f[g],this._$);break;case 36:f[g-2].push({part:f[g],separator:f[g-1]}),this.$=f[g-2];break;case 37:this.$=[{part:f[g]}];break;case 38:this.$=[];break;case 39:f[g-1].push(f[g]);break;case 48:this.$=[];break;case 49:f[g-1].push(f[g]);break;case 52:this.$=[f[g]];break;case 53:f[g-1].push(f[g])}},table:[{3:1,4:2,5:[2,38],6:3,12:[2,38],13:[2,38],16:[2,38],24:[2,38],26:[2,38],31:[2,38],32:[2,38],34:[2,38]},{1:[3]},{5:[1,4]},{5:[2,2],7:5,8:6,9:7,10:8,11:9,12:[1,10],13:[1,11],14:16,16:[1,20],19:14,22:15,24:[1,18],26:[1,19],28:[2,2],29:[2,2],31:[1,12],32:[1,13],34:[1,17]},{1:[2,1]},{5:[2,39],12:[2,39],13:[2,39],16:[2,39],24:[2,39],26:[2,39],28:[2,39],29:[2,39],31:[2,39],32:[2,39],34:[2,39]},{5:[2,3],12:[2,3],13:[2,3],16:[2,3],24:[2,3],26:[2,3],28:[2,3],29:[2,3],31:[2,3],32:[2,3],34:[2,3]},{5:[2,4],12:[2,4],13:[2,4],16:[2,4],24:[2,4],26:[2,4],28:[2,4],29:[2,4],31:[2,4],32:[2,4],34:[2,4]},{5:[2,5],12:[2,5],13:[2,5],16:[2,5],24:[2,5],26:[2,5],28:[2,5],29:[2,5],31:[2,5],32:[2,5],34:[2,5]},{5:[2,6],12:[2,6],13:[2,6],16:[2,6],24:[2,6],26:[2,6],28:[2,6],29:[2,6],31:[2,6],32:[2,6],34:[2,6]},{5:[2,7],12:[2,7],13:[2,7],16:[2,7],24:[2,7],26:[2,7],28:[2,7],29:[2,7],31:[2,7],32:[2,7],34:[2,7]},{5:[2,8],12:[2,8],13:[2,8],16:[2,8],24:[2,8],26:[2,8],28:[2,8],29:[2,8],31:[2,8],32:[2,8],34:[2,8]},{17:21,30:22,41:23,50:[1,26],52:[1,25],53:24},{17:27,30:22,41:23,50:[1,26],52:[1,25],53:24},{4:28,6:3,12:[2,38],13:[2,38],16:[2,38],24:[2,38],26:[2,38],28:[2,38],29:[2,38],31:[2,38],32:[2,38],34:[2,38]},{4:29,6:3,12:[2,38],13:[2,38],16:[2,38],24:[2,38],26:[2,38],28:[2,38],29:[2,38],31:[2,38],32:[2,38],34:[2,38]},{12:[1,30]},{30:32,35:31,42:[1,33],43:[1,34],50:[1,26],53:24},{17:35,30:22,41:23,50:[1,26],52:[1,25],53:24},{17:36,30:22,41:23,50:[1,26],52:[1,25],53:24},{17:37,30:22,41:23,50:[1,26],52:[1,25],53:24},{25:[1,38]},{18:[2,48],25:[2,48],33:[2,48],39:39,42:[2,48],43:[2,48],44:[2,48],45:[2,48],46:[2,48],50:[2,48],52:[2,48]},{18:[2,22],25:[2,22],33:[2,22],46:[2,22]},{18:[2,35],25:[2,35],33:[2,35],42:[2,35],43:[2,35],44:[2,35],45:[2,35],46:[2,35],50:[2,35],52:[2,35],54:[1,40]},{30:41,50:[1,26],53:24},{18:[2,37],25:[2,37],33:[2,37],42:[2,37],43:[2,37],44:[2,37],45:[2,37],46:[2,37],50:[2,37],52:[2,37],54:[2,37]},{33:[1,42]},{20:43,27:44,28:[1,45],29:[2,40]},{23:46,27:47,28:[1,45],29:[2,42]},{15:[1,48]},{25:[2,46],30:51,36:49,38:50,41:55,42:[1,52],43:[1,53],44:[1,54],45:[1,56],47:57,48:58,49:60,50:[1,59],52:[1,25],53:24},{25:[2,31],42:[2,31],43:[2,31],44:[2,31],45:[2,31],50:[2,31],52:[2,31]},{25:[2,32],42:[2,32],43:[2,32],44:[2,32],45:[2,32],50:[2,32],52:[2,32]},{25:[2,33],42:[2,33],43:[2,33],44:[2,33],45:[2,33],50:[2,33],52:[2,33]},{25:[1,61]},{25:[1,62]},{18:[1,63]},{5:[2,17],12:[2,17],13:[2,17],16:[2,17],24:[2,17],26:[2,17],28:[2,17],29:[2,17],31:[2,17],32:[2,17],34:[2,17]},{18:[2,50],25:[2,50],30:51,33:[2,50],36:65,40:64,41:55,42:[1,52],43:[1,53],44:[1,54],45:[1,56],46:[2,50],47:66,48:58,49:60,50:[1,59],52:[1,25],53:24},{50:[1,67]},{18:[2,34],25:[2,34],33:[2,34],42:[2,34],43:[2,34],44:[2,34],45:[2,34],46:[2,34],50:[2,34],52:[2,34]},{5:[2,18],12:[2,18],13:[2,18],16:[2,18],24:[2,18],26:[2,18],28:[2,18],29:[2,18],31:[2,18],32:[2,18],34:[2,18]},{21:68,29:[1,69]},{29:[2,41]},{4:70,6:3,12:[2,38],13:[2,38],16:[2,38],24:[2,38],26:[2,38],29:[2,38],31:[2,38],32:[2,38],34:[2,38]},{21:71,29:[1,69]},{29:[2,43]},{5:[2,9],12:[2,9],13:[2,9],16:[2,9],24:[2,9],26:[2,9],28:[2,9],29:[2,9],31:[2,9],32:[2,9],34:[2,9]},{25:[2,44],37:72,47:73,48:58,49:60,50:[1,74]},{25:[1,75]},{18:[2,23],25:[2,23],33:[2,23],42:[2,23],43:[2,23],44:[2,23],45:[2,23],46:[2,23],50:[2,23],52:[2,23]},{18:[2,24],25:[2,24],33:[2,24],42:[2,24],43:[2,24],44:[2,24],45:[2,24],46:[2,24],50:[2,24],52:[2,24]},{18:[2,25],25:[2,25],33:[2,25],42:[2,25],43:[2,25],44:[2,25],45:[2,25],46:[2,25],50:[2,25],52:[2,25]},{18:[2,26],25:[2,26],33:[2,26],42:[2,26],43:[2,26],44:[2,26],45:[2,26],46:[2,26],50:[2,26],52:[2,26]},{18:[2,27],25:[2,27],33:[2,27],42:[2,27],43:[2,27],44:[2,27],45:[2,27],46:[2,27],50:[2,27],52:[2,27]},{17:76,30:22,41:23,50:[1,26],52:[1,25],53:24},{25:[2,47]},{18:[2,29],25:[2,29],33:[2,29],46:[2,29],49:77,50:[1,74]},{18:[2,37],25:[2,37],33:[2,37],42:[2,37],43:[2,37],44:[2,37],45:[2,37],46:[2,37],50:[2,37],51:[1,78],52:[2,37],54:[2,37]},{18:[2,52],25:[2,52],33:[2,52],46:[2,52],50:[2,52]},{12:[2,13],13:[2,13],16:[2,13],24:[2,13],26:[2,13],28:[2,13],29:[2,13],31:[2,13],32:[2,13],34:[2,13]},{12:[2,14],13:[2,14],16:[2,14],24:[2,14],26:[2,14],28:[2,14],29:[2,14],31:[2,14],32:[2,14],34:[2,14]},{12:[2,10]},{18:[2,21],25:[2,21],33:[2,21],46:[2,21]},{18:[2,49],25:[2,49],33:[2,49],42:[2,49],43:[2,49],44:[2,49],45:[2,49],46:[2,49],50:[2,49],52:[2,49]},{18:[2,51],25:[2,51],33:[2,51],46:[2,51]},{18:[2,36],25:[2,36],33:[2,36],42:[2,36],43:[2,36],44:[2,36],45:[2,36],46:[2,36],50:[2,36],52:[2,36],54:[2,36]},{5:[2,11],12:[2,11],13:[2,11],16:[2,11],24:[2,11],26:[2,11],28:[2,11],29:[2,11],31:[2,11],32:[2,11],34:[2,11]},{30:79,50:[1,26],53:24},{29:[2,15]},{5:[2,12],12:[2,12],13:[2,12],16:[2,12],24:[2,12],26:[2,12],28:[2,12],29:[2,12],31:[2,12],32:[2,12],34:[2,12]},{25:[1,80]},{25:[2,45]},{51:[1,78]},{5:[2,20],12:[2,20],13:[2,20],16:[2,20],24:[2,20],26:[2,20],28:[2,20],29:[2,20],31:[2,20],32:[2,20],34:[2,20]},{46:[1,81]},{18:[2,53],25:[2,53],33:[2,53],46:[2,53],50:[2,53]},{30:51,36:82,41:55,42:[1,52],43:[1,53],44:[1,54],45:[1,56],50:[1,26],52:[1,25],53:24},{25:[1,83]},{5:[2,19],12:[2,19],13:[2,19],16:[2,19],24:[2,19],26:[2,19],28:[2,19],29:[2,19],31:[2,19],32:[2,19],34:[2,19]},{18:[2,28],25:[2,28],33:[2,28],42:[2,28],43:[2,28],44:[2,28],45:[2,28],46:[2,28],50:[2,28],52:[2,28]},{18:[2,30],25:[2,30],33:[2,30],46:[2,30],50:[2,30]},{5:[2,16],12:[2,16],13:[2,16],16:[2,16],24:[2,16],26:[2,16],28:[2,16],29:[2,16],31:[2,16],32:[2,16],34:[2,16]}],defaultActions:{4:[2,1],44:[2,41],47:[2,43],57:[2,47],63:[2,10],70:[2,15],73:[2,45]},parseError:function(a){throw new Error(a)},parse:function(a){function b(){var a;return a=c.lexer.lex()||1,"number"!=typeof a&&(a=c.symbols_[a]||a),a}var c=this,d=[0],e=[null],f=[],g=this.table,h="",i=0,j=0,k=0;this.lexer.setInput(a),this.lexer.yy=this.yy,this.yy.lexer=this.lexer,this.yy.parser=this,"undefined"==typeof this.lexer.yylloc&&(this.lexer.yylloc={});var l=this.lexer.yylloc;f.push(l);var m=this.lexer.options&&this.lexer.options.ranges;"function"==typeof this.yy.parseError&&(this.parseError=this.yy.parseError);for(var n,o,p,q,r,s,t,u,v,w={};;){if(p=d[d.length-1],this.defaultActions[p]?q=this.defaultActions[p]:((null===n||"undefined"==typeof n)&&(n=b()),q=g[p]&&g[p][n]),"undefined"==typeof q||!q.length||!q[0]){var x="";if(!k){v=[];for(s in g[p])this.terminals_[s]&&s>2&&v.push("'"+this.terminals_[s]+"'");x=this.lexer.showPosition?"Parse error on line "+(i+1)+":\n"+this.lexer.showPosition()+"\nExpecting "+v.join(", ")+", got '"+(this.terminals_[n]||n)+"'":"Parse error on line "+(i+1)+": Unexpected "+(1==n?"end of input":"'"+(this.terminals_[n]||n)+"'"),this.parseError(x,{text:this.lexer.match,token:this.terminals_[n]||n,line:this.lexer.yylineno,loc:l,expected:v})}}if(q[0]instanceof Array&&q.length>1)throw new Error("Parse Error: multiple actions possible at state: "+p+", token: "+n);switch(q[0]){case 1:d.push(n),e.push(this.lexer.yytext),f.push(this.lexer.yylloc),d.push(q[1]),n=null,o?(n=o,o=null):(j=this.lexer.yyleng,h=this.lexer.yytext,i=this.lexer.yylineno,l=this.lexer.yylloc,k>0&&k--);break;case 2:if(t=this.productions_[q[1]][1],w.$=e[e.length-t],w._$={first_line:f[f.length-(t||1)].first_line,last_line:f[f.length-1].last_line,first_column:f[f.length-(t||1)].first_column,last_column:f[f.length-1].last_column},m&&(w._$.range=[f[f.length-(t||1)].range[0],f[f.length-1].range[1]]),r=this.performAction.call(w,h,j,i,this.yy,q[1],e,f),"undefined"!=typeof r)return r;t&&(d=d.slice(0,-1*t*2),e=e.slice(0,-1*t),f=f.slice(0,-1*t)),d.push(this.productions_[q[1]][0]),e.push(w.$),f.push(w._$),u=g[d[d.length-2]][d[d.length-1]],d.push(u);break;case 3:return!0}}return!0}},c=function(){var a={EOF:1,parseError:function(a,b){if(!this.yy.parser)throw new Error(a);this.yy.parser.parseError(a,b)},setInput:function(a){return this._input=a,this._more=this._less=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var a=this._input[0];this.yytext+=a,this.yyleng++,this.offset++,this.match+=a,this.matched+=a;var b=a.match(/(?:\r\n?|\n).*/g);return b?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),a},unput:function(a){var b=a.length,c=a.split(/(?:\r\n?|\n)/g);this._input=a+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-b-1),this.offset-=b;var d=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),c.length-1&&(this.yylineno-=c.length-1);var e=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:c?(c.length===d.length?this.yylloc.first_column:0)+d[d.length-c.length].length-c[0].length:this.yylloc.first_column-b},this.options.ranges&&(this.yylloc.range=[e[0],e[0]+this.yyleng-b]),this},more:function(){return this._more=!0,this},less:function(a){this.unput(this.match.slice(a))},pastInput:function(){var a=this.matched.substr(0,this.matched.length-this.match.length);return(a.length>20?"...":"")+a.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var a=this.match;return a.length<20&&(a+=this._input.substr(0,20-a.length)),(a.substr(0,20)+(a.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var a=this.pastInput(),b=new Array(a.length+1).join("-");return a+this.upcomingInput()+"\n"+b+"^"},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var a,b,c,d,e;this._more||(this.yytext="",this.match="");for(var f=this._currentRules(),g=0;gb[0].length)||(b=c,d=g,this.options.flex));g++);return b?(e=b[0].match(/(?:\r\n?|\n).*/g),e&&(this.yylineno+=e.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:e?e[e.length-1].length-e[e.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+b[0].length},this.yytext+=b[0],this.match+=b[0],this.matches=b,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._input=this._input.slice(b[0].length),this.matched+=b[0],a=this.performAction.call(this,this.yy,this,f[d],this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),a?a:void 0):""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var a=this.next();return"undefined"!=typeof a?a:this.lex()},begin:function(a){this.conditionStack.push(a)},popState:function(){return this.conditionStack.pop()},_currentRules:function(){return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules},topState:function(){return this.conditionStack[this.conditionStack.length-2]},pushState:function(a){this.begin(a)}};return a.options={},a.performAction=function(a,b,c,d){function e(a,c){return b.yytext=b.yytext.substr(a,b.yyleng-c)}switch(c){case 0:if("\\\\"===b.yytext.slice(-2)?(e(0,1),this.begin("mu")):"\\"===b.yytext.slice(-1)?(e(0,1),this.begin("emu")):this.begin("mu"),b.yytext)return 12;break;case 1:return 12;case 2:return this.popState(),12;case 3:return b.yytext=b.yytext.substr(5,b.yyleng-9),this.popState(),15;case 4:return 12;case 5:return e(0,4),this.popState(),13;case 6:return 45;case 7:return 46;case 8:return 16;case 9:return this.popState(),this.begin("raw"),18;case 10:return 34;case 11:return 24;case 12:return 29;case 13:return this.popState(),28;case 14:return this.popState(),28;case 15:return 26;case 16:return 26;case 17:return 32;case 18:return 31;case 19:this.popState(),this.begin("com");break;case 20:return e(3,5),this.popState(),13;case 21:return 31;case 22:return 51;case 23:return 50;case 24:return 50;case 25:return 54;case 26:break;case 27:return this.popState(),33;case 28:return this.popState(),25;case 29:return b.yytext=e(1,2).replace(/\\"/g,'"'),42;case 30:return b.yytext=e(1,2).replace(/\\'/g,"'"),42;case 31:return 52;case 32:return 44;case 33:return 44;case 34:return 43;case 35:return 50;case 36:return b.yytext=e(1,2),50;case 37:return"INVALID";case 38:return 5}},a.rules=[/^(?:[^\x00]*?(?=(\{\{)))/,/^(?:[^\x00]+)/,/^(?:[^\x00]{2,}?(?=(\{\{|\\\{\{|\\\\\{\{|$)))/,/^(?:\{\{\{\{\/[^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=[=}\s\/.])\}\}\}\})/,/^(?:[^\x00]*?(?=(\{\{\{\{\/)))/,/^(?:[\s\S]*?--\}\})/,/^(?:\()/,/^(?:\))/,/^(?:\{\{\{\{)/,/^(?:\}\}\}\})/,/^(?:\{\{(~)?>)/,/^(?:\{\{(~)?#)/,/^(?:\{\{(~)?\/)/,/^(?:\{\{(~)?\^\s*(~)?\}\})/,/^(?:\{\{(~)?\s*else\s*(~)?\}\})/,/^(?:\{\{(~)?\^)/,/^(?:\{\{(~)?\s*else\b)/,/^(?:\{\{(~)?\{)/,/^(?:\{\{(~)?&)/,/^(?:\{\{!--)/,/^(?:\{\{![\s\S]*?\}\})/,/^(?:\{\{(~)?)/,/^(?:=)/,/^(?:\.\.)/,/^(?:\.(?=([=~}\s\/.)])))/,/^(?:[\/.])/,/^(?:\s+)/,/^(?:\}(~)?\}\})/,/^(?:(~)?\}\})/,/^(?:"(\\["]|[^"])*")/,/^(?:'(\\[']|[^'])*')/,/^(?:@)/,/^(?:true(?=([~}\s)])))/,/^(?:false(?=([~}\s)])))/,/^(?:-?[0-9]+(?:\.[0-9]+)?(?=([~}\s)])))/,/^(?:([^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=([=~}\s\/.)]))))/,/^(?:\[[^\]]*\])/,/^(?:.)/,/^(?:$)/],a.conditions={mu:{rules:[6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],inclusive:!1},emu:{rules:[2],inclusive:!1},com:{rules:[5],inclusive:!1},raw:{rules:[3,4],inclusive:!1},INITIAL:{rules:[0,1,38],inclusive:!0}},a}();return b.lexer=c,a.prototype=b,b.Parser=a,new a}();return a=b}(),i=function(a){"use strict";function b(a,b){return{left:"~"===a.charAt(2),right:"~"===b.charAt(b.length-3)}}function c(a,b,c,d,i,k){if(a.sexpr.id.original!==d.path.original)throw new j(a.sexpr.id.original+" doesn't match "+d.path.original,a);var l=c&&c.program,m={left:a.strip.left,right:d.strip.right,openStandalone:f(b.statements),closeStandalone:e((l||b).statements)};if(a.strip.right&&g(b.statements,null,!0),l){var n=c.strip;n.left&&h(b.statements,null,!0),n.right&&g(l.statements,null,!0),d.strip.left&&h(l.statements,null,!0),e(b.statements)&&f(l.statements)&&(h(b.statements),g(l.statements))}else d.strip.left&&h(b.statements,null,!0);return i?new this.BlockNode(a,l,b,m,k):new this.BlockNode(a,b,l,m,k)}function d(a,b){for(var c=0,d=a.length;d>c;c++){var i=a[c],j=i.strip;if(j){var k=e(a,c,b,"partial"===i.type),l=f(a,c,b),m=j.openStandalone&&k,n=j.closeStandalone&&l,o=j.inlineStandalone&&k&&l;j.right&&g(a,c,!0),j.left&&h(a,c,!0),o&&(g(a,c),h(a,c)&&"partial"===i.type&&(i.indent=/([ \t]+$)/.exec(a[c-1].original)?RegExp.$1:"")),m&&(g((i.program||i.inverse).statements),h(a,c)),n&&(g(a,c),h((i.inverse||i.program).statements))}}return a}function e(a,b,c){void 0===b&&(b=a.length);var d=a[b-1],e=a[b-2];return d?"content"===d.type?(e||!c?/\r?\n\s*?$/:/(^|\r?\n)\s*?$/).test(d.original):void 0:c}function f(a,b,c){void 0===b&&(b=-1);var d=a[b+1],e=a[b+2];return d?"content"===d.type?(e||!c?/^\s*?\r?\n/:/^\s*?(\r?\n|$)/).test(d.original):void 0:c}function g(a,b,c){var d=a[null==b?0:b+1];if(d&&"content"===d.type&&(c||!d.rightStripped)){var e=d.string;d.string=d.string.replace(c?/^\s+/:/^[ \t]*\r?\n?/,""),d.rightStripped=d.string!==e}}function h(a,b,c){var d=a[null==b?a.length-1:b-1];if(d&&"content"===d.type&&(c||!d.leftStripped)){var e=d.string;return d.string=d.string.replace(c?/\s+$/:/[ \t]+$/,""),d.leftStripped=d.string!==e,d.leftStripped}}var i={},j=a;return i.stripFlags=b,i.prepareBlock=c,i.prepareProgram=d,i}(c),j=function(a,b,c,d){"use strict";function e(a){return a.constructor===h.ProgramNode?a:(g.yy=k,g.parse(a))}var f={},g=a,h=b,i=c,j=d.extend;f.parser=g;var k={};return j(k,i,h),f.parse=e,f}(h,g,i,b),k=function(a,b){"use strict";function c(){}function d(a,b,c){if(null==a||"string"!=typeof a&&a.constructor!==c.AST.ProgramNode)throw new h("You must pass a string or Handlebars AST to Handlebars.precompile. You passed "+a);b=b||{},"data"in b||(b.data=!0),b.compat&&(b.useDepths=!0);var d=c.parse(a),e=(new c.Compiler).compile(d,b);return(new c.JavaScriptCompiler).compile(e,b)}function e(a,b,c){function d(){var d=c.parse(a),e=(new c.Compiler).compile(d,b),f=(new c.JavaScriptCompiler).compile(e,b,void 0,!0);return c.template(f)}if(null==a||"string"!=typeof a&&a.constructor!==c.AST.ProgramNode)throw new h("You must pass a string or Handlebars AST to Handlebars.compile. You passed "+a);b=b||{},"data"in b||(b.data=!0),b.compat&&(b.useDepths=!0);var e,f=function(a,b){return e||(e=d()),e.call(this,a,b)};return f._setup=function(a){return e||(e=d()),e._setup(a)},f._child=function(a,b,c){return e||(e=d()),e._child(a,b,c)},f}function f(a,b){if(a===b)return!0;if(i(a)&&i(b)&&a.length===b.length){for(var c=0;cc;c++){var d=this.opcodes[c],e=a.opcodes[c];if(d.opcode!==e.opcode||!f(d.args,e.args))return!1}for(b=this.children.length,c=0;b>c;c++)if(!this.children[c].equals(a.children[c]))return!1;return!0},guid:0,compile:function(a,b){this.opcodes=[],this.children=[],this.depths={list:[]},this.options=b,this.stringParams=b.stringParams,this.trackIds=b.trackIds;var c=this.options.knownHelpers;if(this.options.knownHelpers={helperMissing:!0,blockHelperMissing:!0,each:!0,"if":!0,unless:!0,"with":!0,log:!0,lookup:!0},c)for(var d in c)this.options.knownHelpers[d]=c[d];return this.accept(a)},accept:function(a){return this[a.type](a)},program:function(a){for(var b=a.statements,c=0,d=b.length;d>c;c++)this.accept(b[c]);return this.isSimple=1===d,this.depths.list=this.depths.list.sort(function(a,b){return a-b}),this},compileProgram:function(a){var b,c=(new this.compiler).compile(a,this.options),d=this.guid++;this.usePartial=this.usePartial||c.usePartial,this.children[d]=c;for(var e=0,f=c.depths.list.length;f>e;e++)b=c.depths.list[e],2>b||this.addDepth(b-1);return d},block:function(a){var b=a.mustache,c=a.program,d=a.inverse;c&&(c=this.compileProgram(c)),d&&(d=this.compileProgram(d));var e=b.sexpr,f=this.classifySexpr(e);"helper"===f?this.helperSexpr(e,c,d):"simple"===f?(this.simpleSexpr(e),this.opcode("pushProgram",c),this.opcode("pushProgram",d),this.opcode("emptyHash"),this.opcode("blockValue",e.id.original)):(this.ambiguousSexpr(e,c,d),this.opcode("pushProgram",c),this.opcode("pushProgram",d),this.opcode("emptyHash"),this.opcode("ambiguousBlockValue")),this.opcode("append")},hash:function(a){var b,c,d=a.pairs;for(this.opcode("pushHash"),b=0,c=d.length;c>b;b++)this.pushParam(d[b][1]);for(;b--;)this.opcode("assignToHash",d[b][0]);this.opcode("popHash")},partial:function(a){var b=a.partialName;this.usePartial=!0,a.hash?this.accept(a.hash):this.opcode("push","undefined"),a.context?this.accept(a.context):(this.opcode("getContext",0),this.opcode("pushContext")),this.opcode("invokePartial",b.name,a.indent||""),this.opcode("append")},content:function(a){a.string&&this.opcode("appendContent",a.string)},mustache:function(a){this.sexpr(a.sexpr),this.opcode(a.escaped&&!this.options.noEscape?"appendEscaped":"append")},ambiguousSexpr:function(a,b,c){var d=a.id,e=d.parts[0],f=null!=b||null!=c;this.opcode("getContext",d.depth),this.opcode("pushProgram",b),this.opcode("pushProgram",c),this.ID(d),this.opcode("invokeAmbiguous",e,f)},simpleSexpr:function(a){var b=a.id;"DATA"===b.type?this.DATA(b):b.parts.length?this.ID(b):(this.addDepth(b.depth),this.opcode("getContext",b.depth),this.opcode("pushContext")),this.opcode("resolvePossibleLambda")},helperSexpr:function(a,b,c){var d=this.setupFullMustacheParams(a,b,c),e=a.id,f=e.parts[0];if(this.options.knownHelpers[f])this.opcode("invokeKnownHelper",d.length,f);else{if(this.options.knownHelpersOnly)throw new h("You specified knownHelpersOnly, but used the unknown helper "+f,a);e.falsy=!0,this.ID(e),this.opcode("invokeHelper",d.length,e.original,e.isSimple)}},sexpr:function(a){var b=this.classifySexpr(a);"simple"===b?this.simpleSexpr(a):"helper"===b?this.helperSexpr(a):this.ambiguousSexpr(a)},ID:function(a){this.addDepth(a.depth),this.opcode("getContext",a.depth);var b=a.parts[0];b?this.opcode("lookupOnContext",a.parts,a.falsy,a.isScoped):this.opcode("pushContext")},DATA:function(a){this.options.data=!0,this.opcode("lookupData",a.id.depth,a.id.parts)},STRING:function(a){this.opcode("pushString",a.string)},NUMBER:function(a){this.opcode("pushLiteral",a.number)},BOOLEAN:function(a){this.opcode("pushLiteral",a.bool)},comment:function(){},opcode:function(a){this.opcodes.push({opcode:a,args:j.call(arguments,1)}) -},addDepth:function(a){0!==a&&(this.depths[a]||(this.depths[a]=!0,this.depths.list.push(a)))},classifySexpr:function(a){var b=a.isHelper,c=a.eligibleHelper,d=this.options;if(c&&!b){var e=a.id.parts[0];d.knownHelpers[e]?b=!0:d.knownHelpersOnly&&(c=!1)}return b?"helper":c?"ambiguous":"simple"},pushParams:function(a){for(var b=0,c=a.length;c>b;b++)this.pushParam(a[b])},pushParam:function(a){this.stringParams?(a.depth&&this.addDepth(a.depth),this.opcode("getContext",a.depth||0),this.opcode("pushStringParam",a.stringModeValue,a.type),"sexpr"===a.type&&this.sexpr(a)):(this.trackIds&&this.opcode("pushId",a.type,a.idName||a.stringModeValue),this.accept(a))},setupFullMustacheParams:function(a,b,c){var d=a.params;return this.pushParams(d),this.opcode("pushProgram",b),this.opcode("pushProgram",c),a.hash?this.hash(a.hash):this.opcode("emptyHash"),d}},g.precompile=d,g.compile=e,g}(c,b),l=function(a,b){"use strict";function c(a){this.value=a}function d(){}var e,f=a.COMPILER_REVISION,g=a.REVISION_CHANGES,h=b;d.prototype={nameLookup:function(a,b){return d.isValidJavaScriptVariableName(b)?a+"."+b:a+"['"+b+"']"},depthedLookup:function(a){return this.aliases.lookup="this.lookup",'lookup(depths, "'+a+'")'},compilerInfo:function(){var a=f,b=g[a];return[a,b]},appendToBuffer:function(a){return this.environment.isSimple?"return "+a+";":{appendToBuffer:!0,content:a,toString:function(){return"buffer += "+a+";"}}},initializeBuffer:function(){return this.quotedString("")},namespace:"Handlebars",compile:function(a,b,c,d){this.environment=a,this.options=b,this.stringParams=this.options.stringParams,this.trackIds=this.options.trackIds,this.precompile=!d,this.name=this.environment.name,this.isChild=!!c,this.context=c||{programs:[],environments:[]},this.preamble(),this.stackSlot=0,this.stackVars=[],this.aliases={},this.registers={list:[]},this.hashes=[],this.compileStack=[],this.inlineStack=[],this.compileChildren(a,b),this.useDepths=this.useDepths||a.depths.list.length||this.options.compat;var e,f,g,i=a.opcodes;for(f=0,g=i.length;g>f;f++)e=i[f],this[e.opcode].apply(this,e.args);if(this.pushSource(""),this.stackSlot||this.inlineStack.length||this.compileStack.length)throw new h("Compile completed with content left on stack");var j=this.createFunctionContext(d);if(this.isChild)return j;var k={compiler:this.compilerInfo(),main:j},l=this.context.programs;for(f=0,g=l.length;g>f;f++)l[f]&&(k[f]=l[f]);return this.environment.usePartial&&(k.usePartial=!0),this.options.data&&(k.useData=!0),this.useDepths&&(k.useDepths=!0),this.options.compat&&(k.compat=!0),d||(k.compiler=JSON.stringify(k.compiler),k=this.objectLiteral(k)),k},preamble:function(){this.lastContext=0,this.source=[]},createFunctionContext:function(a){var b="",c=this.stackVars.concat(this.registers.list);c.length>0&&(b+=", "+c.join(", "));for(var d in this.aliases)this.aliases.hasOwnProperty(d)&&(b+=", "+d+"="+this.aliases[d]);var e=["depth0","helpers","partials","data"];this.useDepths&&e.push("depths");var f=this.mergeSource(b);return a?(e.push(f),Function.apply(this,e)):"function("+e.join(",")+") {\n "+f+"}"},mergeSource:function(a){for(var b,c,d="",e=!this.forceBuffer,f=0,g=this.source.length;g>f;f++){var h=this.source[f];h.appendToBuffer?b=b?b+"\n + "+h.content:h.content:(b&&(d?d+="buffer += "+b+";\n ":(c=!0,d=b+";\n "),b=void 0),d+=h+"\n ",this.environment.isSimple||(e=!1))}return e?(b||!d)&&(d+="return "+(b||'""')+";\n"):(a+=", buffer = "+(c?"":this.initializeBuffer()),d+=b?"return buffer + "+b+";\n":"return buffer;\n"),a&&(d="var "+a.substring(2)+(c?"":";\n ")+d),d},blockValue:function(a){this.aliases.blockHelperMissing="helpers.blockHelperMissing";var b=[this.contextName(0)];this.setupParams(a,0,b);var c=this.popStack();b.splice(1,0,c),this.push("blockHelperMissing.call("+b.join(", ")+")")},ambiguousBlockValue:function(){this.aliases.blockHelperMissing="helpers.blockHelperMissing";var a=[this.contextName(0)];this.setupParams("",0,a,!0),this.flushInline();var b=this.topStack();a.splice(1,0,b),this.pushSource("if (!"+this.lastHelper+") { "+b+" = blockHelperMissing.call("+a.join(", ")+"); }")},appendContent:function(a){this.pendingContent&&(a=this.pendingContent+a),this.pendingContent=a},append:function(){this.flushInline();var a=this.popStack();this.pushSource("if ("+a+" != null) { "+this.appendToBuffer(a)+" }"),this.environment.isSimple&&this.pushSource("else { "+this.appendToBuffer("''")+" }")},appendEscaped:function(){this.aliases.escapeExpression="this.escapeExpression",this.pushSource(this.appendToBuffer("escapeExpression("+this.popStack()+")"))},getContext:function(a){this.lastContext=a},pushContext:function(){this.pushStackLiteral(this.contextName(this.lastContext))},lookupOnContext:function(a,b,c){var d=0,e=a.length;for(c||!this.options.compat||this.lastContext?this.pushContext():this.push(this.depthedLookup(a[d++]));e>d;d++)this.replaceStack(function(c){var e=this.nameLookup(c,a[d],"context");return b?" && "+e:" != null ? "+e+" : "+c})},lookupData:function(a,b){this.pushStackLiteral(a?"this.data(data, "+a+")":"data");for(var c=b.length,d=0;c>d;d++)this.replaceStack(function(a){return" && "+this.nameLookup(a,b[d],"data")})},resolvePossibleLambda:function(){this.aliases.lambda="this.lambda",this.push("lambda("+this.popStack()+", "+this.contextName(0)+")")},pushStringParam:function(a,b){this.pushContext(),this.pushString(b),"sexpr"!==b&&("string"==typeof a?this.pushString(a):this.pushStackLiteral(a))},emptyHash:function(){this.pushStackLiteral("{}"),this.trackIds&&this.push("{}"),this.stringParams&&(this.push("{}"),this.push("{}"))},pushHash:function(){this.hash&&this.hashes.push(this.hash),this.hash={values:[],types:[],contexts:[],ids:[]}},popHash:function(){var a=this.hash;this.hash=this.hashes.pop(),this.trackIds&&this.push("{"+a.ids.join(",")+"}"),this.stringParams&&(this.push("{"+a.contexts.join(",")+"}"),this.push("{"+a.types.join(",")+"}")),this.push("{\n "+a.values.join(",\n ")+"\n }")},pushString:function(a){this.pushStackLiteral(this.quotedString(a))},push:function(a){return this.inlineStack.push(a),a},pushLiteral:function(a){this.pushStackLiteral(a)},pushProgram:function(a){this.pushStackLiteral(null!=a?this.programExpression(a):null)},invokeHelper:function(a,b,c){this.aliases.helperMissing="helpers.helperMissing";var d=this.popStack(),e=this.setupHelper(a,b),f=(c?e.name+" || ":"")+d+" || helperMissing";this.push("(("+f+").call("+e.callParams+"))")},invokeKnownHelper:function(a,b){var c=this.setupHelper(a,b);this.push(c.name+".call("+c.callParams+")")},invokeAmbiguous:function(a,b){this.aliases.functionType='"function"',this.aliases.helperMissing="helpers.helperMissing",this.useRegister("helper");var c=this.popStack();this.emptyHash();var d=this.setupHelper(0,a,b),e=this.lastHelper=this.nameLookup("helpers",a,"helper");this.push("((helper = (helper = "+e+" || "+c+") != null ? helper : helperMissing"+(d.paramsInit?"),("+d.paramsInit:"")+"),(typeof helper === functionType ? helper.call("+d.callParams+") : helper))")},invokePartial:function(a,b){var c=[this.nameLookup("partials",a,"partial"),"'"+b+"'","'"+a+"'",this.popStack(),this.popStack(),"helpers","partials"];this.options.data?c.push("data"):this.options.compat&&c.push("undefined"),this.options.compat&&c.push("depths"),this.push("this.invokePartial("+c.join(", ")+")")},assignToHash:function(a){var b,c,d,e=this.popStack();this.trackIds&&(d=this.popStack()),this.stringParams&&(c=this.popStack(),b=this.popStack());var f=this.hash;b&&f.contexts.push("'"+a+"': "+b),c&&f.types.push("'"+a+"': "+c),d&&f.ids.push("'"+a+"': "+d),f.values.push("'"+a+"': ("+e+")")},pushId:function(a,b){"ID"===a||"DATA"===a?this.pushString(b):this.pushStackLiteral("sexpr"===a?"true":"null")},compiler:d,compileChildren:function(a,b){for(var c,d,e=a.children,f=0,g=e.length;g>f;f++){c=e[f],d=new this.compiler;var h=this.matchExistingProgram(c);null==h?(this.context.programs.push(""),h=this.context.programs.length,c.index=h,c.name="program"+h,this.context.programs[h]=d.compile(c,b,this.context,!this.precompile),this.context.environments[h]=c,this.useDepths=this.useDepths||d.useDepths):(c.index=h,c.name="program"+h)}},matchExistingProgram:function(a){for(var b=0,c=this.context.environments.length;c>b;b++){var d=this.context.environments[b];if(d&&d.equals(a))return b}},programExpression:function(a){var b=this.environment.children[a],c=(b.depths.list,this.useDepths),d=[b.index,"data"];return c&&d.push("depths"),"this.program("+d.join(", ")+")"},useRegister:function(a){this.registers[a]||(this.registers[a]=!0,this.registers.list.push(a))},pushStackLiteral:function(a){return this.push(new c(a))},pushSource:function(a){this.pendingContent&&(this.source.push(this.appendToBuffer(this.quotedString(this.pendingContent))),this.pendingContent=void 0),a&&this.source.push(a)},pushStack:function(a){this.flushInline();var b=this.incrStack();return this.pushSource(b+" = "+a+";"),this.compileStack.push(b),b},replaceStack:function(a){{var b,d,e,f="";this.isInline()}if(!this.isInline())throw new h("replaceStack on non-inline");var g=this.popStack(!0);if(g instanceof c)f=b=g.value,e=!0;else{d=!this.stackSlot;var i=d?this.incrStack():this.topStackName();f="("+this.push(i)+" = "+g+")",b=this.topStack()}var j=a.call(this,b);e||this.popStack(),d&&this.stackSlot--,this.push("("+f+j+")")},incrStack:function(){return this.stackSlot++,this.stackSlot>this.stackVars.length&&this.stackVars.push("stack"+this.stackSlot),this.topStackName()},topStackName:function(){return"stack"+this.stackSlot},flushInline:function(){var a=this.inlineStack;if(a.length){this.inlineStack=[];for(var b=0,d=a.length;d>b;b++){var e=a[b];e instanceof c?this.compileStack.push(e):this.pushStack(e)}}},isInline:function(){return this.inlineStack.length},popStack:function(a){var b=this.isInline(),d=(b?this.inlineStack:this.compileStack).pop();if(!a&&d instanceof c)return d.value;if(!b){if(!this.stackSlot)throw new h("Invalid stack pop");this.stackSlot--}return d},topStack:function(){var a=this.isInline()?this.inlineStack:this.compileStack,b=a[a.length-1];return b instanceof c?b.value:b},contextName:function(a){return this.useDepths&&a?"depths["+a+"]":"depth"+a},quotedString:function(a){return'"'+a.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")+'"'},objectLiteral:function(a){var b=[];for(var c in a)a.hasOwnProperty(c)&&b.push(this.quotedString(c)+":"+a[c]);return"{"+b.join(",")+"}"},setupHelper:function(a,b,c){var d=[],e=this.setupParams(b,a,d,c),f=this.nameLookup("helpers",b,"helper");return{params:d,paramsInit:e,name:f,callParams:[this.contextName(0)].concat(d).join(", ")}},setupOptions:function(a,b,c){var d,e,f,g={},h=[],i=[],j=[];g.name=this.quotedString(a),g.hash=this.popStack(),this.trackIds&&(g.hashIds=this.popStack()),this.stringParams&&(g.hashTypes=this.popStack(),g.hashContexts=this.popStack()),e=this.popStack(),f=this.popStack(),(f||e)&&(f||(f="this.noop"),e||(e="this.noop"),g.fn=f,g.inverse=e);for(var k=b;k--;)d=this.popStack(),c[k]=d,this.trackIds&&(j[k]=this.popStack()),this.stringParams&&(i[k]=this.popStack(),h[k]=this.popStack());return this.trackIds&&(g.ids="["+j.join(",")+"]"),this.stringParams&&(g.types="["+i.join(",")+"]",g.contexts="["+h.join(",")+"]"),this.options.data&&(g.data="data"),g},setupParams:function(a,b,c,d){var e=this.objectLiteral(this.setupOptions(a,b,c));return d?(this.useRegister("options"),c.push("options"),"options="+e):(c.push(e),"")}};for(var i="break else new var case finally return void catch for switch while continue function this with default if throw delete in try do instanceof typeof abstract enum int short boolean export interface static byte extends long super char final native synchronized class float package throws const goto private transient debugger implements protected volatile double import public let yield".split(" "),j=d.RESERVED_WORDS={},k=0,l=i.length;l>k;k++)j[i[k]]=!0;return d.isValidJavaScriptVariableName=function(a){return!d.RESERVED_WORDS[a]&&/^[a-zA-Z_$][0-9a-zA-Z_$]*$/.test(a)},e=d}(d,c),m=function(a,b,c,d,e){"use strict";var f,g=a,h=b,i=c.parser,j=c.parse,k=d.Compiler,l=d.compile,m=d.precompile,n=e,o=g.create,p=function(){var a=o();return a.compile=function(b,c){return l(b,c,a)},a.precompile=function(b,c){return m(b,c,a)},a.AST=h,a.Compiler=k,a.JavaScriptCompiler=n,a.Parser=i,a.parse=j,a};return g=p(),g.create=p,g["default"]=g,f=g}(f,g,j,k,l);return m}),function(){var a,b,c,d,e;!function(){function f(){}function g(a,b){if("."!==a.charAt(0))return a;for(var c=a.split("/"),d=b.split("/").slice(0,-1),e=0,f=c.length;f>e;e++){var g=c[e];if(".."===g)d.pop();else{if("."===g)continue;d.push(g)}}return d.join("/")}if(e=this.Ember=this.Ember||{},"undefined"==typeof e&&(e={}),"undefined"==typeof e.__loader){var h={},i={};a=function(a,b,c){h[a]={deps:b,callback:c}},d=c=b=function(a){var c=i[a];if(void 0!==c)return i[a];if(c===f)return void 0;if(i[a]={},!h[a])throw new Error("Could not find module "+a);for(var d,e=h[a],j=e.deps,k=e.callback,l=[],m=j.length,n=0;m>n;n++)l.push("exports"===j[n]?d={}:b(g(j[n],a)));var o=0===m?k.call(this):k.apply(this,l);return i[a]=d||(void 0===o?f:o)},d._eak_seen=h,e.__loader={define:a,require:c,registry:h}}else a=e.__loader.define,d=c=b=e.__loader.require}(),a("backburner",["backburner/utils","backburner/platform","backburner/binary-search","backburner/deferred-action-queues","exports"],function(a,b,c,d,e){"use strict";function f(a,b){this.queueNames=a,this.options=b||{},this.options.defaultQueue||(this.options.defaultQueue=a[0]),this.instanceStack=[],this._debouncees=[],this._throttlers=[],this._timers=[]}function g(a){return a.onError||a.onErrorTarget&&a.onErrorTarget[a.onErrorMethod]}function h(a){a.begin(),a._autorun=z.setTimeout(function(){a._autorun=null,a.end()})}function i(a,b,c){var d=t();(!a._laterTimer||bc;c+=2)a.schedule(a.options.defaultQueue,null,b[c])}),a._timers.length&&i(a,a._timers[0],a._timers[0]-e)}function k(a,b,c){return m(a,b,c)}function l(a,b,c){return m(a,b,c)}function m(a,b,c){for(var d,e=-1,f=0,g=c.length;g>f;f++)if(d=c[f],d[0]===a&&d[1]===b){e=f;break}return e}var n=a.each,o=a.isString,p=a.isFunction,q=a.isNumber,r=a.isCoercableNumber,s=a.wrapInTryCatch,t=a.now,u=b.needsIETryCatchFix,v=c["default"],w=d["default"],x=[].slice,y=[].pop,z=this;if(f.prototype={begin:function(){var a=this.options,b=a&&a.onBegin,c=this.currentInstance;c&&this.instanceStack.push(c),this.currentInstance=new w(this.queueNames,a),b&&b(this.currentInstance,c)},end:function(){var a=this.options,b=a&&a.onEnd,c=this.currentInstance,d=null,e=!1;try{c.flush()}finally{e||(e=!0,this.currentInstance=null,this.instanceStack.length&&(d=this.instanceStack.pop(),this.currentInstance=d),b&&b(c,d))}},run:function(a,b){var c=g(this.options);this.begin(),b||(b=a,a=null),o(b)&&(b=a[b]);var d=x.call(arguments,2),e=!1;if(c)try{return b.apply(a,d)}catch(f){c(f)}finally{e||(e=!0,this.end())}else try{return b.apply(a,d)}finally{e||(e=!0,this.end())}},join:function(a,b){return this.currentInstance?(b||(b=a,a=null),o(b)&&(b=a[b]),b.apply(a,x.call(arguments,2))):this.run.apply(this,arguments)},defer:function(a,b,c){c||(c=b,b=null),o(c)&&(c=b[c]);var d,e=this.DEBUG?new Error:void 0,f=arguments.length;if(f>3){d=new Array(f-3);for(var g=3;f>g;g++)d[g-3]=arguments[g]}else d=void 0;return this.currentInstance||h(this),this.currentInstance.schedule(a,b,c,d,!1,e)},deferOnce:function(a,b,c){c||(c=b,b=null),o(c)&&(c=b[c]);var d,e=this.DEBUG?new Error:void 0,f=arguments.length;if(f>3){d=new Array(f-3);for(var g=3;f>g;g++)d[g-3]=arguments[g]}else d=void 0;return this.currentInstance||h(this),this.currentInstance.schedule(a,b,c,d,!0,e)},setTimeout:function(){function a(){if(s)try{e.apply(h,c)}catch(a){s(a)}else e.apply(h,c)}for(var b=arguments.length,c=new Array(b),d=0;b>d;d++)c[d]=arguments[d];var e,f,h,j,k,l,m=c.length;if(0!==m){if(1===m)e=c.shift(),f=0;else if(2===m)j=c[0],k=c[1],p(k)||p(j[k])?(h=c.shift(),e=c.shift(),f=0):r(k)?(e=c.shift(),f=c.shift()):(e=c.shift(),f=0);else{var n=c[c.length-1];f=r(n)?c.pop():0,j=c[0],l=c[1],p(l)||o(l)&&null!==j&&l in j?(h=c.shift(),e=c.shift()):e=c.shift()}var q=t()+parseInt(f,10);o(e)&&(e=h[e]);var s=g(this.options),u=v(q,this._timers);return this._timers.splice(u,0,q,a),i(this,q,f),a}},throttle:function(a,b){var c,d,e,f,g=this,h=arguments,i=y.call(h);return q(i)||o(i)?(c=i,i=!0):c=y.call(h),c=parseInt(c,10),e=l(a,b,this._throttlers),e>-1?this._throttlers[e]:(f=z.setTimeout(function(){i||g.run.apply(g,h);var c=l(a,b,g._throttlers);c>-1&&g._throttlers.splice(c,1)},c),i&&this.run.apply(this,h),d=[a,b,f],this._throttlers.push(d),d)},debounce:function(a,b){var c,d,e,f,g=this,h=arguments,i=y.call(h);return q(i)||o(i)?(c=i,i=!1):c=y.call(h),c=parseInt(c,10),d=k(a,b,this._debouncees),d>-1&&(e=this._debouncees[d],this._debouncees.splice(d,1),clearTimeout(e[2])),f=z.setTimeout(function(){i||g.run.apply(g,h);var c=k(a,b,g._debouncees);c>-1&&g._debouncees.splice(c,1)},c),i&&-1===d&&g.run.apply(g,h),e=[a,b,f],g._debouncees.push(e),e},cancelTimers:function(){var a=function(a){clearTimeout(a[2])};n(this._throttlers,a),this._throttlers=[],n(this._debouncees,a),this._debouncees=[],this._laterTimer&&(clearTimeout(this._laterTimer),this._laterTimer=null),this._timers=[],this._autorun&&(clearTimeout(this._autorun),this._autorun=null)},hasTimers:function(){return!!this._timers.length||!!this._debouncees.length||!!this._throttlers.length||this._autorun},cancel:function(a){var b=typeof a;if(a&&"object"===b&&a.queue&&a.method)return a.queue.cancel(a);if("function"!==b)return"[object Array]"===Object.prototype.toString.call(a)?this._cancelItem(l,this._throttlers,a)||this._cancelItem(k,this._debouncees,a):void 0;for(var c=0,d=this._timers.length;d>c;c+=2)if(this._timers[c+1]===a)return this._timers.splice(c,2),0===c&&(this._laterTimer&&(clearTimeout(this._laterTimer),this._laterTimer=null),this._timers.length>0&&i(this,this._timers[0],this._timers[0]-t())),!0},_cancelItem:function(a,b,c){var d,e;return c.length<3?!1:(e=a(c[0],c[1],b),e>-1&&(d=b[e],d[2]===c[2])?(b.splice(e,1),clearTimeout(c[2]),!0):!1)}},f.prototype.schedule=f.prototype.defer,f.prototype.scheduleOnce=f.prototype.deferOnce,f.prototype.later=f.prototype.setTimeout,u){var A=f.prototype.run;f.prototype.run=s(A);var B=f.prototype.end;f.prototype.end=s(B)}e["default"]=f}),a("backburner.umd",["./backburner"],function(b){"use strict";var c=b["default"];"function"==typeof a&&a.amd?a(function(){return c}):"undefined"!=typeof module&&module.exports?module.exports=c:"undefined"!=typeof this&&(this.Backburner=c)}),a("backburner/binary-search",["exports"],function(a){"use strict";a["default"]=function(a,b){for(var c,d,e=0,f=b.length-2;f>e;)d=(f-e)/2,c=e+d-d%2,a>=b[c]?e=c+2:f=c;return a>=b[e]?e+2:e}}),a("backburner/deferred-action-queues",["./utils","./queue","exports"],function(a,b,c){"use strict";function d(a,b){var c=this.queues=Object.create(null);this.queueNames=a=a||[],this.options=b,f(a,function(a){c[a]=new g(a,b[a],b)})}function e(a){throw new Error("You attempted to schedule an action in a queue ("+a+") that doesn't exist")}var f=a.each,g=b["default"];d.prototype={schedule:function(a,b,c,d,f,g){var h=this.queues,i=h[a];return i||e(a),f?i.pushUnique(b,c,d,g):i.push(b,c,d,g)},flush:function(){var a,b,c=this.queues,d=this.queueNames,e=0,f=d.length;for(this.options;f>e;){a=d[e],b=c[a];var g=b._queue.length;0===g?e++:(b.flush(!1),e=0)}}},c["default"]=d}),a("backburner/platform",["exports"],function(a){"use strict";var b=function(a,b){try{b()}catch(a){}return!!a}();a.needsIETryCatchFix=b}),a("backburner/queue",["./utils","exports"],function(a,b){"use strict";function c(a,b,c){this.name=a,this.globalOptions=c||{},this.options=b,this._queue=[],this.targetQueues=Object.create(null),this._queueBeingFlushed=void 0}var d=a.isString;c.prototype={push:function(a,b,c,d){var e=this._queue;return e.push(a,b,c,d),{queue:this,target:a,method:b}},pushUniqueWithoutGuid:function(a,b,c,d){for(var e=this._queue,f=0,g=e.length;g>f;f+=4){var h=e[f],i=e[f+1];if(h===a&&i===b)return e[f+2]=c,void(e[f+3]=d)}e.push(a,b,c,d)},targetQueue:function(a,b,c,d,e){for(var f=this._queue,g=0,h=a.length;h>g;g+=4){var i=a[g],j=a[g+1];if(i===c)return f[j+2]=d,void(f[j+3]=e)}a.push(c,f.push(b,c,d,e)-4)},pushUniqueWithGuid:function(a,b,c,d,e){var f=this.targetQueues[a];return f?this.targetQueue(f,b,c,d,e):this.targetQueues[a]=[c,this._queue.push(b,c,d,e)-4],{queue:this,target:b,method:c}},pushUnique:function(a,b,c,d){var e=(this._queue,this.globalOptions.GUID_KEY);if(a&&e){var f=a[e];if(f)return this.pushUniqueWithGuid(f,a,b,c,d)}return this.pushUniqueWithoutGuid(a,b,c,d),{queue:this,target:a,method:b}},invoke:function(a,b,c){c&&c.length>0?b.apply(a,c):b.call(a)},invokeWithOnError:function(a,b,c,d,e){try{c&&c.length>0?b.apply(a,c):b.call(a)}catch(f){d(f,e)}},flush:function(a){var b=this._queue,c=b.length;if(0!==c){var e,f,g,h,i=this.globalOptions,j=this.options,k=j&&j.before,l=j&&j.after,m=i.onError||i.onErrorTarget&&i.onErrorTarget[i.onErrorMethod],n=m?this.invokeWithOnError:this.invoke;this.targetQueues=Object.create(null);var o=this._queueBeingFlushed=this._queue.slice();this._queue=[],k&&k();for(var p=0;c>p;p+=4)e=o[p],f=o[p+1],g=o[p+2],h=o[p+3],d(f)&&(f=e[f]),f&&n(e,f,g,m,h);l&&l(),this._queueBeingFlushed=void 0,a!==!1&&this._queue.length>0&&this.flush(!0)}},cancel:function(a){var b,c,d,e,f=this._queue,g=a.target,h=a.method,i=this.globalOptions.GUID_KEY;if(i&&this.targetQueues&&g){var j=this.targetQueues[g[i]];if(j)for(d=0,e=j.length;e>d;d++)j[d]===h&&j.splice(d,1)}for(d=0,e=f.length;e>d;d+=4)if(b=f[d],c=f[d+1],b===g&&c===h)return f.splice(d,4),!0;if(f=this._queueBeingFlushed)for(d=0,e=f.length;e>d;d+=4)if(b=f[d],c=f[d+1],b===g&&c===h)return f[d+1]=null,!0}},b["default"]=c}),a("backburner/utils",["exports"],function(a){"use strict";function b(a,b){for(var c=0;c-1){try{if(a.existsSync(g)){var h,i=a.readFileSync(g,{encoding:"utf8"}),j=i.split("/").slice(-1)[0].trim(),k=i.split(" ")[1];if(k){var l=b.join(f,k.trim());h=a.readFileSync(l)}else h=j;e.push(h.slice(0,10))}}catch(m){console.error(m.stack)}return e.join(".")}return d}}),a("container",["container/container","exports"],function(a,b){"use strict";e.MODEL_FACTORY_INJECTIONS=!1,e.ENV&&"undefined"!=typeof e.ENV.MODEL_FACTORY_INJECTIONS&&(e.MODEL_FACTORY_INJECTIONS=!!e.ENV.MODEL_FACTORY_INJECTIONS);var c=a["default"];b["default"]=c}),a("container/container",["ember-metal/core","ember-metal/keys","ember-metal/dictionary","exports"],function(a,b,c,d){"use strict";function e(a){this.parent=a,this.children=[],this.resolver=a&&a.resolver||function(){},this.registry=z(a?a.registry:null),this.cache=z(a?a.cache:null),this.factoryCache=z(a?a.factoryCache:null),this.resolveCache=z(a?a.resolveCache:null),this.typeInjections=z(a?a.typeInjections:null),this.injections=z(null),this.normalizeCache=z(null),this.factoryTypeInjections=z(a?a.factoryTypeInjections:null),this.factoryInjections=z(null),this._options=z(a?a._options:null),this._typeOptions=z(a?a._typeOptions:null)}function f(a,b){var c=a.resolveCache[b];if(c)return c;var d=a.resolver(b)||a.registry[b];return a.resolveCache[b]=d,d}function g(a,b){return a.cache[b]?!0:void 0!==a.resolve(b)}function h(a,b,c){if(c=c||{},a.cache[b]&&c.singleton!==!1)return a.cache[b];var d=q(a,b);return void 0!==d?(j(a,b)&&c.singleton!==!1&&(a.cache[b]=d),d):void 0}function i(a){throw new Error(a+" is not currently supported on child containers")}function j(a,b){var c=m(a,b,"singleton");return c!==!1}function k(a,b){var c={};if(!b)return c;l(a,b);for(var d,e=0,f=b.length;f>e;e++)d=b[e],c[d.property]=h(a,d.fullName);return c}function l(a,b){if(b)for(var c,d=0,e=b.length;e>d;d++)if(c=b[d].fullName,!a.has(c))throw new Error("Attempting to inject an unknown injection: `"+c+"`")}function m(a,b,c){var d=a._options[b];if(d&&void 0!==d[c])return d[c];var e=b.split(":")[0];return d=a._typeOptions[e],d?d[c]:void 0}function n(a,b){var c=a.factoryCache;if(c[b])return c[b];var d=a.resolve(b);if(void 0!==d){var e=b.split(":")[0];if(!d||"function"!=typeof d.extend||!x.MODEL_FACTORY_INJECTIONS&&"model"===e)return c[b]=d,d;var f=o(a,b),g=p(a,b);g._toString=a.makeToString(d,b);var h=d.extend(f);return h.reopenClass(g),c[b]=h,h}}function o(a,b){var c=b.split(":"),d=c[0],e=[];return e=e.concat(a.typeInjections[d]||[]),e=e.concat(a.injections[b]||[]),e=k(a,e),e._debugContainerKey=b,e.container=a,e}function p(a,b){var c=b.split(":"),d=c[0],e=[];return e=e.concat(a.factoryTypeInjections[d]||[]),e=e.concat(a.factoryInjections[b]||[]),e=k(a,e),e._debugContainerKey=b,e}function q(a,b){var c=n(a,b);if(m(a,b,"instantiate")===!1)return c;if(c){if("function"!=typeof c.create)throw new Error("Failed to create an instance of '"+b+"'. Most likely an improperly defined class or an invalid module export.");return"function"==typeof c.extend?c.create():c.create(o(a,b))}}function r(a,b){for(var c,d,e=a.cache,f=y(e),g=0,h=f.length;h>g;g++)c=f[g],d=e[c],m(a,c,"instantiate")!==!1&&b(d)}function s(a){r(a,function(a){a.destroy()}),a.cache.dict=z(null)}function t(a,b,c,d){var e=a[b];e||(e=[],a[b]=e),e.push({property:c,fullName:d})}function u(a){if(!A.test(a))throw new TypeError("Invalid Fullname, expected: `type:name` got: "+a);return!0}function v(a,b){return a[b]||(a[b]=[])}function w(a,b,c){a.push({property:b,fullName:c})}var x=a["default"],y=b["default"],z=c["default"];e.prototype={parent:null,children:null,resolver:null,registry:null,cache:null,typeInjections:null,injections:null,_options:null,_typeOptions:null,child:function(){var a=new e(this);return this.children.push(a),a},register:function(a,b,c){if(x.assert("fullName must be a proper full name",u(a)),void 0===b)throw new TypeError("Attempting to register an unknown factory: `"+a+"`");var d=this.normalize(a);if(d in this.cache)throw new Error("Cannot re-register: `"+a+"`, as it has already been looked up.");this.registry[d]=b,this._options[d]=c||{}},unregister:function(a){x.assert("fullName must be a proper full name",u(a));var b=this.normalize(a);delete this.registry[b],delete this.cache[b],delete this.factoryCache[b],delete this.resolveCache[b],delete this._options[b]},resolve:function(a){return x.assert("fullName must be a proper full name",u(a)),f(this,this.normalize(a))},describe:function(a){return a},normalizeFullName:function(a){return a},normalize:function(a){return this.normalizeCache[a]||(this.normalizeCache[a]=this.normalizeFullName(a))},makeToString:function(a){return a.toString()},lookup:function(a,b){return x.assert("fullName must be a proper full name",u(a)),h(this,this.normalize(a),b)},lookupFactory:function(a){return x.assert("fullName must be a proper full name",u(a)),n(this,this.normalize(a))},has:function(a){return x.assert("fullName must be a proper full name",u(a)),g(this,this.normalize(a))},optionsForType:function(a,b){this.parent&&i("optionsForType"),this._typeOptions[a]=b},options:function(a,b){b=b||{};var c=this.normalize(a);this._options[c]=b},typeInjection:function(a,b,c){x.assert("fullName must be a proper full name",u(c)),this.parent&&i("typeInjection");var d=c.split(":")[0];if(d===a)throw new Error("Cannot inject a `"+c+"` on other "+a+"(s). Register the `"+c+"` as a different type and perform the typeInjection.");t(this.typeInjections,a,b,c)},injection:function(a,b,c){this.parent&&i("injection"),u(c);var d=this.normalize(c);if(-1===a.indexOf(":"))return this.typeInjection(a,b,d);x.assert("fullName must be a proper full name",u(a));var e=this.normalize(a);if(this.cache[e])throw new Error("Attempted to register an injection for a type that has already been looked up. ('"+e+"', '"+b+"', '"+c+"')");w(v(this.injections,e),b,d)},factoryTypeInjection:function(a,b,c){this.parent&&i("factoryTypeInjection"),t(this.factoryTypeInjections,a,b,this.normalize(c))},factoryInjection:function(a,b,c){this.parent&&i("injection");var d=this.normalize(a),e=this.normalize(c);if(u(c),-1===a.indexOf(":"))return this.factoryTypeInjection(d,b,e);if(x.assert("fullName must be a proper full name",u(a)),this.factoryCache[d])throw new Error("Attempted to register a factoryInjection for a type that has already been looked up. ('"+d+"', '"+b+"', '"+c+"')");w(v(this.factoryInjections,d),b,e)},destroy:function(){for(var a=0,b=this.children.length;b>a;a++)this.children[a].destroy();this.children=[],r(this,function(a){a.destroy()}),this.parent=void 0,this.isDestroyed=!0},reset:function(){for(var a=0,b=this.children.length;b>a;a++)s(this.children[a]);s(this)}};var A=/^[^:]+.+:[^:]+$/;d["default"]=e}),a("dag-map",["exports"],function(a){"use strict";function b(a,c,d,e){var f,g=a.name,h=a.incoming,i=a.incomingNames,j=i.length;if(d||(d={}),e||(e=[]),!d.hasOwnProperty(g)){for(e.push(g),d[g]=!0,f=0;j>f;f++)b(h[i[f]],c,d,e);c(a,e),e.pop()}}function c(){this.names=[],this.vertices=Object.create(null)}function d(a){this.name=a,this.incoming={},this.incomingNames=[],this.hasOutgoing=!1,this.value=null}c.prototype.add=function(a){if(!a)throw new Error("Can't add Vertex without name");if(void 0!==this.vertices[a])return this.vertices[a];var b=new d(a);return this.vertices[a]=b,this.names.push(a),b},c.prototype.map=function(a,b){this.add(a).value=b},c.prototype.addEdge=function(a,c){function d(a,b){if(a.name===c)throw new Error("cycle detected: "+c+" <- "+b.join(" <- "))}if(a&&c&&a!==c){var e=this.add(a),f=this.add(c);f.incoming.hasOwnProperty(a)||(b(e,d),e.hasOutgoing=!0,f.incoming[a]=e,f.incomingNames.push(a))}},c.prototype.topsort=function(a){var c,d,e={},f=this.vertices,g=this.names,h=g.length;for(c=0;h>c;c++)d=f[g[c]],d.hasOutgoing||b(d,a,e)},c.prototype.addEdges=function(a,b,c,d){var e;if(this.map(a,b),c)if("string"==typeof c)this.addEdge(a,c);else for(e=0;ee;e++)d=c[e],j.assert(m(a)+"#needs must not specify dependencies with periods in their names ("+d+")",-1===d.indexOf(".")),-1===d.indexOf(":")&&(d="controller:"+d),b.has(d)||g.push(d);if(g.length)throw new l(m(a)+" needs [ "+g.join(", ")+" ] but "+(g.length>1?"they":"it")+" could not be found") -}var j=a["default"],k=b.get,l=c["default"],m=d.inspect,n=e.computed,o=f["default"],p=d.meta,q=g["default"],r=n(function(){var a=this;return{needs:k(a,"needs"),container:k(a,"container"),unknownProperty:function(b){var c,d,e,f=this.needs;for(d=0,e=f.length;e>d;d++)if(c=f[d],c===b)return this.container.lookup("controller:"+b);var g=m(a)+"#needs does not include `"+b+"`. To access the "+b+" controller from "+m(a)+", "+m(a)+" should have a `needs` property that is an array of the controllers it has access to.";throw new ReferenceError(g)},setUnknownProperty:function(b){throw new Error("You cannot overwrite the value of `controllers."+b+"` of "+m(a))}}});o.reopen({concatenatedProperties:["needs"],needs:[],init:function(){var a=k(this,"needs"),b=k(a,"length");b>0&&(j.assert(" `"+m(this)+" specifies `needs`, but does not have a container. Please ensure this controller was instantiated with a container.",this.container||p(this,!1).descs.controllers!==r),this.container&&i(this,this.container,a),k(this,"controllers")),this._super.apply(this,arguments)},controllerFor:function(a){return j.deprecate("Controller#controllerFor is deprecated, please use Controller#needs instead"),q(k(this,"container"),a)},controllers:r}),h["default"]=o}),a("ember-application/system/application",["dag-map","container/container","ember-metal","ember-metal/property_get","ember-metal/property_set","ember-runtime/system/lazy_load","ember-runtime/system/namespace","ember-runtime/mixins/deferred","ember-application/system/resolver","ember-metal/platform","ember-metal/run_loop","ember-metal/utils","ember-runtime/controllers/controller","ember-metal/enumerable_utils","ember-runtime/controllers/object_controller","ember-runtime/controllers/array_controller","ember-handlebars/controls/select","ember-views/system/event_dispatcher","ember-views/system/jquery","ember-routing/system/route","ember-routing/system/router","ember-routing/location/hash_location","ember-routing/location/history_location","ember-routing/location/auto_location","ember-routing/location/none_location","ember-routing/system/cache","ember-extension-support/container_debug_adapter","ember-metal/core","ember-handlebars-compiler","exports"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D){"use strict";function E(a){var b=[];for(var c in a)b.push(c);return b}function F(a){function b(a){return d.resolve(a)}a.get("resolver")&&I.deprecate("Application.resolver is deprecated in favor of Application.Resolver",!1);var c=a.get("resolver")||a.get("Resolver")||O,d=c.create({namespace:a});return b.describe=function(a){return d.lookupDescription(a)},b.makeToString=function(a,b){return d.makeToString(a,b)},b.normalize=function(a){return d.normalize?d.normalize(a):(I.deprecate("The Resolver should now provide a 'normalize' function",!1),a)},b.__resolver__=d,b}var G=a["default"],H=b["default"],I=c["default"],J=d.get,K=e.set,L=f.runLoadHooks,M=g["default"],N=h["default"],O=i["default"],P=j.create,Q=k["default"],R=l.canInvoke,S=m["default"],T=n["default"],U=o["default"],V=p["default"],W=q["default"],X=r["default"],Y=s["default"],Z=t["default"],$=u["default"],_=v["default"],ab=w["default"],bb=x["default"],cb=y["default"],db=z["default"],eb=A["default"],fb=B.K,gb=C["default"],hb=M.extend(N,{_suppressDeferredDeprecation:!0,rootElement:"body",eventDispatcher:null,customEvents:null,_readinessDeferrals:1,init:function(){if(this.$||(this.$=Y),this.__container__=this.buildContainer(),this.Router=this.defaultRouter(),this._super(),this.scheduleInitialize(),I.libraries.registerCoreLibrary("Handlebars"+(gb.compile?"":"-runtime"),gb.VERSION),I.libraries.registerCoreLibrary("jQuery",Y().jquery),I.LOG_VERSION){I.LOG_VERSION=!1;var a=T.map(I.libraries,function(a){return J(a,"name.length")}),b=Math.max.apply(this,a);I.debug("-------------------------------"),I.libraries.each(function(a,c){var d=new Array(b-a.length+1).join(" ");I.debug([a,d," : ",c].join(""))}),I.debug("-------------------------------")}},buildContainer:function(){var a=this.__container__=hb.buildContainer(this);return a},defaultRouter:function(){if(this.Router!==!1){var a=this.__container__;return this.Router&&(a.unregister("router:main"),a.register("router:main",this.Router)),a.lookupFactory("router:main")}},scheduleInitialize:function(){var a=this;!this.$||this.$.isReady?Q.schedule("actions",a,"_initialize"):this.$().ready(function(){Q(a,"_initialize")})},deferReadiness:function(){I.assert("You must call deferReadiness on an instance of Ember.Application",this instanceof hb),I.assert("You cannot defer readiness since the `ready()` hook has already been called.",this._readinessDeferrals>0),this._readinessDeferrals++},advanceReadiness:function(){I.assert("You must call advanceReadiness on an instance of Ember.Application",this instanceof hb),this._readinessDeferrals--,0===this._readinessDeferrals&&Q.once(this,this.didBecomeReady)},register:function(){var a=this.__container__;a.register.apply(a,arguments)},inject:function(){var a=this.__container__;a.injection.apply(a,arguments)},initialize:function(){I.deprecate("Calling initialize manually is not supported. Please see Ember.Application#advanceReadiness and Ember.Application#deferReadiness")},_initialize:function(){if(!this.isDestroyed){if(this.Router){var a=this.__container__;a.unregister("router:main"),a.register("router:main",this.Router)}return this.runInitializers(),L("application",this),this.advanceReadiness(),this}},reset:function(){function a(){var a=this.__container__.lookup("router:main");a.reset(),Q(this.__container__,"destroy"),this.buildContainer(),Q.schedule("actions",this,function(){this._initialize()})}this._readinessDeferrals=1,Q.join(this,a)},runInitializers:function(){for(var a,b=J(this.constructor,"initializers"),c=E(b),d=this.__container__,e=new G,f=this,g=0;g-1&&(e=e.replace(/\.(.)/g,function(a){return a.charAt(1).toUpperCase()})),d.indexOf("_")>-1&&(e=e.replace(/_(.)/g,function(a){return a.charAt(1).toUpperCase()})),c+":"+e}return a},resolve:function(a){var b,c=this.parseName(a),d=c.resolveMethodName;if(!c.name||!c.type)throw new TypeError("Invalid fullName: `"+a+"`, must be of the form `type:name` ");return this[d]&&(b=this[d](c)),b||(b=this.resolveOther(c)),c.root&&c.root.LOG_RESOLVER&&this._logLookup(b,c),b},parseName:function(a){return this._parseNameCache[a]||(this._parseNameCache[a]=this._parseName(a))},_parseName:function(a){var b=a.split(":"),c=b[0],d=b[1],e=d,f=k(this,"namespace"),g=f;if("template"!==c&&-1!==e.indexOf("/")){var h=e.split("/");e=h[h.length-1];var i=n(h.slice(0,-1).join("."));g=q.byName(i),j.assert("You are looking for a "+e+" "+c+" in the "+i+" namespace, but the namespace could not be found",g)}return{fullName:a,type:c,fullNameWithoutType:d,name:e,root:g,resolveMethodName:"resolve"+m(c)}},lookupDescription:function(a){var b=this.parseName(a);if("template"===b.type)return"template at "+b.fullNameWithoutType.replace(/\./g,"/");var c=b.root+"."+m(b.name);return"model"!==b.type&&(c+=m(b.type)),c},makeToString:function(a){return a.toString()},useRouterNaming:function(a){a.name=a.name.replace(/\./g,"_"),"basic"===a.name&&(a.name="")},resolveTemplate:function(a){var b=a.fullNameWithoutType.replace(/\./g,"/");return j.TEMPLATES[b]?j.TEMPLATES[b]:(b=o(b),j.TEMPLATES[b]?j.TEMPLATES[b]:void 0)},resolveView:function(a){return this.useRouterNaming(a),this.resolveOther(a)},resolveController:function(a){return this.useRouterNaming(a),this.resolveOther(a)},resolveRoute:function(a){return this.useRouterNaming(a),this.resolveOther(a)},resolveModel:function(a){var b=m(a.name),c=k(a.root,b);return c?c:void 0},resolveHelper:function(a){return this.resolveOther(a)||r.helpers[a.fullNameWithoutType]},resolveOther:function(a){var b=m(a.name)+m(a.type),c=k(a.root,b);return c?c:void 0},_logLookup:function(a,b){var c,d;c=a?"[✓]":"[ ]",d=b.fullName.length>60?".":new Array(60-b.fullName.length).join("."),l.info(c,b.fullName,d,this.lookupDescription(b.fullName))}})}),a("ember-debug",["ember-metal/core","ember-metal/error","ember-metal/logger","exports"],function(a,b,c,d){"use strict";function e(a,b){if(b){f.warn("Ember.ENV.ENABLE_ALL_FEATURES is only available in canary builds.",!f.ENV.ENABLE_ALL_FEATURES),f.warn("Ember.ENV.ENABLE_OPTIONAL_FEATURES is only available in canary builds.",!f.ENV.ENABLE_OPTIONAL_FEATURES);for(var c in a)a.hasOwnProperty(c)&&"isEnabled"!==c&&f.warn('FEATURE["'+c+'"] is set as enabled, but FEATURE flags are only available in canary builds.',!a[c])}}var f=a["default"],g=b["default"],h=c["default"];if(f.assert=function(a,b){if(!b)throw new g("Assertion Failed: "+a)},f.warn=function(a,b){b||(h.warn("WARNING: "+a),"trace"in h&&h.trace())},f.debug=function(a){h.debug("DEBUG: "+a)},f.deprecate=function(a,b){if(!b){if(f.ENV.RAISE_ON_DEPRECATION)throw new g(a);var c;try{__fail__.fail()}catch(d){c=d}if(f.LOG_STACKTRACE_ON_DEPRECATION&&c.stack){var e,i="";c.arguments?(e=c.stack.replace(/^\s+at\s+/gm,"").replace(/^([^\(]+?)([\n$])/gm,"{anonymous}($1)$2").replace(/^Object.\s*\(([^\)]+)\)/gm,"{anonymous}($1)").split("\n"),e.shift()):e=c.stack.replace(/(?:\n@:0)?\s+$/m,"").replace(/^\(/gm,"{anonymous}(").split("\n"),i="\n "+e.slice(2).join("\n "),a+=i}h.warn("DEPRECATION: "+a)}},f.deprecateFunc=function(a,b){return function(){return f.deprecate(a),b.apply(this,arguments)}},f.runInDebug=function(a){a()},d._warnIfUsingStrippedFeatureFlags=e,!f.testing){f.FEATURES["features-stripped-test"]=!0;var i=!0;delete f.FEATURES["features-stripped-test"],e(f.ENV.FEATURES,i);var j="undefined"!=typeof InstallTrigger,k=!!window.chrome&&!window.opera;"undefined"!=typeof window&&(j||k)&&window.addEventListener&&window.addEventListener("load",function(){if(document.documentElement&&document.documentElement.dataset&&!document.documentElement.dataset.emberExtension){var a;k?a="https://chrome.google.com/webstore/detail/ember-inspector/bmdblncegkenkacieihfhpjfppoconhi":j&&(a="https://addons.mozilla.org/en-US/firefox/addon/ember-inspector/"),f.debug("For more advanced debugging, install the Ember Inspector from "+a)}},!1)}}),a("ember-extension-support",["ember-metal/core","ember-extension-support/data_adapter","ember-extension-support/container_debug_adapter"],function(a,b,c){"use strict";var d=a["default"],e=b["default"],f=c["default"];d.DataAdapter=e,d.ContainerDebugAdapter=f}),a("ember-extension-support/container_debug_adapter",["ember-metal/core","ember-runtime/system/native_array","ember-metal/utils","ember-runtime/system/string","ember-runtime/system/namespace","ember-runtime/system/object","exports"],function(a,b,c,d,e,f,g){"use strict";var h=a["default"],i=b.A,j=c.typeOf,k=d.dasherize,l=d.classify,m=e["default"],n=f["default"];g["default"]=n.extend({container:null,resolver:null,canCatalogEntriesByType:function(a){return"model"===a||"template"===a?!1:!0},catalogEntriesByType:function(a){var b=i(m.NAMESPACES),c=i(),d=new RegExp(l(a)+"$");return b.forEach(function(a){if(a!==h)for(var b in a)if(a.hasOwnProperty(b)&&d.test(b)){var e=a[b];"class"===j(e)&&c.push(k(b.replace(d,"")))}}),c}})}),a("ember-extension-support/data_adapter",["ember-metal/core","ember-metal/property_get","ember-metal/run_loop","ember-runtime/system/string","ember-runtime/system/namespace","ember-runtime/system/object","ember-runtime/system/native_array","ember-application/system/application","exports"],function(a,b,c,d,e,f,g,h,i){"use strict";var j=a["default"],k=b.get,l=c["default"],m=d.dasherize,n=e["default"],o=f["default"],p=g.A,q=h["default"];i["default"]=o.extend({init:function(){this._super(),this.releaseMethods=p()},container:null,containerDebugAdapter:void 0,attributeLimit:3,releaseMethods:p(),getFilters:function(){return p()},watchModelTypes:function(a,b){var c,d=this.getModelTypes(),e=this,f=p();c=d.map(function(a){var c=a.klass,d=e.wrapModelType(c,a.name);return f.push(e.observeModelType(c,b)),d}),a(c);var g=function(){f.forEach(function(a){a()}),e.releaseMethods.removeObject(g)};return this.releaseMethods.pushObject(g),g},_nameToClass:function(a){return"string"==typeof a&&(a=this.container.lookupFactory("model:"+a)),a},watchRecords:function(a,b,c,d){var e,f=this,g=p(),h=this.getRecords(a),i=function(a){c([a])},k=h.map(function(a){return g.push(f.observeRecord(a,i)),f.wrapRecord(a)}),l=function(a,c,e,h){for(var j=c;c+h>j;j++){var k=a.objectAt(j),l=f.wrapRecord(k);g.push(f.observeRecord(k,i)),b([l])}e&&d(c,e)},m={didChange:l,willChange:j.K};return h.addArrayObserver(f,m),e=function(){g.forEach(function(a){a()}),h.removeArrayObserver(f,m),f.releaseMethods.removeObject(e)},b(k),this.releaseMethods.pushObject(e),e},willDestroy:function(){this._super(),this.releaseMethods.forEach(function(a){a()})},detect:function(){return!1},columnsForType:function(){return p()},observeModelType:function(a,b){var c=this,d=this.getRecords(a),e=function(){b([c.wrapModelType(a)])},f={didChange:function(){l.scheduleOnce("actions",this,e)},willChange:j.K};d.addArrayObserver(this,f);var g=function(){d.removeArrayObserver(c,f)};return g},wrapModelType:function(a,b){var c,d=this.getRecords(a);return c={name:b||a.toString(),count:k(d,"length"),columns:this.columnsForType(a),object:a}},getModelTypes:function(){var a,b=this,c=this.get("containerDebugAdapter");return a=c.canCatalogEntriesByType("model")?c.catalogEntriesByType("model"):this._getObjectsOnNamespaces(),a=p(a).map(function(a){return{klass:b._nameToClass(a),name:a}}),a=p(a).filter(function(a){return b.detect(a.klass)}),p(a)},_getObjectsOnNamespaces:function(){var a=p(n.NAMESPACES),b=p(),c=this;return a.forEach(function(a){for(var d in a)if(a.hasOwnProperty(d)&&c.detect(a[d])){var e=m(d);a instanceof q||!a.toString()||(e=a+"/"+e),b.push(e)}}),b},getRecords:function(){return p()},wrapRecord:function(a){var b={object:a};return b.columnValues=this.getRecordColumnValues(a),b.searchKeywords=this.getRecordKeywords(a),b.filterValues=this.getRecordFilterValues(a),b.color=this.getRecordColor(a),b},getRecordColumnValues:function(){return{}},getRecordKeywords:function(){return p()},getRecordFilterValues:function(){return{}},getRecordColor:function(){return null},observeRecord:function(){return function(){}}})}),a("ember-extension-support/initializers",[],function(){"use strict"}),a("ember-handlebars-compiler",["ember-metal/core","exports"],function(a,d){var e=a["default"];"undefined"==typeof e.assert&&(e.assert=function(){}),"undefined"==typeof e.FEATURES&&(e.FEATURES={isEnabled:function(){}});var f,g,h=Object.create||function(a){function b(){}return b.prototype=a,new b},i=e.imports&&e.imports.Handlebars||this&&this.Handlebars;i||"function"!=typeof c||(i=c("handlebars")),e.assert("Ember Handlebars requires Handlebars version 2.0. Include a SCRIPT tag in the HTML HEAD linking to the Handlebars file before you link to Ember.",i),e.assert("Ember Handlebars requires Handlebars version 2.0. Please see more details at http://emberjs.com/blog/2014/10/16/handlebars-update.html.",6===i.COMPILER_REVISION);var j=e.Handlebars=i.create();j.helper=function(a,c){f||(f=b("ember-views/views/view")["default"]),g||(g=b("ember-views/views/component")["default"]),e.assert("You tried to register a component named '"+a+"', but component names must include a '-'",!g.detect(c)||a.match(/-/)),f.detect(c)?j.registerHelper(a,j.makeViewHelper(c)):j.registerBoundHelper.apply(null,arguments)},j.makeViewHelper=function(a){return function(b){return e.assert("You can only pass attributes (such as name=value) not bare values to a helper for a View found in '"+a.toString()+"'",arguments.length<2),j.helpers.view.call(this,a,b)}},j.helpers=h(i.helpers),j.Compiler=function(){},i.Compiler&&(j.Compiler.prototype=h(i.Compiler.prototype)),j.Compiler.prototype.compiler=j.Compiler,j.JavaScriptCompiler=function(){},i.JavaScriptCompiler&&(j.JavaScriptCompiler.prototype=h(i.JavaScriptCompiler.prototype),j.JavaScriptCompiler.prototype.compiler=j.JavaScriptCompiler),j.JavaScriptCompiler.prototype.namespace="Ember.Handlebars",j.JavaScriptCompiler.prototype.initializeBuffer=function(){return"''"},j.JavaScriptCompiler.prototype.appendToBuffer=function(a){return"data.buffer.push("+a+");"},j.Compiler.prototype.mustache=function(a){if(!a.params.length&&!a.hash){var b=new i.AST.IdNode([{part:"_triageMustache"}]);a.escaped||(a.hash=a.hash||new i.AST.HashNode([]),a.hash.pairs.push(["unescaped",new i.AST.StringNode("true")])),a=new i.AST.MustacheNode([b].concat([a.id]),a.hash,!a.escaped)}return i.Compiler.prototype.mustache.call(this,a)},j.precompile=function(a,b){var c=i.parse(a),d={knownHelpers:{action:!0,unbound:!0,"bind-attr":!0,template:!0,view:!0,_triageMustache:!0},data:!0,stringParams:!0};b=void 0===b?!0:b;var e=(new j.Compiler).compile(c,d);return(new j.JavaScriptCompiler).compile(e,d,void 0,b)},i.compile&&(j.compile=function(a){var b=i.parse(a),c={data:!0,stringParams:!0},d=(new j.Compiler).compile(b,c),e=(new j.JavaScriptCompiler).compile(d,c,void 0,!0),f=j.template(e);return f.isMethod=!1,f}),d["default"]=j}),a("ember-handlebars",["ember-handlebars-compiler","ember-metal/core","ember-runtime/system/lazy_load","ember-handlebars/loader","ember-handlebars/ext","ember-handlebars/string","ember-handlebars/helpers/binding","ember-handlebars/helpers/if_unless","ember-handlebars/helpers/with","ember-handlebars/helpers/bind_attr","ember-handlebars/helpers/collection","ember-handlebars/helpers/view","ember-handlebars/helpers/unbound","ember-handlebars/helpers/debug","ember-handlebars/helpers/each","ember-handlebars/helpers/template","ember-handlebars/helpers/partial","ember-handlebars/helpers/yield","ember-handlebars/helpers/loc","ember-handlebars/controls/checkbox","ember-handlebars/controls/select","ember-handlebars/controls/text_area","ember-handlebars/controls/text_field","ember-handlebars/controls/text_support","ember-handlebars/controls","ember-handlebars/component_lookup","ember-handlebars/views/handlebars_bound_view","ember-handlebars/views/metamorph_view","exports"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C){"use strict";var D=a["default"],E=b["default"],F=c.runLoadHooks,G=d["default"],H=e.makeBoundHelper,I=e.registerBoundHelper,J=e.helperMissingHelper,K=e.blockHelperMissingHelper,L=e.handlebarsGet,M=g.bind,N=g._triageMustacheHelper,O=g.resolveHelper,P=g.bindHelper,Q=h.ifHelper,R=h.boundIfHelper,S=h.unboundIfHelper,T=h.unlessHelper,U=i["default"],V=j.bindAttrHelper,W=j.bindAttrHelperDeprecated,X=j.bindClasses,Y=k["default"],Z=l.ViewHelper,$=l.viewHelper,_=m["default"],ab=n.logHelper,bb=n.debuggerHelper,cb=o.EachView,db=o.eachHelper,eb=p["default"],fb=q["default"],gb=r["default"],hb=s["default"],ib=t["default"],jb=u.Select,kb=u.SelectOption,lb=u.SelectOptgroup,mb=v["default"],nb=w["default"],ob=x["default"],pb=y.inputHelper,qb=y.textareaHelper,rb=z["default"],sb=A._HandlebarsBoundView,tb=A.SimpleHandlebarsView,ub=B["default"],vb=B._SimpleMetamorphView,wb=B._Metamorph;D.bootstrap=G,D.makeBoundHelper=H,D.registerBoundHelper=I,D.resolveHelper=O,D.bind=M,D.bindClasses=X,D.EachView=cb,D.ViewHelper=Z,E.Handlebars=D,D.get=L,E.ComponentLookup=rb,E._SimpleHandlebarsView=tb,E._HandlebarsBoundView=sb,E._SimpleMetamorphView=vb,E._MetamorphView=ub,E._Metamorph=wb,E.TextSupport=ob,E.Checkbox=ib,E.Select=jb,E.SelectOption=kb,E.SelectOptgroup=lb,E.TextArea=mb,E.TextField=nb,E.TextSupport=ob,D.registerHelper("helperMissing",J),D.registerHelper("blockHelperMissing",K),D.registerHelper("bind",P),D.registerHelper("boundIf",R),D.registerHelper("_triageMustache",N),D.registerHelper("unboundIf",S),D.registerHelper("with",U),D.registerHelper("if",Q),D.registerHelper("unless",T),D.registerHelper("bind-attr",V),D.registerHelper("bindAttr",W),D.registerHelper("collection",Y),D.registerHelper("log",ab),D.registerHelper("debugger",bb),D.registerHelper("each",db),D.registerHelper("loc",hb),D.registerHelper("partial",fb),D.registerHelper("template",eb),D.registerHelper("yield",gb),D.registerHelper("view",$),D.registerHelper("unbound",_),D.registerHelper("input",pb),D.registerHelper("textarea",qb),F("Ember.Handlebars",D),C["default"]=D}),a("ember-handlebars/component_lookup",["ember-runtime/system/object","exports"],function(a,b){"use strict";var c=a["default"];b["default"]=c.extend({lookupFactory:function(a,b){b=b||this.container;var c="component:"+a,d="template:components/"+a,f=b&&b.has(d);f&&b.injection(c,"layout",d);var g=b.lookupFactory(c);return f||g?(g||(b.register(c,e.Component),g=b.lookupFactory(c)),g):void 0}})}),a("ember-handlebars/controls",["ember-handlebars/controls/checkbox","ember-handlebars/controls/text_field","ember-handlebars/controls/text_area","ember-metal/core","ember-handlebars-compiler","exports"],function(a,b,c,d,e,f){"use strict";function g(a){l.assert("You can only pass attributes to the `input` helper, not arguments",arguments.length<2);var b,c=a.data.view,d=a.hash,e=a.hashTypes,f=d.on;return b="ID"===e.type?c.getStream(d.type).value():d.type,"checkbox"===b?(delete d.type,delete e.type,l.assert("{{input type='checkbox'}} does not support setting `value=someBooleanValue`; you must use `checked=someBooleanValue` instead.","ID"!==a.hashTypes.value),m.helpers.view.call(this,i,a)):(delete d.on,d.onEvent=f||"enter",m.helpers.view.call(this,j,a))}function h(a){return l.assert("You can only pass attributes to the `textarea` helper, not arguments",arguments.length<2),m.helpers.view.call(this,k,a)}var i=a["default"],j=b["default"],k=c["default"],l=d["default"],m=e["default"];f.inputHelper=g,f.textareaHelper=h}),a("ember-handlebars/controls/checkbox",["ember-metal/property_get","ember-metal/property_set","ember-views/views/view","exports"],function(a,b,c,d){"use strict";var e=a.get,f=b.set,g=c["default"];d["default"]=g.extend({instrumentDisplay:'{{input type="checkbox"}}',classNames:["ember-checkbox"],tagName:"input",attributeBindings:["type","checked","indeterminate","disabled","tabindex","name","autofocus","required","form"],type:"checkbox",checked:!1,disabled:!1,indeterminate:!1,init:function(){this._super(),this.on("change",this,this._updateElementValue)},didInsertElement:function(){this._super(),e(this,"element").indeterminate=!!e(this,"indeterminate")},_updateElementValue:function(){f(this,"checked",this.$().prop("checked"))}})}),a("ember-handlebars/controls/select",["ember-handlebars-compiler","ember-metal/enumerable_utils","ember-metal/property_get","ember-metal/property_set","ember-views/views/view","ember-views/views/collection_view","ember-metal/utils","ember-metal/is_none","ember-metal/computed","ember-runtime/system/native_array","ember-metal/mixin","ember-metal/properties","exports"],function(a,b,c,d,f,g,h,i,j,k,l,m,n){"use strict";var o=a["default"],p=b.forEach,q=b.indexOf,r=b.indexesOf,s=b.replace,t=c.get,u=d.set,v=f["default"],w=g["default"],x=h.isArray,y=i["default"],z=j.computed,A=k.A,B=l.observer,C=m.defineProperty,D=v.extend({instrumentDisplay:"Ember.SelectOption",tagName:"option",attributeBindings:["value","selected"],defaultTemplate:function(a,b){b={data:b.data,hash:{}},o.helpers.bind.call(a,"view.label",b)},init:function(){this.labelPathDidChange(),this.valuePathDidChange(),this._super()},selected:z(function(){var a=t(this,"content"),b=t(this,"parentView.selection");return t(this,"parentView.multiple")?b&&q(b,a.valueOf())>-1:a==b}).property("content","parentView.selection"),labelPathDidChange:B("parentView.optionLabelPath",function(){var a=t(this,"parentView.optionLabelPath");a&&C(this,"label",z(function(){return t(this,a)}).property(a))}),valuePathDidChange:B("parentView.optionValuePath",function(){var a=t(this,"parentView.optionValuePath");a&&C(this,"value",z(function(){return t(this,a)}).property(a))})}),E=w.extend({instrumentDisplay:"Ember.SelectOptgroup",tagName:"optgroup",attributeBindings:["label"],selectionBinding:"parentView.selection",multipleBinding:"parentView.multiple",optionLabelPathBinding:"parentView.optionLabelPath",optionValuePathBinding:"parentView.optionValuePath",itemViewClassBinding:"parentView.optionView"}),F=v.extend({instrumentDisplay:"Ember.Select",tagName:"select",classNames:["ember-select"],defaultTemplate:e.Handlebars.template({1:function(a,b,c,d){var e,f="";return d.buffer.push('"),f},3:function(a,b,c,d){var e;e=b.each.call(a,"group","in","view.groupedContent",{name:"each",hash:{},hashTypes:{},hashContexts:{},fn:this.program(4,d),inverse:this.noop,types:["ID","ID","ID"],contexts:[a,a,a],data:d}),d.buffer.push(null!=e?e:"")},4:function(a,b,c,d){var e=this.escapeExpression;d.buffer.push(e(b.view.call(a,"view.groupView",{name:"view",hash:{label:"group.label",content:"group.content"},hashTypes:{label:"ID",content:"ID"},hashContexts:{label:a,content:a},types:["ID"],contexts:[a],data:d})))},6:function(a,b,c,d){var e;e=b.each.call(a,"item","in","view.content",{name:"each",hash:{},hashTypes:{},hashContexts:{},fn:this.program(7,d),inverse:this.noop,types:["ID","ID","ID"],contexts:[a,a,a],data:d}),d.buffer.push(null!=e?e:"")},7:function(a,b,c,d){var e=this.escapeExpression;d.buffer.push(e(b.view.call(a,"view.optionView",{name:"view",hash:{content:"item"},hashTypes:{content:"ID"},hashContexts:{content:a},types:["ID"],contexts:[a],data:d})))},compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f="";return e=b["if"].call(a,"view.prompt",{name:"if",hash:{},hashTypes:{},hashContexts:{},fn:this.program(1,d),inverse:this.noop,types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),e=b["if"].call(a,"view.optionGroupPath",{name:"if",hash:{},hashTypes:{},hashContexts:{},fn:this.program(3,d),inverse:this.program(6,d),types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),f},useData:!0}),attributeBindings:["multiple","disabled","tabindex","name","required","autofocus","form","size"],multiple:!1,disabled:!1,required:!1,content:null,selection:null,value:z(function(a,b){if(2===arguments.length)return b;var c=t(this,"optionValuePath").replace(/^content\.?/,"");return c?t(this,"selection."+c):t(this,"selection")}).property("selection"),prompt:null,optionLabelPath:"content",optionValuePath:"content",optionGroupPath:null,groupView:E,groupedContent:z(function(){var a=t(this,"optionGroupPath"),b=A(),c=t(this,"content")||[];return p(c,function(c){var d=t(c,a);t(b,"lastObject.label")!==d&&b.pushObject({label:d,content:A()}),t(b,"lastObject.content").push(c)}),b}).property("optionGroupPath","content.@each"),optionView:D,_change:function(){t(this,"multiple")?this._changeMultiple():this._changeSingle()},selectionDidChange:B("selection.@each",function(){var a=t(this,"selection");if(t(this,"multiple")){if(!x(a))return void u(this,"selection",A([a]));this._selectionDidChangeMultiple()}else this._selectionDidChangeSingle()}),valueDidChange:B("value",function(){var a,b=t(this,"content"),c=t(this,"value"),d=t(this,"optionValuePath").replace(/^content\.?/,""),e=d?t(this,"selection."+d):t(this,"selection");c!==e&&(a=b?b.find(function(a){return c===(d?t(a,d):a)}):null,this.set("selection",a))}),_triggerChange:function(){var a=t(this,"selection"),b=t(this,"value");y(a)||this.selectionDidChange(),y(b)||this.valueDidChange(),this._change()},_changeSingle:function(){var a=this.$()[0].selectedIndex,b=t(this,"content"),c=t(this,"prompt");if(b&&t(b,"length")){if(c&&0===a)return void u(this,"selection",null);c&&(a-=1),u(this,"selection",b.objectAt(a))}},_changeMultiple:function(){var a=this.$("option:selected"),b=t(this,"prompt"),c=b?1:0,d=t(this,"content"),e=t(this,"selection");if(d&&a){var f=a.map(function(){return this.index-c}).toArray(),g=d.objectsAt(f);x(e)?s(e,0,t(e,"length"),g):u(this,"selection",g) -}},_selectionDidChangeSingle:function(){var a=this.get("element");if(a){var b=t(this,"content"),c=t(this,"selection"),d=b?q(b,c):-1,e=t(this,"prompt");e&&(d+=1),a&&(a.selectedIndex=d)}},_selectionDidChangeMultiple:function(){var a,b=t(this,"content"),c=t(this,"selection"),d=b?r(b,c):[-1],e=t(this,"prompt"),f=e?1:0,g=this.$("option");g&&g.each(function(){a=this.index>-1?this.index-f:-1,this.selected=q(d,a)>-1})},init:function(){this._super(),this.on("didInsertElement",this,this._triggerChange),this.on("change",this,this._change)}});n["default"]=F,n.Select=F,n.SelectOption=D,n.SelectOptgroup=E}),a("ember-handlebars/controls/text_area",["ember-metal/property_get","ember-views/views/component","ember-handlebars/controls/text_support","ember-metal/mixin","exports"],function(a,b,c,d,e){"use strict";var f=a.get,g=b["default"],h=c["default"],i=d.observer;e["default"]=g.extend(h,{instrumentDisplay:"{{textarea}}",classNames:["ember-text-area"],tagName:"textarea",attributeBindings:["rows","cols","name","selectionEnd","selectionStart","wrap","lang","dir"],rows:null,cols:null,_updateElementValue:i("value",function(){var a=f(this,"value"),b=this.$();b&&a!==b.val()&&b.val(a)}),init:function(){this._super(),this.on("didInsertElement",this,this._updateElementValue)}})}),a("ember-handlebars/controls/text_field",["ember-views/views/component","ember-handlebars/controls/text_support","exports"],function(a,b,c){"use strict";var d=a["default"],e=b["default"];c["default"]=d.extend(e,{instrumentDisplay:'{{input type="text"}}',classNames:["ember-text-field"],tagName:"input",attributeBindings:["accept","autocomplete","autosave","dir","formaction","formenctype","formmethod","formnovalidate","formtarget","height","inputmode","lang","list","max","min","multiple","name","pattern","size","step","type","value","width"],value:"",type:"text",size:null,pattern:null,min:null,max:null})}),a("ember-handlebars/controls/text_support",["ember-metal/property_get","ember-metal/property_set","ember-metal/mixin","ember-runtime/mixins/target_action_support","exports"],function(a,b,c,d,e){"use strict";function f(a,b,c){var d=g(b,a),e=g(b,"onEvent"),f=g(b,"value");(e===a||"keyPress"===e&&"key-press"===a)&&b.sendAction("action",f),b.sendAction(a,f),(d||e===a)&&(g(b,"bubbles")||c.stopPropagation())}var g=a.get,h=b.set,i=c.Mixin,j=d["default"],k=i.create(j,{value:"",attributeBindings:["autocapitalize","autocorrect","autofocus","disabled","form","maxlength","placeholder","readonly","required","selectionDirection","spellcheck","tabindex","title"],placeholder:null,disabled:!1,maxlength:null,init:function(){this._super(),this.on("paste",this,this._elementValueDidChange),this.on("cut",this,this._elementValueDidChange),this.on("input",this,this._elementValueDidChange)},action:null,onEvent:"enter",bubbles:!1,interpretKeyEvents:function(a){var b=k.KEY_EVENTS,c=b[a.keyCode];return this._elementValueDidChange(),c?this[c](a):void 0},_elementValueDidChange:function(){h(this,"value",this.$().val())},insertNewline:function(a){f("enter",this,a),f("insert-newline",this,a)},cancel:function(a){f("escape-press",this,a)},change:function(a){this._elementValueDidChange(a)},focusIn:function(a){f("focus-in",this,a)},focusOut:function(a){this._elementValueDidChange(a),f("focus-out",this,a)},keyPress:function(a){f("key-press",this,a)},keyUp:function(a){this.interpretKeyEvents(a),this.sendAction("key-up",g(this,"value"),a)},keyDown:function(a){this.sendAction("key-down",g(this,"value"),a)}});k.KEY_EVENTS={13:"insertNewline",27:"cancel"},e["default"]=k}),a("ember-handlebars/ext",["ember-metal/core","ember-runtime/system/string","ember-handlebars-compiler","ember-metal/property_get","ember-metal/error","ember-metal/mixin","ember-views/views/view","ember-metal/path_cache","ember-metal/streams/stream","ember-metal/streams/read","exports"],function(a,c,d,e,f,g,h,i,j,k,l){"use strict";function m(a,b,c){return v.deprecate("Usage of Ember.Handlebars.get is deprecated, use a Component or Ember.Handlebars.makeBoundHelper instead."),c.data.view.getStream(b).value()}function n(a,b,c,d){var e;if("string"==typeof b){if(!d)throw new Error("handlebarsGetView: must pass data");var f=d.view.getStream(b);e=f.value();var g=C(b);if(e||g||(v.assert("View requires a container to resolve views not passed in through the context",!!c),e=c.lookupFactory("view:"+b)),!e&&g){var h=y(b);v.deprecate('Resolved the view "'+b+'" on the global context. Pass a view name to be looked up on the container instead, such as {{view "select"}}. http://emberjs.com/guides/deprecations#toc_global-lookup-of-views',!h),h&&(e=h)}}else e=b;return"string"==typeof e&&d&&d.view&&(e=n(d.view,e,c,d)),v.assert(w(b+" must be a subclass or an instance of Ember.View, not %@",[e]),B.detect(e)||B.detectInstance(e)),e}function o(a,b){return null===a||void 0===a?a="":a instanceof Handlebars.SafeString||(a=String(a)),b&&(a=Handlebars.Utils.escapeExpression(a)),a}function p(){t||(t=b("ember-handlebars/helpers/binding").resolveHelper);var a,c,d="",e=arguments[arguments.length-1],f=t(e.data.view.container,e.name);if(f)return f.apply(this,arguments);throw e.data&&(d=e.data.view),e.name.match(/-/)?(a="%@ Handlebars error: Could not find component or helper named '%@'",c=w(a,[d,e.name])):(a="%@ Handlebars error: Could not find property '%@' on object %@.",c=w(a,[d,e.name,this])),new z(c)}function q(){}function r(a){var b=G.call(arguments,1),c=s.apply(this,b);x.registerHelper(a,c)}function s(a){function c(){var b=arguments.length-1,c=arguments[b],e=c.data,f=e.view,g=c.types,h=c.hash,i=c.hashTypes,j=this;v.assert("registerBoundHelper-generated helpers do not support use with Handlebars blocks.",!c.fn);for(var k=new Array(b),l=new Array(b),m=0;b>m;m++)k[m]=arguments[m],l[m]="ID"===g[m]?f.getStream(arguments[m]):arguments[m];for(var n in h)A.test(n)?(h[n.slice(0,-7)]=f.getStream(h[n]),h[n]=void 0):"ID"===i[n]&&(h[n]=f.getStream(h[n]));var o=function(){var b=E(l);return b.push({hash:F(h),data:{properties:k}}),a.apply(j,b)};if(e.isUnbound)return o();var p=new D(o),q=new u(p,!c.hash.unescaped);f.appendChild(q);var r=f._wrapAsScheduled(q.rerender);p.subscribe(r,q);var s;for(m=0;b>m;m++)s=l[m],s&&s.isStream&&s.subscribe(p.notify,p);for(n in h)s=h[n],s&&s.isStream&&s.subscribe(p.notify,p);if(b>0){var t=l[0];if(t&&t.isStream){var w=function(a){a.value(),p.notify()};for(m=0;m=b)return f.getStream(a).value();c.data.isUnbound=!0,c.types.shift();for(var h=new Array(b-1),i=1;b>i;i++)h[i-1]=arguments[i];var j=e(g,a)||d.helpers.helperMissing;c.name=arguments[0];var k=j.apply(this,h);return delete c.data.isUnbound,k}}),a("ember-handlebars/helpers/view",["ember-metal/core","ember-runtime/system/object","ember-metal/property_get","ember-metal/keys","ember-metal/mixin","ember-views/streams/read","ember-views/views/view","ember-metal/streams/simple","exports"],function(a,b,c,d,e,f,g,h,i){"use strict";function j(a){var b=a.hash,c=a.hashTypes,d=a.data.view;for(var e in b){var f=c[e],g=b[e];if(p.test(e)){if("classBinding"===e)continue;"ID"===f?(l.warn("You're attempting to render a view by passing "+e+"="+g+" to a view helper, but this syntax is ambiguous. You should either surround "+g+" in quotes or remove `Binding` from "+e+"."),b[e]=d._getBindingForStream(g)):"string"==typeof g&&(b[e]=d._getBindingForStream(g))}else"ID"===f&&("class"===e?b.classBinding=g:b[e+"Binding"]=d._getBindingForStream(g),delete b[e],delete c[e])}b.idBinding&&(b.id=b.idBinding.value(),c.id="STRING",delete b.idBinding,delete c.idBinding)}function k(a){l.assert("The view helper only takes a single argument",arguments.length<=2);var b,c=arguments[arguments.length-1],d=c.types,e=c.data.view,f=e.container||e._keywords.view.value().container;if(1===arguments.length)b=f?f.lookupFactory("view:toplevel"):r;else{var g;"string"==typeof a&&"ID"===d[0]?(g=e.getStream(a),l.deprecate('Resolved the view "'+a+'" on the global context. Pass a view name to be looked up on the container instead, such as {{view "select"}}. http://emberjs.com/guides/deprecations#toc_global-lookup-of-views',!g.isGlobal())):g=a,b=q(g,f)}return c.helperName=c.helperName||"view",t.helper(this,b,c)}var l=a["default"],m=b["default"],n=c.get,o=d["default"],p=e.IS_BINDING,q=f.readViewFactory,r=g["default"],s=h["default"],t=m.create({propertiesFromHTMLOptions:function(a){var b=a.data.view,c=a.hash,d=c["class"],e={helperName:a.helperName||""};c.id&&(e.elementId=c.id),c.tag&&(e.tagName=c.tag),d&&(d=d.split(" "),e.classNames=d),c.classBinding&&(e.classNameBindings=c.classBinding.split(" ")),c.classNameBindings&&(void 0===e.classNameBindings&&(e.classNameBindings=[]),e.classNameBindings=e.classNameBindings.concat(c.classNameBindings.split(" "))),c.attributeBindings&&(l.assert("Setting 'attributeBindings' via Handlebars is not allowed. Please subclass Ember.View and set it there instead."),e.attributeBindings=null);for(var f=o(c),g=0,h=f.length;h>g;g++){var i=f[g];"classNameBindings"!==i&&(e[i]=c[i])}var j=e.classNameBindings;if(j)for(var k=0;k=0;n--)o=m[n],g=h++,d[g]=o,l[p++]=g,x=o;for(g=l[--p],x=d[g];q===g;){if(w--,x._elementCreated=!0,this.didCreateElement(x),k&&this.willInsertElement(x),0===w){p--;break}q=r[w],s=-1===q?b:d[q],this.insertElement(x,s,u,-1),g=l[--p],x=d[g],u=t[w],t[w]=null}}for(this.insertElement(x,b,u,f),n=h-1;n>=0;n--)k&&(d[n]._elementInserted=!0,this.didInsertElement(d[n])),d[n]=null;return u}function f(a,b,c){var d=this.uuid(a);if(this._inserts[d]&&(this.cancelRender(this._inserts[d]),this._inserts[d]=void 0),a._elementCreated){var e,f,g,h,i,j,k,l=[],m=[],n=a._morph;for(l.push(a),e=0;ej;j++)h.push(i[j]);for(e=0;ej;j++)m.push(i[j]);for(n&&!c&&n.destroy(),e=0,f=l.length;f>e;e++)this.afterRemove(l[e],!1);for(e=0,f=m.length;f>e;e++)this.afterRemove(m[e],!0);c&&(a._morph=n)}}function g(a,b,c,d){null!==c&&void 0!==c&&(a._morph?a._morph.update(c):b&&(a._morph=-1===d?b._childViewsMorph.append(c):b._childViewsMorph.insert(d,c)))}function h(a){a._elementCreated&&this.willDestroyElement(a),a._elementInserted&&this.willRemoveElement(a)}function i(a,b){a._elementInserted=!1,a._morph=null,a._childViewsMorph=null,a._elementCreated&&(a._elementCreated=!1,this.didDestroyElement(a)),b&&this.destroyView(a)}var j=a.DOMHelper;c.prototype.uuid=function(a){return void 0===a._uuid&&(a._uuid=++this._uuid,a._renderer=this),a._uuid},c.prototype.scheduleInsert=function(a,b){if(a._morph||a._elementCreated)throw new Error("You cannot insert a View that has already been rendered");e.assert("You cannot insert a View without a morph",b),a._morph=b;var c=this.uuid(a);this._inserts[c]=this.scheduleRender(this,function(){this._inserts[c]=null,this.renderTree(a)})},c.prototype.appendTo=function(a,b){var c=this._dom.appendMorph(b);this.scheduleInsert(a,c)},c.prototype.replaceIn=function(a,b){var c=this._dom.createMorph(b,null,null);this.scheduleInsert(a,c)},c.prototype.remove=f,c.prototype.destroy=function(a){this.remove(a,!0)},c.prototype.renderTree=d,c.prototype.insertElement=g,c.prototype.beforeRemove=h,c.prototype.afterRemove=i;var k=function(){};c.prototype.willCreateElement=k,c.prototype.createElement=k,c.prototype.didCreateElement=k,c.prototype.willInsertElement=k,c.prototype.didInsertElement=k,c.prototype.willRemoveElement=k,c.prototype.willDestroyElement=k,c.prototype.didDestroyElement=k,c.prototype.destroyView=k,c.prototype.childViews=k,b["default"]=c}),a("ember-metal",["ember-metal/core","ember-metal/merge","ember-metal/instrumentation","ember-metal/utils","ember-metal/error","ember-metal/enumerable_utils","ember-metal/cache","ember-metal/platform","ember-metal/array","ember-metal/logger","ember-metal/property_get","ember-metal/events","ember-metal/observer_set","ember-metal/property_events","ember-metal/properties","ember-metal/property_set","ember-metal/map","ember-metal/get_properties","ember-metal/set_properties","ember-metal/watch_key","ember-metal/chains","ember-metal/watch_path","ember-metal/watching","ember-metal/expand_properties","ember-metal/computed","ember-metal/computed_macros","ember-metal/observer","ember-metal/mixin","ember-metal/binding","ember-metal/run_loop","ember-metal/libraries","ember-metal/is_none","ember-metal/is_empty","ember-metal/is_blank","ember-metal/is_present","ember-metal/keys","exports"],function(a,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L){"use strict";var M=a["default"],N=c["default"],O=d.instrument,P=d.reset,Q=d.subscribe,R=d.unsubscribe,S=e.EMPTY_META,T=e.GUID_KEY,U=e.META_DESC,V=e.apply,W=e.applyStr,X=e.canInvoke,Y=e.generateGuid,Z=e.getMeta,$=e.guidFor,_=e.inspect,ab=e.isArray,bb=e.makeArray,cb=e.meta,db=e.metaPath,eb=e.setMeta,fb=e.tryCatchFinally,gb=e.tryFinally,hb=e.tryInvoke,ib=e.typeOf,jb=e.uuid,kb=e.wrap,lb=f["default"],mb=g["default"],nb=h["default"],ob=i.create,pb=i.hasPropertyAccessors,qb=j.filter,rb=j.forEach,sb=j.indexOf,tb=j.map,ub=k["default"],vb=l._getPath,wb=l.get,xb=l.getWithDefault,yb=l.normalizeTuple,zb=m.addListener,Ab=m.hasListeners,Bb=m.listenersDiff,Cb=m.listenersFor,Db=m.listenersUnion,Eb=m.on,Fb=m.removeListener,Gb=m.sendEvent,Hb=m.suspendListener,Ib=m.suspendListeners,Jb=m.watchedEvents,Kb=n["default"],Lb=o.beginPropertyChanges,Mb=o.changeProperties,Nb=o.endPropertyChanges,Ob=o.overrideChains,Pb=o.propertyDidChange,Qb=o.propertyWillChange,Rb=p.Descriptor,Sb=p.defineProperty,Tb=q.set,Ub=q.trySet,Vb=r.Map,Wb=r.MapWithDefault,Xb=r.OrderedSet,Yb=s["default"],Zb=t["default"],$b=u.watchKey,_b=u.unwatchKey,ac=v.ChainNode,bc=v.finishChains,cc=v.flushPendingChains,dc=v.removeChainWatcher,ec=w.watchPath,fc=w.unwatchPath,gc=x.destroy,hc=x.isWatching,ic=x.rewatch,jc=x.unwatch,kc=x.watch,lc=y["default"],mc=z.ComputedProperty,nc=z.computed,oc=z.cacheFor,pc=B._suspendBeforeObserver,qc=B._suspendBeforeObservers,rc=B._suspendObserver,sc=B._suspendObservers,tc=B.addBeforeObserver,uc=B.addObserver,vc=B.beforeObserversFor,wc=B.observersFor,xc=B.removeBeforeObserver,yc=B.removeObserver,zc=C.IS_BINDING,Ac=C.Mixin,Bc=C.aliasMethod,Cc=C.beforeObserver,Dc=C.immediateObserver,Ec=C.mixin,Fc=C.observer,Gc=C.required,Hc=D.Binding,Ic=D.bind,Jc=D.isGlobalPath,Kc=D.oneWay,Lc=E["default"],Mc=F["default"],Nc=G["default"],Oc=H["default"],Pc=I["default"],Qc=J["default"],Rc=K["default"],Sc=M.Instrumentation={};Sc.instrument=O,Sc.subscribe=Q,Sc.unsubscribe=R,Sc.reset=P,M.instrument=O,M.subscribe=Q,M._Cache=nb,M.generateGuid=Y,M.GUID_KEY=T,M.create=ob,M.keys=Rc,M.platform={defineProperty:Sb,hasPropertyAccessors:pb};var Tc=M.ArrayPolyfills={};Tc.map=tb,Tc.forEach=rb,Tc.filter=qb,Tc.indexOf=sb,M.Error=lb,M.guidFor=$,M.META_DESC=U,M.EMPTY_META=S,M.meta=cb,M.getMeta=Z,M.setMeta=eb,M.metaPath=db,M.inspect=_,M.typeOf=ib,M.tryCatchFinally=fb,M.isArray=ab,M.makeArray=bb,M.canInvoke=X,M.tryInvoke=hb,M.tryFinally=gb,M.wrap=kb,M.apply=V,M.applyStr=W,M.uuid=jb,M.Logger=ub,M.get=wb,M.getWithDefault=xb,M.normalizeTuple=yb,M._getPath=vb,M.EnumerableUtils=mb,M.on=Eb,M.addListener=zb,M.removeListener=Fb,M._suspendListener=Hb,M._suspendListeners=Ib,M.sendEvent=Gb,M.hasListeners=Ab,M.watchedEvents=Jb,M.listenersFor=Cb,M.listenersDiff=Bb,M.listenersUnion=Db,M._ObserverSet=Kb,M.propertyWillChange=Qb,M.propertyDidChange=Pb,M.overrideChains=Ob,M.beginPropertyChanges=Lb,M.endPropertyChanges=Nb,M.changeProperties=Mb,M.Descriptor=Rb,M.defineProperty=Sb,M.set=Tb,M.trySet=Ub,M.OrderedSet=Xb,M.Map=Vb,M.MapWithDefault=Wb,M.getProperties=Yb,M.setProperties=Zb,M.watchKey=$b,M.unwatchKey=_b,M.flushPendingChains=cc,M.removeChainWatcher=dc,M._ChainNode=ac,M.finishChains=bc,M.watchPath=ec,M.unwatchPath=fc,M.watch=kc,M.isWatching=hc,M.unwatch=jc,M.rewatch=ic,M.destroy=gc,M.expandProperties=lc,M.ComputedProperty=mc,M.computed=nc,M.cacheFor=oc,M.addObserver=uc,M.observersFor=wc,M.removeObserver=yc,M.addBeforeObserver=tc,M._suspendBeforeObserver=pc,M._suspendBeforeObservers=qc,M._suspendObserver=rc,M._suspendObservers=sc,M.beforeObserversFor=vc,M.removeBeforeObserver=xc,M.IS_BINDING=zc,M.required=Gc,M.aliasMethod=Bc,M.observer=Fc,M.immediateObserver=Dc,M.beforeObserver=Cc,M.mixin=Ec,M.Mixin=Ac,M.oneWay=Kc,M.bind=Ic,M.Binding=Hc,M.isGlobalPath=Jc,M.run=Lc,M.libraries=Mc,M.libraries.registerCoreLibrary("Ember",M.VERSION),M.isNone=Nc,M.isEmpty=Oc,M.isBlank=Pc,M.isPresent=Qc,M.merge=N,M.onerror=null,M.__loader.registry["ember-debug"]&&b("ember-debug"),L["default"]=M}),a("ember-metal/alias",["ember-metal/property_get","ember-metal/property_set","ember-metal/core","ember-metal/error","ember-metal/properties","ember-metal/computed","ember-metal/platform","ember-metal/utils","ember-metal/dependent_keys","exports"],function(a,b,c,d,e,f,g,h,i,j){"use strict";function k(a){this.altKey=a,this._dependentKeys=[a]}function l(a,b){throw new q('Cannot set read-only property "'+b+'" on object: '+w(a))}function m(a,b,c){return s(a,b,null),o(a,b,c)}var n=a.get,o=b.set,p=c["default"],q=d["default"],r=e.Descriptor,s=e.defineProperty,t=f.ComputedProperty,u=g.create,v=h.meta,w=h.inspect,x=i.addDependentKeys,y=i.removeDependentKeys;j["default"]=function(a){return new k(a)},j.AliasedProperty=k,k.prototype=u(r.prototype),k.prototype.get=function(a){return n(a,this.altKey)},k.prototype.set=function(a,b,c){return o(a,this.altKey,c)},k.prototype.willWatch=function(a,b){x(this,a,b,v(a))},k.prototype.didUnwatch=function(a,b){y(this,a,b,v(a))},k.prototype.setup=function(a,b){p.assert("Setting alias '"+b+"' on self",this.altKey!==b);var c=v(a);c.watching[b]&&x(this,a,b,c)},k.prototype.teardown=function(a,b){var c=v(a);c.watching[b]&&y(this,a,b,c)},k.prototype.readOnly=function(){return this.set=l,this},k.prototype.oneWay=function(){return this.set=m,this},k.prototype._meta=void 0,k.prototype.meta=t.prototype.meta}),a("ember-metal/array",["exports"],function(a){"use strict";var b=Array.prototype,c=function(a){return a&&Function.prototype.toString.call(a).indexOf("[native code]")>-1},d=function(a,b){return c(a)?a:b},f=d(b.map,function(a){if(void 0===this||null===this||"function"!=typeof a)throw new TypeError;for(var b=Object(this),c=b.length>>>0,d=new Array(c),e=arguments[1],f=0;c>f;f++)f in b&&(d[f]=a.call(e,b[f],f,b));return d}),g=d(b.forEach,function(a){if(void 0===this||null===this||"function"!=typeof a)throw new TypeError;for(var b=Object(this),c=b.length>>>0,d=arguments[1],e=0;c>e;e++)e in b&&a.call(d,b[e],e,b)}),h=d(b.indexOf,function(a,b){null===b||void 0===b?b=0:0>b&&(b=Math.max(0,this.length+b));for(var c=b,d=this.length;d>c;c++)if(this[c]===a)return c;return-1}),i=d(b.lastIndexOf,function(a,b){var c,d=this.length;for(b=void 0===b?d-1:0>b?Math.ceil(b):Math.floor(b),0>b&&(b+=d),c=b;c>=0;c--)if(this[c]===a)return c;return-1}),j=d(b.filter,function(a,b){var c,d,e=[],f=this.length;for(c=0;f>c;c++)this.hasOwnProperty(c)&&(d=this[c],a.call(b,d,c,this)&&e.push(d));return e});e.SHIM_ES5&&(b.map=b.map||f,b.forEach=b.forEach||g,b.filter=b.filter||j,b.indexOf=b.indexOf||h,b.lastIndexOf=b.lastIndexOf||i),a.map=f,a.forEach=g,a.filter=j,a.indexOf=h,a.lastIndexOf=i}),a("ember-metal/binding",["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/utils","ember-metal/observer","ember-metal/run_loop","ember-metal/path_cache","exports"],function(a,b,c,d,e,f,g,h){"use strict";function i(a,b){return o(v(b)?n.lookup:a,b)}function j(a,b){this._direction=void 0,this._from=b,this._to=a,this._readyToSync=void 0,this._oneWay=void 0}function k(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c])}function l(a,b,c){return new j(b,c).connect(a)}function m(a,b,c){return new j(b,c).oneWay().connect(a)}var n=a["default"],o=b.get,p=c.trySet,q=d.guidFor,r=e.addObserver,s=e.removeObserver,t=e._suspendObserver,u=f["default"],v=g.isGlobal;n.LOG_BINDINGS=!1||!!n.ENV.LOG_BINDINGS,j.prototype={copy:function(){var a=new j(this._to,this._from);return this._oneWay&&(a._oneWay=!0),a},from:function(a){return this._from=a,this},to:function(a){return this._to=a,this},oneWay:function(){return this._oneWay=!0,this},toString:function(){var a=this._oneWay?"[oneWay]":"";return"Ember.Binding<"+q(this)+">("+this._from+" -> "+this._to+")"+a},connect:function(a){n.assert("Must pass a valid object to Ember.Binding.connect()",!!a);var b=this._from,c=this._to;return p(a,c,i(a,b)),r(a,b,this,this.fromDidChange),this._oneWay||r(a,c,this,this.toDidChange),this._readyToSync=!0,this},disconnect:function(a){n.assert("Must pass a valid object to Ember.Binding.disconnect()",!!a);var b=!this._oneWay;return s(a,this._from,this,this.fromDidChange),b&&s(a,this._to,this,this.toDidChange),this._readyToSync=!1,this},fromDidChange:function(a){this._scheduleSync(a,"fwd")},toDidChange:function(a){this._scheduleSync(a,"back")},_scheduleSync:function(a,b){var c=this._direction;void 0===c&&(u.schedule("sync",this,this._sync,a),this._direction=b),"back"===c&&"fwd"===b&&(this._direction="fwd")},_sync:function(a){var b=n.LOG_BINDINGS;if(!a.isDestroyed&&this._readyToSync){var c=this._direction,d=this._from,e=this._to;if(this._direction=void 0,"fwd"===c){var f=i(a,this._from);b&&n.Logger.log(" ",this.toString(),"->",f,a),this._oneWay?p(a,e,f):t(a,e,this,this.toDidChange,function(){p(a,e,f)})}else if("back"===c){var g=o(a,this._to);b&&n.Logger.log(" ",this.toString(),"<-",g,a),t(a,d,this,this.fromDidChange,function(){p(v(d)?n.lookup:a,d,g)})}}}},k(j,{from:function(a){var b=this;return new b(void 0,a)},to:function(a){var b=this;return new b(a,void 0)},oneWay:function(a,b){var c=this;return new c(void 0,a).oneWay(b)}}),h.bind=l,h.oneWay=m,h.Binding=j,h.isGlobalPath=v}),a("ember-metal/cache",["ember-metal/dictionary","exports"],function(a,b){"use strict";function c(a,b){this.store=d(null),this.size=0,this.misses=0,this.hits=0,this.limit=a,this.func=b}var d=a["default"];b["default"]=c;var e=function(){};c.prototype={set:function(a,b){return this.limit>this.size&&(this.size++,this.store[a]=void 0===b?e:b),b},get:function(a){var b=this.store[a];return void 0===b?(this.misses++,b=this.set(a,this.func(a))):b===e?(this.hits++,b=void 0):this.hits++,b},purge:function(){this.store=d(null),this.size=0,this.hits=0,this.misses=0}}}),a("ember-metal/chains",["ember-metal/core","ember-metal/property_get","ember-metal/utils","ember-metal/array","ember-metal/watch_key","exports"],function(a,b,c,d,e,f){"use strict";function g(a){return a.match(v)[0]}function h(){if(0!==w.length){var a=w;w=[],r.call(a,function(a){a[0].add(a[1])}),u("Watching an undefined global, Ember expects watched globals to be setup by the time the run loop is flushed, check for typos",0===w.length)}}function i(a,b,c){if(a&&"object"==typeof a){var d=q(a),e=d.chainWatchers;d.hasOwnProperty("chainWatchers")||(e=d.chainWatchers={}),e[b]||(e[b]=[]),e[b].push(c),s(a,b,d)}}function j(a,b,c){if(a&&"object"==typeof a){var d=a.__ember_meta__;if(!d||d.hasOwnProperty("chainWatchers")){var e=d&&d.chainWatchers;if(e&&e[b]){e=e[b];for(var f=0,g=e.length;g>f;f++)if(e[f]===c){e.splice(f,1);break}}t(a,b,d)}}}function k(a,b,c){this._parent=a,this._key=b,this._watching=void 0===c,this._value=c,this._paths={},this._watching&&(this._object=a.value(),this._object&&i(this._object,this._key,this)),this._parent&&"@each"===this._parent._key&&this.value()}function l(a,b){if(!a)return void 0;var c=a.__ember_meta__;if(c&&c.proto===a)return void 0;if("@each"===b)return o(a,b);var d=c&&c.descs[b];return d&&d._cacheable?b in c.cache?c.cache[b]:void 0:o(a,b)}function m(a){var b,c,d,e=a.__ember_meta__;if(e){if(c=e.chainWatchers)for(var f in c)if(c.hasOwnProperty(f)&&(d=c[f]))for(var g=0,h=d.length;h>g;g++)d[g].didChange(null);b=e.chains,b&&b.value()!==a&&(q(a).chains=b=b.copy(a))}}var n=a["default"],o=b.get,p=b.normalizeTuple,q=c.meta,r=d.forEach,s=e.watchKey,t=e.unwatchKey,u=n.warn,v=/^([^\.]+)/,w=[];f.flushPendingChains=h;var x=k.prototype;x.value=function(){if(void 0===this._value&&this._watching){var a=this._parent.value();this._value=l(a,this._key)}return this._value},x.destroy=function(){if(this._watching){var a=this._object;a&&j(a,this._key,this),this._watching=!1}},x.copy=function(a){var b,c=new k(null,null,a),d=this._paths;for(b in d)d[b]<=0||c.add(b);return c},x.add=function(a){var b,c,d,e,f;if(f=this._paths,f[a]=(f[a]||0)+1,b=this.value(),c=p(b,a),c[0]&&c[0]===b)a=c[1],d=g(a),a=a.slice(d.length+1);else{if(!c[0])return w.push([this,a]),void(c.length=0);e=c[0],d=a.slice(0,0-(c[1].length+1)),a=c[1]}c.length=0,this.chain(d,a,e)},x.remove=function(a){var b,c,d,e,f;f=this._paths,f[a]>0&&f[a]--,b=this.value(),c=p(b,a),c[0]===b?(a=c[1],d=g(a),a=a.slice(d.length+1)):(e=c[0],d=a.slice(0,0-(c[1].length+1)),a=c[1]),c.length=0,this.unchain(d,a)},x.count=0,x.chain=function(a,b,c){var d,e=this._chains;e||(e=this._chains={}),d=e[a],d||(d=e[a]=new k(this,a,c)),d.count++,b&&(a=g(b),b=b.slice(a.length+1),d.chain(a,b))},x.unchain=function(a,b){var c=this._chains,d=c[a];if(b&&b.length>1){var e=g(b),f=b.slice(e.length+1);d.unchain(e,f)}d.count--,d.count<=0&&(delete c[d._key],d.destroy())},x.willChange=function(a){var b=this._chains;if(b)for(var c in b)b.hasOwnProperty(c)&&b[c].willChange(a);this._parent&&this._parent.chainWillChange(this,this._key,1,a)},x.chainWillChange=function(a,b,c,d){this._key&&(b=this._key+"."+b),this._parent?this._parent.chainWillChange(this,b,c+1,d):(c>1&&d.push(this.value(),b),b="this."+b,this._paths[b]>0&&d.push(this.value(),b))},x.chainDidChange=function(a,b,c,d){this._key&&(b=this._key+"."+b),this._parent?this._parent.chainDidChange(this,b,c+1,d):(c>1&&d.push(this.value(),b),b="this."+b,this._paths[b]>0&&d.push(this.value(),b))},x.didChange=function(a){if(this._watching){var b=this._parent.value();b!==this._object&&(j(this._object,this._key,this),this._object=b,i(b,this._key,this)),this._value=void 0,this._parent&&"@each"===this._parent._key&&this.value()}var c=this._chains;if(c)for(var d in c)c.hasOwnProperty(d)&&c[d].didChange(a);null!==a&&this._parent&&this._parent.chainDidChange(this,this._key,1,a)},f.finishChains=m,f.removeChainWatcher=j,f.ChainNode=k}),a("ember-metal/computed",["ember-metal/property_set","ember-metal/utils","ember-metal/expand_properties","ember-metal/error","ember-metal/properties","ember-metal/property_events","ember-metal/dependent_keys","exports"],function(a,b,c,d,f,g,h,i){"use strict";function j(){}function k(a,b){a.__ember_arity__=a.length,this.func=a,this._dependentKeys=void 0,this._suspended=void 0,this._meta=void 0,this._cacheable=b&&void 0!==b.cacheable?b.cacheable:!0,this._dependentKeys=b&&b.dependentKeys,this._readOnly=b&&(void 0!==b.readOnly||!!b.readOnly)||!1}function l(a){for(var b=0,c=a.length;c>b;b++)a[b].didChange(null)}function m(a){var b;if(arguments.length>1&&(b=A.call(arguments),a=b.pop()),"function"!=typeof a)throw new s("Computed Property declared without a property function");var c=new k(a);return b&&c.property.apply(c,b),c}function n(a,b){var c=a.__ember_meta__,d=c&&c.cache,e=d&&d[b];return e===j?void 0:e}var o=a.set,p=b.meta,q=b.inspect,r=c["default"],s=d["default"],t=f.Descriptor,u=f.defineProperty,v=g.propertyWillChange,w=g.propertyDidChange,x=h.addDependentKeys,y=h.removeDependentKeys;e.warn("The CP_DEFAULT_CACHEABLE flag has been removed and computed propertiesare always cached by default. Use `volatile` if you don't want caching.",e.ENV.CP_DEFAULT_CACHEABLE!==!1);var z=p,A=[].slice;k.prototype=new t;var B=k.prototype;B.cacheable=function(a){return this._cacheable=a!==!1,this},B["volatile"]=function(){return this.cacheable(!1)},B.readOnly=function(a){return this._readOnly=void 0===a||!!a,this},B.property=function(){var a,b=function(b){a.push(b)};a=[];for(var c=0,d=arguments.length;d>c;c++)r(arguments[c],b);return this._dependentKeys=a,this},B.meta=function(a){return 0===arguments.length?this._meta||{}:(this._meta=a,this)},B.didChange=function(a,b){if(this._cacheable&&this._suspended!==a){var c=z(a);void 0!==c.cache[b]&&(c.cache[b]=void 0,y(this,a,b,c))}},B.get=function(a,b){var c,d,e,f;if(this._cacheable){e=z(a),d=e.cache;var g=d[b];if(g===j)return void 0;if(void 0!==g)return g;c=this.func.call(a,b),d[b]=void 0===c?j:c,f=e.chainWatchers&&e.chainWatchers[b],f&&l(f),x(this,a,b,e)}else c=this.func.call(a,b);return c},B.set=function(a,b,c){var d=this._suspended;this._suspended=a;try{this._set(a,b,c)}finally{this._suspended=d}},B._set=function(a,b,c){var d,e,f,g=this._cacheable,h=this.func,i=z(a,g),k=i.cache,l=!1;if(this._readOnly)throw new s('Cannot set read-only property "'+b+'" on object: '+q(a));if(g&&void 0!==k[b]&&(k[b]!==j&&(e=k[b]),l=!0),d=h.wrappedFunction?h.wrappedFunction.__ember_arity__:h.__ember_arity__,3===d)f=h.call(a,b,c,e);else{if(2!==d)return u(a,b,null,e),void o(a,b,c);f=h.call(a,b,c)}if(!l||e!==f){var m=i.watching[b];return m&&v(a,b),l&&(k[b]=void 0),g&&(l||x(this,a,b,i),k[b]=void 0===f?j:f),m&&w(a,b),f}},B.teardown=function(a,b){var c=z(a);return b in c.cache&&y(this,a,b,c),this._cacheable&&delete c.cache[b],null},n.set=function(a,b,c){a[b]=void 0===c?j:c},n.get=function(a,b){var c=a[b];return c===j?void 0:c},n.remove=function(a,b){a[b]=void 0},i.ComputedProperty=k,i.computed=m,i.cacheFor=n}),a("ember-metal/computed_macros",["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/computed","ember-metal/is_empty","ember-metal/is_none","ember-metal/alias"],function(a,b,c,d,e,f,g){"use strict";function h(a,b){for(var c={},d=0;db}),i("gte",function(a,b){return l(this,a)>=b}),i("lt",function(a,b){return l(this,a)1?(m(this,a,c),c):l(this,a)})}}),a("ember-metal/core",["exports"],function(a){"use strict";function b(){return this}"undefined"==typeof e&&(e={}),e.imports=e.imports||this,e.lookup=e.lookup||this;var c=e.exports=e.exports||this;c.Em=c.Ember=e,e.isNamespace=!0,e.toString=function(){return"Ember"},e.VERSION="1.9.1",e.ENV||(e.ENV="undefined"!=typeof EmberENV?EmberENV:"undefined"!=typeof ENV?ENV:{}),e.config=e.config||{},"undefined"==typeof e.ENV.DISABLE_RANGE_API&&(e.ENV.DISABLE_RANGE_API=!0),"undefined"==typeof MetamorphENV&&(c.MetamorphENV={}),MetamorphENV.DISABLE_RANGE_API=e.ENV.DISABLE_RANGE_API,e.FEATURES=e.ENV.FEATURES||{},e.FEATURES.isEnabled=function(a){var b=e.FEATURES[a];return e.ENV.ENABLE_ALL_FEATURES?!0:b===!0||b===!1||void 0===b?b:e.ENV.ENABLE_OPTIONAL_FEATURES?!0:!1},e.EXTEND_PROTOTYPES=e.ENV.EXTEND_PROTOTYPES,"undefined"==typeof e.EXTEND_PROTOTYPES&&(e.EXTEND_PROTOTYPES=!0),e.LOG_STACKTRACE_ON_DEPRECATION=e.ENV.LOG_STACKTRACE_ON_DEPRECATION!==!1,e.SHIM_ES5=e.ENV.SHIM_ES5===!1?!1:e.EXTEND_PROTOTYPES,e.LOG_VERSION=e.ENV.LOG_VERSION===!1?!1:!0,a.K=b,e.K=b,"undefined"==typeof e.assert&&(e.assert=e.K),"undefined"==typeof e.warn&&(e.warn=e.K),"undefined"==typeof e.debug&&(e.debug=e.K),"undefined"==typeof e.runInDebug&&(e.runInDebug=e.K),"undefined"==typeof e.deprecate&&(e.deprecate=e.K),"undefined"==typeof e.deprecateFunc&&(e.deprecateFunc=function(a,b){return b}),a["default"]=e}),a("ember-metal/dependent_keys",["ember-metal/platform","ember-metal/watching","exports"],function(a,b,c){function d(a,b){var c=a[b];return c?a.hasOwnProperty(b)||(c=a[b]=h(c)):c=a[b]={},c}function e(a){return d(a,"deps")}function f(a,b,c,f){var g,h,j,k,l,m=a._dependentKeys;if(m)for(g=e(f),h=0,j=m.length;j>h;h++)k=m[h],l=d(g,k),l[c]=(l[c]||0)+1,i(b,k,f)}function g(a,b,c,f){var g,h,i,k,l,m=a._dependentKeys;if(m)for(g=e(f),h=0,i=m.length;i>h;h++)k=m[h],l=d(g,k),l[c]=(l[c]||0)-1,j(b,k,f)}var h=a.create,i=b.watch,j=b.unwatch;c.addDependentKeys=f,c.removeDependentKeys=g}),a("ember-metal/deprecate_property",["ember-metal/core","ember-metal/platform","ember-metal/properties","ember-metal/property_get","ember-metal/property_set","exports"],function(a,b,c,d,e,f){"use strict";function g(a,b,c){function d(){h.deprecate("Usage of `"+b+"` is deprecated, use `"+c+"` instead.")}i&&j(a,b,{configurable:!0,enumerable:!1,set:function(a){d(),l(this,c,a)},get:function(){return d(),k(this,c)}})}var h=a["default"],i=b.hasPropertyAccessors,j=c.defineProperty,k=d.get,l=e.set;f.deprecateProperty=g}),a("ember-metal/dictionary",["ember-metal/platform","exports"],function(a,b){"use strict";var c=a.create;b["default"]=function(a){var b=c(a);return b._dict=null,delete b._dict,b}}),a("ember-metal/enumerable_utils",["ember-metal/array","exports"],function(a,b){"use strict";function c(a,b,c){return a.map?a.map(b,c):p.call(a,b,c)}function d(a,b,c){return a.forEach?a.forEach(b,c):n.call(a,b,c)}function e(a,b,c){return a.filter?a.filter(b,c):m.call(a,b,c)}function f(a,b,c){return a.indexOf?a.indexOf(b,c):o.call(a,b,c)}function g(a,b){return void 0===b?[]:c(b,function(b){return f(a,b)})}function h(a,b){var c=f(a,b);-1===c&&a.push(b)}function i(a,b){var c=f(a,b);-1!==c&&a.splice(c,1)}function j(a,b,c,d){for(var e,f,g=[].concat(d),h=[],i=6e4,j=b,k=c;g.length;)e=k>i?i:k,0>=e&&(e=0),f=g.splice(0,i),f=[j,e].concat(f),j+=i,k-=e,h=h.concat(q.apply(a,f));return h}function k(a,b,c,d){return a.replace?a.replace(b,c,d):j(a,b,c,d)}function l(a,b){var c=[];return d(a,function(a){f(b,a)>=0&&c.push(a)}),c}var m=a.filter,n=a.forEach,o=a.indexOf,p=a.map,q=Array.prototype.splice;b.map=c,b.forEach=d,b.filter=e,b.indexOf=f,b.indexesOf=g,b.addObject=h,b.removeObject=i,b._replace=j,b.replace=k,b.intersection=l,b["default"]={_replace:j,addObject:h,filter:e,forEach:d,indexOf:f,indexesOf:g,intersection:l,map:c,removeObject:i,replace:k}}),a("ember-metal/error",["ember-metal/platform","exports"],function(a,b){"use strict";function c(){var a=Error.apply(this,arguments);Error.captureStackTrace&&Error.captureStackTrace(this,e.Error);for(var b=0;b=0;e-=3)if(b===a[e]&&c===a[e+1]){d=e;break}return d}function f(a,b){var c,d=s(a,!0),e=d.listeners;return e?e.__source__!==a&&(e=d.listeners=w(e),e.__source__=a):(e=d.listeners=w(null),e.__source__=a),c=e[b],c&&c.__source__!==a?(c=e[b]=e[b].slice(),c.__source__=a):c||(c=e[b]=[],c.__source__=a),c}function g(a,b,c){var d=a.__ember_meta__,f=d&&d.listeners&&d.listeners[b];if(f)for(var g=f.length-3;g>=0;g-=3){var h=f[g],i=f[g+1],j=f[g+2],k=e(c,h,i);-1===k&&c.push(h,i,j)}}function h(a,b,c){var d=a.__ember_meta__,f=d&&d.listeners&&d.listeners[b],g=[];if(f){for(var h=f.length-3;h>=0;h-=3){var i=f[h],j=f[h+1],k=f[h+2],l=e(c,i,j);-1===l&&(c.push(i,j,k),g.push(i,j,k))}return g}}function i(a,b,c,d,g){r.assert("You must pass at least an object and event name to Ember.addListener",!!a&&!!b),d||"function"!=typeof c||(d=c,c=null);var h=f(a,b),i=e(h,c,d),j=0;g&&(j|=y),-1===i&&(h.push(c,d,j),"function"==typeof a.didAddListener&&a.didAddListener(b,c,d))}function j(a,b,c,d){function g(c,d){var g=f(a,b),h=e(g,c,d);-1!==h&&(g.splice(h,3),"function"==typeof a.didRemoveListener&&a.didRemoveListener(b,c,d))}if(r.assert("You must pass at least an object and event name to Ember.removeListener",!!a&&!!b),d||"function"!=typeof c||(d=c,c=null),d)g(c,d);else{var h=a.__ember_meta__,i=h&&h.listeners&&h.listeners[b];if(!i)return;for(var j=i.length-3;j>=0;j-=3)g(i[j],i[j+1])}}function k(a,b,c,d,g){function h(){return g.call(c)}function i(){-1!==k&&(j[k+2]&=~z)}d||"function"!=typeof c||(d=c,c=null);var j=f(a,b),k=e(j,c,d);return-1!==k&&(j[k+2]|=z),t(h,i)}function l(a,b,c,d,g){function h(){return g.call(c)}function i(){for(var a=0,b=n.length;b>a;a++){var c=n[a];o[a][c+2]&=~z}}d||"function"!=typeof c||(d=c,c=null);var j,k,l,m,n=[],o=[];for(l=0,m=b.length;m>l;l++){j=b[l],k=f(a,j);var p=e(k,c,d);-1!==p&&(k[p+2]|=z,n.push(p),o.push(k))}return t(h,i)}function m(a){var b=a.__ember_meta__.listeners,c=[];if(b)for(var d in b)"__source__"!==d&&b[d]&&c.push(d);return c}function n(a,b,c,d){if(a!==r&&"function"==typeof a.sendEvent&&a.sendEvent(b,c),!d){var e=a.__ember_meta__;d=e&&e.listeners&&e.listeners[b]}if(d){for(var f=d.length-3;f>=0;f-=3){var g=d[f],h=d[f+1],i=d[f+2];h&&(i&z||(i&y&&j(a,b,g,h),g||(g=a),"string"==typeof h?c?v(g,h,c):g[h]():c?u(g,h,c):h.call(g)))}return!0}}function o(a,b){var c=a.__ember_meta__,d=c&&c.listeners&&c.listeners[b];return!(!d||!d.length)}function p(a,b){var c=[],d=a.__ember_meta__,e=d&&d.listeners&&d.listeners[b];if(!e)return c;for(var f=0,g=e.length;g>f;f+=3){var h=e[f],i=e[f+1];c.push([h,i])}return c}function q(){var a=x.call(arguments,-1)[0],b=x.call(arguments,0,-1);return a.__ember_listens__=b,a}var r=a["default"],s=b.meta,t=b.tryFinally,u=b.apply,v=b.applyStr,w=c.create,x=[].slice,y=1,z=2;d.listenersUnion=g,d.listenersDiff=h,d.addListener=i,d.suspendListener=k,d.suspendListeners=l,d.watchedEvents=m,d.sendEvent=n,d.hasListeners=o,d.listenersFor=p,d.on=q,d.removeListener=j}),a("ember-metal/expand_properties",["ember-metal/core","ember-metal/error","ember-metal/enumerable_utils","exports"],function(a,b,c,d){"use strict";function e(a,b){if("string"===g.typeOf(a)){var c=a.split(j),d=[c];i(c,function(a,b){a.indexOf(",")>=0&&(d=f(d,a.split(","),b))}),i(d,function(a){b(a.join(""))})}else b(a)}function f(a,b,c){var d=[];return i(a,function(a){i(b,function(b){var e=a.slice(0);e[c]=b,d.push(e)})}),d}var g=a["default"],h=b["default"],i=c.forEach,j=/\{|\}/;d["default"]=function(a,b){if(a.indexOf(" ")>-1)throw new h("Brace expanded properties cannot contain spaces, e.g. `user.{firstName, lastName}` should be `user.{firstName,lastName}`");return e(a,b)}}),a("ember-metal/get_properties",["ember-metal/property_get","ember-metal/utils","exports"],function(a,b,c){"use strict";var d=a.get,e=b.typeOf;c["default"]=function(a){var b={},c=arguments,f=1;2===arguments.length&&"array"===e(arguments[1])&&(f=0,c=arguments[1]);for(var g=c.length;g>f;f++)b[c[f]]=d(a,c[f]);return b}}),a("ember-metal/injected_property",["ember-metal/core","ember-metal/computed","ember-metal/properties","ember-metal/platform","ember-metal/utils","ember-metal/error","exports"],function(a,b,c,d,e,f,g){"use strict";function h(a,b){this.type=a,this.name=b,this._super$Constructor(function(c){return i.assert("Attempting to lookup an injected property on an object without a container, ensure that the object was instantiated via a container.",this.container),this.container.lookup(a+":"+(b||c))},{readOnly:!0})}var i=a["default"],j=b.ComputedProperty,k=c.Descriptor,l=d.create,m=e.inspect,n=f["default"];h.prototype=l(k.prototype);var o=h.prototype,p=j.prototype;o._super$Constructor=j,o.get=p.get,o.set=function(a,b){throw new n("Cannot set injected property '"+b+"' on object: "+m(a))},o.teardown=p.teardown,g["default"]=h}),a("ember-metal/instrumentation",["ember-metal/core","ember-metal/utils","exports"],function(a,b,c){"use strict"; -function d(a,b,c,d){if(0===k.length)return c.call(d);var f=b||{},g=e(a,function(){return f});if(g){var h=function(){return c.call(d)},i=function(a){f.exception=a};return j(h,i,g)}return c.call(d)}function e(a,b){var c=l[a];if(c||(c=m(a)),0!==c.length){var d,e=b(),f=i.STRUCTURED_PROFILE;f&&(d=a+": "+e.object,console.time(d));var g,h,j=c.length,k=new Array(j),o=n();for(g=0;j>g;g++)h=c[g],k[g]=h.before(a,o,e);return function(){var b,g,h,i=n();for(b=0,g=c.length;g>b;b++)h=c[b],h.after(a,i,e,k[b]);f&&console.timeEnd(d)}}}function f(a,b){for(var c,d=a.split("."),e=[],f=0,g=d.length;g>f;f++)c=d[f],e.push("*"===c?"[^\\.]*":c);e=e.join("\\."),e+="(\\..*)?";var h={pattern:a,regex:new RegExp("^"+e+"$"),object:b};return k.push(h),l={},h}function g(a){for(var b,c=0,d=k.length;d>c;c++)k[c]===a&&(b=c);k.splice(b,1),l={}}function h(){k.length=0,l={}}var i=a["default"],j=b.tryCatchFinally,k=[];c.subscribers=k;var l={},m=function(a){for(var b,c=[],d=0,e=k.length;e>d;d++)b=k[d],b.regex.test(a)&&c.push(b.object);return l[a]=c,c},n=function(){var a="undefined"!=typeof window?window.performance||{}:{},b=a.now||a.mozNow||a.webkitNow||a.msNow||a.oNow;return b?b.bind(a):function(){return+new Date}}();c.instrument=d,c._instrumentStart=e,c.subscribe=f,c.unsubscribe=g,c.reset=h}),a("ember-metal/is_blank",["ember-metal/is_empty","exports"],function(a,b){"use strict";var c=a["default"];b["default"]=function(a){return c(a)||"string"==typeof a&&null===a.match(/\S/)}}),a("ember-metal/is_empty",["ember-metal/property_get","ember-metal/is_none","exports"],function(a,b,c){"use strict";function d(a){var b=f(a);if(b)return b;if("number"==typeof a.size)return!a.size;var c=typeof a;if("object"===c){var d=e(a,"size");if("number"==typeof d)return!d}if("number"==typeof a.length&&"function"!==c)return!a.length;if("object"===c){var g=e(a,"length");if("number"==typeof g)return!g}return!1}var e=a.get,f=b["default"];c["default"]=d}),a("ember-metal/is_none",["exports"],function(a){"use strict";function b(a){return null===a||void 0===a}a["default"]=b}),a("ember-metal/is_present",["ember-metal/is_blank","exports"],function(a,b){"use strict";var c,d=a["default"];c=function(a){return!d(a)},b["default"]=c}),a("ember-metal/keys",["ember-metal/platform","exports"],function(a,b){"use strict";var c=a.canDefineNonEnumerableProperties,d=Object.keys;d&&c||(d=function(){var a=Object.prototype.hasOwnProperty,b=!{toString:null}.propertyIsEnumerable("toString"),c=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],d=c.length;return function(e){if("object"!=typeof e&&("function"!=typeof e||null===e))throw new TypeError("Object.keys called on non-object");var f,g,h=[];for(f in e)"_super"!==f&&0!==f.lastIndexOf("__",0)&&a.call(e,f)&&h.push(f);if(b)for(g=0;d>g;g++)a.call(e,c[g])&&h.push(c[g]);return h}}()),b["default"]=d}),a("ember-metal/libraries",["ember-metal/enumerable_utils","exports"],function(a,b){"use strict";var c=a.forEach,d=a.indexOf,e=function(){var a=[],b=0,e=function(b){for(var c=0;c-1&&e.splice(f,1),this.size=e.length,!0}return!1},isEmpty:function(){return 0===this.size},has:function(a){if(0===this.size)return!1;var b=n(a),c=this.presenceSet;return c[b]===!0},forEach:function(a){if("function"!=typeof a&&g(a),0!==this.size){var b,c=this.list,d=arguments.length;if(2===d)for(b=0;bg;g++)d=e[g],a[d]=b[d];return a}}),a("ember-metal/mixin",["ember-metal/core","ember-metal/merge","ember-metal/array","ember-metal/platform","ember-metal/property_get","ember-metal/property_set","ember-metal/utils","ember-metal/expand_properties","ember-metal/properties","ember-metal/computed","ember-metal/binding","ember-metal/observer","ember-metal/events","exports"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n){function o(){var a,b=this.__nextSuper;if(b){for(var c=new Array(arguments.length),d=0,e=c.length;e>d;d++)c[d]=arguments[d];this.__nextSuper=null,a=cb(this,b,c),this.__nextSuper=b}return a}function p(a){var b=_(a,!0),c=b.mixins;return c?b.hasOwnProperty("mixins")||(c=b.mixins=W(c)):c=b.mixins={},c}function q(a){return"function"==typeof a&&a.isMethod!==!1&&a!==Boolean&&a!==Object&&a!==Number&&a!==Array&&a!==Date&&a!==String}function r(a,b){var c;return b instanceof I?(c=$(b),a[c]?rb:(a[c]=b,b.properties)):b}function s(a,b,c,d){var e;return e=c[a]||d[a],b[a]&&(e=e?e.concat(b[a]):b[a]),e}function t(a,b,c,d,e){var f;return void 0===d[b]&&(f=e[b]),f=f||a.descs[b],void 0!==f&&f instanceof hb?(c=W(c),c.func=ab(c.func,f.func),c):c}function u(a,b,c,d,e){var f;if(void 0===e[b]&&(f=d[b]),f=f||a[b],void 0===f||"function"!=typeof f)return c;var g;return sb&&(g=c.__hasSuper,void 0===g&&(g=c.toString().indexOf("_super")>-1,c.__hasSuper=g)),sb===!1||g?ab(c,f):c}function v(a,b,c,d){var e=d[b]||a[b];return e?"function"==typeof e.concat?null===c||void 0===c?e:e.concat(c):bb(e).concat(c):bb(c)}function w(a,b,c,d){var e=d[b]||a[b];if(S.assert("You passed in `"+JSON.stringify(c)+"` as the value for `"+b+"` but `"+b+"` cannot be an Array",!db(c)),!e)return c;var f=T({},e),g=!1;for(var h in c)if(c.hasOwnProperty(h)){var i=c[h];q(i)?(g=!0,f[h]=u(a,h,i,e,{})):f[h]=i}return g&&(f._super=o),f}function x(a,b,c,d,e,f,g,h){if(c instanceof fb){if(c===R&&e[b])return rb;c.func&&(c=t(d,b,c,f,e)),e[b]=c,f[b]=void 0}else g&&U.call(g,b)>=0||"concatenatedProperties"===b||"mergedProperties"===b?c=v(a,b,c,f):h&&U.call(h,b)>=0?c=w(a,b,c,f):q(c)&&(c=u(a,b,c,f,e)),e[b]=void 0,f[b]=c}function y(a,b,c,d,e,f){function g(a){delete c[a],delete d[a]}for(var h,i,j,k,l,m,n=0,o=a.length;o>n;n++)if(h=a[n],S.assert("Expected hash or Mixin instance, got "+Object.prototype.toString.call(h),"object"==typeof h&&null!==h&&"[object Array]"!==Object.prototype.toString.call(h)),i=r(b,h),i!==rb)if(i){m=_(e),e.willMergeMixin&&e.willMergeMixin(i),k=s("concatenatedProperties",i,d,e),l=s("mergedProperties",i,d,e);for(j in i)i.hasOwnProperty(j)&&(f.push(j),x(e,j,i[j],m,c,d,k,l));i.hasOwnProperty("toString")&&(e.toString=i.toString)}else h.mixins&&(y(h.mixins,b,c,d,e,f),h._without&&V.call(h._without,g))}function z(a,b,c,d){if(tb.test(b)){var e=d.bindings;e?d.hasOwnProperty("bindings")||(e=d.bindings=W(d.bindings)):e=d.bindings={},e[b]=c}}function A(a,b,c){var d=function(c){nb(a,b,null,e,function(){Z(a,b,c.value())})},e=function(){c.setValue(X(a,b),d)};Y(a,b,c.value()),jb(a,b,null,e),c.subscribe(d),void 0===a._streamBindingSubscriptions&&(a._streamBindingSubscriptions=W(null)),a._streamBindingSubscriptions[b]=d}function B(a,b){var c,d,e,f=b.bindings;if(f){for(c in f)if(d=f[c]){if(e=c.slice(0,-7),d.isStream){A(a,e,d);continue}d instanceof ib?(d=d.copy(),d.to(e)):d=new ib(e,d),d.connect(a),a[c]=d}b.bindings={}}}function C(a,b){return B(a,b||_(a)),a}function D(a,b,c,d,e){var f,g=b.methodName;return d[g]||e[g]?(f=e[g],b=d[g]):c.descs[g]?(b=c.descs[g],f=void 0):(b=void 0,f=a[g]),{desc:b,value:f}}function E(a,b,c,d,e){var f=c[d];if(f)for(var g=0,h=f.length;h>g;g++)e(a,f[g],null,b)}function F(a,b,c){var d=a[b];"function"==typeof d&&(E(a,b,d,"__ember_observesBefore__",mb),E(a,b,d,"__ember_observes__",kb),E(a,b,d,"__ember_listens__",pb)),"function"==typeof c&&(E(a,b,c,"__ember_observesBefore__",lb),E(a,b,c,"__ember_observes__",jb),E(a,b,c,"__ember_listens__",ob))}function G(a,b,c){var d,e,f,g={},h={},i=_(a),j=[];a._super=o,y(b,p(a),g,h,a,j);for(var k=0,l=j.length;l>k;k++)if(d=j[k],"constructor"!==d&&h.hasOwnProperty(d)&&(f=g[d],e=h[d],f!==R)){for(;f&&f instanceof M;){var m=D(a,f,i,g,h);f=m.desc,e=m.value}(void 0!==f||void 0!==e)&&(F(a,d,e),z(a,d,e,i),gb(a,d,f,e,i))}return c||C(a,i),a}function H(a){var b=qb.call(arguments,1);return G(a,b,!1),a}function I(a,b){this.properties=b;var c=a&&a.length;if(c>0){for(var d=new Array(c),e=0;c>e;e++){var f=a[e];d[e]=f instanceof I?f:new I(void 0,f)}this.mixins=d}else this.mixins=void 0;this.ownerConstructor=void 0}function J(a,b,c){var d=$(a);if(c[d])return!1;if(c[d]=!0,a===b)return!0;for(var e=a.mixins,f=e?e.length:0;--f>=0;)if(J(e[f],b,c))return!0;return!1}function K(a,b,c){if(!c[$(b)])if(c[$(b)]=!0,b.properties){var d=b.properties;for(var e in d)d.hasOwnProperty(e)&&(a[e]=!0)}else b.mixins&&V.call(b.mixins,function(b){K(a,b,c)})}function L(){return R}function M(a){this.methodName=a}function N(a){return new M(a)}function O(){var a,b=qb.call(arguments,-1)[0],c=function(b){a.push(b)},d=qb.call(arguments,0,-1);"function"!=typeof b&&(b=arguments[0],d=qb.call(arguments,1)),a=[];for(var e=0;ea;a++){var c=arguments[a];S.assert("Immediate observers must observe internal properties only, not properties on other objects.","string"!=typeof c||-1===c.indexOf("."))}return O.apply(this,arguments)}function Q(){var a,b=qb.call(arguments,-1)[0],c=function(b){a.push(b)},d=qb.call(arguments,0,-1);"function"!=typeof b&&(b=arguments[0],d=qb.call(arguments,1)),a=[];for(var e=0;e-1,tb=/^.+Binding$/;n.mixin=H,n["default"]=I,I._apply=G,I.applyPartial=function(a){var b=qb.call(arguments,1);return G(a,b,!0)},I.finishPartial=C,S.anyUnprocessedMixins=!1,I.create=function(){S.anyUnprocessedMixins=!0;for(var a=this,b=arguments.length,c=new Array(b),d=0;b>d;d++)c[d]=arguments[d];return new a(c,void 0)};var ub=I.prototype;ub.reopen=function(){var a;this.properties?(a=new I(void 0,this.properties),this.properties=void 0,this.mixins=[a]):this.mixins||(this.mixins=[]);var b,c=arguments.length,d=this.mixins;for(b=0;c>b;b++)a=arguments[b],S.assert("Expected hash or Mixin instance, got "+Object.prototype.toString.call(a),"object"==typeof a&&null!==a&&"[object Array]"!==Object.prototype.toString.call(a)),d.push(a instanceof I?a:new I(void 0,a));return this},ub.apply=function(a){return G(a,[this],!1)},ub.applyPartial=function(a){return G(a,[this],!0)},ub.detect=function(a){if(!a)return!1;if(a instanceof I)return J(a,this,{});var b=a.__ember_meta__,c=b&&b.mixins;return c?!!c[$(this)]:!1},ub.without=function(){var a=new I([this]);return a._without=qb.call(arguments),a},ub.keys=function(){var a={},b={},c=[];K(a,this,b);for(var d in a)a.hasOwnProperty(d)&&c.push(d);return c},I.mixins=function(a){var b=a.__ember_meta__,c=b&&b.mixins,d=[];if(!c)return d;for(var e in c){var f=c[e];f.properties||d.push(f)}return d},R=new fb,R.toString=function(){return"(Required Property)"},n.required=L,M.prototype=new fb,n.aliasMethod=N,n.observer=O,n.immediateObserver=P,n.beforeObserver=Q,n.IS_BINDING=tb,n.Mixin=I}),a("ember-metal/observer",["ember-metal/watching","ember-metal/array","ember-metal/events","exports"],function(a,b,c,d){"use strict";function e(a){return a+y}function f(a){return a+z}function g(a,b,c,d){return u(a,e(b),c,d),q(a,b),this}function h(a,b){return t(a,e(b))}function i(a,b,c,d){return r(a,b),v(a,e(b),c,d),this}function j(a,b,c,d){return u(a,f(b),c,d),q(a,b),this}function k(a,b,c,d,e){return x(a,f(b),c,d,e)}function l(a,b,c,d,f){return x(a,e(b),c,d,f)}function m(a,b,c,d,e){var g=s.call(b,f);return w(a,g,c,d,e)}function n(a,b,c,d,f){var g=s.call(b,e);return w(a,g,c,d,f)}function o(a,b){return t(a,f(b))}function p(a,b,c,d){return r(a,b),v(a,f(b),c,d),this}var q=a.watch,r=a.unwatch,s=b.map,t=c.listenersFor,u=c.addListener,v=c.removeListener,w=c.suspendListeners,x=c.suspendListener,y=":change",z=":before";d.addObserver=g,d.observersFor=h,d.removeObserver=i,d.addBeforeObserver=j,d._suspendBeforeObserver=k,d._suspendObserver=l,d._suspendBeforeObservers=m,d._suspendObservers=n,d.beforeObserversFor=o,d.removeBeforeObserver=p}),a("ember-metal/observer_set",["ember-metal/utils","ember-metal/events","exports"],function(a,b,c){"use strict";function d(){this.clear()}var e=a.guidFor,f=b.sendEvent;c["default"]=d,d.prototype.add=function(a,b,c){var d,f=this.observerSet,g=this.observers,h=e(a),i=f[h];return i||(f[h]=i={}),d=i[b],void 0===d&&(d=g.push({sender:a,keyName:b,eventName:c,listeners:[]})-1,i[b]=d),g[d].listeners},d.prototype.flush=function(){var a,b,c,d,e=this.observers;for(this.clear(),a=0,b=e.length;b>a;++a)c=e[a],d=c.sender,d.isDestroying||d.isDestroyed||f(d,c.eventName,[d,c.keyName],c.listeners)},d.prototype.clear=function(){this.observerSet={},this.observers=[]}}),a("ember-metal/path_cache",["ember-metal/cache","exports"],function(a,b){"use strict";function c(a){return m.get(a)}function d(a){return n.get(a)}function e(a){return o.get(a)}function f(a){return-1!==p.get(a)}function g(a){return q.get(a)}function h(a){return r.get(a)}var i=a["default"],j=/^([A-Z$]|([0-9][A-Z$]))/,k=/^([A-Z$]|([0-9][A-Z$])).*[\.]/,l="this.",m=new i(1e3,function(a){return j.test(a)}),n=new i(1e3,function(a){return k.test(a)}),o=new i(1e3,function(a){return-1!==a.indexOf(l)}),p=new i(1e3,function(a){return a.indexOf(".")}),q=new i(1e3,function(a){var b=p.get(a);return-1===b?a:a.slice(0,b)}),r=new i(1e3,function(a){var b=p.get(a);return-1!==b?a.slice(b+1):void 0}),s={isGlobalCache:m,isGlobalPathCache:n,hasThisCache:o,firstDotIndexCache:p,firstKeyCache:q,tailPathCache:r};b.caches=s,b.isGlobal=c,b.isGlobalPath=d,b.hasThis=e,b.isPath=f,b.getFirstKey=g,b.getTailPath=h}),a("ember-metal/platform",["ember-metal/platform/define_property","ember-metal/platform/define_properties","ember-metal/platform/create","exports"],function(a,b,c,d){"use strict";var e=a.hasES5CompliantDefineProperty,f=a.defineProperty,g=b["default"],h=c["default"],i=e,j=e;d.create=h,d.defineProperty=f,d.defineProperties=g,d.hasPropertyAccessors=i,d.canDefineNonEnumerableProperties=j}),a("ember-metal/platform/create",["exports"],function(a){var b;if(!Object.create||Object.create(null).hasOwnProperty){var c,d=!({__proto__:null}instanceof Object);c=d||"undefined"==typeof document?function(){return{__proto__:null}}:function(){function a(){}var b=document.createElement("iframe"),d=document.body||document.documentElement;b.style.display="none",d.appendChild(b),b.src="javascript:";var e=b.contentWindow.Object.prototype;return d.removeChild(b),b=null,delete e.constructor,delete e.hasOwnProperty,delete e.propertyIsEnumerable,delete e.isPrototypeOf,delete e.toLocaleString,delete e.toString,delete e.valueOf,a.prototype=e,c=function(){return new a},new a},b=Object.create=function(a,b){function d(){}var e;if(null===a)e=c();else{if("object"!=typeof a&&"function"!=typeof a)throw new TypeError("Object prototype may only be an Object or null");d.prototype=a,e=new d}return void 0!==b&&Object.defineProperties(e,b),e}}else b=Object.create;a["default"]=b}),a("ember-metal/platform/define_properties",["ember-metal/platform/define_property","exports"],function(a,b){"use strict";var c=a.defineProperty,d=Object.defineProperties;d||(d=function(a,b){for(var d in b)b.hasOwnProperty(d)&&"__proto__"!==d&&c(a,d,b[d]);return a},Object.defineProperties=d),b["default"]=d}),a("ember-metal/platform/define_property",["exports"],function(a){"use strict";var b=function(a){if(a)try{var b=5,c={};if(a(c,"a",{configurable:!0,enumerable:!0,get:function(){return b},set:function(a){b=a}}),5!==c.a)return;if(c.a=10,10!==b)return;a(c,"a",{configurable:!0,enumerable:!1,writable:!0,value:!0});for(var d in c)if("a"===d)return;if(c.a!==!0)return;return a}catch(e){return}}(Object.defineProperty),c=!!b;if(c&&"undefined"!=typeof document){var d=function(){try{return b(document.createElement("div"),"definePropertyOnDOM",{}),!0}catch(a){}return!1}();d||(b=function(a,b,c){var d;return d="object"==typeof Node?a instanceof Node:"object"==typeof a&&"number"==typeof a.nodeType&&"string"==typeof a.nodeName,d?a[b]=c.value:Object.defineProperty(a,b,c)})}c||(b=function(a,b,c){c.get||(a[b]=c.value)}),a.hasES5CompliantDefineProperty=c,a.defineProperty=b}),a("ember-metal/properties",["ember-metal/core","ember-metal/utils","ember-metal/platform","ember-metal/property_events","exports"],function(a,b,c,d,e){"use strict";function f(){}function g(a){return function(b){j.assert("You must use Ember.set() to set the `"+a+"` property (of "+this+") to `"+b+"`.",!1)}}function h(a){return function(){var b=this.__ember_meta__;return b&&b.values[a]}}function i(a,b,c,d,e){var i,j,o,p;e||(e=k(a)),i=e.descs,j=e.descs[b];var q=e.watching[b];return o=void 0!==q&&q>0,j instanceof f&&j.teardown(a,b),c instanceof f?(p=c,i[b]=c,o&&m?l(a,b,{configurable:!0,enumerable:!0,writable:!0,value:void 0}):a[b]=void 0,c.setup&&c.setup(a,b)):(i[b]=void 0,null==c?(p=d,o&&m?(e.values[b]=d,l(a,b,{configurable:!0,enumerable:!0,set:g(b),get:h(b)})):a[b]=d):(p=c,l(a,b,c))),o&&n(a,b,e),a.didDefineProperty&&a.didDefineProperty(a,b,p),this}var j=a["default"],k=b.meta,l=c.defineProperty,m=c.hasPropertyAccessors,n=d.overrideChains;e.Descriptor=f,e.MANDATORY_SETTER_FUNCTION=g,e.DEFAULT_GETTER_FUNCTION=h,e.defineProperty=i}),a("ember-metal/property_events",["ember-metal/utils","ember-metal/events","ember-metal/observer_set","exports"],function(a,b,c,d){"use strict";function e(a,b){var c=a.__ember_meta__,d=c&&c.watching[b]>0||"length"===b,e=c&&c.proto,f=c&&c.descs[b];d&&e!==a&&(f&&f.willChange&&f.willChange(a,b),g(a,b,c),k(a,b,c),q(a,b))}function f(a,b){var c=a.__ember_meta__,d=c&&c.watching[b]>0||"length"===b,e=c&&c.proto,f=c&&c.descs[b];e!==a&&(f&&f.didChange&&f.didChange(a,b),(d||"length"===b)&&(c&&c.deps&&c.deps[b]&&h(a,b,c),l(a,b,c,!1),r(a,b)))}function g(a,b,c){if(!a.isDestroying){var d;if(c&&c.deps&&(d=c.deps[b])){var f=s,g=!f;g&&(f=s={}),j(e,a,d,b,f,c),g&&(s=null)}}}function h(a,b,c){if(!a.isDestroying){var d;if(c&&c.deps&&(d=c.deps[b])){var e=t,g=!e;g&&(e=t={}),j(f,a,d,b,e,c),g&&(t=null)}}}function i(a){var b=[];for(var c in a)b.push(c);return b}function j(a,b,c,d,e,f){var g,h,j,k,l=u(b),m=e[l];if(m||(m=e[l]={}),!m[d]&&(m[d]=!0,c)){g=i(c);var n=f.descs;for(j=0;jd;d++)g[d].willChange(h);for(d=0,f=h.length;f>d;d+=2)e(h[d],h[d+1])}}function l(a,b,c,d){if(c&&c.hasOwnProperty("chainWatchers")&&c.chainWatchers[b]){var e,g,h=c.chainWatchers[b],i=d?null:[];for(e=0,g=h.length;g>e;e++)h[e].didChange(i);if(!d)for(e=0,g=i.length;g>e;e+=2)f(i[e],i[e+1])}}function m(a,b,c){l(a,b,c,!0)}function n(){C++}function o(){C--,0>=C&&(A.clear(),B.flush())}function p(a,b){n(),v(a,o,b)}function q(a,b){if(!a.isDestroying){var c,d,e=b+":before";C?(c=A.add(a,b,e),d=y(a,e,c),w(a,e,[a,b],d)):w(a,e,[a,b])}}function r(a,b){if(!a.isDestroying){var c,d=b+":change";C?(c=B.add(a,b,d),x(a,d,c)):w(a,d,[a,b])}}var s,t,u=a.guidFor,v=a.tryFinally,w=b.sendEvent,x=b.listenersUnion,y=b.listenersDiff,z=c["default"],A=new z,B=new z,C=0;d.propertyWillChange=e,d.propertyDidChange=f,d.overrideChains=m,d.beginPropertyChanges=n,d.endPropertyChanges=o,d.changeProperties=p}),a("ember-metal/property_get",["ember-metal/core","ember-metal/error","ember-metal/path_cache","ember-metal/platform","exports"],function(a,b,c,d,e){"use strict";function f(a,b){var c,d=m(b),e=!d&&k(b);if((!a||e)&&(a=i.lookup),d&&(b=b.slice(5)),i.deprecate("normalizeTuple will return '"+b+"' as a non-global. This behavior will change in the future (issue #3852)",a===i.lookup||!a||d||e||!k(b+".")),a===i.lookup&&(c=b.match(o)[0],a=p(a,c),b=b.slice(c.length+1)),!b||0===b.length)throw new j("Path cannot be empty");return[a,b]}function g(a,b){var c,d,e,g,h;if(null===a&&!l(b))return p(i.lookup,b);for(c=m(b),(!a||c)&&(e=f(a,b),a=e[0],b=e[1],e.length=0),d=b.split("."),h=d.length,g=0;null!=a&&h>g;g++)if(a=p(a,d[g],!0),a&&a.isDestroyed)return void 0;return a}function h(a,b,c){var d=p(a,b);return void 0===d?c:d}var i=a["default"],j=b["default"],k=c.isGlobalPath,l=c.isPath,m=c.hasThis,n=d.hasPropertyAccessors,o=/^([^\.]+)/,p=function(a,b){if(""===b)return a;if(b||"string"!=typeof a||(b=a,a=null),i.assert("Cannot call get with "+b+" key.",!!b),i.assert("Cannot call get with '"+b+"' on an undefined object.",void 0!==a),null===a){var c=g(a,b);return i.deprecate("Ember.get fetched '"+b+"' from the global context. This behavior will change in the future (issue #3852)",!c||a&&a!==i.lookup||l(b)||k(b+".")),c}var d,e=a.__ember_meta__,f=e&&e.descs[b];return void 0===f&&l(b)?g(a,b):f?f.get(a,b):(d=n&&e&&e.watching[b]>0?e.values[b]:a[b],void 0!==d||"object"!=typeof a||b in a||"function"!=typeof a.unknownProperty?d:a.unknownProperty(b))};i.config.overrideAccessors&&(i.get=p,i.config.overrideAccessors(),p=i.get),e.getWithDefault=h,e["default"]=p,e.get=p,e.normalizeTuple=f,e._getPath=g}),a("ember-metal/property_set",["ember-metal/core","ember-metal/property_get","ember-metal/property_events","ember-metal/properties","ember-metal/error","ember-metal/path_cache","ember-metal/platform","exports"],function(a,b,c,d,e,f,g,h){"use strict";function i(a,b,c,d){var e;if(e=b.slice(b.lastIndexOf(".")+1),b=b===e?e:b.slice(0,b.length-(e.length+1)),"this"!==b&&(a=l(a,b)),!e||0===e.length)throw new p("Property set failed: You passed an empty path");if(!a){if(d)return;throw new p('Property set failed: object in path "'+b+'" could not be found or was destroyed.')}return t(a,e,c)}function j(a,b,c){return t(a,b,c,!0)}var k=a["default"],l=b._getPath,m=c.propertyWillChange,n=c.propertyDidChange,o=d.defineProperty,p=e["default"],q=f.isPath,r=g.hasPropertyAccessors,s=/^([A-Z$]|([0-9][A-Z$]))/,t=function(a,b,c,d){if("string"==typeof a&&(k.assert("Path '"+a+"' must be global if no obj is given.",s.test(a)),c=b,b=a,a=null),k.assert("Cannot call set with "+b+" key.",!!b),!a)return i(a,b,c,d);var e,f,g=a.__ember_meta__,h=g&&g.descs[b];if(void 0===h&&q(b))return i(a,b,c,d);if(k.assert("You need to provide an object and key to `set`.",!!a&&void 0!==b),k.assert("calling set on destroyed object",!a.isDestroyed),void 0!==h)h.set(a,b,c);else{if("object"==typeof a&&null!==a&&void 0!==c&&a[b]===c)return c;e="object"==typeof a&&!(b in a),e&&"function"==typeof a.setUnknownProperty?a.setUnknownProperty(b,c):g&&g.watching[b]>0?(f=r?g.values[b]:a[b],c!==f&&(m(a,b),r?(void 0!==f||b in a)&&Object.prototype.propertyIsEnumerable.call(a,b)?g.values[b]=c:o(a,b,null,c):a[b]=c,n(a,b))):a[b]=c}return c};k.config.overrideAccessors&&(k.set=t,k.config.overrideAccessors(),t=k.set),h.trySet=j,h.set=t}),a("ember-metal/run_loop",["ember-metal/core","ember-metal/utils","ember-metal/array","ember-metal/property_events","backburner","exports"],function(a,b,c,d,e,f){"use strict";function g(a){i.currentRunLoop=a}function h(a,b){i.currentRunLoop=b}function i(){return r.run.apply(r,arguments)}function j(){i.currentRunLoop||k.assert("You have turned on testing mode, which disabled the run-loop's autorun. You will need to wrap any code with asynchronous side-effects in an run",!k.testing)}var k=a["default"],l=b.apply,m=b.GUID_KEY,n=c.indexOf,o=d.beginPropertyChanges,p=d.endPropertyChanges,q=e["default"],r=new q(["sync","actions","destroy"],{GUID_KEY:m,sync:{before:o,after:p},defaultQueue:"actions",onBegin:g,onEnd:h,onErrorTarget:k,onErrorMethod:"onerror"}),s=[].slice;f["default"]=i,i.join=function(){return r.join.apply(r,arguments)},i.bind=function(){var a=s.call(arguments);return function(){return i.join.apply(i,a.concat(s.call(arguments)))}},i.backburner=r,i.currentRunLoop=null,i.queues=r.queueNames,i.begin=function(){r.begin()},i.end=function(){r.end()},i.schedule=function(){j(),r.schedule.apply(r,arguments)},i.hasScheduledTimers=function(){return r.hasTimers()},i.cancelTimers=function(){r.cancelTimers()},i.sync=function(){r.currentInstance&&r.currentInstance.queues.sync.flush()},i.later=function(){return r.later.apply(r,arguments)},i.once=function(){j();var a=arguments.length,b=new Array(a);b[0]="actions";for(var c=0;a>c;c++)b[c+1]=arguments[c];return l(r,r.scheduleOnce,b)},i.scheduleOnce=function(){return j(),r.scheduleOnce.apply(r,arguments)},i.next=function(){var a=s.call(arguments);return a.push(1),l(r,r.later,a)},i.cancel=function(a){return r.cancel(a)},i.debounce=function(){return r.debounce.apply(r,arguments)},i.throttle=function(){return r.throttle.apply(r,arguments)},i._addQueue=function(a,b){-1===n.call(i.queues,a)&&i.queues.splice(n.call(i.queues,b)+1,0,a)}}),a("ember-metal/set_properties",["ember-metal/property_events","ember-metal/property_set","ember-metal/keys","exports"],function(a,b,c,d){"use strict";var e=a.changeProperties,f=b.set,g=c["default"];d["default"]=function(a,b){return b&&"object"==typeof b?(e(function(){for(var c,d=g(b),e=0,h=d.length;h>e;e++)c=d[e],f(a,c,b[c])}),a):a}}),a("ember-metal/streams/read",["exports"],function(a){"use strict";function b(a){return a&&a.isStream?a.value():a}function c(a){for(var c=a.length,d=new Array(c),e=0;c>e;e++)d[e]=b(a[e]);return d}function d(a){var c={};for(var d in a)c[d]=b(a[d]);return c}a.read=b,a.readArray=c,a.readHash=d}),a("ember-metal/streams/simple",["ember-metal/merge","ember-metal/streams/stream","ember-metal/platform","ember-metal/streams/read","exports"],function(a,b,c,d,e){"use strict";function f(a){this.source=a,a&&a.isStream&&a.subscribe(this._didChange,this)}var g=a["default"],h=b["default"],i=c.create,j=d.read;f.prototype=i(h.prototype),g(f.prototype,{valueFn:function(){return j(this.source)},setValue:function(a){var b=this.source;b&&b.isStream&&b.setValue(a)},setSource:function(a){var b=this.source;a!==b&&(b&&b.isStream&&b.unsubscribe(this._didChange,this),a&&a.isStream&&a.subscribe(this._didChange,this),this.source=a,this.notify())},_didChange:function(){this.notify()},destroy:function(){this.source&&this.source.isStream&&this.source.unsubscribe(this._didChange,this),this.source=void 0,h.prototype.destroy.call(this)}}),e["default"]=f}),a("ember-metal/streams/stream",["ember-metal/platform","ember-metal/path_cache","exports"],function(a,b,c){"use strict";function d(a){this.valueFn=a,this.cache=h,this.subscribers=void 0,this.children=void 0,this.destroyed=!1}var e=a.create,f=b.getFirstKey,g=b.getTailPath,h=function(){};d.prototype={isStream:!0,cache:h,get:function(a){var b=f(a),c=g(a);void 0===this.children&&(this.children=e(null));var d=this.children[b];return void 0===d&&(d=this._makeChildStream(b,a),this.children[b]=d),void 0===c?d:d.get(c)},value:function(){return this.cache!==h?this.cache:this.cache=this.valueFn()},setValue:function(){throw new Error("Stream error: setValue not implemented")},notify:function(){this.notifyExcept()},notifyExcept:function(a,b){this.cache!==h&&(this.cache=h,this.notifySubscribers(a,b))},subscribe:function(a,b){void 0===this.subscribers?this.subscribers=[a,b]:this.subscribers.push(a,b)},unsubscribe:function(a,b){var c=this.subscribers;if(void 0!==c)for(var d=0,e=c.length;e>d;d+=2)if(c[d]===a&&c[d+1]===b)return void c.splice(d,2)},notifySubscribers:function(a,b){var c=this.subscribers;if(void 0!==c)for(var d=0,e=c.length;e>d;d+=2){var f=c[d],g=c[d+1];(f!==a||g!==b)&&(void 0===g?f(this):f.call(g,this))}},destroy:function(){if(!this.destroyed){this.destroyed=!0;var a=this.children;for(var b in a)a[b].destroy()}},isGlobal:function(){for(var a=this;void 0!==a;){if(a._isRoot)return a._isGlobal;a=a.source -}}},c["default"]=d}),a("ember-metal/streams/stream_binding",["ember-metal/platform","ember-metal/merge","ember-metal/run_loop","ember-metal/streams/stream","exports"],function(a,b,c,d,f){"use strict";function g(a){e.assert("StreamBinding error: tried to bind to object that is not a stream",a&&a.isStream),this.stream=a,this.senderCallback=void 0,this.senderContext=void 0,this.senderValue=void 0,this.destroyed=!1,a.subscribe(this._onNotify,this)}var h=a.create,i=b["default"],j=c["default"],k=d["default"];g.prototype=h(k.prototype),i(g.prototype,{valueFn:function(){return this.stream.value()},_onNotify:function(){this._scheduleSync(void 0,void 0,this)},setValue:function(a,b,c){this._scheduleSync(a,b,c)},_scheduleSync:function(a,b,c){void 0===this.senderCallback&&void 0===this.senderContext?(this.senderCallback=b,this.senderContext=c,this.senderValue=a,j.schedule("sync",this,this._sync)):this.senderContext!==this&&(this.senderCallback=b,this.senderContext=c,this.senderValue=a)},_sync:function(){if(!this.destroyed){this.senderContext!==this&&this.stream.setValue(this.senderValue);var a=this.senderCallback,b=this.senderContext;this.senderCallback=void 0,this.senderContext=void 0,this.senderValue=void 0,this.cache=void 0,this.notifyExcept(a,b)}},destroy:function(){this.destroyed||(this.destroyed=!0,this.stream.unsubscribe(this._onNotify,this))}}),f["default"]=g}),a("ember-metal/utils",["ember-metal/core","ember-metal/platform","ember-metal/array","exports"],function(a,b,c,d){function e(){return++C}function f(a){var b={};b[a]=1;for(var c in b)if(c===a)return c;return a}function g(a,b){b||(b=D);var c=b+e();return a&&(null===a[G]?a[G]=c:(H.value=c,x(a,G,H))),c}function h(a){if(void 0===a)return"(undefined)";if(null===a)return"(null)";var b,c=typeof a;switch(c){case"number":return b=E[a],b||(b=E[a]="nu"+a),b;case"string":return b=F[a],b||(b=F[a]="st"+e()),b;case"boolean":return a?"(true)":"(false)";default:return a[G]?a[G]:a===Object?"(Object)":a===Array?"(Array)":(b=D+e(),null===a[G]?a[G]=b:(H.value=b,x(a,G,H)),b)}}function i(a){this.descs={},this.watching={},this.cache={},this.cacheMeta={},this.source=a,this.deps=void 0,this.listeners=void 0,this.mixins=void 0,this.bindings=void 0,this.chains=void 0,this.values=void 0,this.proto=void 0}function j(a,b){var c=a.__ember_meta__;return b===!1?c||J:(c?c.source!==a&&(y&&x(a,"__ember_meta__",I),c=A(c),c.descs=A(c.descs),c.watching=A(c.watching),c.cache={},c.cacheMeta={},c.source=a,z&&(c.values=A(c.values)),a.__ember_meta__=c):(y&&x(a,"__ember_meta__",I),c=new i(a),z&&(c.values={}),a.__ember_meta__=c,c.descs.constructor=null),c)}function k(a,b){var c=j(a,!1);return c[b]}function l(a,b,c){var d=j(a,!0);return d[b]=c,c}function m(a,b,c){w.deprecate("Ember.metaPath is deprecated and will be removed from future releases.");for(var d,e,f=j(a,c),g=0,h=b.length;h>g;g++){if(d=b[g],e=f[d]){if(e.__ember_source__!==a){if(!c)return void 0;e=f[d]=A(e),e.__ember_source__=a}}else{if(!c)return void 0;e=f[d]={__ember_source__:a}}f=e}return e}function n(a,b){function c(){for(var c,d=this&&this.__nextSuper,e=new Array(arguments.length),f=0,g=e.length;g>f;f++)e[f]=arguments[f];return this&&(this.__nextSuper=b),c=u(this,a,e),this&&(this.__nextSuper=d),c}return c.wrappedFunction=a,c.wrappedFunction.__ember_arity__=a.length,c.__ember_observes__=a.__ember_observes__,c.__ember_observesBefore__=a.__ember_observesBefore__,c.__ember_listens__=a.__ember_listens__,c}function o(a){var b,c;return"undefined"==typeof K&&(b="ember-runtime/mixins/array",w.__loader.registry[b]&&(K=w.__loader.require(b)["default"])),!a||a.setInterval?!1:Array.isArray&&Array.isArray(a)?!0:K&&K.detect(a)?!0:(c=s(a),"array"===c?!0:void 0!==a.length&&"object"===c?!0:!1)}function p(a){return null===a||void 0===a?[]:o(a)?a:[a]}function q(a,b){return!(!a||"function"!=typeof a[b])}function r(a,b,c){return q(a,b)?c?v(a,b,c):v(a,b):void 0}function s(a){var b,c;return"undefined"==typeof Q&&(c="ember-runtime/system/object",w.__loader.registry[c]&&(Q=w.__loader.require(c)["default"])),b=null===a||void 0===a?String(a):O[R.call(a)]||"object","function"===b?Q&&Q.detect(a)&&(b="class"):"object"===b&&(a instanceof Error?b="error":Q&&a instanceof Q?b="instance":a instanceof Date&&(b="date")),b}function t(a){var b=s(a);if("array"===b)return"["+a+"]";if("object"!==b)return a+"";var c,d=[];for(var e in a)if(a.hasOwnProperty(e)){if(c=a[e],"toString"===c)continue;"function"===s(c)&&(c="function() { ... }"),d.push(c&&"function"!=typeof c.toString?e+": "+R.call(c):e+": "+c)}return"{"+d.join(", ")+"}"}function u(a,b,c){var d=c&&c.length;if(!c||!d)return b.call(a);switch(d){case 1:return b.call(a,c[0]);case 2:return b.call(a,c[0],c[1]);case 3:return b.call(a,c[0],c[1],c[2]);case 4:return b.call(a,c[0],c[1],c[2],c[3]);case 5:return b.call(a,c[0],c[1],c[2],c[3],c[4]);default:return b.apply(a,c)}}function v(a,b,c){var d=c&&c.length;if(!c||!d)return a[b]();switch(d){case 1:return a[b](c[0]);case 2:return a[b](c[0],c[1]);case 3:return a[b](c[0],c[1],c[2]);case 4:return a[b](c[0],c[1],c[2],c[3]);case 5:return a[b](c[0],c[1],c[2],c[3],c[4]);default:return a[b].apply(a,c)}}var w=a["default"],x=b.defineProperty,y=b.canDefineNonEnumerableProperties,z=b.hasPropertyAccessors,A=b.create,B=c.forEach,C=0;d.uuid=e;var D="ember",E=[],F={},G=f("__ember"+ +new Date),H={writable:!1,configurable:!1,enumerable:!1,value:null};d.generateGuid=g,d.guidFor=h;var I={writable:!0,configurable:!1,enumerable:!1,value:null};i.prototype={chainWatchers:null},y||(i.prototype.__preventPlainObject__=!0,i.prototype.toJSON=function(){});var J=new i(null);z&&(J.values={}),d.getMeta=k,d.setMeta=l,d.metaPath=m,d.wrap=n;var K;d.makeArray=p,d.tryInvoke=r;var L,M=function(){var a=0;try{try{}finally{throw a++,new Error("needsFinallyFixTest")}}catch(b){}return 1!==a}();L=M?function(a,b,c){var d,e,f;c=c||this;try{d=a.call(c)}finally{try{e=b.call(c)}catch(g){f=g}}if(f)throw f;return void 0===e?d:e}:function(a,b,c){var d,e;c=c||this;try{d=a.call(c)}finally{e=b.call(c)}return void 0===e?d:e};var N;N=M?function(a,b,c,d){var e,f,g;d=d||this;try{e=a.call(d)}catch(h){e=b.call(d,h)}finally{try{f=c.call(d)}catch(i){g=i}}if(g)throw g;return void 0===f?e:f}:function(a,b,c,d){var e,f;d=d||this;try{e=a.call(d)}catch(g){e=b.call(d,g)}finally{f=c.call(d)}return void 0===f?e:f};var O={},P="Boolean Number String Function Array Date RegExp Object".split(" ");B.call(P,function(a){O["[object "+a+"]"]=a.toLowerCase()});var Q,R=Object.prototype.toString;d.inspect=t,d.apply=u,d.applyStr=v,d.GUID_KEY=G,d.META_DESC=I,d.EMPTY_META=J,d.meta=j,d.typeOf=s,d.tryCatchFinally=N,d.isArray=o,d.canInvoke=q,d.tryFinally=L}),a("ember-metal/watch_key",["ember-metal/core","ember-metal/utils","ember-metal/platform","ember-metal/properties","exports"],function(a,b,c,d,e){"use strict";function f(a,b,c){if("length"!==b||"array"!==i(a)){var d=c||h(a),e=d.watching;if(e[b])e[b]=(e[b]||0)+1;else{e[b]=1;var f=d.descs[b];f&&f.willWatch&&f.willWatch(a,b),"function"==typeof a.willWatchProperty&&a.willWatchProperty(b),k&&n(d,a,b)}}}function g(a,b,c){var d=c||h(a),e=d.watching;if(1===e[b]){e[b]=0;var f=d.descs[b];f&&f.didUnwatch&&f.didUnwatch(a,b),"function"==typeof a.didUnwatchProperty&&a.didUnwatchProperty(b),k&&b in a&&j(a,b,{configurable:!0,enumerable:Object.prototype.propertyIsEnumerable.call(a,b),set:function(c){j(a,b,{configurable:!0,writable:!0,enumerable:!0,value:c}),delete d.values[b]},get:m(b)})}else e[b]>1&&e[b]--}var h=(a["default"],b.meta),i=b.typeOf,j=c.defineProperty,k=c.hasPropertyAccessors,l=d.MANDATORY_SETTER_FUNCTION,m=d.DEFAULT_GETTER_FUNCTION;e.watchKey=f;var n=function(a,b,c){var d=Object.getOwnPropertyDescriptor&&Object.getOwnPropertyDescriptor(b,c),e=d?d.configurable:!0;e&&c in b&&(a.values[c]=b[c],j(b,c,{configurable:!0,enumerable:Object.prototype.propertyIsEnumerable.call(b,c),set:l(c),get:m(c)}))};e.unwatchKey=g}),a("ember-metal/watch_path",["ember-metal/utils","ember-metal/chains","exports"],function(a,b,c){"use strict";function d(a,b){var c=b||g(a),d=c.chains;return d?d.value()!==a&&(d=c.chains=d.copy(a)):d=c.chains=new i(null,null,a),d}function e(a,b,c){if("length"!==b||"array"!==h(a)){var e=c||g(a),f=e.watching;f[b]?f[b]=(f[b]||0)+1:(f[b]=1,d(a,e).add(b))}}function f(a,b,c){var e=c||g(a),f=e.watching;1===f[b]?(f[b]=0,d(a,e).remove(b)):f[b]>1&&f[b]--}var g=a.meta,h=a.typeOf,i=b.ChainNode;c.watchPath=e,c.unwatchPath=f}),a("ember-metal/watching",["ember-metal/utils","ember-metal/chains","ember-metal/watch_key","ember-metal/watch_path","ember-metal/path_cache","exports"],function(a,b,c,d,e,f){"use strict";function g(a,b,c){("length"!==b||"array"!==k(a))&&(r(b)?p(a,b,c):n(a,b,c))}function h(a,b){var c=a.__ember_meta__;return(c&&c.watching[b])>0}function i(a,b,c){("length"!==b||"array"!==k(a))&&(r(b)?q(a,b,c):o(a,b,c))}function j(a){var b,c,d,e,f=a.__ember_meta__;if(f&&(a.__ember_meta__=null,b=f.chains))for(s.push(b);s.length>0;){if(b=s.pop(),c=b._chains)for(d in c)c.hasOwnProperty(d)&&s.push(c[d]);b._watching&&(e=b._object,e&&l(e,b._key,b))}}var k=a.typeOf,l=b.removeChainWatcher,m=b.flushPendingChains,n=c.watchKey,o=c.unwatchKey,p=d.watchPath,q=d.unwatchPath,r=e.isPath;f.watch=g,f.isWatching=h,g.flushPending=m,f.unwatch=i;var s=[];f.destroy=j}),a("ember-routing-handlebars",["ember-metal/core","ember-handlebars","ember-routing-handlebars/helpers/link_to","ember-routing-handlebars/helpers/outlet","ember-routing-handlebars/helpers/render","ember-routing-handlebars/helpers/action","exports"],function(a,b,c,d,e,f,g){"use strict";var h=a["default"],i=b["default"],j=c.deprecatedLinkToHelper,k=c.linkToHelper,l=c.LinkView,m=c.queryParamsHelper,n=d.outletHelper,o=d.OutletView,p=e["default"],q=f.ActionHelper,r=f.actionHelper;h.LinkView=l,i.ActionHelper=q,i.OutletView=o,i.registerHelper("render",p),i.registerHelper("action",r),i.registerHelper("outlet",n),i.registerHelper("link-to",k),i.registerHelper("linkTo",j),i.registerHelper("query-params",m),g["default"]=h}),a("ember-routing-handlebars/helpers/action",["ember-metal/core","ember-metal/array","ember-metal/utils","ember-metal/run_loop","ember-views/streams/read","ember-views/system/utils","ember-views/system/action_manager","ember-handlebars","exports"],function(a,b,c,d,e,f,g,h,i){"use strict";function j(a,b){var c,d;if(void 0===b)for(c=new Array(a.length),d=0;dj;j++)h.push("ID"===g[j]?e.getStream(arguments[j]):arguments[j]);var k=t.registerAction(b,i,f.allowedKeys);return new s.SafeString('data-ember-action="'+k+'"')}var l=a["default"],m=b.forEach,n=c.uuid,o=d["default"],p=e.readUnwrappedModel,q=f.isSimpleClick,r=g["default"],s=h["default"],t={};t.registeredActions=r.registeredActions,i.ActionHelper=t;var u=["alt","shift","meta","ctrl"],v=/^click|mouse|touch/,w=function(a,b){if("undefined"==typeof b){if(v.test(a.type))return q(a);b=""}if(b.indexOf("any")>=0)return!0;var c=!0;return m.call(u,function(d){a[d+"Key"]&&-1===b.indexOf(d)&&(c=!1)}),c};t.registerAction=function(a,b,c){var d=n(),e=b.eventName,f=b.parameters;return r.registeredActions[d]={eventName:e,handler:function(d){if(!w(d,c))return!0;b.preventDefault!==!1&&d.preventDefault(),b.bubbles===!1&&d.stopPropagation();var e,g=b.target.value();a.isStream&&(e=a.value(),("undefined"==typeof e||"function"==typeof e)&&(e=a._originalPath,l.deprecate("You specified a quoteless path to the {{action}} helper '"+e+"' which did not resolve to an actionName. Perhaps you meant to use a quoted actionName? (e.g. {{action '"+e+"'}})."))),e||(e=a),o(function(){g.send?g.send.apply(g,j(f,e)):(l.assert("The action '"+e+"' did not exist on "+g,"function"==typeof g[e]),g[e].apply(g,j(f)))})}},b.view.on("willClearRender",function(){delete r.registeredActions[d]}),d},i.actionHelper=k}),a("ember-routing-handlebars/helpers/link_to",["ember-metal/core","ember-metal/property_get","ember-metal/merge","ember-metal/run_loop","ember-metal/computed","ember-runtime/system/string","ember-runtime/system/object","ember-runtime/mixins/controller","ember-metal/keys","ember-views/system/utils","ember-views/views/component","ember-handlebars/helpers/view","ember-routing/utils","ember-handlebars/ext","ember-metal/streams/read","ember-handlebars","exports"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){"use strict";function r(){var a,b=M.call(arguments,-1)[0],c=M.call(arguments,0,-1),d=b.data.view,e=b.hash,f=b.hashTypes,g=b.types,h=!e.unescaped;if(x.assert("You must provide one or more parameters to the link-to helper.",c.length),c[c.length-1]instanceof O&&(e.queryParamsObject=a=c.pop()),e.disabledWhen&&(e.disabledBinding=e.disabledWhen,f.disabledBinding=f.disabledWhen,delete e.disabledWhen,delete f.disabledWhen),!b.fn){var i=c.shift(),j=g.shift();"ID"===j?(e.linkTitle=i=d.getStream(i),b.fn=function(){return K(i.value(),h)}):b.fn=function(){return i}}for(var k=0;kb;++b){var d=a[b];if(null===d||"undefined"==typeof d)return!1}return!0}function w(a,b){var c;for(c in a)if(a.hasOwnProperty(c)&&a[c]!==b[c])return!1;for(c in b)if(b.hasOwnProperty(c)&&a[c]!==b[c])return!1;return!0}var x=a["default"],y=b.get,z=c["default"],A=d["default"],B=e.computed,C=f.fmt,D=g["default"],E=h["default"],F=i["default"],G=j.isSimpleClick,H=k["default"],I=l.viewHelper,J=m.routeArgs,K=n.stringifyValue,L=o.read,M=[].slice,N=function(a,b){for(var c=0,d=0,e=b.length;e>d&&(c+=b[d].names.length,b[d].handler!==a);d++);return c},O=D.extend({values:null}),P=x.LinkView=H.extend({tagName:"a",currentWhen:null,"current-when":null,title:null,rel:null,activeClass:"active",loadingClass:"loading",disabledClass:"disabled",_isDisabled:!1,replace:!1,attributeBindings:["href","title","rel","tabindex"],classNameBindings:["active","loading","disabled"],eventName:"click",init:function(){this._super.apply(this,arguments),x.deprecate("Using currentWhen with {{link-to}} is deprecated in favor of `current-when`.",!this.currentWhen);var a=y(this,"eventName");this.on(a,this,this._invoke)},_paramsChanged:function(){this.notifyPropertyChange("resolvedParams")},_setupPathObservers:function(){var a=this.params,b=this._wrapAsScheduled(this.rerender),c=this._wrapAsScheduled(this._paramsChanged);this.linkTitle&&this.linkTitle.subscribe(b,this);for(var d=0;dh&&(a=g);var i=J(a,d,null),j=b.isActive.apply(b,i);if(!j)return!1;var k=x.isEmpty(x.keys(c.queryParams));if(!f&&!k&&j){var l={};z(l,c.queryParams),b._prepareQueryParams(c.targetRouteName,c.models,l),j=w(l,b.router.state.queryParams)}return j}if(y(this,"loading"))return!1;var b=y(this,"router"),c=y(this,"loadedParams"),d=c.models,e=this["current-when"]||this.currentWhen,f=Boolean(e);e=e||c.targetRouteName,e=e.split(" ");for(var g=0,h=e.length;h>g;g++)if(a(e[g]))return y(this,"activeClass")}),loading:B("loadedParams",function(){return y(this,"loadedParams")?void 0:y(this,"loadingClass")}),router:B(function(){var a=y(this,"controller");return a&&a.container?a.container.lookup("router:main"):void 0}),_invoke:function(a){if(!G(a))return!0;if(this.preventDefault!==!1){var b=y(this,"target");b&&"_self"!==b||a.preventDefault()}if(this.bubbles===!1&&a.stopPropagation(),y(this,"_isDisabled"))return!1;if(y(this,"loading"))return x.Logger.warn("This link-to is in an inactive loading state because at least one of its parameters presently has a null/undefined value, or the provided route name is invalid."),!1;var c=y(this,"target");if(c&&"_self"!==c)return!1;var d=y(this,"router"),e=y(this,"loadedParams"),f=d._doTransition(e.targetRouteName,e.models,e.queryParams);y(this,"replace")&&f.method("replace");var g=J(e.targetRouteName,e.models,f.state.queryParams),h=d.router.generate.apply(d.router,g);A.scheduleOnce("routerTransitions",this,this._eagerUpdateUrl,f,h)},_eagerUpdateUrl:function(a,b){if(a.isActive&&a.urlMethod){0===b.indexOf("#")&&(b=b.slice(1));var c=y(this,"router.router");"update"===a.urlMethod?c.updateURL(b):"replace"===a.urlMethod&&c.replaceURL(b),a.method(null)}},resolvedParams:B("router.url",function(){var a,b=this.params,c=[],d=0===b.length;if(d){var e=this.container.lookup("controller:application");a=y(e,"currentRouteName")}else{a=L(b[0]);for(var f=1;f2){var s=d.lookupFactory(q)||j(d,p,n);f=s.create({modelBinding:c.data.view._getBindingForStream(b),parentController:r,target:r}),m.one("willDestroyElement",function(){f.destroy()})}else f=d.lookup(q)||k(d,p),f.setProperties({target:r,parentController:r});c.hash.viewName=i(a);var t="template:"+a;g.assert("You used `{{render '"+a+"'}}`, but '"+a+"' can not be found as either a template or a view.",d.has("view:"+a)||d.has(t)||c.fn),c.hash.template=d.lookup(t),c.hash.controller=f,e&&!n&&e._connectActiveView(a,m),c.helperName=c.helperName||'render "'+a+'"',l.instanceHelper(this,m,c)}}),a("ember-routing",["ember-metal/core","ember-routing/ext/run_loop","ember-routing/ext/controller","ember-routing/ext/view","ember-routing/location/api","ember-routing/location/none_location","ember-routing/location/hash_location","ember-routing/location/history_location","ember-routing/location/auto_location","ember-routing/system/generate_controller","ember-routing/system/controller_for","ember-routing/system/dsl","ember-routing/system/router","ember-routing/system/route","exports"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){"use strict";var p=a["default"],q=e["default"],r=f["default"],s=g["default"],t=h["default"],u=i["default"],v=j.generateControllerFactory,w=j["default"],x=k["default"],y=l["default"],z=m["default"],A=n["default"];p.Location=q,p.AutoLocation=u,p.HashLocation=s,p.HistoryLocation=t,p.NoneLocation=r,p.controllerFor=x,p.generateControllerFactory=v,p.generateController=w,p.RouterDSL=y,p.Router=z,p.Route=A,o["default"]=p}),a("ember-routing/ext/controller",["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/computed","ember-metal/utils","ember-metal/merge","ember-runtime/mixins/controller","exports"],function(a,b,c,d,e,f,g,h){"use strict";function i(a,b){var c,d=a;"string"===o(d)&&(c={},c[d]={as:null},d=c);for(var e in d){if(!d.hasOwnProperty(e))return;var f=d[e];"string"===o(f)&&(f={as:f}),c=b[e]||{as:null,scope:"model"},q(c,f),b[e]=c}}function j(a){var b=l(a,"_normalizedQueryParams");for(var c in b)b.hasOwnProperty(c)&&a.addObserver(c+".[]",a,a._qpChanged)}var k=a["default"],l=b.get,m=c.set,n=d.computed,o=e.typeOf,p=e.meta,q=f["default"],r=g["default"];r.reopen({concatenatedProperties:["queryParams","_pCacheMeta"],init:function(){this._super.apply(this,arguments),j(this)},queryParams:null,_qpDelegate:null,_normalizedQueryParams:n(function(){var a=p(this);if(a.proto!==this)return l(a.proto,"_normalizedQueryParams");var b=l(this,"queryParams");if(b._qpMap)return b._qpMap;for(var c=b._qpMap={},d=0,e=b.length;e>d;++d)i(b[d],c);return c}),_cacheMeta:n(function(){var a=p(this);if(a.proto!==this)return l(a.proto,"_cacheMeta");var b={},c=l(this,"_normalizedQueryParams");for(var d in c)if(c.hasOwnProperty(d)){var e,f=c[d],g=f.scope;"controller"===g&&(e=[]),b[d]={parts:e,values:null,scope:g,prefix:"",def:l(this,d)}}return b}),_updateCacheParams:function(a){var b=l(this,"_cacheMeta");for(var c in b)if(b.hasOwnProperty(c)){var d=b[c];d.values=a;var e=this._calculateCacheKey(d.prefix,d.parts,d.values),f=this._bucketCache;if(f){var g=f.lookup(e,c,d.def);m(this,c,g)}}},_qpChanged:function(a,b){var c=b.substr(0,b.length-3),d=l(a,"_cacheMeta"),e=d[c],f=a._calculateCacheKey(e.prefix||"",e.parts,e.values),g=l(a,c),h=this._bucketCache;h&&a._bucketCache.stash(f,c,g);var i=a._qpDelegate;i&&i(a,c)},_calculateCacheKey:function(a,b,c){for(var d=b||[],e="",f=0,g=d.length;g>f;++f){var h=d[f],i=l(c,h);e+="::"+h+":"+i}return a+e.replace(s,"-")},transitionToRoute:function(){var a=l(this,"target"),b=a.transitionToRoute||a.transitionTo;return b.apply(a,arguments)},transitionTo:function(){return k.deprecate("transitionTo is deprecated. Please use transitionToRoute."),this.transitionToRoute.apply(this,arguments)},replaceRoute:function(){var a=l(this,"target"),b=a.replaceRoute||a.replaceWith;return b.apply(a,arguments)},replaceWith:function(){return k.deprecate("replaceWith is deprecated. Please use replaceRoute."),this.replaceRoute.apply(this,arguments)}});var s=/\./g;h["default"]=r}),a("ember-routing/ext/run_loop",["ember-metal/run_loop"],function(a){"use strict";var b=a["default"];b._addQueue("routerTransitions","actions")}),a("ember-routing/ext/view",["ember-metal/property_get","ember-metal/property_set","ember-metal/run_loop","ember-views/views/view","exports"],function(a,b,c,d,e){"use strict";var f=a.get,g=b.set,h=c["default"],i=d["default"];i.reopen({init:function(){this._outlets={},this._super()},connectOutlet:function(a,b){if(this._pendingDisconnections&&delete this._pendingDisconnections[a],this._hasEquivalentView(a,b))return void b.destroy();var c=f(this,"_outlets"),d=f(this,"container"),e=d&&d.lookup("router:main"),h=f(b,"renderedName");g(c,a,b),e&&h&&e._connectActiveView(h,b)},_hasEquivalentView:function(a,b){var c=f(this,"_outlets."+a);return c&&c.constructor===b.constructor&&c.get("template")===b.get("template")&&c.get("context")===b.get("context")},disconnectOutlet:function(a){this._pendingDisconnections||(this._pendingDisconnections={}),this._pendingDisconnections[a]=!0,h.once(this,"_finishDisconnections")},_finishDisconnections:function(){if(!this.isDestroyed){var a=f(this,"_outlets"),b=this._pendingDisconnections;this._pendingDisconnections=null;for(var c in b)g(a,c,null)}}}),e["default"]=i}),a("ember-routing/location/api",["ember-metal/core","exports"],function(a,b){"use strict";var c=a["default"];b["default"]={create:function(a){var b=a&&a.implementation;c.assert("Ember.Location.create: you must specify a 'implementation' option",!!b);var d=this.implementations[b];return c.assert("Ember.Location.create: "+b+" is not a valid implementation",!!d),d.create.apply(d,arguments)},registerImplementation:function(a,b){c.deprecate("Using the Ember.Location.registerImplementation is no longer supported. Register your custom location implementation with the container instead.",!1),this.implementations[a]=b},implementations:{},_location:window.location,_getHash:function(){var a=(this._location||this.location).href,b=a.indexOf("#");return-1===b?"":a.substr(b)}}}),a("ember-routing/location/auto_location",["ember-metal/core","ember-metal/property_set","ember-routing/location/api","ember-routing/location/history_location","ember-routing/location/hash_location","ember-routing/location/none_location","exports"],function(a,b,c,d,e,f,g){"use strict";var h=a["default"],i=b.set,j=c["default"],k=d["default"],l=e["default"],m=f["default"];g["default"]={cancelRouterSetup:!1,rootURL:"/",_window:window,_location:window.location,_history:window.history,_HistoryLocation:k,_HashLocation:l,_NoneLocation:m,_getOrigin:function(){var a=this._location,b=a.origin;return b||(b=a.protocol+"//"+a.hostname,a.port&&(b+=":"+a.port)),b},_getSupportsHistory:function(){var a=this._window.navigator.userAgent;return-1!==a.indexOf("Android 2")&&-1!==a.indexOf("Mobile Safari")&&-1===a.indexOf("Chrome")?!1:!!(this._history&&"pushState"in this._history)},_getSupportsHashChange:function(){var a=this._window,b=a.document.documentMode;return"onhashchange"in a&&(void 0===b||b>7)},_replacePath:function(a){this._location.replace(this._getOrigin()+a)},_getRootURL:function(){return this.rootURL},_getPath:function(){var a=this._location.pathname;return"/"!==a.charAt(0)&&(a="/"+a),a},_getHash:j._getHash,_getQuery:function(){return this._location.search},_getFullPath:function(){return this._getPath()+this._getQuery()+this._getHash()},_getHistoryPath:function(){var a,b,c=this._getRootURL(),d=this._getPath(),e=this._getHash(),f=this._getQuery(),g=d.indexOf(c);return h.assert("Path "+d+" does not start with the provided rootURL "+c,0===g),"#/"===e.substr(0,2)?(b=e.substr(1).split("#"),a=b.shift(),"/"===d.slice(-1)&&(a=a.substr(1)),d+=a,d+=f,b.length&&(d+="#"+b.join("#"))):(d+=f,d+=e),d},_getHashPath:function(){var a=this._getRootURL(),b=a,c=this._getHistoryPath(),d=c.substr(a.length);return""!==d&&("/"!==d.charAt(0)&&(d="/"+d),b+="#"+d),b},create:function(a){a&&a.rootURL&&(h.assert('rootURL must end with a trailing forward slash e.g. "/app/"',"/"===a.rootURL.charAt(a.rootURL.length-1)),this.rootURL=a.rootURL);var b,c,d=!1,e=this._NoneLocation,f=this._getFullPath();this._getSupportsHistory()?(b=this._getHistoryPath(),f===b?e=this._HistoryLocation:"/#"===f.substr(0,2)?(this._history.replaceState({path:b},null,b),e=this._HistoryLocation):(d=!0,this._replacePath(b))):this._getSupportsHashChange()&&(c=this._getHashPath(),f===c||"/"===f&&"/#/"===c?e=this._HashLocation:(d=!0,this._replacePath(c)));var g=e.create.apply(e,arguments);return d&&i(g,"cancelRouterSetup",!0),g}}}),a("ember-routing/location/hash_location",["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/run_loop","ember-metal/utils","ember-runtime/system/object","ember-routing/location/api","exports"],function(a,b,c,d,e,f,g,h){"use strict";var i=a["default"],j=b.get,k=c.set,l=d["default"],m=e.guidFor,n=f["default"],o=g["default"];h["default"]=n.extend({implementation:"hash",init:function(){k(this,"location",j(this,"_location")||window.location)},getHash:o._getHash,getURL:function(){var a=this.getHash().substr(1),b=a;return"/"!==b.charAt(0)&&(b="/",a&&(b+="#"+a)),b},setURL:function(a){j(this,"location").hash=a,k(this,"lastSetURL",a)},replaceURL:function(a){j(this,"location").replace("#"+a),k(this,"lastSetURL",a)},onUpdateURL:function(a){var b=this,c=m(this);i.$(window).on("hashchange.ember-location-"+c,function(){l(function(){var c=b.getURL();j(b,"lastSetURL")!==c&&(k(b,"lastSetURL",null),a(c))})})},formatURL:function(a){return"#"+a},willDestroy:function(){var a=m(this);i.$(window).off("hashchange.ember-location-"+a)}})}),a("ember-routing/location/history_location",["ember-metal/property_get","ember-metal/property_set","ember-metal/utils","ember-runtime/system/object","ember-routing/location/api","ember-views/system/jquery","exports"],function(a,b,c,d,e,f,g){"use strict";var h=a.get,i=b.set,j=c.guidFor,k=d["default"],l=e["default"],m=f["default"],n=!1,o=window.history&&"state"in window.history;g["default"]=k.extend({implementation:"history",init:function(){i(this,"location",h(this,"location")||window.location),i(this,"baseURL",m("base").attr("href")||"")},initState:function(){i(this,"history",h(this,"history")||window.history),this.replaceState(this.formatURL(this.getURL()))},rootURL:"/",getURL:function(){var a=h(this,"rootURL"),b=h(this,"location"),c=b.pathname,d=h(this,"baseURL");a=a.replace(/\/$/,""),d=d.replace(/\/$/,"");var e=c.replace(d,"").replace(a,""),f=b.search||"";return e+=f,e+=this.getHash()},setURL:function(a){var b=this.getState();a=this.formatURL(a),b&&b.path===a||this.pushState(a)},replaceURL:function(a){var b=this.getState();a=this.formatURL(a),b&&b.path===a||this.replaceState(a)},getState:function(){return o?h(this,"history").state:this._historyState},pushState:function(a){var b={path:a}; -h(this,"history").pushState(b,null,a),o||(this._historyState=b),this._previousURL=this.getURL()},replaceState:function(a){var b={path:a};h(this,"history").replaceState(b,null,a),o||(this._historyState=b),this._previousURL=this.getURL()},onUpdateURL:function(a){var b=j(this),c=this;m(window).on("popstate.ember-location-"+b,function(){(n||(n=!0,c.getURL()!==c._previousURL))&&a(c.getURL())})},formatURL:function(a){var b=h(this,"rootURL"),c=h(this,"baseURL");return""!==a?(b=b.replace(/\/$/,""),c=c.replace(/\/$/,"")):c.match(/^\//)&&b.match(/^\//)&&(c=c.replace(/\/$/,"")),c+b+a},willDestroy:function(){var a=j(this);m(window).off("popstate.ember-location-"+a)},getHash:l._getHash})}),a("ember-routing/location/none_location",["ember-metal/property_get","ember-metal/property_set","ember-runtime/system/object","exports"],function(a,b,c,d){"use strict";var e=a.get,f=b.set,g=c["default"];d["default"]=g.extend({implementation:"none",path:"",getURL:function(){return e(this,"path")},setURL:function(a){f(this,"path",a)},onUpdateURL:function(a){this.updateCallback=a},handleURL:function(a){f(this,"path",a),this.updateCallback(a)},formatURL:function(a){return a}})}),a("ember-routing/system/cache",["ember-runtime/system/object","exports"],function(a,b){"use strict";var c=a["default"];b["default"]=c.extend({init:function(){this.cache={}},has:function(a){return a in this.cache},stash:function(a,b,c){var d=this.cache[a];d||(d=this.cache[a]={}),d[b]=c},lookup:function(a,b,c){var d=this.cache;if(!(a in d))return c;var e=d[a];return b in e?e[b]:c},cache:null})}),a("ember-routing/system/controller_for",["exports"],function(a){"use strict";a["default"]=function(a,b,c){return a.lookup("controller:"+b,c)}}),a("ember-routing/system/dsl",["ember-metal/core","exports"],function(a,b){"use strict";function c(a){this.parent=a,this.matches=[]}function d(a){return a.parent&&"application"!==a.parent}function e(a,b,c){return d(a)&&c!==!0?a.parent+"."+b:b}function f(a,b,c,d){c=c||{};var f=e(a,b,c.resetNamespace);"string"!=typeof c.path&&(c.path="/"+b),a.push(c.path,f,d)}var g=a["default"];b["default"]=c,c.prototype={route:function(a,b,d){2===arguments.length&&"function"==typeof b&&(d=b,b={}),1===arguments.length&&(b={});var h=b.resetNamespace===!0?"resource":"route";if(g.assert("'basic' cannot be used as a "+h+" name.","basic"!==a),d){var i=e(this,a,b.resetNamespace),j=new c(i);f(j,"loading"),f(j,"error",{path:"/_unused_dummy_error_path_route_"+a+"/:error"}),d.call(j),f(this,a,b,j.generate())}else f(this,a,b)},push:function(a,b,c){var d=b.split(".");(""===a||"/"===a||"index"===d[d.length-1])&&(this.explicitIndex=!0),this.matches.push([a,b,c])},resource:function(a,b,c){2===arguments.length&&"function"==typeof b&&(c=b,b={}),1===arguments.length&&(b={}),b.resetNamespace=!0,this.route(a,b,c)},generate:function(){var a=this.matches;return this.explicitIndex||this.route("index",{path:"/"}),function(b){for(var c=0,d=a.length;d>c;c++){var e=a[c];b(e[0]).to(e[1],e[2])}}}},c.map=function(a){var b=new c;return a.call(b),b}}),a("ember-routing/system/generate_controller",["ember-metal/core","ember-metal/property_get","ember-metal/utils","exports"],function(a,b,c,d){"use strict";function e(a,b,c){var d,e,f,g;return g=c&&h(c)?"array":c?"object":"basic",f="controller:"+g,d=a.lookupFactory(f).extend({isGenerated:!0,toString:function(){return"(generated "+b+" controller)"}}),e="controller:"+b,a.register(e,d),d}var f=a["default"],g=b.get,h=c.isArray;d.generateControllerFactory=e,d["default"]=function(a,b,c){e(a,b,c);var d="controller:"+b,h=a.lookup(d);return g(h,"namespace.LOG_ACTIVE_GENERATION")&&f.Logger.info("generated -> "+d,{fullName:d}),h}}),a("ember-routing/system/route",["ember-metal/core","ember-metal/error","ember-metal/property_get","ember-metal/property_set","ember-metal/get_properties","ember-metal/enumerable_utils","ember-metal/is_none","ember-metal/computed","ember-metal/merge","ember-metal/utils","ember-metal/run_loop","ember-metal/keys","ember-runtime/copy","ember-runtime/system/string","ember-runtime/system/object","ember-runtime/mixins/evented","ember-runtime/mixins/action_handler","ember-routing/system/generate_controller","ember-routing/utils","exports"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t){"use strict";function u(a){var b=v(a,a.router.router.state.handlerInfos,-1);return b&&b.handler}function v(a,b,c){if(b)for(var d,e=c||0,f=0,g=b.length;g>f;f++)if(d=b[f].handler,d===a)return b[f+e]}function w(a){var b,c=u(a);if(c)return(b=c.lastRenderedTemplate)?b:w(c)}function x(a,b,c,d){d=d||{},d.into=d.into?d.into.replace(/\//g,"."):w(a),d.outlet=d.outlet||"main",d.name=b,d.template=c,d.LOG_VIEW_LOOKUPS=H(a.router,"namespace.LOG_VIEW_LOOKUPS"),F.assert("An outlet ("+d.outlet+") was specified but was not found.","main"===d.outlet||d.into);var e=d.controller,f=d.model;if(e=d.controller?d.controller:d.namePassed?a.container.lookup("controller:"+b)||a.controllerName||a.routeName:a.controllerName||a.container.lookup("controller:"+b),"string"==typeof e){var g=e;if(e=a.container.lookup("controller:"+g),!e)throw new G("You passed `controller: '"+g+"'` into the `render` method, but no such controller could be found.")}return f&&e.set("model",f),d.controller=e,d}function y(a,b,c){if(a)c.LOG_VIEW_LOOKUPS&&F.Logger.info("Rendering "+c.name+" with "+a,{fullName:"view:"+c.name});else{var d=c.into?"view:default":"view:toplevel";a=b.lookup(d),c.LOG_VIEW_LOOKUPS&&F.Logger.info("Rendering "+c.name+" with default view "+a,{fullName:"view:"+c.name})}return H(a,"templateName")||(I(a,"template",c.template),I(a,"_debugTemplateName",c.name)),I(a,"renderedName",c.name),I(a,"controller",c.controller),a}function z(a,b,c){if(c.into){var d=a.router._lookupActiveView(c.into),e=B(d,c.outlet);a.teardownOutletViews||(a.teardownOutletViews=[]),L(a.teardownOutletViews,0,0,[e]),d.connectOutlet(c.outlet,b)}else{var f=H(a,"router.namespace.rootElement");a.teardownTopLevelView&&a.teardownTopLevelView(),a.router._connectActiveView(c.name,b),a.teardownTopLevelView=A(b),b.appendTo(f)}}function A(a){return function(){a.destroy()}}function B(a,b){return function(){a.disconnectOutlet(b)}}function C(a,b){if(b.fullQueryParams)return b.fullQueryParams;b.fullQueryParams={},O(b.fullQueryParams,b.queryParams);var c=b.handlerInfos[b.handlerInfos.length-1].name;return a._deserializeQueryParams(c,b.fullQueryParams),b.fullQueryParams}function D(a,b){b.queryParamsFor=b.queryParamsFor||{};var c=a.routeName;if(b.queryParamsFor[c])return b.queryParamsFor[c];for(var d=C(a.router,b),e=b.queryParamsFor[c]={},f=H(a,"_qp"),g=f.qps,h=0,i=g.length;i>h;++h){var j=g[h],k=j.prop in d;e[j.prop]=k?d[j.prop]:E(j.def)}return e}function E(a){return P(a)?F.A(a.slice()):a}var F=a["default"],G=b["default"],H=c.get,I=d.set,J=e["default"],K=f.forEach,L=f.replace,M=g["default"],N=h.computed,O=i["default"],P=j.isArray,Q=j.typeOf,R=k["default"],S=l["default"],T=m["default"],U=n.classify,V=o["default"],W=p["default"],X=q["default"],Y=r["default"],Z=s.stashParamNames,$=Array.prototype.slice,_=V.extend(X,{queryParams:{},_qp:N(function(){var a=this.controllerName||this.routeName,b=this.container.lookupFactory("controller:"+a);if(!b)return ab;var c=b.proto(),d=H(c,"_normalizedQueryParams"),e=H(c,"_cacheMeta"),f=[],g={},h=this;for(var i in d)if(d.hasOwnProperty(i)){var j=d[i],k=j.as||this.serializeQueryParamKey(i),l=H(c,i);P(l)&&(l=F.A(l.slice()));var m=Q(l),n=this.serializeQueryParam(l,k,m),o=a+":"+i,p={def:l,sdef:n,type:m,urlKey:k,prop:i,fprop:o,ctrl:a,cProto:c,svalue:n,cacheType:j.scope,route:this,cacheMeta:e[i]};g[i]=g[k]=g[o]=p,f.push(p)}return{qps:f,map:g,states:{active:function(a,b){return h._activeQPChanged(a,g[b])},allowOverrides:function(a,b){return h._updatingQPChanged(a,g[b])},changingKeys:function(a,b){return h._updateSerializedQPValue(a,g[b])}}}}),_names:null,_stashNames:function(a,b){var c=a;if(!this._names){var d=this._names=c._names;d.length||(c=b,d=c&&c._names||[]);for(var e=H(this,"_qp.qps"),f=e.length,g=new Array(d.length),h=0,i=d.length;i>h;++h)g[h]=c.name+"."+d[h];for(var j=0;f>j;++j){var k=e[j],l=k.cacheMeta;"model"===l.scope&&(l.parts=g),l.prefix=k.ctrl}}},_updateSerializedQPValue:function(a,b){var c=H(a,b.prop);b.svalue=this.serializeQueryParam(c,b.urlKey,b.type)},_activeQPChanged:function(a,b){var c=H(a,b.prop);this.router._queuedQPChanges[b.fprop]=c,R.once(this,this._fireQueryParamTransition)},_updatingQPChanged:function(a,b){var c=this.router;c._qpUpdates||(c._qpUpdates={}),c._qpUpdates[b.urlKey]=!0},mergedProperties:["events","queryParams"],paramsFor:function(a){var b=this.container.lookup("route:"+a);if(!b)return{};var c=this.router.router.activeTransition,d=c?c.state:this.router.router.state,e={};return O(e,d.params[a]),O(e,D(b,d)),e},serializeQueryParamKey:function(a){return a},serializeQueryParam:function(a,b,c){return"array"===c?JSON.stringify(a):""+a},deserializeQueryParam:function(a,b,c){return"boolean"===c?"true"===a?!0:!1:"number"===c?Number(a).valueOf():"array"===c?F.A(JSON.parse(a)):a},_fireQueryParamTransition:function(){this.transitionTo({queryParams:this.router._queuedQPChanges}),this.router._queuedQPChanges={}},_optionsForQueryParam:function(a){return H(this,"queryParams."+a.urlKey)||H(this,"queryParams."+a.prop)||{}},resetController:F.K,exit:function(){this.deactivate(),this.trigger("deactivate"),this.teardownViews()},_reset:function(a,b){var c=this.controller;c._qpDelegate=H(this,"_qp.states.inactive"),this.resetController(c,a,b)},enter:function(){this.activate(),this.trigger("activate")},viewName:null,templateName:null,controllerName:null,_actions:{queryParamsDidChange:function(a,b,c){for(var d=this.get("_qp").map,e=S(a).concat(S(c)),f=0,g=e.length;g>f;++f){var h=d[e[f]];h&&H(this._optionsForQueryParam(h),"refreshModel")&&this.refresh()}return!0},finalizeQueryParamChange:function(a,b,c){if("application"!==this.routeName)return!0;if(c){var d,e=c.state.handlerInfos,f=this.router,g=f._queryParamsFor(e[e.length-1].name),h=f._qpUpdates;Z(f,e);for(var i=0,j=g.qps.length;j>i;++i){var k,l,m=g.qps[i],n=m.route,o=n.controller,p=m.urlKey in a&&m.urlKey;h&&m.urlKey in h?(k=H(o,m.prop),l=n.serializeQueryParam(k,m.urlKey,m.type)):p?(l=a[p],k=n.deserializeQueryParam(l,m.urlKey,m.type)):(l=m.sdef,k=E(m.def)),o._qpDelegate=H(this,"_qp.states.inactive");var q=l!==m.svalue;if(q){if(c.queryParamsOnly&&d!==!1){var r=n._optionsForQueryParam(m),s=H(r,"replace");s?d=!0:s===!1&&(d=!1)}I(o,m.prop,k)}m.svalue=l;var t=m.sdef===l;t||b.push({value:l,visible:!0,key:p||m.urlKey})}d&&c.method("replace"),K(g.qps,function(a){var b=H(a.route,"_qp"),c=a.route.controller;c._qpDelegate=H(b,"states.active")}),f._qpUpdates=null}}},events:null,deactivate:F.K,activate:F.K,transitionTo:function(){var a=this.router;return a.transitionTo.apply(a,arguments)},intermediateTransitionTo:function(){var a=this.router;a.intermediateTransitionTo.apply(a,arguments)},refresh:function(){return this.router.router.refresh(this)},replaceWith:function(){var a=this.router;return a.replaceWith.apply(a,arguments)},send:function(){if(this.router||!F.testing)this.router.send.apply(this.router,arguments);else{var a=arguments[0],b=$.call(arguments,1),c=this._actions[a];if(c)return this._actions[a].apply(this,b)}},setup:function(a,b){var c=this.controllerName||this.routeName,d=this.controllerFor(c,!0);if(d||(d=this.generateController(c,a)),this.controller=d,this.setupControllers)F.deprecate("Ember.Route.setupControllers is deprecated. Please use Ember.Route.setupController(controller, model) instead."),this.setupControllers(d,a);else{var e=H(this,"_qp.states");if(b&&(Z(this.router,b.state.handlerInfos),d._qpDelegate=e.changingKeys,d._updateCacheParams(b.params)),d._qpDelegate=e.allowOverrides,b){var f=D(this,b.state);d.setProperties(f)}this.setupController(d,a,b)}this.renderTemplates?(F.deprecate("Ember.Route.renderTemplates is deprecated. Please use Ember.Route.renderTemplate(controller, model) instead."),this.renderTemplates(a)):this.renderTemplate(d,a)},beforeModel:F.K,afterModel:F.K,redirect:F.K,contextDidChange:function(){this.currentModel=this.context},model:function(a,b){var c,d,e,f,g=H(this,"_qp.map");for(var h in a)"queryParams"===h||g&&h in g||((c=h.match(/^(.*)_id$/))&&(d=c[1],f=a[h]),e=!0);if(!d&&e)return T(a);if(!d){if(b.resolveIndex<1)return;var i=b.state.handlerInfos[b.resolveIndex-1].context;return i}return this.findModel(d,f)},deserialize:function(a,b){return this.model(this.paramsFor(this.routeName),b)},findModel:function(){var a=H(this,"store");return a.find.apply(a,arguments)},store:N(function(){var a=this.container,b=this.routeName,c=H(this,"router.namespace");return{find:function(d,e){var f=a.lookupFactory("model:"+d);return F.assert("You used the dynamic segment "+d+"_id in your route "+b+", but "+c+"."+U(d)+" did not exist and you did not override your route's `model` hook.",f),f?(F.assert(U(d)+" has no method `find`.","function"==typeof f.find),f.find(e)):void 0}}}),serialize:function(a,b){if(!(b.length<1)&&a){var c=b[0],d={};return/_id$/.test(c)&&1===b.length?d[c]=H(a,"id"):d=J(a,b),d}},setupController:function(a,b){a&&void 0!==b&&I(a,"model",b)},controllerFor:function(a,b){var c,d=this.container,e=d.lookup("route:"+a);return e&&e.controllerName&&(a=e.controllerName),c=d.lookup("controller:"+a),F.assert("The controller named '"+a+"' could not be found. Make sure that this route exists and has already been entered at least once. If you are accessing a controller not associated with a route, make sure the controller class is explicitly defined.",c||b===!0),c},generateController:function(a,b){var c=this.container;return b=b||this.modelFor(a),Y(c,a,b)},modelFor:function(a){var b=this.container.lookup("route:"+a),c=this.router?this.router.router.activeTransition:null;if(c){var d=b&&b.routeName||a;if(c.resolvedModels.hasOwnProperty(d))return c.resolvedModels[d]}return b&&b.currentModel},renderTemplate:function(){this.render()},render:function(a,b){F.assert("The name in the given arguments is undefined",arguments.length>0?!M(arguments[0]):!0);var c="string"==typeof a&&!!a;"object"!=typeof a||b||(b=a,a=this.routeName),b=b||{},b.namePassed=c;var d;a?(a=a.replace(/\//g,"."),d=a):(a=this.routeName,d=this.templateName||a);var e=b.view||c&&a||this.viewName||a,f=this.container,g=f.lookup("view:"+e),h=g?g.get("template"):null;return h||(h=f.lookup("template:"+d)),g||h?(b=x(this,a,h,b),g=y(g,f,b),"main"===b.outlet&&(this.lastRenderedTemplate=a),void z(this,g,b)):(F.assert('Could not find "'+a+'" template or view.',F.isEmpty(arguments[0])),void(H(this.router,"namespace.LOG_VIEW_LOOKUPS")&&F.Logger.info('Could not find "'+a+'" template or view. Nothing will be rendered',{fullName:"template:"+a})))},disconnectOutlet:function(a){if(!a||"string"==typeof a){var b=a;a={},a.outlet=b}a.parentView=a.parentView?a.parentView.replace(/\//g,"."):w(this),a.outlet=a.outlet||"main";var c=this.router._lookupActiveView(a.parentView);c&&c.disconnectOutlet(a.outlet)},willDestroy:function(){this.teardownViews()},teardownViews:function(){this.teardownTopLevelView&&this.teardownTopLevelView();var a=this.teardownOutletViews||[];K(a,function(a){a()}),delete this.teardownTopLevelView,delete this.teardownOutletViews,delete this.lastRenderedTemplate}});_.reopen(W);var ab={qps:[],map:{},states:{}};t["default"]=_}),a("ember-routing/system/router",["ember-metal/core","ember-metal/error","ember-metal/property_get","ember-metal/property_set","ember-metal/properties","ember-metal/computed","ember-metal/merge","ember-metal/run_loop","ember-runtime/system/string","ember-runtime/system/object","ember-runtime/mixins/evented","ember-routing/system/dsl","ember-views/views/view","ember-routing/location/api","ember-handlebars/views/metamorph_view","ember-routing/utils","ember-metal/platform","router","router/transition","exports"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t){"use strict";function u(a,b,c){for(var d,e,f=b.state.handlerInfos,g=!1,h=f.length-1;h>=0;--h)if(d=f[h],e=d.handler,g){if(c(e,f[h+1].handler)!==!0)return!1}else a===e&&(g=!0);return!0}function v(a,b){var c=[];b&&c.push(b),a&&(a.message&&c.push(a.message),a.stack&&c.push(a.stack),"string"==typeof a&&c.push(a)),E.Logger.error.apply(this,c)}function w(a,b,c){var d,e=a.router,f=(b.routeName.split(".").pop(),"application"===a.routeName?"":a.routeName+".");return d=f+c,x(e,d)?d:void 0}function x(a,b){var c=a.container;return a.hasRoute(b)&&(c.has("template:"+b)||c.has("route:"+b))}function y(a,b,c){var d=c.shift();if(!a){if(b)return;throw new F("Can't trigger action '"+d+"' because your app hasn't finished transitioning into its first route. To trigger an action on destination routes during a transition, you can call `.send()` on the `Transition` object passed to the `model/beforeModel/afterModel` hooks.")}for(var e,f,g=!1,h=a.length-1;h>=0;h--)if(e=a[h],f=e.handler,f._actions&&f._actions[d]){if(f._actions[d].apply(f,c)!==!0)return;g=!0}if($[d])return void $[d].apply(null,c);if(!g&&!b)throw new F("Nothing handled the action '"+d+"'. If you did handle the action, this error can be caused by returning true from an action handler in a controller, causing the action to bubble.")}function z(a,b,c){for(var d=a.router,e=d.applyIntent(b,c),f=e.handlerInfos,g=e.params,h=0,i=f.length;i>h;++h){var j=f[h];j.isResolved||(j=j.becomeResolved(null,j.context)),g[j.name]=j.params}return e}function A(a){var b=a.container.lookup("controller:application");if(b){var c=a.router.currentHandlerInfos,d=Z._routePath(c);"currentPath"in b||I(b,"currentPath"),H(b,"currentPath",d),"currentRouteName"in b||I(b,"currentRouteName"),H(b,"currentRouteName",c[c.length-1].name)}}function B(a){a.then(null,function(a){return a&&a.name?("UnrecognizedURLError"===a.name&&E.assert("The URL '"+a.message+"' did not match any routes in your application"),a):void 0},"Ember: Process errors from Router")}function C(a){return"string"==typeof a&&(""===a||"/"===a.charAt(0))}function D(a,b,c,d){var e=a._queryParamsFor(b);for(var f in c)if(c.hasOwnProperty(f)){var g=c[f],h=e.map[f];h&&d(f,g,h)}}var E=a["default"],F=b["default"],G=c.get,H=d.set,I=e.defineProperty,J=f.computed,K=g["default"],L=h["default"],M=i.fmt,N=j["default"],O=k["default"],P=l["default"],Q=m["default"],R=n["default"],S=o["default"],T=p.routeArgs,U=p.getActiveTargetName,V=p.stashParamNames,W=q.create,X=r["default"],Y=[].slice,Z=N.extend(O,{location:"hash",rootURL:"/",init:function(){this.router=this.constructor.router||this.constructor.map(E.K),this._activeViews={},this._setupLocation(),this._qpCache={},this._queuedQPChanges={},G(this,"namespace.LOG_TRANSITIONS_INTERNAL")&&(this.router.log=E.Logger.debug)},url:J(function(){return G(this,"location").getURL()}),startRouting:function(){this.router=this.router||this.constructor.map(E.K);var a,b=this.router,c=G(this,"location"),d=this.container,e=this,f=G(this,"initialURL");if(!G(c,"cancelRouterSetup")&&(this._setupRouter(b,c),d.register("view:default",S),d.register("view:toplevel",Q.extend()),c.onUpdateURL(function(a){e.handleURL(a)}),"undefined"==typeof f&&(f=c.getURL()),a=this.handleURL(f),a&&a.error))throw a.error},didTransition:function(a){A(this),this._cancelLoadingEvent(),this.notifyPropertyChange("url"),L.once(this,this.trigger,"didTransition"),G(this,"namespace").LOG_TRANSITIONS&&E.Logger.log("Transitioned into '"+Z._routePath(a)+"'")},handleURL:function(a){return a=a.split(/#(.+)?/)[0],this._doURLTransition("handleURL",a)},_doURLTransition:function(a,b){var c=this.router[a](b||"/");return B(c),c},transitionTo:function(){var a,b=Y.call(arguments);if(C(b[0]))return this._doURLTransition("transitionTo",b[0]);var c=b[b.length-1];a=c&&c.hasOwnProperty("queryParams")?b.pop().queryParams:{};var d=b.shift();return this._doTransition(d,b,a)},intermediateTransitionTo:function(){this.router.intermediateTransitionTo.apply(this.router,arguments),A(this);var a=this.router.currentHandlerInfos;G(this,"namespace").LOG_TRANSITIONS&&E.Logger.log("Intermediate-transitioned into '"+Z._routePath(a)+"'")},replaceWith:function(){return this.transitionTo.apply(this,arguments).method("replace")},generate:function(){var a=this.router.generate.apply(this.router,arguments);return this.location.formatURL(a)},isActive:function(){var a=this.router;return a.isActive.apply(a,arguments)},isActiveIntent:function(){var a=this.router;return a.isActive.apply(a,arguments)},send:function(){this.router.trigger.apply(this.router,arguments)},hasRoute:function(a){return this.router.hasRoute(a)},reset:function(){this.router.reset()},_lookupActiveView:function(a){var b=this._activeViews[a];return b&&b[0]},_connectActiveView:function(a,b){function c(){delete this._activeViews[a]}var d=this._activeViews[a];d&&d[0].off("willDestroyElement",this,d[1]),this._activeViews[a]=[b,c],b.one("willDestroyElement",this,c)},_setupLocation:function(){var a=G(this,"location"),b=G(this,"rootURL");if(b&&this.container&&!this.container.has("-location-setting:root-url")&&this.container.register("-location-setting:root-url",b,{instantiate:!1}),"string"==typeof a&&this.container){var c=this.container.lookup("location:"+a);if("undefined"!=typeof c)a=H(this,"location",c);else{var d={implementation:a};a=H(this,"location",R.create(d))}}null!==a&&"object"==typeof a&&(b&&"string"==typeof b&&(a.rootURL=b),"function"==typeof a.initState&&a.initState())},_getHandlerFunction:function(){var a=W(null),b=this.container,c=b.lookupFactory("route:basic"),d=this;return function(e){var f="route:"+e,g=b.lookup(f);return a[e]?g:(a[e]=!0,g||(b.register(f,c.extend()),g=b.lookup(f),G(d,"namespace.LOG_ACTIVE_GENERATION")&&E.Logger.info("generated -> "+f,{fullName:f})),g.routeName=e,g)}},_setupRouter:function(a,b){var c,d=this;a.getHandler=this._getHandlerFunction();var e=function(){b.setURL(c)};if(a.updateURL=function(a){c=a,L.once(e)},b.replaceURL){var f=function(){b.replaceURL(c)};a.replaceURL=function(a){c=a,L.once(f)}}a.didTransition=function(a){d.didTransition(a)}},_serializeQueryParams:function(a,b){var c={};D(this,a,b,function(a,d,e){var f=e.urlKey;c[f]||(c[f]=[]),c[f].push({qp:e,value:d}),delete b[a]});for(var d in c){var e=c[d];if(e.length>1){var f=e[0].qp,g=e[1].qp;E.assert(M("You're not allowed to have more than one controller property map to the same query param key, but both `%@` and `%@` map to `%@`. You can fix this by mapping one of the controller properties to a different query param key via the `as` config option, e.g. `%@: { as: 'other-%@' }`",[f.fprop,g.fprop,f.urlKey,f.prop,f.prop]),!1)}var h=e[0].qp;b[h.urlKey]=h.route.serializeQueryParam(e[0].value,h.urlKey,h.type)}},_deserializeQueryParams:function(a,b){D(this,a,b,function(a,c,d){delete b[a],b[d.prop]=d.route.deserializeQueryParam(c,d.urlKey,d.type)})},_pruneDefaultQueryParamValues:function(a,b){var c=this._queryParamsFor(a);for(var d in b){var e=c.map[d];e&&e.sdef===b[d]&&delete b[d]}},_doTransition:function(a,b,c){var d=a||U(this.router);E.assert("The route "+d+" was not found",d&&this.router.hasRoute(d));var e={};K(e,c),this._prepareQueryParams(d,b,e);var f=T(d,b,e),g=this.router.transitionTo.apply(this.router,f);return B(g),g},_prepareQueryParams:function(a,b,c){this._hydrateUnsuppliedQueryParams(a,b,c),this._serializeQueryParams(a,c),this._pruneDefaultQueryParamValues(a,c)},_queryParamsFor:function(a){if(this._qpCache[a])return this._qpCache[a];var b={},c=[];this._qpCache[a]={map:b,qps:c};for(var d=this.router,e=d.recognizer.handlersFor(a),f=0,g=e.length;g>f;++f){var h=e[f],i=d.getHandler(h.handler),j=G(i,"_qp");j&&(K(b,j.map),c.push.apply(c,j.qps))}return{qps:c,map:b}},_hydrateUnsuppliedQueryParams:function(a,b,c){var d=z(this,a,b),e=d.handlerInfos,f=this._bucketCache;V(this,e);for(var g=0,h=e.length;h>g;++g)for(var i=e[g].handler,j=G(i,"_qp"),k=0,l=j.qps.length;l>k;++k){var m=j.qps[k],n=m.prop in c&&m.prop||m.fprop in c&&m.fprop;if(n)n!==m.fprop&&(c[m.fprop]=c[n],delete c[n]);else{var o=m.cProto,p=G(o,"_cacheMeta"),q=o._calculateCacheKey(m.ctrl,p[m.prop].parts,d.params);c[m.fprop]=f.lookup(q,m.prop,m.def)}}},_scheduleLoadingEvent:function(a,b){this._cancelLoadingEvent(),this._loadingStateTimer=L.scheduleOnce("routerTransitions",this,"_fireLoadingEvent",a,b)},_fireLoadingEvent:function(a,b){this.router.activeTransition&&a.trigger(!0,"loading",a,b)},_cancelLoadingEvent:function(){this._loadingStateTimer&&L.cancel(this._loadingStateTimer),this._loadingStateTimer=null}}),$={willResolveModel:function(a,b){b.router._scheduleLoadingEvent(a,b)},error:function(a,b,c){var d=c.router,e=u(c,b,function(b,c){var e=w(b,c,"error");return e?void d.intermediateTransitionTo(e,a):!0});return e&&x(c.router,"application_error")?void d.intermediateTransitionTo("application_error",a):void v(a,"Error while processing route: "+b.targetName)},loading:function(a,b){var c=b.router,d=u(b,a,function(b,d){var e=w(b,d,"loading");return e?void c.intermediateTransitionTo(e):a.pivotHandler!==b?!0:void 0});return d&&x(b.router,"application_loading")?void c.intermediateTransitionTo("application_loading"):void 0}};Z.reopenClass({router:null,map:function(a){var b=this.router;b||(b=new X,b._triggerWillChangeContext=E.K,b._triggerWillLeave=E.K,b.callbacks=[],b.triggerEvent=y,this.reopenClass({router:b}));var c=P.map(function(){this.resource("application",{path:"/"},function(){for(var c=0;cc;++c)if(a[c]!==b[c])return!1;return!0}for(var c,d,e,f=[],g=1,h=a.length;h>g;g++){for(c=a[g].name,d=c.split("."),e=Y.call(f);e.length&&!b(e,d);)e.shift();f.push.apply(f,d.slice(e.length))}return f.join(".")}}),t["default"]=Z}),a("ember-routing/utils",["ember-metal/utils","exports"],function(a,b){"use strict";function c(a,b,c){var d=[];return"string"===f(a)&&d.push(""+a),d.push.apply(d,b),d.push({queryParams:c}),d}function d(a){var b=a.activeTransition?a.activeTransition.state.handlerInfos:a.state.handlerInfos;return b[b.length-1].name}function e(a,b){if(!b._namesStashed){for(var c=b[b.length-1].name,d=a.router.recognizer.handlersFor(c),e=null,f=0,g=b.length;g>f;++f){var h=b[f],i=d[f].names;i.length&&(e=h),h._names=i;var j=h.handler;j._stashNames(h,e)}b._namesStashed=!0}}var f=a.typeOf;b.routeArgs=c,b.getActiveTargetName=d,b.stashParamNames=e}),a("ember-runtime",["ember-metal","ember-runtime/core","ember-runtime/compare","ember-runtime/copy","ember-runtime/inject","ember-runtime/system/namespace","ember-runtime/system/object","ember-runtime/system/tracked_array","ember-runtime/system/subarray","ember-runtime/system/container","ember-runtime/system/array_proxy","ember-runtime/system/object_proxy","ember-runtime/system/core_object","ember-runtime/system/each_proxy","ember-runtime/system/native_array","ember-runtime/system/set","ember-runtime/system/string","ember-runtime/system/deferred","ember-runtime/system/lazy_load","ember-runtime/mixins/array","ember-runtime/mixins/comparable","ember-runtime/mixins/copyable","ember-runtime/mixins/enumerable","ember-runtime/mixins/freezable","ember-runtime/mixins/-proxy","ember-runtime/mixins/observable","ember-runtime/mixins/action_handler","ember-runtime/mixins/deferred","ember-runtime/mixins/mutable_enumerable","ember-runtime/mixins/mutable_array","ember-runtime/mixins/target_action_support","ember-runtime/mixins/evented","ember-runtime/mixins/promise_proxy","ember-runtime/mixins/sortable","ember-runtime/computed/array_computed","ember-runtime/computed/reduce_computed","ember-runtime/computed/reduce_computed_macros","ember-runtime/controllers/array_controller","ember-runtime/controllers/object_controller","ember-runtime/controllers/controller","ember-runtime/mixins/controller","ember-runtime/system/service","ember-runtime/ext/rsvp","ember-runtime/ext/string","ember-runtime/ext/function","exports"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T){"use strict";var U=a["default"],V=b.isEqual,W=c["default"],X=d["default"],Y=(e["default"],f["default"]),Z=g["default"],$=h["default"],_=i["default"],ab=j["default"],bb=k["default"],cb=l["default"],db=m["default"],eb=n.EachArray,fb=n.EachProxy,gb=o["default"],hb=p["default"],ib=q["default"],jb=r["default"],kb=s.onLoad,lb=s.runLoadHooks,mb=t["default"],nb=u["default"],ob=v["default"],pb=w["default"],qb=x.Freezable,rb=x.FROZEN_ERROR,sb=y["default"],tb=z["default"],ub=A["default"],vb=B["default"],wb=C["default"],xb=D["default"],yb=E["default"],zb=F["default"],Ab=G["default"],Bb=H["default"],Cb=I.arrayComputed,Db=I.ArrayComputedProperty,Eb=J.reduceComputed,Fb=J.ReduceComputedProperty,Gb=K.sum,Hb=K.min,Ib=K.max,Jb=K.map,Kb=K.sort,Lb=K.setDiff,Mb=K.mapBy,Nb=K.mapProperty,Ob=K.filter,Pb=K.filterBy,Qb=K.filterProperty,Rb=K.uniq,Sb=K.union,Tb=K.intersect,Ub=L["default"],Vb=M["default"],Wb=N["default"],Xb=O["default"],Yb=(P["default"],Q["default"]);U.compare=W,U.copy=X,U.isEqual=V,U.Array=mb,U.Comparable=nb,U.Copyable=ob,U.SortableMixin=Bb,U.Freezable=qb,U.FROZEN_ERROR=rb,U.DeferredMixin=vb,U.MutableEnumerable=wb,U.MutableArray=xb,U.TargetActionSupport=yb,U.Evented=zb,U.PromiseProxyMixin=Ab,U.Observable=tb,U.arrayComputed=Cb,U.ArrayComputedProperty=Db,U.reduceComputed=Eb,U.ReduceComputedProperty=Fb;var Zb=U.computed;Zb.sum=Gb,Zb.min=Hb,Zb.max=Ib,Zb.map=Jb,Zb.sort=Kb,Zb.setDiff=Lb,Zb.mapBy=Mb,Zb.mapProperty=Nb,Zb.filter=Ob,Zb.filterBy=Pb,Zb.filterProperty=Qb,Zb.uniq=Rb,Zb.union=Sb,Zb.intersect=Tb,U.String=ib,U.Object=Z,U.TrackedArray=$,U.SubArray=_,U.Container=ab,U.Namespace=Y,U.Enumerable=pb,U.ArrayProxy=bb,U.ObjectProxy=cb,U.ActionHandler=ub,U.CoreObject=db,U.EachArray=eb,U.EachProxy=fb,U.NativeArray=gb,U.Set=hb,U.Deferred=jb,U.onLoad=kb,U.runLoadHooks=lb,U.ArrayController=Ub,U.ObjectController=Vb,U.Controller=Wb,U.ControllerMixin=Xb,U._ProxyMixin=sb,U.RSVP=Yb,T["default"]=U}),a("ember-runtime/compare",["ember-metal/utils","ember-runtime/mixins/comparable","exports"],function(a,b,c){"use strict";function d(a,b){var c=a-b;return(c>0)-(0>c)}var e=a.typeOf,f=b["default"],g={undefined:0,"null":1,"boolean":2,number:3,string:4,array:5,object:6,instance:7,"function":8,"class":9,date:10};c["default"]=function h(a,b){if(a===b)return 0;var c=e(a),i=e(b);if(f){if("instance"===c&&f.detect(a.constructor))return a.constructor.compare(a,b);if("instance"===i&&f.detect(b.constructor))return 1-b.constructor.compare(b,a)}var j=d(g[c],g[i]);if(0!==j)return j;switch(c){case"boolean":case"number":return d(a,b);case"string":return d(a.localeCompare(b),0);case"array":for(var k=a.length,l=b.length,m=Math.min(k,l),n=0;m>n;n++){var o=h(a[n],b[n]);if(0!==o)return o}return d(k,l);case"instance":return f&&f.detect(a)?a.compare(a,b):0;case"date":return d(a.getTime(),b.getTime());default:return 0}}}),a("ember-runtime/computed/array_computed",["ember-metal/core","ember-runtime/computed/reduce_computed","ember-metal/enumerable_utils","ember-metal/platform","ember-metal/observer","ember-metal/error","exports"],function(a,b,c,d,e,f,g){"use strict";function h(){var a=this;return k.apply(this,arguments),this.func=function(b){return function(c){return a._hasInstanceMeta(this,c)||l(a._dependentKeys,function(b){n(this,b,function(){a.recomputeOnce.call(this,c)})},this),b.apply(this,arguments)}}(this.func),this}function i(a){var b;if(arguments.length>1&&(b=p.call(arguments,0,-1),a=p.call(arguments,-1)[0]),"object"!=typeof a)throw new o("Array Computed Property declared without an options hash");var c=new h(a);return b&&c.property.apply(c,b),c}var j=a["default"],k=b.ReduceComputedProperty,l=c.forEach,m=d.create,n=e.addObserver,o=f["default"],p=[].slice;h.prototype=m(k.prototype),h.prototype.initialValue=function(){return j.A()},h.prototype.resetValue=function(a){return a.clear(),a},h.prototype.didChange=function(){},g.arrayComputed=i,g.ArrayComputedProperty=h}),a("ember-runtime/computed/reduce_computed",["ember-metal/core","ember-metal/property_get","ember-metal/utils","ember-metal/error","ember-metal/property_events","ember-metal/expand_properties","ember-metal/observer","ember-metal/computed","ember-metal/platform","ember-metal/enumerable_utils","ember-runtime/system/tracked_array","ember-runtime/mixins/array","ember-metal/run_loop","exports"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n){"use strict"; -function o(a,b){return"@this"===b?a:C(a,b)}function p(a,b,c){this.callbacks=a,this.cp=b,this.instanceMeta=c,this.dependentKeysByGuid={},this.trackedArraysByGuid={},this.suspended=!1,this.changedItems={},this.changedItemCount=0}function q(a,b,c){B.assert("Internal error: trackedArray is null or undefined",c),this.dependentArray=a,this.index=b,this.item=a.objectAt(b),this.trackedArray=c,this.beforeObserver=null,this.observer=null,this.destroyed=!1}function r(a,b,c){return 0>a?Math.max(0,b+a):b>a?a:Math.min(b-c,a)}function s(a,b,c){return Math.min(c,b-a)}function t(a,b,c,d,e,f,g){this.arrayChanged=a,this.index=c,this.item=b,this.propertyName=d,this.property=e,this.changedCount=f,g&&(this.previousValues=g)}function u(a,b,c,d,e){Q(a,function(f,g){e.setValue(b.addedItem.call(this,e.getValue(),f,new t(a,f,g,d,c,a.length),e.sugarMeta))},this),b.flushedChanges.call(this,e.getValue(),e.sugarMeta)}function v(a,b){var c=a._hasInstanceMeta(this,b),d=a._instanceMeta(this,b);c&&d.setValue(a.resetValue(d.getValue())),a.options.initialize&&a.options.initialize.call(this,d.getValue(),{property:a,propertyName:b},d.sugarMeta)}function w(a,b){if(_.test(b))return!1;var c=o(a,b);return S.detect(c)}function x(a,b,c){this.context=a,this.propertyName=b,this.cache=E(a).cache,this.dependentArrays={},this.sugarMeta={},this.initialValue=c}function y(a){var b=this;this.options=a,this._dependentKeys=null,this._itemPropertyKeys={},this._previousItemPropertyKeys={},this.readOnly(),this.cacheable(),this.recomputeOnce=function(a){T.once(this,c,a)};var c=function(a){var c=b._instanceMeta(this,a),d=b._callbacks();v.call(this,b,a),c.dependentArraysObserver.suspendArrayObservers(function(){Q(b._dependentKeys,function(a){if(B.assert("dependent array "+a+" must be an `Ember.Array`. If you are not extending arrays, you will need to wrap native arrays with `Ember.A`",!(U(o(this,a))&&!S.detect(o(this,a)))),w(this,a)){var d=o(this,a),e=c.dependentArrays[a];d===e?b._previousItemPropertyKeys[a]&&(delete b._previousItemPropertyKeys[a],c.dependentArraysObserver.setupPropertyObservers(a,b._itemPropertyKeys[a])):(c.dependentArrays[a]=d,e&&c.dependentArraysObserver.teardownObservers(e,a),d&&c.dependentArraysObserver.setupObservers(d,a))}},this)},this),Q(b._dependentKeys,function(e){if(w(this,e)){var f=o(this,e);f&&u.call(this,f,d,b,a,c)}},this)};this.func=function(a){return B.assert("Computed reduce values require at least one dependent key",b._dependentKeys),c.call(this,a),b._instanceMeta(this,a).getValue()}}function z(a){return a}function A(a){var b;if(arguments.length>1&&(b=Y.call(arguments,0,-1),a=Y.call(arguments,-1)[0]),"object"!=typeof a)throw new F("Reduce Computed Property declared without an options hash");if(!("initialValue"in a))throw new F("Reduce Computed Property declared without an initial value");var c=new y(a);return b&&c.property.apply(c,b),c}var B=a["default"],C=b.get,D=c.guidFor,E=c.meta,F=d["default"],G=e.propertyWillChange,H=e.propertyDidChange,I=f["default"],J=g.addObserver,K=g.removeObserver,L=g.addBeforeObserver,M=g.removeBeforeObserver,N=h.ComputedProperty,O=h.cacheFor,P=i.create,Q=j.forEach,R=k["default"],S=l["default"],T=m["default"],U=c.isArray,V=O.set,W=O.get,X=O.remove,Y=[].slice,Z=/^(.*)\.@each\.(.*)/,$=/(.*\.@each){2,}/,_=/\.\[\]$/;p.prototype={setValue:function(a){this.instanceMeta.setValue(a,!0)},getValue:function(){return this.instanceMeta.getValue()},setupObservers:function(a,b){this.dependentKeysByGuid[D(a)]=b,a.addArrayObserver(this,{willChange:"dependentArrayWillChange",didChange:"dependentArrayDidChange"}),this.cp._itemPropertyKeys[b]&&this.setupPropertyObservers(b,this.cp._itemPropertyKeys[b])},teardownObservers:function(a,b){var c=this.cp._itemPropertyKeys[b]||[];delete this.dependentKeysByGuid[D(a)],this.teardownPropertyObservers(b,c),a.removeArrayObserver(this,{willChange:"dependentArrayWillChange",didChange:"dependentArrayDidChange"})},suspendArrayObservers:function(a,b){var c=this.suspended;this.suspended=!0,a.call(b),this.suspended=c},setupPropertyObservers:function(a,b){var c=o(this.instanceMeta.context,a),d=o(c,"length"),e=new Array(d);this.resetTransformations(a,e),Q(c,function(d,f){var g=this.createPropertyObserverContext(c,f,this.trackedArraysByGuid[a]);e[f]=g,Q(b,function(a){L(d,a,this,g.beforeObserver),J(d,a,this,g.observer)},this)},this)},teardownPropertyObservers:function(a,b){var c,d,e,f=this,g=this.trackedArraysByGuid[a];g&&g.apply(function(a,g,h){h!==R.DELETE&&Q(a,function(a){a.destroyed=!0,c=a.beforeObserver,d=a.observer,e=a.item,Q(b,function(a){M(e,a,f,c),K(e,a,f,d)})})})},createPropertyObserverContext:function(a,b,c){var d=new q(a,b,c);return this.createPropertyObserver(d),d},createPropertyObserver:function(a){var b=this;a.beforeObserver=function(c,d){return b.itemPropertyWillChange(c,d,a.dependentArray,a)},a.observer=function(c,d){return b.itemPropertyDidChange(c,d,a.dependentArray,a)}},resetTransformations:function(a,b){this.trackedArraysByGuid[a]=new R(b)},trackAdd:function(a,b,c){var d=this.trackedArraysByGuid[a];d&&d.addItems(b,c)},trackRemove:function(a,b,c){var d=this.trackedArraysByGuid[a];return d?d.removeItems(b,c):[]},updateIndexes:function(a,b){var c=o(b,"length");a.apply(function(a,b,d,e){d!==R.DELETE&&(0!==e||d!==R.RETAIN||a.length!==c||0!==b)&&Q(a,function(a,c){a.index=c+b})})},dependentArrayWillChange:function(a,b,c){function d(a){i[h].destroyed=!0,M(f,a,this,i[h].beforeObserver),K(f,a,this,i[h].observer)}if(!this.suspended){var e,f,g,h,i,j=this.callbacks.removedItem,k=D(a),l=this.dependentKeysByGuid[k],m=this.cp._itemPropertyKeys[l]||[],n=o(a,"length"),p=r(b,n,0),q=s(p,n,c);for(i=this.trackRemove(l,p,q),h=q-1;h>=0&&(g=p+h,!(g>=n));--h)f=a.objectAt(g),Q(m,d,this),e=new t(a,f,g,this.instanceMeta.propertyName,this.cp,q),this.setValue(j.call(this.instanceMeta.context,this.getValue(),f,e,this.instanceMeta.sugarMeta));this.callbacks.flushedChanges.call(this.instanceMeta.context,this.getValue(),this.instanceMeta.sugarMeta)}},dependentArrayDidChange:function(a,b,c,d){if(!this.suspended){var e,f,g=this.callbacks.addedItem,h=D(a),i=this.dependentKeysByGuid[h],j=new Array(d),k=this.cp._itemPropertyKeys[i],l=o(a,"length"),m=r(b,l,d),n=m+d;Q(a.slice(m,n),function(b,c){k&&(f=this.createPropertyObserverContext(a,m+c,this.trackedArraysByGuid[i]),j[c]=f,Q(k,function(a){L(b,a,this,f.beforeObserver),J(b,a,this,f.observer)},this)),e=new t(a,b,m+c,this.instanceMeta.propertyName,this.cp,d),this.setValue(g.call(this.instanceMeta.context,this.getValue(),b,e,this.instanceMeta.sugarMeta))},this),this.callbacks.flushedChanges.call(this.instanceMeta.context,this.getValue(),this.instanceMeta.sugarMeta),this.trackAdd(i,m,j)}},itemPropertyWillChange:function(a,b,c,d){var e=D(a);this.changedItems[e]||(this.changedItems[e]={array:c,observerContext:d,obj:a,previousValues:{}}),++this.changedItemCount,this.changedItems[e].previousValues[b]=o(a,b)},itemPropertyDidChange:function(){0===--this.changedItemCount&&this.flushChanges()},flushChanges:function(){var a,b,c,d=this.changedItems;for(a in d)b=d[a],b.observerContext.destroyed||(this.updateIndexes(b.observerContext.trackedArray,b.observerContext.dependentArray),c=new t(b.array,b.obj,b.observerContext.index,this.instanceMeta.propertyName,this.cp,d.length,b.previousValues),this.setValue(this.callbacks.removedItem.call(this.instanceMeta.context,this.getValue(),b.obj,c,this.instanceMeta.sugarMeta)),this.setValue(this.callbacks.addedItem.call(this.instanceMeta.context,this.getValue(),b.obj,c,this.instanceMeta.sugarMeta)));this.changedItems={},this.callbacks.flushedChanges.call(this.instanceMeta.context,this.getValue(),this.instanceMeta.sugarMeta)}},x.prototype={getValue:function(){var a=W(this.cache,this.propertyName);return void 0!==a?a:this.initialValue},setValue:function(a,b){a!==W(this.cache,this.propertyName)&&(b&&G(this.context,this.propertyName),void 0===a?X(this.cache,this.propertyName):V(this.cache,this.propertyName,a),b&&H(this.context,this.propertyName))}},n.ReduceComputedProperty=y,y.prototype=P(N.prototype),y.prototype._callbacks=function(){if(!this.callbacks){var a=this.options;this.callbacks={removedItem:a.removedItem||z,addedItem:a.addedItem||z,flushedChanges:a.flushedChanges||z}}return this.callbacks},y.prototype._hasInstanceMeta=function(a,b){return!!E(a).cacheMeta[b]},y.prototype._instanceMeta=function(a,b){var c=E(a).cacheMeta,d=c[b];return d||(d=c[b]=new x(a,b,this.initialValue()),d.dependentArraysObserver=new p(this._callbacks(),this,d,a,b,d.sugarMeta)),d},y.prototype.initialValue=function(){return"function"==typeof this.options.initialValue?this.options.initialValue():this.options.initialValue},y.prototype.resetValue=function(){return this.initialValue()},y.prototype.itemPropertyKey=function(a,b){this._itemPropertyKeys[a]=this._itemPropertyKeys[a]||[],this._itemPropertyKeys[a].push(b)},y.prototype.clearItemPropertyKeys=function(a){this._itemPropertyKeys[a]&&(this._previousItemPropertyKeys[a]=this._itemPropertyKeys[a],this._itemPropertyKeys[a]=[])},y.prototype.property=function(){var a,b,c=this,d=Y.call(arguments),e={};Q(d,function(d){if($.test(d))throw new F("Nested @each properties not supported: "+d);if(a=Z.exec(d)){b=a[1];var f=a[2],g=function(a){c.itemPropertyKey(b,a)};I(f,g),e[D(b)]=b}else e[D(d)]=d});var f=[];for(var g in e)f.push(e[g]);return N.prototype.property.apply(this,f)},n.reduceComputed=A}),a("ember-runtime/computed/reduce_computed_macros",["ember-metal/core","ember-metal/property_get","ember-metal/utils","ember-metal/error","ember-metal/enumerable_utils","ember-metal/run_loop","ember-metal/observer","ember-runtime/computed/array_computed","ember-runtime/computed/reduce_computed","ember-runtime/system/subarray","ember-metal/keys","ember-runtime/compare","exports"],function(a,b,c,d,e,f,g,h,i,j,k,l,m){"use strict";function n(a){return L(a,{initialValue:0,addedItem:function(a,b){return a+b},removedItem:function(a,b){return a-b}})}function o(a){return L(a,{initialValue:-1/0,addedItem:function(a,b){return Math.max(a,b)},removedItem:function(a,b){return a>b?a:void 0}})}function p(a){return L(a,{initialValue:1/0,addedItem:function(a,b){return Math.min(a,b)},removedItem:function(a,b){return b>a?a:void 0}})}function q(a,b){var c={addedItem:function(a,c,d){var e=b.call(this,c,d.index);return a.insertAt(d.index,e),a},removedItem:function(a,b,c){return a.removeAt(c.index,1),a}};return K(a,c)}function r(a,b){var c=function(a){return D(a,b)};return q(a+".@each."+b,c)}function s(a,b){var c={initialize:function(a,b,c){c.filteredArrayIndexes=new M},addedItem:function(a,c,d,e){var f=!!b.call(this,c,d.index),g=e.filteredArrayIndexes.addItem(d.index,f);return f&&a.insertAt(g,c),a},removedItem:function(a,b,c,d){var e=d.filteredArrayIndexes.removeItem(c.index);return e>-1&&a.removeAt(e),a}};return K(a,c)}function t(a,b,c){var d;return d=2===arguments.length?function(a){return D(a,b)}:function(a){return D(a,b)===c},s(a+".@each."+b,d)}function u(){var a=P.call(arguments);return a.push({initialize:function(a,b,c){c.itemCounts={}},addedItem:function(a,b,c,d){var e=F(b);return d.itemCounts[e]?++d.itemCounts[e]:(d.itemCounts[e]=1,a.pushObject(b)),a},removedItem:function(a,b,c,d){var e=F(b),f=d.itemCounts;return 0===--f[e]&&a.removeObject(b),a}}),K.apply(null,a)}function v(){var a=P.call(arguments);return a.push({initialize:function(a,b,c){c.itemCounts={}},addedItem:function(a,b,c,d){var e=F(b),f=F(c.arrayChanged),g=c.property._dependentKeys.length,h=d.itemCounts;return h[e]||(h[e]={}),void 0===h[e][f]&&(h[e][f]=0),1===++h[e][f]&&g===N(h[e]).length&&a.addObject(b),a},removedItem:function(a,b,c,d){var e,f=F(b),g=F(c.arrayChanged),h=d.itemCounts;return void 0===h[f][g]&&(h[f][g]=0),0===--h[f][g]&&(delete h[f][g],e=N(h[f]).length,0===e&&delete h[f],a.removeObject(b)),a}}),K.apply(null,a)}function w(a,b){if(2!==arguments.length)throw new G("setDiff requires exactly two dependent arrays.");return K(a,b,{addedItem:function(c,d,e){var f=D(this,a),g=D(this,b);return e.arrayChanged===f?g.contains(d)||c.addObject(d):c.removeObject(d),c},removedItem:function(c,d,e){var f=D(this,a),g=D(this,b);return e.arrayChanged===g?f.contains(d)&&c.addObject(d):c.removeObject(d),c}})}function x(a,b,c,d){var e,f,g,h,i;return arguments.length<4&&(d=D(a,"length")),arguments.length<3&&(c=0),c===d?c:(e=c+Math.floor((d-c)/2),f=a.objectAt(e),h=F(f),i=F(b),h===i?e:(g=this.order(f,b),0===g&&(g=i>h?-1:1),0>g?this.binarySearch(a,b,e+1,d):g>0?this.binarySearch(a,b,c,e):e))}function y(a,b){return C.assert("Ember.computed.sort requires two arguments: an array key to sort and either a sort properties key or sort function",2===arguments.length),"function"==typeof b?z(a,b):A(a,b)}function z(a,b){return K(a,{initialize:function(a,c,d){d.order=b,d.binarySearch=x,d.waitingInsertions=[],d.insertWaiting=function(){var b,c,e=d.waitingInsertions;d.waitingInsertions=[];for(var f=0;f=0&&c>a&&(b=this.lookupItemController(e))?this.controllerAt(a,e,b):e},arrangedContentDidChange:function(){this._super(),this._resetSubControllers()},arrayContentDidChange:function(a,b,c){var d=this._subControllers;if(d.length){var e=d.slice(a,a+b);l(e,function(a){a&&a.destroy()}),m(d,a,b,new Array(c))}this._super(a,b,c)},init:function(){this._super(),this._subControllers=[]},model:q(function(){return j.A()}),_isVirtual:!1,controllerAt:function(a,b,c){var d,e,f,g=k(this,"container"),h=this._subControllers;if(h.length>a&&(e=h[a]))return e;if(f=this._isVirtual?k(this,"parentController"):this,d="controller:"+c,!g.has(d))throw new r('Could not resolve itemController: "'+c+'"');return e=g.lookupFactory(d).create({target:f,parentController:f,model:b}),h[a]=e,e},_subControllers:null,_resetSubControllers:function(){var a,b=this._subControllers;if(b.length){for(var c=0,d=b.length;d>c;c++)a=b[c],a&&a.destroy();b.length=0}},willDestroy:function(){this._resetSubControllers(),this._super()}})}),a("ember-runtime/controllers/controller",["ember-metal/core","ember-runtime/system/object","ember-runtime/mixins/controller","ember-runtime/inject","exports"],function(a,b,c,d,e){"use strict";var f=(a["default"],b["default"]),g=c["default"],h=(d.createInjectionHelper,f.extend(g));e["default"]=h}),a("ember-runtime/controllers/object_controller",["ember-runtime/mixins/controller","ember-runtime/system/object_proxy","exports"],function(a,b,c){"use strict";var d=a["default"],e=b["default"];c["default"]=e.extend(d)}),a("ember-runtime/copy",["ember-metal/enumerable_utils","ember-metal/utils","ember-runtime/system/object","ember-runtime/mixins/copyable","exports"],function(a,b,c,d,f){"use strict";function g(a,b,c,d){var f,l,m;if("object"!=typeof a||null===a)return a;if(b&&(l=h(c,a))>=0)return d[l];if(e.assert("Cannot clone an Ember.Object that does not implement Ember.Copyable",!(a instanceof j)||k&&k.detect(a)),"array"===i(a)){if(f=a.slice(),b)for(l=f.length;--l>=0;)f[l]=g(f[l],b,c,d)}else if(k&&k.detect(a))f=a.copy(b,c,d);else if(a instanceof Date)f=new Date(a.getTime());else{f={};for(m in a)Object.prototype.hasOwnProperty.call(a,m)&&"__"!==m.substring(0,2)&&(f[m]=b?g(a[m],b,c,d):a[m])}return b&&(c.push(a),d.push(f)),f}var h=a.indexOf,i=b.typeOf,j=c["default"],k=d["default"];f["default"]=function(a,b){return"object"!=typeof a||null===a?a:k&&k.detect(a)?a.copy(b):g(a,b,b?[]:null,b?[]:null)}}),a("ember-runtime/core",["exports"],function(a){"use strict";var b=function(a,b){return a&&"function"==typeof a.isEqual?a.isEqual(b):a instanceof Date&&b instanceof Date?a.getTime()===b.getTime():a===b};a.isEqual=b}),a("ember-runtime/ext/function",["ember-metal/core","ember-metal/expand_properties","ember-metal/computed","ember-metal/mixin"],function(a,b,c,d){"use strict";var e=a["default"],f=b["default"],g=c.computed,h=d.observer,i=Array.prototype.slice,j=Function.prototype;(e.EXTEND_PROTOTYPES===!0||e.EXTEND_PROTOTYPES.Function)&&(j.property=function(){var a=g(this);return a.property.apply(a,arguments)},j.observes=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];return h.apply(this,b.concat(this))},j.observesImmediately=function(){for(var a=0,b=arguments.length;b>a;a++){var c=arguments[a];e.assert("Immediate observers must observe internal properties only, not properties on other objects.",-1===c.indexOf("."))}return this.observes.apply(this,arguments)},j.observesBefore=function(){for(var a=[],b=function(b){a.push(b)},c=0,d=arguments.length;d>c;++c)f(arguments[c],b);return this.__ember_observesBefore__=a,this},j.on=function(){var a=i.call(arguments);return this.__ember_listens__=a,this})}),a("ember-runtime/ext/rsvp",["ember-metal/core","ember-metal/logger","ember-metal/run_loop","rsvp","exports"],function(a,c,d,e,f){"use strict";var g,h=a["default"],i=c["default"],j=d["default"],k=e,l="ember-testing/test",m=function(){h.Test&&h.Test.adapter&&h.Test.adapter.asyncStart()},n=function(){h.Test&&h.Test.adapter&&h.Test.adapter.asyncEnd()};k.configure("async",function(a,b){var c=!j.currentRunLoop;h.testing&&c&&m(),j.backburner.schedule("actions",function(){h.testing&&c&&n(),a(b)})}),k.Promise.prototype.fail=function(a,b){return h.deprecate("RSVP.Promise.fail has been renamed as RSVP.Promise.catch"),this["catch"](a,b)},k.onerrorDefault=function(a){if(a&&"TransitionAborted"!==a.name)if(h.testing){if(!g&&h.__loader.registry[l]&&(g=b(l)["default"]),!g||!g.adapter)throw a;g.adapter.exception(a),i.error(a.stack)}else h.onerror?h.onerror(a):(i.error(a.stack),h.assert(a,!1))},k.on("error",k.onerrorDefault),f["default"]=k}),a("ember-runtime/ext/string",["ember-metal/core","ember-runtime/system/string"],function(a,b){"use strict";var c=a["default"],d=b.fmt,e=b.w,f=b.loc,g=b.camelize,h=b.decamelize,i=b.dasherize,j=b.underscore,k=b.capitalize,l=b.classify,m=String.prototype;(c.EXTEND_PROTOTYPES===!0||c.EXTEND_PROTOTYPES.String)&&(m.fmt=function(){return d(this,arguments)},m.w=function(){return e(this)},m.loc=function(){return f(this,arguments)},m.camelize=function(){return g(this)},m.decamelize=function(){return h(this)},m.dasherize=function(){return i(this)},m.underscore=function(){return j(this)},m.classify=function(){return l(this)},m.capitalize=function(){return k(this)})}),a("ember-runtime/inject",["ember-metal/core","ember-metal/enumerable_utils","ember-metal/injected_property","ember-metal/keys","exports"],function(a,b,c,d,e){"use strict";function f(){i.assert("Injected properties must be created through helpers, see `"+l(f).join("`, `")+"`")}function g(a,b){m[a]=b,f[a]=function(b){return new k(a,b)}}function h(a,b){var c,d,e,f,g,h=[];for(c in b)d=b[c],d instanceof k&&-1===j(h,d.type)&&h.push(d.type);if(h.length)for(f=0,g=h.length;g>f;f++)e=m[h[f]],"function"==typeof e&&e(a);return!0}var i=a["default"],j=b.indexOf,k=c["default"],l=d["default"],m={};e.createInjectionHelper=g,e.validatePropertyInjections=h,e["default"]=f}),a("ember-runtime/mixins/-proxy",["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/utils","ember-metal/observer","ember-metal/property_events","ember-metal/computed","ember-metal/properties","ember-metal/mixin","ember-runtime/system/string","exports"],function(a,b,c,d,e,f,g,h,i,j,k){"use strict";function l(a,b){var c=b.slice(8);c in this||v(this,c)}function m(a,b){var c=b.slice(8);c in this||w(this,c)}var n=a["default"],o=b.get,p=c.set,q=d.meta,r=e.addObserver,s=e.removeObserver,t=e.addBeforeObserver,u=e.removeBeforeObserver,v=f.propertyWillChange,w=f.propertyDidChange,x=g.computed,y=h.defineProperty,z=i.Mixin,A=i.observer,B=j.fmt;k["default"]=z.create({content:null,_contentDidChange:A("content",function(){n.assert("Can't set Proxy's content to itself",o(this,"content")!==this)}),isTruthy:x.bool("content"),_debugContainerKey:null,willWatchProperty:function(a){var b="content."+a;t(this,b,null,l),r(this,b,null,m)},didUnwatchProperty:function(a){var b="content."+a;u(this,b,null,l),s(this,b,null,m)},unknownProperty:function(a){var b=o(this,"content");return b?o(b,a):void 0},setUnknownProperty:function(a,b){var c=q(this);if(c.proto===this)return y(this,a,null,b),b;var d=o(this,"content");return n.assert(B("Cannot delegate set('%@', %@) to the 'content' property of object proxy %@: its 'content' is undefined.",[a,b,this]),d),p(d,a,b)}})}),a("ember-runtime/mixins/action_handler",["ember-metal/merge","ember-metal/mixin","ember-metal/property_get","ember-metal/utils","exports"],function(a,b,c,d,f){"use strict";var g=a["default"],h=b.Mixin,i=c.get,j=d.typeOf,k=h.create({mergedProperties:["_actions"],willMergeMixin:function(a){var b;a._actions||(e.assert("'actions' should not be a function","function"!=typeof a.actions),"object"===j(a.actions)?b="actions":"object"===j(a.events)&&(e.deprecate("Action handlers contained in an `events` object are deprecated in favor of putting them in an `actions` object",!1),b="events"),b&&(a._actions=g(a._actions||{},a[b])),delete a[b])},send:function(a){var b,c=[].slice.call(arguments,1);this._actions&&this._actions[a]&&this._actions[a].apply(this,c)!==!0||(b=i(this,"target"))&&(e.assert("The `target` for "+this+" ("+b+") does not have a `send` method","function"==typeof b.send),b.send.apply(b,arguments))}});f["default"]=k}),a("ember-runtime/mixins/array",["ember-metal/core","ember-metal/property_get","ember-metal/computed","ember-metal/is_none","ember-runtime/mixins/enumerable","ember-metal/enumerable_utils","ember-metal/mixin","ember-metal/property_events","ember-metal/events","ember-metal/watching","exports"],function(a,c,d,e,f,g,h,i,j,k,l){"use strict";function m(a,b,c,d,e){var f=c&&c.willChange||"arrayWillChange",g=c&&c.didChange||"arrayDidChange",h=o(a,"hasArrayObservers");return h===e&&w(a,"hasArrayObservers"),d(a,"@array:before",b,f),d(a,"@array:change",b,g),h===e&&x(a,"hasArrayObservers"),a}var n=a["default"],o=c.get,p=d.computed,q=d.cacheFor,r=e["default"],s=f["default"],t=g.map,u=h.Mixin,v=h.required,w=i.propertyWillChange,x=i.propertyDidChange,y=j.addListener,z=j.removeListener,A=j.sendEvent,B=j.hasListeners,C=k.isWatching;l["default"]=u.create(s,{length:v(),objectAt:function(a){return 0>a||a>=o(this,"length")?void 0:o(this,a)},objectsAt:function(a){var b=this;return t(a,function(a){return b.objectAt(a)})},nextObject:function(a){return this.objectAt(a)},"[]":p(function(a,b){return void 0!==b&&this.replace(0,o(this,"length"),b),this}),firstObject:p(function(){return this.objectAt(0)}),lastObject:p(function(){return this.objectAt(o(this,"length")-1)}),contains:function(a){return this.indexOf(a)>=0},slice:function(a,b){var c=n.A(),d=o(this,"length");for(r(a)&&(a=0),(r(b)||b>d)&&(b=d),0>a&&(a=d+a),0>b&&(b=d+b);b>a;)c[c.length]=this.objectAt(a++);return c},indexOf:function(a,b){var c,d=o(this,"length");for(void 0===b&&(b=0),0>b&&(b+=d),c=b;d>c;c++)if(this.objectAt(c)===a)return c;return-1},lastIndexOf:function(a,b){var c,d=o(this,"length");for((void 0===b||b>=d)&&(b=d-1),0>b&&(b+=d),c=b;c>=0;c--)if(this.objectAt(c)===a)return c;return-1},addArrayObserver:function(a,b){return m(this,a,b,y,!1)},removeArrayObserver:function(a,b){return m(this,a,b,z,!0)},hasArrayObservers:p(function(){return B(this,"@array:change")||B(this,"@array:before")}),arrayContentWillChange:function(a,b,c){var d,e;if(void 0===a?(a=0,b=c=-1):(void 0===b&&(b=-1),void 0===c&&(c=-1)),C(this,"@each")&&o(this,"@each"),A(this,"@array:before",[this,a,b,c]),a>=0&&b>=0&&o(this,"hasEnumerableObservers")){d=[],e=a+b;for(var f=a;e>f;f++)d.push(this.objectAt(f))}else d=b;return this.enumerableContentWillChange(d,c),this},arrayContentDidChange:function(a,b,c){var d,e;if(void 0===a?(a=0,b=c=-1):(void 0===b&&(b=-1),void 0===c&&(c=-1)),a>=0&&c>=0&&o(this,"hasEnumerableObservers")){d=[],e=a+c;for(var f=a;e>f;f++)d.push(this.objectAt(f))}else d=c;this.enumerableContentDidChange(b,d),A(this,"@array:change",[this,a,b,c]);var g=o(this,"length"),h=q(this,"firstObject"),i=q(this,"lastObject");return this.objectAt(0)!==h&&(w(this,"firstObject"),x(this,"firstObject")),this.objectAt(g-1)!==i&&(w(this,"lastObject"),x(this,"lastObject")),this},"@each":p(function(){if(!this.__each){var a=b("ember-runtime/system/each_proxy").EachProxy;this.__each=new a(this)}return this.__each})})}),a("ember-runtime/mixins/comparable",["ember-metal/mixin","exports"],function(a,b){"use strict";var c=a.Mixin,d=a.required;b["default"]=c.create({compare:d(Function)})}),a("ember-runtime/mixins/controller",["ember-metal/mixin","ember-metal/computed","ember-runtime/mixins/action_handler","ember-runtime/mixins/controller_content_model_alias_deprecation","exports"],function(a,b,c,d,e){"use strict";var f=a.Mixin,g=b.computed,h=c["default"],i=d["default"];e["default"]=f.create(h,i,{isController:!0,target:null,container:null,parentController:null,store:null,model:null,content:g.alias("model")})}),a("ember-runtime/mixins/controller_content_model_alias_deprecation",["ember-metal/core","ember-metal/mixin","exports"],function(a,b,c){"use strict";var d=a["default"],e=b.Mixin;c["default"]=e.create({willMergeMixin:function(a){this._super.apply(this,arguments);var b=!!a.model;a.content&&!b&&(a.model=a.content,delete a.content,d.deprecate("Do not specify `content` on a Controller, use `model` instead.",!1))}})}),a("ember-runtime/mixins/copyable",["ember-metal/property_get","ember-metal/mixin","ember-runtime/mixins/freezable","ember-runtime/system/string","ember-metal/error","exports"],function(a,b,c,d,e,f){"use strict";var g=a.get,h=b.required,i=c.Freezable,j=b.Mixin,k=d.fmt,l=e["default"];f["default"]=j.create({copy:h(Function),frozenCopy:function(){if(i&&i.detect(this))return g(this,"isFrozen")?this:this.copy().freeze();throw new l(k("%@ does not support freezing",[this]))}})}),a("ember-runtime/mixins/deferred",["ember-metal/core","ember-metal/property_get","ember-metal/mixin","ember-metal/computed","ember-runtime/ext/rsvp","exports"],function(a,b,c,d,e,f){"use strict";var g=a["default"],h=b.get,i=c.Mixin,j=d.computed,k=e["default"];f["default"]=i.create({then:function(a,b,c){function d(b){return a(b===f?g:b)}var e,f,g;return g=this,e=h(this,"_deferred"),f=e.promise,f.then(a&&d,b,c)},resolve:function(a){var b,c;b=h(this,"_deferred"),c=b.promise,b.resolve(a===this?c:a)},reject:function(a){h(this,"_deferred").reject(a)},_deferred:j(function(){return g.deprecate("Usage of Ember.DeferredMixin or Ember.Deferred is deprecated.",this._suppressDeferredDeprecation),k.defer("Ember: DeferredMixin - "+this)})})}),a("ember-runtime/mixins/enumerable",["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/utils","ember-metal/mixin","ember-metal/enumerable_utils","ember-metal/computed","ember-metal/property_events","ember-metal/events","ember-runtime/compare","exports"],function(a,b,c,d,e,f,g,h,i,j,k){"use strict";function l(){return 0===F.length?{}:F.pop()}function m(a){return F.push(a),null}function n(a,b){function c(c){var e=p(c,a);return d?b===e:!!e}var d=2===arguments.length;return c}var o=a["default"],p=b.get,q=c.set,r=d.apply,s=e.Mixin,t=e.required,u=e.aliasMethod,v=f.indexOf,w=g.computed,x=h.propertyWillChange,y=h.propertyDidChange,z=i.addListener,A=i.removeListener,B=i.sendEvent,C=i.hasListeners,D=j["default"],E=Array.prototype.slice,F=[];k["default"]=s.create({nextObject:t(Function),firstObject:w("[]",function(){if(0===p(this,"length"))return void 0;var a=l(),b=this.nextObject(0,null,a);return m(a),b}),lastObject:w("[]",function(){var a=p(this,"length");if(0===a)return void 0;var b,c=l(),d=0,e=null;do e=b,b=this.nextObject(d++,e,c);while(void 0!==b);return m(c),e}),contains:function(a){var b=this.find(function(b){return b===a});return void 0!==b},forEach:function(a,b){if("function"!=typeof a)throw new TypeError;var c=l(),d=p(this,"length"),e=null;void 0===b&&(b=null);for(var f=0;d>f;f++){var g=this.nextObject(f,e,c);a.call(b,g,f,this),e=g}return e=null,c=m(c),this},getEach:function(a){return this.mapBy(a)},setEach:function(a,b){return this.forEach(function(c){q(c,a,b)})},map:function(a,b){var c=o.A();return this.forEach(function(d,e,f){c[e]=a.call(b,d,e,f)}),c},mapBy:function(a){return this.map(function(b){return p(b,a)})},mapProperty:u("mapBy"),filter:function(a,b){var c=o.A();return this.forEach(function(d,e,f){a.call(b,d,e,f)&&c.push(d)}),c},reject:function(a,b){return this.filter(function(){return!r(b,a,arguments)})},filterBy:function(){return this.filter(r(this,n,arguments))},filterProperty:u("filterBy"),rejectBy:function(a,b){var c=function(c){return p(c,a)===b},d=function(b){return!!p(b,a)},e=2===arguments.length?c:d;return this.reject(e)},rejectProperty:u("rejectBy"),find:function(a,b){var c=p(this,"length");void 0===b&&(b=null);for(var d,e,f=l(),g=!1,h=null,i=0;c>i&&!g;i++)d=this.nextObject(i,h,f),(g=a.call(b,d,i,this))&&(e=d),h=d;return d=h=null,f=m(f),e},findBy:function(){return this.find(r(this,n,arguments))},findProperty:u("findBy"),every:function(a,b){return!this.find(function(c,d,e){return!a.call(b,c,d,e)})},everyBy:u("isEvery"),everyProperty:u("isEvery"),isEvery:function(){return this.every(r(this,n,arguments))},any:function(a,b){var c,d,e=p(this,"length"),f=l(),g=!1,h=null;for(void 0===b&&(b=null),d=0;e>d&&!g;d++)c=this.nextObject(d,h,f),g=a.call(b,c,d,this),h=c;return c=h=null,f=m(f),g},some:u("any"),isAny:function(){return this.any(r(this,n,arguments))},anyBy:u("isAny"),someProperty:u("isAny"),reduce:function(a,b,c){if("function"!=typeof a)throw new TypeError;var d=b;return this.forEach(function(b,e){d=a(d,b,e,this,c)},this),d},invoke:function(a){var b,c=o.A();return arguments.length>1&&(b=E.call(arguments,1)),this.forEach(function(d,e){var f=d&&d[a];"function"==typeof f&&(c[e]=b?r(d,f,b):d[a]()) -},this),c},toArray:function(){var a=o.A();return this.forEach(function(b,c){a[c]=b}),a},compact:function(){return this.filter(function(a){return null!=a})},without:function(a){if(!this.contains(a))return this;var b=o.A();return this.forEach(function(c){c!==a&&(b[b.length]=c)}),b},uniq:function(){var a=o.A();return this.forEach(function(b){v(a,b)<0&&a.push(b)}),a},"[]":w(function(){return this}),addEnumerableObserver:function(a,b){var c=b&&b.willChange||"enumerableWillChange",d=b&&b.didChange||"enumerableDidChange",e=p(this,"hasEnumerableObservers");return e||x(this,"hasEnumerableObservers"),z(this,"@enumerable:before",a,c),z(this,"@enumerable:change",a,d),e||y(this,"hasEnumerableObservers"),this},removeEnumerableObserver:function(a,b){var c=b&&b.willChange||"enumerableWillChange",d=b&&b.didChange||"enumerableDidChange",e=p(this,"hasEnumerableObservers");return e&&x(this,"hasEnumerableObservers"),A(this,"@enumerable:before",a,c),A(this,"@enumerable:change",a,d),e&&y(this,"hasEnumerableObservers"),this},hasEnumerableObservers:w(function(){return C(this,"@enumerable:change")||C(this,"@enumerable:before")}),enumerableContentWillChange:function(a,b){var c,d,e;return c="number"==typeof a?a:a?p(a,"length"):a=-1,d="number"==typeof b?b:b?p(b,"length"):b=-1,e=0>d||0>c||d-c!==0,-1===a&&(a=null),-1===b&&(b=null),x(this,"[]"),e&&x(this,"length"),B(this,"@enumerable:before",[this,a,b]),this},enumerableContentDidChange:function(a,b){var c,d,e;return c="number"==typeof a?a:a?p(a,"length"):a=-1,d="number"==typeof b?b:b?p(b,"length"):b=-1,e=0>d||0>c||d-c!==0,-1===a&&(a=null),-1===b&&(b=null),B(this,"@enumerable:change",[this,a,b]),e&&y(this,"length"),y(this,"[]"),this},sortBy:function(){var a=arguments;return this.toArray().sort(function(b,c){for(var d=0;dd;d++)c[d-1]=arguments[d];h(this,a,c)},off:function(a,b,c){return f(this,a,b,c),this},has:function(a){return g(this,a)}})}),a("ember-runtime/mixins/freezable",["ember-metal/mixin","ember-metal/property_get","ember-metal/property_set","exports"],function(a,b,c,d){"use strict";var e=a.Mixin,f=b.get,g=c.set,h=e.create({isFrozen:!1,freeze:function(){return f(this,"isFrozen")?this:(g(this,"isFrozen",!0),this)}});d.Freezable=h;var i="Frozen object cannot be modified.";d.FROZEN_ERROR=i}),a("ember-runtime/mixins/mutable_array",["ember-metal/property_get","ember-metal/utils","ember-metal/error","ember-metal/mixin","ember-runtime/mixins/array","ember-runtime/mixins/mutable_enumerable","ember-runtime/mixins/enumerable","exports"],function(a,b,c,d,e,f,g,h){"use strict";var i="Index out of range",j=[],k=a.get,l=b.isArray,m=c["default"],n=d.Mixin,o=d.required,p=e["default"],q=f["default"],r=g["default"];h["default"]=n.create(p,q,{replace:o(),clear:function(){var a=k(this,"length");return 0===a?this:(this.replace(0,a,j),this)},insertAt:function(a,b){if(a>k(this,"length"))throw new m(i);return this.replace(a,0,[b]),this},removeAt:function(a,b){if("number"==typeof a){if(0>a||a>=k(this,"length"))throw new m(i);void 0===b&&(b=1),this.replace(a,b,j)}return this},pushObject:function(a){return this.insertAt(k(this,"length"),a),a},pushObjects:function(a){if(!r.detect(a)&&!l(a))throw new TypeError("Must pass Ember.Enumerable to Ember.MutableArray#pushObjects");return this.replace(k(this,"length"),0,a),this},popObject:function(){var a=k(this,"length");if(0===a)return null;var b=this.objectAt(a-1);return this.removeAt(a-1,1),b},shiftObject:function(){if(0===k(this,"length"))return null;var a=this.objectAt(0);return this.removeAt(0),a},unshiftObject:function(a){return this.insertAt(0,a),a},unshiftObjects:function(a){return this.replace(0,0,a),this},reverseObjects:function(){var a=k(this,"length");if(0===a)return this;var b=this.toArray().reverse();return this.replace(0,a,b),this},setObjects:function(a){if(0===a.length)return this.clear();var b=k(this,"length");return this.replace(0,b,a),this},removeObject:function(a){for(var b=k(this,"length")||0;--b>=0;){var c=this.objectAt(b);c===a&&this.removeAt(b)}return this},addObject:function(a){return this.contains(a)||this.pushObject(a),this}})}),a("ember-runtime/mixins/mutable_enumerable",["ember-metal/enumerable_utils","ember-runtime/mixins/enumerable","ember-metal/mixin","ember-metal/property_events","exports"],function(a,b,c,d,e){"use strict";var f=a.forEach,g=b["default"],h=c.Mixin,i=c.required,j=d.beginPropertyChanges,k=d.endPropertyChanges;e["default"]=h.create(g,{addObject:i(Function),addObjects:function(a){return j(this),f(a,function(a){this.addObject(a)},this),k(this),this},removeObject:i(Function),removeObjects:function(a){j(this);for(var b=a.length-1;b>=0;b--)this.removeObject(a[b]);return k(this),this}})}),a("ember-runtime/mixins/observable",["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/utils","ember-metal/get_properties","ember-metal/set_properties","ember-metal/mixin","ember-metal/events","ember-metal/property_events","ember-metal/observer","ember-metal/computed","ember-metal/is_none","exports"],function(a,b,c,d,e,f,g,h,i,j,k,l,m){"use strict";var n=a["default"],o=b.get,p=b.getWithDefault,q=c.set,r=d.apply,s=e["default"],t=f["default"],u=g.Mixin,v=h.hasListeners,w=i.beginPropertyChanges,x=i.propertyWillChange,y=i.propertyDidChange,z=i.endPropertyChanges,A=j.addObserver,B=j.addBeforeObserver,C=j.removeObserver,D=j.observersFor,E=k.cacheFor,F=l["default"],G=Array.prototype.slice;m["default"]=u.create({get:function(a){return o(this,a)},getProperties:function(){return r(null,s,[this].concat(G.call(arguments)))},set:function(a,b){return q(this,a,b),this},setProperties:function(a){return t(this,a)},beginPropertyChanges:function(){return w(),this},endPropertyChanges:function(){return z(),this},propertyWillChange:function(a){return x(this,a),this},propertyDidChange:function(a){return y(this,a),this},notifyPropertyChange:function(a){return this.propertyWillChange(a),this.propertyDidChange(a),this},addBeforeObserver:function(a,b,c){B(this,a,b,c)},addObserver:function(a,b,c){A(this,a,b,c)},removeObserver:function(a,b,c){C(this,a,b,c)},hasObserverFor:function(a){return v(this,a+":change")},getWithDefault:function(a,b){return p(this,a,b)},incrementProperty:function(a,b){return F(b)&&(b=1),n.assert("Must pass a numeric value to incrementProperty",!isNaN(parseFloat(b))&&isFinite(b)),q(this,a,(parseFloat(o(this,a))||0)+b),o(this,a)},decrementProperty:function(a,b){return F(b)&&(b=1),n.assert("Must pass a numeric value to decrementProperty",!isNaN(parseFloat(b))&&isFinite(b)),q(this,a,(o(this,a)||0)-b),o(this,a)},toggleProperty:function(a){return q(this,a,!o(this,a)),o(this,a)},cacheFor:function(a){return E(this,a)},observersForKey:function(a){return D(this,a)}})}),a("ember-runtime/mixins/promise_proxy",["ember-metal/property_get","ember-metal/set_properties","ember-metal/computed","ember-metal/mixin","ember-metal/error","exports"],function(a,b,c,d,e,f){"use strict";function g(a,b){return j(a,{isFulfilled:!1,isRejected:!1}),b.then(function(b){return j(a,{content:b,isFulfilled:!0}),b},function(b){throw j(a,{reason:b,isRejected:!0}),b},"Ember: PromiseProxy")}function h(a){return function(){var b=i(this,"promise");return b[a].apply(b,arguments)}}var i=a.get,j=b["default"],k=c.computed,l=d.Mixin,m=e["default"],n=k.not,o=k.or;f["default"]=l.create({reason:null,isPending:n("isSettled").readOnly(),isSettled:o("isRejected","isFulfilled").readOnly(),isRejected:!1,isFulfilled:!1,promise:k(function(a,b){if(2===arguments.length)return g(this,b);throw new m("PromiseProxy's promise must be set")}),then:h("then"),"catch":h("catch"),"finally":h("finally")})}),a("ember-runtime/mixins/sortable",["ember-metal/core","ember-metal/property_get","ember-metal/enumerable_utils","ember-metal/mixin","ember-runtime/mixins/mutable_enumerable","ember-runtime/compare","ember-metal/observer","ember-metal/computed","exports"],function(a,b,c,d,e,f,g,h,i){"use strict";var j=a["default"],k=b.get,l=c.forEach,m=d.Mixin,n=e["default"],o=f["default"],p=g.addObserver,q=g.removeObserver,r=h.computed,s=d.beforeObserver,t=d.observer;i["default"]=m.create(n,{sortProperties:null,sortAscending:!0,sortFunction:o,orderBy:function(a,b){var c=0,d=k(this,"sortProperties"),e=k(this,"sortAscending"),f=k(this,"sortFunction");return j.assert("you need to define `sortProperties`",!!d),l(d,function(d){0===c&&(c=f.call(this,k(a,d),k(b,d)),0===c||e||(c=-1*c))},this),c},destroy:function(){var a=k(this,"content"),b=k(this,"sortProperties");return a&&b&&l(a,function(a){l(b,function(b){q(a,b,this,"contentItemSortPropertyDidChange")},this)},this),this._super()},isSorted:r.notEmpty("sortProperties"),arrangedContent:r("content","sortProperties.@each",function(){var a=k(this,"content"),b=k(this,"isSorted"),c=k(this,"sortProperties"),d=this;return a&&b?(a=a.slice(),a.sort(function(a,b){return d.orderBy(a,b)}),l(a,function(a){l(c,function(b){p(a,b,this,"contentItemSortPropertyDidChange")},this)},this),j.A(a)):a}),_contentWillChange:s("content",function(){var a=k(this,"content"),b=k(this,"sortProperties");a&&b&&l(a,function(a){l(b,function(b){q(a,b,this,"contentItemSortPropertyDidChange")},this)},this),this._super()}),sortPropertiesWillChange:s("sortProperties",function(){this._lastSortAscending=void 0}),sortPropertiesDidChange:t("sortProperties",function(){this._lastSortAscending=void 0}),sortAscendingWillChange:s("sortAscending",function(){this._lastSortAscending=k(this,"sortAscending")}),sortAscendingDidChange:t("sortAscending",function(){if(void 0!==this._lastSortAscending&&k(this,"sortAscending")!==this._lastSortAscending){var a=k(this,"arrangedContent");a.reverseObjects()}}),contentArrayWillChange:function(a,b,c,d){var e=k(this,"isSorted");if(e){var f=k(this,"arrangedContent"),g=a.slice(b,b+c),h=k(this,"sortProperties");l(g,function(a){f.removeObject(a),l(h,function(b){q(a,b,this,"contentItemSortPropertyDidChange")},this)},this)}return this._super(a,b,c,d)},contentArrayDidChange:function(a,b,c,d){var e=k(this,"isSorted"),f=k(this,"sortProperties");if(e){var g=a.slice(b,b+d);l(g,function(a){this.insertItemSorted(a),l(f,function(b){p(a,b,this,"contentItemSortPropertyDidChange")},this)},this)}return this._super(a,b,c,d)},insertItemSorted:function(a){var b=k(this,"arrangedContent"),c=k(b,"length"),d=this._binarySearch(a,0,c);b.insertAt(d,a)},contentItemSortPropertyDidChange:function(a){var b=k(this,"arrangedContent"),c=b.indexOf(a),d=b.objectAt(c-1),e=b.objectAt(c+1),f=d&&this.orderBy(a,d),g=e&&this.orderBy(a,e);(0>f||g>0)&&(b.removeObject(a),this.insertItemSorted(a))},_binarySearch:function(a,b,c){var d,e,f,g;return b===c?b:(g=k(this,"arrangedContent"),d=b+Math.floor((c-b)/2),e=g.objectAt(d),f=this.orderBy(e,a),0>f?this._binarySearch(a,d+1,c):f>0?this._binarySearch(a,b,d):d)}})}),a("ember-runtime/mixins/target_action_support",["ember-metal/core","ember-metal/property_get","ember-metal/utils","ember-metal/mixin","ember-metal/computed","exports"],function(a,b,c,d,e,f){"use strict";var g=a["default"],h=b.get,i=c.typeOf,j=d.Mixin,k=e.computed,l=j.create({target:null,action:null,actionContext:null,targetObject:k(function(){var a=h(this,"target");if("string"===i(a)){var b=h(this,a);return void 0===b&&(b=h(g.lookup,a)),b}return a}).property("target"),actionContextObject:k(function(){var a=h(this,"actionContext");if("string"===i(a)){var b=h(this,a);return void 0===b&&(b=h(g.lookup,a)),b}return a}).property("actionContext"),triggerAction:function(a){function b(a,b){var c=[];return b&&c.push(b),c.concat(a)}a=a||{};var c=a.action||h(this,"action"),d=a.target||h(this,"targetObject"),e=a.actionContext;if("undefined"==typeof e&&(e=h(this,"actionContextObject")||this),d&&c){var f;return d.send?f=d.send.apply(d,b(e,c)):(g.assert("The action '"+c+"' did not exist on "+d,"function"==typeof d[c]),f=d[c].apply(d,b(e))),f!==!1&&(f=!0),f}return!1}});f["default"]=l}),a("ember-runtime/system/application",["ember-runtime/system/namespace","exports"],function(a,b){"use strict";var c=a["default"];b["default"]=c.extend()}),a("ember-runtime/system/array_proxy",["ember-metal/core","ember-metal/property_get","ember-metal/utils","ember-metal/computed","ember-metal/mixin","ember-metal/property_events","ember-metal/error","ember-runtime/system/object","ember-runtime/mixins/mutable_array","ember-runtime/mixins/enumerable","ember-runtime/system/string","ember-metal/alias","exports"],function(a,b,c,d,e,f,g,h,i,j,k,l,m){"use strict";var n=a["default"],o=b.get,p=c.isArray,q=c.apply,r=d.computed,s=e.beforeObserver,t=e.observer,u=f.beginPropertyChanges,v=f.endPropertyChanges,w=g["default"],x=h["default"],y=i["default"],z=j["default"],A=k.fmt,B=l["default"],C="Index out of range",D=[],E=n.K,F=x.extend(y,{content:null,arrangedContent:B("content"),objectAtContent:function(a){return o(this,"arrangedContent").objectAt(a)},replaceContent:function(a,b,c){o(this,"content").replace(a,b,c)},_contentWillChange:s("content",function(){this._teardownContent()}),_teardownContent:function(){var a=o(this,"content");a&&a.removeArrayObserver(this,{willChange:"contentArrayWillChange",didChange:"contentArrayDidChange"})},contentArrayWillChange:E,contentArrayDidChange:E,_contentDidChange:t("content",function(){var a=o(this,"content");n.assert("Can't set ArrayProxy's content to itself",a!==this),this._setupContent()}),_setupContent:function(){var a=o(this,"content");a&&(n.assert(A("ArrayProxy expects an Array or Ember.ArrayProxy, but you passed %@",[typeof a]),p(a)||a.isDestroyed),a.addArrayObserver(this,{willChange:"contentArrayWillChange",didChange:"contentArrayDidChange"}))},_arrangedContentWillChange:s("arrangedContent",function(){var a=o(this,"arrangedContent"),b=a?o(a,"length"):0;this.arrangedContentArrayWillChange(this,0,b,void 0),this.arrangedContentWillChange(this),this._teardownArrangedContent(a)}),_arrangedContentDidChange:t("arrangedContent",function(){var a=o(this,"arrangedContent"),b=a?o(a,"length"):0;n.assert("Can't set ArrayProxy's content to itself",a!==this),this._setupArrangedContent(),this.arrangedContentDidChange(this),this.arrangedContentArrayDidChange(this,0,void 0,b)}),_setupArrangedContent:function(){var a=o(this,"arrangedContent");a&&(n.assert(A("ArrayProxy expects an Array or Ember.ArrayProxy, but you passed %@",[typeof a]),p(a)||a.isDestroyed),a.addArrayObserver(this,{willChange:"arrangedContentArrayWillChange",didChange:"arrangedContentArrayDidChange"}))},_teardownArrangedContent:function(){var a=o(this,"arrangedContent");a&&a.removeArrayObserver(this,{willChange:"arrangedContentArrayWillChange",didChange:"arrangedContentArrayDidChange"})},arrangedContentWillChange:E,arrangedContentDidChange:E,objectAt:function(a){return o(this,"content")&&this.objectAtContent(a)},length:r(function(){var a=o(this,"arrangedContent");return a?o(a,"length"):0}),_replace:function(a,b,c){var d=o(this,"content");return n.assert("The content property of "+this.constructor+" should be set before modifying it",d),d&&this.replaceContent(a,b,c),this},replace:function(){if(o(this,"arrangedContent")!==o(this,"content"))throw new w("Using replace on an arranged ArrayProxy is not allowed.");q(this,this._replace,arguments)},_insertAt:function(a,b){if(a>o(this,"content.length"))throw new w(C);return this._replace(a,0,[b]),this},insertAt:function(a,b){if(o(this,"arrangedContent")===o(this,"content"))return this._insertAt(a,b);throw new w("Using insertAt on an arranged ArrayProxy is not allowed.")},removeAt:function(a,b){if("number"==typeof a){var c,d=o(this,"content"),e=o(this,"arrangedContent"),f=[];if(0>a||a>=o(this,"length"))throw new w(C);for(void 0===b&&(b=1),c=a;a+b>c;c++)f.push(d.indexOf(e.objectAt(c)));for(f.sort(function(a,b){return b-a}),u(),c=0;cj;j++){var l=h[j];if(u.assert("Ember.Object.create no longer supports mixing in other definitions, use createWithMixins instead.",!(l instanceof G)),"object"!=typeof l&&void 0!==l)throw new J("Ember.Object.create only accepts objects.");if(l)for(var m=L(l),n=0,o=m.length;o>n;n++){var p=m[n],q=l[p];if(F.test(p)){var r=e.bindings;r?e.hasOwnProperty("bindings")||(r=e.bindings=y(e.bindings)):r=e.bindings={},r[p]=q}var s=e.descs[p];if(u.assert("Ember.Object.create no longer supports defining computed properties. Define computed properties using extend() or reopen() before calling create().",!(q instanceof P)),u.assert("Ember.Object.create no longer supports defining methods that call _super.",!("function"==typeof q&&-1!==q.toString().indexOf("._super"))),u.assert("`actions` must be provided at extend time, not at create time, when Ember.ActionHandler is used (i.e. views, controllers & routes).",!("actions"===p&&M.detect(this))),i&&i.length>0&&I(i,p)>=0){var t=this[p];q=t?"function"==typeof t.concat?t.concat(q):C(t).concat(q):C(q)}s?s.set(this,p,q):"function"!=typeof this.setUnknownProperty||p in this?U?N(this,p,null,q):this[p]=q:this.setUnknownProperty(p,q)}}}X(this,e);for(var v=arguments.length,w=new Array(v),z=0;v>z;z++)w[z]=arguments[z];x(this,this.init,w),e.proto=f,D(this),E(this,"init")};return d.toString=G.prototype.toString,d.willReopen=function(){c&&(d.PrototypeMixin=G.create(d.PrototypeMixin)),c=!1},d._initMixins=function(b){a=b},d._initProperties=function(a){b=a},d.proto=function(){var a=d.superclass;return a&&a.proto(),c||(c=!0,d.PrototypeMixin.applyPartial(d.prototype)),this.prototype},d}function t(a){return function(){return a}}var u=a["default"],v=b.get,w=c.guidFor,x=c.apply,y=d.create,z=c.generateGuid,A=c.GUID_KEY,B=c.meta,C=c.makeArray,D=e.finishChains,E=f.sendEvent,F=g.IS_BINDING,G=g.Mixin,H=g.required,I=h.indexOf,J=i["default"],K=d.defineProperty,L=j["default"],M=k["default"],N=l.defineProperty,O=m.Binding,P=n.ComputedProperty,Q=n.computed,R=(o["default"],p["default"]),S=q.destroy,T=a.K,U=d.hasPropertyAccessors,V=R.schedule,W=G._apply,X=G.finishPartial,Y=G.prototype.reopen,Z=!1,$={configurable:!0,writable:!0,enumerable:!1,value:void 0},_={configurable:!0,writable:!0,enumerable:!1,value:null},ab=s();ab.toString=function(){return"Ember.CoreObject"},ab.PrototypeMixin=G.create({reopen:function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];return W(this,b,!0),this},init:function(){},concatenatedProperties:null,isDestroyed:!1,isDestroying:!1,destroy:function(){return this.isDestroying?void 0:(this.isDestroying=!0,V("actions",this,this.willDestroy),V("destroy",this,this._scheduledDestroy),this)},willDestroy:T,_scheduledDestroy:function(){this.isDestroyed||(S(this),this.isDestroyed=!0)},bind:function(a,b){return b instanceof O||(b=O.from(b)),b.to(a).connect(this),b},toString:function(){var a="function"==typeof this.toStringExtension,b=a?":"+this.toStringExtension():"",c="<"+this.constructor.toString()+":"+w(this)+b+">";return this.toString=t(c),c}}),ab.PrototypeMixin.ownerConstructor=ab,u.config.overridePrototypeMixin&&u.config.overridePrototypeMixin(ab.PrototypeMixin),ab.__super__=null;var bb={ClassMixin:H(),PrototypeMixin:H(),isClass:!0,isMethod:!1,extend:function(){var a,b=s();return b.ClassMixin=G.create(this.ClassMixin),b.PrototypeMixin=G.create(this.PrototypeMixin),b.ClassMixin.ownerConstructor=b,b.PrototypeMixin.ownerConstructor=b,Y.apply(b.PrototypeMixin,arguments),b.superclass=this,b.__super__=this.prototype,a=b.prototype=y(this.prototype),a.constructor=b,z(a),B(a).proto=a,b.ClassMixin.apply(b),b},createWithMixins:function(){var a=this,b=arguments.length;if(b>0){for(var c=new Array(b),d=0;b>d;d++)c[d]=arguments[d];this._initMixins(c)}return new a},create:function(){var a=this,b=arguments.length;if(b>0){for(var c=new Array(b),d=0;b>d;d++)c[d]=arguments[d];this._initProperties(c)}return new a},reopen:function(){this.willReopen();var a=arguments.length,b=new Array(a);if(a>0)for(var c=0;a>c;c++)b[c]=arguments[c];return x(this.PrototypeMixin,Y,b),this},reopenClass:function(){var a=arguments.length,b=new Array(a);if(a>0)for(var c=0;a>c;c++)b[c]=arguments[c];return x(this.ClassMixin,Y,b),W(this,arguments,!1),this},detect:function(a){if("function"!=typeof a)return!1;for(;a;){if(a===this)return!0;a=a.superclass}return!1},detectInstance:function(a){return a instanceof this},metaForProperty:function(a){var b=this.proto().__ember_meta__,c=b&&b.descs[a];return u.assert("metaForProperty() could not find a computed property with key '"+a+"'.",!!c&&c instanceof P),c._meta||{}},_computedProperties:Q(function(){Z=!0;var a,b=this.proto(),c=B(b).descs,d=[];for(var e in c)a=c[e],a instanceof P&&d.push({name:e,meta:a._meta});return d}).readOnly(),eachComputedProperty:function(a,b){for(var c,d,e={},f=v(this,"_computedProperties"),g=0,h=f.length;h>g;g++)c=f[g],d=c.name,a.call(b||this,c.name,c.meta||e)}},cb=G.create(bb);cb.ownerConstructor=ab,u.config.overrideClassMixin&&u.config.overrideClassMixin(cb),ab.ClassMixin=cb,cb.apply(ab),ab.reopen({didDefineProperty:function(a,b,c){if(Z!==!1&&c instanceof u.ComputedProperty){var d=u.meta(this.constructor).cache;void 0!==d._computedProperties&&(d._computedProperties=void 0)}}}),r["default"]=ab}),a("ember-runtime/system/deferred",["ember-metal/core","ember-runtime/mixins/deferred","ember-runtime/system/object","exports"],function(a,b,c,d){"use strict";var e=a["default"],f=b["default"],g=c["default"],h=g.extend(f,{init:function(){e.deprecate("Usage of Ember.Deferred is deprecated."),this._super()}});h.reopenClass({promise:function(a,b){var c=h.create();return a.call(b,c),c}}),d["default"]=h}),a("ember-runtime/system/each_proxy",["ember-metal/core","ember-metal/property_get","ember-metal/utils","ember-metal/enumerable_utils","ember-metal/array","ember-runtime/mixins/array","ember-runtime/system/object","ember-metal/computed","ember-metal/observer","ember-metal/events","ember-metal/properties","ember-metal/property_events","exports"],function(a,b,c,d,e,f,g,h,i,j,k,l,m){"use strict";function n(a,b,c,d,e){var f,g=c._objects;for(g||(g=c._objects={});--e>=d;){var h=a.objectAt(e);h&&(p.assert("When using @each to observe the array "+a+", the array must return an object","instance"===B(h)||"object"===B(h)),y(h,b,c,"contentKeyWillChange"),x(h,b,c,"contentKeyDidChange"),f=r(h),g[f]||(g[f]=[]),g[f].push(e))}}function o(a,b,c,d,e){var f=c._objects;f||(f=c._objects={});for(var g,h;--e>=d;){var i=a.objectAt(e);i&&(z(i,b,c,"contentKeyWillChange"),A(i,b,c,"contentKeyDidChange"),h=r(i),g=f[h],g[t.call(g,e)]=null)}}var p=a["default"],q=b.get,r=c.guidFor,s=d.forEach,t=e.indexOf,u=f["default"],v=g["default"],w=h.computed,x=i.addObserver,y=i.addBeforeObserver,z=i.removeBeforeObserver,A=i.removeObserver,B=c.typeOf,C=j.watchedEvents,D=k.defineProperty,E=l.beginPropertyChanges,F=l.propertyDidChange,G=l.propertyWillChange,H=l.endPropertyChanges,I=l.changeProperties,J=v.extend(u,{init:function(a,b,c){this._super(),this._keyName=b,this._owner=c,this._content=a},objectAt:function(a){var b=this._content.objectAt(a);return b&&q(b,this._keyName)},length:w(function(){var a=this._content;return a?q(a,"length"):0})}),K=/^.+:(before|change)$/,L=v.extend({init:function(a){this._super(),this._content=a,a.addArrayObserver(this),s(C(this),function(a){this.didAddListener(a)},this)},unknownProperty:function(a){var b;return b=new J(this._content,a,this),D(this,a,null,b),this.beginObservingContentKey(a),b},arrayWillChange:function(a,b,c){var d,e,f=this._keys;e=c>0?b+c:-1,E(this);for(d in f)f.hasOwnProperty(d)&&(e>0&&o(a,d,this,b,e),G(this,d));G(this._content,"@each"),H(this)},arrayDidChange:function(a,b,c,d){var e,f=this._keys;e=d>0?b+d:-1,I(function(){for(var c in f)f.hasOwnProperty(c)&&(e>0&&n(a,c,this,b,e),F(this,c));F(this._content,"@each")},this)},didAddListener:function(a){K.test(a)&&this.beginObservingContentKey(a.slice(0,-7))},didRemoveListener:function(a){K.test(a)&&this.stopObservingContentKey(a.slice(0,-7))},beginObservingContentKey:function(a){var b=this._keys;if(b||(b=this._keys={}),b[a])b[a]++;else{b[a]=1;var c=this._content,d=q(c,"length");n(c,a,this,0,d)}},stopObservingContentKey:function(a){var b=this._keys;if(b&&b[a]>0&&--b[a]<=0){var c=this._content,d=q(c,"length");o(c,a,this,0,d)}},contentKeyWillChange:function(a,b){G(this,b)},contentKeyDidChange:function(a,b){F(this,b)}});m.EachArray=J,m.EachProxy=L}),a("ember-runtime/system/lazy_load",["ember-metal/core","ember-metal/array","ember-runtime/system/native_array","exports"],function(a,b,c,d){"use strict";function e(a,b){var c;i[a]=i[a]||g.A(),i[a].pushObject(b),(c=j[a])&&b(c)}function f(a,b){if(j[a]=b,"object"==typeof window&&"function"==typeof window.dispatchEvent&&"function"==typeof CustomEvent){var c=new CustomEvent(a,{detail:b,name:a});window.dispatchEvent(c)}i[a]&&h.call(i[a],function(a){a(b)})}var g=a["default"],h=b.forEach,i=g.ENV.EMBER_LOAD_HOOKS||{},j={};d.onLoad=e,d.runLoadHooks=f}),a("ember-runtime/system/namespace",["ember-metal/core","ember-metal/property_get","ember-metal/array","ember-metal/utils","ember-metal/mixin","ember-runtime/system/object","exports"],function(a,b,c,d,e,f,g){"use strict";function h(a,b,c){var d=a.length;w[a.join(".")]=b;for(var e in b)if(x.call(b,e)){var f=b[e];if(a[d]=e,f&&f.toString===l)f.toString=n(a.join(".")),f[z]=a.join(".");else if(f&&f.isNamespace){if(c[s(f)])continue;c[s(f)]=!0,h(a,f,c)}}a.length=d}function i(a,b){try{var c=a[b];return c&&c.isNamespace&&c}catch(d){}}function j(){var a,b=o.lookup;if(!v.PROCESSED)for(var c in b)y.test(c)&&(!b.hasOwnProperty||b.hasOwnProperty(c))&&(a=i(b,c),a&&(a[z]=c))}function k(a){var b=a.superclass;return b?b[z]?b[z]:k(b):void 0}function l(){o.BOOTED||this[z]||m();var a;if(this[z])a=this[z];else if(this._toString)a=this._toString;else{var b=k(this);a=b?"(subclass of "+b+")":"(unknown mixin)",this.toString=n(a)}return a}function m(){var a=!v.PROCESSED,b=o.anyUnprocessedMixins;if(a&&(j(),v.PROCESSED=!0),a||b){for(var c,d=v.NAMESPACES,e=0,f=d.length;f>e;e++)c=d[e],h([c.toString()],c,{});o.anyUnprocessedMixins=!1}}function n(a){return function(){return a}}var o=a["default"],p=b.get,q=c.indexOf,r=d.GUID_KEY,s=d.guidFor,t=e.Mixin,u=f["default"],v=u.extend({isNamespace:!0,init:function(){v.NAMESPACES.push(this),v.PROCESSED=!1},toString:function(){var a=p(this,"name")||p(this,"modulePrefix");return a?a:(j(),this[z])},nameClasses:function(){h([this.toString()],this,{})},destroy:function(){var a=v.NAMESPACES,b=this.toString();b&&(o.lookup[b]=void 0,delete v.NAMESPACES_BY_ID[b]),a.splice(q.call(a,this),1),this._super()}});v.reopenClass({NAMESPACES:[o],NAMESPACES_BY_ID:{},PROCESSED:!1,processAll:m,byName:function(a){return o.BOOTED||m(),w[a]}});var w=v.NAMESPACES_BY_ID,x={}.hasOwnProperty,y=/^[A-Z]/,z=o.NAME_KEY=r+"_name";t.prototype.toString=l,g["default"]=v}),a("ember-runtime/system/native_array",["ember-metal/core","ember-metal/property_get","ember-metal/enumerable_utils","ember-metal/mixin","ember-metal/array","ember-runtime/mixins/array","ember-runtime/mixins/mutable_array","ember-runtime/mixins/observable","ember-runtime/mixins/copyable","ember-runtime/mixins/freezable","ember-runtime/copy","exports"],function(a,b,c,d,e,f,g,h,i,j,k,l){"use strict";var m=a["default"],n=b.get,o=c._replace,p=c.forEach,q=d.Mixin,r=e.indexOf,s=e.lastIndexOf,t=f["default"],u=g["default"],v=h["default"],w=i["default"],x=j.FROZEN_ERROR,y=k["default"],z=q.create(u,v,w,{get:function(a){return"length"===a?this.length:"number"==typeof a?this[a]:this._super(a)},objectAt:function(a){return this[a]},replace:function(a,b,c){if(this.isFrozen)throw x;var d=c?n(c,"length"):0;return this.arrayContentWillChange(a,b,d),0===d?this.splice(a,b):o(this,a,b,c),this.arrayContentDidChange(a,b,d),this},unknownProperty:function(a,b){var c;return void 0!==b&&void 0===c&&(c=this[a]=b),c},indexOf:r,lastIndexOf:s,copy:function(a){return a?this.map(function(a){return y(a,!0)}):this.slice()}}),A=["length"];p(z.keys(),function(a){Array.prototype[a]&&A.push(a)}),A.length>0&&(z=z.without.apply(z,A));var B=function(a){return void 0===a&&(a=[]),t.detect(a)?a:z.apply(a)};z.activate=function(){z.apply(Array.prototype),B=function(a){return a||[]}},(m.EXTEND_PROTOTYPES===!0||m.EXTEND_PROTOTYPES.Array)&&z.activate(),m.A=B,l.A=B,l.NativeArray=z,l["default"]=z}),a("ember-runtime/system/object",["ember-metal/core","ember-runtime/system/core_object","ember-runtime/mixins/observable","ember-runtime/inject","exports"],function(a,b,c,d,e){"use strict";var f=(a["default"],b["default"]),g=c["default"],h=(d.validatePropertyInjections,f.extend(g));h.toString=function(){return"Ember.Object"},e["default"]=h}),a("ember-runtime/system/object_proxy",["ember-runtime/system/object","ember-runtime/mixins/-proxy","exports"],function(a,b,c){"use strict";var d=a["default"],e=b["default"];c["default"]=d.extend(e)}),a("ember-runtime/system/service",["ember-runtime/system/object","ember-runtime/inject","exports"],function(a,b,c){"use strict";{var d;a["default"],b.createInjectionHelper}c["default"]=d}),a("ember-runtime/system/set",["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/utils","ember-metal/is_none","ember-runtime/system/string","ember-runtime/system/core_object","ember-runtime/mixins/mutable_enumerable","ember-runtime/mixins/enumerable","ember-runtime/mixins/copyable","ember-runtime/mixins/freezable","ember-metal/error","ember-metal/property_events","ember-metal/mixin","ember-metal/computed","exports"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){"use strict";var q=a["default"],r=b.get,s=c.set,t=d.guidFor,u=e["default"],v=f.fmt,w=g["default"],x=h["default"],y=i["default"],z=j["default"],A=k.Freezable,B=k.FROZEN_ERROR,C=l["default"],D=m.propertyWillChange,E=m.propertyDidChange,F=n.aliasMethod,G=o.computed;p["default"]=w.extend(x,z,A,{length:0,clear:function(){if(this.isFrozen)throw new C(B);var a=r(this,"length");if(0===a)return this;var b;this.enumerableContentWillChange(a,0),D(this,"firstObject"),D(this,"lastObject");for(var c=0;a>c;c++)b=t(this[c]),delete this[b],delete this[c]; -return s(this,"length",0),E(this,"firstObject"),E(this,"lastObject"),this.enumerableContentDidChange(a,0),this},isEqual:function(a){if(!y.detect(a))return!1;var b=r(this,"length");if(r(a,"length")!==b)return!1;for(;--b>=0;)if(!a.contains(this[b]))return!1;return!0},add:F("addObject"),remove:F("removeObject"),pop:function(){if(r(this,"isFrozen"))throw new C(B);var a=this.length>0?this[this.length-1]:null;return this.remove(a),a},push:F("addObject"),shift:F("pop"),unshift:F("push"),addEach:F("addObjects"),removeEach:F("removeObjects"),init:function(a){q.deprecate("Ember.Set is deprecated and will be removed in a future release."),this._super(),a&&this.addObjects(a)},nextObject:function(a){return this[a]},firstObject:G(function(){return this.length>0?this[0]:void 0}),lastObject:G(function(){return this.length>0?this[this.length-1]:void 0}),addObject:function(a){if(r(this,"isFrozen"))throw new C(B);if(u(a))return this;var b,c=t(a),d=this[c],e=r(this,"length");return d>=0&&e>d&&this[d]===a?this:(b=[a],this.enumerableContentWillChange(null,b),D(this,"lastObject"),e=r(this,"length"),this[c]=e,this[e]=a,s(this,"length",e+1),E(this,"lastObject"),this.enumerableContentDidChange(null,b),this)},removeObject:function(a){if(r(this,"isFrozen"))throw new C(B);if(u(a))return this;var b,c,d=t(a),e=this[d],f=r(this,"length"),g=0===e,h=e===f-1;return e>=0&&f>e&&this[e]===a&&(c=[a],this.enumerableContentWillChange(c,null),g&&D(this,"firstObject"),h&&D(this,"lastObject"),f-1>e&&(b=this[f-1],this[e]=b,this[t(b)]=e),delete this[d],delete this[f-1],s(this,"length",f-1),g&&E(this,"firstObject"),h&&E(this,"lastObject"),this.enumerableContentDidChange(c,null)),this},contains:function(a){return this[t(a)]>=0},copy:function(){var a=this.constructor,b=new a,c=r(this,"length");for(s(b,"length",c);--c>=0;)b[c]=this[c],b[t(this[c])]=c;return b},toString:function(){var a,b=this.length,c=[];for(a=0;b>a;a++)c[a]=this[a];return v("Ember.Set<%@>",[c.join(",")])}})}),a("ember-runtime/system/string",["ember-metal/core","ember-metal/utils","ember-metal/cache","exports"],function(a,b,c,d){"use strict";function e(a,b){var c=b;if(!o(c)||arguments.length>2){c=new Array(arguments.length-1);for(var d=1,e=arguments.length;e>d;d++)c[d-1]=arguments[d]}var f=0;return a.replace(/%@([0-9]+)?/g,function(a,b){return b=b?parseInt(b,10)-1:f++,a=c[b],null===a?"(null)":void 0===a?"":p(a)})}function f(a,b){return(!o(b)||arguments.length>2)&&(b=Array.prototype.slice.call(arguments,1)),a=n.STRINGS[a]||a,e(a,b)}function g(a){return a.split(/\s+/)}function h(a){return x.get(a)}function i(a){return s.get(a)}function j(a){return t.get(a)}function k(a){return u.get(a)}function l(a){return v.get(a)}function m(a){return w.get(a)}var n=a["default"],o=b.isArray,p=b.inspect,q=c["default"],r=/[ _]/g,s=new q(1e3,function(a){return h(a).replace(r,"-")}),t=new q(1e3,function(a){return a.replace(z,function(a,b,c){return c?c.toUpperCase():""}).replace(/^([A-Z])/,function(a){return a.toLowerCase()})}),u=new q(1e3,function(a){for(var b=a.split("."),c=[],d=0,e=b.length;e>d;d++){var f=j(b[d]);c.push(f.charAt(0).toUpperCase()+f.substr(1))}return c.join(".")}),v=new q(1e3,function(a){return a.replace(A,"$1_$2").replace(B,"_").toLowerCase()}),w=new q(1e3,function(a){return a.charAt(0).toUpperCase()+a.substr(1)}),x=new q(1e3,function(a){return a.replace(y,"$1_$2").toLowerCase()}),y=/([a-z\d])([A-Z])/g,z=/(\-|_|\.|\s)+(.)?/g,A=/([a-z\d])([A-Z]+)/g,B=/\-|\s+/g;n.STRINGS={},d["default"]={fmt:e,loc:f,w:g,decamelize:h,dasherize:i,camelize:j,classify:k,underscore:l,capitalize:m},d.fmt=e,d.loc=f,d.w=g,d.decamelize=h,d.dasherize=i,d.camelize=j,d.classify=k,d.underscore=l,d.capitalize=m}),a("ember-runtime/system/subarray",["ember-metal/error","ember-metal/enumerable_utils","exports"],function(a,b,c){"use strict";function d(a,b){this.type=a,this.count=b}function e(a){arguments.length<1&&(a=0),this._operations=a>0?[new d(h,a)]:[]}var f=a["default"],g=b["default"],h="r",i="f";c["default"]=e,e.prototype={addItem:function(a,b){var c=-1,e=b?h:i,f=this;return this._findOperation(a,function(g,i,j,k,l){var m,n;e===g.type?++g.count:a===j?f._operations.splice(i,0,new d(e,1)):(m=new d(e,1),n=new d(g.type,k-a+1),g.count=a-j,f._operations.splice(i+1,0,m,n)),b&&(c=g.type===h?l+(a-j):l),f._composeAt(i)},function(a){f._operations.push(new d(e,1)),b&&(c=a),f._composeAt(f._operations.length-1)}),c},removeItem:function(a){var b=-1,c=this;return this._findOperation(a,function(d,e,f,g,i){d.type===h&&(b=i+(a-f)),d.count>1?--d.count:(c._operations.splice(e,1),c._composeAt(e))},function(){throw new f("Can't remove an item that has never been added.")}),b},_findOperation:function(a,b,c){var d,e,f,g,i,j=0;for(d=g=0,e=this._operations.length;e>d;g=i+1,++d){if(f=this._operations[d],i=g+f.count-1,a>=g&&i>=a)return void b(f,d,g,i,j);f.type===h&&(j+=f.count)}c(j)},_composeAt:function(a){var b,c=this._operations[a];c&&(a>0&&(b=this._operations[a-1],b.type===c.type&&(c.count+=b.count,this._operations.splice(a-1,1),--a)),ac)){var d,f,h=this._findArrayOperation(a),i=h.operation,k=h.index,l=h.rangeStart;f=new e(j,c,b),i?h.split?(this._split(k,a-l,f),d=k+1):(this._operations.splice(k,0,f),d=k):(this._operations.push(f),d=k),this._composeInsert(d)}},removeItems:function(a,b){if(!(1>b)){var c,d,f=this._findArrayOperation(a),g=f.index,h=f.rangeStart;return c=new e(k,b),f.split?(this._split(g,a-h,c),d=g+1):(this._operations.splice(g,0,c),d=g),this._composeDelete(d)}},apply:function(a){var b=[],c=0;h(this._operations,function(d,e){a(d.items,c,d.type,e),d.type!==k&&(c+=d.count,b=b.concat(d.items))}),this._operations=[new e(i,b.length,b)]},_findArrayOperation:function(a){var b,c,d,e,g,h=!1;for(b=d=0,g=this._operations.length;g>b;++b)if(c=this._operations[b],c.type!==k){if(e=d+c.count-1,a===d)break;if(a>d&&e>=a){h=!0;break}d=e+1}return new f(c,b,h,d)},_split:function(a,b,c){var d=this._operations[a],f=d.items.slice(b),g=new e(d.type,f.length,f);d.count=b,d.items=d.items.slice(0,b),this._operations.splice(a+1,0,c,g)},_composeInsert:function(a){var b=this._operations[a],c=this._operations[a-1],d=this._operations[a+1],e=c&&c.type,f=d&&d.type;e===j?(c.count+=b.count,c.items=c.items.concat(b.items),f===j?(c.count+=d.count,c.items=c.items.concat(d.items),this._operations.splice(a,2)):this._operations.splice(a,1)):f===j&&(b.count+=d.count,b.items=b.items.concat(d.items),this._operations.splice(a+1,1))},_composeDelete:function(a){var b,c,d,e=this._operations[a],f=e.count,g=this._operations[a-1],h=g&&g.type,i=!1,l=[];h===k&&(e=g,a-=1);for(var m=a+1;f>0;++m)b=this._operations[m],c=b.type,d=b.count,c!==k?(d>f?(l=l.concat(b.items.splice(0,f)),b.count-=f,m-=1,d=f,f=0):(d===f&&(i=!0),l=l.concat(b.items),f-=d),c===j&&(e.count-=d)):e.count+=d;return e.count>0?this._operations.splice(a+1,m-1-a):this._operations.splice(a,i?2:1),l},toString:function(){var a="";return h(this._operations,function(b){a+=" "+b.type+":"+b.count}),a.substring(1)}}}),a("ember-testing",["ember-metal/core","ember-testing/initializers","ember-testing/support","ember-testing/setup_for_testing","ember-testing/test","ember-testing/adapters/adapter","ember-testing/adapters/qunit","ember-testing/helpers"],function(a,b,c,d,e,f,g){"use strict";var h=a["default"],i=d["default"],j=e["default"],k=f["default"],l=g["default"];h.Test=j,h.Test.Adapter=k,h.Test.QUnitAdapter=l,h.setupForTesting=i}),a("ember-testing/adapters/adapter",["ember-metal/core","ember-runtime/system/object","exports"],function(a,b,c){"use strict";var d=a["default"],e=b["default"],f=e.extend({asyncStart:d.K,asyncEnd:d.K,exception:function(a){throw a}});c["default"]=f}),a("ember-testing/adapters/qunit",["ember-testing/adapters/adapter","ember-metal/utils","exports"],function(a,b,c){"use strict";var d=a["default"],e=b.inspect;c["default"]=d.extend({asyncStart:function(){QUnit.stop()},asyncEnd:function(){QUnit.start()},exception:function(a){ok(!1,e(a))}})}),a("ember-testing/helpers",["ember-metal/property_get","ember-metal/error","ember-metal/run_loop","ember-views/system/jquery","ember-testing/test"],function(a,b,c,d,f){"use strict";function g(a){var b=a.__container__.lookup("controller:application");return t(b,"currentRouteName")}function h(a){var b=a.__container__.lookup("controller:application");return t(b,"currentPath")}function i(a){var b=a.__container__.lookup("router:main");return t(b,"location").getURL()}function j(){return x.adapter.asyncStart(),new e.RSVP.Promise(function(){},"TestAdapter paused promise")}function k(a,b){var c=a.__container__.lookup("router:main");return c.location.setURL(b),a._readinessDeferrals>0?(c.initialURL=b,v(a,"advanceReadiness"),delete c.initialURL):v(a,a.handleURL,b),a.testHelpers.wait()}function l(a,b,c){var d=a.testHelpers.findWithAssert(b,c);if(v(d,"mousedown"),d.is(":input")){var e=d.prop("type");"checkbox"!==e&&"radio"!==e&&"hidden"!==e&&v(d,function(){!document.hasFocus||document.hasFocus()?this.focus():this.trigger("focusin")})}return v(d,"mouseup"),v(d,"click"),a.testHelpers.wait()}function m(a,b,c,d,e){var f,g,h,i=arguments.length;3===i?(f=null,g=c,h={}):4===i?"object"==typeof d?(f=null,g=c,h=d):(f=c,g=d,h={}):(f=c,g=d,h=e);var j=a.testHelpers.findWithAssert(b,f),k=w.Event(g,h);return v(j,"trigger",k),a.testHelpers.wait()}function n(a,b,c,d,e){var f,g;return"undefined"==typeof e?(f=null,e=d,g=c):(f=c,g=d),a.testHelpers.triggerEvent(b,f,g,{keyCode:e,which:e})}function o(a,b,c,d){var e,f;return"undefined"==typeof d?d=c:f=c,e=a.testHelpers.findWithAssert(b,f),v(function(){e.val(d).change()}),a.testHelpers.wait()}function p(a,b,c){var d=a.testHelpers.find(b,c);if(0===d.length)throw new u("Element "+b+" not found.");return d}function q(a,b,c){var d;return c=c||t(a,"rootElement"),d=a.$(b,c)}function r(a,b){return a.testHelpers.wait(b(a))}function s(a,b){return x.promise(function(c){1===++A&&x.adapter.asyncStart();var d=setInterval(function(){var e=!!a.__container__.lookup("router:main").router.activeTransition;e||x.pendingAjaxRequests||v.hasScheduledTimers()||v.currentRunLoop||x.waiters&&x.waiters.any(function(a){var b=a[0],c=a[1];return!c.call(b)})||(clearInterval(d),0===--A&&x.adapter.asyncEnd(),v(null,c,b))},10)})}var t=a.get,u=b["default"],v=c["default"],w=d["default"],x=f["default"],y=x.registerHelper,z=x.registerAsyncHelper,A=0;z("visit",k),z("click",l),z("keyEvent",n),z("fillIn",o),y("find",q),y("findWithAssert",p),z("wait",s),z("andThen",r),y("currentRouteName",g),y("currentPath",h),y("currentURL",i),y("pauseTest",j),z("triggerEvent",m)}),a("ember-testing/initializers",["ember-runtime/system/lazy_load"],function(a){"use strict";var b=a.onLoad,c="deferReadiness in `testing` mode";b("Ember.Application",function(a){a.initializers[c]||a.initializer({name:c,initialize:function(a,b){b.testing&&b.deferReadiness()}})})}),a("ember-testing/setup_for_testing",["ember-metal/core","ember-testing/adapters/qunit","ember-views/system/jquery","exports"],function(a,c,d,e){"use strict";function f(a,b){i.push(b),h.pendingAjaxRequests=i.length}function g(a,b){for(var c=0;c').css({position:"absolute",left:"-1000px",top:"-1000px"}).appendTo("body").on("click",a).trigger("click").remove()}var d=a["default"],e=b["default"],f=e;f(function(){c(function(){this.checked||f.event.special.click||(f.event.special.click={trigger:function(){return f.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):void 0}})}),c(function(){d.warn("clicked checkboxes should be checked! the jQuery patch didn't work",this.checked)})})}),a("ember-testing/test",["ember-metal/core","ember-metal/run_loop","ember-metal/platform","ember-runtime/compare","ember-runtime/ext/rsvp","ember-testing/setup_for_testing","ember-application/system/application","exports"],function(a,b,c,d,e,f,g,h){"use strict";function i(a,b){var c=u[b].method,d=u[b].meta;return function(){var b=t.call(arguments),e=w.lastPromise;return b.unshift(a),d.wait?(e?j(function(){e=w.resolve(e).then(function(){return c.apply(a,b)})}):e=c.apply(a,b),e):c.apply(a,b)}}function j(a){n.currentRunLoop?a():n(a)}function k(a,b,c,d){a[b]=function(){var a=arguments;return d?c.apply(this,a):this.then(function(){return c.apply(this,a)})}}function l(a,b){var c,d;return w.lastPromise=null,c=a(b),d=w.lastPromise,c&&c instanceof w.Promise||!d?c:(j(function(){d=w.resolve(d).then(function(){return c})}),d)}var m=a["default"],n=b["default"],o=c.create,p=d["default"],q=e["default"],r=f["default"],s=g["default"],t=[].slice,u={},v=[],w={_helpers:u,registerHelper:function(a,b){u[a]={method:b,meta:{wait:!1}}},registerAsyncHelper:function(a,b){u[a]={method:b,meta:{wait:!0}}},unregisterHelper:function(a){delete u[a],delete w.Promise.prototype[a]},onInjectHelpers:function(a){v.push(a)},promise:function(a){return new w.Promise(a)},adapter:null,resolve:function(a){return w.promise(function(b){return b(a)})},registerWaiter:function(a,b){1===arguments.length&&(b=a,a=null),this.waiters||(this.waiters=m.A()),this.waiters.push([a,b])},unregisterWaiter:function(a,b){var c;this.waiters&&(1===arguments.length&&(b=a,a=null),c=[a,b],this.waiters=m.A(this.waiters.filter(function(a){return 0!==p(a,c)})))}};s.reopen({testHelpers:{},originalMethods:{},testing:!1,setupForTesting:function(){r(),this.testing=!0,this.Router.reopen({location:"none"})},helperContainer:window,injectTestHelpers:function(a){a&&(this.helperContainer=a),this.testHelpers={};for(var b in u)this.originalMethods[b]=this.helperContainer[b],this.testHelpers[b]=this.helperContainer[b]=i(this,b),k(w.Promise.prototype,b,i(this,b),u[b].meta.wait);for(var c=0,d=v.length;d>c;c++)v[c](this)},removeTestHelpers:function(){for(var a in u)this.helperContainer[a]=this.originalMethods[a],delete this.testHelpers[a],delete this.originalMethods[a]}}),w.Promise=function(){q.Promise.apply(this,arguments),w.lastPromise=this},w.Promise.prototype=o(q.Promise.prototype),w.Promise.prototype.constructor=w.Promise;var x=q.Promise.prototype.then;w.Promise.prototype.then=function(a,b){return x.call(this,function(b){return l(a,b)},b)},h["default"]=w}),a("ember-views",["ember-runtime","ember-views/system/jquery","ember-views/system/utils","ember-views/system/render_buffer","ember-views/system/ext","ember-views/views/states","ember-views/views/core_view","ember-views/views/view","ember-views/views/container_view","ember-views/views/collection_view","ember-views/views/component","ember-views/system/event_dispatcher","ember-views/mixins/view_target_action_support","exports"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n){"use strict";var o=a["default"],p=b["default"],q=c.isSimpleClick,r=c.getViewClientRects,s=c.getViewBoundingClientRect,t=d["default"],u=f.cloneStates,v=f.states,w=g["default"],x=h["default"],y=i["default"],z=j["default"],A=k["default"],B=l["default"],C=m["default"];o.$=p,o.ViewTargetActionSupport=C,o.RenderBuffer=t;var D=o.ViewUtils={};D.isSimpleClick=q,D.getViewClientRects=r,D.getViewBoundingClientRect=s,o.CoreView=w,o.View=x,o.View.states=v,o.View.cloneStates=u,o.ContainerView=y,o.CollectionView=z,o.Component=A,o.EventDispatcher=B,n["default"]=o}),a("ember-views/mixins/component_template_deprecation",["ember-metal/core","ember-metal/property_get","ember-metal/mixin","exports"],function(a,b,c,d){"use strict";var e=a["default"],f=b.get,g=c.Mixin;d["default"]=g.create({willMergeMixin:function(a){this._super.apply(this,arguments);var b,c,d=a.layoutName||a.layout||f(this,"layoutName");a.templateName&&!d&&(b="templateName",c="layoutName",a.layoutName=a.templateName,delete a.templateName),a.template&&!d&&(b="template",c="layout",a.layout=a.template,delete a.template),b&&e.deprecate("Do not specify "+b+" on a Component, use "+c+" instead.",!1)}})}),a("ember-views/mixins/view_target_action_support",["ember-metal/mixin","ember-runtime/mixins/target_action_support","ember-metal/alias","exports"],function(a,b,c,d){"use strict";var e=a.Mixin,f=b["default"],g=c["default"];d["default"]=e.create(f,{target:g("controller"),actionContext:g("context")})}),a("ember-views/streams/context_stream",["ember-metal/core","ember-metal/merge","ember-metal/platform","ember-metal/path_cache","ember-metal/streams/stream","ember-metal/streams/simple","exports"],function(a,b,c,d,e,f,g){"use strict";function h(a){i.assert("ContextStream error: the argument is not a view",a&&a.isView),this.view=a}var i=a["default"],j=b["default"],k=c.create,l=d.isGlobal,m=e["default"],n=f["default"];h.prototype=k(m.prototype),j(h.prototype,{value:function(){},_makeChildStream:function(a,b){var c;return""===a||"this"===a?c=this.view._baseContext:l(a)&&i.lookup[a]?(i.deprecate("Global lookup of "+b+" from a Handlebars template is deprecated."),c=new n(i.lookup[a]),c._isGlobal=!0):c=new n(a in this.view._keywords?this.view._keywords[a]:this.view._baseContext.get(a)),c._isRoot=!0,"controller"===a&&(c._isController=!0),c}}),g["default"]=h}),a("ember-views/streams/key_stream",["ember-metal/core","ember-metal/merge","ember-metal/platform","ember-metal/property_get","ember-metal/property_set","ember-metal/observer","ember-metal/streams/stream","ember-metal/streams/read","exports"],function(a,b,c,d,e,f,g,h,i){"use strict";function j(a,b){k.assert("KeyStream error: key must be a non-empty string","string"==typeof b&&b.length>0),k.assert("KeyStream error: key must not have a '.'",-1===b.indexOf(".")),this.source=a,this.obj=void 0,this.key=b,a&&a.isStream&&a.subscribe(this._didChange,this)}var k=a["default"],l=b["default"],m=c.create,n=d.get,o=e.set,p=f.addObserver,q=f.removeObserver,r=g["default"],s=h.read;j.prototype=m(r.prototype),l(j.prototype,{valueFn:function(){var a=this.obj,b=s(this.source);return b!==a&&(a&&"object"==typeof a&&q(a,this.key,this,this._didChange),b&&"object"==typeof b&&p(b,this.key,this,this._didChange),this.obj=b),b?n(b,this.key):void 0},setValue:function(a){this.obj&&o(this.obj,this.key,a)},setSource:function(a){k.assert("KeyStream error: source must be an object","object"==typeof a);var b=this.source;a!==b&&(b&&b.isStream&&b.unsubscribe(this._didChange,this),a&&a.isStream&&a.subscribe(this._didChange,this),this.source=a,this.notify())},_didChange:function(){this.notify()},destroy:function(){this.source&&this.source.isStream&&this.source.unsubscribe(this._didChange,this),this.obj&&"object"==typeof this.obj&&q(this.obj,this.key,this,this._didChange),this.source=void 0,this.obj=void 0,r.prototype.destroy.call(this)}}),i["default"]=j,r.prototype._makeChildStream=function(a){return new j(this,a)}}),a("ember-views/streams/read",["ember-metal/core","ember-metal/property_get","ember-metal/path_cache","ember-runtime/system/string","ember-metal/streams/read","ember-views/views/view","ember-runtime/mixins/controller","exports"],function(a,b,c,d,e,f,g,h){"use strict";function i(a,b){var c,d=o(a);return"string"==typeof d?m(d)?(c=l(null,d),k.deprecate('Resolved the view "'+d+'" on the global context. Pass a view name to be looked up on the container instead, such as {{view "select"}}. http://emberjs.com/guides/deprecations#toc_global-lookup-of-views',!c)):(k.assert("View requires a container to resolve views not passed in through the context",!!b),c=b.lookupFactory("view:"+d)):c=d,k.assert(n(d+" must be a subclass or an instance of Ember.View, not %@",[c]),p.detect(c)||p.detectInstance(c)),c}function j(a){if(a&&a.isStream){var b=a.value();if(!a._isController)for(;q.detect(b);)b=l(b,"model");return b}return a}var k=a["default"],l=b.get,m=c.isGlobal,n=d.fmt,o=e.read,p=f["default"],q=g["default"];h.readViewFactory=i,h.readUnwrappedModel=j}),a("ember-views/system/action_manager",["exports"],function(a){"use strict";function b(){}b.registeredActions={},a["default"]=b}),a("ember-views/system/event_dispatcher",["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/is_none","ember-metal/run_loop","ember-metal/utils","ember-runtime/system/string","ember-runtime/system/object","ember-views/system/jquery","ember-views/system/action_manager","ember-views/views/view","ember-metal/merge","exports"],function(a,b,c,d,e,f,g,h,i,j,k,l,m){"use strict";var n=a["default"],o=b.get,p=c.set,q=d["default"],r=e["default"],s=f.typeOf,t=g.fmt,u=h["default"],v=i["default"],w=j["default"],x=k["default"],y=l["default"];m["default"]=u.extend({events:{touchstart:"touchStart",touchmove:"touchMove",touchend:"touchEnd",touchcancel:"touchCancel",keydown:"keyDown",keyup:"keyUp",keypress:"keyPress",mousedown:"mouseDown",mouseup:"mouseUp",contextmenu:"contextMenu",click:"click",dblclick:"doubleClick",mousemove:"mouseMove",focusin:"focusIn",focusout:"focusOut",mouseenter:"mouseEnter",mouseleave:"mouseLeave",submit:"submit",input:"input",change:"change",dragstart:"dragStart",drag:"drag",dragenter:"dragEnter",dragleave:"dragLeave",dragover:"dragOver",drop:"drop",dragend:"dragEnd"},rootElement:"body",canDispatchToEventManager:!0,setup:function(a,b){var c,d=o(this,"events");y(d,a||{}),q(b)||p(this,"rootElement",b),b=v(o(this,"rootElement")),n.assert(t("You cannot use the same root element (%@) multiple times in an Ember.Application",[b.selector||b[0].tagName]),!b.is(".ember-application")),n.assert("You cannot make a new Ember.Application using a root element that is a descendent of an existing Ember.Application",!b.closest(".ember-application").length),n.assert("You cannot make a new Ember.Application using a root element that is an ancestor of an existing Ember.Application",!b.find(".ember-application").length),b.addClass("ember-application"),n.assert('Unable to add "ember-application" class to rootElement. Make sure you set rootElement to the body or an element in the body.',b.is(".ember-application"));for(c in d)d.hasOwnProperty(c)&&this.setupHandler(b,c,d[c])},setupHandler:function(a,b,c){var d=this;a.on(b+".ember",".ember-view",function(a,b){var e=x.views[this.id],f=!0,g=d.canDispatchToEventManager?d._findNearestEventManager(e,c):null;return g&&g!==b?f=d._dispatchEvent(g,a,c,e):e&&(f=d._bubbleEvent(e,a,c)),f}),a.on(b+".ember","[data-ember-action]",function(a){var b=v(a.currentTarget).attr("data-ember-action"),d=w.registeredActions[b];return d&&d.eventName===c?d.handler(a):void 0})},_findNearestEventManager:function(a,b){for(var c=null;a&&(c=o(a,"eventManager"),!c||!c[b]);)a=o(a,"parentView");return c},_dispatchEvent:function(a,b,c,d){var e=!0,f=a[c];return"function"===s(f)?(e=r(a,f,b,d),b.stopPropagation()):e=this._bubbleEvent(d,b,c),e},_bubbleEvent:function(a,b,c){return r.join(a,a.handleEvent,c,b)},destroy:function(){var a=o(this,"rootElement");return v(a).off(".ember","**").removeClass("ember-application"),this._super()},toString:function(){return"(EventDispatcher)"}})}),a("ember-views/system/ext",["ember-metal/run_loop"],function(a){"use strict";var b=a["default"];b._addQueue("render","actions"),b._addQueue("afterRender","render")}),a("ember-views/system/jquery",["ember-metal/core","ember-metal/enumerable_utils","exports"],function(a,b,d){"use strict";var e=a["default"],f=b.forEach,g=e.imports&&e.imports.jQuery||this&&this.jQuery;if(g||"function"!=typeof c||(g=c("jquery")),e.assert("Ember Views require jQuery between 1.7 and 2.1",g&&(g().jquery.match(/^((1\.(7|8|9|10|11))|(2\.(0|1)))(\.\d+)?(pre|rc\d?)?/)||e.ENV.FORCE_JQUERY)),g){var h=["dragstart","drag","dragenter","dragleave","dragover","drop","dragend"];f(h,function(a){g.event.fixHooks[a]={props:["dataTransfer"]}})}d["default"]=g}),a("ember-views/system/render_buffer",["ember-views/system/jquery","morph","ember-metal/core","ember-metal/platform","exports"],function(a,b,c,d,e){"use strict";function f(a,b){if("TABLE"===b.tagName){var c=p.exec(a);if(c)return o[c[1].toLowerCase()]}}function g(){this.seen=n(null),this.list=[]}function h(a){return a&&q.test(a)?a.replace(r,""):a}function i(a){var b={"<":"<",">":">",'"':""","'":"'","`":"`"},c=function(a){return b[a]||"&"},d=a.toString();return t.test(d)?d.replace(s,c):d}function j(a,b){this.tagName=a,this._outerContextualElement=b,this.buffer=null,this.childViews=[],this.dom=new l}var k=a["default"],l=b.DOMHelper,m=c["default"],n=d.create,o={tr:document.createElement("tbody"),col:document.createElement("colgroup")},p=/(?:"'`]/g,t=/[&<>"'`]/,u=function(){var a=document.createElement("div"),b=document.createElement("input");return b.setAttribute("name","foo"),a.appendChild(b),!!a.innerHTML.match("foo")}();e["default"]=function(a,b){return new j(a,b)},j.prototype={reset:function(a,b){this.tagName=a,this.buffer=null,this._element=null,this._outerContextualElement=b,this.elementClasses=null,this.elementId=null,this.elementAttributes=null,this.elementProperties=null,this.elementTag=null,this.elementStyle=null,this.childViews.length=0},_element:null,_outerContextualElement:null,elementClasses:null,classes:null,elementId:null,elementAttributes:null,elementProperties:null,elementTag:null,elementStyle:null,pushChildView:function(a){var b=this.childViews.length;this.childViews[b]=a,this.push("")},hydrateMorphs:function(a){for(var b=this.childViews,c=this._element,d=0,e=b.length;e>d;d++){var f=b[d],g=c.querySelector("#morph-"+d);m.assert("An error occured while setting up template bindings. Please check "+(f&&f._parentView&&f._parentView._debugTemplateName?'"'+f._parentView._debugTemplateName+'" template ':"")+"for invalid markup or bindings within HTML comments.",g);var h=g.parentNode;f._morph=this.dom.insertMorphBefore(h,g,1===h.nodeType?h:a),h.removeChild(g)}},push:function(a){return null===this.buffer&&(this.buffer=""),this.buffer+=a,this},addClass:function(a){return this.elementClasses=this.elementClasses||new g,this.elementClasses.add(a),this.classes=this.elementClasses.list,this},setClasses:function(a){this.elementClasses=null;var b,c=a.length;for(b=0;c>b;b++)this.addClass(a[b])},id:function(a){return this.elementId=a,this},attr:function(a,b){var c=this.elementAttributes=this.elementAttributes||{};return 1===arguments.length?c[a]:(c[a]=b,this)},removeAttr:function(a){var b=this.elementAttributes;return b&&delete b[a],this},prop:function(a,b){var c=this.elementProperties=this.elementProperties||{};return 1===arguments.length?c[a]:(c[a]=b,this)},removeProp:function(a){var b=this.elementProperties;return b&&delete b[a],this},style:function(a,b){return this.elementStyle=this.elementStyle||{},this.elementStyle[a]=b,this},generateElement:function(){var a,b,c,d=this.tagName,e=this.elementId,f=this.classes,g=this.elementAttributes,j=this.elementProperties,l=this.elementStyle,m="";c=g&&g.name&&!u?"<"+h(d)+' name="'+i(g.name)+'">':d;var n=this.dom.createElement(c,this.outerContextualElement()),o=k(n);if(e&&(this.dom.setAttribute(n,"id",e),this.elementId=null),f&&(this.dom.setAttribute(n,"class",f.join(" ")),this.classes=null,this.elementClasses=null),l){for(b in l)l.hasOwnProperty(b)&&(m+=b+":"+l[b]+";");this.dom.setAttribute(n,"style",m),this.elementStyle=null}if(g){for(a in g)g.hasOwnProperty(a)&&this.dom.setAttribute(n,a,g[a]);this.elementAttributes=null}if(j){for(b in j)j.hasOwnProperty(b)&&o.prop(b,j[b]);this.elementProperties=null}this._element=n},element:function(){var a=this.innerContent();if(null===a)return this._element;var b=this.innerContextualElement(a);this.dom.detectNamespace(b),this._element||(this._element=document.createDocumentFragment());for(var c=this.dom.parseHTML(a,b);c[0];)this._element.appendChild(c[0]);return this.hydrateMorphs(b),this._element},string:function(){if(this._element){var a=this.element(),b=a.outerHTML;return"undefined"==typeof b?k("
    ").append(a).html():b}return this.innerString()},outerContextualElement:function(){return this._outerContextualElement||(m.deprecate("The render buffer expects an outer contextualElement to exist. This ensures DOM that requires context is correctly generated (tr, SVG tags). Defaulting to document.body, but this will be removed in the future"),this.outerContextualElement=document.body),this._outerContextualElement},innerContextualElement:function(a){var b;b=this._element&&1===this._element.nodeType?this._element:this.outerContextualElement();var c;return a&&(c=f(a,b)),c||b},innerString:function(){var a=this.innerContent();return a&&!a.nodeType?a:void 0},innerContent:function(){return this.buffer}}}),a("ember-views/system/renderer",["ember-metal/core","ember-metal-views/renderer","ember-metal/platform","ember-views/system/render_buffer","ember-metal/run_loop","ember-metal/property_set","ember-metal/instrumentation","exports"],function(a,b,c,d,e,f,g,h){"use strict";function i(){this.buffer=m(),this._super$constructor()}var j=a["default"],k=b["default"],l=c.create,m=d["default"],n=e["default"],o=f.set,p=g._instrumentStart,q=g.subscribers;i.prototype=l(k.prototype),i.prototype.constructor=i,i.prototype._super$constructor=k,i.prototype.scheduleRender=function(a,b){return n.scheduleOnce("render",a,b)},i.prototype.cancelRender=function(a){n.cancel(a)},i.prototype.createElement=function(a,b){var c=a.tagName,d=a.classNameBindings,e=""===c&&d.length>0;(null===c||void 0===c)&&(c="div"),j.assert("You cannot use `classNameBindings` on a tag-less view: "+a.toString(),!e);var f=a.buffer=this.buffer;f.reset(c,b),a.beforeRender&&a.beforeRender(f),""!==c&&(a.applyAttributesToBuffer&&a.applyAttributesToBuffer(f),f.generateElement()),a.render&&a.render(f),a.afterRender&&a.afterRender(f);var g=f.element();return a.buffer=null,g&&1===g.nodeType&&o(a,"element",g),g},i.prototype.destroyView=function(a){a.removedFromDOM=!0,a.destroy()},i.prototype.childViews=function(a){return a._childViews},k.prototype.willCreateElement=function(a){q.length&&a.instrumentDetails&&(a._instrumentEnd=p("render."+a.instrumentName,function(){var b={};return a.instrumentDetails(b),b})),a._transitionTo&&a._transitionTo("inBuffer")},k.prototype.didCreateElement=function(a){a._transitionTo&&a._transitionTo("hasElement"),a._instrumentEnd&&a._instrumentEnd()},k.prototype.willInsertElement=function(a){a.trigger&&a.trigger("willInsertElement")},k.prototype.didInsertElement=function(a){a._transitionTo&&a._transitionTo("inDOM"),a.trigger&&a.trigger("didInsertElement")},k.prototype.willRemoveElement=function(){},k.prototype.willDestroyElement=function(a){a.trigger&&a.trigger("willDestroyElement"),a.trigger&&a.trigger("willClearRender")},k.prototype.didDestroyElement=function(a){o(a,"element",null),a._transitionTo&&a._transitionTo("preRender")},h["default"]=i}),a("ember-views/system/sanitize_attribute_value",["ember-handlebars-compiler","exports"],function(a,b){"use strict";var c,d=a["default"],e={"javascript:":!0,"vbscript:":!0},f={A:!0,BODY:!0,LINK:!0,IMG:!0,IFRAME:!0},g={href:!0,src:!0,background:!0};b.badAttributes=g,b["default"]=function(a,b,h){var i; -return c||(c=document.createElement("a")),i=a?a.tagName:null,h instanceof d.SafeString?h.toString():(null===i||f[i])&&g[b]&&(c.href=h,e[c.protocol]===!0)?"unsafe:"+h:h}}),a("ember-views/system/utils",["exports"],function(a){"use strict";function b(a){var b=a.shiftKey||a.metaKey||a.altKey||a.ctrlKey,c=a.which>1;return!b&&!c}function c(a){var b=document.createRange();return b.setStartAfter(a._morph.start),b.setEndBefore(a._morph.end),b}function d(a){var b=c(a);return b.getClientRects()}function e(a){var b=c(a);return b.getBoundingClientRect()}a.isSimpleClick=b,a.getViewClientRects=d,a.getViewBoundingClientRect=e}),a("ember-views/views/collection_view",["ember-metal/core","ember-metal/binding","ember-metal/property_get","ember-metal/property_set","ember-runtime/system/string","ember-views/views/container_view","ember-views/views/core_view","ember-views/views/view","ember-metal/mixin","ember-views/streams/read","ember-runtime/mixins/array","exports"],function(a,b,c,d,e,f,g,h,i,j,k,l){"use strict";var m=a["default"],n=b.isGlobalPath,o=c.get,p=d.set,q=e.fmt,r=f["default"],s=g["default"],t=h["default"],u=i.observer,v=i.beforeObserver,w=j.readViewFactory,x=k["default"],y=r.extend({content:null,emptyViewClass:t,emptyView:null,itemViewClass:t,init:function(){var a=this._super();return this._contentDidChange(),a},_contentWillChange:v("content",function(){var a=this.get("content");a&&a.removeArrayObserver(this);var b=a?o(a,"length"):0;this.arrayWillChange(a,0,b)}),_contentDidChange:u("content",function(){var a=o(this,"content");a&&(this._assertArrayLike(a),a.addArrayObserver(this));var b=a?o(a,"length"):0;this.arrayDidChange(a,0,null,b)}),_assertArrayLike:function(a){m.assert(q("an Ember.CollectionView's content must implement Ember.Array. You passed %@",[a]),x.detect(a))},destroy:function(){if(this._super()){var a=o(this,"content");return a&&a.removeArrayObserver(this),this._createdEmptyView&&this._createdEmptyView.destroy(),this}},arrayWillChange:function(a,b,c){var d=o(this,"emptyView");d&&d instanceof t&&d.removeFromParent();var e,f,g=this._childViews;for(f=b+c-1;f>=b;f--)e=g[f],e.destroy()},arrayDidChange:function(a,b,c,d){var e,f,g,h,i,j,k,l=[];if(h=a?o(a,"length"):0)for(k=this._itemViewProps||{},i=o(this,"itemViewClass"),i=w(i,this.container),g=b;b+d>g;g++)f=a.objectAt(g),k.content=f,k.contentIndex=g,e=this.createChildView(i,k),l.push(e);else{if(j=o(this,"emptyView"),!j)return;"string"==typeof j&&n(j)&&(j=o(j)||j),j=this.createChildView(j),l.push(j),p(this,"emptyView",j),s.detect(j)&&(this._createdEmptyView=j)}this.replace(b,0,l)},createChildView:function(a,b){a=this._super(a,b);var c=o(a,"tagName");return(null===c||void 0===c)&&(c=y.CONTAINER_MAP[o(this,"tagName")],p(a,"tagName",c)),a}});y.CONTAINER_MAP={ul:"li",ol:"li",table:"tr",thead:"tr",tbody:"tr",tfoot:"tr",tr:"td",select:"option"},l["default"]=y}),a("ember-views/views/component",["ember-metal/core","ember-views/mixins/component_template_deprecation","ember-runtime/mixins/target_action_support","ember-views/views/view","ember-metal/property_get","ember-metal/property_set","ember-metal/is_none","ember-metal/computed","exports"],function(a,b,c,d,e,f,g,h,i){"use strict";var j=a["default"],k=b["default"],l=c["default"],m=d["default"],n=e.get,o=f.set,p=g["default"],q=h.computed,r=Array.prototype.slice,s=m.extend(l,k,{instrumentName:"component",instrumentDisplay:q(function(){return this._debugContainerKey?"{{"+this._debugContainerKey.split(":")[1]+"}}":void 0}),init:function(){this._super(),o(this,"context",this),o(this,"controller",this)},defaultLayout:function(a,b){j.Handlebars.helpers["yield"].call(a,b)},template:q(function(a,b){if(void 0!==b)return b;var c=n(this,"templateName"),d=this.templateForName(c,"template");return j.assert("You specified the templateName "+c+" for "+this+", but it did not exist.",!c||d),d||n(this,"defaultTemplate")}).property("templateName"),templateName:null,_setupKeywords:function(){this._keywords.view.setSource(this)},_yield:function(a,b){var c=b.data.view,d=this._parentView,e=n(this,"template");e&&(j.assert("A Component must have a parent view in order to yield.",d),c.appendChild(m,{isVirtual:!0,tagName:"",_contextView:d,template:e,context:n(d,"context"),controller:n(d,"controller"),templateData:{keywords:{}}}))},targetObject:q(function(){var a=n(this,"_parentView");return a?n(a,"controller"):null}).property("_parentView"),sendAction:function(a){var b,c=r.call(arguments,1);void 0===a?(b=n(this,"action"),j.assert("The default action was triggered on the component "+this.toString()+", but the action name ("+b+") was not a string.",p(b)||"string"==typeof b)):(b=n(this,a),j.assert("The "+a+" action was triggered on the component "+this.toString()+", but the action name ("+b+") was not a string.",p(b)||"string"==typeof b)),void 0!==b&&this.triggerAction({action:b,actionContext:c})},send:function(a){var b,c=[].slice.call(arguments,1),d=this._actions&&this._actions[a];if(!d||this._actions[a].apply(this,c)===!0)if(b=n(this,"target"))j.assert("The `target` for "+this+" ("+b+") does not have a `send` method","function"==typeof b.send),b.send.apply(b,arguments);else if(!d)throw new Error(j.inspect(this)+" had no action handler for: "+a)}});i["default"]=s}),a("ember-views/views/container_view",["ember-metal/core","ember-metal/merge","ember-runtime/mixins/mutable_array","ember-metal/property_get","ember-metal/property_set","ember-views/views/view","ember-views/views/states","ember-metal/error","ember-metal/enumerable_utils","ember-metal/computed","ember-metal/run_loop","ember-metal/properties","ember-metal/mixin","ember-runtime/system/native_array","exports"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){"use strict";var p=a["default"],q=b["default"],r=c["default"],s=d.get,t=e.set,u=f["default"],v=g.cloneStates,w=g.states,x=h["default"],y=i.forEach,z=j.computed,A=k["default"],B=l.defineProperty,C=m.observer,D=m.beforeObserver,E=n.A,F=v(w),G=u.extend(r,{_states:F,willWatchProperty:function(a){p.deprecate("ContainerViews should not be observed as arrays. This behavior will change in future implementations of ContainerView.",!a.match(/\[]/)&&0!==a.indexOf("@"))},init:function(){this._super();var a=s(this,"childViews");p.deprecate("Setting `childViews` on a Container is deprecated.",p.isEmpty(a)),B(this,"childViews",u.childViewsProperty);var b=this._childViews;y(a,function(a,c){var d;"string"==typeof a?(d=s(this,a),d=this.createChildView(d),t(this,a,d)):d=this.createChildView(a),b[c]=d},this);var c=s(this,"currentView");c&&(b.length||(b=this._childViews=this._childViews.slice()),b.push(this.createChildView(c)))},replace:function(a,b,c){var d=c?s(c,"length"):0,e=this;if(p.assert("You can't add a child to a container - the child is already a child of another view",E(c).every(function(a){return!s(a,"_parentView")||s(a,"_parentView")===e})),this.arrayContentWillChange(a,b,d),this.childViewsWillChange(this._childViews,a,b),0===d)this._childViews.splice(a,b);else{var f=[a,b].concat(c);c.length&&!this._childViews.length&&(this._childViews=this._childViews.slice()),this._childViews.splice.apply(this._childViews,f)}return this.arrayContentDidChange(a,b,d),this.childViewsDidChange(this._childViews,a,b,d),this},objectAt:function(a){return this._childViews[a]},length:z(function(){return this._childViews.length})["volatile"](),render:function(a){var b=a.element(),c=a.dom;return""===this.tagName?(b=c.createDocumentFragment(),a._element=b,this._childViewsMorph=c.appendMorph(b,this._morph.contextualElement)):this._childViewsMorph=c.createMorph(b,b.lastChild,null),b},instrumentName:"container",childViewsWillChange:function(a,b,c){if(this.propertyWillChange("childViews"),c>0){var d=a.slice(b,b+c);this.currentState.childViewsWillChange(this,a,b,c),this.initializeViews(d,null,null)}},removeChild:function(a){return this.removeObject(a),this},childViewsDidChange:function(a,b,c,d){if(d>0){var e=a.slice(b,b+d);this.initializeViews(e,this,s(this,"templateData")),this.currentState.childViewsDidChange(this,a,b,d)}this.propertyDidChange("childViews")},initializeViews:function(a,b,c){y(a,function(a){t(a,"_parentView",b),!a.container&&b&&t(a,"container",b.container),s(a,"templateData")||t(a,"templateData",c)})},currentView:null,_currentViewWillChange:D("currentView",function(){var a=s(this,"currentView");a&&a.destroy()}),_currentViewDidChange:C("currentView",function(){var a=s(this,"currentView");a&&(p.assert("You tried to set a current view that already has a parent. Make sure you don't have multiple outlets in the same view.",!s(a,"_parentView")),this.pushObject(a))}),_ensureChildrenAreInDOM:function(){this.currentState.ensureChildrenAreInDOM(this)}});q(F._default,{childViewsWillChange:p.K,childViewsDidChange:p.K,ensureChildrenAreInDOM:p.K}),q(F.inBuffer,{childViewsDidChange:function(){throw new x("You cannot modify child views while in the inBuffer state")}}),q(F.hasElement,{childViewsWillChange:function(a,b,c,d){for(var e=c;c+d>e;e++){var f=b[e];f._unsubscribeFromStreamBindings(),f.remove()}},childViewsDidChange:function(a){A.scheduleOnce("render",a,"_ensureChildrenAreInDOM")},ensureChildrenAreInDOM:function(a){var b,c,d,e=a._childViews,f=a._renderer;for(b=0,c=e.length;c>b;b++)d=e[b],d._elementCreated||f.renderTree(d,a,b)}}),o["default"]=G}),a("ember-views/views/core_view",["ember-views/system/renderer","ember-views/views/states","ember-runtime/system/object","ember-runtime/mixins/evented","ember-runtime/mixins/action_handler","ember-metal/property_get","ember-metal/computed","ember-metal/utils","exports"],function(a,b,c,d,f,g,h,i,j){"use strict";var k=a["default"],l=b.cloneStates,m=b.states,n=c["default"],o=d["default"],p=f["default"],q=g.get,r=h.computed,s=i.typeOf,t=n.extend(o,p,{isView:!0,isVirtual:!1,_states:l(m),init:function(){this._super(),this._transitionTo("preRender"),this._isVisible=q(this,"isVisible")},parentView:r("_parentView",function(){var a=this._parentView;return a&&a.isVirtual?q(a,"parentView"):a}),_state:null,_parentView:null,concreteView:r("parentView",function(){return this.isVirtual?q(this,"parentView.concreteView"):this}),instrumentName:"core_view",instrumentDetails:function(a){a.object=this.toString(),a.containerKey=this._debugContainerKey,a.view=this},trigger:function(){this._super.apply(this,arguments);var a=arguments[0],b=this[a];if(b){for(var c=arguments.length,d=new Array(c-1),e=1;c>e;e++)d[e-1]=arguments[e];return b.apply(this,d)}},has:function(a){return"function"===s(this[a])||this._super(a)},destroy:function(){var a=this._parentView;if(this._super())return!this.removedFromDOM&&this._renderer&&this._renderer.remove(this,!0),a&&a.removeChild(this),this._transitionTo("destroying",!1),this},clearRenderedChildren:e.K,_transitionTo:e.K,destroyElement:e.K});t.reopenClass({renderer:new k}),j["default"]=t}),a("ember-views/views/states",["ember-metal/platform","ember-metal/merge","ember-views/views/states/default","ember-views/views/states/pre_render","ember-views/views/states/in_buffer","ember-views/views/states/has_element","ember-views/views/states/in_dom","ember-views/views/states/destroying","exports"],function(a,b,c,d,e,f,g,h,i){"use strict";function j(a){var b={};b._default={},b.preRender=k(b._default),b.destroying=k(b._default),b.inBuffer=k(b._default),b.hasElement=k(b._default),b.inDOM=k(b.hasElement);for(var c in a)a.hasOwnProperty(c)&&l(b[c],a[c]);return b}var k=a.create,l=b["default"],m=c["default"],n=d["default"],o=e["default"],p=f["default"],q=g["default"],r=h["default"];i.cloneStates=j;var s={_default:m,preRender:n,inDOM:q,inBuffer:o,hasElement:p,destroying:r};i.states=s}),a("ember-views/views/states/default",["ember-metal/core","ember-metal/error","exports"],function(a,b,c){"use strict";var d=a["default"],e=b["default"];c["default"]={appendChild:function(){throw new e("You can't use appendChild outside of the rendering process")},$:function(){return void 0},getElement:function(){return null},handleEvent:function(){return!0},destroyElement:function(a){return a._renderer&&a._renderer.remove(a,!1),a},rerender:d.K,invokeObserver:d.K}}),a("ember-views/views/states/destroying",["ember-metal/merge","ember-metal/platform","ember-runtime/system/string","ember-views/views/states/default","ember-metal/error","exports"],function(a,b,c,d,e,f){"use strict";var g=a["default"],h=b.create,i=c.fmt,j=d["default"],k=e["default"],l="You can't call %@ on a view being destroyed",m=h(j);g(m,{appendChild:function(){throw new k(i(l,["appendChild"]))},rerender:function(){throw new k(i(l,["rerender"]))},destroyElement:function(){throw new k(i(l,["destroyElement"]))}}),f["default"]=m}),a("ember-views/views/states/has_element",["ember-views/views/states/default","ember-metal/run_loop","ember-metal/merge","ember-metal/platform","ember-views/system/jquery","ember-metal/error","ember-metal/property_get","exports"],function(a,b,c,d,e,f,g,h){"use strict";var i=a["default"],j=b["default"],k=c["default"],l=d.create,m=e["default"],n=f["default"],o=g.get,p=l(i);k(p,{$:function(a,b){var c=a.get("concreteView").element;return b?m(b,c):m(c)},getElement:function(a){var b=o(a,"parentView");return b&&(b=o(b,"element")),b?a.findElementInParentElement(b):m("#"+o(a,"elementId"))[0]},rerender:function(a){if(a._root._morph&&!a._elementInserted)throw new n("Something you did caused a view to re-render after it rendered but before it was inserted into the DOM.");j.scheduleOnce("render",function(){a.isDestroying||a._renderer.renderTree(a,a._parentView)})},destroyElement:function(a){return a._renderer.remove(a,!1),a},handleEvent:function(a,b,c){return a.has(b)?a.trigger(b,c):!0},invokeObserver:function(a,b){b.call(a)}}),h["default"]=p}),a("ember-views/views/states/in_buffer",["ember-views/views/states/default","ember-metal/error","ember-metal/core","ember-metal/platform","ember-metal/merge","exports"],function(a,b,c,d,e,f){"use strict";var g=a["default"],h=b["default"],i=c["default"],j=d.create,k=e["default"],l=j(g);k(l,{$:function(a){return a.rerender(),i.$()},rerender:function(){throw new h("Something you did caused a view to re-render after it rendered but before it was inserted into the DOM.")},appendChild:function(a,b,c){var d=a.buffer,e=a._childViews;return b=a.createChildView(b,c),e.length||(e=a._childViews=e.slice()),e.push(b),b._morph||d.pushChildView(b),a.propertyDidChange("childViews"),b},invokeObserver:function(a,b){b.call(a)}}),f["default"]=l}),a("ember-views/views/states/in_dom",["ember-metal/core","ember-metal/platform","ember-metal/merge","ember-metal/error","ember-views/views/states/has_element","exports"],function(a,c,d,e,f,g){"use strict";var h,i=a["default"],j=c.create,k=d["default"],l=e["default"],m=f["default"],n=j(m);k(n,{enter:function(a){h||(h=b("ember-views/views/view")["default"]),a.isVirtual||(i.assert("Attempted to register a view with an id already in use: "+a.elementId,!h.views[a.elementId]),h.views[a.elementId]=a),a.addBeforeObserver("elementId",function(){throw new l("Changing a view's elementId after creation is not allowed")})},exit:function(a){h||(h=b("ember-views/views/view")["default"]),this.isVirtual||delete h.views[a.elementId]}}),g["default"]=n}),a("ember-views/views/states/pre_render",["ember-views/views/states/default","ember-metal/platform","exports"],function(a,b,c){"use strict";var d=a["default"],e=b.create,f=e(d);c["default"]=f}),a("ember-views/views/view",["ember-metal/core","ember-metal/platform","ember-runtime/mixins/evented","ember-runtime/system/object","ember-metal/error","ember-metal/property_get","ember-metal/property_set","ember-metal/set_properties","ember-metal/run_loop","ember-metal/observer","ember-metal/properties","ember-metal/utils","ember-metal/computed","ember-metal/mixin","ember-metal/streams/simple","ember-views/streams/key_stream","ember-metal/streams/stream_binding","ember-views/streams/context_stream","ember-metal/is_none","ember-metal/deprecate_property","ember-runtime/system/native_array","ember-runtime/system/string","ember-metal/enumerable_utils","ember-metal/property_events","ember-views/system/jquery","ember-views/system/ext","ember-views/views/core_view","ember-views/system/sanitize_attribute_value","exports"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C){"use strict";var D=a["default"],E=b.create,F=c["default"],G=d["default"],H=e["default"],I=f.get,J=g.set,K=h["default"],L=i["default"],M=j.addObserver,N=j.removeObserver,O=k.defineProperty,P=l.guidFor,Q=m.computed,R=n.observer,S=o["default"],T=p["default"],U=q["default"],V=r["default"],W=l.typeOf,X=l.isArray,Y=s["default"],Z=n.Mixin,$=t.deprecateProperty,_=u.A,ab=v.dasherize,bb=w.forEach,cb=w.addObject,db=w.removeObject,eb=n.beforeObserver,fb=x.propertyWillChange,gb=x.propertyDidChange,hb=y["default"],ib=A["default"],jb=B["default"],kb=Q(function(){var a=this._childViews,b=_();return bb(a,function(a){var c;a.isVirtual?(c=I(a,"childViews"))&&b.pushObjects(c):b.push(a)}),b.replace=function(){throw new H("childViews is immutable")},b});D.warn("The VIEW_PRESERVES_CONTEXT flag has been removed and the functionality can no longer be disabled.",D.ENV.VIEW_PRESERVES_CONTEXT!==!1),D.TEMPLATES={};var lb=[],mb=ib.extend({concatenatedProperties:["classNames","classNameBindings","attributeBindings"],isView:!0,templateName:null,layoutName:null,instrumentDisplay:Q(function(){return this.helperName?"{{"+this.helperName+"}}":void 0}),template:Q("templateName",function(a,b){if(void 0!==b)return b;var c=I(this,"templateName"),d=this.templateForName(c,"template");return D.assert("You specified the templateName "+c+" for "+this+", but it did not exist.",!c||d),d||I(this,"defaultTemplate")}),controller:Q("_parentView",function(){var a=I(this,"_parentView");return a?I(a,"controller"):null}),layout:Q(function(){var a=I(this,"layoutName"),b=this.templateForName(a,"layout");return D.assert("You specified the layoutName "+a+" for "+this+", but it did not exist.",!a||b),b||I(this,"defaultLayout")}).property("layoutName"),_yield:function(a,b){var c=I(this,"template");c&&c(a,b)},templateForName:function(a){if(a){if(D.assert("templateNames are not allowed to contain periods: "+a,-1===a.indexOf(".")),!this.container)throw new H("Container was not found when looking up a views template. This is most likely due to manually instantiating an Ember.View. See: http://git.io/EKPpnA");return this.container.lookup("template:"+a)}},context:Q(function(a,b){return 2===arguments.length?(J(this,"_context",b),b):I(this,"_context")})["volatile"](),_context:Q(function(){var a,b;return(b=I(this,"controller"))?b:(a=this._parentView,a?I(a,"_context"):null)}),_contextDidChange:R("context",function(){this.rerender()}),isVisible:!0,childViews:kb,_childViews:lb,_childViewsWillChange:eb("childViews",function(){if(this.isVirtual){var a=I(this,"parentView");a&&fb(a,"childViews")}}),_childViewsDidChange:R("childViews",function(){if(this.isVirtual){var a=I(this,"parentView");a&&gb(a,"childViews")}}),nearestInstanceOf:function(a){D.deprecate("nearestInstanceOf is deprecated and will be removed from future releases. Use nearestOfType.");for(var b=I(this,"parentView");b;){if(b instanceof a)return b;b=I(b,"parentView")}},nearestOfType:function(a){for(var b=I(this,"parentView"),c=a instanceof Z?function(b){return a.detect(b)}:function(b){return a.detect(b.constructor)};b;){if(c(b))return b;b=I(b,"parentView")}},nearestWithProperty:function(a){for(var b=I(this,"parentView");b;){if(a in b)return b;b=I(b,"parentView")}},nearestChildOf:function(a){for(var b=I(this,"parentView");b;){if(I(b,"parentView")instanceof a)return b;b=I(b,"parentView")}},_parentViewDidChange:R("_parentView",function(){this.isDestroying||(this._setupKeywords(),this.trigger("parentViewDidChange"),I(this,"parentView.controller")&&!I(this,"controller")&&this.notifyPropertyChange("controller"))}),_controllerDidChange:R("controller",function(){this.isDestroying||(this.rerender(),this.forEachChildView(function(a){a.propertyDidChange("controller")}))}),_setupKeywords:function(){var a=this._keywords,b=this._contextView||this._parentView;if(b){var c=b._keywords;a.view.setSource(this.isVirtual?c.view:this);for(var d in c)a[d]||(a[d]=c[d])}else a.view.setSource(this.isVirtual?null:this)},render:function(a){var b=I(this,"layout")||I(this,"template");if(b){var c,d=I(this,"context"),e={view:this,buffer:a,isRenderData:!0};D.assert('template must be a function. Did you mean to call Ember.Handlebars.compile("...") or specify templateName instead?',"function"==typeof b),c=b(d,{data:e}),void 0!==c&&a.push(c)}},rerender:function(){return this.currentState.rerender(this)},_applyClassNameBindings:function(a){var b,c,d,e=this.classNames;bb(a,function(a){var f;"string"==typeof a?(D.assert("classNameBindings must not have spaces in them. Multiple class name bindings can be provided as elements of an array, e.g. ['foo', ':bar']",-1===a.indexOf(" ")),f=mb._parsePropertyPath(a),f.stream=""===f.path?new S(!0):this.getStream("_view."+f.path)):f=a;var g,h=this._wrapAsScheduled(function(){c=this._classStringForProperty(f),b=this.$(),g&&(b.removeClass(g),e.removeObject(g)),c?(b.addClass(c),g=c):g=null});d=this._classStringForProperty(f),d&&(cb(e,d),g=d),f.stream.subscribe(h,this),this.one("willClearRender",function(){g&&(e.removeObject(g),g=null)})},this)},_unspecifiedAttributeBindings:null,_applyAttributeBindings:function(a,b){var c,d=this._unspecifiedAttributeBindings=this._unspecifiedAttributeBindings||{};bb(b,function(b){var e=b.split(":"),f=e[0],g=e[1]||f;D.assert("You cannot use class as an attributeBinding, use classNameBindings instead.","class"!==g),f in this?(this._setupAttributeBindingObservation(f,g),c=I(this,f),mb.applyAttributeBindings(a,g,c)):d[f]=g},this),this.setUnknownProperty=this._setUnknownProperty},_setupAttributeBindingObservation:function(a,b){var c,d,e=function(){d=this.$(),c=I(this,a),mb.applyAttributeBindings(d,b,c)};this.registerObserver(this,a,e)},setUnknownProperty:null,_setUnknownProperty:function(a,b){var c=this._unspecifiedAttributeBindings&&this._unspecifiedAttributeBindings[a];return c&&this._setupAttributeBindingObservation(a,c),O(this,a),J(this,a,b)},_classStringForProperty:function(a){return mb._classStringForValue(a.path,a.stream.value(),a.className,a.falsyClassName)},element:null,$:function(a){return this.currentState.$(this,a)},mutateChildViews:function(a){for(var b,c=this._childViews,d=c.length;--d>=0;)b=c[d],a(this,b,d);return this},forEachChildView:function(a){var b=this._childViews;if(!b)return this;var c,d,e=b.length;for(d=0;e>d;d++)c=b[d],a(c);return this},appendTo:function(a){var b=hb(a);return D.assert("You tried to append to ("+a+") but that isn't in the DOM",b.length>0),D.assert("You cannot append to an existing Ember.View. Consider using Ember.ContainerView instead.",!b.is(".ember-view")&&!b.parents().is(".ember-view")),this.constructor.renderer.appendTo(this,b[0]),this},replaceIn:function(a){var b=hb(a);return D.assert("You tried to replace in ("+a+") but that isn't in the DOM",b.length>0),D.assert("You cannot replace an existing Ember.View. Consider using Ember.ContainerView instead.",!b.is(".ember-view")&&!b.parents().is(".ember-view")),this.constructor.renderer.replaceIn(this,b[0]),this},append:function(){return this.appendTo(document.body)},remove:function(){this.removedFromDOM||this.destroyElement()},elementId:null,findElementInParentElement:function(a){var b="#"+this.elementId;return hb(b)[0]||hb(b,a)[0]},createElement:function(){return this.element?this:(this._didCreateElementWithoutMorph=!0,this.constructor.renderer.renderTree(this),this)},willInsertElement:D.K,didInsertElement:D.K,willClearRender:D.K,destroyElement:function(){return this.currentState.destroyElement(this)},willDestroyElement:D.K,parentViewDidChange:D.K,instrumentName:"view",instrumentDetails:function(a){a.template=I(this,"templateName"),this._super(a)},beforeRender:function(){},afterRender:function(){},applyAttributesToBuffer:function(a){var b=I(this,"classNameBindings");b.length&&this._applyClassNameBindings(b);var c=I(this,"attributeBindings");c.length&&this._applyAttributeBindings(a,c),a.setClasses(this.classNames),a.id(this.elementId);var d=I(this,"ariaRole");d&&a.attr("role",d),I(this,"isVisible")===!1&&a.style("display","none")},tagName:null,ariaRole:null,classNames:["ember-view"],classNameBindings:lb,attributeBindings:lb,init:function(){this.isVirtual||this.elementId||(this.elementId=P(this)),this._super(),this._childViews=this._childViews.slice(),this._baseContext=void 0,this._contextStream=void 0,this._streamBindings=void 0,this._keywords||(this._keywords=E(null)),this._keywords.view=new S,this._keywords._view=this,this._keywords.controller=new T(this,"controller"),this._setupKeywords(),D.assert("Only arrays are allowed for 'classNameBindings'","array"===W(this.classNameBindings)),this.classNameBindings=_(this.classNameBindings.slice()),D.assert("Only arrays are allowed for 'classNames'","array"===W(this.classNames)),this.classNames=_(this.classNames.slice())},appendChild:function(a,b){return this.currentState.appendChild(this,a,b)},removeChild:function(a){if(!this.isDestroying){J(a,"_parentView",null);var b=this._childViews;return db(b,a),this.propertyDidChange("childViews"),this}},removeAllChildren:function(){return this.mutateChildViews(function(a,b){a.removeChild(b)})},destroyAllChildren:function(){return this.mutateChildViews(function(a,b){b.destroy()})},removeFromParent:function(){var a=this._parentView;return this.remove(),a&&a.removeChild(this),this},destroy:function(){var a=I(this,"parentView"),b=this.viewName;return this._super()?(b&&a&&a.set(b,null),this):void 0},createChildView:function(a,b){if(!a)throw new TypeError("createChildViews first argument must exist");if(a.isView&&a._parentView===this&&a.container===this.container)return a;if(b=b||{},b._parentView=this,ib.detect(a))b.templateData=b.templateData||I(this,"templateData"),b.container=this.container,a=a.create(b),a.viewName&&J(I(this,"concreteView"),a.viewName,a);else if("string"==typeof a){var c="view:"+a,d=this.container.lookupFactory(c);D.assert("Could not find view: '"+c+"'",!!d),b.templateData=I(this,"templateData"),a=d.create(b)}else D.assert("You must pass instance or subclass of View",a.isView),b.container=this.container,I(a,"templateData")||(b.templateData=I(this,"templateData")),K(a,b);return a},becameVisible:D.K,becameHidden:D.K,_isVisibleDidChange:R("isVisible",function(){this._isVisible!==I(this,"isVisible")&&L.scheduleOnce("render",this,this._toggleVisibility)}),_toggleVisibility:function(){var a=this.$(),b=I(this,"isVisible");this._isVisible!==b&&(this._isVisible=b,a&&(a.toggle(b),this._isAncestorHidden()||(b?this._notifyBecameVisible():this._notifyBecameHidden())))},_notifyBecameVisible:function(){this.trigger("becameVisible"),this.forEachChildView(function(a){var b=I(a,"isVisible");(b||null===b)&&a._notifyBecameVisible()})},_notifyBecameHidden:function(){this.trigger("becameHidden"),this.forEachChildView(function(a){var b=I(a,"isVisible");(b||null===b)&&a._notifyBecameHidden()})},_isAncestorHidden:function(){for(var a=I(this,"parentView");a;){if(I(a,"isVisible")===!1)return!0;a=I(a,"parentView")}return!1},transitionTo:function(a,b){D.deprecate("Ember.View#transitionTo has been deprecated, it is for internal use only"),this._transitionTo(a,b)},_transitionTo:function(a){var b=this.currentState,c=this.currentState=this._states[a];this._state=a,b&&b.exit&&b.exit(this),c.enter&&c.enter(this)},handleEvent:function(a,b){return this.currentState.handleEvent(this,a,b)},registerObserver:function(a,b,c,d){if(d||"function"!=typeof c||(d=c,c=null),a&&"object"==typeof a){var e=this._wrapAsScheduled(d);M(a,b,c,e),this.one("willClearRender",function(){N(a,b,c,e)})}},_wrapAsScheduled:function(a){var b=this,c=function(){b.currentState.invokeObserver(this,a)},d=function(){L.scheduleOnce("render",this,c)};return d},getStream:function(a){return this._getContextStream().get(a)},_getBindingForStream:function(a){if(void 0===this._streamBindings&&(this._streamBindings=E(null),this.one("willDestroyElement",this,this._destroyStreamBindings)),void 0!==this._streamBindings[a])return this._streamBindings[a];var b=this._getContextStream().get(a);return this._streamBindings[a]=new U(b)},_destroyStreamBindings:function(){var a=this._streamBindings;for(var b in a)a[b].destroy();this._streamBindings=void 0},_getContextStream:function(){return void 0===this._contextStream&&(this._baseContext=new T(this,"context"),this._contextStream=new V(this),this.one("willDestroyElement",this,this._destroyContextStream)),this._contextStream},_destroyContextStream:function(){this._baseContext.destroy(),this._baseContext=void 0,this._contextStream.destroy(),this._contextStream=void 0},_unsubscribeFromStreamBindings:function(){for(var a in this._streamBindingSubscriptions){var b=this[a+"Binding"],c=this._streamBindingSubscriptions[a];b.unsubscribe(c)}}});$(mb.prototype,"state","_state"),$(mb.prototype,"states","_states"),mb.reopenClass({_parsePropertyPath:function(a){var b,c,d=a.split(":"),e=d[0],f="";return d.length>1&&(b=d[1],3===d.length&&(c=d[2]),f=":"+b,c&&(f+=":"+c)),{stream:void 0,path:e,classNames:f,className:""===b?void 0:b,falsyClassName:c}},_classStringForValue:function(a,b,c,d){if(X(b)&&(b=0!==I(b,"length")),c||d)return c&&b?c:d&&!b?d:null;if(b===!0){var e=a.split(".");return ab(e[e.length-1])}return b!==!1&&null!=b?b:null}});var nb=G.extend(F).create();mb.addMutationListener=function(a){nb.on("change",a)},mb.removeMutationListener=function(a){nb.off("change",a)},mb.notifyMutationListeners=function(){nb.trigger("change")},mb.views={},mb.childViewsProperty=kb,mb.applyAttributeBindings=function(a,b,c){var d=jb(a[0],b,c),e=W(d);"value"===b||"string"!==e&&("number"!==e||isNaN(d))?"value"===b||"boolean"===e?Y(d)||d===!1?(a.removeAttr(b),"required"===b?a.removeProp(b):a.prop(b,"")):d!==a.prop(b)&&a.prop(b,d):d||a.removeAttr(b):d!==a.attr(b)&&a.attr(b,d)},C["default"]=mb}),a("ember",["ember-metal","ember-runtime","ember-handlebars","ember-views","ember-routing","ember-routing-handlebars","ember-application","ember-extension-support"],function(){"use strict";e.__loader.registry["ember-testing"]&&b("ember-testing"),e.deprecate("Usage of Ember is deprecated for Internet Explorer 6 and 7, support will be removed in the next major version.",!navigator.userAgent.match(/MSIE [67]/))}),a("morph",["./morph/morph","./morph/dom-helper","exports"],function(a,b,c){"use strict";var d,d=a["default"];c.Morph=d;var e,e=b["default"];c.DOMHelper=e}),a("morph/dom-helper",["../morph/morph","./dom-helper/build-html-dom","exports"],function(a,b,c){"use strict";function d(a){return a===k}function e(a){return a&&a.namespaceURI===k&&!l[a.tagName]?k:null}function f(a,b){if("TABLE"===b.tagName){var c=o.exec(a);if(c){var d=c[1];return"tr"===d||"col"===d}}}function g(a,b){var c=b.document.createElement("div");return c.innerHTML=""+a+"",c.firstChild.childNodes}function h(a){this.document=a||window.document,this.namespace=null}var i=a["default"],j=b.buildHTMLDOM,k=b.svgNamespace,l=b.svgHTMLIntegrationPoints,m=function(){var a=document.createElement("div");a.appendChild(document.createTextNode(""));var b=a.cloneNode(!0);return 0===b.childNodes.length}(),n=function(){var a=document.createElement("input");a.setAttribute("checked","checked");var b=a.cloneNode(!1);return!b.checked}(),o=/<([\w:]+)/,p=h.prototype;p.constructor=h,p.insertBefore=function(a,b,c){return a.insertBefore(b,c)},p.appendChild=function(a,b){return a.appendChild(b)},p.appendText=function(a,b){return a.appendChild(this.document.createTextNode(b))},p.setAttribute=function(a,b,c){a.setAttribute(b,c)},p.createElement=document.createElementNS?function(a,b){var c=this.namespace;return b&&(c="svg"===a?k:e(b)),c?this.document.createElementNS(c,a):this.document.createElement(a)}:function(a){return this.document.createElement(a)},p.setNamespace=function(a){this.namespace=a},p.detectNamespace=function(a){this.namespace=e(a)},p.createDocumentFragment=function(){return this.document.createDocumentFragment()},p.createTextNode=function(a){return this.document.createTextNode(a) -},p.repairClonedNode=function(a,b,c){if(m&&b.length>0)for(var d=0,e=b.length;e>d;d++){var f=this.document.createTextNode(""),g=b[d],h=a.childNodes[g];h?a.insertBefore(f,h):a.appendChild(f)}n&&c&&a.setAttribute("checked","checked")},p.cloneNode=function(a,b){var c=a.cloneNode(!!b);return c},p.createMorph=function(a,b,c,d){return d||1!==a.nodeType||(d=a),new i(a,b,c,this,d)},p.createMorphAt=function(a,b,c,d){var e=a.childNodes,f=-1===b?null:e[b],g=-1===c?null:e[c];return this.createMorph(a,f,g,d)},p.insertMorphBefore=function(a,b,c){var d=this.document.createTextNode(""),e=this.document.createTextNode("");return a.insertBefore(d,b),a.insertBefore(e,b),this.createMorph(a,d,e,c)},p.appendMorph=function(a,b){var c=this.document.createTextNode(""),d=this.document.createTextNode("");return a.appendChild(c),a.appendChild(d),this.createMorph(a,c,d,b)},p.parseHTML=function(a,b){var c=d(this.namespace)&&!l[b.tagName];if(c)return g(a,this);var e=j(a,b,this);if(f(a,b)){for(var h=e[0];h&&1!==h.nodeType;)h=h.nextSibling;return h.childNodes}return e},c["default"]=h}),a("morph/dom-helper/build-html-dom",["exports"],function(a){"use strict";function b(a,b){b="­"+b,a.innerHTML=b;for(var c=a.childNodes,d=c[0];1===d.nodeType&&!d.nodeName;)d=d.firstChild;if(3===d.nodeType&&"­"===d.nodeValue.charAt(0)){var e=d.nodeValue.slice(1);e.length?d.nodeValue=d.nodeValue.slice(1):d.parentNode.removeChild(d)}return c}function c(a,c){var d=c.tagName,e=c.outerHTML||(new XMLSerializer).serializeToString(c);if(!e)throw"Can't set innerHTML on "+d+" in this browser";for(var f=m[d.toLowerCase()],g=e.match(new RegExp("<"+d+"([^>]*)>","i"))[0],h="",i=[g,a,h],j=f.length,k=1+j;j--;)i.unshift("<"+f[j]+">"),i.push("");var l=document.createElement("div");b(l,i.join(""));for(var n=l;k--;)for(n=n.firstChild;n&&1!==n.nodeType;)n=n.nextSibling;for(;n&&n.tagName!==d;)n=n.nextSibling;return n?n.childNodes:[]}function d(a,b,c){var d=s(a,b,c);if("SELECT"===b.tagName)for(var e=0;d[e];e++)if("OPTION"===d[e].tagName){g(d[e].parentNode,d[e],a)&&(d[e].parentNode.selectedIndex=-1);break}return d}var e={foreignObject:1,desc:1,title:1};a.svgHTMLIntegrationPoints=e;var f="http://www.w3.org/2000/svg";a.svgNamespace=f;var g,h=document&&document.createElementNS&&function(){var a=document.createElementNS(f,"title");return a.innerHTML="
    ",0===a.childNodes.length||1!==a.childNodes[0].nodeType}(),i=document&&function(){var a=document.createElement("div");return a.innerHTML="
    ",a.firstChild.innerHTML="",""===a.firstChild.innerHTML}(),j=document&&function(){var a=document.createElement("div");return a.innerHTML="Test: Value","Test:"===a.childNodes[0].nodeValue&&" Value"===a.childNodes[2].nodeValue}(),k=document&&function(){var a=document.createElement("div");return a.innerHTML="","selected"===a.childNodes[0].childNodes[0].getAttribute("selected")}();if(k){var l=/]*selected/;g=function(a,b,c){return 0===a.selectedIndex&&!l.test(c)}}else g=function(a,b){var c=b.getAttribute("selected");return 0===a.selectedIndex&&(null===c||""!==c&&"selected"!==c.toLowerCase())};var m,n,o=document.createElement("table");try{o.innerHTML="
    "}catch(p){}finally{n=0===o.childNodes.length}n&&(m={colgroup:["table"],table:[],tbody:["table"],tfoot:["table"],thead:["table"],tr:["table","tbody"]});var q=document.createElement("select");q.innerHTML="",q&&(m=m||{},m.select=[]);var r;r=i?function(a,c,d){return c=d.cloneNode(c,!1),b(c,a),c.childNodes}:function(a,b,c){return b=c.cloneNode(b,!1),b.innerHTML=a,b.childNodes};var s;s=m||j?function(a,b,d){var e=[],f=[];a=a.replace(/(\s*)()(\s*)/g,function(a,b,c){return f.push(c),b});var g;g=m[b.tagName.toLowerCase()]?c(a,b):r(a,b,d);var h,i,j,k,l=[];for(h=0;j=g[h];h++)if(1===j.nodeType)if("SCRIPT"===j.tagName)l.push(j);else for(k=j.getElementsByTagName("script"),i=0;i0&&(o=d.document.createTextNode(p),n.parentNode.insertBefore(o,n)),q=f[h],q&&q.length>0&&(o=d.document.createTextNode(q),n.parentNode.insertBefore(o,n.nextSibling));return g}:r;var t;t=h?function(a,b,c){return e[b.tagName]?d(a,document.createElement("div"),c):d(a,b,c)}:d,a.buildHTMLDOM=t}),a("morph/morph",["exports"],function(a){"use strict";function b(a,b){if(null===a||null===b)throw new Error("a fragment parent must have boundary nodes in order to detect insertion")}function c(a){if(!a||1!==a.nodeType)throw new Error("An element node must be provided for a contextualElement, you provided "+(a?"nodeType "+a.nodeType:"nothing"))}function d(a,d,e,f,g){11===a.nodeType?(b(d,e),this.element=null):this.element=a,this._parent=a,this.start=d,this.end=e,this.domHelper=f,c(g),this.contextualElement=g,this.reset()}function e(a,b,c){for(var d,e=b,f=c.length;f--;)d=c[f],a.insertBefore(d,e),e=d}function f(a,b,c){var d,e;for(d=null===c?a.lastChild:c.previousSibling;null!==d&&d!==b;)e=d.previousSibling,a.removeChild(d),d=e}var g=Array.prototype.splice;d.prototype.reset=function(){this.text=null,this.owner=null,this.morphs=null,this.before=null,this.after=null,this.escaped=!0},d.prototype.parent=function(){if(!this.element){var a=this.start.parentNode;this._parent!==a&&(this.element=this._parent=a)}return this._parent},d.prototype.destroy=function(){this.owner?this.owner.removeMorph(this):f(this.element||this.parent(),this.start,this.end)},d.prototype.removeMorph=function(a){for(var b=this.morphs,c=0,d=b.length;d>c;c++)if(b[c]===a){this.replace(c,1);break}},d.prototype.update=function(a){this._update(this.element||this.parent(),a)},d.prototype.updateNode=function(a){var b=this.element||this.parent();return a?void this._updateNode(b,a):this._updateText(b,"")},d.prototype.updateText=function(a){this._updateText(this.element||this.parent(),a)},d.prototype.updateHTML=function(a){var b=this.element||this.parent();return a?void this._updateHTML(b,a):this._updateText(b,"")},d.prototype._update=function(a,b){null===b||void 0===b?this._updateText(a,""):"string"==typeof b?this.escaped?this._updateText(a,b):this._updateHTML(a,b):b.nodeType?this._updateNode(a,b):b.string?this._updateHTML(a,b.string):this._updateText(a,b.toString())},d.prototype._updateNode=function(a,b){if(this.text){if(3===b.nodeType)return void(this.text.nodeValue=b.nodeValue);this.text=null}var c=this.start,d=this.end;f(a,c,d),a.insertBefore(b,d),null!==this.before&&(this.before.end=c.nextSibling),null!==this.after&&(this.after.start=d.previousSibling)},d.prototype._updateText=function(a,b){if(this.text)return void(this.text.nodeValue=b);var c=this.domHelper.createTextNode(b);this.text=c,f(a,this.start,this.end),a.insertBefore(c,this.end),null!==this.before&&(this.before.end=c),null!==this.after&&(this.after.start=c)},d.prototype._updateHTML=function(a,b){var c=this.start,d=this.end;f(a,c,d),this.text=null;var g=this.domHelper.parseHTML(b,this.contextualElement);e(a,d,g),null!==this.before&&(this.before.end=c.nextSibling),null!==this.after&&(this.after.start=d.previousSibling)},d.prototype.append=function(a){null===this.morphs&&(this.morphs=[]);var b=this.morphs.length;return this.insert(b,a)},d.prototype.insert=function(a,b){null===this.morphs&&(this.morphs=[]);var c=this.element||this.parent(),e=this.morphs,f=a>0?e[a-1]:null,g=a0?k[a-1]:null,m=a+b0&&f(j,n,o),0===p)return null!==l&&(l.after=m,l.end=o),null!==m&&(m.before=l,m.start=n),void k.splice(a,b);if(e=new Array(p+2),p>0){for(h=0;p>h;h++)e[h+2]=i=new d(j,n,o,this.domHelper,this.contextualElement),i._update(j,c[h]),i.owner=this,null!==l&&(i.before=l,l.end=n.nextSibling,l.after=i),l=i,n=null===o?j.lastChild:o.previousSibling;null!==m&&(i.after=m,m.before=i,m.start=o.previousSibling)}e[0]=a,e[1]=b,g.apply(k,e)},a["default"]=d}),a("route-recognizer",["route-recognizer/dsl","exports"],function(a,b){"use strict";function c(a){return"[object Array]"===Object.prototype.toString.call(a)}function d(a){this.string=a}function e(a){this.name=a}function f(a){this.name=a}function g(){}function h(a,b,c){"/"===a.charAt(0)&&(a=a.substr(1));for(var h=a.split("/"),i=[],j=0,k=h.length;k>j;j++){var l,m=h[j];(l=m.match(/^:([^\/]+)$/))?(i.push(new e(l[1])),b.push(l[1]),c.dynamics++):(l=m.match(/^\*([^\/]+)$/))?(i.push(new f(l[1])),b.push(l[1]),c.stars++):""===m?i.push(new g):(i.push(new d(m)),c.statics++)}return i}function i(a){this.charSpec=a,this.nextStates=[]}function j(a){return a.sort(function(a,b){if(a.types.stars!==b.types.stars)return a.types.stars-b.types.stars;if(a.types.stars){if(a.types.statics!==b.types.statics)return b.types.statics-a.types.statics;if(a.types.dynamics!==b.types.dynamics)return b.types.dynamics-a.types.dynamics}return a.types.dynamics!==b.types.dynamics?a.types.dynamics-b.types.dynamics:a.types.statics!==b.types.statics?b.types.statics-a.types.statics:0})}function k(a,b){for(var c=[],d=0,e=a.length;e>d;d++){var f=a[d];c=c.concat(f.match(b))}return c}function l(a){this.queryParams=a||{}}function m(a,b,c){for(var d=a.handlers,e=a.regex,f=b.match(e),g=1,h=new l(c),i=0,j=d.length;j>i;i++){for(var k=d[i],m=k.names,n={},o=0,p=m.length;p>o;o++)n[m[o]]=f[g++];h.push({handler:k.handler,params:n,isDynamic:!!m.length})}return h}function n(a,b){return b.eachChar(function(b){a=a.put(b)}),a}var o=a["default"],p=["/",".","*","+","?","|","(",")","[","]","{","}","\\"],q=new RegExp("(\\"+p.join("|\\")+")","g");d.prototype={eachChar:function(a){for(var b,c=this.string,d=0,e=c.length;e>d;d++)b=c.charAt(d),a({validChars:b})},regex:function(){return this.string.replace(q,"\\$1")},generate:function(){return this.string}},e.prototype={eachChar:function(a){a({invalidChars:"/",repeat:!0})},regex:function(){return"([^/]+)"},generate:function(a){return a[this.name]}},f.prototype={eachChar:function(a){a({invalidChars:"",repeat:!0})},regex:function(){return"(.+)"},generate:function(a){return a[this.name]}},g.prototype={eachChar:function(){},regex:function(){return""},generate:function(){return""}},i.prototype={get:function(a){for(var b=this.nextStates,c=0,d=b.length;d>c;c++){var e=b[c],f=e.charSpec.validChars===a.validChars;if(f=f&&e.charSpec.invalidChars===a.invalidChars)return e}},put:function(a){var b;return(b=this.get(a))?b:(b=new i(a),this.nextStates.push(b),a.repeat&&b.nextStates.push(b),b)},match:function(a){for(var b,c,d,e=this.nextStates,f=[],g=0,h=e.length;h>g;g++)b=e[g],c=b.charSpec,"undefined"!=typeof(d=c.validChars)?-1!==d.indexOf(a)&&f.push(b):"undefined"!=typeof(d=c.invalidChars)&&-1===d.indexOf(a)&&f.push(b);return f}};var r=Object.create||function(a){function b(){}return b.prototype=a,new b};l.prototype=r({splice:Array.prototype.splice,slice:Array.prototype.slice,push:Array.prototype.push,length:0,queryParams:null});var s=function(){this.rootState=new i,this.names={}};s.prototype={add:function(a,b){for(var c,d=this.rootState,e="^",f={statics:0,dynamics:0,stars:0},i=[],j=[],k=!0,l=0,m=a.length;m>l;l++){var o=a[l],p=[],q=h(o.path,p,f);j=j.concat(q);for(var r=0,s=q.length;s>r;r++){var t=q[r];t instanceof g||(k=!1,d=d.put({validChars:"/"}),e+="/",d=n(d,t),e+=t.regex())}var u={handler:o.handler,names:p};i.push(u)}k&&(d=d.put({validChars:"/"}),e+="/"),d.handlers=i,d.regex=new RegExp(e+"$"),d.types=f,(c=b&&b.as)&&(this.names[c]={segments:j,handlers:i})},handlersFor:function(a){var b=this.names[a],c=[];if(!b)throw new Error("There is no route named "+a);for(var d=0,e=b.handlers.length;e>d;d++)c.push(b.handlers[d]);return c},hasRoute:function(a){return!!this.names[a]},generate:function(a,b){var c=this.names[a],d="";if(!c)throw new Error("There is no route named "+a);for(var e=c.segments,f=0,h=e.length;h>f;f++){var i=e[f];i instanceof g||(d+="/",d+=i.generate(b))}return"/"!==d.charAt(0)&&(d="/"+d),b&&b.queryParams&&(d+=this.generateQueryString(b.queryParams,c.handlers)),d},generateQueryString:function(a){var b=[],d=[];for(var e in a)a.hasOwnProperty(e)&&d.push(e);d.sort();for(var f=0,g=d.length;g>f;f++){e=d[f];var h=a[e];if(null!=h){var i=encodeURIComponent(e);if(c(h))for(var j=0,k=h.length;k>j;j++){var l=e+"[]="+encodeURIComponent(h[j]);b.push(l)}else i+="="+encodeURIComponent(h),b.push(i)}}return 0===b.length?"":"?"+b.join("&")},parseQueryString:function(a){for(var b=a.split("&"),c={},d=0;d2&&"[]"===g.slice(h-2)&&(i=!0,g=g.slice(0,h-2),c[g]||(c[g]=[])),e=f[1]?decodeURIComponent(f[1]):""),i?c[g].push(e):c[g]=e}return c},recognize:function(a){var b,c,d,e,f=[this.rootState],g={},h=!1;if(e=a.indexOf("?"),-1!==e){var i=a.substr(e+1,a.length);a=a.substr(0,e),g=this.parseQueryString(i)}for(a=decodeURI(a),"/"!==a.charAt(0)&&(a="/"+a),b=a.length,b>1&&"/"===a.charAt(b-1)&&(a=a.substr(0,b-1),h=!0),c=0,d=a.length;d>c&&(f=k(f,a.charAt(c)),f.length);c++);var l=[];for(c=0,d=f.length;d>c;c++)f[c].handlers&&l.push(f[c]);f=j(l);var n=l[0];return n&&n.handlers?(h&&"(.+)$"===n.regex.source.slice(-5)&&(a+="/"),m(n,a,g)):void 0}},s.prototype.map=o,b["default"]=s}),a("route-recognizer/dsl",["exports"],function(a){"use strict";function b(a,b,c){this.path=a,this.matcher=b,this.delegate=c}function c(a){this.routes={},this.children={},this.target=a}function d(a,c,e){return function(f,g){var h=a+f;return g?void g(d(h,c,e)):new b(a+f,c,e)}}function e(a,b,c){for(var d=0,e=0,f=a.length;f>e;e++)d+=a[e].path.length;b=b.substr(d);var g={path:b,handler:c};a.push(g)}function f(a,b,c,d){var g=b.routes;for(var h in g)if(g.hasOwnProperty(h)){var i=a.slice();e(i,h,g[h]),b.children[h]?f(i,b.children[h],c,d):c.call(d,i)}}b.prototype={to:function(a,b){var c=this.delegate;if(c&&c.willAddRoute&&(a=c.willAddRoute(this.matcher.target,a)),this.matcher.add(this.path,a),b){if(0===b.length)throw new Error("You must have an argument in the function passed to `to`");this.matcher.addChild(this.path,a,b,this.delegate)}return this}},c.prototype={add:function(a,b){this.routes[a]=b},addChild:function(a,b,e,f){var g=new c(b);this.children[a]=g;var h=d(a,g,f);f&&f.contextEntered&&f.contextEntered(b,h),e(h)}},a["default"]=function(a,b){var e=new c;a(d("",e,this.delegate)),f([],e,function(a){b?b(this,a):this.add(a)},this)}}),a("router",["./router/router","exports"],function(a,b){"use strict";var c=a["default"];b["default"]=c}),a("router/handler-info",["./utils","rsvp/promise","exports"],function(a,b,c){"use strict";function d(a){var b=a||{};g(this,b),this.initialize(b)}function e(a,b){if(!a^!b)return!1;if(!a)return!0;for(var c in a)if(a.hasOwnProperty(c)&&a[c]!==b[c])return!1;return!0}var f=a.bind,g=a.merge,h=(a.serialize,a.promiseLabel),i=a.applyHook,j=b["default"];d.prototype={name:null,handler:null,params:null,context:null,factory:null,initialize:function(){},log:function(a,b){a.log&&a.log(this.name+": "+b)},promiseLabel:function(a){return h("'"+this.name+"' "+a)},getUnresolved:function(){return this},serialize:function(){return this.params||{}},resolve:function(a,b){var c=f(this,this.checkForAbort,a),d=f(this,this.runBeforeModelHook,b),e=f(this,this.getModel,b),g=f(this,this.runAfterModelHook,b),h=f(this,this.becomeResolved,b);return j.resolve(void 0,this.promiseLabel("Start handler")).then(c,null,this.promiseLabel("Check for abort")).then(d,null,this.promiseLabel("Before model")).then(c,null,this.promiseLabel("Check if aborted during 'beforeModel' hook")).then(e,null,this.promiseLabel("Model")).then(c,null,this.promiseLabel("Check if aborted in 'model' hook")).then(g,null,this.promiseLabel("After model")).then(c,null,this.promiseLabel("Check if aborted in 'afterModel' hook")).then(h,null,this.promiseLabel("Become resolved"))},runBeforeModelHook:function(a){return a.trigger&&a.trigger(!0,"willResolveModel",a,this.handler),this.runSharedModelHook(a,"beforeModel",[])},runAfterModelHook:function(a,b){var c=this.name;return this.stashResolvedModel(a,b),this.runSharedModelHook(a,"afterModel",[b]).then(function(){return a.resolvedModels[c]},null,this.promiseLabel("Ignore fulfillment value and return model value"))},runSharedModelHook:function(a,b,c){this.log(a,"calling "+b+" hook"),this.queryParams&&c.push(this.queryParams),c.push(a);var d=i(this.handler,b,c);return d&&d.isTransition&&(d=null),j.resolve(d,this.promiseLabel("Resolve value returned from one of the model hooks"))},getModel:null,checkForAbort:function(a,b){return j.resolve(a(),this.promiseLabel("Check for abort")).then(function(){return b},null,this.promiseLabel("Ignore fulfillment value and continue"))},stashResolvedModel:function(a,b){a.resolvedModels=a.resolvedModels||{},a.resolvedModels[this.name]=b},becomeResolved:function(a,b){var c=this.serialize(b);return a&&(this.stashResolvedModel(a,b),a.params=a.params||{},a.params[this.name]=c),this.factory("resolved",{context:b,name:this.name,handler:this.handler,params:c})},shouldSupercede:function(a){if(!a)return!0;var b=a.context===this.context;return a.name!==this.name||this.hasOwnProperty("context")&&!b||this.hasOwnProperty("params")&&!e(this.params,a.params)}},c["default"]=d}),a("router/handler-info/factory",["router/handler-info/resolved-handler-info","router/handler-info/unresolved-handler-info-by-object","router/handler-info/unresolved-handler-info-by-param","exports"],function(a,b,c,d){"use strict";function e(a,b){var c=e.klasses[a],d=new c(b||{});return d.factory=e,d}var f=a["default"],g=b["default"],h=c["default"];e.klasses={resolved:f,param:h,object:g},d["default"]=e}),a("router/handler-info/resolved-handler-info",["../handler-info","router/utils","rsvp/promise","exports"],function(a,b,c,d){"use strict";var e=a["default"],f=b.subclass,g=(b.promiseLabel,c["default"]),h=f(e,{resolve:function(a,b){return b&&b.resolvedModels&&(b.resolvedModels[this.name]=this.context),g.resolve(this,this.promiseLabel("Resolve"))},getUnresolved:function(){return this.factory("param",{name:this.name,handler:this.handler,params:this.params})},isResolved:!0});d["default"]=h}),a("router/handler-info/unresolved-handler-info-by-object",["../handler-info","router/utils","rsvp/promise","exports"],function(a,b,c,d){"use strict";var e=a["default"],f=(b.merge,b.subclass),g=(b.promiseLabel,b.isParam),h=c["default"],i=f(e,{getModel:function(a){return this.log(a,this.name+": resolving provided model"),h.resolve(this.context)},initialize:function(a){this.names=a.names||[],this.context=a.context},serialize:function(a){var b=a||this.context,c=this.names,d=this.handler,e={};if(g(b))return e[c[0]]=b,e;if(d.serialize)return d.serialize(b,c);if(1===c.length){var f=c[0];return e[f]=/_id$/.test(f)?b.id:b,e}}});d["default"]=i}),a("router/handler-info/unresolved-handler-info-by-param",["../handler-info","router/utils","exports"],function(a,b,c){"use strict";var d=a["default"],e=b.resolveHook,f=b.merge,g=b.subclass,h=(b.promiseLabel,g(d,{initialize:function(a){this.params=a.params||{}},getModel:function(a){var b=this.params;a&&a.queryParams&&(b={},f(b,this.params),b.queryParams=a.queryParams);var c=this.handler,d=e(c,"deserialize")||e(c,"model");return this.runSharedModelHook(a,d,[b])}}));c["default"]=h}),a("router/router",["route-recognizer","rsvp/promise","./utils","./transition-state","./transition","./transition-intent/named-transition-intent","./transition-intent/url-transition-intent","./handler-info","exports"],function(a,b,c,d,e,f,g,h,i){"use strict";function j(){this.recognizer=new v,this.reset()}function k(a,b){var c,d=!!this.activeTransition,e=d?this.activeTransition.state:this.state,f=a.applyToState(e,this.recognizer,this.getHandler,b),g=D(e.queryParams,f.queryParams);return s(f.handlerInfos,e.handlerInfos)?g&&(c=this.queryParamsTransition(g,d,e,f))?c:new I(this):b?void m(this,f):(c=new I(this,a,f),this.activeTransition&&this.activeTransition.abort(),this.activeTransition=c,c.promise=c.promise.then(function(a){return q(c,a.state)},null,E("Settle transition promise when transition is finalized")),d||u(this,f,c),l(this,f,g),c)}function l(a,b,c){c&&(a._changedQueryParams=c.all,x(a,b.handlerInfos,!0,["queryParamsDidChange",c.changed,c.all,c.removed]),a._changedQueryParams=null)}function m(a,b,c){var d=o(a.state,b);A(d.exited,function(a){var b=a.handler;delete b.context,F(b,"reset",!0,c),F(b,"exit",c)});var e=a.oldState=a.state;a.state=b;var f=a.currentHandlerInfos=d.unchanged.slice();try{A(d.reset,function(a){var b=a.handler;F(b,"reset",!1,c)}),A(d.updatedContext,function(a){return n(f,a,!1,c)}),A(d.entered,function(a){return n(f,a,!0,c)})}catch(g){throw a.state=e,a.currentHandlerInfos=e.handlerInfos,g}a.state.queryParams=t(a,f,b.queryParams,c)}function n(a,b,c,d){var e=b.handler,f=b.context;if(c&&F(e,"enter",d),d&&d.isAborted)throw new J;if(e.context=f,F(e,"contextDidChange"),F(e,"setup",f,d),d&&d.isAborted)throw new J;return a.push(b),!0}function o(a,b){var c,d,e,f=a.handlerInfos,g=b.handlerInfos,h={updatedContext:[],exited:[],entered:[],unchanged:[]},i=!1;for(d=0,e=g.length;e>d;d++){var j=f[d],k=g[d];j&&j.handler===k.handler||(c=!0),c?(h.entered.push(k),j&&h.exited.unshift(j)):i||j.context!==k.context?(i=!0,h.updatedContext.push(k)):h.unchanged.push(j)}for(d=g.length,e=f.length;e>d;d++)h.exited.unshift(f[d]);return h.reset=h.updatedContext.slice(),h.reset.reverse(),h}function p(a,b){var c=a.urlMethod;if(c){for(var d=a.router,e=b.handlerInfos,f=e[e.length-1].name,g={},h=e.length-1;h>=0;--h){var i=e[h];B(g,i.params),i.handler.inaccessibleByURL&&(c=null)}if(c){g.queryParams=a._visibleQueryParams||b.queryParams;var j=d.recognizer.generate(f,g);"replace"===c?d.replaceURL(j):d.updateURL(j)}}}function q(a,b){try{y(a.router,a.sequence,"Resolved all models on destination route; finalizing transition.");{var c=a.router,d=b.handlerInfos;a.sequence}return m(c,b,a),a.isAborted?(c.state.handlerInfos=c.currentHandlerInfos,w.reject(H(a))):(p(a,b,a.intent.url),a.isActive=!1,c.activeTransition=null,x(c,c.currentHandlerInfos,!0,["didTransition"]),c.didTransition&&c.didTransition(c.currentHandlerInfos),y(c,a.sequence,"TRANSITION COMPLETE."),d[d.length-1].handler)}catch(e){if(!(e instanceof J)){var f=a.state.handlerInfos;a.trigger(!0,"error",e,a,f[f.length-1].handler),a.abort()}throw e}}function r(a,b,c){var d=b[0]||"/",e=b[b.length-1],f={};e&&e.hasOwnProperty("queryParams")&&(f=M.call(b).queryParams);var g;if(0===b.length){y(a,"Updating query params");var h=a.state.handlerInfos;g=new K({name:h[h.length-1].name,contexts:[],queryParams:f})}else"/"===d.charAt(0)?(y(a,"Attempting URL transition to "+d),g=new L({url:d})):(y(a,"Attempting transition to "+d),g=new K({name:b[0],contexts:z.call(b,1),queryParams:f}));return a.transitionByIntent(g,c)}function s(a,b){if(a.length!==b.length)return!1;for(var c=0,d=a.length;d>c;++c)if(a[c]!==b[c])return!1;return!0}function t(a,b,c,d){for(var e in c)c.hasOwnProperty(e)&&null===c[e]&&delete c[e];var f=[];x(a,b,!0,["finalizeQueryParamChange",c,f,d]),d&&(d._visibleQueryParams={});for(var g={},h=0,i=f.length;i>h;++h){var j=f[h];g[j.key]=j.value,d&&j.visible!==!1&&(d._visibleQueryParams[j.key]=j.value)}return g}function u(a,b,c){var d,e,f,g,h,i,j=a.state.handlerInfos,k=[],l=null;for(g=j.length,f=0;g>f;f++){if(h=j[f],i=b.handlerInfos[f],!i||h.name!==i.name){l=f;break}i.isResolved||k.push(h)}null!==l&&(d=j.slice(l,g),e=function(a){for(var b=0,c=d.length;c>b;b++)if(d[b].name===a)return!0;return!1},a._triggerWillLeave(d,c,e)),k.length>0&&a._triggerWillChangeContext(k,c),x(a,j,!0,["willTransition",c])}var v=a["default"],w=b["default"],x=c.trigger,y=c.log,z=c.slice,A=c.forEach,B=c.merge,C=(c.serialize,c.extractQueryParams),D=c.getChangelist,E=c.promiseLabel,F=c.callHook,G=d["default"],H=e.logAbort,I=e.Transition,J=e.TransitionAborted,K=f["default"],L=g["default"],M=(h.ResolvedHandlerInfo,Array.prototype.pop);j.prototype={map:function(a){this.recognizer.delegate=this.delegate,this.recognizer.map(a,function(a,b){for(var c=b.length-1,d=!0;c>=0&&d;--c){var e=b[c];a.add(b,{as:e.handler}),d="/"===e.path||""===e.path||".index"===e.handler.slice(-6)}})},hasRoute:function(a){return this.recognizer.hasRoute(a)},queryParamsTransition:function(a,b,c,d){var e=this;if(l(this,d,a),!b&&this.activeTransition)return this.activeTransition;var f=new I(this);return f.queryParamsOnly=!0,c.queryParams=t(this,d.handlerInfos,d.queryParams,f),f.promise=f.promise.then(function(a){return p(f,c,!0),e.didTransition&&e.didTransition(e.currentHandlerInfos),a},null,E("Transition complete")),f},transitionByIntent:function(a){try{return k.apply(this,arguments)}catch(b){return new I(this,a,null,b)}},reset:function(){this.state&&A(this.state.handlerInfos.slice().reverse(),function(a){var b=a.handler;F(b,"exit")}),this.state=new G,this.currentHandlerInfos=null},activeTransition:null,handleURL:function(a){var b=z.call(arguments);return"/"!==a.charAt(0)&&(b[0]="/"+a),r(this,b).method(null)},updateURL:function(){throw new Error("updateURL is not implemented")},replaceURL:function(a){this.updateURL(a)},transitionTo:function(){return r(this,arguments)},intermediateTransitionTo:function(){return r(this,arguments,!0)},refresh:function(a){for(var b=this.activeTransition?this.activeTransition.state:this.state,c=b.handlerInfos,d={},e=0,f=c.length;f>e;++e){var g=c[e];d[g.name]=g.params||{}}y(this,"Starting a refresh transition");var h=new K({name:c[c.length-1].name,pivotHandler:a||c[0].handler,contexts:[],queryParams:this._changedQueryParams||b.queryParams||{}});return this.transitionByIntent(h,!1)},replaceWith:function(){return r(this,arguments).method("replace")},generate:function(a){for(var b=C(z.call(arguments,1)),c=b[0],d=b[1],e=new K({name:a,contexts:c}),f=e.applyToState(this.state,this.recognizer,this.getHandler),g={},h=0,i=f.handlerInfos.length;i>h;++h){var j=f.handlerInfos[h],k=j.serialize();B(g,k)}return g.queryParams=d,this.recognizer.generate(a,g)},applyIntent:function(a,b){var c=new K({name:a,contexts:b}),d=this.activeTransition&&this.activeTransition.state||this.state;return c.applyToState(d,this.recognizer,this.getHandler)},isActiveIntent:function(a,b,c){var d,e,f=this.state.handlerInfos;if(!f.length)return!1;var g=f[f.length-1].name,h=this.recognizer.handlersFor(g),i=0;for(e=h.length;e>i&&(d=f[i],d.name!==a);++i);if(i===h.length)return!1;var j=new G;j.handlerInfos=f.slice(0,i+1),h=h.slice(0,i+1);var k=new K({name:g,contexts:b}),l=k.applyToHandlers(j,h,this.getHandler,g,!0,!0),m=s(l.handlerInfos,j.handlerInfos);if(!c||!m)return m;var n={};B(n,c);var o=this.state.queryParams;for(var p in o)o.hasOwnProperty(p)&&n.hasOwnProperty(p)&&(n[p]=o[p]);return m&&!D(n,c)},isActive:function(a){var b=C(z.call(arguments,1));return this.isActiveIntent(a,b[0],b[1])},trigger:function(){var a=z.call(arguments);x(this,this.currentHandlerInfos,!1,a)},log:null,_willChangeContextEvent:"willChangeContext",_triggerWillChangeContext:function(a,b){x(this,a,!0,[this._willChangeContextEvent,b])},_triggerWillLeave:function(a,b,c){x(this,a,!0,["willLeave",b,c])}},i["default"]=j}),a("router/transition-intent",["./utils","exports"],function(a,b){"use strict";function c(a){this.initialize(a),this.data=this.data||{}}a.merge;c.prototype={initialize:null,applyToState:null},b["default"]=c}),a("router/transition-intent/named-transition-intent",["../transition-intent","../transition-state","../handler-info/factory","../utils","exports"],function(a,b,c,d,e){"use strict";var f=a["default"],g=b["default"],h=c["default"],i=d.isParam,j=d.extractQueryParams,k=d.merge,l=d.subclass;e["default"]=l(f,{name:null,pivotHandler:null,contexts:null,queryParams:null,initialize:function(a){this.name=a.name,this.pivotHandler=a.pivotHandler,this.contexts=a.contexts||[],this.queryParams=a.queryParams},applyToState:function(a,b,c,d){var e=j([this.name].concat(this.contexts)),f=e[0],g=(e[1],b.handlersFor(f[0])),h=g[g.length-1].handler;return this.applyToHandlers(a,g,c,h,d)},applyToHandlers:function(a,b,c,d,e,f){var h,i,j=new g,l=this.contexts.slice(0),m=b.length;if(this.pivotHandler)for(h=0,i=b.length;i>h;++h)if(c(b[h].handler)===this.pivotHandler){m=h;break}!this.pivotHandler;for(h=b.length-1;h>=0;--h){var n=b[h],o=n.handler,p=c(o),q=a.handlerInfos[h],r=null;if(r=n.names.length>0?h>=m?this.createParamHandlerInfo(o,p,n.names,l,q):this.getHandlerInfoForDynamicSegment(o,p,n.names,l,q,d,h):this.createParamHandlerInfo(o,p,n.names,l,q),f){r=r.becomeResolved(null,r.context);var s=q&&q.context;n.names.length>0&&r.context===s&&(r.params=q&&q.params),r.context=s}var t=q;(h>=m||r.shouldSupercede(q))&&(m=Math.min(h,m),t=r),e&&!f&&(t=t.becomeResolved(null,t.context)),j.handlerInfos.unshift(t)}if(l.length>0)throw new Error("More context objects were passed than there are dynamic segments for the route: "+d);return e||this.invalidateChildren(j.handlerInfos,m),k(j.queryParams,this.queryParams||{}),j},invalidateChildren:function(a,b){for(var c=b,d=a.length;d>c;++c){{a[c]}a[c]=a[c].getUnresolved()}},getHandlerInfoForDynamicSegment:function(a,b,c,d,e,f,g){{var j;c.length}if(d.length>0){if(j=d[d.length-1],i(j))return this.createParamHandlerInfo(a,b,c,d,e);d.pop()}else{if(e&&e.name===a)return e;if(!this.preTransitionState)return e;var k=this.preTransitionState.handlerInfos[g];j=k&&k.context}return h("object",{name:a,handler:b,context:j,names:c})},createParamHandlerInfo:function(a,b,c,d,e){for(var f={},g=c.length;g--;){var j=e&&a===e.name&&e.params||{},k=d[d.length-1],l=c[g];if(i(k))f[l]=""+d.pop();else{if(!j.hasOwnProperty(l))throw new Error("You didn't provide enough string/numeric parameters to satisfy all of the dynamic segments for route "+a);f[l]=j[l]}}return h("param",{name:a,handler:b,params:f})}})}),a("router/transition-intent/url-transition-intent",["../transition-intent","../transition-state","../handler-info/factory","../utils","exports"],function(a,b,c,d,e){"use strict";function f(a){this.message=a||"UnrecognizedURLError",this.name="UnrecognizedURLError"}var g=a["default"],h=b["default"],i=c["default"],j=(d.oCreate,d.merge),k=d.subclass;e["default"]=k(g,{url:null,initialize:function(a){this.url=a.url},applyToState:function(a,b,c){var d,e,g=new h,k=b.recognize(this.url);if(!k)throw new f(this.url);var l=!1;for(d=0,e=k.length;e>d;++d){var m=k[d],n=m.handler,o=c(n);if(o.inaccessibleByURL)throw new f(this.url);var p=i("param",{name:n,handler:o,params:m.params}),q=a.handlerInfos[d];l||p.shouldSupercede(q)?(l=!0,g.handlerInfos[d]=p):g.handlerInfos[d]=q}return j(g.queryParams,k.queryParams),g}})}),a("router/transition-state",["./handler-info","./utils","rsvp/promise","exports"],function(a,b,c,d){"use strict";function e(){this.handlerInfos=[],this.queryParams={},this.params={}}var f=(a.ResolvedHandlerInfo,b.forEach),g=b.promiseLabel,h=b.callHook,i=c["default"];e.prototype={handlerInfos:null,queryParams:null,params:null,promiseLabel:function(a){var b="";return f(this.handlerInfos,function(a){""!==b&&(b+="."),b+=a.name}),g("'"+b+"': "+a)},resolve:function(a,b){function c(){return i.resolve(a(),k.promiseLabel("Check if should continue"))["catch"](function(a){return l=!0,i.reject(a)},k.promiseLabel("Handle abort"))}function d(a){var c=k.handlerInfos,d=b.resolveIndex>=c.length?c.length-1:b.resolveIndex;return i.reject({error:a,handlerWithError:k.handlerInfos[d].handler,wasAborted:l,state:k})}function e(a){var d=k.handlerInfos[b.resolveIndex].isResolved;if(k.handlerInfos[b.resolveIndex++]=a,!d){var e=a.handler;h(e,"redirect",a.context,b)}return c().then(g,null,k.promiseLabel("Resolve handler")) -}function g(){if(b.resolveIndex===k.handlerInfos.length)return{error:null,state:k};var a=k.handlerInfos[b.resolveIndex];return a.resolve(c,b).then(e,null,k.promiseLabel("Proceed"))}var j=this.params;f(this.handlerInfos,function(a){j[a.name]=a.params||{}}),b=b||{},b.resolveIndex=0;var k=this,l=!1;return i.resolve(null,this.promiseLabel("Start transition")).then(g,null,this.promiseLabel("Resolve handler"))["catch"](d,this.promiseLabel("Handle error"))}},d["default"]=e}),a("router/transition",["rsvp/promise","./handler-info","./utils","exports"],function(a,b,c,d){"use strict";function e(a,b,c,d){function g(){return i.isAborted?h.reject(void 0,l("Transition aborted - reject")):void 0}var i=this;if(this.state=c||a.state,this.intent=b,this.router=a,this.data=this.intent&&this.intent.data||{},this.resolvedModels={},this.queryParams={},d)return this.promise=h.reject(d),void(this.error=d);if(c){this.params=c.params,this.queryParams=c.queryParams,this.handlerInfos=c.handlerInfos;var j=c.handlerInfos.length;j&&(this.targetName=c.handlerInfos[j-1].name);for(var k=0;j>k;++k){var m=c.handlerInfos[k];if(!m.isResolved)break;this.pivotHandler=m.handler}this.sequence=e.currentSequence++,this.promise=c.resolve(g,this)["catch"](function(a){return a.wasAborted||i.isAborted?h.reject(f(i)):(i.trigger("error",a.error,i,a.handlerWithError),i.abort(),h.reject(a.error))},l("Handle Abort"))}else this.promise=h.resolve(this.state),this.params={}}function f(a){return k(a.router,a.sequence,"detected abort."),new g}function g(a){this.message=a||"TransitionAborted",this.name="TransitionAborted"}var h=a["default"],i=(b.ResolvedHandlerInfo,c.trigger),j=c.slice,k=c.log,l=c.promiseLabel;e.currentSequence=0,e.prototype={targetName:null,urlMethod:"update",intent:null,params:null,pivotHandler:null,resolveIndex:0,handlerInfos:null,resolvedModels:null,isActive:!0,state:null,queryParamsOnly:!1,isTransition:!0,isExiting:function(a){for(var b=this.handlerInfos,c=0,d=b.length;d>c;++c){var e=b[c];if(e.name===a||e.handler===a)return!1}return!0},promise:null,data:null,then:function(a,b,c){return this.promise.then(a,b,c)},"catch":function(a,b){return this.promise["catch"](a,b)},"finally":function(a,b){return this.promise["finally"](a,b)},abort:function(){return this.isAborted?this:(k(this.router,this.sequence,this.targetName+": transition was aborted"),this.intent.preTransitionState=this.router.state,this.isAborted=!0,this.isActive=!1,this.router.activeTransition=null,this)},retry:function(){return this.abort(),this.router.transitionByIntent(this.intent,!1)},method:function(a){return this.urlMethod=a,this},trigger:function(a){var b=j.call(arguments);"boolean"==typeof a?b.shift():a=!1,i(this.router,this.state.handlerInfos.slice(0,this.resolveIndex+1),a,b)},followRedirects:function(){var a=this.router;return this.promise["catch"](function(b){return a.activeTransition?a.activeTransition.followRedirects():h.reject(b)})},toString:function(){return"Transition (sequence "+this.sequence+")"},log:function(a){k(this.router,this.sequence,a)}},e.prototype.send=e.prototype.trigger,d.Transition=e,d.logAbort=f,d.TransitionAborted=g}),a("router/utils",["exports"],function(a){"use strict";function b(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c])}function c(a){var b,c,d=a&&a.length;return d&&d>0&&a[d-1]&&a[d-1].hasOwnProperty("queryParams")?(c=a[d-1].queryParams,b=q.call(a,0,d-1),[b,c]):[a,null]}function d(a){for(var b in a)if("number"==typeof a[b])a[b]=""+a[b];else if(r(a[b]))for(var c=0,d=a[b].length;d>c;c++)a[b][c]=""+a[b][c]}function e(a,b,c){a.log&&(3===arguments.length?a.log("Transition #"+b+": "+c):(c=b,a.log(c)))}function f(a,b){var c=arguments;return function(d){var e=q.call(c,2);return e.push(d),b.apply(a,e)}}function g(a){return"string"==typeof a||a instanceof String||"number"==typeof a||a instanceof Number}function h(a,b){for(var c=0,d=a.length;d>c&&!1!==b(a[c]);c++);}function i(a,b,c,d){if(a.triggerEvent)return void a.triggerEvent(b,c,d);var e=d.shift();if(!b){if(c)return;throw new Error("Could not trigger event '"+e+"'. There are no active handlers")}for(var f=!1,g=b.length-1;g>=0;g--){var h=b[g],i=h.handler;if(i.events&&i.events[e]){if(i.events[e].apply(i,d)!==!0)return;f=!0}}if(!f&&!c)throw new Error("Nothing handled the event '"+e+"'.")}function j(a,c){var e,f={all:{},changed:{},removed:{}};b(f.all,c);var g=!1;d(a),d(c);for(e in a)a.hasOwnProperty(e)&&(c.hasOwnProperty(e)||(g=!0,f.removed[e]=a[e]));for(e in c)if(c.hasOwnProperty(e))if(r(a[e])&&r(c[e]))if(a[e].length!==c[e].length)f.changed[e]=c[e],g=!0;else for(var h=0,i=a[e].length;i>h;h++)a[e][h]!==c[e][h]&&(f.changed[e]=c[e],g=!0);else a[e]!==c[e]&&(f.changed[e]=c[e],g=!0);return g&&f}function k(a){return"Router: "+a}function l(a,c){function d(b){a.call(this,b||{})}return d.prototype=s(a.prototype),b(d.prototype,c),d}function m(a,b){if(a){var c="_"+b;return a[c]&&c||a[b]&&b}}function n(a,b){var c=q.call(arguments,2);return o(a,b,c)}function o(a,b,c){var d=m(a,b);return d?a[d].apply(a,c):void 0}var p,q=Array.prototype.slice;p=Array.isArray?Array.isArray:function(a){return"[object Array]"===Object.prototype.toString.call(a)};var r=p;a.isArray=r;var s=Object.create||function(a){function b(){}return b.prototype=a,new b};a.oCreate=s,a.extractQueryParams=c,a.log=e,a.bind=f,a.forEach=h,a.trigger=i,a.getChangelist=j,a.promiseLabel=k,a.subclass=l,a.merge=b,a.slice=q,a.isParam=g,a.coerceQueryParamsToString=d,a.callHook=n,a.resolveHook=m,a.applyHook=o}),a("rsvp",["./rsvp/promise","./rsvp/events","./rsvp/node","./rsvp/all","./rsvp/all-settled","./rsvp/race","./rsvp/hash","./rsvp/hash-settled","./rsvp/rethrow","./rsvp/defer","./rsvp/config","./rsvp/map","./rsvp/resolve","./rsvp/reject","./rsvp/filter","./rsvp/asap","exports"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){"use strict";function r(a,b){E.async(a,b)}function s(){E.on.apply(E,arguments)}function t(){E.off.apply(E,arguments)}var u=a["default"],v=b["default"],w=c["default"],x=d["default"],y=e["default"],z=f["default"],A=g["default"],B=h["default"],C=i["default"],D=j["default"],E=k.config,F=k.configure,G=l["default"],H=m["default"],I=n["default"],J=o["default"],K=p["default"];E.async=K;var L=H;if("undefined"!=typeof window&&"object"==typeof window.__PROMISE_INSTRUMENTATION__){var M=window.__PROMISE_INSTRUMENTATION__;F("instrument",!0);for(var N in M)M.hasOwnProperty(N)&&s(N,M[N])}q.cast=L,q.Promise=u,q.EventTarget=v,q.all=x,q.allSettled=y,q.race=z,q.hash=A,q.hashSettled=B,q.rethrow=C,q.defer=D,q.denodeify=w,q.configure=F,q.on=s,q.off=t,q.resolve=H,q.reject=I,q.async=r,q.map=G,q.filter=J}),a("rsvp.umd",["./rsvp"],function(b){"use strict";var c=b.Promise,d=b.allSettled,e=b.hash,f=b.hashSettled,g=b.denodeify,h=b.on,i=b.off,j=b.map,k=b.filter,l=b.resolve,m=b.reject,n=b.rethrow,o=b.all,p=b.defer,q=b.EventTarget,r=b.configure,s=b.race,t=b.async,u={race:s,Promise:c,allSettled:d,hash:e,hashSettled:f,denodeify:g,on:h,off:i,map:j,filter:k,resolve:l,reject:m,all:o,rethrow:n,defer:p,EventTarget:q,configure:r,async:t};"function"==typeof a&&a.amd?a(function(){return u}):"undefined"!=typeof module&&module.exports?module.exports=u:"undefined"!=typeof this&&(this.RSVP=u)}),a("rsvp/-internal",["./utils","./instrument","./config","exports"],function(a,b,c,d){"use strict";function e(){return new TypeError("A promises callback cannot return that same promise.")}function f(){}function g(a){try{return a.then}catch(b){return C.error=b,C}}function h(a,b,c,d){try{a.call(b,c,d)}catch(e){return e}}function i(a,b,c){y.async(function(a){var d=!1,e=h(c,b,function(c){d||(d=!0,b!==c?l(a,c):n(a,c))},function(b){d||(d=!0,o(a,b))},"Settle: "+(a._label||" unknown promise"));!d&&e&&(d=!0,o(a,e))},a)}function j(a,b){b._state===A?n(a,b._result):a._state===B?o(a,b._result):p(b,void 0,function(c){b!==c?l(a,c):n(a,c)},function(b){o(a,b)})}function k(a,b){if(b.constructor===a.constructor)j(a,b);else{var c=g(b);c===C?o(a,C.error):void 0===c?n(a,b):w(c)?i(a,b,c):n(a,b)}}function l(a,b){a===b?n(a,b):v(b)?k(a,b):n(a,b)}function m(a){a._onerror&&a._onerror(a._result),q(a)}function n(a,b){a._state===z&&(a._result=b,a._state=A,0===a._subscribers.length?y.instrument&&x("fulfilled",a):y.async(q,a))}function o(a,b){a._state===z&&(a._state=B,a._result=b,y.async(m,a))}function p(a,b,c,d){var e=a._subscribers,f=e.length;a._onerror=null,e[f]=b,e[f+A]=c,e[f+B]=d,0===f&&a._state&&y.async(q,a)}function q(a){var b=a._subscribers,c=a._state;if(y.instrument&&x(c===A?"fulfilled":"rejected",a),0!==b.length){for(var d,e,f=a._result,g=0;ga;a+=2){var b=p[a],c=p[a+1];b(c),p[a]=void 0,p[a+1]=void 0}j=0}function i(){try{{var a=c("vertx");a.runOnLoop||a.runOnContext}return d()}catch(b){return g()}}var j=0;a["default"]=function(a,b){p[j]=a,p[j+1]=b,j+=2,2===j&&k()};var k,l="undefined"!=typeof window?window:void 0,m=l||{},n=m.MutationObserver||m.WebKitMutationObserver,o="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel,p=new Array(1e3);k="undefined"!=typeof process&&"[object process]"==={}.toString.call(process)?b():n?e():o?f():void 0===l&&"function"==typeof c?i():g()}),a("rsvp/config",["./events","exports"],function(a,b){"use strict";function c(a,b){return"onerror"===a?void e.on("error",b):2!==arguments.length?e[a]:void(e[a]=b)}var d=a["default"],e={instrument:!1};d.mixin(e),b.config=e,b.configure=c}),a("rsvp/defer",["./promise","exports"],function(a,b){"use strict";var c=a["default"];b["default"]=function(a){var b={};return b.promise=new c(function(a,c){b.resolve=a,b.reject=c},a),b}}),a("rsvp/enumerator",["./utils","./-internal","exports"],function(a,b,c){"use strict";function d(a,b,c){return a===l?{state:"fulfilled",value:c}:{state:"rejected",reason:c}}function e(a,b,c,d){this._instanceConstructor=a,this.promise=new a(h,d),this._abortOnReject=c,this._validateInput(b)?(this._input=b,this.length=b.length,this._remaining=b.length,this._init(),0===this.length?j(this.promise,this._result):(this.length=this.length||0,this._enumerate(),0===this._remaining&&j(this.promise,this._result))):i(this.promise,this._validationError())}var f=a.isArray,g=a.isMaybeThenable,h=b.noop,i=b.reject,j=b.fulfill,k=b.subscribe,l=b.FULFILLED,m=b.REJECTED,n=b.PENDING;c.makeSettledResult=d,e.prototype._validateInput=function(a){return f(a)},e.prototype._validationError=function(){return new Error("Array Methods must be provided an Array")},e.prototype._init=function(){this._result=new Array(this.length)},c["default"]=e,e.prototype._enumerate=function(){for(var a=this.length,b=this.promise,c=this._input,d=0;b._state===n&&a>d;d++)this._eachEntry(c[d],d)},e.prototype._eachEntry=function(a,b){var c=this._instanceConstructor;g(a)?a.constructor===c&&a._state!==n?(a._onerror=null,this._settledAt(a._state,b,a._result)):this._willSettleAt(c.resolve(a),b):(this._remaining--,this._result[b]=this._makeResult(l,b,a))},e.prototype._settledAt=function(a,b,c){var d=this.promise;d._state===n&&(this._remaining--,this._abortOnReject&&a===m?i(d,c):this._result[b]=this._makeResult(a,b,c)),0===this._remaining&&j(d,this._result)},e.prototype._makeResult=function(a,b,c){return c},e.prototype._willSettleAt=function(a,b){var c=this;k(a,void 0,function(a){c._settledAt(l,b,a)},function(a){c._settledAt(m,b,a)})}}),a("rsvp/events",["exports"],function(a){"use strict";function b(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1}function c(a){var b=a._promiseCallbacks;return b||(b=a._promiseCallbacks={}),b}a["default"]={mixin:function(a){return a.on=this.on,a.off=this.off,a.trigger=this.trigger,a._promiseCallbacks=void 0,a},on:function(a,d){var e,f=c(this);e=f[a],e||(e=f[a]=[]),-1===b(e,d)&&e.push(d)},off:function(a,d){var e,f,g=c(this);return d?(e=g[a],f=b(e,d),void(-1!==f&&e.splice(f,1))):void(g[a]=[])},trigger:function(a,b){var d,e,f=c(this);if(d=f[a])for(var g=0;gh;h++)g[h]=b(a[h]);return d.all(g,c).then(function(b){for(var c=new Array(f),d=0,e=0;f>e;e++)b[e]&&(c[d]=a[e],d++);return c.length=d,c})})}}),a("rsvp/hash-settled",["./promise","./enumerator","./promise-hash","./utils","exports"],function(a,b,c,d,e){"use strict";function f(a,b,c){this._superConstructor(a,b,!1,c)}var g=a["default"],h=b.makeSettledResult,i=c["default"],j=b["default"],k=d.o_create;f.prototype=k(i.prototype),f.prototype._superConstructor=j,f.prototype._makeResult=h,f.prototype._validationError=function(){return new Error("hashSettled must be called with an object")},e["default"]=function(a,b){return new f(g,a,b).promise}}),a("rsvp/hash",["./promise","./promise-hash","exports"],function(a,b,c){"use strict";var d=a["default"],e=b["default"];c["default"]=function(a,b){return new e(d,a,b).promise}}),a("rsvp/instrument",["./config","./utils","exports"],function(a,b,c){"use strict";function d(){setTimeout(function(){for(var a,b=0;bh;h++)g[h]=b(a[h]);return d.all(g,c)})}}),a("rsvp/node",["./promise","./-internal","./utils","exports"],function(a,b,c,d){"use strict";function e(){this.value=void 0}function f(a){try{return a.then}catch(b){return s.value=b,s}}function g(a,b,c){try{a.apply(b,c)}catch(d){return s.value=d,s}}function h(a,b){for(var c,d,e={},f=a.length,g=new Array(f),h=0;f>h;h++)g[h]=a[h];for(d=0;dd;d++)c[d-1]=a[d];return c}function j(a,b){return{then:function(c,d){return a.call(b,c,d)}}}function k(a,b,c,d){var e=g(c,d,b);return e===s&&q(a,e.value),a}function l(a,b,c,d){return n.all(b).then(function(b){var e=g(c,d,b);return e===s&&q(a,e.value),a})}function m(a){return a&&"object"==typeof a?a.constructor===n?!0:f(a):!1}var n=a["default"],o=b.noop,p=b.resolve,q=b.reject,r=c.isArray,s=new e,t=new e;d["default"]=function(a,b){var c=function(){for(var c,d=this,e=arguments.length,f=new Array(e+1),g=!1,s=0;e>s;++s){if(c=arguments[s],!g){if(g=m(c),g===t){var u=new n(o);return q(u,t.value),u}g&&g!==!0&&(c=j(g,c))}f[s]=c}var v=new n(o);return f[e]=function(a,c){a?q(v,a):void 0===b?p(v,c):b===!0?p(v,i(arguments)):r(b)?p(v,h(arguments,b)):p(v,c)},g?l(v,f,a,d):k(v,f,a,d)};return c.__proto__=a,c}}),a("rsvp/promise-hash",["./enumerator","./-internal","./utils","exports"],function(a,b,c,d){"use strict";function e(a,b,c){this._superConstructor(a,b,!0,c)}var f=a["default"],g=b.PENDING,h=c.o_create;d["default"]=e,e.prototype=h(f.prototype),e.prototype._superConstructor=f,e.prototype._init=function(){this._result={}},e.prototype._validateInput=function(a){return a&&"object"==typeof a},e.prototype._validationError=function(){return new Error("Promise.hash must be called with an object")},e.prototype._enumerate=function(){var a=this.promise,b=this._input,c=[];for(var d in b)a._state===g&&b.hasOwnProperty(d)&&c.push({position:d,entry:b[d]});var e=c.length;this._remaining=e;for(var f,h=0;a._state===g&&e>h;h++)f=c[h],this._eachEntry(f.entry,f.position)}}),a("rsvp/promise",["./config","./instrument","./utils","./-internal","./promise/all","./promise/race","./promise/resolve","./promise/reject","exports"],function(a,b,c,d,e,f,g,h,i){"use strict";function j(){throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")}function k(){throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")}function l(a,b){this._id=B++,this._label=b,this._state=void 0,this._result=void 0,this._subscribers=[],m.instrument&&n("created",this),q!==a&&(o(a)||j(),this instanceof l||k(),s(this,a))}var m=a.config,n=b["default"],o=c.isFunction,p=c.now,q=d.noop,r=d.subscribe,s=d.initializePromise,t=d.invokeCallback,u=d.FULFILLED,v=d.REJECTED,w=e["default"],x=f["default"],y=g["default"],z=h["default"],A="rsvp_"+p()+"-",B=0;i["default"]=l,l.cast=y,l.all=w,l.race=x,l.resolve=y,l.reject=z,l.prototype={constructor:l,_guidKey:A,_onerror:function(a){m.trigger("error",a)},then:function(a,b,c){var d=this,e=d._state;if(e===u&&!a||e===v&&!b)return m.instrument&&n("chained",this,this),this;d._onerror=null;var f=new this.constructor(q,c),g=d._result;if(m.instrument&&n("chained",d,f),e){var h=arguments[e-1];m.async(function(){t(e,f,h,g)})}else r(d,f,a,b);return f},"catch":function(a,b){return this.then(null,a,b)},"finally":function(a,b){var c=this.constructor;return this.then(function(b){return c.resolve(a()).then(function(){return b})},function(b){return c.resolve(a()).then(function(){throw b})},b)}}}),a("rsvp/promise/all",["../enumerator","exports"],function(a,b){"use strict";var c=a["default"];b["default"]=function(a,b){return new c(this,a,!0,b).promise}}),a("rsvp/promise/race",["../utils","../-internal","exports"],function(a,b,c){"use strict";var d=a.isArray,e=b.noop,f=b.resolve,g=b.reject,h=b.subscribe,i=b.PENDING;c["default"]=function(a,b){function c(a){f(l,a)}function j(a){g(l,a)}var k=this,l=new k(e,b);if(!d(a))return g(l,new TypeError("You must pass an array to race.")),l;for(var m=a.length,n=0;l._state===i&&m>n;n++)h(k.resolve(a[n]),void 0,c,j);return l}}),a("rsvp/promise/reject",["../-internal","exports"],function(a,b){"use strict";var c=a.noop,d=a.reject;b["default"]=function(a,b){var e=this,f=new e(c,b);return d(f,a),f}}),a("rsvp/promise/resolve",["../-internal","exports"],function(a,b){"use strict";var c=a.noop,d=a.resolve;b["default"]=function(a,b){var e=this;if(a&&"object"==typeof a&&a.constructor===e)return a;var f=new e(c,b);return d(f,a),f}}),a("rsvp/race",["./promise","exports"],function(a,b){"use strict";var c=a["default"];b["default"]=function(a,b){return c.race(a,b)}}),a("rsvp/reject",["./promise","exports"],function(a,b){"use strict";var c=a["default"];b["default"]=function(a,b){return c.reject(a,b)}}),a("rsvp/resolve",["./promise","exports"],function(a,b){"use strict";var c=a["default"];b["default"]=function(a,b){return c.resolve(a,b)}}),a("rsvp/rethrow",["exports"],function(a){"use strict";a["default"]=function(a){throw setTimeout(function(){throw a}),a}}),a("rsvp/utils",["exports"],function(a){"use strict";function b(a){return"function"==typeof a||"object"==typeof a&&null!==a}function c(a){return"function"==typeof a}function d(a){return"object"==typeof a&&null!==a}function e(){}a.objectOrFunction=b,a.isFunction=c,a.isMaybeThenable=d;var f;f=Array.isArray?Array.isArray:function(a){return"[object Array]"===Object.prototype.toString.call(a)};var g=f;a.isArray=g;var h=Date.now||function(){return(new Date).getTime()};a.now=h;var i=Object.create||function(a){if(arguments.length>1)throw new Error("Second argument not supported");if("object"!=typeof a)throw new TypeError("Argument must be an object");return e.prototype=a,new e};a.o_create=i}),b("ember")}();var hljs=new function(){function a(a){return a.replace(/&/gm,"&").replace(//gm,">")}function b(a){for(var b=a.firstChild;b;b=b.nextSibling){if("CODE"==b.nodeName)return b;if(3!=b.nodeType||!b.nodeValue.match(/\s+/))break}}function c(a,b){return Array.prototype.map.call(a.childNodes,function(a){return 3==a.nodeType?b?a.nodeValue.replace(/\n/g,""):a.nodeValue:"BR"==a.nodeName?"\n":c(a,b)}).join("")}function d(a){var b=(a.className+" "+a.parentNode.className).split(/\s+/);b=b.map(function(a){return a.replace(/^language-/,"")});for(var c=0;c"}for(var g=0,h="",i=[];b.length||c.length;){var j=e().splice(0,1)[0];if(h+=a(d.substr(g,j.offset-g)),g=j.offset,"start"==j.event)h+=f(j.node),i.push(j.node);else if("stop"==j.event){var k,l=i.length;do l--,k=i[l],h+="";while(k!=j.node);for(i.splice(l,1);l'+e[0]+""):c+=e[0],d=r.lR.lastIndex,e=r.lR.exec(b)}return c+b.substr(d)}function l(){if(r.sL&&!n[r.sL])return a(s);var b=r.sL?h(r.sL,s):i(s);return r.r>0&&(u+=b.keyword_count,t+=b.r),''+b.value+""}function m(){return void 0!==r.sL?l():k()}function o(b,c){var d=b.cN?'':"";b.rB?(v+=d,s=""):b.eB?(v+=a(c)+d,s=""):(v+=d,s=c),r=Object.create(b,{parent:{value:r}}),t+=b.r}function p(b,c){if(s+=b,void 0===c)return v+=m(),0;var g=d(c,r);if(g)return v+=m(),o(g,c),g.rB?0:c.length;var h=e(r,c);if(h){h.rE||h.eE||(s+=c),v+=m();do r.cN&&(v+=""),r=r.parent;while(r!=h.parent);return h.eE&&(v+=a(c)),s="",h.starts&&o(h.starts,""),h.rE?0:c.length}if(f(c,r))throw"Illegal";return s+=c,c.length||1}var q=n[b];g(q);var r=q,s="",t=0,u=0,v="";try{for(var w,x,y=0;;){if(r.t.lastIndex=y,w=r.t.exec(c),!w)break;x=p(c.substr(y,w.index-y),w[0]),y=w.index+x}return p(c.substr(y)),{r:t,keyword_count:u,value:v,language:b}}catch(z){if("Illegal"==z)return{r:0,keyword_count:0,value:a(c)};throw z}}function i(b){var c={keyword_count:0,r:0,value:a(b)},d=c;for(var e in n)if(n.hasOwnProperty(e)){var f=h(e,b);f.language=e,f.keyword_count+f.r>d.keyword_count+d.r&&(d=f),f.keyword_count+f.r>c.keyword_count+c.r&&(d=c,c=f)}return d.language&&(c.second_best=d),c}function j(a,b,c){return b&&(a=a.replace(/^((<[^>]+>|\t)+)/gm,function(a,c){return c.replace(/\t/g,b)})),c&&(a=a.replace(/\n/g,"
    ")),a}function k(a,b,g){var k=c(a,g),l=d(a);if("no-highlight"!=l){var m=l?h(l,k):i(k);l=m.language;var n=e(a);if(n.length){var o=document.createElement("pre");o.innerHTML=m.value,m.value=f(n,e(o),k)}m.value=j(m.value,b,g);var p=a.className;p.match("(\\s|^)(language-)?"+l+"(\\s|$)")||(p=p?p+" "+l:l),a.innerHTML=m.value,a.className=p,a.result={language:l,kw:m.keyword_count,re:m.r},m.second_best&&(a.second_best={language:m.second_best.language,kw:m.second_best.keyword_count,re:m.second_best.r})}}function l(){l.called||(l.called=!0,Array.prototype.map.call(document.getElementsByTagName("pre"),b).filter(Boolean).forEach(function(a){k(a,hljs.tabReplace)}))}function m(){window.addEventListener("DOMContentLoaded",l,!1),window.addEventListener("load",l,!1)}var n={};this.LANGUAGES=n,this.highlight=h,this.highlightAuto=i,this.fixMarkup=j,this.highlightBlock=k,this.initHighlighting=l,this.initHighlightingOnLoad=m,this.IR="[a-zA-Z][a-zA-Z0-9_]*",this.UIR="[a-zA-Z_][a-zA-Z0-9_]*",this.NR="\\b\\d+(\\.\\d+)?",this.CNR="(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",this.BNR="\\b(0b[01]+)",this.RSR="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|\\.|-|-=|/|/=|:|;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",this.BE={b:"\\\\[\\s\\S]",r:0},this.ASM={cN:"string",b:"'",e:"'",i:"\\n",c:[this.BE],r:0},this.QSM={cN:"string",b:'"',e:'"',i:"\\n",c:[this.BE],r:0},this.CLCM={cN:"comment",b:"//",e:"$"},this.CBLCLM={cN:"comment",b:"/\\*",e:"\\*/"},this.HCM={cN:"comment",b:"#",e:"$"},this.NM={cN:"number",b:this.NR,r:0},this.CNM={cN:"number",b:this.CNR,r:0},this.BNM={cN:"number",b:this.BNR,r:0},this.inherit=function(a,b){var c={};for(var d in a)c[d]=a[d];if(b)for(var d in b)c[d]=b[d];return c}};if(hljs.LANGUAGES.glsl=function(a){return{k:{keyword:"atomic_uint attribute bool break bvec2 bvec3 bvec4 case centroid coherent const continue default discard dmat2 dmat2x2 dmat2x3 dmat2x4 dmat3 dmat3x2 dmat3x3 dmat3x4 dmat4 dmat4x2 dmat4x3 dmat4x4 do double dvec2 dvec3 dvec4 else flat float for highp if iimage1D iimage1DArray iimage2D iimage2DArray iimage2DMS iimage2DMSArray iimage2DRect iimage3D iimageBuffer iimageCube iimageCubeArray image1D image1DArray image2D image2DArray image2DMS image2DMSArray image2DRect image3D imageBuffer imageCube imageCubeArray in inout int invariant isampler1D isampler1DArray isampler2D isampler2DArray isampler2DMS isampler2DMSArray isampler2DRect isampler3D isamplerBuffer isamplerCube isamplerCubeArray ivec2 ivec3 ivec4 layout lowp mat2 mat2x2 mat2x3 mat2x4 mat3 mat3x2 mat3x3 mat3x4 mat4 mat4x2 mat4x3 mat4x4 mediump noperspective out patch precision readonly restrict return sample sampler1D sampler1DArray sampler1DArrayShadow sampler1DShadow sampler2D sampler2DArray sampler2DArrayShadow sampler2DMS sampler2DMSArray sampler2DRect sampler2DRectShadow sampler2DShadow sampler3D samplerBuffer samplerCube samplerCubeArray samplerCubeArrayShadow samplerCubeShadow smooth struct subroutine switch uimage1D uimage1DArray uimage2D uimage2DArray uimage2DMS uimage2DMSArray uimage2DRect uimage3D uimageBuffer uimageCube uimageCubeArray uint uniform usampler1D usampler1DArray usampler2D usampler2DArray usampler2DMS usampler2DMSArray usampler2DRect usampler3D usamplerBuffer usamplerCube usamplerCubeArray uvec2 uvec3 uvec4 varying vec2 vec3 vec4 void volatile while writeonly",built_in:"gl_BackColor gl_BackLightModelProduct gl_BackLightProduct gl_BackMaterial gl_BackSecondaryColor gl_ClipDistance gl_ClipPlane gl_ClipVertex gl_Color gl_DepthRange gl_EyePlaneQ gl_EyePlaneR gl_EyePlaneS gl_EyePlaneT gl_Fog gl_FogCoord gl_FogFragCoord gl_FragColor gl_FragCoord gl_FragData gl_FragDepth gl_FrontColor gl_FrontFacing gl_FrontLightModelProduct gl_FrontLightProduct gl_FrontMaterial gl_FrontSecondaryColor gl_InstanceID gl_InvocationID gl_Layer gl_LightModel gl_LightSource gl_MaxAtomicCounterBindings gl_MaxAtomicCounterBufferSize gl_MaxClipDistances gl_MaxClipPlanes gl_MaxCombinedAtomicCounterBuffers gl_MaxCombinedAtomicCounters gl_MaxCombinedImageUniforms gl_MaxCombinedImageUnitsAndFragmentOutputs gl_MaxCombinedTextureImageUnits gl_MaxDrawBuffers gl_MaxFragmentAtomicCounterBuffers gl_MaxFragmentAtomicCounters gl_MaxFragmentImageUniforms gl_MaxFragmentInputComponents gl_MaxFragmentUniformComponents gl_MaxFragmentUniformVectors gl_MaxGeometryAtomicCounterBuffers gl_MaxGeometryAtomicCounters gl_MaxGeometryImageUniforms gl_MaxGeometryInputComponents gl_MaxGeometryOutputComponents gl_MaxGeometryOutputVertices gl_MaxGeometryTextureImageUnits gl_MaxGeometryTotalOutputComponents gl_MaxGeometryUniformComponents gl_MaxGeometryVaryingComponents gl_MaxImageSamples gl_MaxImageUnits gl_MaxLights gl_MaxPatchVertices gl_MaxProgramTexelOffset gl_MaxTessControlAtomicCounterBuffers gl_MaxTessControlAtomicCounters gl_MaxTessControlImageUniforms gl_MaxTessControlInputComponents gl_MaxTessControlOutputComponents gl_MaxTessControlTextureImageUnits gl_MaxTessControlTotalOutputComponents gl_MaxTessControlUniformComponents gl_MaxTessEvaluationAtomicCounterBuffers gl_MaxTessEvaluationAtomicCounters gl_MaxTessEvaluationImageUniforms gl_MaxTessEvaluationInputComponents gl_MaxTessEvaluationOutputComponents gl_MaxTessEvaluationTextureImageUnits gl_MaxTessEvaluationUniformComponents gl_MaxTessGenLevel gl_MaxTessPatchComponents gl_MaxTextureCoords gl_MaxTextureImageUnits gl_MaxTextureUnits gl_MaxVaryingComponents gl_MaxVaryingFloats gl_MaxVaryingVectors gl_MaxVertexAtomicCounterBuffers gl_MaxVertexAtomicCounters gl_MaxVertexAttribs gl_MaxVertexImageUniforms gl_MaxVertexOutputComponents gl_MaxVertexTextureImageUnits gl_MaxVertexUniformComponents gl_MaxVertexUniformVectors gl_MaxViewports gl_MinProgramTexelOffsetgl_ModelViewMatrix gl_ModelViewMatrixInverse gl_ModelViewMatrixInverseTranspose gl_ModelViewMatrixTranspose gl_ModelViewProjectionMatrix gl_ModelViewProjectionMatrixInverse gl_ModelViewProjectionMatrixInverseTranspose gl_ModelViewProjectionMatrixTranspose gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 gl_Normal gl_NormalMatrix gl_NormalScale gl_ObjectPlaneQ gl_ObjectPlaneR gl_ObjectPlaneS gl_ObjectPlaneT gl_PatchVerticesIn gl_PerVertex gl_Point gl_PointCoord gl_PointSize gl_Position gl_PrimitiveID gl_PrimitiveIDIn gl_ProjectionMatrix gl_ProjectionMatrixInverse gl_ProjectionMatrixInverseTranspose gl_ProjectionMatrixTranspose gl_SampleID gl_SampleMask gl_SampleMaskIn gl_SamplePosition gl_SecondaryColor gl_TessCoord gl_TessLevelInner gl_TessLevelOuter gl_TexCoord gl_TextureEnvColor gl_TextureMatrixInverseTranspose gl_TextureMatrixTranspose gl_Vertex gl_VertexID gl_ViewportIndex gl_in gl_out EmitStreamVertex EmitVertex EndPrimitive EndStreamPrimitive abs acos acosh all any asin asinh atan atanh atomicCounter atomicCounterDecrement atomicCounterIncrement barrier bitCount bitfieldExtract bitfieldInsert bitfieldReverse ceil clamp cos cosh cross dFdx dFdy degrees determinant distance dot equal exp exp2 faceforward findLSB findMSB floatBitsToInt floatBitsToUint floor fma fract frexp ftransform fwidth greaterThan greaterThanEqual imageAtomicAdd imageAtomicAnd imageAtomicCompSwap imageAtomicExchange imageAtomicMax imageAtomicMin imageAtomicOr imageAtomicXor imageLoad imageStore imulExtended intBitsToFloat interpolateAtCentroid interpolateAtOffset interpolateAtSample inverse inversesqrt isinf isnan ldexp length lessThan lessThanEqual log log2 matrixCompMult max memoryBarrier min mix mod modf noise1 noise2 noise3 noise4 normalize not notEqual outerProduct packDouble2x32 packHalf2x16 packSnorm2x16 packSnorm4x8 packUnorm2x16 packUnorm4x8 pow radians reflect refract round roundEven shadow1D shadow1DLod shadow1DProj shadow1DProjLod shadow2D shadow2DLod shadow2DProj shadow2DProjLod sign sin sinh smoothstep sqrt step tan tanh texelFetch texelFetchOffset texture texture1D texture1DLod texture1DProj texture1DProjLod texture2D texture2DLod texture2DProj texture2DProjLod texture3D texture3DLod texture3DProj texture3DProjLod textureCube textureCubeLod textureGather textureGatherOffset textureGatherOffsets textureGrad textureGradOffset textureLod textureLodOffset textureOffset textureProj textureProjGrad textureProjGradOffset textureProjLod textureProjLodOffset textureProjOffset textureQueryLod textureSize transpose trunc uaddCarry uintBitsToFloat umulExtended unpackDouble2x32 unpackHalf2x16 unpackSnorm2x16 unpackSnorm4x8 unpackUnorm2x16 unpackUnorm4x8 usubBorrow gl_TextureMatrix gl_TextureMatrixInverse",literal:"true false"},i:'"',c:[a.CLCM,a.CBLCLM,a.CNM,{cN:"preprocessor",b:"#",e:"$"}]} -}(hljs),hljs.LANGUAGES.cs=function(a){return{k:"abstract as base bool break byte case catch char checked class const continue decimal default delegate do double else enum event explicit extern false finally fixed float for foreach goto if implicit in int interface internal is lock long namespace new null object operator out override params private protected public readonly ref return sbyte sealed short sizeof stackalloc static string struct switch this throw true try typeof uint ulong unchecked unsafe ushort using virtual volatile void while ascending descending from get group into join let orderby partial select set value var where yield",c:[{cN:"comment",b:"///",e:"$",rB:!0,c:[{cN:"xmlDocTag",b:"///|"},{cN:"xmlDocTag",b:""}]},a.CLCM,a.CBLCLM,{cN:"preprocessor",b:"#",e:"$",k:"if else elif endif define undef warning error line region endregion pragma checksum"},{cN:"string",b:'@"',e:'"',c:[{b:'""'}]},a.ASM,a.QSM,a.CNM]}}(hljs),hljs.LANGUAGES.rsl=function(a){return{k:{keyword:"float color point normal vector matrix while for if do return else break extern continue",built_in:"abs acos ambient area asin atan atmosphere attribute calculatenormal ceil cellnoise clamp comp concat cos degrees depth Deriv diffuse distance Du Dv environment exp faceforward filterstep floor format fresnel incident length lightsource log match max min mod noise normalize ntransform opposite option phong pnoise pow printf ptlined radians random reflect refract renderinfo round setcomp setxcomp setycomp setzcomp shadow sign sin smoothstep specular specularbrdf spline sqrt step tan texture textureinfo trace transform vtransform xcomp ycomp zcomp"},i:" ",r:10},{cN:"comment",b:"%",e:"$"},{cN:"number",b:"\\b(\\d+#[a-fA-F0-9]+|\\d+(\\.\\d+)?([eE][-+]?\\d+)?)",r:0},a.ASM,a.QSM,{cN:"constant",b:"\\?(::)?([A-Z]\\w*(::)?)+"},{cN:"arrow",b:"->"},{cN:"ok",b:"ok"},{cN:"exclamation_mark",b:"!"},{cN:"function_or_atom",b:"(\\b[a-z'][a-zA-Z0-9_']*:[a-z'][a-zA-Z0-9_']*)|(\\b[a-z'][a-zA-Z0-9_']*)",r:0},{cN:"variable",b:"[A-Z][a-zA-Z0-9_']*",r:0}]}}(hljs),hljs.LANGUAGES["1c"]=function(a){var b="[a-zA-Zа-яА-Я][a-zA-Z0-9_а-яА-Я]*",c="возврат дата для если и или иначе иначеесли исключение конецесли конецпопытки конецпроцедуры конецфункции конеццикла константа не перейти перем перечисление по пока попытка прервать продолжить процедура строка тогда фс функция цикл число экспорт",d="ansitooem oemtoansi ввестивидсубконто ввестидату ввестизначение ввестиперечисление ввестипериод ввестиплансчетов ввестистроку ввестичисло вопрос восстановитьзначение врег выбранныйплансчетов вызватьисключение датагод датамесяц датачисло добавитьмесяц завершитьработусистемы заголовоксистемы записьжурналарегистрации запуститьприложение зафиксироватьтранзакцию значениевстроку значениевстрокувнутр значениевфайл значениеизстроки значениеизстрокивнутр значениеизфайла имякомпьютера имяпользователя каталогвременныхфайлов каталогиб каталогпользователя каталогпрограммы кодсимв командасистемы конгода конецпериодаби конецрассчитанногопериодаби конецстандартногоинтервала конквартала конмесяца коннедели лев лог лог10 макс максимальноеколичествосубконто мин монопольныйрежим названиеинтерфейса названиенабораправ назначитьвид назначитьсчет найти найтипомеченныенаудаление найтиссылки началопериодаби началостандартногоинтервала начатьтранзакцию начгода начквартала начмесяца начнедели номерднягода номерднянедели номернеделигода нрег обработкаожидания окр описаниеошибки основнойжурналрасчетов основнойплансчетов основнойязык открытьформу открытьформумодально отменитьтранзакцию очиститьокносообщений периодстр полноеимяпользователя получитьвремята получитьдатута получитьдокументта получитьзначенияотбора получитьпозициюта получитьпустоезначение получитьта прав праводоступа предупреждение префиксавтонумерации пустаястрока пустоезначение рабочаядаттьпустоезначение рабочаядата разделительстраниц разделительстрок разм разобратьпозициюдокумента рассчитатьрегистрына рассчитатьрегистрыпо сигнал симв символтабуляции создатьобъект сокрл сокрлп сокрп сообщить состояние сохранитьзначение сред статусвозврата стрдлина стрзаменить стрколичествострок стрполучитьстроку стрчисловхождений сформироватьпозициюдокумента счетпокоду текущаядата текущеевремя типзначения типзначениястр удалитьобъекты установитьтана установитьтапо фиксшаблон формат цел шаблон",e={cN:"dquote",b:'""'},f={cN:"string",b:'"',e:'"|$',c:[e],r:0},g={cN:"string",b:"\\|",e:'"|$',c:[e]};return{cI:!0,l:b,k:{keyword:c,built_in:d},c:[a.CLCM,a.NM,f,g,{cN:"function",b:"(процедура|функция)",e:"$",l:b,k:"процедура функция",c:[{cN:"title",b:b},{cN:"tail",eW:!0,c:[{cN:"params",b:"\\(",e:"\\)",l:b,k:"знач",c:[f,g]},{cN:"export",b:"экспорт",eW:!0,l:b,k:"экспорт",c:[a.CLCM]}]},a.CLCM]},{cN:"preprocessor",b:"#",e:"$"},{cN:"date",b:"'\\d{2}\\.\\d{2}\\.(\\d{2}|\\d{4})'"}]}}(hljs),hljs.LANGUAGES.objectivec=function(a){var b={keyword:"int float while private char catch export sizeof typedef const struct for union unsigned long volatile static protected bool mutable if public do return goto void enum else break extern class asm case short default double throw register explicit signed typename try this switch continue wchar_t inline readonly assign property protocol self synchronized end synthesize id optional required implementation nonatomic interface super unichar finally dynamic IBOutlet IBAction selector strong weak readonly",literal:"false true FALSE TRUE nil YES NO NULL",built_in:"NSString NSDictionary CGRect CGPoint UIButton UILabel UITextView UIWebView MKMapView UISegmentedControl NSObject UITableViewDelegate UITableViewDataSource NSThread UIActivityIndicator UITabbar UIToolBar UIBarButtonItem UIImageView NSAutoreleasePool UITableView BOOL NSInteger CGFloat NSException NSLog NSMutableString NSMutableArray NSMutableDictionary NSURL NSIndexPath CGSize UITableViewCell UIView UIViewController UINavigationBar UINavigationController UITabBarController UIPopoverController UIPopoverControllerDelegate UIImage NSNumber UISearchBar NSFetchedResultsController NSFetchedResultsChangeType UIScrollView UIScrollViewDelegate UIEdgeInsets UIColor UIFont UIApplication NSNotFound NSNotificationCenter NSNotification UILocalNotification NSBundle NSFileManager NSTimeInterval NSDate NSCalendar NSUserDefaults UIWindow NSRange NSArray NSError NSURLRequest NSURLConnection class UIInterfaceOrientation MPMoviePlayerController dispatch_once_t dispatch_queue_t dispatch_sync dispatch_async dispatch_once"};return{k:b,i:""}]},{cN:"preprocessor",b:"#",e:"$"},{cN:"class",bWK:!0,e:"({|$)",k:"interface class protocol implementation",c:[{cN:"id",b:a.UIR}]},{cN:"variable",b:"\\."+a.UIR}]}}(hljs),hljs.LANGUAGES.scala=function(a){var b={cN:"annotation",b:"@[A-Za-z]+"},c={cN:"string",b:'u?r?"""',e:'"""',r:10};return{k:"type yield lazy override def with val var false true sealed abstract private trait object null if for while throw finally protected extends import final return else break new catch super class case package default try this match continue throws",c:[{cN:"javadoc",b:"/\\*\\*",e:"\\*/",c:[{cN:"javadoctag",b:"@[A-Za-z]+"}],r:10},a.CLCM,a.CBLCLM,a.ASM,a.QSM,c,{cN:"class",b:"((case )?class |object |trait )",e:"({|$)",i:":",k:"case class trait object",c:[{bWK:!0,k:"extends with",r:10},{cN:"title",b:a.UIR},{cN:"params",b:"\\(",e:"\\)",c:[a.ASM,a.QSM,c,b]}]},a.CNM,b]}}(hljs),hljs.LANGUAGES.clojure=function(a){var b={built_in:"def cond apply if-not if-let if not not= = < < > <= <= >= == + / * - rem quot neg? pos? delay? symbol? keyword? true? false? integer? empty? coll? list? set? ifn? fn? associative? sequential? sorted? counted? reversible? number? decimal? class? distinct? isa? float? rational? reduced? ratio? odd? even? char? seq? vector? string? map? nil? contains? zero? instance? not-every? not-any? libspec? -> ->> .. . inc compare do dotimes mapcat take remove take-while drop letfn drop-last take-last drop-while while intern condp case reduced cycle split-at split-with repeat replicate iterate range merge zipmap declare line-seq sort comparator sort-by dorun doall nthnext nthrest partition eval doseq await await-for let agent atom send send-off release-pending-sends add-watch mapv filterv remove-watch agent-error restart-agent set-error-handler error-handler set-error-mode! error-mode shutdown-agents quote var fn loop recur throw try monitor-enter monitor-exit defmacro defn defn- macroexpand macroexpand-1 for doseq dosync dotimes and or when when-not when-let comp juxt partial sequence memoize constantly complement identity assert peek pop doto proxy defstruct first rest cons defprotocol cast coll deftype defrecord last butlast sigs reify second ffirst fnext nfirst nnext defmulti defmethod meta with-meta ns in-ns create-ns import intern refer keys select-keys vals key val rseq name namespace promise into transient persistent! conj! assoc! dissoc! pop! disj! import use class type num float double short byte boolean bigint biginteger bigdec print-method print-dup throw-if throw printf format load compile get-in update-in pr pr-on newline flush read slurp read-line subvec with-open memfn time ns assert re-find re-groups rand-int rand mod locking assert-valid-fdecl alias namespace resolve ref deref refset swap! reset! set-validator! compare-and-set! alter-meta! reset-meta! commute get-validator alter ref-set ref-history-count ref-min-history ref-max-history ensure sync io! new next conj set! memfn to-array future future-call into-array aset gen-class reduce merge map filter find empty hash-map hash-set sorted-map sorted-map-by sorted-set sorted-set-by vec vector seq flatten reverse assoc dissoc list disj get union difference intersection extend extend-type extend-protocol int nth delay count concat chunk chunk-buffer chunk-append chunk-first chunk-rest max min dec unchecked-inc-int unchecked-inc unchecked-dec-inc unchecked-dec unchecked-negate unchecked-add-int unchecked-add unchecked-subtract-int unchecked-subtract chunk-next chunk-cons chunked-seq? prn vary-meta lazy-seq spread list* str find-keyword keyword symbol gensym force rationalize"},c="[a-zA-Z_0-9\\!\\.\\?\\-\\+\\*\\/\\<\\=\\>\\&\\#\\$';]+",d="[\\s:\\(\\{]+\\d+(\\.\\d+)?",e={cN:"number",b:d,r:0},f={cN:"string",b:'"',e:'"',c:[a.BE],r:0},g={cN:"comment",b:";",e:"$",r:0},h={cN:"collection",b:"[\\[\\{]",e:"[\\]\\}]"},i={cN:"comment",b:"\\^"+c},j={cN:"comment",b:"\\^\\{",e:"\\}"},k={cN:"attribute",b:"[:]"+c},l={cN:"list",b:"\\(",e:"\\)",r:0},m={eW:!0,eE:!0,k:{literal:"true false nil"},r:0},n={k:b,l:c,cN:"title",b:c,starts:m};return l.c=[{cN:"comment",b:"comment"},n],m.c=[l,f,i,j,g,k,h,e],h.c=[l,f,i,g,k,h,e],{i:"\\S",c:[g,l]}}(hljs),hljs.LANGUAGES.perl=function(a){var b="getpwent getservent quotemeta msgrcv scalar kill dbmclose undef lc ma syswrite tr send umask sysopen shmwrite vec qx utime local oct semctl localtime readpipe do return format read sprintf dbmopen pop getpgrp not getpwnam rewinddir qqfileno qw endprotoent wait sethostent bless s|0 opendir continue each sleep endgrent shutdown dump chomp connect getsockname die socketpair close flock exists index shmgetsub for endpwent redo lstat msgctl setpgrp abs exit select print ref gethostbyaddr unshift fcntl syscall goto getnetbyaddr join gmtime symlink semget splice x|0 getpeername recv log setsockopt cos last reverse gethostbyname getgrnam study formline endhostent times chop length gethostent getnetent pack getprotoent getservbyname rand mkdir pos chmod y|0 substr endnetent printf next open msgsnd readdir use unlink getsockopt getpriority rindex wantarray hex system getservbyport endservent int chr untie rmdir prototype tell listen fork shmread ucfirst setprotoent else sysseek link getgrgid shmctl waitpid unpack getnetbyname reset chdir grep split require caller lcfirst until warn while values shift telldir getpwuid my getprotobynumber delete and sort uc defined srand accept package seekdir getprotobyname semop our rename seek if q|0 chroot sysread setpwent no crypt getc chown sqrt write setnetent setpriority foreach tie sin msgget map stat getlogin unless elsif truncate exec keys glob tied closedirioctl socket readlink eval xor readline binmode setservent eof ord bind alarm pipe atan2 getgrent exp time push setgrent gt lt or ne m|0 break given say state when",c={cN:"subst",b:"[$@]\\{",e:"\\}",k:b,r:10},d={cN:"variable",b:"\\$\\d"},e={cN:"variable",b:"[\\$\\%\\@\\*](\\^\\w\\b|#\\w+(\\:\\:\\w+)*|[^\\s\\w{]|{\\w+}|\\w+(\\:\\:\\w*)*)"},f=[a.BE,c,d,e],g={b:"->",c:[{b:a.IR},{b:"{",e:"}"}]},h={cN:"comment",b:"^(__END__|__DATA__)",e:"\\n$",r:5},i=[d,e,a.HCM,h,{cN:"comment",b:"^\\=\\w",e:"\\=cut",eW:!0},g,{cN:"string",b:"q[qwxr]?\\s*\\(",e:"\\)",c:f,r:5},{cN:"string",b:"q[qwxr]?\\s*\\[",e:"\\]",c:f,r:5},{cN:"string",b:"q[qwxr]?\\s*\\{",e:"\\}",c:f,r:5},{cN:"string",b:"q[qwxr]?\\s*\\|",e:"\\|",c:f,r:5},{cN:"string",b:"q[qwxr]?\\s*\\<",e:"\\>",c:f,r:5},{cN:"string",b:"qw\\s+q",e:"q",c:f,r:5},{cN:"string",b:"'",e:"'",c:[a.BE],r:0},{cN:"string",b:'"',e:'"',c:f,r:0},{cN:"string",b:"`",e:"`",c:[a.BE]},{cN:"string",b:"{\\w+}",r:0},{cN:"string",b:"-?\\w+\\s*\\=\\>",r:0},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{b:"("+a.RSR+"|\\b(split|return|print|reverse|grep)\\b)\\s*",k:"split return print reverse grep",r:0,c:[a.HCM,h,{cN:"regexp",b:"(s|tr|y)/(\\\\.|[^/])*/(\\\\.|[^/])*/[a-z]*",r:10},{cN:"regexp",b:"(m|qr)?/",e:"/[a-z]*",c:[a.BE],r:0}]},{cN:"sub",bWK:!0,e:"(\\s*\\(.*?\\))?[;{]",k:"sub",r:5},{cN:"operator",b:"-\\w\\b",r:0}];return c.c=i,g.c[1].c=i,{k:b,c:i}}(hljs),hljs.LANGUAGES.applescript=function(a){var b=a.inherit(a.QSM,{i:""}),c={cN:"title",b:a.UIR},d={cN:"params",b:"\\(",e:"\\)",c:["self",a.CNM,b]},e=[{cN:"comment",b:"--",e:"$"},{cN:"comment",b:"\\(\\*",e:"\\*\\)",c:["self",{b:"--",e:"$"}]},a.HCM];return{k:{keyword:"about above after against and around as at back before beginning behind below beneath beside between but by considering contain contains continue copy div does eighth else end equal equals error every exit fifth first for fourth from front get given global if ignoring in into is it its last local me middle mod my ninth not of on onto or over prop property put ref reference repeat returning script second set seventh since sixth some tell tenth that the then third through thru timeout times to transaction try until where while whose with without",constant:"AppleScript false linefeed return pi quote result space tab true",type:"alias application boolean class constant date file integer list number real record string text",command:"activate beep count delay launch log offset read round run say summarize write",property:"character characters contents day frontmost id item length month name paragraph paragraphs rest reverse running time version weekday word words year"},c:[b,a.CNM,{cN:"type",b:"\\bPOSIX file\\b"},{cN:"command",b:"\\b(clipboard info|the clipboard|info for|list (disks|folder)|mount volume|path to|(close|open for) access|(get|set) eof|current date|do shell script|get volume settings|random number|set volume|system attribute|system info|time to GMT|(load|run|store) script|scripting components|ASCII (character|number)|localized string|choose (application|color|file|file name|folder|from list|remote application|URL)|display (alert|dialog))\\b|^\\s*return\\b"},{cN:"constant",b:"\\b(text item delimiters|current application|missing value)\\b"},{cN:"keyword",b:"\\b(apart from|aside from|instead of|out of|greater than|isn't|(doesn't|does not) (equal|come before|come after|contain)|(greater|less) than( or equal)?|(starts?|ends|begins?) with|contained by|comes (before|after)|a (ref|reference))\\b"},{cN:"property",b:"\\b(POSIX path|(date|time) string|quoted form)\\b"},{cN:"function_start",bWK:!0,k:"on",i:"[${=;\\n]",c:[c,d]}].concat(e)}}(hljs),hljs.LANGUAGES.java=function(a){return{k:"false synchronized int abstract float private char boolean static null if const for true while long throw strictfp finally protected import native final return void enum else break transient new catch instanceof byte super volatile case assert short package default double public try this switch continue throws",c:[{cN:"javadoc",b:"/\\*\\*",e:"\\*/",c:[{cN:"javadoctag",b:"@[A-Za-z]+"}],r:10},a.CLCM,a.CBLCLM,a.ASM,a.QSM,{cN:"class",bWK:!0,e:"{",k:"class interface",i:":",c:[{bWK:!0,k:"extends implements",r:10},{cN:"title",b:a.UIR}]},a.CNM,{cN:"annotation",b:"@[A-Za-z]+"}]}}(hljs),hljs.LANGUAGES.vhdl=function(a){return{cI:!0,k:{keyword:"abs access after alias all and architecture array assert attribute begin block body buffer bus case component configuration constant context cover disconnect downto default else elsif end entity exit fairness file for force function generate generic group guarded if impure in inertial inout is label library linkage literal loop map mod nand new next nor not null of on open or others out package port postponed procedure process property protected pure range record register reject release rem report restrict restrict_guarantee return rol ror select sequence severity shared signal sla sll sra srl strong subtype then to transport type unaffected units until use variable vmode vprop vunit wait when while with xnor xor",typename:"boolean bit character severity_level integer time delay_length natural positive string bit_vector file_open_kind file_open_status std_ulogic std_ulogic_vector std_logic std_logic_vector unsigned signed boolean_vector integer_vector real_vector time_vector"},i:"{",c:[a.CBLCLM,{cN:"comment",b:"--",e:"$"},a.QSM,a.CNM,{cN:"literal",b:"'(U|X|0|1|Z|W|L|H|-)'",c:[a.BE]},{cN:"attribute",b:"'[A-Za-z](_?[A-Za-z0-9])*",c:[a.BE]}]}}(hljs),hljs.LANGUAGES.brainfuck=function(){return{c:[{cN:"comment",b:"[^\\[\\]\\.,\\+\\-<> \r\n]",eE:!0,e:"[\\[\\]\\.,\\+\\-<> \r\n]",r:0},{cN:"title",b:"[\\[\\]]",r:0},{cN:"string",b:"[\\.,]"},{cN:"literal",b:"[\\+\\-]"}]}}(hljs),hljs.LANGUAGES.go=function(a){var b={keyword:"break default func interface select case map struct chan else goto package switch const fallthrough if range type continue for import return var go defer",constant:"true false iota nil",typename:"bool byte complex64 complex128 float32 float64 int8 int16 int32 int64 string uint8 uint16 uint32 uint64 int uint uintptr rune",built_in:"append cap close complex copy imag len make new panic print println real recover delete"};return{k:b,i:">|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?",d={keyword:"and false then defined module in return redo if BEGIN retry end for true self when next until do begin unless END rescue nil else break undef not super class case require yield alias while ensure elsif or include"},e={cN:"yardoctag",b:"@[A-Za-z]+"},f=[{cN:"comment",b:"#",e:"$",c:[e]},{cN:"comment",b:"^\\=begin",e:"^\\=end",c:[e],r:10},{cN:"comment",b:"^__END__",e:"\\n$"}],g={cN:"subst",b:"#\\{",e:"}",l:b,k:d},h=[a.BE,g],i=[{cN:"string",b:"'",e:"'",c:h,r:0},{cN:"string",b:'"',e:'"',c:h,r:0},{cN:"string",b:"%[qw]?\\(",e:"\\)",c:h},{cN:"string",b:"%[qw]?\\[",e:"\\]",c:h},{cN:"string",b:"%[qw]?{",e:"}",c:h},{cN:"string",b:"%[qw]?<",e:">",c:h,r:10},{cN:"string",b:"%[qw]?/",e:"/",c:h,r:10},{cN:"string",b:"%[qw]?%",e:"%",c:h,r:10},{cN:"string",b:"%[qw]?-",e:"-",c:h,r:10},{cN:"string",b:"%[qw]?\\|",e:"\\|",c:h,r:10}],j={cN:"function",bWK:!0,e:" |$|;",k:"def",c:[{cN:"title",b:c,l:b,k:d},{cN:"params",b:"\\(",e:"\\)",l:b,k:d}].concat(f)},k=f.concat(i.concat([{cN:"class",bWK:!0,e:"$|;",k:"class module",c:[{cN:"title",b:"[A-Za-z_]\\w*(::\\w+)*(\\?|\\!)?",r:0},{cN:"inheritance",b:"<\\s*",c:[{cN:"parent",b:"("+a.IR+"::)?"+a.IR}]}].concat(f)},j,{cN:"constant",b:"(::)?(\\b[A-Z]\\w*(::)?)+",r:0},{cN:"symbol",b:":",c:i.concat([{b:c}]),r:0},{cN:"symbol",b:b+":",r:0},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{cN:"number",b:"\\?\\w"},{cN:"variable",b:"(\\$\\W)|((\\$|\\@\\@?)(\\w+))"},{b:"("+a.RSR+")\\s*",c:f.concat([{cN:"regexp",b:"/",e:"/[a-z]*",i:"\\n",c:[a.BE,g]}]),r:0}]));return g.c=k,j.c[1].c=k,{l:b,k:d,c:k}}(hljs),hljs.LANGUAGES.dos=function(){return{cI:!0,k:{flow:"if else goto for in do call exit not exist errorlevel defined equ neq lss leq gtr geq",keyword:"shift cd dir echo setlocal endlocal set pause copy",stream:"prn nul lpt3 lpt2 lpt1 con com4 com3 com2 com1 aux",winutils:"ping net ipconfig taskkill xcopy ren del"},c:[{cN:"envvar",b:"%%[^ ]"},{cN:"envvar",b:"%[^ ]+?%"},{cN:"envvar",b:"![^ ]+?!"},{cN:"number",b:"\\b\\d+",r:0},{cN:"comment",b:"@?rem",e:"$"}]}}(hljs),hljs.LANGUAGES.lisp=function(a){var b="[a-zA-Z_\\-\\+\\*\\/\\<\\=\\>\\&\\#][a-zA-Z0-9_\\-\\+\\*\\/\\<\\=\\>\\&\\#]*",c="(\\-|\\+)?\\d+(\\.\\d+|\\/\\d+)?((d|e|f|l|s)(\\+|\\-)?\\d+)?",d={cN:"literal",b:"\\b(t{1}|nil)\\b"},e=[{cN:"number",b:c},{cN:"number",b:"#b[0-1]+(/[0-1]+)?"},{cN:"number",b:"#o[0-7]+(/[0-7]+)?"},{cN:"number",b:"#x[0-9a-f]+(/[0-9a-f]+)?"},{cN:"number",b:"#c\\("+c+" +"+c,e:"\\)"}],f={cN:"string",b:'"',e:'"',c:[a.BE],r:0},g={cN:"comment",b:";",e:"$"},h={cN:"variable",b:"\\*",e:"\\*"},i={cN:"keyword",b:"[:&]"+b},j={b:"\\(",e:"\\)",c:["self",d,f].concat(e)},k={cN:"quoted",b:"['`]\\(",e:"\\)",c:e.concat([f,h,i,j])},l={cN:"quoted",b:"\\(quote ",e:"\\)",k:{title:"quote"},c:e.concat([f,h,i,j])},m={cN:"list",b:"\\(",e:"\\)"},n={cN:"body",eW:!0,eE:!0};return m.c=[{cN:"title",b:b},n],n.c=[k,l,m,d].concat(e).concat([f,g,h,i]),{i:"[^\\s]",c:e.concat([d,f,g,k,l,m])}}(hljs),hljs.LANGUAGES.apache=function(a){var b={cN:"number",b:"[\\$%]\\d+"};return{cI:!0,k:{keyword:"acceptfilter acceptmutex acceptpathinfo accessfilename action addalt addaltbyencoding addaltbytype addcharset adddefaultcharset adddescription addencoding addhandler addicon addiconbyencoding addiconbytype addinputfilter addlanguage addmoduleinfo addoutputfilter addoutputfilterbytype addtype alias aliasmatch allow allowconnect allowencodedslashes allowoverride anonymous anonymous_logemail anonymous_mustgiveemail anonymous_nouserid anonymous_verifyemail authbasicauthoritative authbasicprovider authdbduserpwquery authdbduserrealmquery authdbmgroupfile authdbmtype authdbmuserfile authdefaultauthoritative authdigestalgorithm authdigestdomain authdigestnccheck authdigestnonceformat authdigestnoncelifetime authdigestprovider authdigestqop authdigestshmemsize authgroupfile authldapbinddn authldapbindpassword authldapcharsetconfig authldapcomparednonserver authldapdereferencealiases authldapgroupattribute authldapgroupattributeisdn authldapremoteuserattribute authldapremoteuserisdn authldapurl authname authnprovideralias authtype authuserfile authzdbmauthoritative authzdbmtype authzdefaultauthoritative authzgroupfileauthoritative authzldapauthoritative authzownerauthoritative authzuserauthoritative balancermember browsermatch browsermatchnocase bufferedlogs cachedefaultexpire cachedirlength cachedirlevels cachedisable cacheenable cachefile cacheignorecachecontrol cacheignoreheaders cacheignorenolastmod cacheignorequerystring cachelastmodifiedfactor cachemaxexpire cachemaxfilesize cacheminfilesize cachenegotiateddocs cacheroot cachestorenostore cachestoreprivate cgimapextension charsetdefault charsetoptions charsetsourceenc checkcaseonly checkspelling chrootdir contentdigest cookiedomain cookieexpires cookielog cookiename cookiestyle cookietracking coredumpdirectory customlog dav davdepthinfinity davgenericlockdb davlockdb davmintimeout dbdexptime dbdkeep dbdmax dbdmin dbdparams dbdpersist dbdpreparesql dbdriver defaulticon defaultlanguage defaulttype deflatebuffersize deflatecompressionlevel deflatefilternote deflatememlevel deflatewindowsize deny directoryindex directorymatch directoryslash documentroot dumpioinput dumpiologlevel dumpiooutput enableexceptionhook enablemmap enablesendfile errordocument errorlog example expiresactive expiresbytype expiresdefault extendedstatus extfilterdefine extfilteroptions fileetag filterchain filterdeclare filterprotocol filterprovider filtertrace forcelanguagepriority forcetype forensiclog gracefulshutdowntimeout group header headername hostnamelookups identitycheck identitychecktimeout imapbase imapdefault imapmenu include indexheadinsert indexignore indexoptions indexorderdefault indexstylesheet isapiappendlogtoerrors isapiappendlogtoquery isapicachefile isapifakeasync isapilognotsupported isapireadaheadbuffer keepalive keepalivetimeout languagepriority ldapcacheentries ldapcachettl ldapconnectiontimeout ldapopcacheentries ldapopcachettl ldapsharedcachefile ldapsharedcachesize ldaptrustedclientcert ldaptrustedglobalcert ldaptrustedmode ldapverifyservercert limitinternalrecursion limitrequestbody limitrequestfields limitrequestfieldsize limitrequestline limitxmlrequestbody listen listenbacklog loadfile loadmodule lockfile logformat loglevel maxclients maxkeepaliverequests maxmemfree maxrequestsperchild maxrequestsperthread maxspareservers maxsparethreads maxthreads mcachemaxobjectcount mcachemaxobjectsize mcachemaxstreamingbuffer mcacheminobjectsize mcacheremovalalgorithm mcachesize metadir metafiles metasuffix mimemagicfile minspareservers minsparethreads mmapfile mod_gzip_on mod_gzip_add_header_count mod_gzip_keep_workfiles mod_gzip_dechunk mod_gzip_min_http mod_gzip_minimum_file_size mod_gzip_maximum_file_size mod_gzip_maximum_inmem_size mod_gzip_temp_dir mod_gzip_item_include mod_gzip_item_exclude mod_gzip_command_version mod_gzip_can_negotiate mod_gzip_handle_methods mod_gzip_static_suffix mod_gzip_send_vary mod_gzip_update_static modmimeusepathinfo multiviewsmatch namevirtualhost noproxy nwssltrustedcerts nwsslupgradeable options order passenv pidfile protocolecho proxybadheader proxyblock proxydomain proxyerroroverride proxyftpdircharset proxyiobuffersize proxymaxforwards proxypass proxypassinterpolateenv proxypassmatch proxypassreverse proxypassreversecookiedomain proxypassreversecookiepath proxypreservehost proxyreceivebuffersize proxyremote proxyremotematch proxyrequests proxyset proxystatus proxytimeout proxyvia readmename receivebuffersize redirect redirectmatch redirectpermanent redirecttemp removecharset removeencoding removehandler removeinputfilter removelanguage removeoutputfilter removetype requestheader require rewritebase rewritecond rewriteengine rewritelock rewritelog rewriteloglevel rewritemap rewriteoptions rewriterule rlimitcpu rlimitmem rlimitnproc satisfy scoreboardfile script scriptalias scriptaliasmatch scriptinterpretersource scriptlog scriptlogbuffer scriptloglength scriptsock securelisten seerequesttail sendbuffersize serveradmin serveralias serverlimit servername serverpath serverroot serversignature servertokens setenv setenvif setenvifnocase sethandler setinputfilter setoutputfilter ssienableaccess ssiendtag ssierrormsg ssistarttag ssitimeformat ssiundefinedecho sslcacertificatefile sslcacertificatepath sslcadnrequestfile sslcadnrequestpath sslcarevocationfile sslcarevocationpath sslcertificatechainfile sslcertificatefile sslcertificatekeyfile sslciphersuite sslcryptodevice sslengine sslhonorciperorder sslmutex ssloptions sslpassphrasedialog sslprotocol sslproxycacertificatefile sslproxycacertificatepath sslproxycarevocationfile sslproxycarevocationpath sslproxyciphersuite sslproxyengine sslproxymachinecertificatefile sslproxymachinecertificatepath sslproxyprotocol sslproxyverify sslproxyverifydepth sslrandomseed sslrequire sslrequiressl sslsessioncache sslsessioncachetimeout sslusername sslverifyclient sslverifydepth startservers startthreads substitute suexecusergroup threadlimit threadsperchild threadstacksize timeout traceenable transferlog typesconfig unsetenv usecanonicalname usecanonicalphysicalport user userdir virtualdocumentroot virtualdocumentrootip virtualscriptalias virtualscriptaliasip win32disableacceptex xbithack",literal:"on off"},c:[a.HCM,{cN:"sqbracket",b:"\\s\\[",e:"\\]$"},{cN:"cbracket",b:"[\\$%]\\{",e:"\\}",c:["self",b]},b,{cN:"tag",b:""},a.QSM]} -}(hljs),hljs.LANGUAGES.actionscript=function(a){var b="[a-zA-Z_$][a-zA-Z0-9_$]*",c="([*]|[a-zA-Z_$][a-zA-Z0-9_$]*)",d={cN:"rest_arg",b:"[.]{3}",e:b,r:10},e={cN:"title",b:b};return{k:{keyword:"as break case catch class const continue default delete do dynamic each else extends final finally for function get if implements import in include instanceof interface internal is namespace native new override package private protected public return set static super switch this throw try typeof use var void while with",literal:"true false null undefined"},c:[a.ASM,a.QSM,a.CLCM,a.CBLCLM,a.CNM,{cN:"package",bWK:!0,e:"{",k:"package",c:[e]},{cN:"class",bWK:!0,e:"{",k:"class interface",c:[{bWK:!0,k:"extends implements"},e]},{cN:"preprocessor",bWK:!0,e:";",k:"import include"},{cN:"function",bWK:!0,e:"[{;]",k:"function",i:"\\S",c:[e,{cN:"params",b:"\\(",e:"\\)",c:[a.ASM,a.QSM,a.CLCM,a.CBLCLM,d]},{cN:"type",b:":",e:c,r:10}]}]}}(hljs),hljs.LANGUAGES.erlang=function(a){var b="[a-z'][a-zA-Z0-9_']*",c="("+b+":"+b+"|"+b+")",d={keyword:"after and andalso|10 band begin bnot bor bsl bzr bxor case catch cond div end fun let not of orelse|10 query receive rem try when xor",literal:"false true"},e={cN:"comment",b:"%",e:"$",r:0},f={cN:"number",b:"\\b(\\d+#[a-fA-F0-9]+|\\d+(\\.\\d+)?([eE][-+]?\\d+)?)",r:0},g={b:"fun\\s+"+b+"/\\d+"},h={b:c+"\\(",e:"\\)",rB:!0,r:0,c:[{cN:"function_name",b:c,r:0},{b:"\\(",e:"\\)",eW:!0,rE:!0,r:0}]},i={cN:"tuple",b:"{",e:"}",r:0},j={cN:"variable",b:"\\b_([A-Z][A-Za-z0-9_]*)?",r:0},k={cN:"variable",b:"[A-Z][a-zA-Z0-9_]*",r:0},l={b:"#",e:"}",i:".",r:0,rB:!0,c:[{cN:"record_name",b:"#"+a.UIR,r:0},{b:"{",eW:!0,r:0}]},m={k:d,b:"(fun|receive|if|try|case)",e:"end"};m.c=[e,g,a.inherit(a.ASM,{cN:""}),m,h,a.QSM,f,i,j,k,l];var n=[e,g,m,h,a.QSM,f,i,j,k,l];h.c[1].c=n,i.c=n,l.c[1].c=n;var o={cN:"params",b:"\\(",e:"\\)",c:n};return{k:d,i:"(",rB:!0,i:"\\(|#|//|/\\*|\\\\|:",c:[o,{cN:"title",b:b}],starts:{e:";|\\.",k:d,c:n}},e,{cN:"pp",b:"^-",e:"\\.",r:0,eE:!0,rB:!0,l:"-"+a.IR,k:"-module -record -undef -export -ifdef -ifndef -author -copyright -doc -vsn -import -include -include_lib -compile -define -else -endif -file -behaviour -behavior",c:[o]},f,a.QSM,l,j,k,i]}}(hljs),hljs.LANGUAGES.rust=function(a){var b={cN:"title",b:a.UIR},c={cN:"number",b:"\\b(0[xb][A-Za-z0-9_]+|[0-9_]+(\\.[0-9_]+)?([uif](8|16|32|64)?)?)",r:0},d="alt any as assert be bind block bool break char check claim const cont dir do else enum export f32 f64 fail false float fn for i16 i32 i64 i8 if iface impl import in int let log mod mutable native note of prove pure resource ret self str syntax true type u16 u32 u64 u8 uint unchecked unsafe use vec while";return{k:d,i:"",c:[a.HCM,{cN:"string",b:'"',e:'"',c:[a.BE].concat(b),r:0},{cN:"string",b:"'",e:"'",c:[a.BE].concat(b),r:0},{cN:"url",b:"([a-z]+):/",e:"\\s",eW:!0,eE:!0},{cN:"regexp",b:"\\s\\^",e:"\\s|{|;",rE:!0,c:[a.BE].concat(b)},{cN:"regexp",b:"~\\*?\\s+",e:"\\s|{|;",rE:!0,c:[a.BE].concat(b)},{cN:"regexp",b:"\\*(\\.[a-z\\-]+)+",c:[a.BE].concat(b)},{cN:"regexp",b:"([a-z\\-]+\\.)+\\*",c:[a.BE].concat(b)},{cN:"number",b:"\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b"},{cN:"number",b:"\\b\\d+[kKmMgGdshdwy]*\\b",r:0}].concat(b)};return{c:[a.HCM,{b:a.UIR+"\\s",e:";|{",rB:!0,c:[{cN:"title",b:a.UIR,starts:c}]}],i:"[^\\s\\}]"}}(hljs),hljs.LANGUAGES.php=function(a){var b={cN:"variable",b:"\\$+[a-zA-Z_-ÿ][a-zA-Z0-9_-ÿ]*"},c=[a.inherit(a.ASM,{i:null}),a.inherit(a.QSM,{i:null}),{cN:"string",b:'b"',e:'"',c:[a.BE]},{cN:"string",b:"b'",e:"'",c:[a.BE]}],d=[a.BNM,a.CNM],e={cN:"title",b:a.UIR};return{cI:!0,k:"and include_once list abstract global private echo interface as static endswitch array null if endwhile or const for endforeach self var while isset public protected exit foreach throw elseif include __FILE__ empty require_once do xor return implements parent clone use __CLASS__ __LINE__ else break print eval new catch __METHOD__ case exception php_user_filter default die require __FUNCTION__ enddeclare final try this switch continue endfor endif declare unset true false namespace trait goto instanceof insteadof __DIR__ __NAMESPACE__ __halt_compiler",c:[a.CLCM,a.HCM,{cN:"comment",b:"/\\*",e:"\\*/",c:[{cN:"phpdoc",b:"\\s@[A-Za-z]+"}]},{cN:"comment",eB:!0,b:"__halt_compiler.+?;",eW:!0},{cN:"string",b:"<<<['\"]?\\w+['\"]?$",e:"^\\w+;",c:[a.BE]},{cN:"preprocessor",b:"<\\?php",r:10},{cN:"preprocessor",b:"\\?>"},b,{cN:"function",bWK:!0,e:"{",k:"function",i:"\\$|\\[|%",c:[e,{cN:"params",b:"\\(",e:"\\)",c:["self",b,a.CBLCLM].concat(c).concat(d)}]},{cN:"class",bWK:!0,e:"{",k:"class",i:"[:\\(\\$]",c:[{bWK:!0,eW:!0,k:"extends",c:[e]},e]},{b:"=>"}].concat(c).concat(d)}}(hljs),hljs.LANGUAGES.cpp=function(a){var b={keyword:"false int float while private char catch export virtual operator sizeof dynamic_cast|10 typedef const_cast|10 const struct for static_cast|10 union namespace unsigned long throw volatile static protected bool template mutable if public friend do return goto auto void enum else break new extern using true class asm case typeid short reinterpret_cast|10 default double register explicit signed typename try this switch continue wchar_t inline delete alignof char16_t char32_t constexpr decltype noexcept nullptr static_assert thread_local restrict _Bool complex",built_in:"std string cin cout cerr clog stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap array shared_ptr"};return{k:b,i:"",k:b,r:10,c:["self"]}]}}(hljs),hljs.LANGUAGES.xml=function(){var a="[A-Za-z0-9\\._:-]+",b={eW:!0,c:[{cN:"attribute",b:a,r:0},{b:'="',rB:!0,e:'"',c:[{cN:"value",b:'"',eW:!0}]},{b:"='",rB:!0,e:"'",c:[{cN:"value",b:"'",eW:!0}]},{b:"=",c:[{cN:"value",b:"[^\\s/>]+"}]}]};return{cI:!0,c:[{cN:"pi",b:"<\\?",e:"\\?>",r:10},{cN:"doctype",b:"",r:10,c:[{b:"\\[",e:"\\]"}]},{cN:"comment",b:"",r:10},{cN:"cdata",b:"<\\!\\[CDATA\\[",e:"\\]\\]>",r:10},{cN:"tag",b:"|$)",e:">",k:{title:"style"},c:[b],starts:{e:"",rE:!0,sL:"css"}},{cN:"tag",b:"|$)",e:">",k:{title:"script"},c:[b],starts:{e:"",rE:!0,sL:"javascript"}},{b:"<%",e:"%>",sL:"vbscript"},{cN:"tag",b:"",c:[{cN:"title",b:"[^ />]+"},b]}]}}(hljs),hljs.LANGUAGES.parser3=function(a){return{sL:"xml",c:[{cN:"comment",b:"^#",e:"$"},{cN:"comment",b:"\\^rem{",e:"}",r:10,c:[{b:"{",e:"}",c:["self"]}]},{cN:"preprocessor",b:"^@(?:BASE|USE|CLASS|OPTIONS)$",r:10},{cN:"title",b:"@[\\w\\-]+\\[[\\w^;\\-]*\\](?:\\[[\\w^;\\-]*\\])?(?:.*)$"},{cN:"variable",b:"\\$\\{?[\\w\\-\\.\\:]+\\}?"},{cN:"keyword",b:"\\^[\\w\\-\\.\\:]+"},{cN:"number",b:"\\^#[0-9a-fA-F]+"},a.CNM]}}(hljs),hljs.LANGUAGES.css=function(a){var b={cN:"function",b:a.IR+"\\(",e:"\\)",c:[a.NM,a.ASM,a.QSM]};return{cI:!0,i:"[=/|']",c:[a.CBLCLM,{cN:"id",b:"\\#[A-Za-z0-9_-]+"},{cN:"class",b:"\\.[A-Za-z0-9_-]+",r:0},{cN:"attr_selector",b:"\\[",e:"\\]",i:"$"},{cN:"pseudo",b:":(:)?[a-zA-Z0-9\\_\\-\\+\\(\\)\\\"\\']+"},{cN:"at_rule",b:"@(font-face|page)",l:"[a-z-]+",k:"font-face page"},{cN:"at_rule",b:"@",e:"[{;]",eE:!0,k:"import page media charset",c:[b,a.ASM,a.QSM,a.NM]},{cN:"tag",b:a.IR,r:0},{cN:"rules",b:"{",e:"}",i:"[^\\s]",r:0,c:[a.CBLCLM,{cN:"rule",b:"[^\\s]",rB:!0,e:";",eW:!0,c:[{cN:"attribute",b:"[A-Z\\_\\.\\-]+",e:":",eE:!0,i:"[^\\s]",starts:{cN:"value",eW:!0,eE:!0,c:[b,a.NM,a.QSM,a.ASM,a.CBLCLM,{cN:"hexcolor",b:"\\#[0-9A-F]+"},{cN:"important",b:"!important"}]}}]}]}]}}(hljs),hljs.LANGUAGES.axapta=function(a){return{k:"false int abstract private char interface boolean static null if for true while long throw finally protected extends final implements return void enum else break new catch byte super class case short default double public try this switch continue reverse firstfast firstonly forupdate nofetch sum avg minof maxof count order group by asc desc index hint like dispaly edit client server ttsbegin ttscommit str real date container anytype common div mod",c:[a.CLCM,a.CBLCLM,a.ASM,a.QSM,a.CNM,{cN:"preprocessor",b:"#",e:"$"},{cN:"class",bWK:!0,e:"{",i:":",k:"class interface",c:[{cN:"inheritance",bWK:!0,k:"extends implements",r:10},{cN:"title",b:a.UIR}]}]}}(hljs),hljs.LANGUAGES.ini=function(a){return{cI:!0,i:"[^\\s]",c:[{cN:"comment",b:";",e:"$"},{cN:"title",b:"^\\[",e:"\\]"},{cN:"setting",b:"^[a-z0-9\\[\\]_-]+[ \\t]*=[ \\t]*",e:"$",c:[{cN:"value",eW:!0,k:"on off true false yes no",c:[a.QSM,a.NM]}]}]}}(hljs),hljs.LANGUAGES.matlab=function(a){var b=[a.CNM,{cN:"string",b:"'",e:"'",c:[a.BE,{b:"''"}],r:0}];return{k:{keyword:"break case catch classdef continue else elseif end enumerated events for function global if methods otherwise parfor persistent properties return spmd switch try while",built_in:"sin sind sinh asin asind asinh cos cosd cosh acos acosd acosh tan tand tanh atan atand atan2 atanh sec secd sech asec asecd asech csc cscd csch acsc acscd acsch cot cotd coth acot acotd acoth hypot exp expm1 log log1p log10 log2 pow2 realpow reallog realsqrt sqrt nthroot nextpow2 abs angle complex conj imag real unwrap isreal cplxpair fix floor ceil round mod rem sign airy besselj bessely besselh besseli besselk beta betainc betaln ellipj ellipke erf erfc erfcx erfinv expint gamma gammainc gammaln psi legendre cross dot factor isprime primes gcd lcm rat rats perms nchoosek factorial cart2sph cart2pol pol2cart sph2cart hsv2rgb rgb2hsv zeros ones eye repmat rand randn linspace logspace freqspace meshgrid accumarray size length ndims numel disp isempty isequal isequalwithequalnans cat reshape diag blkdiag tril triu fliplr flipud flipdim rot90 find sub2ind ind2sub bsxfun ndgrid permute ipermute shiftdim circshift squeeze isscalar isvector ans eps realmax realmin pi i inf nan isnan isinf isfinite j why compan gallery hadamard hankel hilb invhilb magic pascal rosser toeplitz vander wilkinson"},i:'(//|"|#|/\\*|\\s+/\\w+)',c:[{cN:"function",bWK:!0,e:"$",k:"function",c:[{cN:"title",b:a.UIR},{cN:"params",b:"\\(",e:"\\)"},{cN:"params",b:"\\[",e:"\\]"}]},{cN:"transposed_variable",b:"[a-zA-Z_][a-zA-Z_0-9]*('+[\\.']*|[\\.']+)",e:""},{cN:"matrix",b:"\\[",e:"\\]'*[\\.']*",c:b},{cN:"cell",b:"\\{",e:"\\}'*[\\.']*",c:b},{cN:"comment",b:"\\%",e:"$"}].concat(b)}}(hljs),hljs.LANGUAGES.d=function(a){var b={keyword:"abstract alias align asm assert auto body break byte case cast catch class const continue debug default delete deprecated do else enum export extern final finally for foreach foreach_reverse|10 goto if immutable import in inout int interface invariant is lazy macro mixin module new nothrow out override package pragma private protected public pure ref return scope shared static struct super switch synchronized template this throw try typedef typeid typeof union unittest version void volatile while with __FILE__ __LINE__ __gshared|10 __thread __traits __DATE__ __EOF__ __TIME__ __TIMESTAMP__ __VENDOR__ __VERSION__",built_in:"bool cdouble cent cfloat char creal dchar delegate double dstring float function idouble ifloat ireal long real short string ubyte ucent uint ulong ushort wchar wstring",literal:"false null true"},c="(0|[1-9][\\d_]*)",d="(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)",e="0[bB][01_]+",f="([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*)",g="0[xX]"+f,h="([eE][+-]?"+d+")",i="("+d+"(\\.\\d*|"+h+")|\\d+\\."+d+d+"|\\."+c+h+"?)",j="(0[xX]("+f+"\\."+f+"|\\.?"+f+")[pP][+-]?"+d+")",k="("+c+"|"+e+"|"+g+")",l="("+j+"|"+i+")",m="\\\\(['\"\\?\\\\abfnrtv]|u[\\dA-Fa-f]{4}|[0-7]{1,3}|x[\\dA-Fa-f]{2}|U[\\dA-Fa-f]{8})|&[a-zA-Z\\d]{2,};",n={cN:"number",b:"\\b"+k+"(L|u|U|Lu|LU|uL|UL)?",r:0},o={cN:"number",b:"\\b("+l+"([fF]|L|i|[fF]i|Li)?|"+k+"(i|[fF]i|Li))",r:0},p={cN:"string",b:"'("+m+"|.)",e:"'",i:"."},q={b:m,r:0},r={cN:"string",b:'"',c:[q],e:'"[cwd]?',r:0},s={cN:"string",b:'[rq]"',e:'"[cwd]?',r:5},t={cN:"string",b:"`",e:"`[cwd]?"},u={cN:"string",b:'x"[\\da-fA-F\\s\\n\\r]*"[cwd]?',r:10},v={cN:"string",b:'q"\\{',e:'\\}"'},w={cN:"shebang",b:"^#!",e:"$",r:5},x={cN:"preprocessor",b:"#(line)",e:"$",r:5},y={cN:"keyword",b:"@[a-zA-Z_][a-zA-Z_\\d]*"},z={cN:"comment",b:"\\/\\+",c:["self"],e:"\\+\\/",r:10};return{l:a.UIR,k:b,c:[a.CLCM,a.CBLCLM,z,u,r,s,t,v,o,n,p,w,x,y]}}(hljs),hljs.LANGUAGES.profile=function(a){return{c:[a.CNM,{cN:"builtin",b:"{",e:"}$",eB:!0,eE:!0,c:[a.ASM,a.QSM],r:0},{cN:"filename",b:"[a-zA-Z_][\\da-zA-Z_]+\\.[\\da-zA-Z_]{1,3}",e:":",eE:!0},{cN:"header",b:"(ncalls|tottime|cumtime)",e:"$",k:"ncalls tottime|10 cumtime|10 filename",r:10},{cN:"summary",b:"function calls",e:"$",c:[a.CNM],r:10},a.ASM,a.QSM,{cN:"function",b:"\\(",e:"\\)$",c:[{cN:"title",b:a.UIR,r:0}],r:0}]}}(hljs),hljs.LANGUAGES.javascript=function(a){return{k:{keyword:"in if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const",literal:"true false null undefined NaN Infinity"},c:[a.ASM,a.QSM,a.CLCM,a.CBLCLM,a.CNM,{b:"("+a.RSR+"|\\b(case|return|throw)\\b)\\s*",k:"return throw case",c:[a.CLCM,a.CBLCLM,{cN:"regexp",b:"/",e:"/[gim]*",i:"\\n",c:[{b:"\\\\/"}]},{b:"<",e:">;",sL:"xml"}],r:0},{cN:"function",bWK:!0,e:"{",k:"function",c:[{cN:"title",b:"[A-Za-z$_][0-9A-Za-z$_]*"},{cN:"params",b:"\\(",e:"\\)",c:[a.CLCM,a.CBLCLM],i:"[\"'\\(]"}],i:"\\[|%"}]}}(hljs),hljs.LANGUAGES.bash=function(a){var b="true false",c="if then else elif fi for break continue while in do done echo exit return set declare",d={cN:"variable",b:"\\$[a-zA-Z0-9_#]+"},e={cN:"variable",b:"\\${([^}]|\\\\})+}"},f={cN:"string",b:'"',e:'"',i:"\\n",c:[a.BE,d,e],r:0},g={cN:"string",b:"'",e:"'",c:[{b:"''"}],r:0},h={cN:"test_condition",b:"",e:"",c:[f,g,d,e],k:{literal:b},r:0};return{k:{keyword:c,literal:b},c:[{cN:"shebang",b:"(#!\\/bin\\/bash)|(#!\\/bin\\/sh)",r:10},d,e,a.HCM,f,g,a.inherit(h,{b:"\\[ ",e:" \\]",r:0}),a.inherit(h,{b:"\\[\\[ ",e:" \\]\\]"})]}}(hljs),hljs.LANGUAGES.django=function(a){function b(a,b){return void 0==b||!a.cN&&"tag"==b.cN||"value"==a.cN}function c(a,d){var f={};for(var g in a){"contains"!=g&&(f[g]=a[g]);for(var h=[],i=0;a.c&&i",sL:"xml",r:0},{cN:"bullet",b:"^([*+-]|(\\d+\\.))\\s+"},{cN:"strong",b:"[*_]{2}.+?[*_]{2}"},{cN:"emphasis",b:"\\*.+?\\*"},{cN:"emphasis",b:"_.+?_",r:0},{cN:"blockquote",b:"^>\\s+",e:"$"},{cN:"code",b:"`.+?`"},{cN:"code",b:"^ ",e:"$",r:0},{cN:"horizontal_rule",b:"^-{3,}",e:"$"},{b:"\\[.+?\\]\\(.+?\\)",rB:!0,c:[{cN:"link_label",b:"\\[.+\\]"},{cN:"link_url",b:"\\(",e:"\\)",eB:!0,eE:!0}]}]}}(hljs),hljs.LANGUAGES.diff=function(){return{c:[{cN:"chunk",b:"^\\@\\@ +\\-\\d+,\\d+ +\\+\\d+,\\d+ +\\@\\@$",r:10},{cN:"chunk",b:"^\\*\\*\\* +\\d+,\\d+ +\\*\\*\\*\\*$",r:10},{cN:"chunk",b:"^\\-\\-\\- +\\d+,\\d+ +\\-\\-\\-\\-$",r:10},{cN:"header",b:"Index: ",e:"$"},{cN:"header",b:"=====",e:"=====$"},{cN:"header",b:"^\\-\\-\\-",e:"$"},{cN:"header",b:"^\\*{3} ",e:"$"},{cN:"header",b:"^\\+\\+\\+",e:"$"},{cN:"header",b:"\\*{5}",e:"\\*{5}$"},{cN:"addition",b:"^\\+",e:"$"},{cN:"deletion",b:"^\\-",e:"$"},{cN:"change",b:"^\\!",e:"$"}]}}(hljs),hljs.LANGUAGES.json=function(a){var b={literal:"true false null"},c=[a.QSM,a.CNM],d={cN:"value",e:",",eW:!0,eE:!0,c:c,k:b},e={b:"{",e:"}",c:[{cN:"attribute",b:'\\s*"',e:'"\\s*:\\s*',eB:!0,eE:!0,c:[a.BE],i:"\\n",starts:d}],i:"\\S"},f={b:"\\[",e:"\\]",c:[a.inherit(d,{cN:null})],i:"\\S"};return c.splice(c.length,0,e,f),{c:c,k:b,i:"\\S"}}(hljs),hljs.LANGUAGES.vbscript=function(a){return{cI:!0,k:{keyword:"call class const dim do loop erase execute executeglobal exit for each next function if then else on error option explicit new private property let get public randomize redim rem select case set stop sub while wend with end to elseif is or xor and not class_initialize class_terminate default preserve in me byval byref step resume goto",built_in:"lcase month vartype instrrev ubound setlocale getobject rgb getref string weekdayname rnd dateadd monthname now day minute isarray cbool round formatcurrency conversions csng timevalue second year space abs clng timeserial fixs len asc isempty maths dateserial atn timer isobject filter weekday datevalue ccur isdate instr datediff formatdatetime replace isnull right sgn array snumeric log cdbl hex chr lbound msgbox ucase getlocale cos cdate cbyte rtrim join hour oct typename trim strcomp int createobject loadpicture tan formatnumber mid scriptenginebuildversion scriptengine split scriptengineminorversion cint sin datepart ltrim sqr scriptenginemajorversion time derived eval date formatpercent exp inputbox left ascw chrw regexp server response request cstr err",literal:"true false null nothing empty"},i:"//",c:[a.inherit(a.QSM,{c:[{b:'""'}]}),{cN:"comment",b:"'",e:"$"},a.CNM]}}(hljs),hljs.LANGUAGES.haskell=function(a){var b={cN:"type",b:"\\b[A-Z][\\w']*",r:0},c={cN:"container",b:"\\(",e:"\\)",c:[{cN:"type",b:"\\b[A-Z][\\w]*(\\((\\.\\.|,|\\w+)\\))?"},{cN:"title",b:"[_a-z][\\w']*"}]},d={cN:"container",b:"{",e:"}",c:c.c};return{k:"let in if then else case of where do module import hiding qualified type data newtype deriving class instance not as foreign ccall safe unsafe",c:[{cN:"comment",b:"--",e:"$"},{cN:"preprocessor",b:"{-#",e:"#-}"},{cN:"comment",c:["self"],b:"{-",e:"-}"},{cN:"string",b:"\\s+'",e:"'",c:[a.BE],r:0},a.QSM,{cN:"import",b:"\\bimport",e:"$",k:"import qualified as hiding",c:[c],i:"\\W\\.|;"},{cN:"module",b:"\\bmodule",e:"where",k:"module where",c:[c],i:"\\W\\.|;"},{cN:"class",b:"\\b(class|instance)",e:"where",k:"class where instance",c:[b]},{cN:"typedef",b:"\\b(data|(new)?type)",e:"$",k:"data type newtype deriving",c:[b,c,d]},a.CNM,{cN:"shebang",b:"#!\\/usr\\/bin\\/env runhaskell",e:"$"},b,{cN:"title",b:"^[_a-z][\\w']*"}]}}(hljs),hljs.LANGUAGES.coffeescript=function(a){var b={keyword:"in if for while finally new do return else break catch instanceof throw try this switch continue typeof delete debugger super then unless until loop of by when and or is isnt not",literal:"true false null undefined yes no on off ",reserved:"case default function var void with const let enum export import native __hasProp __extends __slice __bind __indexOf"},c="[A-Za-z$_][0-9A-Za-z$_]*",d={cN:"title",b:c},e={cN:"subst",b:"#\\{",e:"}",k:b,c:[a.BNM,a.CNM]};return{k:b,c:[a.BNM,a.CNM,a.ASM,{cN:"string",b:'"""',e:'"""',c:[a.BE,e]},{cN:"string",b:'"',e:'"',c:[a.BE,e],r:0},{cN:"comment",b:"###",e:"###"},a.HCM,{cN:"regexp",b:"///",e:"///",c:[a.HCM]},{cN:"regexp",b:"//[gim]*"},{cN:"regexp",b:"/\\S(\\\\.|[^\\n])*/[gim]*"},{b:"`",e:"`",eB:!0,eE:!0,sL:"javascript"},{cN:"function",b:c+"\\s*=\\s*(\\(.+\\))?\\s*[-=]>",rB:!0,c:[d,{cN:"params",b:"\\(",e:"\\)"}]},{cN:"class",bWK:!0,k:"class",e:"$",i:":",c:[{bWK:!0,k:"extends",eW:!0,i:":",c:[d]},d]},{cN:"property",b:"@"+c}]}}(hljs),hljs.LANGUAGES.python=function(a){var b={cN:"prompt",b:"^(>>>|\\.\\.\\.) "},c=[{cN:"string",b:"(u|b)?r?'''",e:"'''",c:[b],r:10},{cN:"string",b:'(u|b)?r?"""',e:'"""',c:[b],r:10},{cN:"string",b:"(u|r|ur)'",e:"'",c:[a.BE],r:10},{cN:"string",b:'(u|r|ur)"',e:'"',c:[a.BE],r:10},{cN:"string",b:"(b|br)'",e:"'",c:[a.BE]},{cN:"string",b:'(b|br)"',e:'"',c:[a.BE]}].concat([a.ASM,a.QSM]),d={cN:"title",b:a.UIR},e={cN:"params",b:"\\(",e:"\\)",c:["self",a.CNM,b].concat(c)},f={bWK:!0,e:":",i:"[${=;\\n]",c:[d,e],r:10};return{k:{keyword:"and elif is global as in if from raise for except finally print import pass return exec else break not with class assert yield try while continue del or def lambda nonlocal|10",built_in:"None True False Ellipsis NotImplemented"},i:"(|\\?)",c:c.concat([b,a.HCM,a.inherit(f,{cN:"function",k:"def"}),a.inherit(f,{cN:"class",k:"class"}),a.CNM,{cN:"decorator",b:"@",e:"$"},{b:"\\b(print|exec)\\("}])}}(hljs),hljs.LANGUAGES.cmake=function(a){return{cI:!0,k:"add_custom_command add_custom_target add_definitions add_dependencies add_executable add_library add_subdirectory add_test aux_source_directory break build_command cmake_minimum_required cmake_policy configure_file create_test_sourcelist define_property else elseif enable_language enable_testing endforeach endfunction endif endmacro endwhile execute_process export find_file find_library find_package find_path find_program fltk_wrap_ui foreach function get_cmake_property get_directory_property get_filename_component get_property get_source_file_property get_target_property get_test_property if include include_directories include_external_msproject include_regular_expression install link_directories load_cache load_command macro mark_as_advanced message option output_required_files project qt_wrap_cpp qt_wrap_ui remove_definitions return separate_arguments set set_directory_properties set_property set_source_files_properties set_target_properties set_tests_properties site_name source_group string target_link_libraries try_compile try_run unset variable_watch while build_name exec_program export_library_dependencies install_files install_programs install_targets link_libraries make_directory remove subdir_depends subdirs use_mangled_mesa utility_source variable_requires write_file",c:[{cN:"envvar",b:"\\${",e:"}"},a.HCM,a.QSM,a.NM]}}(hljs),hljs.LANGUAGES.lua=function(a){var b="\\[=*\\[",c="\\]=*\\]",d={b:b,e:c,c:["self"]},e=[{cN:"comment",b:"--(?!"+b+")",e:"$"},{cN:"comment",b:"--"+b,e:c,c:[d],r:10}];return{l:a.UIR,k:{keyword:"and break do else elseif end false for if in local nil not or repeat return then true until while",built_in:"_G _VERSION assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall coroutine debug io math os package string table"},c:e.concat([{cN:"function",bWK:!0,e:"\\)",k:"function",c:[{cN:"title",b:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"},{cN:"params",b:"\\(",eW:!0,c:e}].concat(e)},a.CNM,a.ASM,a.QSM,{cN:"string",b:b,e:c,c:[d],r:10}])}}(hljs),hljs.LANGUAGES.r=function(a){var b="([a-zA-Z]|\\.[a-zA-Z.])[a-zA-Z0-9._]*";return{c:[a.HCM,{b:b,l:b,k:{keyword:"function if in break next repeat else for return switch while try tryCatch|10 stop warning require library attach detach source setMethod setGeneric setGroupGeneric setClass ...|10",literal:"NULL NA TRUE FALSE T F Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10"},r:0},{cN:"number",b:"0[xX][0-9a-fA-F]+[Li]?\\b",r:0},{cN:"number",b:"\\d+(?:[eE][+\\-]?\\d*)?L\\b",r:0},{cN:"number",b:"\\d+\\.(?!\\d)(?:i\\b)?",r:0},{cN:"number",b:"\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d*)?i?\\b",r:0},{cN:"number",b:"\\.\\d+(?:[eE][+\\-]?\\d*)?i?\\b",r:0},{b:"`",e:"`",r:0},{cN:"string",b:'"',e:'"',c:[a.BE],r:0},{cN:"string",b:"'",e:"'",c:[a.BE],r:0}]}}(hljs),hljs.LANGUAGES.http=function(){return{i:"\\S",c:[{cN:"status",b:"^HTTP/[0-9\\.]+",e:"$",c:[{cN:"number",b:"\\b\\d{3}\\b"}]},{cN:"request",b:"^[A-Z]+ (.*?) HTTP/[0-9\\.]+$",rB:!0,e:"$",c:[{cN:"string",b:" ",e:" ",eB:!0,eE:!0}]},{cN:"attribute",b:"^\\w",e:": ",eE:!0,i:"\\n|\\s|=",starts:{cN:"string",e:"$"}},{b:"\\n\\n",starts:{sL:"",eW:!0}}]}}(hljs),hljs.LANGUAGES.mel=function(a){return{k:"int float string vector matrix if else switch case default while do for in break continue global proc return about abs addAttr addAttributeEditorNodeHelp addDynamic addNewShelfTab addPP addPanelCategory addPrefixToName advanceToNextDrivenKey affectedNet affects aimConstraint air alias aliasAttr align alignCtx alignCurve alignSurface allViewFit ambientLight angle angleBetween animCone animCurveEditor animDisplay animView annotate appendStringArray applicationName applyAttrPreset applyTake arcLenDimContext arcLengthDimension arclen arrayMapper art3dPaintCtx artAttrCtx artAttrPaintVertexCtx artAttrSkinPaintCtx artAttrTool artBuildPaintMenu artFluidAttrCtx artPuttyCtx artSelectCtx artSetPaintCtx artUserPaintCtx assignCommand assignInputDevice assignViewportFactories attachCurve attachDeviceAttr attachSurface attrColorSliderGrp attrCompatibility attrControlGrp attrEnumOptionMenu attrEnumOptionMenuGrp attrFieldGrp attrFieldSliderGrp attrNavigationControlGrp attrPresetEditWin attributeExists attributeInfo attributeMenu attributeQuery autoKeyframe autoPlace bakeClip bakeFluidShading bakePartialHistory bakeResults bakeSimulation basename basenameEx batchRender bessel bevel bevelPlus binMembership bindSkin blend2 blendShape blendShapeEditor blendShapePanel blendTwoAttr blindDataType boneLattice boundary boxDollyCtx boxZoomCtx bufferCurve buildBookmarkMenu buildKeyframeMenu button buttonManip CBG cacheFile cacheFileCombine cacheFileMerge cacheFileTrack camera cameraView canCreateManip canvas capitalizeString catch catchQuiet ceil changeSubdivComponentDisplayLevel changeSubdivRegion channelBox character characterMap characterOutlineEditor characterize chdir checkBox checkBoxGrp checkDefaultRenderGlobals choice circle circularFillet clamp clear clearCache clip clipEditor clipEditorCurrentTimeCtx clipSchedule clipSchedulerOutliner clipTrimBefore closeCurve closeSurface cluster cmdFileOutput cmdScrollFieldExecuter cmdScrollFieldReporter cmdShell coarsenSubdivSelectionList collision color colorAtPoint colorEditor colorIndex colorIndexSliderGrp colorSliderButtonGrp colorSliderGrp columnLayout commandEcho commandLine commandPort compactHairSystem componentEditor compositingInterop computePolysetVolume condition cone confirmDialog connectAttr connectControl connectDynamic connectJoint connectionInfo constrain constrainValue constructionHistory container containsMultibyte contextInfo control convertFromOldLayers convertIffToPsd convertLightmap convertSolidTx convertTessellation convertUnit copyArray copyFlexor copyKey copySkinWeights cos cpButton cpCache cpClothSet cpCollision cpConstraint cpConvClothToMesh cpForces cpGetSolverAttr cpPanel cpProperty cpRigidCollisionFilter cpSeam cpSetEdit cpSetSolverAttr cpSolver cpSolverTypes cpTool cpUpdateClothUVs createDisplayLayer createDrawCtx createEditor createLayeredPsdFile createMotionField createNewShelf createNode createRenderLayer createSubdivRegion cross crossProduct ctxAbort ctxCompletion ctxEditMode ctxTraverse currentCtx currentTime currentTimeCtx currentUnit currentUnit curve curveAddPtCtx curveCVCtx curveEPCtx curveEditorCtx curveIntersect curveMoveEPCtx curveOnSurface curveSketchCtx cutKey cycleCheck cylinder dagPose date defaultLightListCheckBox defaultNavigation defineDataServer defineVirtualDevice deformer deg_to_rad delete deleteAttr deleteShadingGroupsAndMaterials deleteShelfTab deleteUI deleteUnusedBrushes delrandstr detachCurve detachDeviceAttr detachSurface deviceEditor devicePanel dgInfo dgdirty dgeval dgtimer dimWhen directKeyCtx directionalLight dirmap dirname disable disconnectAttr disconnectJoint diskCache displacementToPoly displayAffected displayColor displayCull displayLevelOfDetail displayPref displayRGBColor displaySmoothness displayStats displayString displaySurface distanceDimContext distanceDimension doBlur dolly dollyCtx dopeSheetEditor dot dotProduct doubleProfileBirailSurface drag dragAttrContext draggerContext dropoffLocator duplicate duplicateCurve duplicateSurface dynCache dynControl dynExport dynExpression dynGlobals dynPaintEditor dynParticleCtx dynPref dynRelEdPanel dynRelEditor dynamicLoad editAttrLimits editDisplayLayerGlobals editDisplayLayerMembers editRenderLayerAdjustment editRenderLayerGlobals editRenderLayerMembers editor editorTemplate effector emit emitter enableDevice encodeString endString endsWith env equivalent equivalentTol erf error eval eval evalDeferred evalEcho event exactWorldBoundingBox exclusiveLightCheckBox exec executeForEachObject exists exp expression expressionEditorListen extendCurve extendSurface extrude fcheck fclose feof fflush fgetline fgetword file fileBrowserDialog fileDialog fileExtension fileInfo filetest filletCurve filter filterCurve filterExpand filterStudioImport findAllIntersections findAnimCurves findKeyframe findMenuItem findRelatedSkinCluster finder firstParentOf fitBspline flexor floatEq floatField floatFieldGrp floatScrollBar floatSlider floatSlider2 floatSliderButtonGrp floatSliderGrp floor flow fluidCacheInfo fluidEmitter fluidVoxelInfo flushUndo fmod fontDialog fopen formLayout format fprint frameLayout fread freeFormFillet frewind fromNativePath fwrite gamma gauss geometryConstraint getApplicationVersionAsFloat getAttr getClassification getDefaultBrush getFileList getFluidAttr getInputDeviceRange getMayaPanelTypes getModifiers getPanel getParticleAttr getPluginResource getenv getpid glRender glRenderEditor globalStitch gmatch goal gotoBindPose grabColor gradientControl gradientControlNoAttr graphDollyCtx graphSelectContext graphTrackCtx gravity grid gridLayout group groupObjectsByName HfAddAttractorToAS HfAssignAS HfBuildEqualMap HfBuildFurFiles HfBuildFurImages HfCancelAFR HfConnectASToHF HfCreateAttractor HfDeleteAS HfEditAS HfPerformCreateAS HfRemoveAttractorFromAS HfSelectAttached HfSelectAttractors HfUnAssignAS hardenPointCurve hardware hardwareRenderPanel headsUpDisplay headsUpMessage help helpLine hermite hide hilite hitTest hotBox hotkey hotkeyCheck hsv_to_rgb hudButton hudSlider hudSliderButton hwReflectionMap hwRender hwRenderLoad hyperGraph hyperPanel hyperShade hypot iconTextButton iconTextCheckBox iconTextRadioButton iconTextRadioCollection iconTextScrollList iconTextStaticLabel ikHandle ikHandleCtx ikHandleDisplayScale ikSolver ikSplineHandleCtx ikSystem ikSystemInfo ikfkDisplayMethod illustratorCurves image imfPlugins inheritTransform insertJoint insertJointCtx insertKeyCtx insertKnotCurve insertKnotSurface instance instanceable instancer intField intFieldGrp intScrollBar intSlider intSliderGrp interToUI internalVar intersect iprEngine isAnimCurve isConnected isDirty isParentOf isSameObject isTrue isValidObjectName isValidString isValidUiName isolateSelect itemFilter itemFilterAttr itemFilterRender itemFilterType joint jointCluster jointCtx jointDisplayScale jointLattice keyTangent keyframe keyframeOutliner keyframeRegionCurrentTimeCtx keyframeRegionDirectKeyCtx keyframeRegionDollyCtx keyframeRegionInsertKeyCtx keyframeRegionMoveKeyCtx keyframeRegionScaleKeyCtx keyframeRegionSelectKeyCtx keyframeRegionSetKeyCtx keyframeRegionTrackCtx keyframeStats lassoContext lattice latticeDeformKeyCtx launch launchImageEditor layerButton layeredShaderPort layeredTexturePort layout layoutDialog lightList lightListEditor lightListPanel lightlink lineIntersection linearPrecision linstep listAnimatable listAttr listCameras listConnections listDeviceAttachments listHistory listInputDeviceAxes listInputDeviceButtons listInputDevices listMenuAnnotation listNodeTypes listPanelCategories listRelatives listSets listTransforms listUnselected listerEditor loadFluid loadNewShelf loadPlugin loadPluginLanguageResources loadPrefObjects localizedPanelLabel lockNode loft log longNameOf lookThru ls lsThroughFilter lsType lsUI Mayatomr mag makeIdentity makeLive makePaintable makeRoll makeSingleSurface makeTubeOn makebot manipMoveContext manipMoveLimitsCtx manipOptions manipRotateContext manipRotateLimitsCtx manipScaleContext manipScaleLimitsCtx marker match max memory menu menuBarLayout menuEditor menuItem menuItemToShelf menuSet menuSetPref messageLine min minimizeApp mirrorJoint modelCurrentTimeCtx modelEditor modelPanel mouse movIn movOut move moveIKtoFK moveKeyCtx moveVertexAlongDirection multiProfileBirailSurface mute nParticle nameCommand nameField namespace namespaceInfo newPanelItems newton nodeCast nodeIconButton nodeOutliner nodePreset nodeType noise nonLinear normalConstraint normalize nurbsBoolean nurbsCopyUVSet nurbsCube nurbsEditUV nurbsPlane nurbsSelect nurbsSquare nurbsToPoly nurbsToPolygonsPref nurbsToSubdiv nurbsToSubdivPref nurbsUVSet nurbsViewDirectionVector objExists objectCenter objectLayer objectType objectTypeUI obsoleteProc oceanNurbsPreviewPlane offsetCurve offsetCurveOnSurface offsetSurface openGLExtension openMayaPref optionMenu optionMenuGrp optionVar orbit orbitCtx orientConstraint outlinerEditor outlinerPanel overrideModifier paintEffectsDisplay pairBlend palettePort paneLayout panel panelConfiguration panelHistory paramDimContext paramDimension paramLocator parent parentConstraint particle particleExists particleInstancer particleRenderInfo partition pasteKey pathAnimation pause pclose percent performanceOptions pfxstrokes pickWalk picture pixelMove planarSrf plane play playbackOptions playblast plugAttr plugNode pluginInfo pluginResourceUtil pointConstraint pointCurveConstraint pointLight pointMatrixMult pointOnCurve pointOnSurface pointPosition poleVectorConstraint polyAppend polyAppendFacetCtx polyAppendVertex polyAutoProjection polyAverageNormal polyAverageVertex polyBevel polyBlendColor polyBlindData polyBoolOp polyBridgeEdge polyCacheMonitor polyCheck polyChipOff polyClipboard polyCloseBorder polyCollapseEdge polyCollapseFacet polyColorBlindData polyColorDel polyColorPerVertex polyColorSet polyCompare polyCone polyCopyUV polyCrease polyCreaseCtx polyCreateFacet polyCreateFacetCtx polyCube polyCut polyCutCtx polyCylinder polyCylindricalProjection polyDelEdge polyDelFacet polyDelVertex polyDuplicateAndConnect polyDuplicateEdge polyEditUV polyEditUVShell polyEvaluate polyExtrudeEdge polyExtrudeFacet polyExtrudeVertex polyFlipEdge polyFlipUV polyForceUV polyGeoSampler polyHelix polyInfo polyInstallAction polyLayoutUV polyListComponentConversion polyMapCut polyMapDel polyMapSew polyMapSewMove polyMergeEdge polyMergeEdgeCtx polyMergeFacet polyMergeFacetCtx polyMergeUV polyMergeVertex polyMirrorFace polyMoveEdge polyMoveFacet polyMoveFacetUV polyMoveUV polyMoveVertex polyNormal polyNormalPerVertex polyNormalizeUV polyOptUvs polyOptions polyOutput polyPipe polyPlanarProjection polyPlane polyPlatonicSolid polyPoke polyPrimitive polyPrism polyProjection polyPyramid polyQuad polyQueryBlindData polyReduce polySelect polySelectConstraint polySelectConstraintMonitor polySelectCtx polySelectEditCtx polySeparate polySetToFaceNormal polySewEdge polyShortestPathCtx polySmooth polySoftEdge polySphere polySphericalProjection polySplit polySplitCtx polySplitEdge polySplitRing polySplitVertex polyStraightenUVBorder polySubdivideEdge polySubdivideFacet polyToSubdiv polyTorus polyTransfer polyTriangulate polyUVSet polyUnite polyWedgeFace popen popupMenu pose pow preloadRefEd print progressBar progressWindow projFileViewer projectCurve projectTangent projectionContext projectionManip promptDialog propModCtx propMove psdChannelOutliner psdEditTextureFile psdExport psdTextureFile putenv pwd python querySubdiv quit rad_to_deg radial radioButton radioButtonGrp radioCollection radioMenuItemCollection rampColorPort rand randomizeFollicles randstate rangeControl readTake rebuildCurve rebuildSurface recordAttr recordDevice redo reference referenceEdit referenceQuery refineSubdivSelectionList refresh refreshAE registerPluginResource rehash reloadImage removeJoint removeMultiInstance removePanelCategory rename renameAttr renameSelectionList renameUI render renderGlobalsNode renderInfo renderLayerButton renderLayerParent renderLayerPostProcess renderLayerUnparent renderManip renderPartition renderQualityNode renderSettings renderThumbnailUpdate renderWindowEditor renderWindowSelectContext renderer reorder reorderDeformers requires reroot resampleFluid resetAE resetPfxToPolyCamera resetTool resolutionNode retarget reverseCurve reverseSurface revolve rgb_to_hsv rigidBody rigidSolver roll rollCtx rootOf rot rotate rotationInterpolation roundConstantRadius rowColumnLayout rowLayout runTimeCommand runup sampleImage saveAllShelves saveAttrPreset saveFluid saveImage saveInitialState saveMenu savePrefObjects savePrefs saveShelf saveToolSettings scale scaleBrushBrightness scaleComponents scaleConstraint scaleKey scaleKeyCtx sceneEditor sceneUIReplacement scmh scriptCtx scriptEditorInfo scriptJob scriptNode scriptTable scriptToShelf scriptedPanel scriptedPanelType scrollField scrollLayout sculpt searchPathArray seed selLoadSettings select selectContext selectCurveCV selectKey selectKeyCtx selectKeyframeRegionCtx selectMode selectPref selectPriority selectType selectedNodes selectionConnection separator setAttr setAttrEnumResource setAttrMapping setAttrNiceNameResource setConstraintRestPosition setDefaultShadingGroup setDrivenKeyframe setDynamic setEditCtx setEditor setFluidAttr setFocus setInfinity setInputDeviceMapping setKeyCtx setKeyPath setKeyframe setKeyframeBlendshapeTargetWts setMenuMode setNodeNiceNameResource setNodeTypeFlag setParent setParticleAttr setPfxToPolyCamera setPluginResource setProject setStampDensity setStartupMessage setState setToolTo setUITemplate setXformManip sets shadingConnection shadingGeometryRelCtx shadingLightRelCtx shadingNetworkCompare shadingNode shapeCompare shelfButton shelfLayout shelfTabLayout shellField shortNameOf showHelp showHidden showManipCtx showSelectionInTitle showShadingGroupAttrEditor showWindow sign simplify sin singleProfileBirailSurface size sizeBytes skinCluster skinPercent smoothCurve smoothTangentSurface smoothstep snap2to2 snapKey snapMode snapTogetherCtx snapshot soft softMod softModCtx sort sound soundControl source spaceLocator sphere sphrand spotLight spotLightPreviewPort spreadSheetEditor spring sqrt squareSurface srtContext stackTrace startString startsWith stitchAndExplodeShell stitchSurface stitchSurfacePoints strcmp stringArrayCatenate stringArrayContains stringArrayCount stringArrayInsertAtIndex stringArrayIntersector stringArrayRemove stringArrayRemoveAtIndex stringArrayRemoveDuplicates stringArrayRemoveExact stringArrayToString stringToStringArray strip stripPrefixFromName stroke subdAutoProjection subdCleanTopology subdCollapse subdDuplicateAndConnect subdEditUV subdListComponentConversion subdMapCut subdMapSewMove subdMatchTopology subdMirror subdToBlind subdToPoly subdTransferUVsToCache subdiv subdivCrease subdivDisplaySmoothness substitute substituteAllString substituteGeometry substring surface surfaceSampler surfaceShaderList swatchDisplayPort switchTable symbolButton symbolCheckBox sysFile system tabLayout tan tangentConstraint texLatticeDeformContext texManipContext texMoveContext texMoveUVShellContext texRotateContext texScaleContext texSelectContext texSelectShortestPathCtx texSmudgeUVContext texWinToolCtx text textCurves textField textFieldButtonGrp textFieldGrp textManip textScrollList textToShelf textureDisplacePlane textureHairColor texturePlacementContext textureWindow threadCount threePointArcCtx timeControl timePort timerX toNativePath toggle toggleAxis toggleWindowVisibility tokenize tokenizeList tolerance tolower toolButton toolCollection toolDropped toolHasOptions toolPropertyWindow torus toupper trace track trackCtx transferAttributes transformCompare transformLimits translator trim trunc truncateFluidCache truncateHairCache tumble tumbleCtx turbulence twoPointArcCtx uiRes uiTemplate unassignInputDevice undo undoInfo ungroup uniform unit unloadPlugin untangleUV untitledFileName untrim upAxis updateAE userCtx uvLink uvSnapshot validateShelfName vectorize view2dToolCtx viewCamera viewClipPlane viewFit viewHeadOn viewLookAt viewManip viewPlace viewSet visor volumeAxis vortex waitCursor warning webBrowser webBrowserPrefs whatIs window windowPref wire wireContext workspace wrinkle wrinkleContext writeTake xbmLangPathList xform",i:"b;b++)this.pushParam(a[b])},pushParam:function(a){this.stringParams?(a.depth&&this.addDepth(a.depth),this.opcode("getContext",a.depth||0),this.opcode("pushStringParam",a.stringModeValue,a.type),"sexpr"===a.type&&this.sexpr(a)):(this.trackIds&&this.opcode("pushId",a.type,a.idName||a.stringModeValue),this.accept(a))},setupFullMustacheParams:function(a,b,c){var d=a.params;return this.pushParams(d),this.opcode("pushProgram",b),this.opcode("pushProgram",c),a.hash?this.hash(a.hash):this.opcode("emptyHash"),d}},g.precompile=d,g.compile=e,g}(c,b),l=function(a,b){"use strict";function c(a){this.value=a}function d(){}var e,f=a.COMPILER_REVISION,g=a.REVISION_CHANGES,h=b;d.prototype={nameLookup:function(a,b){return d.isValidJavaScriptVariableName(b)?a+"."+b:a+"['"+b+"']"},depthedLookup:function(a){return this.aliases.lookup="this.lookup",'lookup(depths, "'+a+'")'},compilerInfo:function(){var a=f,b=g[a];return[a,b]},appendToBuffer:function(a){return this.environment.isSimple?"return "+a+";":{appendToBuffer:!0,content:a,toString:function(){return"buffer += "+a+";"}}},initializeBuffer:function(){return this.quotedString("")},namespace:"Handlebars",compile:function(a,b,c,d){this.environment=a,this.options=b,this.stringParams=this.options.stringParams,this.trackIds=this.options.trackIds,this.precompile=!d,this.name=this.environment.name,this.isChild=!!c,this.context=c||{programs:[],environments:[]},this.preamble(),this.stackSlot=0,this.stackVars=[],this.aliases={},this.registers={list:[]},this.hashes=[],this.compileStack=[],this.inlineStack=[],this.compileChildren(a,b),this.useDepths=this.useDepths||a.depths.list.length||this.options.compat;var e,f,g,i=a.opcodes;for(f=0,g=i.length;g>f;f++)e=i[f],this[e.opcode].apply(this,e.args);if(this.pushSource(""),this.stackSlot||this.inlineStack.length||this.compileStack.length)throw new h("Compile completed with content left on stack");var j=this.createFunctionContext(d);if(this.isChild)return j;var k={compiler:this.compilerInfo(),main:j},l=this.context.programs;for(f=0,g=l.length;g>f;f++)l[f]&&(k[f]=l[f]);return this.environment.usePartial&&(k.usePartial=!0),this.options.data&&(k.useData=!0),this.useDepths&&(k.useDepths=!0),this.options.compat&&(k.compat=!0),d||(k.compiler=JSON.stringify(k.compiler),k=this.objectLiteral(k)),k},preamble:function(){this.lastContext=0,this.source=[]},createFunctionContext:function(a){var b="",c=this.stackVars.concat(this.registers.list);c.length>0&&(b+=", "+c.join(", "));for(var d in this.aliases)this.aliases.hasOwnProperty(d)&&(b+=", "+d+"="+this.aliases[d]);var e=["depth0","helpers","partials","data"];this.useDepths&&e.push("depths");var f=this.mergeSource(b);return a?(e.push(f),Function.apply(this,e)):"function("+e.join(",")+") {\n "+f+"}"},mergeSource:function(a){for(var b,c,d="",e=!this.forceBuffer,f=0,g=this.source.length;g>f;f++){var h=this.source[f];h.appendToBuffer?b=b?b+"\n + "+h.content:h.content:(b&&(d?d+="buffer += "+b+";\n ":(c=!0,d=b+";\n "),b=void 0),d+=h+"\n ",this.environment.isSimple||(e=!1))}return e?(b||!d)&&(d+="return "+(b||'""')+";\n"):(a+=", buffer = "+(c?"":this.initializeBuffer()),d+=b?"return buffer + "+b+";\n":"return buffer;\n"),a&&(d="var "+a.substring(2)+(c?"":";\n ")+d),d},blockValue:function(a){this.aliases.blockHelperMissing="helpers.blockHelperMissing";var b=[this.contextName(0)];this.setupParams(a,0,b);var c=this.popStack();b.splice(1,0,c),this.push("blockHelperMissing.call("+b.join(", ")+")")},ambiguousBlockValue:function(){this.aliases.blockHelperMissing="helpers.blockHelperMissing";var a=[this.contextName(0)];this.setupParams("",0,a,!0),this.flushInline();var b=this.topStack();a.splice(1,0,b),this.pushSource("if (!"+this.lastHelper+") { "+b+" = blockHelperMissing.call("+a.join(", ")+"); }")},appendContent:function(a){this.pendingContent&&(a=this.pendingContent+a),this.pendingContent=a},append:function(){this.flushInline();var a=this.popStack();this.pushSource("if ("+a+" != null) { "+this.appendToBuffer(a)+" }"),this.environment.isSimple&&this.pushSource("else { "+this.appendToBuffer("''")+" }")},appendEscaped:function(){this.aliases.escapeExpression="this.escapeExpression",this.pushSource(this.appendToBuffer("escapeExpression("+this.popStack()+")"))},getContext:function(a){this.lastContext=a},pushContext:function(){this.pushStackLiteral(this.contextName(this.lastContext))},lookupOnContext:function(a,b,c){var d=0,e=a.length;for(c||!this.options.compat||this.lastContext?this.pushContext():this.push(this.depthedLookup(a[d++]));e>d;d++)this.replaceStack(function(c){var e=this.nameLookup(c,a[d],"context");return b?" && "+e:" != null ? "+e+" : "+c})},lookupData:function(a,b){this.pushStackLiteral(a?"this.data(data, "+a+")":"data");for(var c=b.length,d=0;c>d;d++)this.replaceStack(function(a){return" && "+this.nameLookup(a,b[d],"data")})},resolvePossibleLambda:function(){this.aliases.lambda="this.lambda",this.push("lambda("+this.popStack()+", "+this.contextName(0)+")")},pushStringParam:function(a,b){this.pushContext(),this.pushString(b),"sexpr"!==b&&("string"==typeof a?this.pushString(a):this.pushStackLiteral(a))},emptyHash:function(){this.pushStackLiteral("{}"),this.trackIds&&this.push("{}"),this.stringParams&&(this.push("{}"),this.push("{}"))},pushHash:function(){this.hash&&this.hashes.push(this.hash),this.hash={values:[],types:[],contexts:[],ids:[]}},popHash:function(){var a=this.hash;this.hash=this.hashes.pop(),this.trackIds&&this.push("{"+a.ids.join(",")+"}"),this.stringParams&&(this.push("{"+a.contexts.join(",")+"}"),this.push("{"+a.types.join(",")+"}")),this.push("{\n "+a.values.join(",\n ")+"\n }")},pushString:function(a){this.pushStackLiteral(this.quotedString(a))},push:function(a){return this.inlineStack.push(a),a},pushLiteral:function(a){this.pushStackLiteral(a)},pushProgram:function(a){this.pushStackLiteral(null!=a?this.programExpression(a):null)},invokeHelper:function(a,b,c){this.aliases.helperMissing="helpers.helperMissing";var d=this.popStack(),e=this.setupHelper(a,b),f=(c?e.name+" || ":"")+d+" || helperMissing";this.push("(("+f+").call("+e.callParams+"))")},invokeKnownHelper:function(a,b){var c=this.setupHelper(a,b);this.push(c.name+".call("+c.callParams+")")},invokeAmbiguous:function(a,b){this.aliases.functionType='"function"',this.aliases.helperMissing="helpers.helperMissing",this.useRegister("helper");var c=this.popStack();this.emptyHash();var d=this.setupHelper(0,a,b),e=this.lastHelper=this.nameLookup("helpers",a,"helper");this.push("((helper = (helper = "+e+" || "+c+") != null ? helper : helperMissing"+(d.paramsInit?"),("+d.paramsInit:"")+"),(typeof helper === functionType ? helper.call("+d.callParams+") : helper))")},invokePartial:function(a,b){var c=[this.nameLookup("partials",a,"partial"),"'"+b+"'","'"+a+"'",this.popStack(),this.popStack(),"helpers","partials"];this.options.data?c.push("data"):this.options.compat&&c.push("undefined"),this.options.compat&&c.push("depths"),this.push("this.invokePartial("+c.join(", ")+")")},assignToHash:function(a){var b,c,d,e=this.popStack();this.trackIds&&(d=this.popStack()),this.stringParams&&(c=this.popStack(),b=this.popStack());var f=this.hash;b&&f.contexts.push("'"+a+"': "+b),c&&f.types.push("'"+a+"': "+c),d&&f.ids.push("'"+a+"': "+d),f.values.push("'"+a+"': ("+e+")")},pushId:function(a,b){"ID"===a||"DATA"===a?this.pushString(b):this.pushStackLiteral("sexpr"===a?"true":"null")},compiler:d,compileChildren:function(a,b){for(var c,d,e=a.children,f=0,g=e.length;g>f;f++){c=e[f],d=new this.compiler;var h=this.matchExistingProgram(c);null==h?(this.context.programs.push(""),h=this.context.programs.length,c.index=h,c.name="program"+h,this.context.programs[h]=d.compile(c,b,this.context,!this.precompile),this.context.environments[h]=c,this.useDepths=this.useDepths||d.useDepths):(c.index=h,c.name="program"+h)}},matchExistingProgram:function(a){for(var b=0,c=this.context.environments.length;c>b;b++){var d=this.context.environments[b];if(d&&d.equals(a))return b}},programExpression:function(a){var b=this.environment.children[a],c=(b.depths.list,this.useDepths),d=[b.index,"data"];return c&&d.push("depths"),"this.program("+d.join(", ")+")"},useRegister:function(a){this.registers[a]||(this.registers[a]=!0,this.registers.list.push(a))},pushStackLiteral:function(a){return this.push(new c(a))},pushSource:function(a){this.pendingContent&&(this.source.push(this.appendToBuffer(this.quotedString(this.pendingContent))),this.pendingContent=void 0),a&&this.source.push(a)},pushStack:function(a){this.flushInline();var b=this.incrStack();return this.pushSource(b+" = "+a+";"),this.compileStack.push(b),b},replaceStack:function(a){{var b,d,e,f="";this.isInline()}if(!this.isInline())throw new h("replaceStack on non-inline");var g=this.popStack(!0);if(g instanceof c)f=b=g.value,e=!0;else{d=!this.stackSlot;var i=d?this.incrStack():this.topStackName();f="("+this.push(i)+" = "+g+")",b=this.topStack()}var j=a.call(this,b);e||this.popStack(),d&&this.stackSlot--,this.push("("+f+j+")")},incrStack:function(){return this.stackSlot++,this.stackSlot>this.stackVars.length&&this.stackVars.push("stack"+this.stackSlot),this.topStackName()},topStackName:function(){return"stack"+this.stackSlot},flushInline:function(){var a=this.inlineStack;if(a.length){this.inlineStack=[];for(var b=0,d=a.length;d>b;b++){var e=a[b];e instanceof c?this.compileStack.push(e):this.pushStack(e)}}},isInline:function(){return this.inlineStack.length},popStack:function(a){var b=this.isInline(),d=(b?this.inlineStack:this.compileStack).pop();if(!a&&d instanceof c)return d.value;if(!b){if(!this.stackSlot)throw new h("Invalid stack pop");this.stackSlot--}return d},topStack:function(){var a=this.isInline()?this.inlineStack:this.compileStack,b=a[a.length-1];return b instanceof c?b.value:b},contextName:function(a){return this.useDepths&&a?"depths["+a+"]":"depth"+a},quotedString:function(a){return'"'+a.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")+'"'},objectLiteral:function(a){var b=[];for(var c in a)a.hasOwnProperty(c)&&b.push(this.quotedString(c)+":"+a[c]);return"{"+b.join(",")+"}"},setupHelper:function(a,b,c){var d=[],e=this.setupParams(b,a,d,c),f=this.nameLookup("helpers",b,"helper");return{params:d,paramsInit:e,name:f,callParams:[this.contextName(0)].concat(d).join(", ")}},setupOptions:function(a,b,c){var d,e,f,g={},h=[],i=[],j=[];g.name=this.quotedString(a),g.hash=this.popStack(),this.trackIds&&(g.hashIds=this.popStack()),this.stringParams&&(g.hashTypes=this.popStack(),g.hashContexts=this.popStack()),e=this.popStack(),f=this.popStack(),(f||e)&&(f||(f="this.noop"),e||(e="this.noop"),g.fn=f,g.inverse=e);for(var k=b;k--;)d=this.popStack(),c[k]=d,this.trackIds&&(j[k]=this.popStack()),this.stringParams&&(i[k]=this.popStack(),h[k]=this.popStack());return this.trackIds&&(g.ids="["+j.join(",")+"]"),this.stringParams&&(g.types="["+i.join(",")+"]",g.contexts="["+h.join(",")+"]"),this.options.data&&(g.data="data"),g},setupParams:function(a,b,c,d){var e=this.objectLiteral(this.setupOptions(a,b,c));return d?(this.useRegister("options"),c.push("options"),"options="+e):(c.push(e),"")}};for(var i="break else new var case finally return void catch for switch while continue function this with default if throw delete in try do instanceof typeof abstract enum int short boolean export interface static byte extends long super char final native synchronized class float package throws const goto private transient debugger implements protected volatile double import public let yield".split(" "),j=d.RESERVED_WORDS={},k=0,l=i.length;l>k;k++)j[i[k]]=!0;return d.isValidJavaScriptVariableName=function(a){return!d.RESERVED_WORDS[a]&&/^[a-zA-Z_$][0-9a-zA-Z_$]*$/.test(a)},e=d}(d,c),m=function(a,b,c,d,e){"use strict";var f,g=a,h=b,i=c.parser,j=c.parse,k=d.Compiler,l=d.compile,m=d.precompile,n=e,o=g.create,p=function(){var a=o();return a.compile=function(b,c){return l(b,c,a)},a.precompile=function(b,c){return m(b,c,a)},a.AST=h,a.Compiler=k,a.JavaScriptCompiler=n,a.Parser=i,a.parse=j,a};return g=p(),g.create=p,g["default"]=g,f=g}(f,g,j,k,l);return m}),function(){var a,b,c,d,e;!function(){function f(){}function g(a,b){if("."!==a.charAt(0))return a;for(var c=a.split("/"),d=b.split("/").slice(0,-1),e=0,f=c.length;f>e;e++){var g=c[e];if(".."===g)d.pop();else{if("."===g)continue;d.push(g)}}return d.join("/")}if(e=this.Ember=this.Ember||{},"undefined"==typeof e&&(e={}),"undefined"==typeof e.__loader){var h={},i={};a=function(a,b,c){h[a]={deps:b,callback:c}},d=c=b=function(a){var c=i[a];if(void 0!==c)return i[a];if(c===f)return void 0;if(i[a]={},!h[a])throw new Error("Could not find module "+a);for(var d,e=h[a],j=e.deps,k=e.callback,l=[],m=j.length,n=0;m>n;n++)l.push("exports"===j[n]?d={}:b(g(j[n],a)));var o=0===m?k.call(this):k.apply(this,l);return i[a]=d||(void 0===o?f:o)},d._eak_seen=h,e.__loader={define:a,require:c,registry:h}}else a=e.__loader.define,d=c=b=e.__loader.require}(),a("backburner",["backburner/utils","backburner/platform","backburner/binary-search","backburner/deferred-action-queues","exports"],function(a,b,c,d,e){"use strict";function f(a,b){this.queueNames=a,this.options=b||{},this.options.defaultQueue||(this.options.defaultQueue=a[0]),this.instanceStack=[],this._debouncees=[],this._throttlers=[],this._timers=[]}function g(a){return a.onError||a.onErrorTarget&&a.onErrorTarget[a.onErrorMethod]}function h(a){a.begin(),a._autorun=z.setTimeout(function(){a._autorun=null,a.end()})}function i(a,b,c){var d=t();(!a._laterTimer||bc;c+=2)a.schedule(a.options.defaultQueue,null,b[c])}),a._timers.length&&i(a,a._timers[0],a._timers[0]-e)}function k(a,b,c){return m(a,b,c)}function l(a,b,c){return m(a,b,c)}function m(a,b,c){for(var d,e=-1,f=0,g=c.length;g>f;f++)if(d=c[f],d[0]===a&&d[1]===b){e=f;break}return e}var n=a.each,o=a.isString,p=a.isFunction,q=a.isNumber,r=a.isCoercableNumber,s=a.wrapInTryCatch,t=a.now,u=b.needsIETryCatchFix,v=c["default"],w=d["default"],x=[].slice,y=[].pop,z=this;if(f.prototype={begin:function(){var a=this.options,b=a&&a.onBegin,c=this.currentInstance;c&&this.instanceStack.push(c),this.currentInstance=new w(this.queueNames,a),b&&b(this.currentInstance,c)},end:function(){var a=this.options,b=a&&a.onEnd,c=this.currentInstance,d=null,e=!1;try{c.flush()}finally{e||(e=!0,this.currentInstance=null,this.instanceStack.length&&(d=this.instanceStack.pop(),this.currentInstance=d),b&&b(c,d))}},run:function(a,b){var c=g(this.options);this.begin(),b||(b=a,a=null),o(b)&&(b=a[b]);var d=x.call(arguments,2),e=!1;if(c)try{return b.apply(a,d)}catch(f){c(f)}finally{e||(e=!0,this.end())}else try{return b.apply(a,d)}finally{e||(e=!0,this.end())}},join:function(a,b){return this.currentInstance?(b||(b=a,a=null),o(b)&&(b=a[b]),b.apply(a,x.call(arguments,2))):this.run.apply(this,arguments)},defer:function(a,b,c){c||(c=b,b=null),o(c)&&(c=b[c]);var d,e=this.DEBUG?new Error:void 0,f=arguments.length;if(f>3){d=new Array(f-3);for(var g=3;f>g;g++)d[g-3]=arguments[g]}else d=void 0;return this.currentInstance||h(this),this.currentInstance.schedule(a,b,c,d,!1,e)},deferOnce:function(a,b,c){c||(c=b,b=null),o(c)&&(c=b[c]);var d,e=this.DEBUG?new Error:void 0,f=arguments.length;if(f>3){d=new Array(f-3);for(var g=3;f>g;g++)d[g-3]=arguments[g]}else d=void 0;return this.currentInstance||h(this),this.currentInstance.schedule(a,b,c,d,!0,e)},setTimeout:function(){function a(){if(s)try{e.apply(h,c)}catch(a){s(a)}else e.apply(h,c)}for(var b=arguments.length,c=new Array(b),d=0;b>d;d++)c[d]=arguments[d];var e,f,h,j,k,l,m=c.length;if(0!==m){if(1===m)e=c.shift(),f=0;else if(2===m)j=c[0],k=c[1],p(k)||p(j[k])?(h=c.shift(),e=c.shift(),f=0):r(k)?(e=c.shift(),f=c.shift()):(e=c.shift(),f=0);else{var n=c[c.length-1];f=r(n)?c.pop():0,j=c[0],l=c[1],p(l)||o(l)&&null!==j&&l in j?(h=c.shift(),e=c.shift()):e=c.shift()}var q=t()+parseInt(f,10);o(e)&&(e=h[e]);var s=g(this.options),u=v(q,this._timers);return this._timers.splice(u,0,q,a),i(this,q,f),a}},throttle:function(a,b){var c,d,e,f,g=this,h=arguments,i=y.call(h);return q(i)||o(i)?(c=i,i=!0):c=y.call(h),c=parseInt(c,10),e=l(a,b,this._throttlers),e>-1?this._throttlers[e]:(f=z.setTimeout(function(){i||g.run.apply(g,h);var c=l(a,b,g._throttlers);c>-1&&g._throttlers.splice(c,1)},c),i&&this.run.apply(this,h),d=[a,b,f],this._throttlers.push(d),d)},debounce:function(a,b){var c,d,e,f,g=this,h=arguments,i=y.call(h);return q(i)||o(i)?(c=i,i=!1):c=y.call(h),c=parseInt(c,10),d=k(a,b,this._debouncees),d>-1&&(e=this._debouncees[d],this._debouncees.splice(d,1),clearTimeout(e[2])),f=z.setTimeout(function(){i||g.run.apply(g,h);var c=k(a,b,g._debouncees);c>-1&&g._debouncees.splice(c,1)},c),i&&-1===d&&g.run.apply(g,h),e=[a,b,f],g._debouncees.push(e),e},cancelTimers:function(){var a=function(a){clearTimeout(a[2])};n(this._throttlers,a),this._throttlers=[],n(this._debouncees,a),this._debouncees=[],this._laterTimer&&(clearTimeout(this._laterTimer),this._laterTimer=null),this._timers=[],this._autorun&&(clearTimeout(this._autorun),this._autorun=null)},hasTimers:function(){return!!this._timers.length||!!this._debouncees.length||!!this._throttlers.length||this._autorun},cancel:function(a){var b=typeof a;if(a&&"object"===b&&a.queue&&a.method)return a.queue.cancel(a);if("function"!==b)return"[object Array]"===Object.prototype.toString.call(a)?this._cancelItem(l,this._throttlers,a)||this._cancelItem(k,this._debouncees,a):void 0;for(var c=0,d=this._timers.length;d>c;c+=2)if(this._timers[c+1]===a)return this._timers.splice(c,2),0===c&&(this._laterTimer&&(clearTimeout(this._laterTimer),this._laterTimer=null),this._timers.length>0&&i(this,this._timers[0],this._timers[0]-t())),!0},_cancelItem:function(a,b,c){var d,e;return c.length<3?!1:(e=a(c[0],c[1],b),e>-1&&(d=b[e],d[2]===c[2])?(b.splice(e,1),clearTimeout(c[2]),!0):!1)}},f.prototype.schedule=f.prototype.defer,f.prototype.scheduleOnce=f.prototype.deferOnce,f.prototype.later=f.prototype.setTimeout,u){var A=f.prototype.run;f.prototype.run=s(A);var B=f.prototype.end;f.prototype.end=s(B)}e["default"]=f}),a("backburner.umd",["./backburner"],function(b){"use strict";var c=b["default"];"function"==typeof a&&a.amd?a(function(){return c}):"undefined"!=typeof module&&module.exports?module.exports=c:"undefined"!=typeof this&&(this.Backburner=c)}),a("backburner/binary-search",["exports"],function(a){"use strict";a["default"]=function(a,b){for(var c,d,e=0,f=b.length-2;f>e;)d=(f-e)/2,c=e+d-d%2,a>=b[c]?e=c+2:f=c;return a>=b[e]?e+2:e}}),a("backburner/deferred-action-queues",["./utils","./queue","exports"],function(a,b,c){"use strict";function d(a,b){var c=this.queues=Object.create(null);this.queueNames=a=a||[],this.options=b,f(a,function(a){c[a]=new g(a,b[a],b)})}function e(a){throw new Error("You attempted to schedule an action in a queue ("+a+") that doesn't exist")}var f=a.each,g=b["default"];d.prototype={schedule:function(a,b,c,d,f,g){var h=this.queues,i=h[a];return i||e(a),f?i.pushUnique(b,c,d,g):i.push(b,c,d,g)},flush:function(){var a,b,c=this.queues,d=this.queueNames,e=0,f=d.length;for(this.options;f>e;){a=d[e],b=c[a];var g=b._queue.length;0===g?e++:(b.flush(!1),e=0)}}},c["default"]=d}),a("backburner/platform",["exports"],function(a){"use strict";var b=function(a,b){try{b()}catch(a){}return!!a}();a.needsIETryCatchFix=b}),a("backburner/queue",["./utils","exports"],function(a,b){"use strict";function c(a,b,c){this.name=a,this.globalOptions=c||{},this.options=b,this._queue=[],this.targetQueues=Object.create(null),this._queueBeingFlushed=void 0}var d=a.isString;c.prototype={push:function(a,b,c,d){var e=this._queue;return e.push(a,b,c,d),{queue:this,target:a,method:b}},pushUniqueWithoutGuid:function(a,b,c,d){for(var e=this._queue,f=0,g=e.length;g>f;f+=4){var h=e[f],i=e[f+1];if(h===a&&i===b)return e[f+2]=c,void(e[f+3]=d)}e.push(a,b,c,d)},targetQueue:function(a,b,c,d,e){for(var f=this._queue,g=0,h=a.length;h>g;g+=4){var i=a[g],j=a[g+1];if(i===c)return f[j+2]=d,void(f[j+3]=e)}a.push(c,f.push(b,c,d,e)-4)},pushUniqueWithGuid:function(a,b,c,d,e){var f=this.targetQueues[a];return f?this.targetQueue(f,b,c,d,e):this.targetQueues[a]=[c,this._queue.push(b,c,d,e)-4],{queue:this,target:b,method:c}},pushUnique:function(a,b,c,d){var e=(this._queue,this.globalOptions.GUID_KEY);if(a&&e){var f=a[e];if(f)return this.pushUniqueWithGuid(f,a,b,c,d)}return this.pushUniqueWithoutGuid(a,b,c,d),{queue:this,target:a,method:b}},invoke:function(a,b,c){c&&c.length>0?b.apply(a,c):b.call(a)},invokeWithOnError:function(a,b,c,d,e){try{c&&c.length>0?b.apply(a,c):b.call(a)}catch(f){d(f,e)}},flush:function(a){var b=this._queue,c=b.length;if(0!==c){var e,f,g,h,i=this.globalOptions,j=this.options,k=j&&j.before,l=j&&j.after,m=i.onError||i.onErrorTarget&&i.onErrorTarget[i.onErrorMethod],n=m?this.invokeWithOnError:this.invoke;this.targetQueues=Object.create(null);var o=this._queueBeingFlushed=this._queue.slice();this._queue=[],k&&k();for(var p=0;c>p;p+=4)e=o[p],f=o[p+1],g=o[p+2],h=o[p+3],d(f)&&(f=e[f]),f&&n(e,f,g,m,h);l&&l(),this._queueBeingFlushed=void 0,a!==!1&&this._queue.length>0&&this.flush(!0)}},cancel:function(a){var b,c,d,e,f=this._queue,g=a.target,h=a.method,i=this.globalOptions.GUID_KEY;if(i&&this.targetQueues&&g){var j=this.targetQueues[g[i]];if(j)for(d=0,e=j.length;e>d;d++)j[d]===h&&j.splice(d,1)}for(d=0,e=f.length;e>d;d+=4)if(b=f[d],c=f[d+1],b===g&&c===h)return f.splice(d,4),!0;if(f=this._queueBeingFlushed)for(d=0,e=f.length;e>d;d+=4)if(b=f[d],c=f[d+1],b===g&&c===h)return f[d+1]=null,!0}},b["default"]=c}),a("backburner/utils",["exports"],function(a){"use strict";function b(a,b){for(var c=0;c-1){try{if(a.existsSync(g)){var h,i=a.readFileSync(g,{encoding:"utf8"}),j=i.split("/").slice(-1)[0].trim(),k=i.split(" ")[1];if(k){var l=b.join(f,k.trim());h=a.readFileSync(l)}else h=j;e.push(h.slice(0,10))}}catch(m){console.error(m.stack)}return e.join(".")}return d}}),a("container",["container/container","exports"],function(a,b){"use strict";e.MODEL_FACTORY_INJECTIONS=!1,e.ENV&&"undefined"!=typeof e.ENV.MODEL_FACTORY_INJECTIONS&&(e.MODEL_FACTORY_INJECTIONS=!!e.ENV.MODEL_FACTORY_INJECTIONS);var c=a["default"];b["default"]=c}),a("container/container",["ember-metal/core","ember-metal/keys","ember-metal/dictionary","exports"],function(a,b,c,d){"use strict";function e(a){this.parent=a,this.children=[],this.resolver=a&&a.resolver||function(){},this.registry=A(a?a.registry:null),this.cache=A(a?a.cache:null),this.factoryCache=A(a?a.factoryCache:null),this.resolveCache=A(a?a.resolveCache:null),this.typeInjections=A(a?a.typeInjections:null),this.injections=A(null),this.normalizeCache=A(null),this.validationCache=A(a?a.validationCache:null),this.factoryTypeInjections=A(a?a.factoryTypeInjections:null),this.factoryInjections=A(null),this._options=A(a?a._options:null),this._typeOptions=A(a?a._typeOptions:null)}function f(a,b){var c=a.resolveCache[b];if(c)return c;var d=a.resolver(b)||a.registry[b];return a.resolveCache[b]=d,d}function g(a,b){return a.cache[b]?!0:void 0!==a.resolve(b)}function h(a,b,c){if(c=c||{},a.cache[b]&&c.singleton!==!1)return a.cache[b];var d=r(a,b);return void 0!==d?(j(a,b)&&c.singleton!==!1&&(a.cache[b]=d),d):void 0}function i(a){throw new Error(a+" is not currently supported on child containers")}function j(a,b){var c=m(a,b,"singleton");return c!==!1}function k(a,b){var c={};if(!b)return c;l(a,b);for(var d,e=0,f=b.length;f>e;e++)d=b[e],c[d.property]=h(a,d.fullName);return c}function l(a,b){if(b)for(var c,d=0,e=b.length;e>d;d++)if(c=b[d].fullName,!a.has(c))throw new Error("Attempting to inject an unknown injection: `"+c+"`")}function m(a,b,c){var d=a._options[b];if(d&&void 0!==d[c])return d[c];var e=b.split(":")[0];return d=a._typeOptions[e],d?d[c]:void 0}function n(a,b){var c=a.factoryCache;if(c[b])return c[b];var d=a.resolve(b);if(void 0!==d){var e=b.split(":")[0];if(!d||"function"!=typeof d.extend||!y.MODEL_FACTORY_INJECTIONS&&"model"===e)return d&&"function"==typeof d._onLookup&&d._onLookup(b),c[b]=d,d;var f=o(a,b),g=p(a,b);g._toString=a.makeToString(d,b);var h=d.extend(f);return h.reopenClass(g),d&&"function"==typeof d._onLookup&&d._onLookup(b),c[b]=h,h}}function o(a,b){var c=b.split(":"),d=c[0],e=[];return e=e.concat(a.typeInjections[d]||[]),e=e.concat(a.injections[b]||[]),e=k(a,e),e._debugContainerKey=b,e.container=a,e}function p(a,b){var c=b.split(":"),d=c[0],e=[];return e=e.concat(a.factoryTypeInjections[d]||[]),e=e.concat(a.factoryInjections[b]||[]),e=k(a,e),e._debugContainerKey=b,e}function q(a){var b=[];for(var c in a)a.hasOwnProperty(c)&&(y.assert("Expected a proper full name, given '"+a[c]+"'",v(a[c])),x(b,c,a[c]));return b}function r(a,b){var c,d,e=n(a,b);if(m(a,b,"instantiate")===!1)return e;if(e){if("function"!=typeof e.create)throw new Error("Failed to create an instance of '"+b+"'. Most likely an improperly defined class or an invalid module export.");return d=a.validationCache,d[b]||"function"!=typeof e._lazyInjections||(c=e._lazyInjections(),l(a,q(c))),d[b]=!0,"function"==typeof e.extend?e.create():e.create(o(a,b))}}function s(a,b){for(var c,d,e=a.cache,f=z(e),g=0,h=f.length;h>g;g++)c=f[g],d=e[c],m(a,c,"instantiate")!==!1&&b(d)}function t(a){s(a,function(a){a.destroy()}),a.cache.dict=A(null)}function u(a,b,c,d){var e=a[b];e||(e=[],a[b]=e),e.push({property:c,fullName:d})}function v(a){if(!B.test(a))throw new TypeError("Invalid Fullname, expected: `type:name` got: "+a);return!0}function w(a,b){return a[b]||(a[b]=[])}function x(a,b,c){a.push({property:b,fullName:c})}var y=a["default"],z=b["default"],A=c["default"];e.prototype={parent:null,children:null,resolver:null,registry:null,cache:null,typeInjections:null,injections:null,_options:null,_typeOptions:null,child:function(){var a=new e(this);return this.children.push(a),a},register:function(a,b,c){if(y.assert("fullName must be a proper full name",v(a)),void 0===b)throw new TypeError("Attempting to register an unknown factory: `"+a+"`");var d=this.normalize(a);if(d in this.cache)throw new Error("Cannot re-register: `"+a+"`, as it has already been looked up.");this.registry[d]=b,this._options[d]=c||{}},unregister:function(a){y.assert("fullName must be a proper full name",v(a));var b=this.normalize(a);delete this.registry[b],delete this.cache[b],delete this.factoryCache[b],delete this.resolveCache[b],delete this._options[b],delete this.validationCache[b]},resolve:function(a){return y.assert("fullName must be a proper full name",v(a)),f(this,this.normalize(a))},describe:function(a){return a},normalizeFullName:function(a){return a},normalize:function(a){return this.normalizeCache[a]||(this.normalizeCache[a]=this.normalizeFullName(a))},makeToString:function(a){return a.toString()},lookup:function(a,b){return y.assert("fullName must be a proper full name",v(a)),h(this,this.normalize(a),b)},lookupFactory:function(a){return y.assert("fullName must be a proper full name",v(a)),n(this,this.normalize(a))},has:function(a){return y.assert("fullName must be a proper full name",v(a)),g(this,this.normalize(a))},optionsForType:function(a,b){this.parent&&i("optionsForType"),this._typeOptions[a]=b},options:function(a,b){b=b||{};var c=this.normalize(a);this._options[c]=b},typeInjection:function(a,b,c){y.assert("fullName must be a proper full name",v(c)),this.parent&&i("typeInjection");var d=c.split(":")[0];if(d===a)throw new Error("Cannot inject a `"+c+"` on other "+a+"(s). Register the `"+c+"` as a different type and perform the typeInjection.");u(this.typeInjections,a,b,c)},injection:function(a,b,c){this.parent&&i("injection"),v(c);var d=this.normalize(c);if(-1===a.indexOf(":"))return this.typeInjection(a,b,d);y.assert("fullName must be a proper full name",v(a));var e=this.normalize(a);if(this.cache[e])throw new Error("Attempted to register an injection for a type that has already been looked up. ('"+e+"', '"+b+"', '"+c+"')");x(w(this.injections,e),b,d)},factoryTypeInjection:function(a,b,c){this.parent&&i("factoryTypeInjection"),u(this.factoryTypeInjections,a,b,this.normalize(c))},factoryInjection:function(a,b,c){this.parent&&i("injection");var d=this.normalize(a),e=this.normalize(c);if(v(c),-1===a.indexOf(":"))return this.factoryTypeInjection(d,b,e);if(y.assert("fullName must be a proper full name",v(a)),this.factoryCache[d])throw new Error("Attempted to register a factoryInjection for a type that has already been looked up. ('"+d+"', '"+b+"', '"+c+"')");x(w(this.factoryInjections,d),b,e)},destroy:function(){for(var a=0,b=this.children.length;b>a;a++)this.children[a].destroy();this.children=[],s(this,function(a){a.destroy()}),this.parent=void 0,this.isDestroyed=!0},reset:function(){for(var a=0,b=this.children.length;b>a;a++)t(this.children[a]);t(this)}};var B=/^[^:]+.+:[^:]+$/;d["default"]=e}),a("dag-map",["exports"],function(a){"use strict";function b(a,c,d,e){var f,g=a.name,h=a.incoming,i=a.incomingNames,j=i.length;if(d||(d={}),e||(e=[]),!d.hasOwnProperty(g)){for(e.push(g),d[g]=!0,f=0;j>f;f++)b(h[i[f]],c,d,e);c(a,e),e.pop()}}function c(){this.names=[],this.vertices=Object.create(null)}function d(a){this.name=a,this.incoming={},this.incomingNames=[],this.hasOutgoing=!1,this.value=null}c.prototype.add=function(a){if(!a)throw new Error("Can't add Vertex without name");if(void 0!==this.vertices[a])return this.vertices[a];var b=new d(a);return this.vertices[a]=b,this.names.push(a),b},c.prototype.map=function(a,b){this.add(a).value=b},c.prototype.addEdge=function(a,c){function d(a,b){if(a.name===c)throw new Error("cycle detected: "+c+" <- "+b.join(" <- "))}if(a&&c&&a!==c){var e=this.add(a),f=this.add(c);f.incoming.hasOwnProperty(a)||(b(e,d),e.hasOutgoing=!0,f.incoming[a]=e,f.incomingNames.push(a))}},c.prototype.topsort=function(a){var c,d,e={},f=this.vertices,g=this.names,h=g.length;for(c=0;h>c;c++)d=f[g[c]],d.hasOutgoing||b(d,a,e)},c.prototype.addEdges=function(a,b,c,d){var e;if(this.map(a,b),c)if("string"==typeof c)this.addEdge(a,c);else for(e=0;ee;e++)d=c[e],j.assert(m(a)+"#needs must not specify dependencies with periods in their names ("+d+")",-1===d.indexOf(".")),-1===d.indexOf(":")&&(d="controller:"+d),b.has(d)||g.push(d);if(g.length)throw new l(m(a)+" needs [ "+g.join(", ")+" ] but "+(g.length>1?"they":"it")+" could not be found")}var j=a["default"],k=b.get,l=c["default"],m=d.inspect,n=e.computed,o=f["default"],p=d.meta,q=g["default"],r=n(function(){var a=this;return{needs:k(a,"needs"),container:k(a,"container"),unknownProperty:function(b){var c,d,e,f=this.needs;for(d=0,e=f.length;e>d;d++)if(c=f[d],c===b)return this.container.lookup("controller:"+b);var g=m(a)+"#needs does not include `"+b+"`. To access the "+b+" controller from "+m(a)+", "+m(a)+" should have a `needs` property that is an array of the controllers it has access to.";throw new ReferenceError(g)},setUnknownProperty:function(b){throw new Error("You cannot overwrite the value of `controllers."+b+"` of "+m(a))}}});o.reopen({concatenatedProperties:["needs"],needs:[],init:function(){var a=k(this,"needs"),b=k(a,"length");b>0&&(j.assert(" `"+m(this)+" specifies `needs`, but does not have a container. Please ensure this controller was instantiated with a container.",this.container||p(this,!1).descs.controllers!==r),this.container&&i(this,this.container,a),k(this,"controllers")),this._super.apply(this,arguments)},controllerFor:function(a){return j.deprecate("Controller#controllerFor is deprecated, please use Controller#needs instead"),q(k(this,"container"),a)},controllers:r}),h["default"]=o}),a("ember-application/system/application",["dag-map","container/container","ember-metal","ember-metal/property_get","ember-metal/property_set","ember-runtime/system/lazy_load","ember-runtime/system/namespace","ember-runtime/mixins/deferred","ember-application/system/resolver","ember-metal/platform","ember-metal/run_loop","ember-metal/utils","ember-runtime/controllers/controller","ember-metal/enumerable_utils","ember-runtime/controllers/object_controller","ember-runtime/controllers/array_controller","ember-views/views/select","ember-views/system/event_dispatcher","ember-views/system/jquery","ember-routing/system/route","ember-routing/system/router","ember-routing/location/hash_location","ember-routing/location/history_location","ember-routing/location/auto_location","ember-routing/location/none_location","ember-routing/system/cache","ember-extension-support/container_debug_adapter","ember-metal/core","exports"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C){"use strict";function D(a){var b=[];for(var c in a)b.push(c);return b}function E(a){function b(a){return d.resolve(a)}H.deprecate("Application.resolver is deprecated in favor of Application.Resolver",!a.get("resolver"));var c=a.get("resolver")||a.get("Resolver")||N,d=c.create({namespace:a});return b.describe=function(a){return d.lookupDescription(a)},b.makeToString=function(a,b){return d.makeToString(a,b)},b.normalize=function(a){return d.normalize?d.normalize(a):(H.deprecate("The Resolver should now provide a 'normalize' function",!1),a)},b.__resolver__=d,b}var F=a["default"],G=b["default"],H=c["default"],I=d.get,J=e.set,K=f.runLoadHooks,L=g["default"],M=h["default"],N=i["default"],O=j.create,P=k["default"],Q=l.canInvoke,R=m["default"],S=n["default"],T=o["default"],U=p["default"],V=q["default"],W=r["default"],X=s["default"],Y=t["default"],Z=u["default"],$=v["default"],_=w["default"],ab=x["default"],bb=y["default"],cb=z["default"],db=A["default"],eb=B.K,fb=!1,gb=L.extend(M,{_suppressDeferredDeprecation:!0,rootElement:"body",eventDispatcher:null,customEvents:null,init:function(){if(this._readinessDeferrals=1,this.$||(this.$=X),this.__container__=this.buildContainer(),this.Router=this.defaultRouter(),this._super(),this.scheduleInitialize(),fb||(fb=!0,H.libraries.registerCoreLibrary("jQuery",X().jquery)),H.LOG_VERSION){H.LOG_VERSION=!1;var a=H.libraries._registry,b=S.map(a,function(a){return I(a,"name.length")}),c=Math.max.apply(this,b);H.debug("-------------------------------");for(var d=0,e=a.length;e>d;d++){var f=a[d],g=new Array(c-f.name.length+1).join(" ");H.debug([f.name,g," : ",f.version].join(""))}H.debug("-------------------------------")}},buildContainer:function(){var a=this.__container__=gb.buildContainer(this);return a},defaultRouter:function(){if(this.Router!==!1){var a=this.__container__;return this.Router&&(a.unregister("router:main"),a.register("router:main",this.Router)),a.lookupFactory("router:main")}},scheduleInitialize:function(){!this.$||this.$.isReady?P.schedule("actions",this,"_initialize"):this.$().ready(H.run.bind(this,"_initialize"))},deferReadiness:function(){H.assert("You must call deferReadiness on an instance of Ember.Application",this instanceof gb),H.assert("You cannot defer readiness since the `ready()` hook has already been called.",this._readinessDeferrals>0),this._readinessDeferrals++},advanceReadiness:function(){H.assert("You must call advanceReadiness on an instance of Ember.Application",this instanceof gb),this._readinessDeferrals--,0===this._readinessDeferrals&&P.once(this,this.didBecomeReady)},register:function(){var a=this.__container__;a.register.apply(a,arguments)},inject:function(){var a=this.__container__;a.injection.apply(a,arguments)},initialize:function(){H.deprecate("Calling initialize manually is not supported. Please see Ember.Application#advanceReadiness and Ember.Application#deferReadiness")},_initialize:function(){if(!this.isDestroyed){if(this.Router){var a=this.__container__;a.unregister("router:main"),a.register("router:main",this.Router)}return this.runInitializers(),K("application",this),this.advanceReadiness(),this}},reset:function(){function a(){var a=this.__container__.lookup("router:main");a.reset(),P(this.__container__,"destroy"),this.buildContainer(),P.schedule("actions",this,"_initialize")}this._readinessDeferrals=1,P.join(this,a)},runInitializers:function(){for(var a,b=I(this.constructor,"initializers"),c=D(b),d=this.__container__,e=new F,f=this,g=0;g-1&&(e=e.replace(/\.(.)/g,function(a){return a.charAt(1).toUpperCase()})),d.indexOf("_")>-1&&(e=e.replace(/_(.)/g,function(a){return a.charAt(1).toUpperCase()})),c+":"+e}return a},resolve:function(a){var b,c=this.parseName(a),d=c.resolveMethodName;if(!c.name||!c.type)throw new TypeError("Invalid fullName: `"+a+"`, must be of the form `type:name` ");return this[d]&&(b=this[d](c)),b||(b=this.resolveOther(c)),c.root&&c.root.LOG_RESOLVER&&this._logLookup(b,c),b},parseName:function(a){return this._parseNameCache[a]||(this._parseNameCache[a]=this._parseName(a))},_parseName:function(a){var b=a.split(":"),c=b[0],d=b[1],e=d,f=k(this,"namespace"),g=f;if("template"!==c&&-1!==e.indexOf("/")){var h=e.split("/");e=h[h.length-1];var i=n(h.slice(0,-1).join("."));g=q.byName(i),j.assert("You are looking for a "+e+" "+c+" in the "+i+" namespace, but the namespace could not be found",g)}return{fullName:a,type:c,fullNameWithoutType:d,name:e,root:g,resolveMethodName:"resolve"+m(c)}},lookupDescription:function(a){var b,c=this.parseName(a);return"template"===c.type?"template at "+c.fullNameWithoutType.replace(/\./g,"/"):(b=c.root+"."+m(c.name).replace(/\./g,""),"model"!==c.type&&(b+=m(c.type)),b)},makeToString:function(a){return a.toString()},useRouterNaming:function(a){a.name=a.name.replace(/\./g,"_"),"basic"===a.name&&(a.name="")},resolveTemplate:function(a){var b=a.fullNameWithoutType.replace(/\./g,"/");return j.TEMPLATES[b]?j.TEMPLATES[b]:(b=o(b),j.TEMPLATES[b]?j.TEMPLATES[b]:void 0)},resolveView:function(a){return this.useRouterNaming(a),this.resolveOther(a)},resolveController:function(a){return this.useRouterNaming(a),this.resolveOther(a)},resolveRoute:function(a){return this.useRouterNaming(a),this.resolveOther(a)},resolveModel:function(a){var b=m(a.name),c=k(a.root,b);return c?c:void 0},resolveHelper:function(a){return this.resolveOther(a)||r[a.fullNameWithoutType]},resolveOther:function(a){var b=m(a.name)+m(a.type),c=k(a.root,b);return c?c:void 0},_logLookup:function(a,b){var c,d;c=a?"[✓]":"[ ]",d=b.fullName.length>60?".":new Array(60-b.fullName.length).join("."),l.info(c,b.fullName,d,this.lookupDescription(b.fullName))}})}),a("ember-debug",["ember-metal/core","ember-metal/error","ember-metal/logger","exports"],function(a,b,c,d){"use strict";function e(a,b){if(b){f.warn("Ember.ENV.ENABLE_ALL_FEATURES is only available in canary builds.",!f.ENV.ENABLE_ALL_FEATURES),f.warn("Ember.ENV.ENABLE_OPTIONAL_FEATURES is only available in canary builds.",!f.ENV.ENABLE_OPTIONAL_FEATURES);for(var c in a)a.hasOwnProperty(c)&&"isEnabled"!==c&&f.warn('FEATURE["'+c+'"] is set as enabled, but FEATURE flags are only available in canary builds.',!a[c])}}var f=a["default"],g=b["default"],h=c["default"];if(f.assert=function(a,b){var c;if(c="function"===f.typeOf(b)?!b():!b)throw new g("Assertion Failed: "+a)},f.warn=function(a,b){b||(h.warn("WARNING: "+a),"trace"in h&&h.trace())},f.debug=function(a){h.debug("DEBUG: "+a)},f.deprecate=function(a,b,c){var d;if(d="function"==typeof b?b():b,!d){if(f.ENV.RAISE_ON_DEPRECATION)throw new g(a);var e;try{__fail__.fail()}catch(i){e=i}if(3===arguments.length&&(f.assert("options argument to Ember.deprecate should be an object",c&&"object"==typeof c),c.url&&(a+=" See "+c.url+" for more details.")),f.LOG_STACKTRACE_ON_DEPRECATION&&e.stack){var j,k="";e.arguments?(j=e.stack.replace(/^\s+at\s+/gm,"").replace(/^([^\(]+?)([\n$])/gm,"{anonymous}($1)$2").replace(/^Object.\s*\(([^\)]+)\)/gm,"{anonymous}($1)").split("\n"),j.shift()):j=e.stack.replace(/(?:\n@:0)?\s+$/m,"").replace(/^\(/gm,"{anonymous}(").split("\n"),k="\n "+j.slice(2).join("\n "),a+=k}h.warn("DEPRECATION: "+a)}},f.deprecateFunc=function(a,b){return function(){return f.deprecate(a),b.apply(this,arguments)}},f.runInDebug=function(a){a()},d._warnIfUsingStrippedFeatureFlags=e,!f.testing){f.FEATURES["features-stripped-test"]=!0;var i=!0;delete f.FEATURES["features-stripped-test"],e(f.ENV.FEATURES,i);var j="undefined"!=typeof InstallTrigger,k=!!window.chrome&&!window.opera;"undefined"!=typeof window&&(j||k)&&window.addEventListener&&window.addEventListener("load",function(){if(document.documentElement&&document.documentElement.dataset&&!document.documentElement.dataset.emberExtension){var a;k?a="https://chrome.google.com/webstore/detail/ember-inspector/bmdblncegkenkacieihfhpjfppoconhi":j&&(a="https://addons.mozilla.org/en-US/firefox/addon/ember-inspector/"),f.debug("For more advanced debugging, install the Ember Inspector from "+a)}},!1)}var l=!0;d.runningNonEmberDebugJS=l,l&&f.warn("Please use `ember.debug.js` instead of `ember.js` for development and debugging.")}),a("ember-extension-support",["ember-metal/core","ember-extension-support/data_adapter","ember-extension-support/container_debug_adapter"],function(a,b,c){"use strict";var d=a["default"],e=b["default"],f=c["default"];d.DataAdapter=e,d.ContainerDebugAdapter=f}),a("ember-extension-support/container_debug_adapter",["ember-metal/core","ember-runtime/system/native_array","ember-metal/utils","ember-runtime/system/string","ember-runtime/system/namespace","ember-runtime/system/object","exports"],function(a,b,c,d,e,f,g){"use strict";var h=a["default"],i=b.A,j=c.typeOf,k=d.dasherize,l=d.classify,m=e["default"],n=f["default"];g["default"]=n.extend({container:null,resolver:null,canCatalogEntriesByType:function(a){return"model"===a||"template"===a?!1:!0},catalogEntriesByType:function(a){var b=i(m.NAMESPACES),c=i(),d=new RegExp(l(a)+"$");return b.forEach(function(a){if(a!==h)for(var b in a)if(a.hasOwnProperty(b)&&d.test(b)){var e=a[b];"class"===j(e)&&c.push(k(b.replace(d,"")))}}),c}})}),a("ember-extension-support/data_adapter",["ember-metal/property_get","ember-metal/run_loop","ember-runtime/system/string","ember-runtime/system/namespace","ember-runtime/system/object","ember-runtime/system/native_array","ember-application/system/application","exports"],function(a,b,c,d,e,f,g,h){"use strict";var i=a.get,j=b["default"],k=c.dasherize,l=d["default"],m=e["default"],n=f.A,o=g["default"];h["default"]=m.extend({init:function(){this._super(),this.releaseMethods=n()},container:null,containerDebugAdapter:void 0,attributeLimit:3,releaseMethods:n(),getFilters:function(){return n()},watchModelTypes:function(a,b){var c,d=this.getModelTypes(),e=this,f=n();c=d.map(function(a){var c=a.klass,d=e.wrapModelType(c,a.name);return f.push(e.observeModelType(c,b)),d}),a(c);var g=function(){f.forEach(function(a){a()}),e.releaseMethods.removeObject(g)};return this.releaseMethods.pushObject(g),g},_nameToClass:function(a){return"string"==typeof a&&(a=this.container.lookupFactory("model:"+a)),a},watchRecords:function(a,b,c,d){var e,f=this,g=n(),h=this.getRecords(a),i=function(a){c([a])},j=h.map(function(a){return g.push(f.observeRecord(a,i)),f.wrapRecord(a)}),k=function(a,c,e,h){for(var j=c;c+h>j;j++){var k=a.objectAt(j),l=f.wrapRecord(k);g.push(f.observeRecord(k,i)),b([l])}e&&d(c,e)},l={didChange:k,willChange:function(){return this}};return h.addArrayObserver(f,l),e=function(){g.forEach(function(a){a()}),h.removeArrayObserver(f,l),f.releaseMethods.removeObject(e)},b(j),this.releaseMethods.pushObject(e),e},willDestroy:function(){this._super(),this.releaseMethods.forEach(function(a){a()})},detect:function(){return!1},columnsForType:function(){return n()},observeModelType:function(a,b){var c=this,d=this.getRecords(a),e=function(){b([c.wrapModelType(a)])},f={didChange:function(){j.scheduleOnce("actions",this,e)},willChange:function(){return this}};d.addArrayObserver(this,f);var g=function(){d.removeArrayObserver(c,f)};return g},wrapModelType:function(a,b){var c,d=this.getRecords(a);return c={name:b||a.toString(),count:i(d,"length"),columns:this.columnsForType(a),object:a}},getModelTypes:function(){var a,b=this,c=this.get("containerDebugAdapter");return a=c.canCatalogEntriesByType("model")?c.catalogEntriesByType("model"):this._getObjectsOnNamespaces(),a=n(a).map(function(a){return{klass:b._nameToClass(a),name:a}}),a=n(a).filter(function(a){return b.detect(a.klass)}),n(a)},_getObjectsOnNamespaces:function(){var a=n(l.NAMESPACES),b=n(),c=this;return a.forEach(function(a){for(var d in a)if(a.hasOwnProperty(d)&&c.detect(a[d])){var e=k(d);a instanceof o||!a.toString()||(e=a+"/"+e),b.push(e)}}),b},getRecords:function(){return n()},wrapRecord:function(a){var b={object:a};return b.columnValues=this.getRecordColumnValues(a),b.searchKeywords=this.getRecordKeywords(a),b.filterValues=this.getRecordFilterValues(a),b.color=this.getRecordColor(a),b},getRecordColumnValues:function(){return{}},getRecordKeywords:function(){return n()},getRecordFilterValues:function(){return{}},getRecordColor:function(){return null},observeRecord:function(){return function(){}}})}),a("ember-htmlbars",["ember-metal/core","ember-template-compiler","ember-htmlbars/hooks/inline","ember-htmlbars/hooks/content","ember-htmlbars/hooks/component","ember-htmlbars/hooks/block","ember-htmlbars/hooks/element","ember-htmlbars/hooks/subexpr","ember-htmlbars/hooks/attribute","ember-htmlbars/hooks/concat","ember-htmlbars/hooks/get","ember-htmlbars/hooks/set","morph","ember-htmlbars/system/make-view-helper","ember-htmlbars/system/make_bound_helper","ember-htmlbars/helpers","ember-htmlbars/helpers/binding","ember-htmlbars/helpers/view","ember-htmlbars/helpers/yield","ember-htmlbars/helpers/with","ember-htmlbars/helpers/log","ember-htmlbars/helpers/debugger","ember-htmlbars/helpers/bind-attr","ember-htmlbars/helpers/if_unless","ember-htmlbars/helpers/loc","ember-htmlbars/helpers/partial","ember-htmlbars/helpers/template","ember-htmlbars/helpers/input","ember-htmlbars/helpers/text_area","ember-htmlbars/helpers/collection","ember-htmlbars/helpers/each","ember-htmlbars/helpers/unbound","ember-htmlbars/system/bootstrap","ember-htmlbars/compat","exports"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I){"use strict";var J=a["default"],K=b.precompile,L=b.compile,M=b.template,N=b.registerPlugin,O=c["default"],P=d["default"],Q=e["default"],R=f["default"],S=g["default"],T=h["default"],U=i["default"],V=j["default"],W=k["default"],X=l["default"],Y=m.DOMHelper,Z=n["default"],$=o["default"],_=p.registerHelper,ab=p["default"],bb=q.bindHelper,cb=r.viewHelper,db=s.yieldHelper,eb=t.withHelper,fb=u.logHelper,gb=v.debuggerHelper,hb=w.bindAttrHelper,ib=w.bindAttrHelperDeprecated,jb=x.ifHelper,kb=x.unlessHelper,lb=x.unboundIfHelper,mb=x.boundIfHelper,nb=y.locHelper,ob=z.partialHelper,pb=A.templateHelper,qb=B.inputHelper,rb=C.textareaHelper,sb=D.collectionHelper,tb=E.eachHelper,ub=F.unboundHelper;_("bindHelper",bb),_("bind",bb),_("view",cb),_("yield",db),_("with",eb),_("if",jb),_("unless",kb),_("unboundIf",lb),_("boundIf",mb),_("log",fb),_("debugger",gb),_("loc",nb),_("partial",ob),_("template",pb),_("bind-attr",hb),_("bindAttr",ib),_("input",qb),_("textarea",rb),_("collection",sb),_("each",tb),_("unbound",ub),_("concat",V),J.HTMLBars={_registerHelper:_,template:M,compile:L,precompile:K,makeViewHelper:Z,makeBoundHelper:$,registerPlugin:N};var vb={dom:new Y,hooks:{get:W,set:X,inline:O,content:P,block:R,element:S,subexpr:T,component:Q,attribute:U,concat:V},helpers:ab,useFragmentCache:!0};I.defaultEnv=vb}),a("ember-htmlbars/compat",["ember-metal/core","ember-htmlbars/helpers","ember-htmlbars/compat/helper","ember-htmlbars/compat/handlebars-get","ember-htmlbars/compat/make-bound-helper","ember-htmlbars/compat/register-bound-helper","ember-htmlbars/system/make-view-helper","ember-htmlbars/utils/string","exports"],function(a,b,c,d,e,f,g,h,i){"use strict";var j,k=a["default"],l=b["default"],m=c.registerHandlebarsCompatibleHelper,n=c.handlebarsHelper,o=d["default"],p=e["default"],q=f["default"],r=g["default"],s=h.SafeString,t=h.escapeExpression;j=k.Handlebars=k.Handlebars||{},j.helpers=l,j.helper=n,j.registerHelper=m,j.registerBoundHelper=q,j.makeBoundHelper=p,j.get=o,j.makeViewHelper=r,j.SafeString=s,j.Utils={escapeExpression:t},i["default"]=j}),a("ember-htmlbars/compat/handlebars-get",["exports"],function(a){"use strict";a["default"]=function(a,b,c){return e.deprecate("Usage of Ember.Handlebars.get is deprecated, use a Component or Ember.Handlebars.makeBoundHelper instead."),c.data.view.getStream(b).value()}}),a("ember-htmlbars/compat/helper",["ember-metal/merge","ember-htmlbars/helpers","ember-views/views/view","ember-views/views/component","ember-htmlbars/system/make-view-helper","ember-htmlbars/compat/make-bound-helper","ember-metal/streams/utils","exports"],function(a,b,c,d,f,g,h,i){"use strict";function j(a){if(t(a))return"ID";var b=typeof a;return b.toUpperCase()}function k(a){this.helperFunction=function(b,c,d,e){var f,g,h,i=this,k={hash:{},types:new Array(b.length),hashTypes:{}};n(k,d),n(k,e),k.hash={},d.isBlock&&(k.fn=function(){g=d.template.render(i,e,d.morph.contextualElement)});for(var l in c)f=c[l],k.hashTypes[l]=j(f),k.hash[l]=t(f)?f._label:f;for(var m=new Array(b.length),o=0,p=b.length;p>o;o++)f=b[o],k.types[o]=j(f),m[o]=t(f)?f._label:f;return m.push(k),h=a.apply(this,m),d.isBlock?g:h},this.isHTMLBars=!0}function l(a,b){var c;c=b&&b.isHTMLBars?b:new k(b),o[a]=c}function m(a,b){if(e.assert("You tried to register a component named '"+a+"', but component names must include a '-'",!q.detect(b)||a.match(/-/)),p.detect(b))o[a]=r(b);else{var c=u.call(arguments,1),d=s.apply(this,c);o[a]=d}}var n=a["default"],o=b["default"],p=c["default"],q=d["default"],r=f["default"],s=g["default"],t=h.isStream,u=[].slice;k.prototype={preprocessArguments:function(){}},i.registerHandlebarsCompatibleHelper=l,i.handlebarsHelper=m,i["default"]=k}),a("ember-htmlbars/compat/make-bound-helper",["ember-metal/core","ember-metal/mixin","ember-htmlbars/system/helper","ember-metal/streams/stream","ember-metal/streams/utils","exports"],function(a,b,c,d,e,f){"use strict";var g=a["default"],h=b.IS_BINDING,i=c["default"],j=d["default"],k=e.readArray,l=e.scanArray,m=e.scanHash,n=e.readHash,o=e.isStream;f["default"]=function(a){function b(b,e,f,i){function p(){for(var c=k(b),d=new Array(b.length),f=0,g=b.length;g>f;f++)q=b[f],d[f]=o(q)?q._label:q;return c.push({hash:n(e),data:{properties:d}}),a.apply(r,c)}var q,r=this,s=b.length;g.assert("registerBoundHelper-generated helpers do not support use with Handlebars blocks.",!f.template);for(var t in e)h.test(t)&&(e[t.slice(0,-7)]=r.getStream(e[t]),delete e[t]);var u=l(b)||m(e);if(i.data.isUnbound||!u)return p();var v=new j(p);for(d=0;s>d;d++)q=b[d],o(q)&&q.subscribe(v.notify,v);for(t in e)q=e[t],o(q)&&q.subscribe(v.notify,v);if(s>0){var w=b[0];if(o(w)){var x=function(a){a.value(),v.notify()};for(d=0;dt;t++)i=s[t],"class"!==i&&(j=b[i],u(j)?k=j:(n.assert(o("You must provide an expression as the value of bound attribute. You specified: %@=%@",[i,j]),"string"==typeof j),k=f.getStream(j)),m=new q(i,k),m._morph=d.dom.createAttrMorph(e,i),n.assert("You cannot set `"+i+"` manually and via `{{bind-attr}}` helper on the same element.",!e.getAttribute(i)),f.appendChild(m))}function l(a,b){var c=a.split(" "),d=t(c,function(a){return w(b,a)}),e=v(d," ");return e}function m(){return n.deprecate("The 'bindAttr' view helper is deprecated in favor of 'bind-attr'"),s["bind-attr"].helperFunction.apply(this,arguments)}var n=a["default"],o=b.fmt,p=c["default"],q=d["default"],r=e["default"],s=f["default"],t=g.map,u=h.isStream,v=h.concat,w=i.streamifyClassNameBinding;j["default"]=k,j.bindAttrHelper=k,j.bindAttrHelperDeprecated=m}),a("ember-htmlbars/helpers/binding",["ember-metal/is_none","ember-metal/run_loop","ember-metal/property_get","ember-metal/streams/simple","ember-views/views/bound_view","ember-metal/streams/utils","exports"],function(a,b,c,d,f,g,h){"use strict";function i(a){return!l(a)}function j(a,b,c,d,e,f,g,h,i){var j,k=q(a)?a:this.getStream(a);if(h){j=new o(k);for(var l=function(a){a.value(),j.notify()},r=0;rb;b++)if(h(a[b]))return!1;return!0}()),g.apply(this,a)}var f=a["default"],g=b.loc,h=c.isStream;d.locHelper=e}),a("ember-htmlbars/helpers/log",["ember-metal/logger","ember-metal/streams/utils","exports"],function(a,b,c){"use strict";function d(a){for(var b=e.log,c=[],d=0;d=2){d.data.isUnbound=!0;for(var j=a[0]._label,k=[],l=1,m=a.length;m>l;l++){var n=g(a[l]);k.push(n)}var o=f(j,this,d);if(!o)throw new h("HTMLBars error: Could not find component or helper named "+j+".");e=o.helperFunction.call(this,k,b,c,d),delete d.data.isUnbound}return e}var f=a["default"],g=b.read,h=c["default"];d.unboundHelper=e}),a("ember-htmlbars/helpers/view",["ember-metal/core","ember-runtime/system/object","ember-metal/property_get","ember-metal/streams/simple","ember-metal/keys","ember-metal/mixin","ember-metal/streams/utils","ember-views/streams/utils","ember-views/views/view","ember-metal/enumerable_utils","ember-views/streams/class_name_binding","exports"],function(a,b,c,d,e,f,g,h,i,j,k,l){"use strict";function m(a,b,c){for(var d in a){var e=a[d];"class"===d&&v(e)?(a.classBinding=e._label,delete a["class"]):"classBinding"!==d&&(t.test(d)?v(e)?o.warn("You're attempting to render a view by passing "+d+" to a view helper without a quoted value, but this syntax is ambiguous. You should either surround "+d+"'s value in quotes or remove `Binding` from "+d+"."):"string"==typeof e&&(a[d]=c._getBindingForStream(e)):v(e)&&"id"!==d&&(a[d+"Binding"]=c._getBindingForStream(e),delete a[d]))}}function n(a,b,c,d){o.assert("The view helper only takes a single argument",a.length<=2);var e,f=this.container||u(this._keywords.view).container;if(0===a.length)e=f?f.lookupFactory("view:toplevel"):x;else{var g=a[0];e=w(g,f)}return c.helperName=c.helperName||"view",A.helper(e,b,c,d)}var o=a["default"],p=b["default"],q=c.get,r=d["default"],s=e["default"],t=f.IS_BINDING,u=g.read,v=g.isStream,w=h.readViewFactory,x=i["default"],y=j.map,z=k.streamifyClassNameBinding,A=p.create({propertiesFromHTMLOptions:function(a,b,c){var d=c.data.view,e=u(a["class"]),f={helperName:b.helperName||""};a.id&&(f.elementId=u(a.id)),a.tag&&(f.tagName=a.tag),e&&(e=e.split(" "),f.classNames=e),a.classBinding&&(f.classNameBindings=a.classBinding.split(" ")),a.classNameBindings&&(void 0===f.classNameBindings&&(f.classNameBindings=[]),f.classNameBindings=f.classNameBindings.concat(a.classNameBindings.split(" "))),a.attributeBindings&&(o.assert("Setting 'attributeBindings' via template helpers is not allowed. Please subclass Ember.View and set it there instead."),f.attributeBindings=null);for(var g=s(a),h=0,i=g.length;i>h;h++){var j=g[h];"classNameBindings"!==j&&(f[j]=a[j])}return f.classNameBindings&&(f.classNameBindings=y(f.classNameBindings,function(a){var b=z(d,a);return v(b)?b:new r(b)})),f},helper:function(a,b,c,d){var e,f=d.data,g=c.template;m(b,c,d.data.view);var h=this.propertiesFromHTMLOptions(b,c,d),i=f.view;e=x.detectInstance(a)?a:a.proto(),g&&(o.assert("You cannot provide a template block if you also specified a templateName",!q(h,"templateName")&&!q(e,"templateName")),h.template=g),e.controller||e.controllerBinding||h.controller||h.controllerBinding||(h._context=q(i,"context")),h._morph=c.morph,i.appendChild(a,h)},instanceHelper:function(a,b,c,d){var e=d.data,f=c.template;m(b,c,d.data.view),o.assert("Only a instance of a view may be passed to the ViewHelper.instanceHelper",x.detectInstance(a));var g=this.propertiesFromHTMLOptions(b,c,d),h=e.view;f&&(o.assert("You cannot provide a template block if you also specified a templateName",!q(g,"templateName")&&!q(a,"templateName")),g.template=f),a.controller||a.controllerBinding||g.controller||g.controllerBinding||(g._context=q(h,"context")),g._morph=c.morph,h.appendChild(a,g)}});l.ViewHelper=A,l.viewHelper=n}),a("ember-htmlbars/helpers/with",["ember-metal/core","ember-metal/is_none","ember-htmlbars/helpers/binding","ember-views/views/with_view","exports"],function(a,b,c,d,e){"use strict";function f(a,b,c,d){h.assert("{{#with foo}} must be called with a single argument or the use the {{#with foo as bar}} syntax",1===a.length),h.assert("The {{#with}} helper must be called with a block",!!c.template);var e;c.template.blockParams?e=!0:(h.deprecate("Using the context switching form of `{{with}}` is deprecated. Please use the keyword form (`{{with foo as bar}}`) instead.",!1,{url:"http://emberjs.com/guides/deprecations/#toc_more-consistent-handlebars-scope"}),e=!1),j.call(this,a[0],b,c,d,e,g,void 0,void 0,k)}function g(a){return!i(a)}var h=a["default"],i=b["default"],j=c.bind,k=d["default"];e.withHelper=f}),a("ember-htmlbars/helpers/yield",["ember-metal/core","ember-metal/property_get","exports"],function(a,b,c){"use strict";function d(a,b,c,d){for(var g=this;g&&!f(g,"layout");)g=g._contextView?g._contextView:f(g,"_parentView");return e.assert("You called yield in a template that was not a layout",!!g),g._yield(null,d,c.morph,a)}var e=a["default"],f=b.get;c.yieldHelper=d}),a("ember-htmlbars/hooks/attribute",["ember-views/attr_nodes/attr_node","ember-metal/error","ember-metal/streams/utils","ember-views/system/sanitize_attribute_value","exports"],function(a,b,c,d,e){"use strict";var f=a["default"],g=b["default"],h=c.isStream,i=d["default"],j=!1;e["default"]=function(a,b,c,d,e){if(j){var k=new f(d,e);k._morph=b,a.data.view.appendChild(k)}else{if(h(e))throw new g("Bound attributes are not yet supported in Ember.js");var l=i(c,d,e);a.dom.setProperty(c,d,l)}}}),a("ember-htmlbars/hooks/block",["ember-views/views/simple_bound_view","ember-metal/streams/utils","ember-htmlbars/system/lookup-helper","exports"],function(a,b,c,d){"use strict";var f=a.appendSimpleBoundView,g=b.isStream,h=c["default"];d["default"]=function(a,b,c,d,i,j,k,l){var m=h(d,c,a);e.assert("A helper named `"+d+"` could not be found",m);var n={morph:b,template:k,inverse:l,isBlock:!0},o=m.helperFunction.call(c,i,j,n,a);g(o)?f(c,b,o):b.setContent(o)}}),a("ember-htmlbars/hooks/component",["ember-metal/core","ember-htmlbars/system/lookup-helper","exports"],function(a,b,c){"use strict";var d=a["default"],e=b["default"];c["default"]=function(a,b,c,f,g,h){var i=e(f,c,a);return d.assert("You specified `"+f+"` in your template, but a component for `"+f+"` could not be found.",!!i),i.helperFunction.call(c,[],g,{morph:b,template:h},a)}}),a("ember-htmlbars/hooks/concat",["ember-metal/streams/utils","exports"],function(a,b){"use strict";var c=a.concat;b["default"]=function(a,b){return c(b,"")}}),a("ember-htmlbars/hooks/content",["ember-views/views/simple_bound_view","ember-metal/streams/utils","ember-htmlbars/system/lookup-helper","exports"],function(a,b,c,d){"use strict";var e=a.appendSimpleBoundView,f=b.isStream,g=c["default"];d["default"]=function(a,b,c,d){var h,i=g(d,c,a);if(i){var j={morph:b,isInline:!0};h=i.helperFunction.call(c,[],{},j,a)}else h=c.getStream(d);f(h)?e(c,b,h):b.setContent(h)}}),a("ember-htmlbars/hooks/element",["ember-metal/core","ember-metal/streams/utils","ember-htmlbars/system/lookup-helper","exports"],function(a,b,c,d){"use strict";var e=a["default"],f=b.read,g=c["default"];d["default"]=function(a,b,c,d,h,i){var j,k=g(d,c,a);if(k){var l={element:b};j=k.helperFunction.call(c,h,i,l,a)}else j=c.getStream(d);var m=f(j);if(m){e.deprecate("Returning a string of attributes from a helper inside an element is deprecated.");for(var n=m.toString().split(/\s+/),o=0,p=n.length;p>o;o++){var q=n[o].split("="),r=q[0],s=q[1];s=s.replace(/^['"]/,"").replace(/['"]$/,""),a.dom.setAttribute(b,r,s)}}}}),a("ember-htmlbars/hooks/get",["exports"],function(a){"use strict";a["default"]=function(a,b,c){return b.getStream(c)}}),a("ember-htmlbars/hooks/inline",["ember-views/views/simple_bound_view","ember-metal/streams/utils","ember-htmlbars/system/lookup-helper","exports"],function(a,b,c,d){"use strict";var f=a.appendSimpleBoundView,g=b.isStream,h=c["default"];d["default"]=function(a,b,c,d,i,j){var k=h(d,c,a);e.assert("A helper named '"+d+"' could not be found",k);var l=k.helperFunction.call(c,i,j,{morph:b},a);g(l)?f(c,b,l):b.setContent(l)}}),a("ember-htmlbars/hooks/set",["ember-metal/core","ember-metal/error","exports"],function(a,b,c){"use strict";a["default"],b["default"];c["default"]=function(a,b,c,d){b._keywords[c]=d}}),a("ember-htmlbars/hooks/subexpr",["ember-htmlbars/system/lookup-helper","exports"],function(a,b){"use strict";var c=a["default"];b["default"]=function(a,b,d,f,g){var h=c(d,b,a);e.assert("A helper named '"+d+"' could not be found",h);var i={isInline:!0};return h.helperFunction.call(b,f,g,i,a)}}),a("ember-htmlbars/system/bootstrap",["ember-metal/core","ember-views/component_lookup","ember-views/system/jquery","ember-metal/error","ember-runtime/system/lazy_load","ember-template-compiler/system/compile","exports"],function(a,b,c,d,e,f,g){"use strict";function h(a){var b='script[type="text/x-handlebars"], script[type="text/x-raw-handlebars"]';m(b,a).each(function(){var a=m(this),b="text/x-raw-handlebars"===a.attr("type")?m.proxy(Handlebars.compile,Handlebars):p,c=a.attr("data-template-name")||a.attr("id")||"application",d=b(a.html());if(void 0!==k.TEMPLATES[c])throw new n('Template named "'+c+'" already exists.');k.TEMPLATES[c]=d,a.remove()})}function i(){h(m(document))}function j(a){a.register("component-lookup:main",l)}var k=a["default"],l=b["default"],m=c["default"],n=d["default"],o=e.onLoad,p=f["default"];o("Ember.Application",function(a){a.initializer({name:"domTemplates",initialize:i}),a.initializer({name:"registerComponentLookup",after:"domTemplates",initialize:j})}),g["default"]=h}),a("ember-htmlbars/system/helper",["exports"],function(a){"use strict";function b(a){this.helperFunction=a,this.isHelper=!0,this.isHTMLBars=!0}a["default"]=b}),a("ember-htmlbars/system/lookup-helper",["ember-metal/core","ember-metal/cache","ember-htmlbars/system/make-view-helper","ember-htmlbars/compat/helper","exports"],function(a,b,c,d,e){"use strict";var f=a["default"],g=b["default"],h=c["default"],i=d["default"],j=new g(1e3,function(a){return-1===a.indexOf("-")});e.ISNT_HELPER_CACHE=j,e["default"]=function(a,b,c){var d=c.helpers[a];if(d)return d;var e=b.container;if(e&&!j.get(a)){var g="helper:"+a;if(d=e.lookup(g),!d){var k=e.lookup("component-lookup:main");f.assert("Could not find 'component-lookup:main' on the provided container, which is necessary for performing component lookups",k);var l=k.lookupFactory(a,e);l&&(d=h(l),e.register(g,d))}return d&&!d.isHTMLBars&&(d=new i(d),e.unregister(g),e.register(g,d)),d}}}),a("ember-htmlbars/system/make-view-helper",["ember-metal/core","ember-htmlbars/system/helper","exports"],function(a,b,c){"use strict";var d=a["default"],e=b["default"];c["default"]=function(a){function b(b,c,e,f){return d.assert("You can only pass attributes (such as name=value) not bare values to a helper for a View found in '"+a.toString()+"'",0===b.length),f.helpers.view.helperFunction.call(this,[a],c,e,f)}return new e(b)}}),a("ember-htmlbars/system/make_bound_helper",["ember-metal/core","ember-htmlbars/system/helper","ember-metal/streams/stream","ember-metal/streams/utils","exports"],function(a,b,c,d,e){"use strict";var f=a["default"],g=b["default"],h=c["default"],i=d.readArray,j=d.readHash,k=d.subscribe,l=d.scanHash,m=d.scanArray;e["default"]=function(a){function b(b,c,d,e){function g(){return a.call(p,i(b),j(c),d,e)}var n,o,p=this,q=b.length;f.assert("makeBoundHelper generated helpers do not support use with blocks",!d.template);var r=m(b)||l(c);if(e.data.isUnbound||!r)return g();for(var s=new h(g),t=0;q>t;t++)n=b[t],k(n,s.notify,s);for(o in c)n=c[o],k(n,s.notify,s);return s}return new g(b)}}),a("ember-htmlbars/templates/component",["ember-template-compiler/system/template","exports"],function(a,b){"use strict";var c=a["default"],d=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode("");a.appendChild(b,c);var c=a.createTextNode("");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.content;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d),this.cachedFragment&&d.repairClonedNode(g,[0,1]);var h=d.createMorphAt(g,0,1,c);return f(b,h,a,"yield"),g}}}();b["default"]=c(d)}),a("ember-htmlbars/templates/select",["ember-template-compiler/system/template","exports"],function(a,b){"use strict";var c=a["default"],d=function(){var a=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createElement("option");return a.setAttribute(b,"value",""),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.content;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.createMorphAt(g,-1,-1);return f(b,h,a,"view.prompt"),g}}}(),b=function(){var a=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode("");a.appendChild(b,c);var c=a.createTextNode("");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d),this.cachedFragment&&d.repairClonedNode(h,[0,1]);var i=d.createMorphAt(h,0,1,c);return g(b,i,a,"view",[f(b,a,"view.groupView")],{content:f(b,a,"group.content"),label:f(b,a,"group.label")}),h}}}();return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode("");a.appendChild(b,c);var c=a.createTextNode("");return a.appendChild(b,c),b},render:function(b,c,d){var e=c.dom,f=c.hooks,g=f.get,h=f.block;e.detectNamespace(d);var i;c.useFragmentCache&&e.canClone?(null===this.cachedFragment&&(i=this.build(e),this.hasRendered?this.cachedFragment=i:this.hasRendered=!0),this.cachedFragment&&(i=e.cloneNode(this.cachedFragment,!0))):i=this.build(e),this.cachedFragment&&e.repairClonedNode(i,[0,1]);var j=e.createMorphAt(i,0,1,d);return h(c,j,b,"each",[g(c,b,"view.groupedContent")],{keyword:"group"},a,null),i}}}(),c=function(){var a=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode("");a.appendChild(b,c);var c=a.createTextNode("");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d),this.cachedFragment&&d.repairClonedNode(h,[0,1]);var i=d.createMorphAt(h,0,1,c);return g(b,i,a,"view",[f(b,a,"view.optionView")],{content:f(b,a,"item")}),h}}}();return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode("");a.appendChild(b,c);var c=a.createTextNode("");return a.appendChild(b,c),b},render:function(b,c,d){var e=c.dom,f=c.hooks,g=f.get,h=f.block;e.detectNamespace(d);var i;c.useFragmentCache&&e.canClone?(null===this.cachedFragment&&(i=this.build(e),this.hasRendered?this.cachedFragment=i:this.hasRendered=!0),this.cachedFragment&&(i=e.cloneNode(this.cachedFragment,!0))):i=this.build(e),this.cachedFragment&&e.repairClonedNode(i,[0,1]);var j=e.createMorphAt(i,0,1,d);return h(c,j,b,"each",[g(c,b,"view.content")],{keyword:"item"},a,null),i}}}();return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode("");a.appendChild(b,c);var c=a.createTextNode("");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(d,e,f){var g=e.dom,h=e.hooks,i=h.get,j=h.block;g.detectNamespace(f);var k;e.useFragmentCache&&g.canClone?(null===this.cachedFragment&&(k=this.build(g),this.hasRendered?this.cachedFragment=k:this.hasRendered=!0),this.cachedFragment&&(k=g.cloneNode(this.cachedFragment,!0))):k=this.build(g),this.cachedFragment&&g.repairClonedNode(k,[0,1]);var l=g.createMorphAt(k,0,1,f),m=g.createMorphAt(k,1,2,f);return j(e,l,d,"if",[i(e,d,"view.prompt")],{},a,null),j(e,m,d,"if",[i(e,d,"view.optionGroupPath")],{},b,c),k}}}();b["default"]=c(d)}),a("ember-htmlbars/utils/string",["htmlbars-util","ember-runtime/system/string","exports"],function(a,b,c){"use strict";function d(a){return null===a||void 0===a?"":("string"!=typeof a&&(a=""+a),new f(a))}var f=a.SafeString,g=a.escapeExpression,h=b["default"];h.htmlSafe=d,(e.EXTEND_PROTOTYPES===!0||e.EXTEND_PROTOTYPES.String)&&(String.prototype.htmlSafe=function(){return d(this)}),c.SafeString=f,c.htmlSafe=d,c.escapeExpression=g}),a("ember-metal-views",["ember-metal-views/renderer","exports"],function(a,b){"use strict";var c=a["default"];b.Renderer=c}),a("ember-metal-views/renderer",["morph","exports"],function(a,b){"use strict";function c(){this._uuid=0,this._views=new Array(2e3),this._queue=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],this._parents=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],this._elements=new Array(17),this._inserts={},this._dom=new j}function d(a,b,c){var d=this._views;d[0]=a;var e=void 0===c?-1:c,f=0,g=1,h=b?b._level+1:0,i=null==b?a:b._root,j=!!i._morph,k=this._queue;k[0]=0;for(var l,m,n,o=1,p=-1,q=this._parents,r=b||null,s=this._elements,t=null,u=null,v=0,w=a;o;){if(s[v]=t,w._morph||(w._morph=null),w._root=i,this.uuid(w),w._level=h+v,w._elementCreated&&this.remove(w,!1,!0),this.willCreateElement(w),u=w._morph&&w._morph.contextualElement,!u&&r&&r._childViewsMorph&&(u=r._childViewsMorph.contextualElement),!u&&w._didCreateElementWithoutMorph&&(u=document.body),t=this.createElement(w,u),q[v++]=p,p=f,r=w,k[o++]=f,l=this.childViews(w))for(m=l.length-1;m>=0;m--)n=l[m],f=g++,d[f]=n,k[o++]=f,w=n;for(f=k[--o],w=d[f];p===f;){if(v--,w._elementCreated=!0,this.didCreateElement(w),j&&this.willInsertElement(w),0===v){o--;break}p=q[v],r=-1===p?b:d[p],this.insertElement(w,r,t,-1),f=k[--o],w=d[f],t=s[v],s[v]=null}}for(this.insertElement(w,b,t,e),m=g-1;m>=0;m--)j&&(d[m]._elementInserted=!0,this.didInsertElement(d[m])),d[m]=null;return t}function f(a,b,c){var d=this.uuid(a);if(this._inserts[d]&&(this.cancelRender(this._inserts[d]),this._inserts[d]=void 0),a._elementCreated){var e,f,g,h,i,j,k,l=[],m=[],n=a._morph;for(l.push(a),e=0;ej;j++)h.push(i[j]);for(e=0;ej;j++)m.push(i[j]);for(n&&!c&&n.destroy(),e=0,f=l.length;f>e;e++)this.afterRemove(l[e],!1);for(e=0,f=m.length;f>e;e++)this.afterRemove(m[e],!0);c&&(a._morph=n)}}function g(a,b,c,d){null!==c&&void 0!==c&&(a._morph?a._morph.setContent(c):b&&(a._morph=-1===d?b._childViewsMorph.append(c):b._childViewsMorph.insert(d,c)))}function h(a){a._elementCreated&&this.willDestroyElement(a),a._elementInserted&&this.willRemoveElement(a)}function i(a,b){a._elementInserted=!1,a._morph=null,a._childViewsMorph=null,a._elementCreated&&(a._elementCreated=!1,this.didDestroyElement(a)),b&&this.destroyView(a)}var j=a.DOMHelper;c.prototype.uuid=function(a){return void 0===a._uuid&&(a._uuid=++this._uuid,a._renderer=this),a._uuid},c.prototype.scheduleInsert=function(a,b){if(a._morph||a._elementCreated)throw new Error("You cannot insert a View that has already been rendered");e.assert("You cannot insert a View without a morph",b),a._morph=b;var c=this.uuid(a);this._inserts[c]=this.scheduleRender(this,function(){this._inserts[c]=null,this.renderTree(a)})},c.prototype.appendTo=function(a,b){var c=this._dom.appendMorph(b);this.scheduleInsert(a,c)},c.prototype.replaceIn=function(a,b){var c=this._dom.createMorph(b,null,null);this.scheduleInsert(a,c)},c.prototype.remove=f,c.prototype.destroy=function(a){this.remove(a,!0)},c.prototype.renderTree=d,c.prototype.insertElement=g,c.prototype.beforeRemove=h,c.prototype.afterRemove=i;var k=function(){};c.prototype.willCreateElement=k,c.prototype.createElement=k,c.prototype.didCreateElement=k,c.prototype.willInsertElement=k,c.prototype.didInsertElement=k,c.prototype.willRemoveElement=k,c.prototype.willDestroyElement=k,c.prototype.didDestroyElement=k,c.prototype.destroyView=k,c.prototype.childViews=k,b["default"]=c}),a("ember-metal",["ember-metal/core","ember-metal/merge","ember-metal/instrumentation","ember-metal/utils","ember-metal/error","ember-metal/enumerable_utils","ember-metal/cache","ember-metal/platform","ember-metal/array","ember-metal/logger","ember-metal/property_get","ember-metal/events","ember-metal/observer_set","ember-metal/property_events","ember-metal/properties","ember-metal/property_set","ember-metal/map","ember-metal/get_properties","ember-metal/set_properties","ember-metal/watch_key","ember-metal/chains","ember-metal/watch_path","ember-metal/watching","ember-metal/expand_properties","ember-metal/computed","ember-metal/computed_macros","ember-metal/observer","ember-metal/mixin","ember-metal/binding","ember-metal/run_loop","ember-metal/libraries","ember-metal/is_none","ember-metal/is_empty","ember-metal/is_blank","ember-metal/is_present","ember-metal/keys","backburner","exports"],function(a,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M){"use strict";var N=a["default"],O=c["default"],P=d.instrument,Q=d.reset,R=d.subscribe,S=d.unsubscribe,T=e.EMPTY_META,U=e.GUID_KEY,V=e.META_DESC,W=e.apply,X=e.applyStr,Y=e.canInvoke,Z=e.generateGuid,$=e.getMeta,_=e.guidFor,ab=e.inspect,bb=e.isArray,cb=e.makeArray,db=e.meta,eb=e.metaPath,fb=e.setMeta,gb=e.tryCatchFinally,hb=e.tryFinally,ib=e.tryInvoke,jb=e.typeOf,kb=e.uuid,lb=e.wrap,mb=f["default"],nb=g["default"],ob=h["default"],pb=i.create,qb=i.hasPropertyAccessors,rb=j.filter,sb=j.forEach,tb=j.indexOf,ub=j.map,vb=k["default"],wb=l._getPath,xb=l.get,yb=l.getWithDefault,zb=l.normalizeTuple,Ab=m.accumulateListeners,Bb=m.addListener,Cb=m.hasListeners,Db=m.listenersFor,Eb=m.on,Fb=m.removeListener,Gb=m.sendEvent,Hb=m.suspendListener,Ib=m.suspendListeners,Jb=m.watchedEvents,Kb=n["default"],Lb=o.beginPropertyChanges,Mb=o.changeProperties,Nb=o.endPropertyChanges,Ob=o.overrideChains,Pb=o.propertyDidChange,Qb=o.propertyWillChange,Rb=p.Descriptor,Sb=p.defineProperty,Tb=q.set,Ub=q.trySet,Vb=r.Map,Wb=r.MapWithDefault,Xb=r.OrderedSet,Yb=s["default"],Zb=t["default"],$b=u.watchKey,_b=u.unwatchKey,ac=v.ChainNode,bc=v.finishChains,cc=v.flushPendingChains,dc=v.removeChainWatcher,ec=w.watchPath,fc=w.unwatchPath,gc=x.destroy,hc=x.isWatching,ic=x.rewatch,jc=x.unwatch,kc=x.watch,lc=y["default"],mc=z.ComputedProperty,nc=z.computed,oc=z.cacheFor,pc=B._suspendBeforeObserver,qc=B._suspendBeforeObservers,rc=B._suspendObserver,sc=B._suspendObservers,tc=B.addBeforeObserver,uc=B.addObserver,vc=B.beforeObserversFor,wc=B.observersFor,xc=B.removeBeforeObserver,yc=B.removeObserver,zc=C.IS_BINDING,Ac=C.Mixin,Bc=C.aliasMethod,Cc=C.beforeObserver,Dc=C.immediateObserver,Ec=C.mixin,Fc=C.observer,Gc=C.required,Hc=D.Binding,Ic=D.bind,Jc=D.isGlobalPath,Kc=D.oneWay,Lc=E["default"],Mc=F["default"],Nc=G["default"],Oc=H["default"],Pc=I["default"],Qc=J["default"],Rc=K["default"],Sc=L["default"],Tc=N.Instrumentation={};Tc.instrument=P,Tc.subscribe=R,Tc.unsubscribe=S,Tc.reset=Q,N.instrument=P,N.subscribe=R,N._Cache=ob,N.generateGuid=Z,N.GUID_KEY=U,N.create=pb,N.keys=Rc,N.platform={defineProperty:Sb,hasPropertyAccessors:qb};var Uc=N.ArrayPolyfills={};Uc.map=ub,Uc.forEach=sb,Uc.filter=rb,Uc.indexOf=tb,N.Error=mb,N.guidFor=_,N.META_DESC=V,N.EMPTY_META=T,N.meta=db,N.getMeta=$,N.setMeta=fb,N.metaPath=eb,N.inspect=ab,N.typeOf=jb,N.tryCatchFinally=gb,N.isArray=bb,N.makeArray=cb,N.canInvoke=Y,N.tryInvoke=ib,N.tryFinally=hb,N.wrap=lb,N.apply=W,N.applyStr=X,N.uuid=kb,N.Logger=vb,N.get=xb,N.getWithDefault=yb,N.normalizeTuple=zb,N._getPath=wb,N.EnumerableUtils=nb,N.on=Eb,N.addListener=Bb,N.removeListener=Fb,N._suspendListener=Hb,N._suspendListeners=Ib,N.sendEvent=Gb,N.hasListeners=Cb,N.watchedEvents=Jb,N.listenersFor=Db,N.accumulateListeners=Ab,N._ObserverSet=Kb,N.propertyWillChange=Qb,N.propertyDidChange=Pb,N.overrideChains=Ob,N.beginPropertyChanges=Lb,N.endPropertyChanges=Nb,N.changeProperties=Mb,N.Descriptor=Rb,N.defineProperty=Sb,N.set=Tb,N.trySet=Ub,N.OrderedSet=Xb,N.Map=Vb,N.MapWithDefault=Wb,N.getProperties=Yb,N.setProperties=Zb,N.watchKey=$b,N.unwatchKey=_b,N.flushPendingChains=cc,N.removeChainWatcher=dc,N._ChainNode=ac,N.finishChains=bc,N.watchPath=ec,N.unwatchPath=fc,N.watch=kc,N.isWatching=hc,N.unwatch=jc,N.rewatch=ic,N.destroy=gc,N.expandProperties=lc,N.ComputedProperty=mc,N.computed=nc,N.cacheFor=oc,N.addObserver=uc,N.observersFor=wc,N.removeObserver=yc,N.addBeforeObserver=tc,N._suspendBeforeObserver=pc,N._suspendBeforeObservers=qc,N._suspendObserver=rc,N._suspendObservers=sc,N.beforeObserversFor=vc,N.removeBeforeObserver=xc,N.IS_BINDING=zc,N.required=Gc,N.aliasMethod=Bc,N.observer=Fc,N.immediateObserver=Dc,N.beforeObserver=Cc,N.mixin=Ec,N.Mixin=Ac,N.oneWay=Kc,N.bind=Ic,N.Binding=Hc,N.isGlobalPath=Jc,N.run=Lc,N.Backburner=Sc,N.libraries=new Mc,N.libraries.registerCoreLibrary("Ember",N.VERSION),N.isNone=Nc,N.isEmpty=Oc,N.isBlank=Pc,N.isPresent=Qc,N.merge=O,N.onerror=null,N.__loader.registry["ember-debug"]&&b("ember-debug"),M["default"]=N}),a("ember-metal/alias",["ember-metal/property_get","ember-metal/property_set","ember-metal/core","ember-metal/error","ember-metal/properties","ember-metal/computed","ember-metal/platform","ember-metal/utils","ember-metal/dependent_keys","exports"],function(a,b,c,d,e,f,g,h,i,j){"use strict";function k(a){this.altKey=a,this._dependentKeys=[a]}function l(a,b){throw new q('Cannot set read-only property "'+b+'" on object: '+w(a))}function m(a,b,c){return s(a,b,null),o(a,b,c)}var n=a.get,o=b.set,p=c["default"],q=d["default"],r=e.Descriptor,s=e.defineProperty,t=f.ComputedProperty,u=g.create,v=h.meta,w=h.inspect,x=i.addDependentKeys,y=i.removeDependentKeys;j["default"]=function(a){return new k(a)},j.AliasedProperty=k,k.prototype=u(r.prototype),k.prototype.get=function(a){return n(a,this.altKey)},k.prototype.set=function(a,b,c){return o(a,this.altKey,c)},k.prototype.willWatch=function(a,b){x(this,a,b,v(a))},k.prototype.didUnwatch=function(a,b){y(this,a,b,v(a))},k.prototype.setup=function(a,b){p.assert("Setting alias '"+b+"' on self",this.altKey!==b);var c=v(a);c.watching[b]&&x(this,a,b,c)},k.prototype.teardown=function(a,b){var c=v(a);c.watching[b]&&y(this,a,b,c)},k.prototype.readOnly=function(){return this.set=l,this},k.prototype.oneWay=function(){return this.set=m,this},k.prototype._meta=void 0,k.prototype.meta=t.prototype.meta}),a("ember-metal/array",["exports"],function(a){"use strict";var b=Array.prototype,c=function(a){return a&&Function.prototype.toString.call(a).indexOf("[native code]")>-1},d=function(a,b){return c(a)?a:b},f=d(b.map,function(a){if(void 0===this||null===this||"function"!=typeof a)throw new TypeError;for(var b=Object(this),c=b.length>>>0,d=new Array(c),e=arguments[1],f=0;c>f;f++)f in b&&(d[f]=a.call(e,b[f],f,b));return d}),g=d(b.forEach,function(a){if(void 0===this||null===this||"function"!=typeof a)throw new TypeError;for(var b=Object(this),c=b.length>>>0,d=arguments[1],e=0;c>e;e++)e in b&&a.call(d,b[e],e,b)}),h=d(b.indexOf,function(a,b){null===b||void 0===b?b=0:0>b&&(b=Math.max(0,this.length+b));for(var c=b,d=this.length;d>c;c++)if(this[c]===a)return c;return-1}),i=d(b.lastIndexOf,function(a,b){var c,d=this.length; +for(b=void 0===b?d-1:0>b?Math.ceil(b):Math.floor(b),0>b&&(b+=d),c=b;c>=0;c--)if(this[c]===a)return c;return-1}),j=d(b.filter,function(a,b){var c,d,e=[],f=this.length;for(c=0;f>c;c++)this.hasOwnProperty(c)&&(d=this[c],a.call(b,d,c,this)&&e.push(d));return e});e.SHIM_ES5&&(b.map=b.map||f,b.forEach=b.forEach||g,b.filter=b.filter||j,b.indexOf=b.indexOf||h,b.lastIndexOf=b.lastIndexOf||i),a.map=f,a.forEach=g,a.filter=j,a.indexOf=h,a.lastIndexOf=i}),a("ember-metal/binding",["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/utils","ember-metal/observer","ember-metal/run_loop","ember-metal/path_cache","exports"],function(a,b,c,d,e,f,g,h){"use strict";function i(a,b){return o(v(b)?n.lookup:a,b)}function j(a,b){this._direction=void 0,this._from=b,this._to=a,this._readyToSync=void 0,this._oneWay=void 0}function k(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c])}function l(a,b,c){return new j(b,c).connect(a)}function m(a,b,c){return new j(b,c).oneWay().connect(a)}var n=a["default"],o=b.get,p=c.trySet,q=d.guidFor,r=e.addObserver,s=e.removeObserver,t=e._suspendObserver,u=f["default"],v=g.isGlobal;n.LOG_BINDINGS=!1||!!n.ENV.LOG_BINDINGS,j.prototype={copy:function(){var a=new j(this._to,this._from);return this._oneWay&&(a._oneWay=!0),a},from:function(a){return this._from=a,this},to:function(a){return this._to=a,this},oneWay:function(){return this._oneWay=!0,this},toString:function(){var a=this._oneWay?"[oneWay]":"";return"Ember.Binding<"+q(this)+">("+this._from+" -> "+this._to+")"+a},connect:function(a){n.assert("Must pass a valid object to Ember.Binding.connect()",!!a);var b=this._from,c=this._to;return p(a,c,i(a,b)),r(a,b,this,this.fromDidChange),this._oneWay||r(a,c,this,this.toDidChange),this._readyToSync=!0,this},disconnect:function(a){n.assert("Must pass a valid object to Ember.Binding.disconnect()",!!a);var b=!this._oneWay;return s(a,this._from,this,this.fromDidChange),b&&s(a,this._to,this,this.toDidChange),this._readyToSync=!1,this},fromDidChange:function(a){this._scheduleSync(a,"fwd")},toDidChange:function(a){this._scheduleSync(a,"back")},_scheduleSync:function(a,b){var c=this._direction;void 0===c&&(u.schedule("sync",this,this._sync,a),this._direction=b),"back"===c&&"fwd"===b&&(this._direction="fwd")},_sync:function(a){var b=n.LOG_BINDINGS;if(!a.isDestroyed&&this._readyToSync){var c=this._direction,d=this._from,e=this._to;if(this._direction=void 0,"fwd"===c){var f=i(a,this._from);b&&n.Logger.log(" ",this.toString(),"->",f,a),this._oneWay?p(a,e,f):t(a,e,this,this.toDidChange,function(){p(a,e,f)})}else if("back"===c){var g=o(a,this._to);b&&n.Logger.log(" ",this.toString(),"<-",g,a),t(a,d,this,this.fromDidChange,function(){p(v(d)?n.lookup:a,d,g)})}}}},k(j,{from:function(a){var b=this;return new b(void 0,a)},to:function(a){var b=this;return new b(a,void 0)},oneWay:function(a,b){var c=this;return new c(void 0,a).oneWay(b)}}),h.bind=l,h.oneWay=m,h.Binding=j,h.isGlobalPath=v}),a("ember-metal/cache",["ember-metal/dictionary","exports"],function(a,b){"use strict";function c(a,b){this.store=d(null),this.size=0,this.misses=0,this.hits=0,this.limit=a,this.func=b}var d=a["default"];b["default"]=c;var e=function(){};c.prototype={set:function(a,b){return this.limit>this.size&&(this.size++,this.store[a]=void 0===b?e:b),b},get:function(a){var b=this.store[a];return void 0===b?(this.misses++,b=this.set(a,this.func(a))):b===e?(this.hits++,b=void 0):this.hits++,b},purge:function(){this.store=d(null),this.size=0,this.hits=0,this.misses=0}}}),a("ember-metal/chains",["ember-metal/core","ember-metal/property_get","ember-metal/utils","ember-metal/array","ember-metal/watch_key","exports"],function(a,b,c,d,e,f){"use strict";function g(a){return a.match(v)[0]}function h(){if(0!==w.length){var a=w;w=[],r.call(a,function(a){a[0].add(a[1])}),u("Watching an undefined global, Ember expects watched globals to be setup by the time the run loop is flushed, check for typos",0===w.length)}}function i(a,b,c){if(a&&"object"==typeof a){var d=q(a),e=d.chainWatchers;d.hasOwnProperty("chainWatchers")||(e=d.chainWatchers={}),e[b]||(e[b]=[]),e[b].push(c),s(a,b,d)}}function j(a,b,c){if(a&&"object"==typeof a){var d=a.__ember_meta__;if(!d||d.hasOwnProperty("chainWatchers")){var e=d&&d.chainWatchers;if(e&&e[b]){e=e[b];for(var f=0,g=e.length;g>f;f++)if(e[f]===c){e.splice(f,1);break}}t(a,b,d)}}}function k(a,b,c){this._parent=a,this._key=b,this._watching=void 0===c,this._value=c,this._paths={},this._watching&&(this._object=a.value(),this._object&&i(this._object,this._key,this)),this._parent&&"@each"===this._parent._key&&this.value()}function l(a,b){if(!a)return void 0;var c=a.__ember_meta__;if(c&&c.proto===a)return void 0;if("@each"===b)return o(a,b);var d=c&&c.descs[b];return d&&d._cacheable?b in c.cache?c.cache[b]:void 0:o(a,b)}function m(a){var b,c,d,e=a.__ember_meta__;if(e){if(c=e.chainWatchers)for(var f in c)if(c.hasOwnProperty(f)&&(d=c[f]))for(var g=0,h=d.length;h>g;g++)d[g].didChange(null);b=e.chains,b&&b.value()!==a&&(q(a).chains=b=b.copy(a))}}var n=a["default"],o=b.get,p=b.normalizeTuple,q=c.meta,r=d.forEach,s=e.watchKey,t=e.unwatchKey,u=n.warn,v=/^([^\.]+)/,w=[];f.flushPendingChains=h;var x=k.prototype;x.value=function(){if(void 0===this._value&&this._watching){var a=this._parent.value();this._value=l(a,this._key)}return this._value},x.destroy=function(){if(this._watching){var a=this._object;a&&j(a,this._key,this),this._watching=!1}},x.copy=function(a){var b,c=new k(null,null,a),d=this._paths;for(b in d)d[b]<=0||c.add(b);return c},x.add=function(a){var b,c,d,e,f;if(f=this._paths,f[a]=(f[a]||0)+1,b=this.value(),c=p(b,a),c[0]&&c[0]===b)a=c[1],d=g(a),a=a.slice(d.length+1);else{if(!c[0])return w.push([this,a]),void(c.length=0);e=c[0],d=a.slice(0,0-(c[1].length+1)),a=c[1]}c.length=0,this.chain(d,a,e)},x.remove=function(a){var b,c,d,e,f;f=this._paths,f[a]>0&&f[a]--,b=this.value(),c=p(b,a),c[0]===b?(a=c[1],d=g(a),a=a.slice(d.length+1)):(e=c[0],d=a.slice(0,0-(c[1].length+1)),a=c[1]),c.length=0,this.unchain(d,a)},x.count=0,x.chain=function(a,b,c){var d,e=this._chains;e||(e=this._chains={}),d=e[a],d||(d=e[a]=new k(this,a,c)),d.count++,b&&(a=g(b),b=b.slice(a.length+1),d.chain(a,b))},x.unchain=function(a,b){var c=this._chains,d=c[a];if(b&&b.length>1){var e=g(b),f=b.slice(e.length+1);d.unchain(e,f)}d.count--,d.count<=0&&(delete c[d._key],d.destroy())},x.willChange=function(a){var b=this._chains;if(b)for(var c in b)b.hasOwnProperty(c)&&b[c].willChange(a);this._parent&&this._parent.chainWillChange(this,this._key,1,a)},x.chainWillChange=function(a,b,c,d){this._key&&(b=this._key+"."+b),this._parent?this._parent.chainWillChange(this,b,c+1,d):(c>1&&d.push(this.value(),b),b="this."+b,this._paths[b]>0&&d.push(this.value(),b))},x.chainDidChange=function(a,b,c,d){this._key&&(b=this._key+"."+b),this._parent?this._parent.chainDidChange(this,b,c+1,d):(c>1&&d.push(this.value(),b),b="this."+b,this._paths[b]>0&&d.push(this.value(),b))},x.didChange=function(a){if(this._watching){var b=this._parent.value();b!==this._object&&(j(this._object,this._key,this),this._object=b,i(b,this._key,this)),this._value=void 0,this._parent&&"@each"===this._parent._key&&this.value()}var c=this._chains;if(c)for(var d in c)c.hasOwnProperty(d)&&c[d].didChange(a);null!==a&&this._parent&&this._parent.chainDidChange(this,this._key,1,a)},f.finishChains=m,f.removeChainWatcher=j,f.ChainNode=k}),a("ember-metal/computed",["ember-metal/property_set","ember-metal/utils","ember-metal/expand_properties","ember-metal/error","ember-metal/properties","ember-metal/property_events","ember-metal/dependent_keys","exports"],function(a,b,c,d,f,g,h,i){"use strict";function j(){}function k(a,b){a.__ember_arity__=a.length,this.func=a,this._dependentKeys=void 0,this._suspended=void 0,this._meta=void 0,e.deprecate("Passing opts.cacheable to the CP constructor is deprecated. Invoke `volatile()` on the CP instead.",!b||!b.hasOwnProperty("cacheable")),this._cacheable=b&&void 0!==b.cacheable?b.cacheable:!0,this._dependentKeys=b&&b.dependentKeys,e.deprecate("Passing opts.readOnly to the CP constructor is deprecated. All CPs are writable by default. Yo can invoke `readOnly()` on the CP to change this.",!b||!b.hasOwnProperty("readOnly")),this._readOnly=b&&(void 0!==b.readOnly||!!b.readOnly)||!1}function l(a){for(var b=0,c=a.length;c>b;b++)a[b].didChange(null)}function m(a){var b;if(arguments.length>1&&(b=A.call(arguments),a=b.pop()),"function"!=typeof a)throw new s("Computed Property declared without a property function");var c=new k(a);return b&&c.property.apply(c,b),c}function n(a,b){var c=a.__ember_meta__,d=c&&c.cache,e=d&&d[b];return e===j?void 0:e}var o=a.set,p=b.meta,q=b.inspect,r=c["default"],s=d["default"],t=f.Descriptor,u=f.defineProperty,v=g.propertyWillChange,w=g.propertyDidChange,x=h.addDependentKeys,y=h.removeDependentKeys,z=p,A=[].slice;k.prototype=new t;var B=k.prototype;B.cacheable=function(a){return e.deprecate("ComputedProperty.cacheable() is deprecated. All computed properties are cacheable by default."),this._cacheable=a!==!1,this},B["volatile"]=function(){return this._cacheable=!1,this},B.readOnly=function(a){return e.deprecate("Passing arguments to ComputedProperty.readOnly() is deprecated.",0===arguments.length),this._readOnly=void 0===a||!!a,this},B.property=function(){var a,b=function(b){a.push(b)};a=[];for(var c=0,d=arguments.length;d>c;c++)r(arguments[c],b);return this._dependentKeys=a,this},B.meta=function(a){return 0===arguments.length?this._meta||{}:(this._meta=a,this)},B.didChange=function(a,b){if(this._cacheable&&this._suspended!==a){var c=z(a);void 0!==c.cache[b]&&(c.cache[b]=void 0,y(this,a,b,c))}},B.get=function(a,b){var c,d,e,f;if(this._cacheable){e=z(a),d=e.cache;var g=d[b];if(g===j)return void 0;if(void 0!==g)return g;c=this.func.call(a,b),d[b]=void 0===c?j:c,f=e.chainWatchers&&e.chainWatchers[b],f&&l(f),x(this,a,b,e)}else c=this.func.call(a,b);return c},B.set=function(a,b,c){var d=this._suspended;this._suspended=a;try{this._set(a,b,c)}finally{this._suspended=d}},B._set=function(a,b,c){var d,e,f,g=this._cacheable,h=this.func,i=z(a,g),k=i.cache,l=!1;if(this._readOnly)throw new s('Cannot set read-only property "'+b+'" on object: '+q(a));if(g&&void 0!==k[b]&&(k[b]!==j&&(e=k[b]),l=!0),d=h.wrappedFunction?h.wrappedFunction.__ember_arity__:h.__ember_arity__,3===d)f=h.call(a,b,c,e);else{if(2!==d)return u(a,b,null,e),void o(a,b,c);f=h.call(a,b,c)}if(!l||e!==f){var m=i.watching[b];return m&&v(a,b),l&&(k[b]=void 0),g&&(l||x(this,a,b,i),k[b]=void 0===f?j:f),m&&w(a,b),f}},B.teardown=function(a,b){var c=z(a);return b in c.cache&&y(this,a,b,c),this._cacheable&&delete c.cache[b],null},n.set=function(a,b,c){a[b]=void 0===c?j:c},n.get=function(a,b){var c=a[b];return c===j?void 0:c},n.remove=function(a,b){a[b]=void 0},i.ComputedProperty=k,i.computed=m,i.cacheFor=n}),a("ember-metal/computed_macros",["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/computed","ember-metal/is_empty","ember-metal/is_none","ember-metal/alias"],function(a,b,c,d,e,f,g){"use strict";function h(a,b){for(var c={},d=0;db}),i("gte",function(a,b){return l(this,a)>=b}),i("lt",function(a,b){return l(this,a)1?(m(this,a,c),c):l(this,a)})}}),a("ember-metal/core",["exports"],function(a){"use strict";function b(){return this}"undefined"==typeof e&&(e={}),e.imports=e.imports||this,e.lookup=e.lookup||this;var c=e.exports=e.exports||this;c.Em=c.Ember=e,e.isNamespace=!0,e.toString=function(){return"Ember"},e.VERSION="1.10.0",e.ENV||(e.ENV="undefined"!=typeof EmberENV?EmberENV:"undefined"!=typeof ENV?ENV:{}),e.config=e.config||{},"undefined"==typeof e.ENV.DISABLE_RANGE_API&&(e.ENV.DISABLE_RANGE_API=!0),"undefined"==typeof MetamorphENV&&(c.MetamorphENV={}),MetamorphENV.DISABLE_RANGE_API=e.ENV.DISABLE_RANGE_API,e.FEATURES=e.ENV.FEATURES||{},e.FEATURES.isEnabled=function(a){var b=e.FEATURES[a];return e.ENV.ENABLE_ALL_FEATURES?!0:b===!0||b===!1||void 0===b?b:e.ENV.ENABLE_OPTIONAL_FEATURES?!0:!1},e.EXTEND_PROTOTYPES=e.ENV.EXTEND_PROTOTYPES,"undefined"==typeof e.EXTEND_PROTOTYPES&&(e.EXTEND_PROTOTYPES=!0),e.LOG_STACKTRACE_ON_DEPRECATION=e.ENV.LOG_STACKTRACE_ON_DEPRECATION!==!1,e.SHIM_ES5=e.ENV.SHIM_ES5===!1?!1:e.EXTEND_PROTOTYPES,e.LOG_VERSION=e.ENV.LOG_VERSION===!1?!1:!0,a.K=b,e.K=b,"undefined"==typeof e.assert&&(e.assert=b),"undefined"==typeof e.warn&&(e.warn=b),"undefined"==typeof e.debug&&(e.debug=b),"undefined"==typeof e.runInDebug&&(e.runInDebug=b),"undefined"==typeof e.deprecate&&(e.deprecate=b),"undefined"==typeof e.deprecateFunc&&(e.deprecateFunc=function(a,b){return b}),a["default"]=e}),a("ember-metal/dependent_keys",["ember-metal/platform","ember-metal/watching","exports"],function(a,b,c){function d(a,b){var c=a[b];return c?a.hasOwnProperty(b)||(c=a[b]=h(c)):c=a[b]={},c}function e(a){return d(a,"deps")}function f(a,b,c,f){var g,h,j,k,l,m=a._dependentKeys;if(m)for(g=e(f),h=0,j=m.length;j>h;h++)k=m[h],l=d(g,k),l[c]=(l[c]||0)+1,i(b,k,f)}function g(a,b,c,f){var g,h,i,k,l,m=a._dependentKeys;if(m)for(g=e(f),h=0,i=m.length;i>h;h++)k=m[h],l=d(g,k),l[c]=(l[c]||0)-1,j(b,k,f)}var h=a.create,i=b.watch,j=b.unwatch;c.addDependentKeys=f,c.removeDependentKeys=g}),a("ember-metal/deprecate_property",["ember-metal/core","ember-metal/platform","ember-metal/properties","ember-metal/property_get","ember-metal/property_set","exports"],function(a,b,c,d,e,f){"use strict";function g(a,b,c){function d(){h.deprecate("Usage of `"+b+"` is deprecated, use `"+c+"` instead.")}i&&j(a,b,{configurable:!0,enumerable:!1,set:function(a){d(),l(this,c,a)},get:function(){return d(),k(this,c)}})}var h=a["default"],i=b.hasPropertyAccessors,j=c.defineProperty,k=d.get,l=e.set;f.deprecateProperty=g}),a("ember-metal/dictionary",["ember-metal/platform","exports"],function(a,b){"use strict";var c=a.create;b["default"]=function(a){var b=c(a);return b._dict=null,delete b._dict,b}}),a("ember-metal/enumerable_utils",["ember-metal/array","exports"],function(a,b){"use strict";function c(a,b,c){return a.map?a.map(b,c):p.call(a,b,c)}function d(a,b,c){return a.forEach?a.forEach(b,c):n.call(a,b,c)}function e(a,b,c){return a.filter?a.filter(b,c):m.call(a,b,c)}function f(a,b,c){return a.indexOf?a.indexOf(b,c):o.call(a,b,c)}function g(a,b){return void 0===b?[]:c(b,function(b){return f(a,b)})}function h(a,b){var c=f(a,b);-1===c&&a.push(b)}function i(a,b){var c=f(a,b);-1!==c&&a.splice(c,1)}function j(a,b,c,d){for(var e,f,g=[].concat(d),h=[],i=6e4,j=b,k=c;g.length;)e=k>i?i:k,0>=e&&(e=0),f=g.splice(0,i),f=[j,e].concat(f),j+=i,k-=e,h=h.concat(q.apply(a,f));return h}function k(a,b,c,d){return a.replace?a.replace(b,c,d):j(a,b,c,d)}function l(a,b){var c=[];return d(a,function(a){f(b,a)>=0&&c.push(a)}),c}var m=a.filter,n=a.forEach,o=a.indexOf,p=a.map,q=Array.prototype.splice;b.map=c,b.forEach=d,b.filter=e,b.indexOf=f,b.indexesOf=g,b.addObject=h,b.removeObject=i,b._replace=j,b.replace=k,b.intersection=l,b["default"]={_replace:j,addObject:h,filter:e,forEach:d,indexOf:f,indexesOf:g,intersection:l,map:c,removeObject:i,replace:k}}),a("ember-metal/error",["ember-metal/platform","exports"],function(a,b){"use strict";function c(){var a=Error.apply(this,arguments);Error.captureStackTrace&&Error.captureStackTrace(this,e.Error);for(var b=0;b=0;e-=3)if(b===a[e]&&c===a[e+1]){d=e;break}return d}function f(a,b){var c,d=r(a,!0),e=d.listeners;return e?e.__source__!==a&&(e=d.listeners=v(e),e.__source__=a):(e=d.listeners=v(null),e.__source__=a),c=e[b],c&&c.__source__!==a?(c=e[b]=e[b].slice(),c.__source__=a):c||(c=e[b]=[],c.__source__=a),c}function g(a,b,c){var d=a.__ember_meta__,f=d&&d.listeners&&d.listeners[b];if(f){for(var g=[],h=f.length-3;h>=0;h-=3){var i=f[h],j=f[h+1],k=f[h+2],l=e(c,i,j);-1===l&&(c.push(i,j,k),g.push(i,j,k))}return g}}function h(a,b,c,d,g){q.assert("You must pass at least an object and event name to Ember.addListener",!!a&&!!b),d||"function"!=typeof c||(d=c,c=null);var h=f(a,b),i=e(h,c,d),j=0;g&&(j|=x),-1===i&&(h.push(c,d,j),"function"==typeof a.didAddListener&&a.didAddListener(b,c,d))}function i(a,b,c,d){function g(c,d){var g=f(a,b),h=e(g,c,d);-1!==h&&(g.splice(h,3),"function"==typeof a.didRemoveListener&&a.didRemoveListener(b,c,d))}if(q.assert("You must pass at least an object and event name to Ember.removeListener",!!a&&!!b),d||"function"!=typeof c||(d=c,c=null),d)g(c,d);else{var h=a.__ember_meta__,i=h&&h.listeners&&h.listeners[b];if(!i)return;for(var j=i.length-3;j>=0;j-=3)g(i[j],i[j+1])}}function j(a,b,c,d,g){function h(){return g.call(c)}function i(){-1!==k&&(j[k+2]&=~y)}d||"function"!=typeof c||(d=c,c=null);var j=f(a,b),k=e(j,c,d);return-1!==k&&(j[k+2]|=y),s(h,i)}function k(a,b,c,d,g){function h(){return g.call(c)}function i(){for(var a=0,b=n.length;b>a;a++){var c=n[a];o[a][c+2]&=~y}}d||"function"!=typeof c||(d=c,c=null);var j,k,l,m,n=[],o=[];for(l=0,m=b.length;m>l;l++){j=b[l],k=f(a,j);var p=e(k,c,d);-1!==p&&(k[p+2]|=y,n.push(p),o.push(k))}return s(h,i)}function l(a){var b=a.__ember_meta__.listeners,c=[];if(b)for(var d in b)"__source__"!==d&&b[d]&&c.push(d);return c}function m(a,b,c,d){if(a!==q&&"function"==typeof a.sendEvent&&a.sendEvent(b,c),!d){var e=a.__ember_meta__;d=e&&e.listeners&&e.listeners[b]}if(d){for(var f=d.length-3;f>=0;f-=3){var g=d[f],h=d[f+1],j=d[f+2];h&&(j&y||(j&x&&i(a,b,g,h),g||(g=a),"string"==typeof h?c?u(g,h,c):g[h]():c?t(g,h,c):h.call(g)))}return!0}}function n(a,b){var c=a.__ember_meta__,d=c&&c.listeners&&c.listeners[b];return!(!d||!d.length)}function o(a,b){var c=[],d=a.__ember_meta__,e=d&&d.listeners&&d.listeners[b];if(!e)return c;for(var f=0,g=e.length;g>f;f+=3){var h=e[f],i=e[f+1];c.push([h,i])}return c}function p(){var a=w.call(arguments,-1)[0],b=w.call(arguments,0,-1);return a.__ember_listens__=b,a}var q=a["default"],r=b.meta,s=b.tryFinally,t=b.apply,u=b.applyStr,v=c.create,w=[].slice,x=1,y=2;d.accumulateListeners=g,d.addListener=h,d.suspendListener=j,d.suspendListeners=k,d.watchedEvents=l,d.sendEvent=m,d.hasListeners=n,d.listenersFor=o,d.on=p,d.removeListener=i}),a("ember-metal/expand_properties",["ember-metal/core","ember-metal/error","ember-metal/enumerable_utils","exports"],function(a,b,c,d){"use strict";function e(a,b){if("string"===g.typeOf(a)){var c=a.split(j),d=[c];i(c,function(a,b){a.indexOf(",")>=0&&(d=f(d,a.split(","),b))}),i(d,function(a){b(a.join(""))})}else b(a)}function f(a,b,c){var d=[];return i(a,function(a){i(b,function(b){var e=a.slice(0);e[c]=b,d.push(e)})}),d}var g=a["default"],h=b["default"],i=c.forEach,j=/\{|\}/;d["default"]=function(a,b){if(a.indexOf(" ")>-1)throw new h("Brace expanded properties cannot contain spaces, e.g. `user.{firstName, lastName}` should be `user.{firstName,lastName}`");return e(a,b)}}),a("ember-metal/get_properties",["ember-metal/property_get","ember-metal/utils","exports"],function(a,b,c){"use strict";var d=a.get,e=b.typeOf;c["default"]=function(a){var b={},c=arguments,f=1;2===arguments.length&&"array"===e(arguments[1])&&(f=0,c=arguments[1]);for(var g=c.length;g>f;f++)b[c[f]]=d(a,c[f]);return b}}),a("ember-metal/injected_property",["ember-metal/core","ember-metal/computed","ember-metal/alias","ember-metal/properties","ember-metal/platform","ember-metal/utils","exports"],function(a,b,c,d,e,f,g){"use strict";function h(a,b){this.type=a,this.name=b,this._super$Constructor(i),r.oneWay.call(this)}function i(a){var b=o(this).descs[a];return j.assert("Attempting to lookup an injected property on an object without a container, ensure that the object was instantiated via a container.",this.container),this.container.lookup(b.type+":"+(b.name||a))}var j=a["default"],k=b.ComputedProperty,l=c.AliasedProperty,m=d.Descriptor,n=e.create,o=f.meta;h.prototype=n(m.prototype);var p=h.prototype,q=k.prototype,r=l.prototype;p._super$Constructor=k,p.get=q.get,p.readOnly=q.readOnly,p.teardown=q.teardown,g["default"]=h}),a("ember-metal/instrumentation",["ember-metal/core","ember-metal/utils","exports"],function(a,b,c){"use strict";function d(a,b,c,d){if(arguments.length<=3&&"function"==typeof b&&(d=c,c=b,b=void 0),0===k.length)return c.call(d);var f=b||{},g=e(a,function(){return f});if(g){var h=function(){return c.call(d)},i=function(a){f.exception=a};return j(h,i,g)}return c.call(d)}function e(a,b){var c=l[a];if(c||(c=m(a)),0!==c.length){var d,e=b(),f=i.STRUCTURED_PROFILE;f&&(d=a+": "+e.object,console.time(d));var g,h,j=c.length,k=new Array(j),o=n();for(g=0;j>g;g++)h=c[g],k[g]=h.before(a,o,e);return function(){var b,g,h,i=n();for(b=0,g=c.length;g>b;b++)h=c[b],h.after(a,i,e,k[b]);f&&console.timeEnd(d)}}}function f(a,b){for(var c,d=a.split("."),e=[],f=0,g=d.length;g>f;f++)c=d[f],e.push("*"===c?"[^\\.]*":c);e=e.join("\\."),e+="(\\..*)?";var h={pattern:a,regex:new RegExp("^"+e+"$"),object:b};return k.push(h),l={},h}function g(a){for(var b,c=0,d=k.length;d>c;c++)k[c]===a&&(b=c);k.splice(b,1),l={}}function h(){k.length=0,l={}}var i=a["default"],j=b.tryCatchFinally,k=[];c.subscribers=k;var l={},m=function(a){for(var b,c=[],d=0,e=k.length;e>d;d++)b=k[d],b.regex.test(a)&&c.push(b.object);return l[a]=c,c},n=function(){var a="undefined"!=typeof window?window.performance||{}:{},b=a.now||a.mozNow||a.webkitNow||a.msNow||a.oNow;return b?b.bind(a):function(){return+new Date}}();c.instrument=d,c._instrumentStart=e,c.subscribe=f,c.unsubscribe=g,c.reset=h}),a("ember-metal/is_blank",["ember-metal/is_empty","exports"],function(a,b){"use strict";var c=a["default"];b["default"]=function(a){return c(a)||"string"==typeof a&&null===a.match(/\S/)}}),a("ember-metal/is_empty",["ember-metal/property_get","ember-metal/is_none","exports"],function(a,b,c){"use strict";function d(a){var b=f(a);if(b)return b;if("number"==typeof a.size)return!a.size;var c=typeof a;if("object"===c){var d=e(a,"size");if("number"==typeof d)return!d}if("number"==typeof a.length&&"function"!==c)return!a.length;if("object"===c){var g=e(a,"length");if("number"==typeof g)return!g}return!1}var e=a.get,f=b["default"];c["default"]=d}),a("ember-metal/is_none",["exports"],function(a){"use strict";function b(a){return null===a||void 0===a}a["default"]=b}),a("ember-metal/is_present",["ember-metal/is_blank","exports"],function(a,b){"use strict";var c,d=a["default"];c=function(a){return!d(a)},b["default"]=c}),a("ember-metal/keys",["ember-metal/platform","exports"],function(a,b){"use strict";var c=a.canDefineNonEnumerableProperties,d=Object.keys;d&&c||(d=function(){var a=Object.prototype.hasOwnProperty,b=!{toString:null}.propertyIsEnumerable("toString"),c=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],d=c.length;return function(e){if("object"!=typeof e&&("function"!=typeof e||null===e))throw new TypeError("Object.keys called on non-object");var f,g,h=[];for(f in e)"_super"!==f&&0!==f.lastIndexOf("__",0)&&a.call(e,f)&&h.push(f);if(b)for(g=0;d>g;g++)a.call(e,c[g])&&h.push(c[g]);return h}}()),b["default"]=d}),a("ember-metal/libraries",["ember-metal/core","ember-metal/enumerable_utils","exports"],function(a,b,c){"use strict";function d(){this._registry=[],this._coreLibIndex=0}var e=a["default"],f=b.forEach,g=b.indexOf;d.prototype={constructor:d,_getLibraryByName:function(a){for(var b=this._registry,c=b.length,d=0;c>d;d++)if(b[d].name===a)return b[d]},register:function(a,b,c){var d=this._registry.length;this._getLibraryByName(a)?e.warn('Library "'+a+'" is already registered with Ember.'):(c&&(d=this._coreLibIndex++),this._registry.splice(d,0,{name:a,version:b}))},registerCoreLibrary:function(a,b){this.register(a,b,!0)},deRegister:function(a){var b,c=this._getLibraryByName(a);c&&(b=g(this._registry,c),this._registry.splice(b,1))},each:function(a){e.deprecate("Using Ember.libraries.each() is deprecated. Access to a list of registered libraries is currently a private API. If you are not knowingly accessing this method, your out-of-date Ember Inspector may be doing so."),f(this._registry,function(b){a(b.name,b.version)})}},c["default"]=d}),a("ember-metal/logger",["ember-metal/core","ember-metal/error","exports"],function(a,b,c){"use strict";function d(){return this}function e(a){var b,c;g.imports.console?b=g.imports.console:"undefined"!=typeof console&&(b=console);var d="object"==typeof b?b[a]:null;return d?"function"==typeof d.bind?(c=d.bind(b),c.displayName="console."+a,c):"function"==typeof d.apply?(c=function(){d.apply(b,arguments)},c.displayName="console."+a,c):function(){var a=Array.prototype.join.call(arguments,", ");d(a)}:void 0}function f(a,b){if(!a)try{throw new h("assertion failed: "+b)}catch(c){setTimeout(function(){throw c},0)}}var g=a["default"],h=b["default"];c["default"]={log:e("log")||d,warn:e("warn")||d,error:e("error")||d,info:e("info")||d,debug:e("debug")||e("info")||d,assert:e("assert")||f}}),a("ember-metal/map",["ember-metal/utils","ember-metal/array","ember-metal/platform","ember-metal/deprecate_property","exports"],function(a,b,c,d,f){"use strict";function g(a){throw new TypeError(""+Object.prototype.toString.call(a)+" is not a function")}function h(a){throw new TypeError("Constructor "+a+"requires 'new'")}function i(a){var b=p(null);for(var c in a)b[c]=a[c];return b}function j(a,b){var c=a.keys.copy(),d=i(a.values);return b.keys=c,b.values=d,b.size=a.size,b}function k(){this instanceof k?(this.clear(),this._silenceRemoveDeprecation=!1):h("OrderedSet")}function l(){this instanceof this.constructor?(this.keys=k.create(),this.keys._silenceRemoveDeprecation=!0,this.values=p(null),this.size=0):h("OrderedSet")}function m(a){this._super$constructor(),this.defaultValue=a.defaultValue}var n=a.guidFor,o=b.indexOf,p=c.create,q=d.deprecateProperty;k.create=function(){var a=this;return new a},k.prototype={constructor:k,clear:function(){this.presenceSet=p(null),this.list=[],this.size=0},add:function(a,b){var c=b||n(a),d=this.presenceSet,e=this.list;return d[c]!==!0?(d[c]=!0,this.size=e.push(a),this):void 0},remove:function(a,b){return e.deprecate("Calling `OrderedSet.prototype.remove` has been deprecated, please use `OrderedSet.prototype.delete` instead.",this._silenceRemoveDeprecation),this["delete"](a,b)},"delete":function(a,b){var c=b||n(a),d=this.presenceSet,e=this.list;if(d[c]===!0){delete d[c];var f=o.call(e,a);return f>-1&&e.splice(f,1),this.size=e.length,!0}return!1},isEmpty:function(){return 0===this.size},has:function(a){if(0===this.size)return!1;var b=n(a),c=this.presenceSet;return c[b]===!0},forEach:function(a){if("function"!=typeof a&&g(a),0!==this.size){var b,c=this.list,d=arguments.length;if(2===d)for(b=0;bg;g++)d=e[g],a[d]=b[d];return a}}),a("ember-metal/mixin",["ember-metal/core","ember-metal/merge","ember-metal/array","ember-metal/platform","ember-metal/property_get","ember-metal/property_set","ember-metal/utils","ember-metal/expand_properties","ember-metal/properties","ember-metal/computed","ember-metal/binding","ember-metal/observer","ember-metal/events","ember-metal/streams/utils","exports"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){function p(){var a,b=this.__nextSuper;if(b){var c=arguments.length;return this.__nextSuper=null,a=0===c?b.call(this):1===c?b.call(this,arguments[0]):2===c?b.call(this,arguments[0],arguments[1]):b.apply(this,arguments),this.__nextSuper=b,a}}function q(a){var b=ab(a,!0),c=b.mixins;return c?b.hasOwnProperty("mixins")||(c=b.mixins=X(c)):c=b.mixins={},c}function r(a){return"function"==typeof a&&a.isMethod!==!1&&a!==Boolean&&a!==Object&&a!==Number&&a!==Array&&a!==Date&&a!==String}function s(a,b){var c;return b instanceof J?(c=_(b),a[c]?tb:(a[c]=b,b.properties)):b}function t(a,b,c,d){var e;return e=c[a]||d[a],b[a]&&(e=e?e.concat(b[a]):b[a]),e}function u(a,b,c,d,e){var f;return void 0===d[b]&&(f=e[b]),f=f||a.descs[b],void 0!==f&&f instanceof hb?(c=X(c),c.func=bb(c.func,f.func),c):c}function v(a,b,c,d,e){var f;if(void 0===e[b]&&(f=d[b]),f=f||a[b],void 0===f||"function"!=typeof f)return c;var g;return ub&&(g=c.__hasSuper,void 0===g&&(g=c.toString().indexOf("_super")>-1,c.__hasSuper=g)),ub===!1||g?bb(c,f):c}function w(a,b,c,d){var e=d[b]||a[b];return e?"function"==typeof e.concat?null===c||void 0===c?e:e.concat(c):cb(e).concat(c):cb(c)}function x(a,b,c,d){var e=d[b]||a[b];if(T.assert("You passed in `"+JSON.stringify(c)+"` as the value for `"+b+"` but `"+b+"` cannot be an Array",!db(c)),!e)return c; +var f=U({},e),g=!1;for(var h in c)if(c.hasOwnProperty(h)){var i=c[h];r(i)?(g=!0,f[h]=v(a,h,i,e,{})):f[h]=i}return g&&(f._super=p),f}function y(a,b,c,d,e,f,g,h){if(c instanceof fb){if(c===S&&e[b])return tb;c.func&&(c=u(d,b,c,f,e)),e[b]=c,f[b]=void 0}else g&&V.call(g,b)>=0||"concatenatedProperties"===b||"mergedProperties"===b?c=w(a,b,c,f):h&&V.call(h,b)>=0?c=x(a,b,c,f):r(c)&&(c=v(a,b,c,f,e)),e[b]=void 0,f[b]=c}function z(a,b,c,d,e,f){function g(a){delete c[a],delete d[a]}for(var h,i,j,k,l,m,n=0,o=a.length;o>n;n++)if(h=a[n],T.assert("Expected hash or Mixin instance, got "+Object.prototype.toString.call(h),"object"==typeof h&&null!==h&&"[object Array]"!==Object.prototype.toString.call(h)),i=s(b,h),i!==tb)if(i){m=ab(e),e.willMergeMixin&&e.willMergeMixin(i),k=t("concatenatedProperties",i,d,e),l=t("mergedProperties",i,d,e);for(j in i)i.hasOwnProperty(j)&&(f.push(j),y(e,j,i[j],m,c,d,k,l));i.hasOwnProperty("toString")&&(e.toString=i.toString)}else h.mixins&&(z(h.mixins,b,c,d,e,f),h._without&&W.call(h._without,g))}function A(a,b,c,d){if(vb.test(b)){var e=d.bindings;e?d.hasOwnProperty("bindings")||(e=d.bindings=X(d.bindings)):e=d.bindings={},e[b]=c}}function B(a,b,c){var d=function(c){nb(a,b,null,e,function(){$(a,b,c.value())})},e=function(){c.setValue(Y(a,b),d)};Z(a,b,c.value()),jb(a,b,null,e),c.subscribe(d),void 0===a._streamBindingSubscriptions&&(a._streamBindingSubscriptions=X(null)),a._streamBindingSubscriptions[b]=d}function C(a,b){var c,d,e,f=b.bindings;if(f){for(c in f)if(d=f[c]){if(e=c.slice(0,-7),qb(d)){B(a,e,d);continue}d instanceof ib?(d=d.copy(),d.to(e)):d=new ib(e,d),d.connect(a),a[c]=d}b.bindings={}}}function D(a,b){return C(a,b||ab(a)),a}function E(a,b,c,d,e){var f,g=b.methodName;return d[g]||e[g]?(f=e[g],b=d[g]):c.descs[g]?(b=c.descs[g],f=void 0):(b=void 0,f=a[g]),{desc:b,value:f}}function F(a,b,c,d,e){var f=c[d];if(f)for(var g=0,h=f.length;h>g;g++)e(a,f[g],null,b)}function G(a,b,c){var d=a[b];"function"==typeof d&&(F(a,b,d,"__ember_observesBefore__",mb),F(a,b,d,"__ember_observes__",kb),F(a,b,d,"__ember_listens__",pb)),"function"==typeof c&&(F(a,b,c,"__ember_observesBefore__",lb),F(a,b,c,"__ember_observes__",jb),F(a,b,c,"__ember_listens__",ob))}function H(a,b,c){var d,e,f,g={},h={},i=ab(a),j=[];a._super=p,z(b,q(a),g,h,a,j);for(var k=0,l=j.length;l>k;k++)if(d=j[k],"constructor"!==d&&h.hasOwnProperty(d)&&(f=g[d],e=h[d],f!==S)){for(;f&&f instanceof N;){var m=E(a,f,i,g,h);f=m.desc,e=m.value}(void 0!==f||void 0!==e)&&(G(a,d,e),A(a,d,e,i),gb(a,d,f,e,i))}return c||D(a,i),a}function I(a){var b=rb.call(arguments,1);return H(a,b,!1),a}function J(a,b){this.properties=b;var c=a&&a.length;if(c>0){for(var d=new Array(c),e=0;c>e;e++){var f=a[e];d[e]=f instanceof J?f:new J(void 0,f)}this.mixins=d}else this.mixins=void 0;this.ownerConstructor=void 0}function K(a,b,c){var d=_(a);if(c[d])return!1;if(c[d]=!0,a===b)return!0;for(var e=a.mixins,f=e?e.length:0;--f>=0;)if(K(e[f],b,c))return!0;return!1}function L(a,b,c){if(!c[_(b)])if(c[_(b)]=!0,b.properties){var d=b.properties;for(var e in d)d.hasOwnProperty(e)&&(a[e]=!0)}else b.mixins&&W.call(b.mixins,function(b){L(a,b,c)})}function M(){return S}function N(a){this.methodName=a}function O(a){return new N(a)}function P(){var a,b=rb.call(arguments,-1)[0],c=function(b){a.push(b)},d=rb.call(arguments,0,-1);"function"!=typeof b&&(b=arguments[0],d=rb.call(arguments,1)),a=[];for(var e=0;ea;a++){var c=arguments[a];T.assert("Immediate observers must observe internal properties only, not properties on other objects.","string"!=typeof c||-1===c.indexOf("."))}return P.apply(this,arguments)}function R(){var a,b=rb.call(arguments,-1)[0],c=function(b){a.push(b)},d=rb.call(arguments,0,-1);"function"!=typeof b&&(b=arguments[0],d=rb.call(arguments,1)),a=[];for(var e=0;e-1,vb=/^.+Binding$/;o.mixin=I,o["default"]=J,J._apply=H,J.applyPartial=function(a){var b=rb.call(arguments,1);return H(a,b,!0)},J.finishPartial=D,T.anyUnprocessedMixins=!1,J.create=function(){T.anyUnprocessedMixins=!0;for(var a=this,b=arguments.length,c=new Array(b),d=0;b>d;d++)c[d]=arguments[d];return new a(c,void 0)};var wb=J.prototype;wb.reopen=function(){var a;this.properties?(a=new J(void 0,this.properties),this.properties=void 0,this.mixins=[a]):this.mixins||(this.mixins=[]);var b,c=arguments.length,d=this.mixins;for(b=0;c>b;b++)a=arguments[b],T.assert("Expected hash or Mixin instance, got "+Object.prototype.toString.call(a),"object"==typeof a&&null!==a&&"[object Array]"!==Object.prototype.toString.call(a)),d.push(a instanceof J?a:new J(void 0,a));return this},wb.apply=function(a){return H(a,[this],!1)},wb.applyPartial=function(a){return H(a,[this],!0)},wb.detect=function(a){if(!a)return!1;if(a instanceof J)return K(a,this,{});var b=a.__ember_meta__,c=b&&b.mixins;return c?!!c[_(this)]:!1},wb.without=function(){var a=new J([this]);return a._without=rb.call(arguments),a},wb.keys=function(){var a={},b={},c=[];L(a,this,b);for(var d in a)a.hasOwnProperty(d)&&c.push(d);return c},J.mixins=function(a){var b=a.__ember_meta__,c=b&&b.mixins,d=[];if(!c)return d;for(var e in c){var f=c[e];f.properties||d.push(f)}return d},S=new fb,S.toString=function(){return"(Required Property)"},o.required=M,N.prototype=new fb,o.aliasMethod=O,o.observer=P,o.immediateObserver=Q,o.beforeObserver=R,o.IS_BINDING=vb,o.Mixin=J}),a("ember-metal/observer",["ember-metal/watching","ember-metal/array","ember-metal/events","exports"],function(a,b,c,d){"use strict";function e(a){return a+y}function f(a){return a+z}function g(a,b,c,d){return u(a,e(b),c,d),q(a,b),this}function h(a,b){return t(a,e(b))}function i(a,b,c,d){return r(a,b),v(a,e(b),c,d),this}function j(a,b,c,d){return u(a,f(b),c,d),q(a,b),this}function k(a,b,c,d,e){return x(a,f(b),c,d,e)}function l(a,b,c,d,f){return x(a,e(b),c,d,f)}function m(a,b,c,d,e){var g=s.call(b,f);return w(a,g,c,d,e)}function n(a,b,c,d,f){var g=s.call(b,e);return w(a,g,c,d,f)}function o(a,b){return t(a,f(b))}function p(a,b,c,d){return r(a,b),v(a,f(b),c,d),this}var q=a.watch,r=a.unwatch,s=b.map,t=c.listenersFor,u=c.addListener,v=c.removeListener,w=c.suspendListeners,x=c.suspendListener,y=":change",z=":before";d.addObserver=g,d.observersFor=h,d.removeObserver=i,d.addBeforeObserver=j,d._suspendBeforeObserver=k,d._suspendObserver=l,d._suspendBeforeObservers=m,d._suspendObservers=n,d.beforeObserversFor=o,d.removeBeforeObserver=p}),a("ember-metal/observer_set",["ember-metal/utils","ember-metal/events","exports"],function(a,b,c){"use strict";function d(){this.clear()}var e=a.guidFor,f=b.sendEvent;c["default"]=d,d.prototype.add=function(a,b,c){var d,f=this.observerSet,g=this.observers,h=e(a),i=f[h];return i||(f[h]=i={}),d=i[b],void 0===d&&(d=g.push({sender:a,keyName:b,eventName:c,listeners:[]})-1,i[b]=d),g[d].listeners},d.prototype.flush=function(){var a,b,c,d,e=this.observers;for(this.clear(),a=0,b=e.length;b>a;++a)c=e[a],d=c.sender,d.isDestroying||d.isDestroyed||f(d,c.eventName,[d,c.keyName],c.listeners)},d.prototype.clear=function(){this.observerSet={},this.observers=[]}}),a("ember-metal/path_cache",["ember-metal/cache","exports"],function(a,b){"use strict";function c(a){return m.get(a)}function d(a){return n.get(a)}function e(a){return o.get(a)}function f(a){return-1!==p.get(a)}function g(a){return q.get(a)}function h(a){return r.get(a)}var i=a["default"],j=/^([A-Z$]|([0-9][A-Z$]))/,k=/^([A-Z$]|([0-9][A-Z$])).*[\.]/,l="this.",m=new i(1e3,function(a){return j.test(a)}),n=new i(1e3,function(a){return k.test(a)}),o=new i(1e3,function(a){return 0===a.lastIndexOf(l,0)}),p=new i(1e3,function(a){return a.indexOf(".")}),q=new i(1e3,function(a){var b=p.get(a);return-1===b?a:a.slice(0,b)}),r=new i(1e3,function(a){var b=p.get(a);return-1!==b?a.slice(b+1):void 0}),s={isGlobalCache:m,isGlobalPathCache:n,hasThisCache:o,firstDotIndexCache:p,firstKeyCache:q,tailPathCache:r};b.caches=s,b.isGlobal=c,b.isGlobalPath=d,b.hasThis=e,b.isPath=f,b.getFirstKey=g,b.getTailPath=h}),a("ember-metal/platform",["ember-metal/platform/define_property","ember-metal/platform/define_properties","ember-metal/platform/create","exports"],function(a,b,c,d){"use strict";var e=a.hasES5CompliantDefineProperty,f=a.defineProperty,g=b["default"],h=c["default"],i=e,j=e;d.create=h,d.defineProperty=f,d.defineProperties=g,d.hasPropertyAccessors=i,d.canDefineNonEnumerableProperties=j}),a("ember-metal/platform/create",["ember-metal/platform/define_properties","exports"],function(a,b){var c,d=a["default"];if(!Object.create||Object.create(null).hasOwnProperty){var e,f=!({__proto__:null}instanceof Object);e=f||"undefined"==typeof document?function(){return{__proto__:null}}:function(){function a(){}var b=document.createElement("iframe"),c=document.body||document.documentElement;b.style.display="none",c.appendChild(b),b.src="javascript:";var d=b.contentWindow.Object.prototype;return c.removeChild(b),b=null,delete d.constructor,delete d.hasOwnProperty,delete d.propertyIsEnumerable,delete d.isPrototypeOf,delete d.toLocaleString,delete d.toString,delete d.valueOf,a.prototype=d,e=function(){return new a},new a},c=Object.create=function(a,b){function c(){}var f;if(null===a)f=e();else{if("object"!=typeof a&&"function"!=typeof a)throw new TypeError("Object prototype may only be an Object or null");c.prototype=a,f=new c}return void 0!==b&&d(f,b),f}}else c=Object.create;b["default"]=c}),a("ember-metal/platform/define_properties",["ember-metal/platform/define_property","exports"],function(a,b){"use strict";var c=a.defineProperty,d=Object.defineProperties;d||(d=function(a,b){for(var d in b)b.hasOwnProperty(d)&&"__proto__"!==d&&c(a,d,b[d]);return a},Object.defineProperties=d),b["default"]=d}),a("ember-metal/platform/define_property",["exports"],function(a){"use strict";var b=function(a){if(a)try{var b=5,c={};if(a(c,"a",{configurable:!0,enumerable:!0,get:function(){return b},set:function(a){b=a}}),5!==c.a)return;if(c.a=10,10!==b)return;a(c,"a",{configurable:!0,enumerable:!1,writable:!0,value:!0});for(var d in c)if("a"===d)return;if(c.a!==!0)return;if(a(c,"a",{enumerable:!1}),c.a!==!0)return;return a}catch(e){return}}(Object.defineProperty),c=!!b;if(c&&"undefined"!=typeof document){var d=function(){try{return b(document.createElement("div"),"definePropertyOnDOM",{}),!0}catch(a){}return!1}();d||(b=function(a,b,c){var d;return d="object"==typeof Node?a instanceof Node:"object"==typeof a&&"number"==typeof a.nodeType&&"string"==typeof a.nodeName,d?a[b]=c.value:Object.defineProperty(a,b,c)})}c||(b=function(a,b,c){c.get||(a[b]=c.value)}),a.hasES5CompliantDefineProperty=c,a.defineProperty=b}),a("ember-metal/properties",["ember-metal/core","ember-metal/utils","ember-metal/platform","ember-metal/property_events","exports"],function(a,b,c,d,e){"use strict";function f(){}function g(a){return function(b){j.assert("You must use Ember.set() to set the `"+a+"` property (of "+this+") to `"+b+"`.",!1)}}function h(a){return function(){var b=this.__ember_meta__;return b&&b.values[a]}}function i(a,b,c,d,e){var i,j,o,p;e||(e=k(a)),i=e.descs,j=e.descs[b];var q=e.watching[b];return o=void 0!==q&&q>0,j instanceof f&&j.teardown(a,b),c instanceof f?(p=c,i[b]=c,o&&m?l(a,b,{configurable:!0,enumerable:!0,writable:!0,value:void 0}):a[b]=void 0,c.setup&&c.setup(a,b)):(i[b]=void 0,null==c?(p=d,o&&m?(e.values[b]=d,l(a,b,{configurable:!0,enumerable:!0,set:g(b),get:h(b)})):a[b]=d):(p=c,l(a,b,c))),o&&n(a,b,e),a.didDefineProperty&&a.didDefineProperty(a,b,p),this}var j=a["default"],k=b.meta,l=c.defineProperty,m=c.hasPropertyAccessors,n=d.overrideChains;e.Descriptor=f,e.MANDATORY_SETTER_FUNCTION=g,e.DEFAULT_GETTER_FUNCTION=h,e.defineProperty=i}),a("ember-metal/property_events",["ember-metal/utils","ember-metal/events","ember-metal/observer_set","exports"],function(a,b,c,d){"use strict";function e(a,b){var c=a.__ember_meta__,d=c&&c.watching[b]>0||"length"===b,e=c&&c.proto,f=c&&c.descs[b];d&&e!==a&&(f&&f.willChange&&f.willChange(a,b),g(a,b,c),k(a,b,c),q(a,b))}function f(a,b){var c=a.__ember_meta__,d=c&&c.watching[b]>0||"length"===b,e=c&&c.proto,f=c&&c.descs[b];e!==a&&(f&&f.didChange&&f.didChange(a,b),(d||"length"===b)&&(c&&c.deps&&c.deps[b]&&h(a,b,c),l(a,b,c,!1),r(a,b)))}function g(a,b,c){if(!a.isDestroying){var d;if(c&&c.deps&&(d=c.deps[b])){var f=s,g=!f;g&&(f=s={}),j(e,a,d,b,f,c),g&&(s=null)}}}function h(a,b,c){if(!a.isDestroying){var d;if(c&&c.deps&&(d=c.deps[b])){var e=t,g=!e;g&&(e=t={}),j(f,a,d,b,e,c),g&&(t=null)}}}function i(a){var b=[];for(var c in a)b.push(c);return b}function j(a,b,c,d,e,f){var g,h,j,k,l=u(b),m=e[l];if(m||(m=e[l]={}),!m[d]&&(m[d]=!0,c)){g=i(c);var n=f.descs;for(j=0;jd;d++)g[d].willChange(h);for(d=0,f=h.length;f>d;d+=2)e(h[d],h[d+1])}}function l(a,b,c,d){if(c&&c.hasOwnProperty("chainWatchers")&&c.chainWatchers[b]){var e,g,h=c.chainWatchers[b],i=d?null:[];for(e=0,g=h.length;g>e;e++)h[e].didChange(i);if(!d)for(e=0,g=i.length;g>e;e+=2)f(i[e],i[e+1])}}function m(a,b,c){l(a,b,c,!0)}function n(){B++}function o(){B--,0>=B&&(z.clear(),A.flush())}function p(a,b){n(),v(a,o,b)}function q(a,b){if(!a.isDestroying){var c,d,e=b+":before";B?(c=z.add(a,b,e),d=x(a,e,c),w(a,e,[a,b],d)):w(a,e,[a,b])}}function r(a,b){if(!a.isDestroying){var c,d=b+":change";B?(c=A.add(a,b,d),x(a,d,c)):w(a,d,[a,b])}}var s,t,u=a.guidFor,v=a.tryFinally,w=b.sendEvent,x=b.accumulateListeners,y=c["default"],z=new y,A=new y,B=0;d.propertyWillChange=e,d.propertyDidChange=f,d.overrideChains=m,d.beginPropertyChanges=n,d.endPropertyChanges=o,d.changeProperties=p}),a("ember-metal/property_get",["ember-metal/core","ember-metal/error","ember-metal/path_cache","ember-metal/platform","exports"],function(a,b,c,d,e){"use strict";function f(a,b){var c,d=m(b),e=!d&&k(b);if((!a||e)&&(a=i.lookup),d&&(b=b.slice(5)),i.deprecate("normalizeTuple will return '"+b+"' as a non-global. This behavior will change in the future (issue #3852)",a===i.lookup||!a||d||e||!k(b+".")),a===i.lookup&&(c=b.match(o)[0],a=p(a,c),b=b.slice(c.length+1)),!b||0===b.length)throw new j("Path cannot be empty");return[a,b]}function g(a,b){var c,d,e,g,h;if(null===a&&!l(b))return p(i.lookup,b);for(c=m(b),(!a||c)&&(e=f(a,b),a=e[0],b=e[1],e.length=0),d=b.split("."),h=d.length,g=0;null!=a&&h>g;g++)if(a=p(a,d[g],!0),a&&a.isDestroyed)return void 0;return a}function h(a,b,c){var d=p(a,b);return void 0===d?c:d}var i=a["default"],j=b["default"],k=c.isGlobalPath,l=c.isPath,m=c.hasThis,n=d.hasPropertyAccessors,o=/^([^\.]+)/,p=function(a,b){if(""===b)return a;if(b||"string"!=typeof a||(b=a,a=null),i.assert("Cannot call get with "+b+" key.",!!b),i.assert("Cannot call get with '"+b+"' on an undefined object.",void 0!==a),null===a){var c=g(a,b);return i.deprecate("Ember.get fetched '"+b+"' from the global context. This behavior will change in the future (issue #3852)",!c||a&&a!==i.lookup||l(b)||k(b+".")),c}var d,e=a.__ember_meta__,f=e&&e.descs[b];return void 0===f&&l(b)?g(a,b):f?f.get(a,b):(d=n&&e&&e.watching[b]>0?e.values[b]:a[b],void 0!==d||"object"!=typeof a||b in a||"function"!=typeof a.unknownProperty?d:a.unknownProperty(b))};e.getWithDefault=h,e["default"]=p,e.get=p,e.normalizeTuple=f,e._getPath=g}),a("ember-metal/property_set",["ember-metal/core","ember-metal/property_get","ember-metal/property_events","ember-metal/properties","ember-metal/error","ember-metal/path_cache","ember-metal/platform","exports"],function(a,b,c,d,e,f,g,h){"use strict";function i(a,b,c,d){var e;if(e=b.slice(b.lastIndexOf(".")+1),b=b===e?e:b.slice(0,b.length-(e.length+1)),"this"!==b&&(a=l(a,b)),!e||0===e.length)throw new p("Property set failed: You passed an empty path");if(!a){if(d)return;throw new p('Property set failed: object in path "'+b+'" could not be found or was destroyed.')}return t(a,e,c)}function j(a,b,c){return t(a,b,c,!0)}var k=a["default"],l=b._getPath,m=c.propertyWillChange,n=c.propertyDidChange,o=d.defineProperty,p=e["default"],q=f.isPath,r=g.hasPropertyAccessors,s=/^([A-Z$]|([0-9][A-Z$]))/,t=function(a,b,c,d){if("string"==typeof a&&(k.assert("Path '"+a+"' must be global if no obj is given.",s.test(a)),c=b,b=a,a=null),k.assert("Cannot call set with "+b+" key.",!!b),!a)return i(a,b,c,d);var e,f,g=a.__ember_meta__,h=g&&g.descs[b];if(void 0===h&&q(b))return i(a,b,c,d);if(k.assert("You need to provide an object and key to `set`.",!!a&&void 0!==b),k.assert("calling set on destroyed object",!a.isDestroyed),void 0!==h)h.set(a,b,c);else{if("object"==typeof a&&null!==a&&void 0!==c&&a[b]===c)return c;e="object"==typeof a&&!(b in a),e&&"function"==typeof a.setUnknownProperty?a.setUnknownProperty(b,c):g&&g.watching[b]>0?(g.proto!==a&&(f=r?g.values[b]:a[b]),c!==f&&(m(a,b),r?(void 0!==f||b in a)&&Object.prototype.propertyIsEnumerable.call(a,b)?g.values[b]=c:o(a,b,null,c):a[b]=c,n(a,b))):a[b]=c}return c};h.trySet=j,h.set=t}),a("ember-metal/run_loop",["ember-metal/core","ember-metal/utils","ember-metal/array","ember-metal/property_events","backburner","exports"],function(a,b,c,d,e,f){"use strict";function g(a){i.currentRunLoop=a}function h(a,b){i.currentRunLoop=b}function i(){return r.run.apply(r,arguments)}function j(){i.currentRunLoop||k.assert("You have turned on testing mode, which disabled the run-loop's autorun. You will need to wrap any code with asynchronous side-effects in a run",!k.testing)}var k=a["default"],l=b.apply,m=b.GUID_KEY,n=c.indexOf,o=d.beginPropertyChanges,p=d.endPropertyChanges,q=e["default"],r=new q(["sync","actions","destroy"],{GUID_KEY:m,sync:{before:o,after:p},defaultQueue:"actions",onBegin:g,onEnd:h,onErrorTarget:k,onErrorMethod:"onerror"}),s=[].slice;f["default"]=i,i.join=function(){return r.join.apply(r,arguments)},i.bind=function(){var a=s.call(arguments);return function(){return i.join.apply(i,a.concat(s.call(arguments)))}},i.backburner=r,i.currentRunLoop=null,i.queues=r.queueNames,i.begin=function(){r.begin()},i.end=function(){r.end()},i.schedule=function(){j(),r.schedule.apply(r,arguments)},i.hasScheduledTimers=function(){return r.hasTimers()},i.cancelTimers=function(){r.cancelTimers()},i.sync=function(){r.currentInstance&&r.currentInstance.queues.sync.flush()},i.later=function(){return r.later.apply(r,arguments)},i.once=function(){j();var a=arguments.length,b=new Array(a);b[0]="actions";for(var c=0;a>c;c++)b[c+1]=arguments[c];return l(r,r.scheduleOnce,b)},i.scheduleOnce=function(){return j(),r.scheduleOnce.apply(r,arguments)},i.next=function(){var a=s.call(arguments);return a.push(1),l(r,r.later,a)},i.cancel=function(a){return r.cancel(a)},i.debounce=function(){return r.debounce.apply(r,arguments)},i.throttle=function(){return r.throttle.apply(r,arguments)},i._addQueue=function(a,b){-1===n.call(i.queues,a)&&i.queues.splice(n.call(i.queues,b)+1,0,a)}}),a("ember-metal/set_properties",["ember-metal/property_events","ember-metal/property_set","ember-metal/keys","exports"],function(a,b,c,d){"use strict";var e=a.changeProperties,f=b.set,g=c["default"];d["default"]=function(a,b){return b&&"object"==typeof b?(e(function(){for(var c,d=g(b),e=0,h=d.length;h>e;e++)c=d[e],f(a,c,b[c])}),a):a}}),a("ember-metal/streams/simple",["ember-metal/merge","ember-metal/streams/stream","ember-metal/platform","ember-metal/streams/utils","exports"],function(a,b,c,d,e){"use strict";function f(a){this.init(),this.source=a,k(a)&&a.subscribe(this._didChange,this)}var g=a["default"],h=b["default"],i=c.create,j=d.read,k=d.isStream;f.prototype=i(h.prototype),g(f.prototype,{valueFn:function(){return j(this.source)},setValue:function(a){var b=this.source;k(b)&&b.setValue(a)},setSource:function(a){var b=this.source;a!==b&&(k(b)&&b.unsubscribe(this._didChange,this),k(a)&&a.subscribe(this._didChange,this),this.source=a,this.notify())},_didChange:function(){this.notify()},_super$destroy:h.prototype.destroy,destroy:function(){return this._super$destroy()?(k(this.source)&&this.source.unsubscribe(this._didChange,this),this.source=void 0,!0):void 0}}),e["default"]=f}),a("ember-metal/streams/stream",["ember-metal/platform","ember-metal/path_cache","exports"],function(a,b,c){"use strict";function d(a){this.init(),this.valueFn=a}var e=a.create,f=b.getFirstKey,g=b.getTailPath;d.prototype={isStream:!0,init:function(){this.state="dirty",this.cache=void 0,this.subscribers=void 0,this.children=void 0,this._label=void 0},get:function(a){var b=f(a),c=g(a);void 0===this.children&&(this.children=e(null));var d=this.children[b];return void 0===d&&(d=this._makeChildStream(b,a),this.children[b]=d),void 0===c?d:d.get(c)},value:function(){return"clean"===this.state?this.cache:"dirty"===this.state?(this.state="clean",this.cache=this.valueFn()):void 0},valueFn:function(){throw new Error("Stream error: valueFn not implemented")},setValue:function(){throw new Error("Stream error: setValue not implemented")},notify:function(){this.notifyExcept()},notifyExcept:function(a,b){"clean"===this.state&&(this.state="dirty",this._notifySubscribers(a,b))},subscribe:function(a,b){void 0===this.subscribers?this.subscribers=[a,b]:this.subscribers.push(a,b)},unsubscribe:function(a,b){var c=this.subscribers;if(void 0!==c)for(var d=0,e=c.length;e>d;d+=2)if(c[d]===a&&c[d+1]===b)return void c.splice(d,2)},_notifySubscribers:function(a,b){var c=this.subscribers;if(void 0!==c)for(var d=0,e=c.length;e>d;d+=2){var f=c[d],g=c[d+1];(f!==a||g!==b)&&(void 0===g?f(this):f.call(g,this))}},destroy:function(){if("destroyed"!==this.state){this.state="destroyed";var a=this.children;for(var b in a)a[b].destroy();return!0}},isGlobal:function(){for(var a=this;void 0!==a;){if(a._isRoot)return a._isGlobal;a=a.source}}},c["default"]=d}),a("ember-metal/streams/stream_binding",["ember-metal/platform","ember-metal/merge","ember-metal/run_loop","ember-metal/streams/stream","exports"],function(a,b,c,d,f){"use strict";function g(a){e.assert("StreamBinding error: tried to bind to object that is not a stream",a&&a.isStream),this.init(),this.stream=a,this.senderCallback=void 0,this.senderContext=void 0,this.senderValue=void 0,a.subscribe(this._onNotify,this)}var h=a.create,i=b["default"],j=c["default"],k=d["default"];g.prototype=h(k.prototype),i(g.prototype,{valueFn:function(){return this.stream.value()},_onNotify:function(){this._scheduleSync(void 0,void 0,this)},setValue:function(a,b,c){this._scheduleSync(a,b,c)},_scheduleSync:function(a,b,c){void 0===this.senderCallback&&void 0===this.senderContext?(this.senderCallback=b,this.senderContext=c,this.senderValue=a,j.schedule("sync",this,this._sync)):this.senderContext!==this&&(this.senderCallback=b,this.senderContext=c,this.senderValue=a)},_sync:function(){if("destroyed"!==this.state){this.senderContext!==this&&this.stream.setValue(this.senderValue);var a=this.senderCallback,b=this.senderContext;this.senderCallback=void 0,this.senderContext=void 0,this.senderValue=void 0,this.state="clean",this.notifyExcept(a,b)}},_super$destroy:k.prototype.destroy,destroy:function(){return this._super$destroy()?(this.stream.unsubscribe(this._onNotify,this),!0):void 0}}),f["default"]=g}),a("ember-metal/streams/utils",["./stream","exports"],function(a,b){"use strict";function c(a){return a&&a.isStream}function d(a,b,c){a&&a.isStream&&a.subscribe(b,c)}function e(a,b,c){a&&a.isStream&&a.unsubscribe(b,c)}function f(a){return a&&a.isStream?a.value():a}function g(a){for(var b=a.length,c=new Array(b),d=0;b>d;d++)c[d]=f(a[d]);return c}function h(a){var b={};for(var c in a)b[c]=f(a[c]);return b}function i(a){for(var b=a.length,d=!1,e=0;b>e;e++)if(c(a[e])){d=!0;break}return d}function j(a){var b=!1;for(var d in a)if(c(a[d])){b=!0;break}return b}function k(a,b){var c=i(a);if(c){var e,f,h=new m(function(){return g(a).join(b)});for(e=0,f=a.length;f>e;e++)d(a[e],h.notify,h);return h}return a.join(b)}function l(a,b){if(c(a)){var e=new m(b);return d(a,e.notify,e),e}return b()}var m=a["default"];b.isStream=c,b.subscribe=d,b.unsubscribe=e,b.read=f,b.readArray=g,b.readHash=h,b.scanArray=i,b.scanHash=j,b.concat=k,b.chain=l}),a("ember-metal/utils",["ember-metal/core","ember-metal/platform","ember-metal/array","exports"],function(a,b,c,d){function e(){return++C}function f(a){var b={};b[a]=1;for(var c in b)if(c===a)return c;return a}function g(a,b){b||(b=D);var c=b+e();return a&&(null===a[G]?a[G]=c:(H.value=c,x(a,G,H))),c}function h(a){if(void 0===a)return"(undefined)";if(null===a)return"(null)";var b,c=typeof a;switch(c){case"number":return b=E[a],b||(b=E[a]="nu"+a),b;case"string":return b=F[a],b||(b=F[a]="st"+e()),b;case"boolean":return a?"(true)":"(false)";default:return a[G]?a[G]:a===Object?"(Object)":a===Array?"(Array)":(b=D+e(),null===a[G]?a[G]=b:(H.value=b,x(a,G,H)),b)}}function i(a){this.descs={},this.watching={},this.cache={},this.cacheMeta={},this.source=a,this.deps=void 0,this.listeners=void 0,this.mixins=void 0,this.bindings=void 0,this.chains=void 0,this.values=void 0,this.proto=void 0}function j(a,b){var c=a.__ember_meta__;return b===!1?c||J:(c?c.source!==a&&(y&&x(a,"__ember_meta__",I),c=A(c),c.descs=A(c.descs),c.watching=A(c.watching),c.cache={},c.cacheMeta={},c.source=a,z&&(c.values=A(c.values)),a.__ember_meta__=c):(y&&x(a,"__ember_meta__",I),c=new i(a),z&&(c.values={}),a.__ember_meta__=c,c.descs.constructor=null),c)}function k(a,b){var c=j(a,!1);return c[b]}function l(a,b,c){var d=j(a,!0);return d[b]=c,c}function m(a,b,c){w.deprecate("Ember.metaPath is deprecated and will be removed from future releases.");for(var d,e,f=j(a,c),g=0,h=b.length;h>g;g++){if(d=b[g],e=f[d]){if(e.__ember_source__!==a){if(!c)return void 0;e=f[d]=A(e),e.__ember_source__=a}}else{if(!c)return void 0;e=f[d]={__ember_source__:a}}f=e}return e}function n(a,b){function c(){var c,d=this&&this.__nextSuper,e=arguments.length;if(this&&(this.__nextSuper=b),0===e)c=a.call(this);else if(1===e)c=a.call(this,arguments[0]);else if(2===e)c=a.call(this,arguments[0],arguments[1]);else{for(var f=new Array(e),g=0;e>g;g++)f[g]=arguments[g];c=u(this,a,f)}return this&&(this.__nextSuper=d),c}return c.wrappedFunction=a,c.wrappedFunction.__ember_arity__=a.length,c.__ember_observes__=a.__ember_observes__,c.__ember_observesBefore__=a.__ember_observesBefore__,c.__ember_listens__=a.__ember_listens__,c}function o(a){var b,c;return"undefined"==typeof K&&(b="ember-runtime/mixins/array",w.__loader.registry[b]&&(K=w.__loader.require(b)["default"])),!a||a.setInterval?!1:Array.isArray&&Array.isArray(a)?!0:K&&K.detect(a)?!0:(c=s(a),"array"===c?!0:void 0!==a.length&&"object"===c?!0:!1)}function p(a){return null===a||void 0===a?[]:o(a)?a:[a]}function q(a,b){return!(!a||"function"!=typeof a[b])}function r(a,b,c){return q(a,b)?c?v(a,b,c):v(a,b):void 0}function s(a){var b,c;return"undefined"==typeof Q&&(c="ember-runtime/system/object",w.__loader.registry[c]&&(Q=w.__loader.require(c)["default"])),b=null===a||void 0===a?String(a):O[R.call(a)]||"object","function"===b?Q&&Q.detect(a)&&(b="class"):"object"===b&&(a instanceof Error?b="error":Q&&a instanceof Q?b="instance":a instanceof Date&&(b="date")),b}function t(a){var b=s(a);if("array"===b)return"["+a+"]";if("object"!==b)return a+"";var c,d=[];for(var e in a)if(a.hasOwnProperty(e)){if(c=a[e],"toString"===c)continue;"function"===s(c)&&(c="function() { ... }"),d.push(c&&"function"!=typeof c.toString?e+": "+R.call(c):e+": "+c)}return"{"+d.join(", ")+"}"}function u(a,b,c){var d=c&&c.length;if(!c||!d)return b.call(a);switch(d){case 1:return b.call(a,c[0]);case 2:return b.call(a,c[0],c[1]);case 3:return b.call(a,c[0],c[1],c[2]);case 4:return b.call(a,c[0],c[1],c[2],c[3]);case 5:return b.call(a,c[0],c[1],c[2],c[3],c[4]);default:return b.apply(a,c)}}function v(a,b,c){var d=c&&c.length;if(!c||!d)return a[b]();switch(d){case 1:return a[b](c[0]);case 2:return a[b](c[0],c[1]);case 3:return a[b](c[0],c[1],c[2]);case 4:return a[b](c[0],c[1],c[2],c[3]);case 5:return a[b](c[0],c[1],c[2],c[3],c[4]);default:return a[b].apply(a,c)}}var w=a["default"],x=b.defineProperty,y=b.canDefineNonEnumerableProperties,z=b.hasPropertyAccessors,A=b.create,B=c.forEach,C=0;d.uuid=e;var D="ember",E=[],F={},G=f("__ember"+ +new Date),H={writable:!1,configurable:!1,enumerable:!1,value:null};d.generateGuid=g,d.guidFor=h;var I={writable:!0,configurable:!1,enumerable:!1,value:null};i.prototype={chainWatchers:null},y||(i.prototype.__preventPlainObject__=!0,i.prototype.toJSON=function(){});var J=new i(null);z&&(J.values={}),d.getMeta=k,d.setMeta=l,d.metaPath=m,d.wrap=n;var K;d.makeArray=p,d.tryInvoke=r;var L,M=function(){var a=0;try{try{}finally{throw a++,new Error("needsFinallyFixTest")}}catch(b){}return 1!==a}();L=M?function(a,b,c){var d,e,f;c=c||this;try{d=a.call(c)}finally{try{e=b.call(c)}catch(g){f=g}}if(f)throw f;return void 0===e?d:e}:function(a,b,c){var d,e;c=c||this;try{d=a.call(c)}finally{e=b.call(c)}return void 0===e?d:e};var N;N=M?function(a,b,c,d){var e,f,g;d=d||this;try{e=a.call(d)}catch(h){e=b.call(d,h)}finally{try{f=c.call(d)}catch(i){g=i}}if(g)throw g;return void 0===f?e:f}:function(a,b,c,d){var e,f;d=d||this;try{e=a.call(d)}catch(g){e=b.call(d,g)}finally{f=c.call(d)}return void 0===f?e:f};var O={},P="Boolean Number String Function Array Date RegExp Object".split(" ");B.call(P,function(a){O["[object "+a+"]"]=a.toLowerCase()});var Q,R=Object.prototype.toString;d.inspect=t,d.apply=u,d.applyStr=v,d.GUID_KEY=G,d.META_DESC=I,d.EMPTY_META=J,d.meta=j,d.typeOf=s,d.tryCatchFinally=N,d.isArray=o,d.canInvoke=q,d.tryFinally=L}),a("ember-metal/watch_key",["ember-metal/core","ember-metal/utils","ember-metal/platform","ember-metal/properties","exports"],function(a,b,c,d,e){"use strict";function f(a,b,c){if("length"!==b||"array"!==i(a)){var d=c||h(a),e=d.watching;if(e[b])e[b]=(e[b]||0)+1;else{e[b]=1;var f=d.descs[b];f&&f.willWatch&&f.willWatch(a,b),"function"==typeof a.willWatchProperty&&a.willWatchProperty(b),k&&n(d,a,b)}}}function g(a,b,c){var d=c||h(a),e=d.watching;if(1===e[b]){e[b]=0;var f=d.descs[b];f&&f.didUnwatch&&f.didUnwatch(a,b),"function"==typeof a.didUnwatchProperty&&a.didUnwatchProperty(b),k&&b in a&&j(a,b,{configurable:!0,enumerable:Object.prototype.propertyIsEnumerable.call(a,b),set:function(c){j(a,b,{configurable:!0,writable:!0,enumerable:!0,value:c}),delete d.values[b]},get:m(b)})}else e[b]>1&&e[b]--}var h=(a["default"],b.meta),i=b.typeOf,j=c.defineProperty,k=c.hasPropertyAccessors,l=d.MANDATORY_SETTER_FUNCTION,m=d.DEFAULT_GETTER_FUNCTION;e.watchKey=f;var n=function(a,b,c){var d=Object.getOwnPropertyDescriptor&&Object.getOwnPropertyDescriptor(b,c),e=d?d.configurable:!0,f=d?d.writable:!0,g=d?"value"in d:!0;e&&f&&g&&c in b&&(a.values[c]=b[c],j(b,c,{configurable:!0,enumerable:Object.prototype.propertyIsEnumerable.call(b,c),set:l(c),get:m(c)}))};e.unwatchKey=g}),a("ember-metal/watch_path",["ember-metal/utils","ember-metal/chains","exports"],function(a,b,c){"use strict";function d(a,b){var c=b||g(a),d=c.chains;return d?d.value()!==a&&(d=c.chains=d.copy(a)):d=c.chains=new i(null,null,a),d}function e(a,b,c){if("length"!==b||"array"!==h(a)){var e=c||g(a),f=e.watching;f[b]?f[b]=(f[b]||0)+1:(f[b]=1,d(a,e).add(b))}}function f(a,b,c){var e=c||g(a),f=e.watching;1===f[b]?(f[b]=0,d(a,e).remove(b)):f[b]>1&&f[b]--}var g=a.meta,h=a.typeOf,i=b.ChainNode;c.watchPath=e,c.unwatchPath=f}),a("ember-metal/watching",["ember-metal/utils","ember-metal/chains","ember-metal/watch_key","ember-metal/watch_path","ember-metal/path_cache","exports"],function(a,b,c,d,e,f){"use strict"; +function g(a,b,c){("length"!==b||"array"!==k(a))&&(r(b)?p(a,b,c):n(a,b,c))}function h(a,b){var c=a.__ember_meta__;return(c&&c.watching[b])>0}function i(a,b,c){("length"!==b||"array"!==k(a))&&(r(b)?q(a,b,c):o(a,b,c))}function j(a){var b,c,d,e,f=a.__ember_meta__;if(f&&(a.__ember_meta__=null,b=f.chains))for(s.push(b);s.length>0;){if(b=s.pop(),c=b._chains)for(d in c)c.hasOwnProperty(d)&&s.push(c[d]);b._watching&&(e=b._object,e&&l(e,b._key,b))}}var k=a.typeOf,l=b.removeChainWatcher,m=b.flushPendingChains,n=c.watchKey,o=c.unwatchKey,p=d.watchPath,q=d.unwatchPath,r=e.isPath;f.watch=g,f.isWatching=h,g.flushPending=m,f.unwatch=i;var s=[];f.destroy=j}),a("ember-routing-htmlbars",["ember-metal/core","ember-htmlbars/helpers","ember-routing-htmlbars/helpers/outlet","ember-routing-htmlbars/helpers/render","ember-routing-htmlbars/helpers/link-to","ember-routing-htmlbars/helpers/action","ember-routing-htmlbars/helpers/query-params","exports"],function(a,b,c,d,e,f,g,h){"use strict";var i=a["default"],j=b.registerHelper,k=c.outletHelper,l=d.renderHelper,m=e.linkToHelper,n=e.deprecatedLinkToHelper,o=f.actionHelper,p=g.queryParamsHelper;j("outlet",k),j("render",l),j("link-to",m),j("linkTo",n),j("action",o),j("query-params",p),h["default"]=i}),a("ember-routing-htmlbars/helpers/action",["ember-metal/core","ember-metal/utils","ember-metal/run_loop","ember-views/streams/utils","ember-views/system/utils","ember-views/system/action_manager","ember-metal/array","ember-metal/streams/utils","exports"],function(a,b,c,d,e,f,g,h,i){"use strict";function j(a,b){var c,d,e;if(void 0===b)for(c=new Array(a.length),d=0,e=a.length;e>d;d++)c[d]=o(a[d]);else for(c=new Array(a.length+1),c[0]=b,d=0,e=a.length;e>d;d++)c[d+1]=o(a[d]);return c}function k(a,b,c,d){var e;e=b.target?r(b.target)?b.target:this.getStream(b.target):this.getStream("controller");var f={eventName:b.on||"click",parameters:a.slice(1),view:this,bubbles:b.bubbles,preventDefault:b.preventDefault,target:e,withKeyCode:b.withKeyCode},g=s.registerAction(a[0],f,b.allowedKeys);d.dom.setAttribute(c.element,"data-ember-action",g)}var l=a["default"],m=b.uuid,n=c["default"],o=d.readUnwrappedModel,p=e.isSimpleClick,q=f["default"],r=(g.indexOf,h.isStream),s={};s.registeredActions=q.registeredActions,i.ActionHelper=s;var t=["alt","shift","meta","ctrl"],u=/^click|mouse|touch/,v=function(a,b){if("undefined"==typeof b){if(u.test(a.type))return p(a);b=""}if(b.indexOf("any")>=0)return!0;for(var c=0,d=t.length;d>c;c++)if(a[t[c]+"Key"]&&-1===b.indexOf(t[c]))return!1;return!0};s.registerAction=function(a,b,c){var d=m(),e=b.eventName,f=b.parameters;return q.registeredActions[d]={eventName:e,handler:function(d){if(!v(d,c))return!0;b.preventDefault!==!1&&d.preventDefault(),b.bubbles===!1&&d.stopPropagation();var e,g=b.target.value();r(a)?(e=a.value(),l.assert("You specified a quoteless path to the {{action}} helper which did not resolve to an action name (a string). Perhaps you meant to use a quoted actionName? (e.g. {{action 'save'}}).","string"==typeof e)):e=a,n(function(){g.send?g.send.apply(g,j(f,e)):(l.assert("The action '"+e+"' did not exist on "+g,"function"==typeof g[e]),g[e].apply(g,j(f)))})}},b.view.on("willClearRender",function(){delete q.registeredActions[d]}),d},i.actionHelper=k}),a("ember-routing-htmlbars/helpers/link-to",["ember-metal/core","ember-routing-views/views/link","ember-metal/streams/utils","ember-runtime/mixins/controller","ember-htmlbars/utils/string","ember-htmlbars","exports"],function(a,b,c,d,e,f,g){"use strict";function h(a,b,c,d){var e,f=!b.unescaped;j.assert("You must provide one or more parameters to the link-to helper.",a.length);var g=a[a.length-1];if(g&&g.isQueryParams&&(b.queryParamsObject=e=a.pop()),b.disabledWhen&&(b.disabled=b.disabledWhen,delete b.disabledWhen),!c.template){var h=a.shift();m(h)&&(b.linkTitle={stream:h}),c.template={isHTMLBars:!0,render:function(){var a=l(h);return a?f?o(a):a:""}}}for(var i=0;i1){var v=e.lookupFactory(t)||l(e,s,p);g=v.create({modelBinding:r,parentController:u,target:u}),h.one("willDestroyElement",function(){g.destroy()})}else g=e.lookup(t)||m(e,s),g.setProperties({target:u,parentController:u});b.viewName=k(q);var w="template:"+q;i.assert("You used `{{render '"+q+"'}}`, but '"+q+"' can not be found as either a template or a view.",e.has("view:"+q)||e.has(w)||!!c.template),b.template=e.lookup(w),b.controller=g,f&&!p&&f._connectActiveView(q,h),c.helperName=c.helperName||'render "'+q+'"',n.instanceHelper(h,b,c,d)}var i=a["default"],j=b["default"],k=c.camelize,l=d.generateControllerFactory,m=d["default"],n=e.ViewHelper,o=f.isStream;g.renderHelper=h}),a("ember-routing-views",["ember-metal/core","ember-routing-views/views/link","ember-routing-views/views/outlet","exports"],function(a,b,c,d){"use strict";var e=a["default"],f=b.LinkView,g=c.OutletView;e.LinkView=f,e.OutletView=g,d["default"]=e}),a("ember-routing-views/views/link",["ember-metal/core","ember-metal/property_get","ember-metal/merge","ember-metal/run_loop","ember-metal/computed","ember-runtime/system/string","ember-metal/keys","ember-views/system/utils","ember-views/views/component","ember-routing/utils","ember-metal/streams/utils","exports"],function(a,b,c,d,e,f,g,h,i,j,k,l){"use strict";function m(a){var b=a.queryParamsObject,c={};if(!b)return c;var d=b.values;for(var e in d)d.hasOwnProperty(e)&&(c[e]=z(d[e]));return c}function n(a){for(var b=0,c=a.length;c>b;++b){var d=a[b];if(null===d||"undefined"==typeof d)return!1}return!0}function o(a,b){var c;for(c in a)if(a.hasOwnProperty(c)&&a[c]!==b[c])return!1;for(c in b)if(b.hasOwnProperty(c)&&a[c]!==b[c])return!1;return!0}var p=a["default"],q=b.get,r=c["default"],s=d["default"],t=e.computed,u=f.fmt,v=g["default"],w=h.isSimpleClick,x=i["default"],y=j.routeArgs,z=k.read,A=k.subscribe,B=function(a,b){for(var c=0,d=0,e=b.length;e>d&&(c+=b[d].names.length,b[d].handler!==a);d++);return c},C=p.LinkView=x.extend({tagName:"a",currentWhen:null,"current-when":null,title:null,rel:null,tabindex:null,target:null,activeClass:"active",loadingClass:"loading",disabledClass:"disabled",_isDisabled:!1,replace:!1,attributeBindings:["href","title","rel","tabindex"],classNameBindings:["active","loading","disabled"],eventName:"click",init:function(){this._super.apply(this,arguments),p.deprecate("Using currentWhen with {{link-to}} is deprecated in favor of `current-when`.",!this.currentWhen);var a=q(this,"eventName");this.on(a,this,this._invoke)},_paramsChanged:function(){this.notifyPropertyChange("resolvedParams")},_setupPathObservers:function(){var a=this.params,b=this._wrapAsScheduled(this.rerender),c=this._wrapAsScheduled(this._paramsChanged);if(this.linkTitle){var d=this.linkTitle.stream||this.linkTitle;A(d,b,this)}for(var e=0;eh&&(a=g);var i=y(a,d,null),j=b.isActive.apply(b,i);if(!j)return!1;var k=p.isEmpty(p.keys(c.queryParams));if(!f&&!k&&j){var l={};r(l,c.queryParams),b._prepareQueryParams(c.targetRouteName,c.models,l),j=o(l,b.router.state.queryParams)}return j}if(q(this,"loading"))return!1;var b=q(this,"router"),c=q(this,"loadedParams"),d=c.models,e=this["current-when"]||this.currentWhen,f=Boolean(e);e=e||c.targetRouteName,e=e.split(" ");for(var g=0,h=e.length;h>g;g++)if(a(e[g]))return q(this,"activeClass")}),loading:t("loadedParams",function(){return q(this,"loadedParams")?void 0:q(this,"loadingClass")}),router:t(function(){var a=q(this,"controller");return a&&a.container?a.container.lookup("router:main"):void 0}),_invoke:function(a){if(!w(a))return!0;if(this.preventDefault!==!1){var b=q(this,"target");b&&"_self"!==b||a.preventDefault()}if(this.bubbles===!1&&a.stopPropagation(),q(this,"_isDisabled"))return!1;if(q(this,"loading"))return p.Logger.warn("This link-to is in an inactive loading state because at least one of its parameters presently has a null/undefined value, or the provided route name is invalid."),!1;var c=q(this,"target");if(c&&"_self"!==c)return!1;var d=q(this,"router"),e=q(this,"loadedParams"),f=d._doTransition(e.targetRouteName,e.models,e.queryParams);q(this,"replace")&&f.method("replace");var g=y(e.targetRouteName,e.models,f.state.queryParams),h=d.router.generate.apply(d.router,g);s.scheduleOnce("routerTransitions",this,this._eagerUpdateUrl,f,h)},_eagerUpdateUrl:function(a,b){if(a.isActive&&a.urlMethod){0===b.indexOf("#")&&(b=b.slice(1));var c=q(this,"router.router");"update"===a.urlMethod?c.updateURL(b):"replace"===a.urlMethod&&c.replaceURL(b),a.method(null)}},resolvedParams:t("router.url",function(){var a,b=this.params,c=[],d=0===b.length;if(d){var e=this.container.lookup("controller:application");a=q(e,"currentRouteName")}else{a=z(b[0]);for(var f=1;fd;++d)i(b[d],c);return c}),_cacheMeta:n(function(){var a=p(this);if(a.proto!==this)return l(a.proto,"_cacheMeta");var b={},c=l(this,"_normalizedQueryParams");for(var d in c)if(c.hasOwnProperty(d)){var e,f=c[d],g=f.scope;"controller"===g&&(e=[]),b[d]={parts:e,values:null,scope:g,prefix:"",def:l(this,d)}}return b}),_updateCacheParams:function(a){var b=l(this,"_cacheMeta");for(var c in b)if(b.hasOwnProperty(c)){var d=b[c];d.values=a;var e=this._calculateCacheKey(d.prefix,d.parts,d.values),f=this._bucketCache;if(f){var g=f.lookup(e,c,d.def);m(this,c,g)}}},_qpChanged:function(a,b){var c=b.substr(0,b.length-3),d=l(a,"_cacheMeta"),e=d[c],f=a._calculateCacheKey(e.prefix||"",e.parts,e.values),g=l(a,c),h=this._bucketCache;h&&a._bucketCache.stash(f,c,g);var i=a._qpDelegate;i&&i(a,c)},_calculateCacheKey:function(a,b,c){for(var d=b||[],e="",f=0,g=d.length;g>f;++f){var h=d[f],i=l(c,h);e+="::"+h+":"+i}return a+e.replace(s,"-")},transitionToRoute:function(){var a=l(this,"target"),b=a.transitionToRoute||a.transitionTo;return b.apply(a,arguments)},transitionTo:function(){return k.deprecate("transitionTo is deprecated. Please use transitionToRoute."),this.transitionToRoute.apply(this,arguments)},replaceRoute:function(){var a=l(this,"target"),b=a.replaceRoute||a.replaceWith;return b.apply(a,arguments)},replaceWith:function(){return k.deprecate("replaceWith is deprecated. Please use replaceRoute."),this.replaceRoute.apply(this,arguments)}});var s=/\./g;h["default"]=r}),a("ember-routing/ext/run_loop",["ember-metal/run_loop"],function(a){"use strict";var b=a["default"];b._addQueue("routerTransitions","actions")}),a("ember-routing/ext/view",["ember-metal/property_get","ember-metal/property_set","ember-metal/run_loop","ember-views/views/view","exports"],function(a,b,c,d,e){"use strict";var f=a.get,g=b.set,h=c["default"],i=d["default"];i.reopen({init:function(){this._outlets={},this._super()},connectOutlet:function(a,b){if(this._pendingDisconnections&&delete this._pendingDisconnections[a],this._hasEquivalentView(a,b))return void b.destroy();var c=f(this,"_outlets"),d=f(this,"container"),e=d&&d.lookup("router:main"),h=f(b,"renderedName");g(c,a,b),e&&h&&e._connectActiveView(h,b)},_hasEquivalentView:function(a,b){var c=f(this,"_outlets."+a);return c&&c.constructor===b.constructor&&c.get("template")===b.get("template")&&c.get("context")===b.get("context")},disconnectOutlet:function(a){this._pendingDisconnections||(this._pendingDisconnections={}),this._pendingDisconnections[a]=!0,h.once(this,"_finishDisconnections")},_finishDisconnections:function(){if(!this.isDestroyed){var a=f(this,"_outlets"),b=this._pendingDisconnections;this._pendingDisconnections=null;for(var c in b)g(a,c,null)}}}),e["default"]=i}),a("ember-routing/location/api",["ember-metal/core","exports"],function(a,b){"use strict";var c=a["default"];b["default"]={create:function(a){var b=a&&a.implementation;c.assert("Ember.Location.create: you must specify a 'implementation' option",!!b);var d=this.implementations[b];return c.assert("Ember.Location.create: "+b+" is not a valid implementation",!!d),d.create.apply(d,arguments)},registerImplementation:function(a,b){c.deprecate("Using the Ember.Location.registerImplementation is no longer supported. Register your custom location implementation with the container instead.",!1),this.implementations[a]=b},implementations:{},_location:window.location,_getHash:function(){var a=(this._location||this.location).href,b=a.indexOf("#");return-1===b?"":a.substr(b)}}}),a("ember-routing/location/auto_location",["ember-metal/core","ember-metal/property_set","ember-routing/location/api","ember-routing/location/history_location","ember-routing/location/hash_location","ember-routing/location/none_location","exports"],function(a,b,c,d,e,f,g){"use strict";var h=a["default"],i=b.set,j=c["default"],k=d["default"],l=e["default"],m=f["default"];g["default"]={cancelRouterSetup:!1,rootURL:"/",_window:window,_location:window.location,_history:window.history,_HistoryLocation:k,_HashLocation:l,_NoneLocation:m,_getOrigin:function(){var a=this._location,b=a.origin;return b||(b=a.protocol+"//"+a.hostname,a.port&&(b+=":"+a.port)),b},_getSupportsHistory:function(){var a=this._window.navigator.userAgent;return-1!==a.indexOf("Android 2")&&-1!==a.indexOf("Mobile Safari")&&-1===a.indexOf("Chrome")?!1:!!(this._history&&"pushState"in this._history)},_getSupportsHashChange:function(){var a=this._window,b=a.document.documentMode;return"onhashchange"in a&&(void 0===b||b>7)},_replacePath:function(a){this._location.replace(this._getOrigin()+a)},_getRootURL:function(){return this.rootURL},_getPath:function(){var a=this._location.pathname;return"/"!==a.charAt(0)&&(a="/"+a),a},_getHash:j._getHash,_getQuery:function(){return this._location.search},_getFullPath:function(){return this._getPath()+this._getQuery()+this._getHash()},_getHistoryPath:function(){var a,b,c=this._getRootURL(),d=this._getPath(),e=this._getHash(),f=this._getQuery(),g=d.indexOf(c);return h.assert("Path "+d+" does not start with the provided rootURL "+c,0===g),"#/"===e.substr(0,2)?(b=e.substr(1).split("#"),a=b.shift(),"/"===d.slice(-1)&&(a=a.substr(1)),d+=a,d+=f,b.length&&(d+="#"+b.join("#"))):(d+=f,d+=e),d},_getHashPath:function(){var a=this._getRootURL(),b=a,c=this._getHistoryPath(),d=c.substr(a.length);return""!==d&&("/"!==d.charAt(0)&&(d="/"+d),b+="#"+d),b},create:function(a){a&&a.rootURL&&(h.assert('rootURL must end with a trailing forward slash e.g. "/app/"',"/"===a.rootURL.charAt(a.rootURL.length-1)),this.rootURL=a.rootURL);var b,c,d=!1,e=this._NoneLocation,f=this._getFullPath();this._getSupportsHistory()?(b=this._getHistoryPath(),f===b?e=this._HistoryLocation:"/#"===f.substr(0,2)?(this._history.replaceState({path:b},null,b),e=this._HistoryLocation):(d=!0,this._replacePath(b))):this._getSupportsHashChange()&&(c=this._getHashPath(),f===c||"/"===f&&"/#/"===c?e=this._HashLocation:(d=!0,this._replacePath(c)));var g=e.create.apply(e,arguments);return d&&i(g,"cancelRouterSetup",!0),g}}}),a("ember-routing/location/hash_location",["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/run_loop","ember-metal/utils","ember-runtime/system/object","ember-routing/location/api","exports"],function(a,b,c,d,e,f,g,h){"use strict";var i=a["default"],j=b.get,k=c.set,l=d["default"],m=e.guidFor,n=f["default"],o=g["default"];h["default"]=n.extend({implementation:"hash",init:function(){k(this,"location",j(this,"_location")||window.location)},getHash:o._getHash,getURL:function(){var a=this.getHash().substr(1),b=a;return"/"!==b.charAt(0)&&(b="/",a&&(b+="#"+a)),b},setURL:function(a){j(this,"location").hash=a,k(this,"lastSetURL",a)},replaceURL:function(a){j(this,"location").replace("#"+a),k(this,"lastSetURL",a)},onUpdateURL:function(a){var b=this,c=m(this);i.$(window).on("hashchange.ember-location-"+c,function(){l(function(){var c=b.getURL();j(b,"lastSetURL")!==c&&(k(b,"lastSetURL",null),a(c))})})},formatURL:function(a){return"#"+a},willDestroy:function(){var a=m(this);i.$(window).off("hashchange.ember-location-"+a)}})}),a("ember-routing/location/history_location",["ember-metal/property_get","ember-metal/property_set","ember-metal/utils","ember-runtime/system/object","ember-routing/location/api","ember-views/system/jquery","exports"],function(a,b,c,d,e,f,g){"use strict";var h=a.get,i=b.set,j=c.guidFor,k=d["default"],l=e["default"],m=f["default"],n=!1,o=window.history&&"state"in window.history;g["default"]=k.extend({implementation:"history",init:function(){i(this,"location",h(this,"location")||window.location),i(this,"baseURL",m("base").attr("href")||"")},initState:function(){i(this,"history",h(this,"history")||window.history),this.replaceState(this.formatURL(this.getURL()))},rootURL:"/",getURL:function(){var a=h(this,"rootURL"),b=h(this,"location"),c=b.pathname,d=h(this,"baseURL");a=a.replace(/\/$/,""),d=d.replace(/\/$/,"");var e=c.replace(d,"").replace(a,""),f=b.search||"";return e+=f,e+=this.getHash()},setURL:function(a){var b=this.getState();a=this.formatURL(a),b&&b.path===a||this.pushState(a)},replaceURL:function(a){var b=this.getState();a=this.formatURL(a),b&&b.path===a||this.replaceState(a)},getState:function(){return o?h(this,"history").state:this._historyState},pushState:function(a){var b={path:a};h(this,"history").pushState(b,null,a),o||(this._historyState=b),this._previousURL=this.getURL()},replaceState:function(a){var b={path:a};h(this,"history").replaceState(b,null,a),o||(this._historyState=b),this._previousURL=this.getURL()},onUpdateURL:function(a){var b=j(this),c=this;m(window).on("popstate.ember-location-"+b,function(){(n||(n=!0,c.getURL()!==c._previousURL))&&a(c.getURL())})},formatURL:function(a){var b=h(this,"rootURL"),c=h(this,"baseURL");return""!==a?(b=b.replace(/\/$/,""),c=c.replace(/\/$/,"")):c.match(/^\//)&&b.match(/^\//)&&(c=c.replace(/\/$/,"")),c+b+a},willDestroy:function(){var a=j(this);m(window).off("popstate.ember-location-"+a)},getHash:l._getHash})}),a("ember-routing/location/none_location",["ember-metal/property_get","ember-metal/property_set","ember-runtime/system/object","exports"],function(a,b,c,d){"use strict";var e=a.get,f=b.set,g=c["default"];d["default"]=g.extend({implementation:"none",path:"",getURL:function(){return e(this,"path")},setURL:function(a){f(this,"path",a)},onUpdateURL:function(a){this.updateCallback=a},handleURL:function(a){f(this,"path",a),this.updateCallback(a)},formatURL:function(a){return a}})}),a("ember-routing/system/cache",["ember-runtime/system/object","exports"],function(a,b){"use strict";var c=a["default"];b["default"]=c.extend({init:function(){this.cache={}},has:function(a){return a in this.cache},stash:function(a,b,c){var d=this.cache[a];d||(d=this.cache[a]={}),d[b]=c},lookup:function(a,b,c){var d=this.cache;if(!(a in d))return c;var e=d[a];return b in e?e[b]:c},cache:null})}),a("ember-routing/system/controller_for",["exports"],function(a){"use strict";a["default"]=function(a,b,c){return a.lookup("controller:"+b,c)}}),a("ember-routing/system/dsl",["ember-metal/core","exports"],function(a,b){"use strict";function c(a){this.parent=a,this.matches=[]}function d(a){return a.parent&&"application"!==a.parent}function e(a,b,c){return d(a)&&c!==!0?a.parent+"."+b:b}function f(a,b,c,d){c=c||{};var f=e(a,b,c.resetNamespace);"string"!=typeof c.path&&(c.path="/"+b),a.push(c.path,f,d)}var g=a["default"];b["default"]=c,c.prototype={route:function(a,b,d){2===arguments.length&&"function"==typeof b&&(d=b,b={}),1===arguments.length&&(b={});var h=b.resetNamespace===!0?"resource":"route";if(g.assert("'basic' cannot be used as a "+h+" name.","basic"!==a),d){var i=e(this,a,b.resetNamespace),j=new c(i);f(j,"loading"),f(j,"error",{path:"/_unused_dummy_error_path_route_"+a+"/:error"}),d.call(j),f(this,a,b,j.generate())}else f(this,a,b)},push:function(a,b,c){var d=b.split(".");(""===a||"/"===a||"index"===d[d.length-1])&&(this.explicitIndex=!0),this.matches.push([a,b,c])},resource:function(a,b,c){2===arguments.length&&"function"==typeof b&&(c=b,b={}),1===arguments.length&&(b={}),b.resetNamespace=!0,this.route(a,b,c)},generate:function(){var a=this.matches;return this.explicitIndex||this.route("index",{path:"/"}),function(b){for(var c=0,d=a.length;d>c;c++){var e=a[c];b(e[0]).to(e[1],e[2])}}}},c.map=function(a){var b=new c;return a.call(b),b}}),a("ember-routing/system/generate_controller",["ember-metal/core","ember-metal/property_get","ember-metal/utils","exports"],function(a,b,c,d){"use strict";function e(a,b,c){var d,e,f,g;return g=c&&h(c)?"array":c?"object":"basic",f="controller:"+g,d=a.lookupFactory(f).extend({isGenerated:!0,toString:function(){return"(generated "+b+" controller)"}}),e="controller:"+b,a.register(e,d),d}var f=a["default"],g=b.get,h=c.isArray;d.generateControllerFactory=e,d["default"]=function(a,b,c){e(a,b,c);var d="controller:"+b,h=a.lookup(d);return g(h,"namespace.LOG_ACTIVE_GENERATION")&&f.Logger.info("generated -> "+d,{fullName:d}),h}}),a("ember-routing/system/query_params",["ember-runtime/system/object","exports"],function(a,b){"use strict";var c=a["default"];b["default"]=c.extend({isQueryParams:!0,values:null})}),a("ember-routing/system/route",["ember-metal/core","ember-metal/error","ember-metal/property_get","ember-metal/property_set","ember-metal/get_properties","ember-metal/enumerable_utils","ember-metal/is_none","ember-metal/computed","ember-metal/merge","ember-metal/utils","ember-metal/run_loop","ember-metal/keys","ember-runtime/copy","ember-runtime/system/string","ember-runtime/system/object","ember-runtime/mixins/evented","ember-runtime/mixins/action_handler","ember-routing/system/generate_controller","ember-routing/utils","exports"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t){"use strict";function u(){return this}function v(a){var b=w(a,a.router.router.state.handlerInfos,-1);return b&&b.handler}function w(a,b,c){if(b)for(var d,e=c||0,f=0,g=b.length;g>f;f++)if(d=b[f].handler,d===a)return b[f+e]}function x(a){var b,c=v(a);return c?(b=c.lastRenderedTemplate)?b:x(c):void 0}function y(a,b,c,d){var e=d&&d.controller;if(e||(e=b?a.container.lookup("controller:"+c)||a.controllerName||a.routeName:a.controllerName||a.container.lookup("controller:"+c)),"string"==typeof e){var f=e;if(e=a.container.lookup("controller:"+f),!e)throw new H("You passed `controller: '"+f+"'` into the `render` method, but no such controller could be found.")}d&&d.model&&e.set("model",d.model);var g={into:d&&d.into?d.into.replace(/\//g,"."):x(a),outlet:d&&d.outlet||"main",name:c,controller:e};return G.assert("An outlet ("+g.outlet+") was specified but was not found.","main"===g.outlet||g.into),g}function z(a,b){return a.create({_debugTemplateName:b.name,renderedName:b.name,controller:b.controller})}function A(a,b,c){if(c.into){var d=a.router._lookupActiveView(c.into),e=C(d,c.outlet);a.teardownOutletViews||(a.teardownOutletViews=[]),M(a.teardownOutletViews,0,0,[e]),d.connectOutlet(c.outlet,b)}else{var f=I(a.router,"namespace.rootElement");a.teardownTopLevelView&&a.teardownTopLevelView(),a.router._connectActiveView(c.name,b),a.teardownTopLevelView=B(b),b.appendTo(f)}}function B(a){return function(){a.destroy()}}function C(a,b){return function(){a.disconnectOutlet(b)}}function D(a,b){if(b.fullQueryParams)return b.fullQueryParams;b.fullQueryParams={},P(b.fullQueryParams,b.queryParams);var c=b.handlerInfos[b.handlerInfos.length-1].name;return a._deserializeQueryParams(c,b.fullQueryParams),b.fullQueryParams}function E(a,b){b.queryParamsFor=b.queryParamsFor||{};var c=a.routeName;if(b.queryParamsFor[c])return b.queryParamsFor[c];for(var d=D(a.router,b),e=b.queryParamsFor[c]={},f=I(a,"_qp"),g=f.qps,h=0,i=g.length;i>h;++h){var j=g[h],k=j.prop in d;e[j.prop]=k?d[j.prop]:F(j.def)}return e}function F(a){return Q(a)?G.A(a.slice()):a}var G=a["default"],H=b["default"],I=c.get,J=d.set,K=e["default"],L=f.forEach,M=f.replace,N=g["default"],O=h.computed,P=i["default"],Q=j.isArray,R=j.typeOf,S=k["default"],T=l["default"],U=m["default"],V=n.classify,W=o["default"],X=p["default"],Y=q["default"],Z=r["default"],$=s.stashParamNames,_=Array.prototype.slice,ab=W.extend(Y,{queryParams:{},_qp:O(function(){var a=this.controllerName||this.routeName,b=this.container.lookupFactory("controller:"+a);if(!b)return bb;var c=b.proto(),d=I(c,"_normalizedQueryParams"),e=I(c,"_cacheMeta"),f=[],g={},h=this;for(var i in d)if(d.hasOwnProperty(i)){var j=d[i],k=j.as||this.serializeQueryParamKey(i),l=I(c,i);Q(l)&&(l=G.A(l.slice()));var m=R(l),n=this.serializeQueryParam(l,k,m),o=a+":"+i,p={def:l,sdef:n,type:m,urlKey:k,prop:i,fprop:o,ctrl:a,cProto:c,svalue:n,cacheType:j.scope,route:this,cacheMeta:e[i]};g[i]=g[k]=g[o]=p,f.push(p)}return{qps:f,map:g,states:{active:function(a,b){return h._activeQPChanged(a,g[b])},allowOverrides:function(a,b){return h._updatingQPChanged(a,g[b])},changingKeys:function(a,b){return h._updateSerializedQPValue(a,g[b])}}}}),_names:null,_stashNames:function(a,b){var c=a;if(!this._names){var d=this._names=c._names;d.length||(c=b,d=c&&c._names||[]);for(var e=I(this,"_qp.qps"),f=e.length,g=new Array(d.length),h=0,i=d.length;i>h;++h)g[h]=c.name+"."+d[h];for(var j=0;f>j;++j){var k=e[j],l=k.cacheMeta;"model"===l.scope&&(l.parts=g),l.prefix=k.ctrl}}},_updateSerializedQPValue:function(a,b){var c=I(a,b.prop);b.svalue=this.serializeQueryParam(c,b.urlKey,b.type)},_activeQPChanged:function(a,b){var c=I(a,b.prop);this.router._queuedQPChanges[b.fprop]=c,S.once(this,this._fireQueryParamTransition)},_updatingQPChanged:function(a,b){var c=this.router;c._qpUpdates||(c._qpUpdates={}),c._qpUpdates[b.urlKey]=!0},mergedProperties:["events","queryParams"],paramsFor:function(a){var b=this.container.lookup("route:"+a);if(!b)return{};var c=this.router.router.activeTransition,d=c?c.state:this.router.router.state,e={};return P(e,d.params[a]),P(e,E(b,d)),e},serializeQueryParamKey:function(a){return a},serializeQueryParam:function(a,b,c){return"array"===c?JSON.stringify(a):""+a +},deserializeQueryParam:function(a,b,c){return"boolean"===c?"true"===a?!0:!1:"number"===c?Number(a).valueOf():"array"===c?G.A(JSON.parse(a)):a},_fireQueryParamTransition:function(){this.transitionTo({queryParams:this.router._queuedQPChanges}),this.router._queuedQPChanges={}},_optionsForQueryParam:function(a){return I(this,"queryParams."+a.urlKey)||I(this,"queryParams."+a.prop)||{}},resetController:u,exit:function(){this.deactivate(),this.trigger("deactivate"),this.teardownViews()},_reset:function(a,b){var c=this.controller;c._qpDelegate=I(this,"_qp.states.inactive"),this.resetController(c,a,b)},enter:function(){this.activate(),this.trigger("activate")},viewName:null,templateName:null,controllerName:null,_actions:{queryParamsDidChange:function(a,b,c){for(var d=I(this,"_qp").map,e=T(a).concat(T(c)),f=0,g=e.length;g>f;++f){var h=d[e[f]];h&&I(this._optionsForQueryParam(h),"refreshModel")&&this.refresh()}return!0},finalizeQueryParamChange:function(a,b,c){if("application"!==this.routeName)return!0;if(c){var d,e=c.state.handlerInfos,f=this.router,g=f._queryParamsFor(e[e.length-1].name),h=f._qpUpdates;$(f,e);for(var i=0,j=g.qps.length;j>i;++i){var k,l,m=g.qps[i],n=m.route,o=n.controller,p=m.urlKey in a&&m.urlKey;h&&m.urlKey in h?(k=I(o,m.prop),l=n.serializeQueryParam(k,m.urlKey,m.type)):p?(l=a[p],k=n.deserializeQueryParam(l,m.urlKey,m.type)):(l=m.sdef,k=F(m.def)),o._qpDelegate=I(this,"_qp.states.inactive");var q=l!==m.svalue;if(q){if(c.queryParamsOnly&&d!==!1){var r=n._optionsForQueryParam(m),s=I(r,"replace");s?d=!0:s===!1&&(d=!1)}J(o,m.prop,k)}m.svalue=l;var t=m.sdef===l;t||b.push({value:l,visible:!0,key:p||m.urlKey})}d&&c.method("replace"),L(g.qps,function(a){var b=I(a.route,"_qp"),c=a.route.controller;c._qpDelegate=I(b,"states.active")}),f._qpUpdates=null}}},events:null,deactivate:u,activate:u,transitionTo:function(){var a=this.router;return a.transitionTo.apply(a,arguments)},intermediateTransitionTo:function(){var a=this.router;a.intermediateTransitionTo.apply(a,arguments)},refresh:function(){return this.router.router.refresh(this)},replaceWith:function(){var a=this.router;return a.replaceWith.apply(a,arguments)},send:function(){if(this.router||!G.testing)this.router.send.apply(this.router,arguments);else{var a=arguments[0],b=_.call(arguments,1),c=this._actions[a];if(c)return this._actions[a].apply(this,b)}},setup:function(a,b){var c=this.controllerName||this.routeName,d=this.controllerFor(c,!0);if(d||(d=this.generateController(c,a)),this.controller=d,this.setupControllers)G.deprecate("Ember.Route.setupControllers is deprecated. Please use Ember.Route.setupController(controller, model) instead."),this.setupControllers(d,a);else{var e=I(this,"_qp.states");if(b&&($(this.router,b.state.handlerInfos),d._qpDelegate=e.changingKeys,d._updateCacheParams(b.params)),d._qpDelegate=e.allowOverrides,b){var f=E(this,b.state);d.setProperties(f)}this.setupController(d,a,b)}this.renderTemplates?(G.deprecate("Ember.Route.renderTemplates is deprecated. Please use Ember.Route.renderTemplate(controller, model) instead."),this.renderTemplates(a)):this.renderTemplate(d,a)},beforeModel:u,afterModel:u,redirect:u,contextDidChange:function(){this.currentModel=this.context},model:function(a,b){var c,d,e,f,g=I(this,"_qp.map");for(var h in a)"queryParams"===h||g&&h in g||((c=h.match(/^(.*)_id$/))&&(d=c[1],f=a[h]),e=!0);if(!d&&e)return U(a);if(!d){if(b.resolveIndex<1)return;var i=b.state.handlerInfos[b.resolveIndex-1].context;return i}return this.findModel(d,f)},deserialize:function(a,b){return this.model(this.paramsFor(this.routeName),b)},findModel:function(){var a=I(this,"store");return a.find.apply(a,arguments)},store:O(function(){var a=this.container,b=this.routeName,c=I(this,"router.namespace");return{find:function(d,e){var f=a.lookupFactory("model:"+d);return G.assert("You used the dynamic segment "+d+"_id in your route "+b+", but "+c+"."+V(d)+" did not exist and you did not override your route's `model` hook.",!!f),f?(G.assert(V(d)+" has no method `find`.","function"==typeof f.find),f.find(e)):void 0}}}),serialize:function(a,b){if(!(b.length<1)&&a){var c=b[0],d={};return 1===b.length?c in a?d[c]=I(a,c):/_id$/.test(c)&&(d[c]=I(a,"id")):d=K(a,b),d}},setupController:function(a,b){a&&void 0!==b&&J(a,"model",b)},controllerFor:function(a,b){var c,d=this.container,e=d.lookup("route:"+a);return e&&e.controllerName&&(a=e.controllerName),c=d.lookup("controller:"+a),G.assert("The controller named '"+a+"' could not be found. Make sure that this route exists and has already been entered at least once. If you are accessing a controller not associated with a route, make sure the controller class is explicitly defined.",c||b===!0),c},generateController:function(a,b){var c=this.container;return b=b||this.modelFor(a),Z(c,a,b)},modelFor:function(a){var b=this.container.lookup("route:"+a),c=this.router?this.router.router.activeTransition:null;if(c){var d=b&&b.routeName||a;if(c.resolvedModels.hasOwnProperty(d))return c.resolvedModels[d]}return b&&b.currentModel},renderTemplate:function(){this.render()},render:function(a,b){G.assert("The name in the given arguments is undefined",arguments.length>0?!N(arguments[0]):!0);var c,d="string"==typeof a&&!!a;"object"!=typeof a||b?c=a:(c=this.routeName,b=a);var e;c?(c=c.replace(/\//g,"."),e=c):(c=this.routeName,e=this.templateName||c);var f,g,h=y(this,d,c,b),i=I(this.router,"namespace.LOG_VIEW_LOOKUPS"),j=b&&b.view||d&&c||this.viewName||c,k=this.container.lookupFactory("view:"+j);if(k)f=z(k,h),I(f,"template")||f.set("template",this.container.lookup("template:"+e)),i&&G.Logger.info("Rendering "+h.name+" with "+f,{fullName:"view:"+h.name});else{if(g=this.container.lookup("template:"+e),!g)return G.assert('Could not find "'+c+'" template or view.',0===arguments.length||G.isEmpty(arguments[0])),void(i&&G.Logger.info('Could not find "'+c+'" template or view. Nothing will be rendered',{fullName:"template:"+c}));var l=h.into?"view:default":"view:toplevel";k=this.container.lookupFactory(l),f=z(k,h),I(f,"template")||f.set("template",g),i&&G.Logger.info("Rendering "+h.name+" with default view "+f,{fullName:"view:"+h.name})}"main"===h.outlet&&(this.lastRenderedTemplate=c),A(this,f,h)},disconnectOutlet:function(a){if(!a||"string"==typeof a){var b=a;a={},a.outlet=b}a.parentView=a.parentView?a.parentView.replace(/\//g,"."):x(this),a.outlet=a.outlet||"main";var c=this.router._lookupActiveView(a.parentView);c&&c.disconnectOutlet(a.outlet)},willDestroy:function(){this.teardownViews()},teardownViews:function(){this.teardownTopLevelView&&this.teardownTopLevelView();var a=this.teardownOutletViews||[];L(a,function(a){a()}),delete this.teardownTopLevelView,delete this.teardownOutletViews,delete this.lastRenderedTemplate}});ab.reopen(X);var bb={qps:[],map:{},states:{}};t["default"]=ab}),a("ember-routing/system/router",["ember-metal/core","ember-metal/error","ember-metal/property_get","ember-metal/property_set","ember-metal/properties","ember-metal/computed","ember-metal/merge","ember-metal/run_loop","ember-runtime/system/string","ember-runtime/system/object","ember-runtime/mixins/evented","ember-routing/system/dsl","ember-views/views/view","ember-routing/location/api","ember-views/views/metamorph_view","ember-routing/utils","ember-metal/platform","router","router/transition","exports"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t){"use strict";function u(){return this}function v(a,b,c){for(var d,e,f=b.state.handlerInfos,g=!1,h=f.length-1;h>=0;--h)if(d=f[h],e=d.handler,g){if(c(e,f[h+1].handler)!==!0)return!1}else a===e&&(g=!0);return!0}function w(a,b){var c=[];b&&c.push(b),a&&(a.message&&c.push(a.message),a.stack&&c.push(a.stack),"string"==typeof a&&c.push(a)),F.Logger.error.apply(this,c)}function x(a,b,c){var d,e=a.router,f=(b.routeName.split(".").pop(),"application"===a.routeName?"":a.routeName+".");return d=f+c,y(e,d)?d:void 0}function y(a,b){var c=a.container;return a.hasRoute(b)&&(c.has("template:"+b)||c.has("route:"+b))}function z(a,b,c){var d=c.shift();if(!a){if(b)return;throw new G("Can't trigger action '"+d+"' because your app hasn't finished transitioning into its first route. To trigger an action on destination routes during a transition, you can call `.send()` on the `Transition` object passed to the `model/beforeModel/afterModel` hooks.")}for(var e,f,g=!1,h=a.length-1;h>=0;h--)if(e=a[h],f=e.handler,f._actions&&f._actions[d]){if(f._actions[d].apply(f,c)!==!0)return;g=!0}if(_[d])return void _[d].apply(null,c);if(!g&&!b)throw new G("Nothing handled the action '"+d+"'. If you did handle the action, this error can be caused by returning true from an action handler in a controller, causing the action to bubble.")}function A(a,b,c){for(var d=a.router,e=d.applyIntent(b,c),f=e.handlerInfos,g=e.params,h=0,i=f.length;i>h;++h){var j=f[h];j.isResolved||(j=j.becomeResolved(null,j.context)),g[j.name]=j.params}return e}function B(a){var b=a.container.lookup("controller:application");if(b){var c=a.router.currentHandlerInfos,d=$._routePath(c);"currentPath"in b||J(b,"currentPath"),I(b,"currentPath",d),"currentRouteName"in b||J(b,"currentRouteName"),I(b,"currentRouteName",c[c.length-1].name)}}function C(a){a.then(null,function(a){return a&&a.name?(F.assert("The URL '"+a.message+"' did not match any routes in your application","UnrecognizedURLError"!==a.name),a):void 0},"Ember: Process errors from Router")}function D(a){return"string"==typeof a&&(""===a||"/"===a.charAt(0))}function E(a,b,c,d){var e=a._queryParamsFor(b);for(var f in c)if(c.hasOwnProperty(f)){var g=c[f],h=e.map[f];h&&d(f,g,h)}}var F=a["default"],G=b["default"],H=c.get,I=d.set,J=e.defineProperty,K=f.computed,L=g["default"],M=h["default"],N=i.fmt,O=j["default"],P=k["default"],Q=l["default"],R=m["default"],S=n["default"],T=o["default"],U=p.routeArgs,V=p.getActiveTargetName,W=p.stashParamNames,X=q.create,Y=r["default"],Z=[].slice,$=O.extend(P,{location:"hash",rootURL:"/",init:function(){this.router=this.constructor.router||this.constructor.map(u),this._activeViews={},this._setupLocation(),this._qpCache={},this._queuedQPChanges={},H(this,"namespace.LOG_TRANSITIONS_INTERNAL")&&(this.router.log=F.Logger.debug)},url:K(function(){return H(this,"location").getURL()}),startRouting:function(){this.router=this.router||this.constructor.map(u);var a,b=this.router,c=H(this,"location"),d=this.container,e=this,f=H(this,"initialURL");if(!H(c,"cancelRouterSetup")&&(this._setupRouter(b,c),d.register("view:default",T),d.register("view:toplevel",R.extend()),c.onUpdateURL(function(a){e.handleURL(a)}),"undefined"==typeof f&&(f=c.getURL()),a=this.handleURL(f),a&&a.error))throw a.error},didTransition:function(a){B(this),this._cancelLoadingEvent(),this.notifyPropertyChange("url"),M.once(this,this.trigger,"didTransition"),H(this,"namespace").LOG_TRANSITIONS&&F.Logger.log("Transitioned into '"+$._routePath(a)+"'")},handleURL:function(a){return a=a.split(/#(.+)?/)[0],this._doURLTransition("handleURL",a)},_doURLTransition:function(a,b){var c=this.router[a](b||"/");return C(c),c},transitionTo:function(){var a,b=Z.call(arguments);if(D(b[0]))return this._doURLTransition("transitionTo",b[0]);var c=b[b.length-1];a=c&&c.hasOwnProperty("queryParams")?b.pop().queryParams:{};var d=b.shift();return this._doTransition(d,b,a)},intermediateTransitionTo:function(){this.router.intermediateTransitionTo.apply(this.router,arguments),B(this);var a=this.router.currentHandlerInfos;H(this,"namespace").LOG_TRANSITIONS&&F.Logger.log("Intermediate-transitioned into '"+$._routePath(a)+"'")},replaceWith:function(){return this.transitionTo.apply(this,arguments).method("replace")},generate:function(){var a=this.router.generate.apply(this.router,arguments);return this.location.formatURL(a)},isActive:function(){var a=this.router;return a.isActive.apply(a,arguments)},isActiveIntent:function(){var a=this.router;return a.isActive.apply(a,arguments)},send:function(){this.router.trigger.apply(this.router,arguments)},hasRoute:function(a){return this.router.hasRoute(a)},reset:function(){this.router.reset()},_lookupActiveView:function(a){var b=this._activeViews[a];return b&&b[0]},_connectActiveView:function(a,b){function c(){delete this._activeViews[a]}var d=this._activeViews[a];d&&d[0].off("willDestroyElement",this,d[1]),this._activeViews[a]=[b,c],b.one("willDestroyElement",this,c)},_setupLocation:function(){var a=H(this,"location"),b=H(this,"rootURL");if(b&&this.container&&!this.container.has("-location-setting:root-url")&&this.container.register("-location-setting:root-url",b,{instantiate:!1}),"string"==typeof a&&this.container){var c=this.container.lookup("location:"+a);if("undefined"!=typeof c)a=I(this,"location",c);else{var d={implementation:a};a=I(this,"location",S.create(d))}}null!==a&&"object"==typeof a&&(b&&"string"==typeof b&&(a.rootURL=b),"function"==typeof a.initState&&a.initState())},_getHandlerFunction:function(){var a=X(null),b=this.container,c=b.lookupFactory("route:basic"),d=this;return function(e){var f="route:"+e,g=b.lookup(f);return a[e]?g:(a[e]=!0,g||(b.register(f,c.extend()),g=b.lookup(f),H(d,"namespace.LOG_ACTIVE_GENERATION")&&F.Logger.info("generated -> "+f,{fullName:f})),g.routeName=e,g)}},_setupRouter:function(a,b){var c,d=this;a.getHandler=this._getHandlerFunction();var e=function(){b.setURL(c)};if(a.updateURL=function(a){c=a,M.once(e)},b.replaceURL){var f=function(){b.replaceURL(c)};a.replaceURL=function(a){c=a,M.once(f)}}a.didTransition=function(a){d.didTransition(a)}},_serializeQueryParams:function(a,b){var c={};E(this,a,b,function(a,d,e){var f=e.urlKey;c[f]||(c[f]=[]),c[f].push({qp:e,value:d}),delete b[a]});for(var d in c){var e=c[d];F.assert(N("You're not allowed to have more than one controller property map to the same query param key, but both `%@` and `%@` map to `%@`. You can fix this by mapping one of the controller properties to a different query param key via the `as` config option, e.g. `%@: { as: 'other-%@' }`",[e[0].qp.fprop,e[1]?e[1].qp.fprop:"",e[0].qp.urlKey,e[0].qp.prop,e[0].qp.prop]),e.length<=1);var f=e[0].qp;b[f.urlKey]=f.route.serializeQueryParam(e[0].value,f.urlKey,f.type)}},_deserializeQueryParams:function(a,b){E(this,a,b,function(a,c,d){delete b[a],b[d.prop]=d.route.deserializeQueryParam(c,d.urlKey,d.type)})},_pruneDefaultQueryParamValues:function(a,b){var c=this._queryParamsFor(a);for(var d in b){var e=c.map[d];e&&e.sdef===b[d]&&delete b[d]}},_doTransition:function(a,b,c){var d=a||V(this.router);F.assert("The route "+d+" was not found",d&&this.router.hasRoute(d));var e={};L(e,c),this._prepareQueryParams(d,b,e);var f=U(d,b,e),g=this.router.transitionTo.apply(this.router,f);return C(g),g},_prepareQueryParams:function(a,b,c){this._hydrateUnsuppliedQueryParams(a,b,c),this._serializeQueryParams(a,c),this._pruneDefaultQueryParamValues(a,c)},_queryParamsFor:function(a){if(this._qpCache[a])return this._qpCache[a];var b={},c=[];this._qpCache[a]={map:b,qps:c};for(var d=this.router,e=d.recognizer.handlersFor(a),f=0,g=e.length;g>f;++f){var h=e[f],i=d.getHandler(h.handler),j=H(i,"_qp");j&&(L(b,j.map),c.push.apply(c,j.qps))}return{qps:c,map:b}},_hydrateUnsuppliedQueryParams:function(a,b,c){var d=A(this,a,b),e=d.handlerInfos,f=this._bucketCache;W(this,e);for(var g=0,h=e.length;h>g;++g)for(var i=e[g].handler,j=H(i,"_qp"),k=0,l=j.qps.length;l>k;++k){var m=j.qps[k],n=m.prop in c&&m.prop||m.fprop in c&&m.fprop;if(n)n!==m.fprop&&(c[m.fprop]=c[n],delete c[n]);else{var o=m.cProto,p=H(o,"_cacheMeta"),q=o._calculateCacheKey(m.ctrl,p[m.prop].parts,d.params);c[m.fprop]=f.lookup(q,m.prop,m.def)}}},_scheduleLoadingEvent:function(a,b){this._cancelLoadingEvent(),this._loadingStateTimer=M.scheduleOnce("routerTransitions",this,"_fireLoadingEvent",a,b)},_fireLoadingEvent:function(a,b){this.router.activeTransition&&a.trigger(!0,"loading",a,b)},_cancelLoadingEvent:function(){this._loadingStateTimer&&M.cancel(this._loadingStateTimer),this._loadingStateTimer=null}}),_={willResolveModel:function(a,b){b.router._scheduleLoadingEvent(a,b)},error:function(a,b,c){var d=c.router,e=v(c,b,function(b,c){var e=x(b,c,"error");return e?void d.intermediateTransitionTo(e,a):!0});return e&&y(c.router,"application_error")?void d.intermediateTransitionTo("application_error",a):void w(a,"Error while processing route: "+b.targetName)},loading:function(a,b){var c=b.router,d=v(b,a,function(b,d){var e=x(b,d,"loading");return e?void c.intermediateTransitionTo(e):a.pivotHandler!==b?!0:void 0});return d&&y(b.router,"application_loading")?void c.intermediateTransitionTo("application_loading"):void 0}};$.reopenClass({router:null,map:function(a){var b=this.router;b||(b=new Y,b._triggerWillChangeContext=u,b._triggerWillLeave=u,b.callbacks=[],b.triggerEvent=z,this.reopenClass({router:b}));var c=Q.map(function(){this.resource("application",{path:"/"},function(){for(var c=0;cc;++c)if(a[c]!==b[c])return!1;return!0}for(var c,d,e,f=[],g=1,h=a.length;h>g;g++){for(c=a[g].name,d=c.split("."),e=Z.call(f);e.length&&!b(e,d);)e.shift();f.push.apply(f,d.slice(e.length))}return f.join(".")}}),t["default"]=$}),a("ember-routing/utils",["ember-metal/utils","exports"],function(a,b){"use strict";function c(a,b,c){var d=[];return"string"===f(a)&&d.push(""+a),d.push.apply(d,b),d.push({queryParams:c}),d}function d(a){var b=a.activeTransition?a.activeTransition.state.handlerInfos:a.state.handlerInfos;return b[b.length-1].name}function e(a,b){if(!b._namesStashed){for(var c=b[b.length-1].name,d=a.router.recognizer.handlersFor(c),e=null,f=0,g=b.length;g>f;++f){var h=b[f],i=d[f].names;i.length&&(e=h),h._names=i;var j=h.handler;j._stashNames(h,e)}b._namesStashed=!0}}var f=a.typeOf;b.routeArgs=c,b.getActiveTargetName=d,b.stashParamNames=e}),a("ember-runtime",["ember-metal","ember-runtime/core","ember-runtime/compare","ember-runtime/copy","ember-runtime/inject","ember-runtime/system/namespace","ember-runtime/system/object","ember-runtime/system/tracked_array","ember-runtime/system/subarray","ember-runtime/system/container","ember-runtime/system/array_proxy","ember-runtime/system/object_proxy","ember-runtime/system/core_object","ember-runtime/system/each_proxy","ember-runtime/system/native_array","ember-runtime/system/set","ember-runtime/system/string","ember-runtime/system/deferred","ember-runtime/system/lazy_load","ember-runtime/mixins/array","ember-runtime/mixins/comparable","ember-runtime/mixins/copyable","ember-runtime/mixins/enumerable","ember-runtime/mixins/freezable","ember-runtime/mixins/-proxy","ember-runtime/mixins/observable","ember-runtime/mixins/action_handler","ember-runtime/mixins/deferred","ember-runtime/mixins/mutable_enumerable","ember-runtime/mixins/mutable_array","ember-runtime/mixins/target_action_support","ember-runtime/mixins/evented","ember-runtime/mixins/promise_proxy","ember-runtime/mixins/sortable","ember-runtime/computed/array_computed","ember-runtime/computed/reduce_computed","ember-runtime/computed/reduce_computed_macros","ember-runtime/controllers/array_controller","ember-runtime/controllers/object_controller","ember-runtime/controllers/controller","ember-runtime/mixins/controller","ember-runtime/system/service","ember-runtime/ext/rsvp","ember-runtime/ext/string","ember-runtime/ext/function","exports"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T){"use strict";var U=a["default"],V=b.isEqual,W=c["default"],X=d["default"],Y=e["default"],Z=f["default"],$=g["default"],_=h["default"],ab=i["default"],bb=j["default"],cb=k["default"],db=l["default"],eb=m["default"],fb=n.EachArray,gb=n.EachProxy,hb=o["default"],ib=p["default"],jb=q["default"],kb=r["default"],lb=s.onLoad,mb=s.runLoadHooks,nb=t["default"],ob=u["default"],pb=v["default"],qb=w["default"],rb=x.Freezable,sb=x.FROZEN_ERROR,tb=y["default"],ub=z["default"],vb=A["default"],wb=B["default"],xb=C["default"],yb=D["default"],zb=E["default"],Ab=F["default"],Bb=G["default"],Cb=H["default"],Db=I.arrayComputed,Eb=I.ArrayComputedProperty,Fb=J.reduceComputed,Gb=J.ReduceComputedProperty,Hb=K.sum,Ib=K.min,Jb=K.max,Kb=K.map,Lb=K.sort,Mb=K.setDiff,Nb=K.mapBy,Ob=K.mapProperty,Pb=K.filter,Qb=K.filterBy,Rb=K.filterProperty,Sb=K.uniq,Tb=K.union,Ub=K.intersect,Vb=L["default"],Wb=M["default"],Xb=N["default"],Yb=O["default"],Zb=P["default"],$b=Q["default"];U.compare=W,U.copy=X,U.isEqual=V,U.inject=Y,U.Array=nb,U.Comparable=ob,U.Copyable=pb,U.SortableMixin=Cb,U.Freezable=rb,U.FROZEN_ERROR=sb,U.DeferredMixin=wb,U.MutableEnumerable=xb,U.MutableArray=yb,U.TargetActionSupport=zb,U.Evented=Ab,U.PromiseProxyMixin=Bb,U.Observable=ub,U.arrayComputed=Db,U.ArrayComputedProperty=Eb,U.reduceComputed=Fb,U.ReduceComputedProperty=Gb;var _b=U.computed;_b.sum=Hb,_b.min=Ib,_b.max=Jb,_b.map=Kb,_b.sort=Lb,_b.setDiff=Mb,_b.mapBy=Nb,_b.mapProperty=Ob,_b.filter=Pb,_b.filterBy=Qb,_b.filterProperty=Rb,_b.uniq=Sb,_b.union=Tb,_b.intersect=Ub,U.String=jb,U.Object=$,U.TrackedArray=_,U.SubArray=ab,U.Container=bb,U.Namespace=Z,U.Enumerable=qb,U.ArrayProxy=cb,U.ObjectProxy=db,U.ActionHandler=vb,U.CoreObject=eb,U.EachArray=fb,U.EachProxy=gb,U.NativeArray=hb,U.Set=ib,U.Deferred=kb,U.onLoad=lb,U.runLoadHooks=mb,U.ArrayController=Vb,U.ObjectController=Wb,U.Controller=Xb,U.ControllerMixin=Yb,U.Service=Zb,U._ProxyMixin=tb,U.RSVP=$b,T["default"]=U}),a("ember-runtime/compare",["ember-metal/utils","ember-runtime/mixins/comparable","exports"],function(a,b,c){"use strict";function d(a,b){var c=a-b;return(c>0)-(0>c)}var e=a.typeOf,f=b["default"],g={undefined:0,"null":1,"boolean":2,number:3,string:4,array:5,object:6,instance:7,"function":8,"class":9,date:10};c["default"]=function h(a,b){if(a===b)return 0;var c=e(a),i=e(b);if(f){if("instance"===c&&f.detect(a)&&a.constructor.compare)return a.constructor.compare(a,b);if("instance"===i&&f.detect(b)&&b.constructor.compare)return-1*b.constructor.compare(b,a)}var j=d(g[c],g[i]);if(0!==j)return j;switch(c){case"boolean":case"number":return d(a,b);case"string":return d(a.localeCompare(b),0);case"array":for(var k=a.length,l=b.length,m=Math.min(k,l),n=0;m>n;n++){var o=h(a[n],b[n]);if(0!==o)return o}return d(k,l);case"instance":return f&&f.detect(a)?a.compare(a,b):0;case"date":return d(a.getTime(),b.getTime());default:return 0}}}),a("ember-runtime/computed/array_computed",["ember-metal/core","ember-runtime/computed/reduce_computed","ember-metal/enumerable_utils","ember-metal/platform","ember-metal/observer","ember-metal/error","exports"],function(a,b,c,d,e,f,g){"use strict";function h(){var a=this;return k.apply(this,arguments),this.func=function(b){return function(c){return a._hasInstanceMeta(this,c)||l(a._dependentKeys,function(b){n(this,b,function(){a.recomputeOnce.call(this,c)})},this),b.apply(this,arguments)}}(this.func),this}function i(a){var b;if(arguments.length>1&&(b=p.call(arguments,0,-1),a=p.call(arguments,-1)[0]),"object"!=typeof a)throw new o("Array Computed Property declared without an options hash");var c=new h(a);return b&&c.property.apply(c,b),c}var j=a["default"],k=b.ReduceComputedProperty,l=c.forEach,m=d.create,n=e.addObserver,o=f["default"],p=[].slice;h.prototype=m(k.prototype),h.prototype.initialValue=function(){return j.A()},h.prototype.resetValue=function(a){return a.clear(),a},h.prototype.didChange=function(){},g.arrayComputed=i,g.ArrayComputedProperty=h}),a("ember-runtime/computed/reduce_computed",["ember-metal/core","ember-metal/property_get","ember-metal/utils","ember-metal/error","ember-metal/property_events","ember-metal/expand_properties","ember-metal/observer","ember-metal/computed","ember-metal/platform","ember-metal/enumerable_utils","ember-runtime/system/tracked_array","ember-runtime/mixins/array","ember-metal/run_loop","exports"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n){"use strict";function o(a,b){return"@this"===b?a:C(a,b)}function p(a,b,c){this.callbacks=a,this.cp=b,this.instanceMeta=c,this.dependentKeysByGuid={},this.trackedArraysByGuid={},this.suspended=!1,this.changedItems={},this.changedItemCount=0}function q(a,b,c){B.assert("Internal error: trackedArray is null or undefined",c),this.dependentArray=a,this.index=b,this.item=a.objectAt(b),this.trackedArray=c,this.beforeObserver=null,this.observer=null,this.destroyed=!1}function r(a,b,c){return 0>a?Math.max(0,b+a):b>a?a:Math.min(b-c,a)}function s(a,b,c){return Math.min(c,b-a)}function t(a,b,c,d,e,f,g){this.arrayChanged=a,this.index=c,this.item=b,this.propertyName=d,this.property=e,this.changedCount=f,g&&(this.previousValues=g)}function u(a,b,c,d,e){Q(a,function(f,g){e.setValue(b.addedItem.call(this,e.getValue(),f,new t(a,f,g,d,c,a.length),e.sugarMeta))},this),b.flushedChanges.call(this,e.getValue(),e.sugarMeta)}function v(a,b){var c=a._hasInstanceMeta(this,b),d=a._instanceMeta(this,b);c&&d.setValue(a.resetValue(d.getValue())),a.options.initialize&&a.options.initialize.call(this,d.getValue(),{property:a,propertyName:b},d.sugarMeta)}function w(a,b){if(_.test(b))return!1;var c=o(a,b);return S.detect(c)}function x(a,b,c){this.context=a,this.propertyName=b,this.cache=E(a).cache,this.dependentArrays={},this.sugarMeta={},this.initialValue=c}function y(a){var b=this;this.options=a,this._dependentKeys=null,this._cacheable=!0,this._itemPropertyKeys={},this._previousItemPropertyKeys={},this.readOnly(),this.recomputeOnce=function(a){T.once(this,c,a)};var c=function(a){var c=b._instanceMeta(this,a),d=b._callbacks();v.call(this,b,a),c.dependentArraysObserver.suspendArrayObservers(function(){Q(b._dependentKeys,function(a){if(B.assert("dependent array "+a+" must be an `Ember.Array`. If you are not extending arrays, you will need to wrap native arrays with `Ember.A`",!(U(o(this,a))&&!S.detect(o(this,a)))),w(this,a)){var d=o(this,a),e=c.dependentArrays[a];d===e?b._previousItemPropertyKeys[a]&&(delete b._previousItemPropertyKeys[a],c.dependentArraysObserver.setupPropertyObservers(a,b._itemPropertyKeys[a])):(c.dependentArrays[a]=d,e&&c.dependentArraysObserver.teardownObservers(e,a),d&&c.dependentArraysObserver.setupObservers(d,a))}},this)},this),Q(b._dependentKeys,function(e){if(w(this,e)){var f=o(this,e);f&&u.call(this,f,d,b,a,c)}},this)};this.func=function(a){return B.assert("Computed reduce values require at least one dependent key",b._dependentKeys),c.call(this,a),b._instanceMeta(this,a).getValue()}}function z(a){return a}function A(a){var b;if(arguments.length>1&&(b=Y.call(arguments,0,-1),a=Y.call(arguments,-1)[0]),"object"!=typeof a)throw new F("Reduce Computed Property declared without an options hash");if(!("initialValue"in a))throw new F("Reduce Computed Property declared without an initial value");var c=new y(a);return b&&c.property.apply(c,b),c}var B=a["default"],C=b.get,D=c.guidFor,E=c.meta,F=d["default"],G=e.propertyWillChange,H=e.propertyDidChange,I=f["default"],J=g.addObserver,K=g.removeObserver,L=g.addBeforeObserver,M=g.removeBeforeObserver,N=h.ComputedProperty,O=h.cacheFor,P=i.create,Q=j.forEach,R=k["default"],S=l["default"],T=m["default"],U=c.isArray,V=O.set,W=O.get,X=O.remove,Y=[].slice,Z=/^(.*)\.@each\.(.*)/,$=/(.*\.@each){2,}/,_=/\.\[\]$/;p.prototype={setValue:function(a){this.instanceMeta.setValue(a,!0)},getValue:function(){return this.instanceMeta.getValue()},setupObservers:function(a,b){this.dependentKeysByGuid[D(a)]=b,a.addArrayObserver(this,{willChange:"dependentArrayWillChange",didChange:"dependentArrayDidChange"}),this.cp._itemPropertyKeys[b]&&this.setupPropertyObservers(b,this.cp._itemPropertyKeys[b])},teardownObservers:function(a,b){var c=this.cp._itemPropertyKeys[b]||[];delete this.dependentKeysByGuid[D(a)],this.teardownPropertyObservers(b,c),a.removeArrayObserver(this,{willChange:"dependentArrayWillChange",didChange:"dependentArrayDidChange"})},suspendArrayObservers:function(a,b){var c=this.suspended;this.suspended=!0,a.call(b),this.suspended=c},setupPropertyObservers:function(a,b){var c=o(this.instanceMeta.context,a),d=o(c,"length"),e=new Array(d);this.resetTransformations(a,e),Q(c,function(d,f){var g=this.createPropertyObserverContext(c,f,this.trackedArraysByGuid[a]);e[f]=g,Q(b,function(a){L(d,a,this,g.beforeObserver),J(d,a,this,g.observer)},this)},this)},teardownPropertyObservers:function(a,b){var c,d,e,f=this,g=this.trackedArraysByGuid[a];g&&g.apply(function(a,g,h){h!==R.DELETE&&Q(a,function(a){a.destroyed=!0,c=a.beforeObserver,d=a.observer,e=a.item,Q(b,function(a){M(e,a,f,c),K(e,a,f,d)})})})},createPropertyObserverContext:function(a,b,c){var d=new q(a,b,c);return this.createPropertyObserver(d),d},createPropertyObserver:function(a){var b=this;a.beforeObserver=function(c,d){return b.itemPropertyWillChange(c,d,a.dependentArray,a)},a.observer=function(c,d){return b.itemPropertyDidChange(c,d,a.dependentArray,a)}},resetTransformations:function(a,b){this.trackedArraysByGuid[a]=new R(b)},trackAdd:function(a,b,c){var d=this.trackedArraysByGuid[a];d&&d.addItems(b,c)},trackRemove:function(a,b,c){var d=this.trackedArraysByGuid[a];return d?d.removeItems(b,c):[]},updateIndexes:function(a,b){var c=o(b,"length");a.apply(function(a,b,d,e){d!==R.DELETE&&(0!==e||d!==R.RETAIN||a.length!==c||0!==b)&&Q(a,function(a,c){a.index=c+b})})},dependentArrayWillChange:function(a,b,c){function d(a){i[h].destroyed=!0,M(f,a,this,i[h].beforeObserver),K(f,a,this,i[h].observer)}if(!this.suspended){var e,f,g,h,i,j=this.callbacks.removedItem,k=D(a),l=this.dependentKeysByGuid[k],m=this.cp._itemPropertyKeys[l]||[],n=o(a,"length"),p=r(b,n,0),q=s(p,n,c);for(i=this.trackRemove(l,p,q),h=q-1;h>=0&&(g=p+h,!(g>=n));--h)f=a.objectAt(g),Q(m,d,this),e=new t(a,f,g,this.instanceMeta.propertyName,this.cp,q),this.setValue(j.call(this.instanceMeta.context,this.getValue(),f,e,this.instanceMeta.sugarMeta));this.callbacks.flushedChanges.call(this.instanceMeta.context,this.getValue(),this.instanceMeta.sugarMeta)}},dependentArrayDidChange:function(a,b,c,d){if(!this.suspended){var e,f,g=this.callbacks.addedItem,h=D(a),i=this.dependentKeysByGuid[h],j=new Array(d),k=this.cp._itemPropertyKeys[i],l=o(a,"length"),m=r(b,l,d),n=m+d;Q(a.slice(m,n),function(b,c){k&&(f=this.createPropertyObserverContext(a,m+c,this.trackedArraysByGuid[i]),j[c]=f,Q(k,function(a){L(b,a,this,f.beforeObserver),J(b,a,this,f.observer)},this)),e=new t(a,b,m+c,this.instanceMeta.propertyName,this.cp,d),this.setValue(g.call(this.instanceMeta.context,this.getValue(),b,e,this.instanceMeta.sugarMeta))},this),this.callbacks.flushedChanges.call(this.instanceMeta.context,this.getValue(),this.instanceMeta.sugarMeta),this.trackAdd(i,m,j)}},itemPropertyWillChange:function(a,b,c,d){var e=D(a);this.changedItems[e]||(this.changedItems[e]={array:c,observerContext:d,obj:a,previousValues:{}}),++this.changedItemCount,this.changedItems[e].previousValues[b]=o(a,b)},itemPropertyDidChange:function(){0===--this.changedItemCount&&this.flushChanges()},flushChanges:function(){var a,b,c,d=this.changedItems;for(a in d)b=d[a],b.observerContext.destroyed||(this.updateIndexes(b.observerContext.trackedArray,b.observerContext.dependentArray),c=new t(b.array,b.obj,b.observerContext.index,this.instanceMeta.propertyName,this.cp,d.length,b.previousValues),this.setValue(this.callbacks.removedItem.call(this.instanceMeta.context,this.getValue(),b.obj,c,this.instanceMeta.sugarMeta)),this.setValue(this.callbacks.addedItem.call(this.instanceMeta.context,this.getValue(),b.obj,c,this.instanceMeta.sugarMeta)));this.changedItems={},this.callbacks.flushedChanges.call(this.instanceMeta.context,this.getValue(),this.instanceMeta.sugarMeta)}},x.prototype={getValue:function(){var a=W(this.cache,this.propertyName);return void 0!==a?a:this.initialValue},setValue:function(a,b){a!==W(this.cache,this.propertyName)&&(b&&G(this.context,this.propertyName),void 0===a?X(this.cache,this.propertyName):V(this.cache,this.propertyName,a),b&&H(this.context,this.propertyName))}},n.ReduceComputedProperty=y,y.prototype=P(N.prototype),y.prototype._callbacks=function(){if(!this.callbacks){var a=this.options;this.callbacks={removedItem:a.removedItem||z,addedItem:a.addedItem||z,flushedChanges:a.flushedChanges||z}}return this.callbacks},y.prototype._hasInstanceMeta=function(a,b){return!!E(a).cacheMeta[b] +},y.prototype._instanceMeta=function(a,b){var c=E(a).cacheMeta,d=c[b];return d||(d=c[b]=new x(a,b,this.initialValue()),d.dependentArraysObserver=new p(this._callbacks(),this,d,a,b,d.sugarMeta)),d},y.prototype.initialValue=function(){return"function"==typeof this.options.initialValue?this.options.initialValue():this.options.initialValue},y.prototype.resetValue=function(){return this.initialValue()},y.prototype.itemPropertyKey=function(a,b){this._itemPropertyKeys[a]=this._itemPropertyKeys[a]||[],this._itemPropertyKeys[a].push(b)},y.prototype.clearItemPropertyKeys=function(a){this._itemPropertyKeys[a]&&(this._previousItemPropertyKeys[a]=this._itemPropertyKeys[a],this._itemPropertyKeys[a]=[])},y.prototype.property=function(){var a,b,c=this,d=Y.call(arguments),e={};Q(d,function(d){if($.test(d))throw new F("Nested @each properties not supported: "+d);if(a=Z.exec(d)){b=a[1];var f=a[2],g=function(a){c.itemPropertyKey(b,a)};I(f,g),e[D(b)]=b}else e[D(d)]=d});var f=[];for(var g in e)f.push(e[g]);return N.prototype.property.apply(this,f)},n.reduceComputed=A}),a("ember-runtime/computed/reduce_computed_macros",["ember-metal/core","ember-metal/property_get","ember-metal/utils","ember-metal/error","ember-metal/enumerable_utils","ember-metal/run_loop","ember-metal/observer","ember-runtime/computed/array_computed","ember-runtime/computed/reduce_computed","ember-runtime/system/subarray","ember-metal/keys","ember-runtime/compare","exports"],function(a,b,c,d,e,f,g,h,i,j,k,l,m){"use strict";function n(a){return L(a,{initialValue:0,addedItem:function(a,b){return a+b},removedItem:function(a,b){return a-b}})}function o(a){return L(a,{initialValue:-1/0,addedItem:function(a,b){return Math.max(a,b)},removedItem:function(a,b){return a>b?a:void 0}})}function p(a){return L(a,{initialValue:1/0,addedItem:function(a,b){return Math.min(a,b)},removedItem:function(a,b){return b>a?a:void 0}})}function q(a,b){var c={addedItem:function(a,c,d){var e=b.call(this,c,d.index);return a.insertAt(d.index,e),a},removedItem:function(a,b,c){return a.removeAt(c.index,1),a}};return K(a,c)}function r(a,b){var c=function(a){return D(a,b)};return q(a+".@each."+b,c)}function s(a,b){var c={initialize:function(a,b,c){c.filteredArrayIndexes=new M},addedItem:function(a,c,d,e){var f=!!b.call(this,c,d.index,d.arrayChanged),g=e.filteredArrayIndexes.addItem(d.index,f);return f&&a.insertAt(g,c),a},removedItem:function(a,b,c,d){var e=d.filteredArrayIndexes.removeItem(c.index);return e>-1&&a.removeAt(e),a}};return K(a,c)}function t(a,b,c){var d;return d=2===arguments.length?function(a){return D(a,b)}:function(a){return D(a,b)===c},s(a+".@each."+b,d)}function u(){var a=P.call(arguments);return a.push({initialize:function(a,b,c){c.itemCounts={}},addedItem:function(a,b,c,d){var e=F(b);return d.itemCounts[e]?++d.itemCounts[e]:(d.itemCounts[e]=1,a.pushObject(b)),a},removedItem:function(a,b,c,d){var e=F(b),f=d.itemCounts;return 0===--f[e]&&a.removeObject(b),a}}),K.apply(null,a)}function v(){var a=P.call(arguments);return a.push({initialize:function(a,b,c){c.itemCounts={}},addedItem:function(a,b,c,d){var e=F(b),f=F(c.arrayChanged),g=c.property._dependentKeys.length,h=d.itemCounts;return h[e]||(h[e]={}),void 0===h[e][f]&&(h[e][f]=0),1===++h[e][f]&&g===N(h[e]).length&&a.addObject(b),a},removedItem:function(a,b,c,d){var e,f=F(b),g=F(c.arrayChanged),h=d.itemCounts;return void 0===h[f][g]&&(h[f][g]=0),0===--h[f][g]&&(delete h[f][g],e=N(h[f]).length,0===e&&delete h[f],a.removeObject(b)),a}}),K.apply(null,a)}function w(a,b){if(2!==arguments.length)throw new G("setDiff requires exactly two dependent arrays.");return K(a,b,{addedItem:function(c,d,e){var f=D(this,a),g=D(this,b);return e.arrayChanged===f?g.contains(d)||c.addObject(d):c.removeObject(d),c},removedItem:function(c,d,e){var f=D(this,a),g=D(this,b);return e.arrayChanged===g?f.contains(d)&&c.addObject(d):c.removeObject(d),c}})}function x(a,b,c,d){var e,f,g,h,i;return arguments.length<4&&(d=D(a,"length")),arguments.length<3&&(c=0),c===d?c:(e=c+Math.floor((d-c)/2),f=a.objectAt(e),h=F(f),i=F(b),h===i?e:(g=this.order(f,b),0===g&&(g=i>h?-1:1),0>g?this.binarySearch(a,b,e+1,d):g>0?this.binarySearch(a,b,c,e):e))}function y(a,b){return C.assert("Ember.computed.sort requires two arguments: an array key to sort and either a sort properties key or sort function",2===arguments.length),"function"==typeof b?z(a,b):A(a,b)}function z(a,b){return K(a,{initialize:function(a,c,d){d.order=b,d.binarySearch=x,d.waitingInsertions=[],d.insertWaiting=function(){var b,c,e=d.waitingInsertions;d.waitingInsertions=[];for(var f=0;f=0&&c>a&&(b=this.lookupItemController(e))?this.controllerAt(a,e,b):e},arrangedContentDidChange:function(){this._super(),this._resetSubControllers()},arrayContentDidChange:function(a,b,c){var d=this._subControllers;if(d.length){var e=d.slice(a,a+b);l(e,function(a){a&&a.destroy()}),m(d,a,b,new Array(c))}this._super(a,b,c)},init:function(){this._super(),this._subControllers=[]},model:q(function(){return j.A()}),_isVirtual:!1,controllerAt:function(a,b,c){var d,e,f,g=k(this,"container"),h=this._subControllers;if(h.length>a&&(e=h[a]))return e;if(f=this._isVirtual?k(this,"parentController"):this,d="controller:"+c,!g.has(d))throw new r('Could not resolve itemController: "'+c+'"');return e=g.lookupFactory(d).create({target:f,parentController:f,model:b}),h[a]=e,e},_subControllers:null,_resetSubControllers:function(){var a,b=this._subControllers;if(b.length){for(var c=0,d=b.length;d>c;c++)a=b[c],a&&a.destroy();b.length=0}},willDestroy:function(){this._resetSubControllers(),this._super()}})}),a("ember-runtime/controllers/controller",["ember-metal/core","ember-runtime/system/object","ember-runtime/mixins/controller","ember-runtime/inject","exports"],function(a,b,c,d,e){"use strict";function f(a){g.assert("Defining an injected controller property on a non-controller is not allowed.",k.detect(a))}var g=a["default"],h=b["default"],i=c["default"],j=d.createInjectionHelper,k=h.extend(i);j("controller",f),e["default"]=k}),a("ember-runtime/controllers/object_controller",["ember-runtime/mixins/controller","ember-runtime/system/object_proxy","exports"],function(a,b,c){"use strict";var d=a["default"],e=b["default"];c["default"]=e.extend(d)}),a("ember-runtime/copy",["ember-metal/enumerable_utils","ember-metal/utils","ember-runtime/system/object","ember-runtime/mixins/copyable","exports"],function(a,b,c,d,f){"use strict";function g(a,b,c,d){var f,l,m;if("object"!=typeof a||null===a)return a;if(b&&(l=h(c,a))>=0)return d[l];if(e.assert("Cannot clone an Ember.Object that does not implement Ember.Copyable",!(a instanceof j)||k&&k.detect(a)),"array"===i(a)){if(f=a.slice(),b)for(l=f.length;--l>=0;)f[l]=g(f[l],b,c,d)}else if(k&&k.detect(a))f=a.copy(b,c,d);else if(a instanceof Date)f=new Date(a.getTime());else{f={};for(m in a)Object.prototype.hasOwnProperty.call(a,m)&&"__"!==m.substring(0,2)&&(f[m]=b?g(a[m],b,c,d):a[m])}return b&&(c.push(a),d.push(f)),f}var h=a.indexOf,i=b.typeOf,j=c["default"],k=d["default"];f["default"]=function(a,b){return"object"!=typeof a||null===a?a:k&&k.detect(a)?a.copy(b):g(a,b,b?[]:null,b?[]:null)}}),a("ember-runtime/core",["exports"],function(a){"use strict";var b=function(a,b){return a&&"function"==typeof a.isEqual?a.isEqual(b):a instanceof Date&&b instanceof Date?a.getTime()===b.getTime():a===b};a.isEqual=b}),a("ember-runtime/ext/function",["ember-metal/core","ember-metal/expand_properties","ember-metal/computed","ember-metal/mixin"],function(a,b,c,d){"use strict";var e=a["default"],f=b["default"],g=c.computed,h=d.observer,i=Array.prototype.slice,j=Function.prototype;(e.EXTEND_PROTOTYPES===!0||e.EXTEND_PROTOTYPES.Function)&&(j.property=function(){var a=g(this);return a.property.apply(a,arguments)},j.observes=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];return h.apply(this,b.concat(this))},j.observesImmediately=function(){return e.assert("Immediate observers must observe internal properties only, not properties on other objects.",function(){for(var a=0,b=arguments.length;b>a;a++)if(-1!==arguments[a].indexOf("."))return!1;return!0}),this.observes.apply(this,arguments)},j.observesBefore=function(){for(var a=[],b=function(b){a.push(b)},c=0,d=arguments.length;d>c;++c)f(arguments[c],b);return this.__ember_observesBefore__=a,this},j.on=function(){var a=i.call(arguments);return this.__ember_listens__=a,this})}),a("ember-runtime/ext/rsvp",["ember-metal/core","ember-metal/logger","ember-metal/run_loop","rsvp","exports"],function(a,c,d,e,f){"use strict";var g,h=a["default"],i=c["default"],j=d["default"],k=e,l="ember-testing/test",m=function(){h.Test&&h.Test.adapter&&h.Test.adapter.asyncStart()},n=function(){h.Test&&h.Test.adapter&&h.Test.adapter.asyncEnd()};k.configure("async",function(a,b){var c=!j.currentRunLoop;h.testing&&c&&m(),j.backburner.schedule("actions",function(){h.testing&&c&&n(),a(b)})}),k.Promise.prototype.fail=function(a,b){return h.deprecate("RSVP.Promise.fail has been renamed as RSVP.Promise.catch"),this["catch"](a,b)},k.onerrorDefault=function(a){var c;if(a&&a.errorThrown?(c=a.errorThrown,"string"==typeof c&&(c=new Error(c)),c.__reason_with_error_thrown__=a):c=a,c&&"TransitionAborted"!==c.name)if(h.testing){if(!g&&h.__loader.registry[l]&&(g=b(l)["default"]),!g||!g.adapter)throw c;g.adapter.exception(c),i.error(c.stack)}else h.onerror?h.onerror(c):i.error(c.stack)},k.on("error",k.onerrorDefault),f["default"]=k}),a("ember-runtime/ext/string",["ember-metal/core","ember-runtime/system/string"],function(a,b){"use strict";var c=a["default"],d=b.fmt,e=b.w,f=b.loc,g=b.camelize,h=b.decamelize,i=b.dasherize,j=b.underscore,k=b.capitalize,l=b.classify,m=String.prototype;(c.EXTEND_PROTOTYPES===!0||c.EXTEND_PROTOTYPES.String)&&(m.fmt=function(){return d(this,arguments)},m.w=function(){return e(this)},m.loc=function(){return f(this,arguments)},m.camelize=function(){return g(this)},m.decamelize=function(){return h(this)},m.dasherize=function(){return i(this)},m.underscore=function(){return j(this)},m.classify=function(){return l(this)},m.capitalize=function(){return k(this)})}),a("ember-runtime/inject",["ember-metal/core","ember-metal/enumerable_utils","ember-metal/utils","ember-metal/injected_property","ember-metal/keys","exports"],function(a,b,c,d,e,f){"use strict";function g(){j.assert("Injected properties must be created through helpers, see `"+n(g).join("`, `")+"`")}function h(a,b){o[a]=b,g[a]=function(b){return new m(a,b)}}function i(a){var b,c,d,e,f,g=a.proto(),h=l(g).descs,i=[];for(b in h)c=h[b],c instanceof m&&-1===k(i,c.type)&&i.push(c.type);if(i.length)for(e=0,f=i.length;f>e;e++)d=o[i[e]],"function"==typeof d&&d(a);return!0}var j=a["default"],k=b.indexOf,l=c.meta,m=d["default"],n=e["default"],o={};f.createInjectionHelper=h,f.validatePropertyInjections=i,f["default"]=g}),a("ember-runtime/mixins/-proxy",["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/utils","ember-metal/observer","ember-metal/property_events","ember-metal/computed","ember-metal/properties","ember-metal/mixin","ember-runtime/system/string","exports"],function(a,b,c,d,e,f,g,h,i,j,k){"use strict";function l(a,b){var c=b.slice(8);c in this||v(this,c)}function m(a,b){var c=b.slice(8);c in this||w(this,c)}var n=a["default"],o=b.get,p=c.set,q=d.meta,r=e.addObserver,s=e.removeObserver,t=e.addBeforeObserver,u=e.removeBeforeObserver,v=f.propertyWillChange,w=f.propertyDidChange,x=g.computed,y=h.defineProperty,z=i.Mixin,A=i.observer,B=j.fmt;k["default"]=z.create({content:null,_contentDidChange:A("content",function(){n.assert("Can't set Proxy's content to itself",o(this,"content")!==this)}),isTruthy:x.bool("content"),_debugContainerKey:null,willWatchProperty:function(a){var b="content."+a;t(this,b,null,l),r(this,b,null,m)},didUnwatchProperty:function(a){var b="content."+a;u(this,b,null,l),s(this,b,null,m)},unknownProperty:function(a){var b=o(this,"content");return b?o(b,a):void 0},setUnknownProperty:function(a,b){var c=q(this);if(c.proto===this)return y(this,a,null,b),b;var d=o(this,"content");return n.assert(B("Cannot delegate set('%@', %@) to the 'content' property of object proxy %@: its 'content' is undefined.",[a,b,this]),d),p(d,a,b)}})}),a("ember-runtime/mixins/action_handler",["ember-metal/merge","ember-metal/mixin","ember-metal/property_get","ember-metal/utils","exports"],function(a,b,c,d,f){"use strict";var g=a["default"],h=b.Mixin,i=c.get,j=d.typeOf,k=h.create({mergedProperties:["_actions"],willMergeMixin:function(a){var b;a._actions||(e.assert("'actions' should not be a function","function"!=typeof a.actions),"object"===j(a.actions)?b="actions":"object"===j(a.events)&&(e.deprecate("Action handlers contained in an `events` object are deprecated in favor of putting them in an `actions` object",!1),b="events"),b&&(a._actions=g(a._actions||{},a[b])),delete a[b])},send:function(a){var b,c=[].slice.call(arguments,1);this._actions&&this._actions[a]&&this._actions[a].apply(this,c)!==!0||(b=i(this,"target"))&&(e.assert("The `target` for "+this+" ("+b+") does not have a `send` method","function"==typeof b.send),b.send.apply(b,arguments))}});f["default"]=k}),a("ember-runtime/mixins/array",["ember-metal/core","ember-metal/property_get","ember-metal/computed","ember-metal/is_none","ember-runtime/mixins/enumerable","ember-metal/enumerable_utils","ember-metal/mixin","ember-metal/property_events","ember-metal/events","ember-metal/watching","exports"],function(a,c,d,e,f,g,h,i,j,k,l){"use strict";function m(a,b,c,d,e){var f=c&&c.willChange||"arrayWillChange",g=c&&c.didChange||"arrayDidChange",h=o(a,"hasArrayObservers");return h===e&&w(a,"hasArrayObservers"),d(a,"@array:before",b,f),d(a,"@array:change",b,g),h===e&&x(a,"hasArrayObservers"),a}var n=a["default"],o=c.get,p=d.computed,q=d.cacheFor,r=e["default"],s=f["default"],t=g.map,u=h.Mixin,v=h.required,w=i.propertyWillChange,x=i.propertyDidChange,y=j.addListener,z=j.removeListener,A=j.sendEvent,B=j.hasListeners,C=k.isWatching;l["default"]=u.create(s,{length:v(),objectAt:function(a){return 0>a||a>=o(this,"length")?void 0:o(this,a)},objectsAt:function(a){var b=this;return t(a,function(a){return b.objectAt(a)})},nextObject:function(a){return this.objectAt(a)},"[]":p(function(a,b){return void 0!==b&&this.replace(0,o(this,"length"),b),this}),firstObject:p(function(){return this.objectAt(0)}),lastObject:p(function(){return this.objectAt(o(this,"length")-1)}),contains:function(a){return this.indexOf(a)>=0},slice:function(a,b){var c=n.A(),d=o(this,"length");for(r(a)&&(a=0),(r(b)||b>d)&&(b=d),0>a&&(a=d+a),0>b&&(b=d+b);b>a;)c[c.length]=this.objectAt(a++);return c},indexOf:function(a,b){var c,d=o(this,"length");for(void 0===b&&(b=0),0>b&&(b+=d),c=b;d>c;c++)if(this.objectAt(c)===a)return c;return-1},lastIndexOf:function(a,b){var c,d=o(this,"length");for((void 0===b||b>=d)&&(b=d-1),0>b&&(b+=d),c=b;c>=0;c--)if(this.objectAt(c)===a)return c;return-1},addArrayObserver:function(a,b){return m(this,a,b,y,!1)},removeArrayObserver:function(a,b){return m(this,a,b,z,!0)},hasArrayObservers:p(function(){return B(this,"@array:change")||B(this,"@array:before")}),arrayContentWillChange:function(a,b,c){var d,e;if(void 0===a?(a=0,b=c=-1):(void 0===b&&(b=-1),void 0===c&&(c=-1)),C(this,"@each")&&o(this,"@each"),A(this,"@array:before",[this,a,b,c]),a>=0&&b>=0&&o(this,"hasEnumerableObservers")){d=[],e=a+b;for(var f=a;e>f;f++)d.push(this.objectAt(f))}else d=b;return this.enumerableContentWillChange(d,c),this},arrayContentDidChange:function(a,b,c){var d,e;if(void 0===a?(a=0,b=c=-1):(void 0===b&&(b=-1),void 0===c&&(c=-1)),a>=0&&c>=0&&o(this,"hasEnumerableObservers")){d=[],e=a+c;for(var f=a;e>f;f++)d.push(this.objectAt(f))}else d=c;this.enumerableContentDidChange(b,d),A(this,"@array:change",[this,a,b,c]);var g=o(this,"length"),h=q(this,"firstObject"),i=q(this,"lastObject");return this.objectAt(0)!==h&&(w(this,"firstObject"),x(this,"firstObject")),this.objectAt(g-1)!==i&&(w(this,"lastObject"),x(this,"lastObject")),this},"@each":p(function(){if(!this.__each){var a=b("ember-runtime/system/each_proxy").EachProxy;this.__each=new a(this)}return this.__each})})}),a("ember-runtime/mixins/comparable",["ember-metal/mixin","exports"],function(a,b){"use strict";var c=a.Mixin,d=a.required;b["default"]=c.create({compare:d(Function)})}),a("ember-runtime/mixins/controller",["ember-metal/mixin","ember-metal/computed","ember-runtime/mixins/action_handler","ember-runtime/mixins/controller_content_model_alias_deprecation","exports"],function(a,b,c,d,e){"use strict";var f=a.Mixin,g=b.computed,h=c["default"],i=d["default"];e["default"]=f.create(h,i,{isController:!0,target:null,container:null,parentController:null,store:null,model:null,content:g.alias("model")})}),a("ember-runtime/mixins/controller_content_model_alias_deprecation",["ember-metal/core","ember-metal/mixin","exports"],function(a,b,c){"use strict";var d=a["default"],e=b.Mixin;c["default"]=e.create({willMergeMixin:function(a){this._super.apply(this,arguments);var b=!!a.model;a.content&&!b&&(a.model=a.content,delete a.content,d.deprecate("Do not specify `content` on a Controller, use `model` instead.",!1))}})}),a("ember-runtime/mixins/copyable",["ember-metal/property_get","ember-metal/mixin","ember-runtime/mixins/freezable","ember-runtime/system/string","ember-metal/error","exports"],function(a,b,c,d,e,f){"use strict";var g=a.get,h=b.required,i=c.Freezable,j=b.Mixin,k=d.fmt,l=e["default"];f["default"]=j.create({copy:h(Function),frozenCopy:function(){if(i&&i.detect(this))return g(this,"isFrozen")?this:this.copy().freeze();throw new l(k("%@ does not support freezing",[this]))}})}),a("ember-runtime/mixins/deferred",["ember-metal/core","ember-metal/property_get","ember-metal/mixin","ember-metal/computed","ember-runtime/ext/rsvp","exports"],function(a,b,c,d,e,f){"use strict";var g=a["default"],h=b.get,i=c.Mixin,j=d.computed,k=e["default"];f["default"]=i.create({then:function(a,b,c){function d(b){return a(b===f?g:b)}var e,f,g;return g=this,e=h(this,"_deferred"),f=e.promise,f.then(a&&d,b,c)},resolve:function(a){var b,c;b=h(this,"_deferred"),c=b.promise,b.resolve(a===this?c:a)},reject:function(a){h(this,"_deferred").reject(a)},_deferred:j(function(){return g.deprecate("Usage of Ember.DeferredMixin or Ember.Deferred is deprecated.",this._suppressDeferredDeprecation,{url:"http://emberjs.com/guides/deprecations/#toc_deprecate-ember-deferredmixin-and-ember-deferred"}),k.defer("Ember: DeferredMixin - "+this)})})}),a("ember-runtime/mixins/enumerable",["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/utils","ember-metal/mixin","ember-metal/enumerable_utils","ember-metal/computed","ember-metal/property_events","ember-metal/events","ember-runtime/compare","exports"],function(a,b,c,d,e,f,g,h,i,j,k){"use strict";function l(){return 0===F.length?{}:F.pop()}function m(a){return F.push(a),null}function n(a,b){function c(c){var e=p(c,a);return d?b===e:!!e}var d=2===arguments.length;return c}var o=a["default"],p=b.get,q=c.set,r=d.apply,s=e.Mixin,t=e.required,u=e.aliasMethod,v=f.indexOf,w=g.computed,x=h.propertyWillChange,y=h.propertyDidChange,z=i.addListener,A=i.removeListener,B=i.sendEvent,C=i.hasListeners,D=j["default"],E=Array.prototype.slice,F=[];k["default"]=s.create({nextObject:t(Function),firstObject:w("[]",function(){if(0===p(this,"length"))return void 0;var a=l(),b=this.nextObject(0,null,a);return m(a),b}),lastObject:w("[]",function(){var a=p(this,"length");if(0===a)return void 0;var b,c=l(),d=0,e=null;do e=b,b=this.nextObject(d++,e,c);while(void 0!==b);return m(c),e}),contains:function(a){var b=this.find(function(b){return b===a});return void 0!==b},forEach:function(a,b){if("function"!=typeof a)throw new TypeError;var c=l(),d=p(this,"length"),e=null;void 0===b&&(b=null);for(var f=0;d>f;f++){var g=this.nextObject(f,e,c);a.call(b,g,f,this),e=g}return e=null,c=m(c),this},getEach:function(a){return this.mapBy(a)},setEach:function(a,b){return this.forEach(function(c){q(c,a,b)})},map:function(a,b){var c=o.A();return this.forEach(function(d,e,f){c[e]=a.call(b,d,e,f)}),c},mapBy:function(a){return this.map(function(b){return p(b,a)})},mapProperty:u("mapBy"),filter:function(a,b){var c=o.A();return this.forEach(function(d,e,f){a.call(b,d,e,f)&&c.push(d)}),c},reject:function(a,b){return this.filter(function(){return!r(b,a,arguments)})},filterBy:function(){return this.filter(r(this,n,arguments))},filterProperty:u("filterBy"),rejectBy:function(a,b){var c=function(c){return p(c,a)===b},d=function(b){return!!p(b,a)},e=2===arguments.length?c:d;return this.reject(e)},rejectProperty:u("rejectBy"),find:function(a,b){var c=p(this,"length");void 0===b&&(b=null);for(var d,e,f=l(),g=!1,h=null,i=0;c>i&&!g;i++)d=this.nextObject(i,h,f),(g=a.call(b,d,i,this))&&(e=d),h=d;return d=h=null,f=m(f),e},findBy:function(){return this.find(r(this,n,arguments))},findProperty:u("findBy"),every:function(a,b){return!this.find(function(c,d,e){return!a.call(b,c,d,e)})},everyBy:u("isEvery"),everyProperty:u("isEvery"),isEvery:function(){return this.every(r(this,n,arguments))},any:function(a,b){var c,d,e=p(this,"length"),f=l(),g=!1,h=null;for(void 0===b&&(b=null),d=0;e>d&&!g;d++)c=this.nextObject(d,h,f),g=a.call(b,c,d,this),h=c;return c=h=null,f=m(f),g},some:u("any"),isAny:function(){return this.any(r(this,n,arguments))},anyBy:u("isAny"),someProperty:u("isAny"),reduce:function(a,b,c){if("function"!=typeof a)throw new TypeError;var d=b;return this.forEach(function(b,e){d=a(d,b,e,this,c)},this),d},invoke:function(a){var b,c=o.A();return arguments.length>1&&(b=E.call(arguments,1)),this.forEach(function(d,e){var f=d&&d[a];"function"==typeof f&&(c[e]=b?r(d,f,b):d[a]())},this),c},toArray:function(){var a=o.A();return this.forEach(function(b,c){a[c]=b}),a},compact:function(){return this.filter(function(a){return null!=a})},without:function(a){if(!this.contains(a))return this;var b=o.A();return this.forEach(function(c){c!==a&&(b[b.length]=c)}),b},uniq:function(){var a=o.A();return this.forEach(function(b){v(a,b)<0&&a.push(b)}),a},"[]":w(function(){return this}),addEnumerableObserver:function(a,b){var c=b&&b.willChange||"enumerableWillChange",d=b&&b.didChange||"enumerableDidChange",e=p(this,"hasEnumerableObservers");return e||x(this,"hasEnumerableObservers"),z(this,"@enumerable:before",a,c),z(this,"@enumerable:change",a,d),e||y(this,"hasEnumerableObservers"),this},removeEnumerableObserver:function(a,b){var c=b&&b.willChange||"enumerableWillChange",d=b&&b.didChange||"enumerableDidChange",e=p(this,"hasEnumerableObservers");return e&&x(this,"hasEnumerableObservers"),A(this,"@enumerable:before",a,c),A(this,"@enumerable:change",a,d),e&&y(this,"hasEnumerableObservers"),this},hasEnumerableObservers:w(function(){return C(this,"@enumerable:change")||C(this,"@enumerable:before")}),enumerableContentWillChange:function(a,b){var c,d,e;return c="number"==typeof a?a:a?p(a,"length"):a=-1,d="number"==typeof b?b:b?p(b,"length"):b=-1,e=0>d||0>c||d-c!==0,-1===a&&(a=null),-1===b&&(b=null),x(this,"[]"),e&&x(this,"length"),B(this,"@enumerable:before",[this,a,b]),this},enumerableContentDidChange:function(a,b){var c,d,e;return c="number"==typeof a?a:a?p(a,"length"):a=-1,d="number"==typeof b?b:b?p(b,"length"):b=-1,e=0>d||0>c||d-c!==0,-1===a&&(a=null),-1===b&&(b=null),B(this,"@enumerable:change",[this,a,b]),e&&y(this,"length"),y(this,"[]"),this},sortBy:function(){var a=arguments;return this.toArray().sort(function(b,c){for(var d=0;dd;d++)c[d-1]=arguments[d];h(this,a,c)},off:function(a,b,c){return f(this,a,b,c),this},has:function(a){return g(this,a)}})}),a("ember-runtime/mixins/freezable",["ember-metal/mixin","ember-metal/property_get","ember-metal/property_set","exports"],function(a,b,c,d){"use strict";var e=a.Mixin,f=b.get,g=c.set,h=e.create({isFrozen:!1,freeze:function(){return f(this,"isFrozen")?this:(g(this,"isFrozen",!0),this)}});d.Freezable=h;var i="Frozen object cannot be modified.";d.FROZEN_ERROR=i}),a("ember-runtime/mixins/mutable_array",["ember-metal/property_get","ember-metal/utils","ember-metal/error","ember-metal/mixin","ember-runtime/mixins/array","ember-runtime/mixins/mutable_enumerable","ember-runtime/mixins/enumerable","exports"],function(a,b,c,d,e,f,g,h){"use strict";var i="Index out of range",j=[],k=a.get,l=b.isArray,m=c["default"],n=d.Mixin,o=d.required,p=e["default"],q=f["default"],r=g["default"];h["default"]=n.create(p,q,{replace:o(),clear:function(){var a=k(this,"length");return 0===a?this:(this.replace(0,a,j),this)},insertAt:function(a,b){if(a>k(this,"length"))throw new m(i);return this.replace(a,0,[b]),this},removeAt:function(a,b){if("number"==typeof a){if(0>a||a>=k(this,"length"))throw new m(i);void 0===b&&(b=1),this.replace(a,b,j)}return this},pushObject:function(a){return this.insertAt(k(this,"length"),a),a},pushObjects:function(a){if(!r.detect(a)&&!l(a))throw new TypeError("Must pass Ember.Enumerable to Ember.MutableArray#pushObjects");return this.replace(k(this,"length"),0,a),this},popObject:function(){var a=k(this,"length");if(0===a)return null;var b=this.objectAt(a-1);return this.removeAt(a-1,1),b},shiftObject:function(){if(0===k(this,"length"))return null;var a=this.objectAt(0);return this.removeAt(0),a},unshiftObject:function(a){return this.insertAt(0,a),a},unshiftObjects:function(a){return this.replace(0,0,a),this},reverseObjects:function(){var a=k(this,"length");if(0===a)return this;var b=this.toArray().reverse();return this.replace(0,a,b),this},setObjects:function(a){if(0===a.length)return this.clear();var b=k(this,"length");return this.replace(0,b,a),this},removeObject:function(a){for(var b=k(this,"length")||0;--b>=0;){var c=this.objectAt(b);c===a&&this.removeAt(b)}return this},addObject:function(a){return this.contains(a)||this.pushObject(a),this}})}),a("ember-runtime/mixins/mutable_enumerable",["ember-metal/enumerable_utils","ember-runtime/mixins/enumerable","ember-metal/mixin","ember-metal/property_events","exports"],function(a,b,c,d,e){"use strict";var f=a.forEach,g=b["default"],h=c.Mixin,i=c.required,j=d.beginPropertyChanges,k=d.endPropertyChanges;e["default"]=h.create(g,{addObject:i(Function),addObjects:function(a){return j(this),f(a,function(a){this.addObject(a)},this),k(this),this},removeObject:i(Function),removeObjects:function(a){j(this);for(var b=a.length-1;b>=0;b--)this.removeObject(a[b]);return k(this),this}})}),a("ember-runtime/mixins/observable",["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/utils","ember-metal/get_properties","ember-metal/set_properties","ember-metal/mixin","ember-metal/events","ember-metal/property_events","ember-metal/observer","ember-metal/computed","ember-metal/is_none","exports"],function(a,b,c,d,e,f,g,h,i,j,k,l,m){"use strict";var n=a["default"],o=b.get,p=b.getWithDefault,q=c.set,r=d.apply,s=e["default"],t=f["default"],u=g.Mixin,v=h.hasListeners,w=i.beginPropertyChanges,x=i.propertyWillChange,y=i.propertyDidChange,z=i.endPropertyChanges,A=j.addObserver,B=j.addBeforeObserver,C=j.removeObserver,D=j.observersFor,E=k.cacheFor,F=l["default"],G=Array.prototype.slice;m["default"]=u.create({get:function(a){return o(this,a)},getProperties:function(){return r(null,s,[this].concat(G.call(arguments)))},set:function(a,b){return q(this,a,b),this},setProperties:function(a){return t(this,a)},beginPropertyChanges:function(){return w(),this},endPropertyChanges:function(){return z(),this},propertyWillChange:function(a){return x(this,a),this},propertyDidChange:function(a){return y(this,a),this},notifyPropertyChange:function(a){return this.propertyWillChange(a),this.propertyDidChange(a),this},addBeforeObserver:function(a,b,c){n.deprecate("Before observers are deprecated and will be removed in a future release. If you want to keep track of previous values you have to implement it yourself.",!1,{url:"http://emberjs.com/guides/deprecations/#toc_deprecate-beforeobservers"}),B(this,a,b,c)},addObserver:function(a,b,c){A(this,a,b,c)},removeObserver:function(a,b,c){C(this,a,b,c)},hasObserverFor:function(a){return v(this,a+":change")},getWithDefault:function(a,b){return p(this,a,b)},incrementProperty:function(a,b){return F(b)&&(b=1),n.assert("Must pass a numeric value to incrementProperty",!isNaN(parseFloat(b))&&isFinite(b)),q(this,a,(parseFloat(o(this,a))||0)+b),o(this,a)},decrementProperty:function(a,b){return F(b)&&(b=1),n.assert("Must pass a numeric value to decrementProperty",!isNaN(parseFloat(b))&&isFinite(b)),q(this,a,(o(this,a)||0)-b),o(this,a)},toggleProperty:function(a){return q(this,a,!o(this,a)),o(this,a)},cacheFor:function(a){return E(this,a)},observersForKey:function(a){return D(this,a)}})}),a("ember-runtime/mixins/promise_proxy",["ember-metal/property_get","ember-metal/set_properties","ember-metal/computed","ember-metal/mixin","ember-metal/error","exports"],function(a,b,c,d,e,f){"use strict";function g(a,b){return j(a,{isFulfilled:!1,isRejected:!1}),b.then(function(b){return j(a,{content:b,isFulfilled:!0}),b},function(b){throw j(a,{reason:b,isRejected:!0}),b},"Ember: PromiseProxy")}function h(a){return function(){var b=i(this,"promise"); +return b[a].apply(b,arguments)}}var i=a.get,j=b["default"],k=c.computed,l=d.Mixin,m=e["default"],n=k.not,o=k.or;f["default"]=l.create({reason:null,isPending:n("isSettled").readOnly(),isSettled:o("isRejected","isFulfilled").readOnly(),isRejected:!1,isFulfilled:!1,promise:k(function(a,b){if(2===arguments.length)return g(this,b);throw new m("PromiseProxy's promise must be set")}),then:h("then"),"catch":h("catch"),"finally":h("finally")})}),a("ember-runtime/mixins/sortable",["ember-metal/core","ember-metal/property_get","ember-metal/enumerable_utils","ember-metal/mixin","ember-runtime/mixins/mutable_enumerable","ember-runtime/compare","ember-metal/observer","ember-metal/computed","exports"],function(a,b,c,d,e,f,g,h,i){"use strict";var j=a["default"],k=b.get,l=c.forEach,m=d.Mixin,n=e["default"],o=f["default"],p=g.addObserver,q=g.removeObserver,r=h.computed,s=d.beforeObserver,t=d.observer;i["default"]=m.create(n,{sortProperties:null,sortAscending:!0,sortFunction:o,orderBy:function(a,b){var c=0,d=k(this,"sortProperties"),e=k(this,"sortAscending"),f=k(this,"sortFunction");return j.assert("you need to define `sortProperties`",!!d),l(d,function(d){0===c&&(c=f.call(this,k(a,d),k(b,d)),0===c||e||(c=-1*c))},this),c},destroy:function(){var a=k(this,"content"),b=k(this,"sortProperties");return a&&b&&l(a,function(a){l(b,function(b){q(a,b,this,"contentItemSortPropertyDidChange")},this)},this),this._super()},isSorted:r.notEmpty("sortProperties"),arrangedContent:r("content","sortProperties.@each",function(){var a=k(this,"content"),b=k(this,"isSorted"),c=k(this,"sortProperties"),d=this;return a&&b?(a=a.slice(),a.sort(function(a,b){return d.orderBy(a,b)}),l(a,function(a){l(c,function(b){p(a,b,this,"contentItemSortPropertyDidChange")},this)},this),j.A(a)):a}),_contentWillChange:s("content",function(){var a=k(this,"content"),b=k(this,"sortProperties");a&&b&&l(a,function(a){l(b,function(b){q(a,b,this,"contentItemSortPropertyDidChange")},this)},this),this._super()}),sortPropertiesWillChange:s("sortProperties",function(){this._lastSortAscending=void 0}),sortPropertiesDidChange:t("sortProperties",function(){this._lastSortAscending=void 0}),sortAscendingWillChange:s("sortAscending",function(){this._lastSortAscending=k(this,"sortAscending")}),sortAscendingDidChange:t("sortAscending",function(){if(void 0!==this._lastSortAscending&&k(this,"sortAscending")!==this._lastSortAscending){var a=k(this,"arrangedContent");a.reverseObjects()}}),contentArrayWillChange:function(a,b,c,d){var e=k(this,"isSorted");if(e){var f=k(this,"arrangedContent"),g=a.slice(b,b+c),h=k(this,"sortProperties");l(g,function(a){f.removeObject(a),l(h,function(b){q(a,b,this,"contentItemSortPropertyDidChange")},this)},this)}return this._super(a,b,c,d)},contentArrayDidChange:function(a,b,c,d){var e=k(this,"isSorted"),f=k(this,"sortProperties");if(e){var g=a.slice(b,b+d);l(g,function(a){this.insertItemSorted(a),l(f,function(b){p(a,b,this,"contentItemSortPropertyDidChange")},this)},this)}return this._super(a,b,c,d)},insertItemSorted:function(a){var b=k(this,"arrangedContent"),c=k(b,"length"),d=this._binarySearch(a,0,c);b.insertAt(d,a)},contentItemSortPropertyDidChange:function(a){var b=k(this,"arrangedContent"),c=b.indexOf(a),d=b.objectAt(c-1),e=b.objectAt(c+1),f=d&&this.orderBy(a,d),g=e&&this.orderBy(a,e);(0>f||g>0)&&(b.removeObject(a),this.insertItemSorted(a))},_binarySearch:function(a,b,c){var d,e,f,g;return b===c?b:(g=k(this,"arrangedContent"),d=b+Math.floor((c-b)/2),e=g.objectAt(d),f=this.orderBy(e,a),0>f?this._binarySearch(a,d+1,c):f>0?this._binarySearch(a,b,d):d)}})}),a("ember-runtime/mixins/target_action_support",["ember-metal/core","ember-metal/property_get","ember-metal/utils","ember-metal/mixin","ember-metal/computed","exports"],function(a,b,c,d,e,f){"use strict";var g=a["default"],h=b.get,i=c.typeOf,j=d.Mixin,k=e.computed,l=j.create({target:null,action:null,actionContext:null,targetObject:k(function(){var a=h(this,"target");if("string"===i(a)){var b=h(this,a);return void 0===b&&(b=h(g.lookup,a)),b}return a}).property("target"),actionContextObject:k(function(){var a=h(this,"actionContext");if("string"===i(a)){var b=h(this,a);return void 0===b&&(b=h(g.lookup,a)),b}return a}).property("actionContext"),triggerAction:function(a){function b(a,b){var c=[];return b&&c.push(b),c.concat(a)}a=a||{};var c=a.action||h(this,"action"),d=a.target||h(this,"targetObject"),e=a.actionContext;if("undefined"==typeof e&&(e=h(this,"actionContextObject")||this),d&&c){var f;return d.send?f=d.send.apply(d,b(e,c)):(g.assert("The action '"+c+"' did not exist on "+d,"function"==typeof d[c]),f=d[c].apply(d,b(e))),f!==!1&&(f=!0),f}return!1}});f["default"]=l}),a("ember-runtime/system/application",["ember-runtime/system/namespace","exports"],function(a,b){"use strict";var c=a["default"];b["default"]=c.extend()}),a("ember-runtime/system/array_proxy",["ember-metal/core","ember-metal/property_get","ember-metal/utils","ember-metal/computed","ember-metal/mixin","ember-metal/property_events","ember-metal/error","ember-runtime/system/object","ember-runtime/mixins/mutable_array","ember-runtime/mixins/enumerable","ember-runtime/system/string","ember-metal/alias","exports"],function(a,b,c,d,e,f,g,h,i,j,k,l,m){"use strict";function n(){return this}var o=a["default"],p=b.get,q=c.isArray,r=c.apply,s=d.computed,t=e.beforeObserver,u=e.observer,v=f.beginPropertyChanges,w=f.endPropertyChanges,x=g["default"],y=h["default"],z=i["default"],A=j["default"],B=k.fmt,C=l["default"],D="Index out of range",E=[],F=y.extend(z,{content:null,arrangedContent:C("content"),objectAtContent:function(a){return p(this,"arrangedContent").objectAt(a)},replaceContent:function(a,b,c){p(this,"content").replace(a,b,c)},_contentWillChange:t("content",function(){this._teardownContent()}),_teardownContent:function(){var a=p(this,"content");a&&a.removeArrayObserver(this,{willChange:"contentArrayWillChange",didChange:"contentArrayDidChange"})},contentArrayWillChange:n,contentArrayDidChange:n,_contentDidChange:u("content",function(){var a=p(this,"content");o.assert("Can't set ArrayProxy's content to itself",a!==this),this._setupContent()}),_setupContent:function(){var a=p(this,"content");a&&(o.assert(B("ArrayProxy expects an Array or Ember.ArrayProxy, but you passed %@",[typeof a]),q(a)||a.isDestroyed),a.addArrayObserver(this,{willChange:"contentArrayWillChange",didChange:"contentArrayDidChange"}))},_arrangedContentWillChange:t("arrangedContent",function(){var a=p(this,"arrangedContent"),b=a?p(a,"length"):0;this.arrangedContentArrayWillChange(this,0,b,void 0),this.arrangedContentWillChange(this),this._teardownArrangedContent(a)}),_arrangedContentDidChange:u("arrangedContent",function(){var a=p(this,"arrangedContent"),b=a?p(a,"length"):0;o.assert("Can't set ArrayProxy's content to itself",a!==this),this._setupArrangedContent(),this.arrangedContentDidChange(this),this.arrangedContentArrayDidChange(this,0,void 0,b)}),_setupArrangedContent:function(){var a=p(this,"arrangedContent");a&&(o.assert(B("ArrayProxy expects an Array or Ember.ArrayProxy, but you passed %@",[typeof a]),q(a)||a.isDestroyed),a.addArrayObserver(this,{willChange:"arrangedContentArrayWillChange",didChange:"arrangedContentArrayDidChange"}))},_teardownArrangedContent:function(){var a=p(this,"arrangedContent");a&&a.removeArrayObserver(this,{willChange:"arrangedContentArrayWillChange",didChange:"arrangedContentArrayDidChange"})},arrangedContentWillChange:n,arrangedContentDidChange:n,objectAt:function(a){return p(this,"content")&&this.objectAtContent(a)},length:s(function(){var a=p(this,"arrangedContent");return a?p(a,"length"):0}),_replace:function(a,b,c){var d=p(this,"content");return o.assert("The content property of "+this.constructor+" should be set before modifying it",d),d&&this.replaceContent(a,b,c),this},replace:function(){if(p(this,"arrangedContent")!==p(this,"content"))throw new x("Using replace on an arranged ArrayProxy is not allowed.");r(this,this._replace,arguments)},_insertAt:function(a,b){if(a>p(this,"content.length"))throw new x(D);return this._replace(a,0,[b]),this},insertAt:function(a,b){if(p(this,"arrangedContent")===p(this,"content"))return this._insertAt(a,b);throw new x("Using insertAt on an arranged ArrayProxy is not allowed.")},removeAt:function(a,b){if("number"==typeof a){var c,d=p(this,"content"),e=p(this,"arrangedContent"),f=[];if(0>a||a>=p(this,"length"))throw new x(D);for(void 0===b&&(b=1),c=a;a+b>c;c++)f.push(d.indexOf(e.objectAt(c)));for(f.sort(function(a,b){return b-a}),v(),c=0;ck;k++){var m=h[k];if(y.assert("Ember.Object.create no longer supports mixing in other definitions, use createWithMixins instead.",!(m instanceof L)),"object"!=typeof m&&void 0!==m)throw new O("Ember.Object.create only accepts objects.");if(m)for(var n=Q(m),o=0,p=n.length;p>o;o++){var q=n[o],r=m[q];if(K.test(q)){var s=e.bindings;s?e.hasOwnProperty("bindings")||(s=e.bindings=D(e.bindings)):s=e.bindings={},s[q]=r}var t=e.descs[q];if(y.assert("Ember.Object.create no longer supports defining computed properties. Define computed properties using extend() or reopen() before calling create().",!(r instanceof U)),y.assert("Ember.Object.create no longer supports defining methods that call _super.",!("function"==typeof r&&-1!==r.toString().indexOf("._super"))),y.assert("`actions` must be provided at extend time, not at create time, when Ember.ActionHandler is used (i.e. views, controllers & routes).",!("actions"===q&&R.detect(this))),i&&i.length>0&&N(i,q)>=0){var u=this[q];r=u?"function"==typeof u.concat?u.concat(r):H(u).concat(r):H(r)}if(j&&j.length&&N(j,q)>=0){var v=this[q];r=z(v,r)}t?t.set(this,q,r):"function"!=typeof this.setUnknownProperty||q in this?$?S(this,q,null,r):this[q]=r:this.setUnknownProperty(q,r)}}}cb(this,e);var w=arguments.length;if(0===w)this.init();else if(1===w)this.init(arguments[0]);else{for(var x=new Array(w),A=0;w>A;A++)x[A]=arguments[A];this.init.apply(this,x)}e.proto=f,I(this),J(this,"init")};return d.toString=L.prototype.toString,d.willReopen=function(){c&&(d.PrototypeMixin=L.create(d.PrototypeMixin)),c=!1},d._initMixins=function(b){a=b},d._initProperties=function(a){b=a},d.proto=function(){var a=d.superclass;return a&&a.proto(),c||(c=!0,d.PrototypeMixin.applyPartial(d.prototype)),this.prototype},d}function v(a){return function(){return a}}function w(){y.assert("Injected properties are invalid",_(this))}function x(){y.runInDebug(function(){ib._onLookup=w})}var y=a["default"],z=b["default"],A=c.get,B=d.guidFor,C=d.apply,D=e.create,E=d.generateGuid,F=d.GUID_KEY,G=d.meta,H=d.makeArray,I=f.finishChains,J=g.sendEvent,K=h.IS_BINDING,L=h.Mixin,M=h.required,N=i.indexOf,O=j["default"],P=e.defineProperty,Q=k["default"],R=l["default"],S=m.defineProperty,T=n.Binding,U=o.ComputedProperty,V=o.computed,W=p["default"],X=q["default"],Y=r.destroy,Z=a.K,$=e.hasPropertyAccessors,_=s.validatePropertyInjections,ab=X.schedule,bb=L._apply,cb=L.finishPartial,db=L.prototype.reopen,eb=!1,fb={configurable:!0,writable:!0,enumerable:!1,value:void 0},gb={configurable:!0,writable:!0,enumerable:!1,value:null},hb=u();hb.toString=function(){return"Ember.CoreObject"},hb.PrototypeMixin=L.create({reopen:function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];return bb(this,b,!0),this},init:function(){},concatenatedProperties:null,isDestroyed:!1,isDestroying:!1,destroy:function(){return this.isDestroying?void 0:(this.isDestroying=!0,ab("actions",this,this.willDestroy),ab("destroy",this,this._scheduledDestroy),this)},willDestroy:Z,_scheduledDestroy:function(){this.isDestroyed||(Y(this),this.isDestroyed=!0)},bind:function(a,b){return b instanceof T||(b=T.from(b)),b.to(a).connect(this),b},toString:function(){var a="function"==typeof this.toStringExtension,b=a?":"+this.toStringExtension():"",c="<"+this.constructor.toString()+":"+B(this)+b+">";return this.toString=v(c),c}}),hb.PrototypeMixin.ownerConstructor=hb,hb.__super__=null;var ib={ClassMixin:M(),PrototypeMixin:M(),isClass:!0,isMethod:!1,extend:function(){var a,b=u();return b.ClassMixin=L.create(this.ClassMixin),b.PrototypeMixin=L.create(this.PrototypeMixin),b.ClassMixin.ownerConstructor=b,b.PrototypeMixin.ownerConstructor=b,db.apply(b.PrototypeMixin,arguments),b.superclass=this,b.__super__=this.prototype,a=b.prototype=D(this.prototype),a.constructor=b,E(a),G(a).proto=a,b.ClassMixin.apply(b),b},createWithMixins:function(){var a=this,b=arguments.length;if(b>0){for(var c=new Array(b),d=0;b>d;d++)c[d]=arguments[d];this._initMixins(c)}return new a},create:function(){var a=this,b=arguments.length;if(b>0){for(var c=new Array(b),d=0;b>d;d++)c[d]=arguments[d];this._initProperties(c)}return new a},reopen:function(){this.willReopen();var a=arguments.length,b=new Array(a);if(a>0)for(var c=0;a>c;c++)b[c]=arguments[c];return C(this.PrototypeMixin,db,b),this},reopenClass:function(){var a=arguments.length,b=new Array(a);if(a>0)for(var c=0;a>c;c++)b[c]=arguments[c];return C(this.ClassMixin,db,b),bb(this,arguments,!1),this},detect:function(a){if("function"!=typeof a)return!1;for(;a;){if(a===this)return!0;a=a.superclass}return!1},detectInstance:function(a){return a instanceof this},metaForProperty:function(a){var b=this.proto().__ember_meta__,c=b&&b.descs[a];return y.assert("metaForProperty() could not find a computed property with key '"+a+"'.",!!c&&c instanceof U),c._meta||{}},_computedProperties:V(function(){eb=!0;var a,b=this.proto(),c=G(b).descs,d=[];for(var e in c)a=c[e],a instanceof U&&d.push({name:e,meta:a._meta});return d}).readOnly(),eachComputedProperty:function(a,b){for(var c,d,e={},f=A(this,"_computedProperties"),g=0,h=f.length;h>g;g++)c=f[g],d=c.name,a.call(b||this,c.name,c.meta||e)}};x(),ib._lazyInjections=function(){var a,b,c={},d=this.proto(),e=G(d).descs;for(a in e)b=e[a],b instanceof W&&(c[a]=b.type+":"+(b.name||a));return c};var jb=L.create(ib);jb.ownerConstructor=hb,hb.ClassMixin=jb,jb.apply(hb),hb.reopen({didDefineProperty:function(a,b,c){if(eb!==!1&&c instanceof y.ComputedProperty){var d=y.meta(this.constructor).cache;void 0!==d._computedProperties&&(d._computedProperties=void 0)}}}),t["default"]=hb}),a("ember-runtime/system/deferred",["ember-metal/core","ember-runtime/mixins/deferred","ember-runtime/system/object","exports"],function(a,b,c,d){"use strict";var e=a["default"],f=b["default"],g=c["default"],h=g.extend(f,{init:function(){e.deprecate("Usage of Ember.Deferred is deprecated.",!1,{url:"http://emberjs.com/guides/deprecations/#toc_deprecate-ember-deferredmixin-and-ember-deferred"}),this._super()}});h.reopenClass({promise:function(a,b){var c=h.create();return a.call(b,c),c}}),d["default"]=h}),a("ember-runtime/system/each_proxy",["ember-metal/core","ember-metal/property_get","ember-metal/utils","ember-metal/enumerable_utils","ember-metal/array","ember-runtime/mixins/array","ember-runtime/system/object","ember-metal/computed","ember-metal/observer","ember-metal/events","ember-metal/properties","ember-metal/property_events","exports"],function(a,b,c,d,e,f,g,h,i,j,k,l,m){"use strict";function n(a,b,c,d,e){var f,g=c._objects;for(g||(g=c._objects={});--e>=d;){var h=a.objectAt(e);h&&(p.assert("When using @each to observe the array "+a+", the array must return an object","instance"===B(h)||"object"===B(h)),y(h,b,c,"contentKeyWillChange"),x(h,b,c,"contentKeyDidChange"),f=r(h),g[f]||(g[f]=[]),g[f].push(e))}}function o(a,b,c,d,e){var f=c._objects;f||(f=c._objects={});for(var g,h;--e>=d;){var i=a.objectAt(e);i&&(z(i,b,c,"contentKeyWillChange"),A(i,b,c,"contentKeyDidChange"),h=r(i),g=f[h],g[t.call(g,e)]=null)}}var p=a["default"],q=b.get,r=c.guidFor,s=d.forEach,t=e.indexOf,u=f["default"],v=g["default"],w=h.computed,x=i.addObserver,y=i.addBeforeObserver,z=i.removeBeforeObserver,A=i.removeObserver,B=c.typeOf,C=j.watchedEvents,D=k.defineProperty,E=l.beginPropertyChanges,F=l.propertyDidChange,G=l.propertyWillChange,H=l.endPropertyChanges,I=l.changeProperties,J=v.extend(u,{init:function(a,b,c){this._super(),this._keyName=b,this._owner=c,this._content=a},objectAt:function(a){var b=this._content.objectAt(a);return b&&q(b,this._keyName)},length:w(function(){var a=this._content;return a?q(a,"length"):0})}),K=/^.+:(before|change)$/,L=v.extend({init:function(a){this._super(),this._content=a,a.addArrayObserver(this),s(C(this),function(a){this.didAddListener(a)},this)},unknownProperty:function(a){var b;return b=new J(this._content,a,this),D(this,a,null,b),this.beginObservingContentKey(a),b},arrayWillChange:function(a,b,c){var d,e,f=this._keys;e=c>0?b+c:-1,E(this);for(d in f)f.hasOwnProperty(d)&&(e>0&&o(a,d,this,b,e),G(this,d));G(this._content,"@each"),H(this)},arrayDidChange:function(a,b,c,d){var e,f=this._keys;e=d>0?b+d:-1,I(function(){for(var c in f)f.hasOwnProperty(c)&&(e>0&&n(a,c,this,b,e),F(this,c));F(this._content,"@each")},this)},didAddListener:function(a){K.test(a)&&this.beginObservingContentKey(a.slice(0,-7))},didRemoveListener:function(a){K.test(a)&&this.stopObservingContentKey(a.slice(0,-7))},beginObservingContentKey:function(a){var b=this._keys;if(b||(b=this._keys={}),b[a])b[a]++;else{b[a]=1;var c=this._content,d=q(c,"length");n(c,a,this,0,d)}},stopObservingContentKey:function(a){var b=this._keys;if(b&&b[a]>0&&--b[a]<=0){var c=this._content,d=q(c,"length");o(c,a,this,0,d)}},contentKeyWillChange:function(a,b){G(this,b)},contentKeyDidChange:function(a,b){F(this,b)}});m.EachArray=J,m.EachProxy=L}),a("ember-runtime/system/lazy_load",["ember-metal/core","ember-metal/array","ember-runtime/system/native_array","exports"],function(a,b,c,d){"use strict";function e(a,b){var c;i[a]=i[a]||g.A(),i[a].pushObject(b),(c=j[a])&&b(c)}function f(a,b){if(j[a]=b,"object"==typeof window&&"function"==typeof window.dispatchEvent&&"function"==typeof CustomEvent){var c=new CustomEvent(a,{detail:b,name:a});window.dispatchEvent(c)}i[a]&&h.call(i[a],function(a){a(b)})}var g=a["default"],h=b.forEach,i=g.ENV.EMBER_LOAD_HOOKS||{},j={};d.onLoad=e,d.runLoadHooks=f}),a("ember-runtime/system/namespace",["ember-metal/core","ember-metal/property_get","ember-metal/array","ember-metal/utils","ember-metal/mixin","ember-runtime/system/object","exports"],function(a,b,c,d,e,f,g){"use strict";function h(a,b,c){var d=a.length;w[a.join(".")]=b;for(var e in b)if(x.call(b,e)){var f=b[e];if(a[d]=e,f&&f.toString===l)f.toString=n(a.join(".")),f[z]=a.join(".");else if(f&&f.isNamespace){if(c[s(f)])continue;c[s(f)]=!0,h(a,f,c)}}a.length=d}function i(a,b){try{var c=a[b];return c&&c.isNamespace&&c}catch(d){}}function j(){var a,b=o.lookup;if(!v.PROCESSED)for(var c in b)y.test(c)&&(!b.hasOwnProperty||b.hasOwnProperty(c))&&(a=i(b,c),a&&(a[z]=c))}function k(a){var b=a.superclass;return b?b[z]?b[z]:k(b):void 0}function l(){o.BOOTED||this[z]||m();var a;if(this[z])a=this[z];else if(this._toString)a=this._toString;else{var b=k(this);a=b?"(subclass of "+b+")":"(unknown mixin)",this.toString=n(a)}return a}function m(){var a=!v.PROCESSED,b=o.anyUnprocessedMixins;if(a&&(j(),v.PROCESSED=!0),a||b){for(var c,d=v.NAMESPACES,e=0,f=d.length;f>e;e++)c=d[e],h([c.toString()],c,{});o.anyUnprocessedMixins=!1}}function n(a){return function(){return a}}var o=a["default"],p=b.get,q=c.indexOf,r=d.GUID_KEY,s=d.guidFor,t=e.Mixin,u=f["default"],v=u.extend({isNamespace:!0,init:function(){v.NAMESPACES.push(this),v.PROCESSED=!1},toString:function(){var a=p(this,"name")||p(this,"modulePrefix");return a?a:(j(),this[z])},nameClasses:function(){h([this.toString()],this,{})},destroy:function(){var a=v.NAMESPACES,b=this.toString();b&&(o.lookup[b]=void 0,delete v.NAMESPACES_BY_ID[b]),a.splice(q.call(a,this),1),this._super()}});v.reopenClass({NAMESPACES:[o],NAMESPACES_BY_ID:{},PROCESSED:!1,processAll:m,byName:function(a){return o.BOOTED||m(),w[a]}});var w=v.NAMESPACES_BY_ID,x={}.hasOwnProperty,y=/^[A-Z]/,z=o.NAME_KEY=r+"_name";t.prototype.toString=l,g["default"]=v}),a("ember-runtime/system/native_array",["ember-metal/core","ember-metal/property_get","ember-metal/enumerable_utils","ember-metal/mixin","ember-metal/array","ember-runtime/mixins/array","ember-runtime/mixins/mutable_array","ember-runtime/mixins/observable","ember-runtime/mixins/copyable","ember-runtime/mixins/freezable","ember-runtime/copy","exports"],function(a,b,c,d,e,f,g,h,i,j,k,l){"use strict";var m=a["default"],n=b.get,o=c._replace,p=c.forEach,q=d.Mixin,r=e.indexOf,s=e.lastIndexOf,t=f["default"],u=g["default"],v=h["default"],w=i["default"],x=j.FROZEN_ERROR,y=k["default"],z=q.create(u,v,w,{get:function(a){return"length"===a?this.length:"number"==typeof a?this[a]:this._super(a)},objectAt:function(a){return this[a]},replace:function(a,b,c){if(this.isFrozen)throw x;var d=c?n(c,"length"):0;return this.arrayContentWillChange(a,b,d),0===d?this.splice(a,b):o(this,a,b,c),this.arrayContentDidChange(a,b,d),this},unknownProperty:function(a,b){var c;return void 0!==b&&void 0===c&&(c=this[a]=b),c},indexOf:r,lastIndexOf:s,copy:function(a){return a?this.map(function(a){return y(a,!0)}):this.slice()}}),A=["length"];p(z.keys(),function(a){Array.prototype[a]&&A.push(a)}),A.length>0&&(z=z.without.apply(z,A));var B=function(a){return void 0===a&&(a=[]),t.detect(a)?a:z.apply(a)};z.activate=function(){z.apply(Array.prototype),B=function(a){return a||[]}},(m.EXTEND_PROTOTYPES===!0||m.EXTEND_PROTOTYPES.Array)&&z.activate(),m.A=B,l.A=B,l.NativeArray=z,l["default"]=z}),a("ember-runtime/system/object",["ember-runtime/system/core_object","ember-runtime/mixins/observable","exports"],function(a,b,c){"use strict";var d=a["default"],e=b["default"],f=d.extend(e);f.toString=function(){return"Ember.Object"},c["default"]=f}),a("ember-runtime/system/object_proxy",["ember-runtime/system/object","ember-runtime/mixins/-proxy","exports"],function(a,b,c){"use strict";var d=a["default"],e=b["default"];c["default"]=d.extend(e)}),a("ember-runtime/system/service",["ember-runtime/system/object","ember-runtime/inject","exports"],function(a,b,c){"use strict";var d,e=a["default"],f=b.createInjectionHelper;d=e.extend(),f("service"),c["default"]=d}),a("ember-runtime/system/set",["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/utils","ember-metal/is_none","ember-runtime/system/string","ember-runtime/system/core_object","ember-runtime/mixins/mutable_enumerable","ember-runtime/mixins/enumerable","ember-runtime/mixins/copyable","ember-runtime/mixins/freezable","ember-metal/error","ember-metal/property_events","ember-metal/mixin","ember-metal/computed","exports"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){"use strict";var q=a["default"],r=b.get,s=c.set,t=d.guidFor,u=e["default"],v=f.fmt,w=g["default"],x=h["default"],y=i["default"],z=j["default"],A=k.Freezable,B=k.FROZEN_ERROR,C=l["default"],D=m.propertyWillChange,E=m.propertyDidChange,F=n.aliasMethod,G=o.computed;p["default"]=w.extend(x,z,A,{length:0,clear:function(){if(this.isFrozen)throw new C(B);var a=r(this,"length");if(0===a)return this;var b;this.enumerableContentWillChange(a,0),D(this,"firstObject"),D(this,"lastObject");for(var c=0;a>c;c++)b=t(this[c]),delete this[b],delete this[c];return s(this,"length",0),E(this,"firstObject"),E(this,"lastObject"),this.enumerableContentDidChange(a,0),this},isEqual:function(a){if(!y.detect(a))return!1;var b=r(this,"length");if(r(a,"length")!==b)return!1;for(;--b>=0;)if(!a.contains(this[b]))return!1;return!0},add:F("addObject"),remove:F("removeObject"),pop:function(){if(r(this,"isFrozen"))throw new C(B);var a=this.length>0?this[this.length-1]:null;return this.remove(a),a},push:F("addObject"),shift:F("pop"),unshift:F("push"),addEach:F("addObjects"),removeEach:F("removeObjects"),init:function(a){q.deprecate("Ember.Set is deprecated and will be removed in a future release."),this._super(),a&&this.addObjects(a)},nextObject:function(a){return this[a]},firstObject:G(function(){return this.length>0?this[0]:void 0}),lastObject:G(function(){return this.length>0?this[this.length-1]:void 0}),addObject:function(a){if(r(this,"isFrozen"))throw new C(B);if(u(a))return this;var b,c=t(a),d=this[c],e=r(this,"length");return d>=0&&e>d&&this[d]===a?this:(b=[a],this.enumerableContentWillChange(null,b),D(this,"lastObject"),e=r(this,"length"),this[c]=e,this[e]=a,s(this,"length",e+1),E(this,"lastObject"),this.enumerableContentDidChange(null,b),this)},removeObject:function(a){if(r(this,"isFrozen"))throw new C(B);if(u(a))return this;var b,c,d=t(a),e=this[d],f=r(this,"length"),g=0===e,h=e===f-1;return e>=0&&f>e&&this[e]===a&&(c=[a],this.enumerableContentWillChange(c,null),g&&D(this,"firstObject"),h&&D(this,"lastObject"),f-1>e&&(b=this[f-1],this[e]=b,this[t(b)]=e),delete this[d],delete this[f-1],s(this,"length",f-1),g&&E(this,"firstObject"),h&&E(this,"lastObject"),this.enumerableContentDidChange(c,null)),this},contains:function(a){return this[t(a)]>=0},copy:function(){var a=this.constructor,b=new a,c=r(this,"length");for(s(b,"length",c);--c>=0;)b[c]=this[c],b[t(this[c])]=c;return b},toString:function(){var a,b=this.length,c=[];for(a=0;b>a;a++)c[a]=this[a];return v("Ember.Set<%@>",[c.join(",")])}})}),a("ember-runtime/system/string",["ember-metal/core","ember-metal/utils","ember-metal/cache","exports"],function(a,b,c,d){"use strict";function e(a,b){var c=b;if(!o(c)||arguments.length>2){c=new Array(arguments.length-1);for(var d=1,e=arguments.length;e>d;d++)c[d-1]=arguments[d]}var f=0;return a.replace(/%@([0-9]+)?/g,function(a,b){return b=b?parseInt(b,10)-1:f++,a=c[b],null===a?"(null)":void 0===a?"":p(a)})}function f(a,b){return(!o(b)||arguments.length>2)&&(b=Array.prototype.slice.call(arguments,1)),a=n.STRINGS[a]||a,e(a,b)}function g(a){return a.split(/\s+/)}function h(a){return x.get(a)}function i(a){return s.get(a)}function j(a){return t.get(a)}function k(a){return u.get(a)}function l(a){return v.get(a)}function m(a){return w.get(a)}var n=a["default"],o=b.isArray,p=b.inspect,q=c["default"],r=/[ _]/g,s=new q(1e3,function(a){return h(a).replace(r,"-")}),t=new q(1e3,function(a){return a.replace(z,function(a,b,c){return c?c.toUpperCase():""}).replace(/^([A-Z])/,function(a){return a.toLowerCase()})}),u=new q(1e3,function(a){for(var b=a.split("."),c=[],d=0,e=b.length;e>d;d++){var f=j(b[d]);c.push(f.charAt(0).toUpperCase()+f.substr(1))}return c.join(".")}),v=new q(1e3,function(a){return a.replace(A,"$1_$2").replace(B,"_").toLowerCase()}),w=new q(1e3,function(a){return a.charAt(0).toUpperCase()+a.substr(1)}),x=new q(1e3,function(a){return a.replace(y,"$1_$2").toLowerCase()}),y=/([a-z\d])([A-Z])/g,z=/(\-|_|\.|\s)+(.)?/g,A=/([a-z\d])([A-Z]+)/g,B=/\-|\s+/g;n.STRINGS={},d["default"]={fmt:e,loc:f,w:g,decamelize:h,dasherize:i,camelize:j,classify:k,underscore:l,capitalize:m},d.fmt=e,d.loc=f,d.w=g,d.decamelize=h,d.dasherize=i,d.camelize=j,d.classify=k,d.underscore=l,d.capitalize=m}),a("ember-runtime/system/subarray",["ember-metal/error","ember-metal/enumerable_utils","exports"],function(a,b,c){"use strict";function d(a,b){this.type=a,this.count=b}function e(a){arguments.length<1&&(a=0),this._operations=a>0?[new d(h,a)]:[]}var f=a["default"],g=b["default"],h="r",i="f";c["default"]=e,e.prototype={addItem:function(a,b){var c=-1,e=b?h:i,f=this;return this._findOperation(a,function(g,i,j,k,l){var m,n;e===g.type?++g.count:a===j?f._operations.splice(i,0,new d(e,1)):(m=new d(e,1),n=new d(g.type,k-a+1),g.count=a-j,f._operations.splice(i+1,0,m,n)),b&&(c=g.type===h?l+(a-j):l),f._composeAt(i)},function(a){f._operations.push(new d(e,1)),b&&(c=a),f._composeAt(f._operations.length-1)}),c},removeItem:function(a){var b=-1,c=this;return this._findOperation(a,function(d,e,f,g,i){d.type===h&&(b=i+(a-f)),d.count>1?--d.count:(c._operations.splice(e,1),c._composeAt(e))},function(){throw new f("Can't remove an item that has never been added.")}),b},_findOperation:function(a,b,c){var d,e,f,g,i,j=0;for(d=g=0,e=this._operations.length;e>d;g=i+1,++d){if(f=this._operations[d],i=g+f.count-1,a>=g&&i>=a)return void b(f,d,g,i,j);f.type===h&&(j+=f.count)}c(j)},_composeAt:function(a){var b,c=this._operations[a];c&&(a>0&&(b=this._operations[a-1],b.type===c.type&&(c.count+=b.count,this._operations.splice(a-1,1),--a)),ac)){var d,f,h=this._findArrayOperation(a),i=h.operation,k=h.index,l=h.rangeStart;f=new e(j,c,b),i?h.split?(this._split(k,a-l,f),d=k+1):(this._operations.splice(k,0,f),d=k):(this._operations.push(f),d=k),this._composeInsert(d)}},removeItems:function(a,b){if(!(1>b)){var c,d,f=this._findArrayOperation(a),g=f.index,h=f.rangeStart;return c=new e(k,b),f.split?(this._split(g,a-h,c),d=g+1):(this._operations.splice(g,0,c),d=g),this._composeDelete(d)}},apply:function(a){var b=[],c=0;h(this._operations,function(d,e){a(d.items,c,d.type,e),d.type!==k&&(c+=d.count,b=b.concat(d.items))}),this._operations=[new e(i,b.length,b)]},_findArrayOperation:function(a){var b,c,d,e,g,h=!1;for(b=d=0,g=this._operations.length;g>b;++b)if(c=this._operations[b],c.type!==k){if(e=d+c.count-1,a===d)break;if(a>d&&e>=a){h=!0;break}d=e+1}return new f(c,b,h,d)},_split:function(a,b,c){var d=this._operations[a],f=d.items.slice(b),g=new e(d.type,f.length,f);d.count=b,d.items=d.items.slice(0,b),this._operations.splice(a+1,0,c,g)},_composeInsert:function(a){var b=this._operations[a],c=this._operations[a-1],d=this._operations[a+1],e=c&&c.type,f=d&&d.type;e===j?(c.count+=b.count,c.items=c.items.concat(b.items),f===j?(c.count+=d.count,c.items=c.items.concat(d.items),this._operations.splice(a,2)):this._operations.splice(a,1)):f===j&&(b.count+=d.count,b.items=b.items.concat(d.items),this._operations.splice(a+1,1)) +},_composeDelete:function(a){var b,c,d,e=this._operations[a],f=e.count,g=this._operations[a-1],h=g&&g.type,i=!1,l=[];h===k&&(e=g,a-=1);for(var m=a+1;f>0;++m)b=this._operations[m],c=b.type,d=b.count,c!==k?(d>f?(l=l.concat(b.items.splice(0,f)),b.count-=f,m-=1,d=f,f=0):(d===f&&(i=!0),l=l.concat(b.items),f-=d),c===j&&(e.count-=d)):e.count+=d;return e.count>0?this._operations.splice(a+1,m-1-a):this._operations.splice(a,i?2:1),l},toString:function(){var a="";return h(this._operations,function(b){a+=" "+b.type+":"+b.count}),a.substring(1)}}}),a("ember-template-compiler",["ember-metal/core","ember-template-compiler/system/precompile","ember-template-compiler/system/compile","ember-template-compiler/system/template","ember-template-compiler/plugins","ember-template-compiler/plugins/transform-each-in-to-hash","ember-template-compiler/plugins/transform-with-as-to-hash","ember-template-compiler/compat","exports"],function(a,b,c,d,e,f,g,h,i){"use strict";var j=a["default"],k=b["default"],l=c["default"],m=d["default"],n=e.registerPlugin,o=f["default"],p=g["default"];n("ast",p),n("ast",o),i._Ember=j,i.precompile=k,i.compile=l,i.template=m,i.registerPlugin=n}),a("ember-template-compiler/compat",["ember-metal/core","ember-template-compiler/compat/precompile","ember-template-compiler/system/compile","ember-template-compiler/system/template"],function(a,b,c,d){"use strict";var e=a["default"],f=b["default"],g=c["default"],h=d["default"],i=e.Handlebars=e.Handlebars||{};i.precompile=f,i.compile=g,i.template=h}),a("ember-template-compiler/compat/precompile",["exports"],function(a){"use strict";var c,d;a["default"]=function(a){if((!c||!d)&&e.__loader.registry["htmlbars-compiler/compiler"]){var f=b("htmlbars-compiler/compiler");c=f.compile,d=f.compileSpec}if(!c||!d)throw new Error("Cannot call `precompile` without the template compiler loaded. Please load `ember-template-compiler.js` prior to calling `precompile`.");var g=void 0===arguments[1]?!0:arguments[1],h=g?c:d;return h(a)}}),a("ember-template-compiler/plugins",["exports"],function(a){"use strict";function b(a,b){if(!c[a])throw new Error('Attempting to register "'+b+'" as "'+a+'" which is not a valid HTMLBars plugin type.');c[a].push(b)}var c={ast:[]};a.registerPlugin=b,a["default"]=c}),a("ember-template-compiler/plugins/transform-each-in-to-hash",["exports"],function(a){"use strict";function b(){this.syntax=null}b.prototype.transform=function(a){var b=this,c=new b.syntax.Walker,d=b.syntax.builders;return c.visit(a,function(a){if(b.validate(a)){if(a.program&&a.program.blockParams.length)throw new Error("You cannot use keyword (`{{each foo in bar}}`) and block params (`{{each bar as |foo|}}`) at the same time.");var c=a.sexpr.params.splice(0,2),e=c[0].original;a.sexpr.hash||(a.sexpr.hash=d.hash()),a.sexpr.hash.pairs.push(d.pair("keyword",d.string(e)))}}),a},b.prototype.validate=function(a){return("BlockStatement"===a.type||"MustacheStatement"===a.type)&&"each"===a.sexpr.path.original&&3===a.sexpr.params.length&&"PathExpression"===a.sexpr.params[1].type&&"in"===a.sexpr.params[1].original},a["default"]=b}),a("ember-template-compiler/plugins/transform-with-as-to-hash",["exports"],function(a){"use strict";function b(){this.syntax=null}b.prototype.transform=function(a){var b=this,c=new b.syntax.Walker;return c.visit(a,function(a){if(b.validate(a)){if(a.program&&a.program.blockParams.length)throw new Error("You cannot use keyword (`{{with foo as bar}}`) and block params (`{{with foo as |bar|}}`) at the same time.");var c=a.sexpr.params.splice(1,2),d=c[1].original;a.program.blockParams=[d]}}),a},b.prototype.validate=function(a){return"BlockStatement"===a.type&&"with"===a.sexpr.path.original&&3===a.sexpr.params.length&&"PathExpression"===a.sexpr.params[1].type&&"as"===a.sexpr.params[1].original},a["default"]=b}),a("ember-template-compiler/system/compile",["ember-template-compiler/system/compile_options","ember-template-compiler/system/template","exports"],function(a,c,d){"use strict";var f,g=a["default"],h=c["default"];d["default"]=function(a){if(!f&&e.__loader.registry["htmlbars-compiler/compiler"]&&(f=b("htmlbars-compiler/compiler").compile),!f)throw new Error("Cannot call `compile` without the template compiler loaded. Please load `ember-template-compiler.js` prior to calling `compile`.");var c=f(a,g());return h(c)}}),a("ember-template-compiler/system/compile_options",["ember-metal/core","ember-template-compiler/plugins","exports"],function(a,b,c){"use strict";var d=(a["default"],b["default"]);c["default"]=function(){var a=!0;return{disableComponentGeneration:a,plugins:d}}}),a("ember-template-compiler/system/precompile",["ember-template-compiler/system/compile_options","exports"],function(a,c){"use strict";var d,f=a["default"];c["default"]=function(a){if(!d&&e.__loader.registry["htmlbars-compiler/compiler"]&&(d=b("htmlbars-compiler/compiler").compileSpec),!d)throw new Error("Cannot call `compileSpec` without the template compiler loaded. Please load `ember-template-compiler.js` prior to calling `compileSpec`.");return d(a,f())}}),a("ember-template-compiler/system/template",["exports"],function(a){"use strict";a["default"]=function(a){return a.isTop=!0,a.isMethod=!1,a}}),a("ember-testing",["ember-metal/core","ember-testing/initializers","ember-testing/support","ember-testing/setup_for_testing","ember-testing/test","ember-testing/adapters/adapter","ember-testing/adapters/qunit","ember-testing/helpers"],function(a,b,c,d,e,f,g){"use strict";var h=a["default"],i=d["default"],j=e["default"],k=f["default"],l=g["default"];h.Test=j,h.Test.Adapter=k,h.Test.QUnitAdapter=l,h.setupForTesting=i}),a("ember-testing/adapters/adapter",["ember-runtime/system/object","exports"],function(a,b){"use strict";function c(){return this}var d=a["default"],e=d.extend({asyncStart:c,asyncEnd:c,exception:function(a){throw a}});b["default"]=e}),a("ember-testing/adapters/qunit",["ember-testing/adapters/adapter","ember-metal/utils","exports"],function(a,b,c){"use strict";var d=a["default"],e=b.inspect;c["default"]=d.extend({asyncStart:function(){QUnit.stop()},asyncEnd:function(){QUnit.start()},exception:function(a){ok(!1,e(a))}})}),a("ember-testing/helpers",["ember-metal/property_get","ember-metal/error","ember-metal/run_loop","ember-views/system/jquery","ember-testing/test"],function(a,b,c,d,f){"use strict";function g(a){var b=a.__container__.lookup("controller:application");return t(b,"currentRouteName")}function h(a){var b=a.__container__.lookup("controller:application");return t(b,"currentPath")}function i(a){var b=a.__container__.lookup("router:main");return t(b,"location").getURL()}function j(){return x.adapter.asyncStart(),new e.RSVP.Promise(function(){},"TestAdapter paused promise")}function k(a,b){var c=a.__container__.lookup("router:main");return c.location.setURL(b),a._readinessDeferrals>0?(c.initialURL=b,v(a,"advanceReadiness"),delete c.initialURL):v(a,a.handleURL,b),a.testHelpers.wait()}function l(a,b,c){var d=a.testHelpers.findWithAssert(b,c);if(v(d,"mousedown"),d.is(":input, [contenteditable=true]")){var e=d.prop("type");"checkbox"!==e&&"radio"!==e&&"hidden"!==e&&v(d,function(){!document.hasFocus||document.hasFocus()?this.focus():this.trigger("focusin")})}return v(d,"mouseup"),v(d,"click"),a.testHelpers.wait()}function m(a,b,c,d,e){var f,g,h,i=arguments.length;3===i?(f=null,g=c,h={}):4===i?"object"==typeof d?(f=null,g=c,h=d):(f=c,g=d,h={}):(f=c,g=d,h=e);var j=a.testHelpers.findWithAssert(b,f),k=w.Event(g,h);return v(j,"trigger",k),a.testHelpers.wait()}function n(a,b,c,d,e){var f,g;return"undefined"==typeof e?(f=null,e=d,g=c):(f=c,g=d),a.testHelpers.triggerEvent(b,f,g,{keyCode:e,which:e})}function o(a,b,c,d){var e,f;return"undefined"==typeof d?d=c:f=c,e=a.testHelpers.findWithAssert(b,f),v(function(){e.val(d).change()}),a.testHelpers.wait()}function p(a,b,c){var d=a.testHelpers.find(b,c);if(0===d.length)throw new u("Element "+b+" not found.");return d}function q(a,b,c){var d;return c=c||t(a,"rootElement"),d=a.$(b,c)}function r(a,b){return a.testHelpers.wait(b(a))}function s(a,b){return x.promise(function(c){1===++A&&x.adapter.asyncStart();var d=setInterval(function(){var e=a.__container__.lookup("router:main"),f=e.router&&!!e.router.activeTransition;f||x.pendingAjaxRequests||v.hasScheduledTimers()||v.currentRunLoop||x.waiters&&x.waiters.any(function(a){var b=a[0],c=a[1];return!c.call(b)})||(clearInterval(d),0===--A&&x.adapter.asyncEnd(),v(null,c,b))},10)})}var t=a.get,u=b["default"],v=c["default"],w=d["default"],x=f["default"],y=x.registerHelper,z=x.registerAsyncHelper,A=0;z("visit",k),z("click",l),z("keyEvent",n),z("fillIn",o),y("find",q),y("findWithAssert",p),z("wait",s),z("andThen",r),y("currentRouteName",g),y("currentPath",h),y("currentURL",i),y("pauseTest",j),z("triggerEvent",m)}),a("ember-testing/initializers",["ember-runtime/system/lazy_load"],function(a){"use strict";var b=a.onLoad,c="deferReadiness in `testing` mode";b("Ember.Application",function(a){a.initializers[c]||a.initializer({name:c,initialize:function(a,b){b.testing&&b.deferReadiness()}})})}),a("ember-testing/setup_for_testing",["ember-metal/core","ember-testing/adapters/qunit","ember-views/system/jquery","exports"],function(a,c,d,e){"use strict";function f(a,b){i.push(b),h.pendingAjaxRequests=i.length}function g(a,b){for(var c=0;c').css({position:"absolute",left:"-1000px",top:"-1000px"}).appendTo("body").on("click",a).trigger("click").remove()}var d=a["default"],e=b["default"],f=e;f(function(){c(function(){this.checked||f.event.special.click||(f.event.special.click={trigger:function(){return f.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):void 0}})}),c(function(){d.warn("clicked checkboxes should be checked! the jQuery patch didn't work",this.checked)})})}),a("ember-testing/test",["ember-metal/core","ember-metal/run_loop","ember-metal/platform","ember-runtime/ext/rsvp","ember-testing/setup_for_testing","ember-application/system/application","exports"],function(a,b,c,d,e,f,g){"use strict";function h(a,b){var c=s[b].method,d=s[b].meta;return function(){var b=r.call(arguments),e=u.lastPromise;return b.unshift(a),d.wait?(e?i(function(){e=u.resolve(e).then(function(){return c.apply(a,b)})}):e=c.apply(a,b),e):c.apply(a,b)}}function i(a){m.currentRunLoop?a():m(a)}function j(a,b,c,d){a[b]=function(){var a=arguments;return d?c.apply(this,a):this.then(function(){return c.apply(this,a)})}}function k(a,b){var c,d;return u.lastPromise=null,c=a(b),d=u.lastPromise,c&&c instanceof u.Promise||!d?c:(i(function(){d=u.resolve(d).then(function(){return c})}),d)}var l=a["default"],m=b["default"],n=c.create,o=d["default"],p=e["default"],q=f["default"],r=[].slice,s={},t=[],u={_helpers:s,registerHelper:function(a,b){s[a]={method:b,meta:{wait:!1}}},registerAsyncHelper:function(a,b){s[a]={method:b,meta:{wait:!0}}},unregisterHelper:function(a){delete s[a],delete u.Promise.prototype[a]},onInjectHelpers:function(a){t.push(a)},promise:function(a){return new u.Promise(a)},adapter:null,resolve:function(a){return u.promise(function(b){return b(a)})},registerWaiter:function(a,b){1===arguments.length&&(b=a,a=null),this.waiters||(this.waiters=l.A()),this.waiters.push([a,b])},unregisterWaiter:function(a,b){this.waiters&&(1===arguments.length&&(b=a,a=null),this.waiters=l.A(this.waiters.filter(function(c){return!(c[0]===a&&c[1]===b)})))}};q.reopen({testHelpers:{},originalMethods:{},testing:!1,setupForTesting:function(){p(),this.testing=!0,this.Router.reopen({location:"none"})},helperContainer:window,injectTestHelpers:function(a){a&&(this.helperContainer=a),this.testHelpers={};for(var b in s)this.originalMethods[b]=this.helperContainer[b],this.testHelpers[b]=this.helperContainer[b]=h(this,b),j(u.Promise.prototype,b,h(this,b),s[b].meta.wait);for(var c=0,d=t.length;d>c;c++)t[c](this)},removeTestHelpers:function(){for(var a in s)this.helperContainer[a]=this.originalMethods[a],delete this.testHelpers[a],delete this.originalMethods[a]}}),u.Promise=function(){o.Promise.apply(this,arguments),u.lastPromise=this},u.Promise.prototype=n(o.Promise.prototype),u.Promise.prototype.constructor=u.Promise;var v=o.Promise.prototype.then;u.Promise.prototype.then=function(a,b){return v.call(this,function(b){return k(a,b)},b)},g["default"]=u}),a("ember-views",["ember-runtime","ember-views/system/jquery","ember-views/system/utils","ember-views/system/render_buffer","ember-views/system/ext","ember-views/views/states","ember-views/views/core_view","ember-views/views/view","ember-views/views/container_view","ember-views/views/collection_view","ember-views/views/component","ember-views/system/event_dispatcher","ember-views/mixins/view_target_action_support","ember-views/component_lookup","ember-views/views/checkbox","ember-views/mixins/text_support","ember-views/views/text_field","ember-views/views/text_area","ember-views/views/bound_view","ember-views/views/simple_bound_view","ember-views/views/metamorph_view","ember-views/views/select","exports"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w){"use strict";var x=a["default"],y=b["default"],z=c.isSimpleClick,A=c.getViewClientRects,B=c.getViewBoundingClientRect,C=d["default"],D=f.cloneStates,E=f.states,F=g["default"],G=h["default"],H=i["default"],I=j["default"],J=k["default"],K=l["default"],L=m["default"],M=n["default"],N=o["default"],O=p["default"],P=q["default"],Q=r["default"],R=s["default"],S=t["default"],T=u["default"],U=u._SimpleMetamorphView,V=u._Metamorph,W=v.Select,X=v.SelectOption,Y=v.SelectOptgroup;x.$=y,x.ViewTargetActionSupport=L,x.RenderBuffer=C;var Z=x.ViewUtils={};Z.isSimpleClick=z,Z.getViewClientRects=A,Z.getViewBoundingClientRect=B,x.CoreView=F,x.View=G,x.View.states=E,x.View.cloneStates=D,x.Checkbox=N,x.TextField=P,x.TextArea=Q,x._SimpleBoundView=S,x._BoundView=R,x._SimpleMetamorphView=U,x._MetamorphView=T,x._Metamorph=V,x.Select=W,x.SelectOption=X,x.SelectOptgroup=Y,x.TextSupport=O,x.ComponentLookup=M,x.ContainerView=H,x.CollectionView=I,x.Component=J,x.EventDispatcher=K,w["default"]=x}),a("ember-views/attr_nodes/attr_node",["ember-metal/streams/utils","ember-metal/run_loop","exports"],function(a,b,c){"use strict";function d(a,b){this.init(a,b)}var e=a.read,f=a.subscribe,g=a.unsubscribe,h=b["default"];d.prototype.init=function(a,b){this.isView=!0,this.tagName="",this.classNameBindings=[],this.attrName=a,this.attrValue=b,this.isDirty=!0,this.lastValue=null,f(this.attrValue,this.rerender,this)},d.prototype.renderIfDirty=function(){if(this.isDirty){var a=e(this.attrValue);a!==this.lastValue?this._renderer.renderTree(this,this._parentView):this.isDirty=!1}},d.prototype.render=function(){this.isDirty=!1;var a=e(this.attrValue);this._morph.setContent(a),this.lastValue=a},d.prototype.rerender=function(){this.isDirty=!0,h.schedule("render",this,this.renderIfDirty)},d.prototype.destroy=function(){this.isDirty=!1,g(this.attrValue,this.rerender,this);var a=this._parentView;a&&a.removeChild(this)},c["default"]=d}),a("ember-views/attr_nodes/legacy_bind",["./attr_node","ember-runtime/system/string","ember-metal/utils","ember-metal/streams/utils","ember-metal/platform/create","exports"],function(a,b,c,d,f,g){"use strict";function h(a,b){this.init(a,b)}var i=a["default"],j=b.fmt,k=c.typeOf,l=d.read,m=f["default"];h.prototype=m(i.prototype),h.prototype.render=function(){this.isDirty=!1;var a=l(this.attrValue),b=k(a);e.assert(j("Attributes must be numbers, strings or booleans, not %@",[a]),null===a||void 0===a||"number"===b||"string"===b||"boolean"===b),this._morph.setContent(a),this.lastValue=a},g["default"]=h}),a("ember-views/component_lookup",["ember-runtime/system/object","exports"],function(a,b){"use strict";var c=a["default"];b["default"]=c.extend({lookupFactory:function(a,b){b=b||this.container;var c="component:"+a,d="template:components/"+a,f=b&&b.has(d);f&&b.injection(c,"layout",d);var g=b.lookupFactory(c);return f||g?(g||(b.register(c,e.Component),g=b.lookupFactory(c)),g):void 0}})}),a("ember-views/mixins/component_template_deprecation",["ember-metal/core","ember-metal/property_get","ember-metal/mixin","exports"],function(a,b,c,d){"use strict";var e=a["default"],f=b.get,g=c.Mixin;d["default"]=g.create({willMergeMixin:function(a){this._super.apply(this,arguments);var b,c,d=a.layoutName||a.layout||f(this,"layoutName");a.templateName&&!d&&(b="templateName",c="layoutName",a.layoutName=a.templateName,delete a.templateName),a.template&&!d&&(b="template",c="layout",a.layout=a.template,delete a.template),e.deprecate("Do not specify "+b+" on a Component, use "+c+" instead.",!b)}})}),a("ember-views/mixins/text_support",["ember-metal/property_get","ember-metal/property_set","ember-metal/mixin","ember-runtime/mixins/target_action_support","exports"],function(a,b,c,d,e){"use strict";function f(a,b,c){var d=g(b,a),e=g(b,"onEvent"),f=g(b,"value");(e===a||"keyPress"===e&&"key-press"===a)&&b.sendAction("action",f),b.sendAction(a,f),(d||e===a)&&(g(b,"bubbles")||c.stopPropagation())}var g=a.get,h=b.set,i=c.Mixin,j=d["default"],k=i.create(j,{value:"",attributeBindings:["autocapitalize","autocorrect","autofocus","disabled","form","maxlength","placeholder","readonly","required","selectionDirection","spellcheck","tabindex","title"],placeholder:null,disabled:!1,maxlength:null,init:function(){this._super(),this.on("paste",this,this._elementValueDidChange),this.on("cut",this,this._elementValueDidChange),this.on("input",this,this._elementValueDidChange)},action:null,onEvent:"enter",bubbles:!1,interpretKeyEvents:function(a){var b=k.KEY_EVENTS,c=b[a.keyCode];return this._elementValueDidChange(),c?this[c](a):void 0},_elementValueDidChange:function(){h(this,"value",this.$().val())},change:function(a){this._elementValueDidChange(a)},insertNewline:function(a){f("enter",this,a),f("insert-newline",this,a)},cancel:function(a){f("escape-press",this,a)},focusIn:function(a){f("focus-in",this,a)},focusOut:function(a){this._elementValueDidChange(a),f("focus-out",this,a)},keyPress:function(a){f("key-press",this,a)},keyUp:function(a){this.interpretKeyEvents(a),this.sendAction("key-up",g(this,"value"),a)},keyDown:function(a){this.sendAction("key-down",g(this,"value"),a)}});k.KEY_EVENTS={13:"insertNewline",27:"cancel"},e["default"]=k}),a("ember-views/mixins/view_target_action_support",["ember-metal/mixin","ember-runtime/mixins/target_action_support","ember-metal/alias","exports"],function(a,b,c,d){"use strict";var e=a.Mixin,f=b["default"],g=c["default"];d["default"]=e.create(f,{target:g("controller"),actionContext:g("context")})}),a("ember-views/streams/class_name_binding",["ember-metal/streams/utils","ember-metal/property_get","ember-runtime/system/string","ember-metal/utils","exports"],function(a,b,c,d,f){"use strict";function g(a){var b,c,d=a.split(":"),e=d[0],f="";return d.length>1&&(b=d[1],3===d.length&&(c=d[2]),f=":"+b,c&&(f+=":"+c)),{path:e,classNames:f,className:""===b?void 0:b,falsyClassName:c}}function h(a,b,c,d){if(n(b)&&(b=0!==l(b,"length")),c||d)return c&&b?c:d&&!b?d:null;if(b===!0){var e=a.split(".");return m(e[e.length-1])}return b!==!1&&null!=b?b:null}function i(a,b,c){c=c||"",e.assert("classNameBindings must not have spaces in them. Multiple class name bindings can be provided as elements of an array, e.g. ['foo', ':bar']",-1===b.indexOf(" "));var d=g(b);if(""===d.path)return h(d.path,!0,d.className,d.falsyClassName);var f=a.getStream(c+d.path);return j(f,function(){return h(d.path,k(f),d.className,d.falsyClassName)})}var j=a.chain,k=a.read,l=b.get,m=c.dasherize,n=d.isArray;f.parsePropertyPath=g,f.classStringForValue=h,f.streamifyClassNameBinding=i}),a("ember-views/streams/conditional_stream",["ember-metal/streams/stream","ember-metal/streams/utils","ember-metal/platform","exports"],function(a,b,c,d){"use strict";function e(a,b,c){this.init(),this.oldTestResult=void 0,this.test=a,this.consequent=b,this.alternate=c}var f=a["default"],g=b.read,h=b.subscribe,i=b.unsubscribe,j=c.create;e.prototype=j(f.prototype),e.prototype.valueFn=function(){var a=this.oldTestResult,b=!!g(this.test);if(b!==a){switch(a){case!0:i(this.consequent,this.notify,this);break;case!1:i(this.alternate,this.notify,this);break;case void 0:h(this.test,this.notify,this)}switch(b){case!0:h(this.consequent,this.notify,this);break;case!1:h(this.alternate,this.notify,this)}this.oldTestResult=b}return g(b?this.consequent:this.alternate)},d["default"]=e}),a("ember-views/streams/context_stream",["ember-metal/core","ember-metal/merge","ember-metal/platform","ember-metal/path_cache","ember-metal/streams/stream","ember-metal/streams/simple","exports"],function(a,b,c,d,e,f,g){"use strict";function h(a){i.assert("ContextStream error: the argument is not a view",a&&a.isView),this.init(),this.view=a}var i=a["default"],j=b["default"],k=c.create,l=d.isGlobal,m=e["default"],n=f["default"];h.prototype=k(m.prototype),j(h.prototype,{value:function(){},_makeChildStream:function(a,b){var c;return""===a||"this"===a?c=this.view._baseContext:l(a)&&i.lookup[a]?(i.deprecate("Global lookup of "+b+" from a Handlebars template is deprecated."),c=new n(i.lookup[a]),c._isGlobal=!0):c=new n(a in this.view._keywords?this.view._keywords[a]:this.view._baseContext.get(a)),c._isRoot=!0,"controller"===a&&(c._isController=!0),c}}),g["default"]=h}),a("ember-views/streams/key_stream",["ember-metal/core","ember-metal/merge","ember-metal/platform","ember-metal/property_get","ember-metal/property_set","ember-metal/observer","ember-metal/streams/stream","ember-metal/streams/utils","exports"],function(a,b,c,d,e,f,g,h,i){"use strict";function j(a,b){k.assert("KeyStream error: key must be a non-empty string","string"==typeof b&&b.length>0),k.assert("KeyStream error: key must not have a '.'",-1===b.indexOf(".")),this.init(),this.source=a,this.obj=void 0,this.key=b,t(a)&&a.subscribe(this._didChange,this)}var k=a["default"],l=b["default"],m=c.create,n=d.get,o=e.set,p=f.addObserver,q=f.removeObserver,r=g["default"],s=h.read,t=h.isStream;j.prototype=m(r.prototype),l(j.prototype,{valueFn:function(){var a=this.obj,b=s(this.source);return b!==a&&(a&&"object"==typeof a&&q(a,this.key,this,this._didChange),b&&"object"==typeof b&&p(b,this.key,this,this._didChange),this.obj=b),b?n(b,this.key):void 0},setValue:function(a){this.obj&&o(this.obj,this.key,a)},setSource:function(a){k.assert("KeyStream error: source must be an object","object"==typeof a);var b=this.source;a!==b&&(t(b)&&b.unsubscribe(this._didChange,this),t(a)&&a.subscribe(this._didChange,this),this.source=a,this.notify())},_didChange:function(){this.notify()},_super$destroy:r.prototype.destroy,destroy:function(){return this._super$destroy()?(t(this.source)&&this.source.unsubscribe(this._didChange,this),this.obj&&"object"==typeof this.obj&&q(this.obj,this.key,this,this._didChange),this.source=void 0,this.obj=void 0,!0):void 0}}),i["default"]=j,r.prototype._makeChildStream=function(a){return new j(this,a)}}),a("ember-views/streams/utils",["ember-metal/core","ember-metal/property_get","ember-metal/path_cache","ember-runtime/system/string","ember-metal/streams/utils","ember-views/views/view","ember-runtime/mixins/controller","exports"],function(a,b,c,d,e,f,g,h){"use strict";function i(a,b){var c,d=o(a);return"string"==typeof d?m(d)?(c=l(null,d),k.deprecate('Resolved the view "'+d+'" on the global context. Pass a view name to be looked up on the container instead, such as {{view "select"}}.',!c,{url:"http://emberjs.com/guides/deprecations/#toc_global-lookup-of-views"})):(k.assert("View requires a container to resolve views not passed in through the context",!!b),c=b.lookupFactory("view:"+d)):c=d,k.assert(n(d+" must be a subclass or an instance of Ember.View, not %@",[c]),q.detect(c)||q.detectInstance(c)),c}function j(a){if(p(a)){var b=a.value();if(!a._isController)for(;r.detect(b);)b=l(b,"model");return b}return a}var k=a["default"],l=b.get,m=c.isGlobal,n=d.fmt,o=e.read,p=e.isStream,q=f["default"],r=g["default"];h.readViewFactory=i,h.readUnwrappedModel=j}),a("ember-views/system/action_manager",["exports"],function(a){"use strict";function b(){}b.registeredActions={},a["default"]=b}),a("ember-views/system/event_dispatcher",["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/is_none","ember-metal/run_loop","ember-metal/utils","ember-runtime/system/string","ember-runtime/system/object","ember-views/system/jquery","ember-views/system/action_manager","ember-views/views/view","ember-metal/merge","exports"],function(a,b,c,d,e,f,g,h,i,j,k,l,m){"use strict";var n=a["default"],o=b.get,p=c.set,q=d["default"],r=e["default"],s=f.typeOf,t=g.fmt,u=h["default"],v=i["default"],w=j["default"],x=k["default"],y=l["default"];m["default"]=u.extend({events:{touchstart:"touchStart",touchmove:"touchMove",touchend:"touchEnd",touchcancel:"touchCancel",keydown:"keyDown",keyup:"keyUp",keypress:"keyPress",mousedown:"mouseDown",mouseup:"mouseUp",contextmenu:"contextMenu",click:"click",dblclick:"doubleClick",mousemove:"mouseMove",focusin:"focusIn",focusout:"focusOut",mouseenter:"mouseEnter",mouseleave:"mouseLeave",submit:"submit",input:"input",change:"change",dragstart:"dragStart",drag:"drag",dragenter:"dragEnter",dragleave:"dragLeave",dragover:"dragOver",drop:"drop",dragend:"dragEnd"},rootElement:"body",canDispatchToEventManager:!0,setup:function(a,b){var c,d=o(this,"events");y(d,a||{}),q(b)||p(this,"rootElement",b),b=v(o(this,"rootElement")),n.assert(t("You cannot use the same root element (%@) multiple times in an Ember.Application",[b.selector||b[0].tagName]),!b.is(".ember-application")),n.assert("You cannot make a new Ember.Application using a root element that is a descendent of an existing Ember.Application",!b.closest(".ember-application").length),n.assert("You cannot make a new Ember.Application using a root element that is an ancestor of an existing Ember.Application",!b.find(".ember-application").length),b.addClass("ember-application"),n.assert('Unable to add "ember-application" class to rootElement. Make sure you set rootElement to the body or an element in the body.',b.is(".ember-application"));for(c in d)d.hasOwnProperty(c)&&this.setupHandler(b,c,d[c])},setupHandler:function(a,b,c){var d=this;a.on(b+".ember",".ember-view",function(a,b){var e=x.views[this.id],f=!0,g=d.canDispatchToEventManager?d._findNearestEventManager(e,c):null;return g&&g!==b?f=d._dispatchEvent(g,a,c,e):e&&(f=d._bubbleEvent(e,a,c)),f}),a.on(b+".ember","[data-ember-action]",function(a){var b=v(a.currentTarget).attr("data-ember-action"),d=w.registeredActions[b];return d&&d.eventName===c?d.handler(a):void 0})},_findNearestEventManager:function(a,b){for(var c=null;a&&(c=o(a,"eventManager"),!c||!c[b]);)a=o(a,"parentView");return c},_dispatchEvent:function(a,b,c,d){var e=!0,f=a[c];return"function"===s(f)?(e=r(a,f,b,d),b.stopPropagation()):e=this._bubbleEvent(d,b,c),e},_bubbleEvent:function(a,b,c){return r.join(a,a.handleEvent,c,b)},destroy:function(){var a=o(this,"rootElement");return v(a).off(".ember","**").removeClass("ember-application"),this._super()},toString:function(){return"(EventDispatcher)"}})}),a("ember-views/system/ext",["ember-metal/run_loop"],function(a){"use strict";var b=a["default"];b._addQueue("render","actions"),b._addQueue("afterRender","render")}),a("ember-views/system/jquery",["ember-metal/core","ember-metal/enumerable_utils","exports"],function(a,b,d){"use strict";var e=a["default"],f=b.forEach,g=e.imports&&e.imports.jQuery||this&&this.jQuery;if(g||"function"!=typeof c||(g=c("jquery")),e.assert("Ember Views require jQuery between 1.7 and 2.1",g&&(g().jquery.match(/^((1\.(7|8|9|10|11))|(2\.(0|1)))(\.\d+)?(pre|rc\d?)?/)||e.ENV.FORCE_JQUERY)),g){var h=["dragstart","drag","dragenter","dragleave","dragover","drop","dragend"];f(h,function(a){g.event.fixHooks[a]={props:["dataTransfer"]}})}d["default"]=g}),a("ember-views/system/render_buffer",["ember-views/system/jquery","morph","ember-metal/core","ember-metal/platform","morph/dom-helper/prop","exports"],function(a,b,c,d,e,f){"use strict";function g(a,b){if("TABLE"===b.tagName){var c=r.exec(a);if(c)return q[c[1].toLowerCase()]}}function h(){this.seen=o(null),this.list=[]}function i(a){return a&&s.test(a)?a.replace(t,""):a}function j(a){var b={"<":"<",">":">",'"':""","'":"'","`":"`"},c=function(a){return b[a]||"&"},d=a.toString();return v.test(d)?d.replace(u,c):d}function k(a,b){this.tagName=a,this._outerContextualElement=b,this.buffer=null,this.childViews=[],this.dom=new m}var l=a["default"],m=b.DOMHelper,n=c["default"],o=d.create,p=e.normalizeProperty,q={tr:document.createElement("tbody"),col:document.createElement("colgroup")},r=/(?:"'`]/g,v=/[&<>"'`]/,w=function(){var a=document.createElement("div"),b=document.createElement("input");return b.setAttribute("name","foo"),a.appendChild(b),!!a.innerHTML.match("foo")}();f["default"]=function(a,b){return new k(a,b)},k.prototype={reset:function(a,b){this.tagName=a,this.buffer=null,this._element=null,this._outerContextualElement=b,this.elementClasses=null,this.elementId=null,this.elementAttributes=null,this.elementProperties=null,this.elementTag=null,this.elementStyle=null,this.childViews.length=0},_element:null,_outerContextualElement:null,elementClasses:null,classes:null,elementId:null,elementAttributes:null,elementProperties:null,elementTag:null,elementStyle:null,pushChildView:function(a){var b=this.childViews.length;this.childViews[b]=a,this.push("")},hydrateMorphs:function(a){for(var b=this.childViews,c=this._element,d=0,e=b.length;e>d;d++){var f=b[d],g=c.querySelector("#morph-"+d);n.assert("An error occurred while setting up template bindings. Please check "+(f&&f._parentView&&f._parentView._debugTemplateName?'"'+f._parentView._debugTemplateName+'" template ':"")+"for invalid markup or bindings within HTML comments.",g);var h=g.parentNode;f._morph=this.dom.insertMorphBefore(h,g,1===h.nodeType?h:a),h.removeChild(g)}},push:function(a){return"string"==typeof a?(null===this.buffer&&(this.buffer=""),n.assert("A string cannot be pushed into the buffer after a fragment",!this.buffer.nodeType),this.buffer+=a):(n.assert("A fragment cannot be pushed into a buffer that contains content",!this.buffer),this.buffer=a),this},addClass:function(a){return this.elementClasses=this.elementClasses||new h,this.elementClasses.add(a),this.classes=this.elementClasses.list,this},setClasses:function(a){this.elementClasses=null;var b,c=a.length;for(b=0;c>b;b++)this.addClass(a[b])},id:function(a){return this.elementId=a,this},attr:function(a,b){var c=this.elementAttributes=this.elementAttributes||{};return 1===arguments.length?c[a]:(c[a]=b,this)},removeAttr:function(a){var b=this.elementAttributes;return b&&delete b[a],this},prop:function(a,b){var c=this.elementProperties=this.elementProperties||{};return 1===arguments.length?c[a]:(c[a]=b,this)},removeProp:function(a){var b=this.elementProperties;return b&&delete b[a],this},style:function(a,b){return this.elementStyle=this.elementStyle||{},this.elementStyle[a]=b,this},generateElement:function(){var a,b,c,d=this.tagName,e=this.elementId,f=this.classes,g=this.elementAttributes,h=this.elementProperties,k=this.elementStyle,l="";c=g&&g.name&&!w?"<"+i(d)+' name="'+j(g.name)+'">':d;var m=this.dom.createElement(c,this.outerContextualElement());if(e&&(this.dom.setAttribute(m,"id",e),this.elementId=null),f&&(this.dom.setAttribute(m,"class",f.join(" ")),this.classes=null,this.elementClasses=null),k){for(b in k)l+=b+":"+k[b]+";"; +this.dom.setAttribute(m,"style",l),this.elementStyle=null}if(g){for(a in g)this.dom.setAttribute(m,a,g[a]);this.elementAttributes=null}if(h){for(b in h){var n=p(m,b.toLowerCase())||b;this.dom.setPropertyStrict(m,n,h[b])}this.elementProperties=null}this._element=m},element:function(){var a=this.innerContent();if(null===a)return this._element;var b=this.innerContextualElement(a);if(this.dom.detectNamespace(b),this._element||(this._element=document.createDocumentFragment()),a.nodeType)this._element.appendChild(a);else{var c;for(c=this.dom.parseHTML(a,b);c[0];)this._element.appendChild(c[0])}return this.childViews.length>0&&this.hydrateMorphs(b),this._element},string:function(){if(this._element){var a=this.element(),b=a.outerHTML;return"undefined"==typeof b?l("
    ").append(a).html():b}return this.innerString()},outerContextualElement:function(){return this._outerContextualElement||(n.deprecate("The render buffer expects an outer contextualElement to exist. This ensures DOM that requires context is correctly generated (tr, SVG tags). Defaulting to document.body, but this will be removed in the future"),this.outerContextualElement=document.body),this._outerContextualElement},innerContextualElement:function(a){var b;b=this._element&&1===this._element.nodeType?this._element:this.outerContextualElement();var c;return a&&(c=g(a,b)),c||b},innerString:function(){var a=this.innerContent();return a&&!a.nodeType?a:void 0},innerContent:function(){return this.buffer}}}),a("ember-views/system/renderer",["ember-metal/core","ember-metal-views/renderer","ember-metal/platform","ember-views/system/render_buffer","ember-metal/run_loop","ember-metal/property_set","ember-metal/property_get","ember-metal/instrumentation","exports"],function(a,b,c,d,e,f,g,h,i){"use strict";function j(){this.buffer=n(),this._super$constructor()}var k=a["default"],l=b["default"],m=c.create,n=d["default"],o=e["default"],p=f.set,q=g.get,r=h._instrumentStart,s=h.subscribers;j.prototype=m(l.prototype),j.prototype.constructor=j,j.prototype._super$constructor=l,j.prototype.scheduleRender=function(a,b){return o.scheduleOnce("render",a,b)},j.prototype.cancelRender=function(a){o.cancel(a)},j.prototype.createElement=function(a,b){var c=a.tagName;void 0===c&&(c=q(a,"tagName"),k.deprecate("In the future using a computed property to define tagName will not be permitted. That value will be respected, but changing it will not update the element.",!c));var d=a.classNameBindings,e=""===c&&d&&d.length>0;(null===c||void 0===c)&&(c="div"),k.assert("You cannot use `classNameBindings` on a tag-less view: "+a.toString(),!e);var f=a.buffer=this.buffer;f.reset(c,b),a.beforeRender&&a.beforeRender(f),""!==c&&(a.applyAttributesToBuffer&&a.applyAttributesToBuffer(f),f.generateElement()),a.render&&a.render(f),a.afterRender&&a.afterRender(f);var g=f.element();return a.buffer=null,g&&1===g.nodeType&&(a.element=g),g},j.prototype.destroyView=function(a){a.removedFromDOM=!0,a.destroy()},j.prototype.childViews=function(a){return a._childViews},l.prototype.willCreateElement=function(a){s.length&&a.instrumentDetails&&(a._instrumentEnd=r("render."+a.instrumentName,function(){var b={};return a.instrumentDetails(b),b})),a._transitionTo&&a._transitionTo("inBuffer")},l.prototype.didCreateElement=function(a){a._transitionTo&&a._transitionTo("hasElement"),a._instrumentEnd&&a._instrumentEnd()},l.prototype.willInsertElement=function(a){a.trigger&&a.trigger("willInsertElement")},l.prototype.didInsertElement=function(a){a._transitionTo&&a._transitionTo("inDOM"),a.trigger&&a.trigger("didInsertElement")},l.prototype.willRemoveElement=function(){},l.prototype.willDestroyElement=function(a){a.trigger&&a.trigger("willDestroyElement"),a.trigger&&a.trigger("willClearRender")},l.prototype.didDestroyElement=function(a){p(a,"element",null),a._transitionTo&&a._transitionTo("preRender")},i["default"]=j}),a("ember-views/system/sanitize_attribute_value",["exports"],function(a){"use strict";var b,c={"javascript:":!0,"vbscript:":!0},d={A:!0,BODY:!0,LINK:!0,IMG:!0,IFRAME:!0},e={href:!0,src:!0,background:!0};a.badAttributes=e,a["default"]=function(a,f,g){var h;return b||(b=document.createElement("a")),h=a?a.tagName:null,g&&g.toHTML?g.toHTML():(null===h||d[h])&&e[f]&&(b.href=g,c[b.protocol]===!0)?"unsafe:"+g:g}}),a("ember-views/system/utils",["exports"],function(a){"use strict";function b(a){var b=a.shiftKey||a.metaKey||a.altKey||a.ctrlKey,c=a.which>1;return!b&&!c}function c(a){var b=document.createRange();return b.setStartAfter(a._morph.start),b.setEndBefore(a._morph.end),b}function d(a){var b=c(a);return b.getClientRects()}function e(a){var b=c(a);return b.getBoundingClientRect()}a.isSimpleClick=b,a.getViewClientRects=d,a.getViewBoundingClientRect=e}),a("ember-views/views/bound_view",["ember-metal/property_get","ember-metal/property_set","ember-metal/merge","ember-htmlbars/utils/string","ember-views/views/states","ember-views/views/metamorph_view","exports"],function(a,b,c,d,e,f,g){"use strict";function h(){return this}var i=a.get,j=b.set,k=c["default"],l=d.escapeExpression,m=d.SafeString,n=e.cloneStates,o=e.states,p=f["default"],q=n(o);k(q._default,{rerenderIfNeeded:h}),k(q.inDOM,{rerenderIfNeeded:function(a){a.normalizedValue()!==a._lastNormalizedValue&&a.rerender()}});var r=p.extend({instrumentName:"bound",_states:q,shouldDisplayFunc:null,preserveContext:!1,previousContext:null,displayTemplate:null,inverseTemplate:null,lazyValue:null,normalizedValue:function(){var a=this.lazyValue.value(),b=i(this,"valueNormalizerFunc");return b?b(a):a},rerenderIfNeeded:function(){this.currentState.rerenderIfNeeded(this)},render:function(a){var b=i(this,"isEscaped"),c=i(this,"shouldDisplayFunc"),d=i(this,"preserveContext"),e=i(this,"previousContext"),f=i(this,"inverseTemplate"),g=i(this,"displayTemplate"),h=this.normalizedValue();if(this._lastNormalizedValue=h,c(h))if(j(this,"template",g),d)j(this,"_context",e);else{if(!g)return null===h||void 0===h?h="":h instanceof m||(h=String(h)),b&&(h=l(h)),void a.push(h);j(this,"_context",h)}else f?(j(this,"template",f),d?j(this,"_context",e):j(this,"_context",h)):j(this,"template",function(){return""});return this._super(a)}});g["default"]=r}),a("ember-views/views/checkbox",["ember-metal/property_get","ember-metal/property_set","ember-views/views/view","exports"],function(a,b,c,d){"use strict";var e=a.get,f=b.set,g=c["default"];d["default"]=g.extend({instrumentDisplay:'{{input type="checkbox"}}',classNames:["ember-checkbox"],tagName:"input",attributeBindings:["type","checked","indeterminate","disabled","tabindex","name","autofocus","required","form"],type:"checkbox",checked:!1,disabled:!1,indeterminate:!1,init:function(){this._super(),this.on("change",this,this._updateElementValue)},didInsertElement:function(){this._super(),e(this,"element").indeterminate=!!e(this,"indeterminate")},_updateElementValue:function(){f(this,"checked",this.$().prop("checked"))}})}),a("ember-views/views/collection_view",["ember-metal/core","ember-metal/binding","ember-metal/property_get","ember-metal/property_set","ember-runtime/system/string","ember-views/views/container_view","ember-views/views/core_view","ember-views/views/view","ember-metal/mixin","ember-views/streams/utils","ember-runtime/mixins/array","exports"],function(a,b,c,d,e,f,g,h,i,j,k,l){"use strict";var m=a["default"],n=b.isGlobalPath,o=c.get,p=d.set,q=e.fmt,r=f["default"],s=g["default"],t=h["default"],u=i.observer,v=i.beforeObserver,w=j.readViewFactory,x=k["default"],y=r.extend({content:null,emptyViewClass:t,emptyView:null,itemViewClass:t,init:function(){var a=this._super();return this._contentDidChange(),a},_contentWillChange:v("content",function(){var a=this.get("content");a&&a.removeArrayObserver(this);var b=a?o(a,"length"):0;this.arrayWillChange(a,0,b)}),_contentDidChange:u("content",function(){var a=o(this,"content");a&&(this._assertArrayLike(a),a.addArrayObserver(this));var b=a?o(a,"length"):0;this.arrayDidChange(a,0,null,b)}),_assertArrayLike:function(a){m.assert(q("an Ember.CollectionView's content must implement Ember.Array. You passed %@",[a]),x.detect(a))},destroy:function(){if(this._super()){var a=o(this,"content");return a&&a.removeArrayObserver(this),this._createdEmptyView&&this._createdEmptyView.destroy(),this}},arrayWillChange:function(a,b,c){var d=o(this,"emptyView");d&&d instanceof t&&d.removeFromParent();var e,f,g=this._childViews;for(f=b+c-1;f>=b;f--)e=g[f],e.destroy()},arrayDidChange:function(a,b,c,d){var e,f,g,h,i,j,k,l=[];if(h=a?o(a,"length"):0)for(k=this._itemViewProps||{},i=o(this,"itemViewClass"),i=w(i,this.container),g=b;b+d>g;g++)f=a.objectAt(g),k.content=f,k._blockArguments=[f],k.contentIndex=g,e=this.createChildView(i,k),l.push(e);else{if(j=o(this,"emptyView"),!j)return;"string"==typeof j&&n(j)&&(j=o(j)||j),j=this.createChildView(j),l.push(j),p(this,"emptyView",j),s.detect(j)&&(this._createdEmptyView=j)}this.replace(b,0,l)},createChildView:function(a,b){a=this._super(a,b);var c=o(a,"tagName");return(null===c||void 0===c)&&(c=y.CONTAINER_MAP[o(this,"tagName")],p(a,"tagName",c)),a}});y.CONTAINER_MAP={ul:"li",ol:"li",table:"tr",thead:"tr",tbody:"tr",tfoot:"tr",tr:"td",select:"option"},l["default"]=y}),a("ember-views/views/component",["ember-metal/core","ember-views/mixins/component_template_deprecation","ember-runtime/mixins/target_action_support","ember-views/views/view","ember-metal/property_get","ember-metal/property_set","ember-metal/is_none","ember-metal/computed","ember-htmlbars/templates/component","exports"],function(a,b,c,d,e,f,g,h,i,j){"use strict";var k=a["default"],l=b["default"],m=c["default"],n=d["default"],o=e.get,p=f.set,q=g["default"],r=h.computed,s=i["default"],t=Array.prototype.slice,u=n.extend(m,l,{instrumentName:"component",instrumentDisplay:r(function(){return this._debugContainerKey?"{{"+this._debugContainerKey.split(":")[1]+"}}":void 0}),init:function(){this._super(),this._keywords.view=this,p(this,"context",this),p(this,"controller",this)},defaultLayout:s,template:r(function(a,b){if(void 0!==b)return b;var c=o(this,"templateName"),d=this.templateForName(c,"template");return k.assert("You specified the templateName "+c+" for "+this+", but it did not exist.",!c||!!d),d||o(this,"defaultTemplate")}).property("templateName"),templateName:null,_setupKeywords:function(){},_yield:function(a,b,c,d){var e=b.data.view,f=this._parentView,g=o(this,"template");g&&(k.assert("A Component must have a parent view in order to yield.",f),e.appendChild(n,{isVirtual:!0,tagName:"",template:g,_blockArguments:d,_contextView:f,_morph:c,context:o(f,"context"),controller:o(f,"controller")}))},targetObject:r(function(){var a=o(this,"_parentView");return a?o(a,"controller"):null}).property("_parentView"),sendAction:function(a){var b,c=t.call(arguments,1);void 0===a?(b=o(this,"action"),k.assert("The default action was triggered on the component "+this.toString()+", but the action name ("+b+") was not a string.",q(b)||"string"==typeof b)):(b=o(this,a),k.assert("The "+a+" action was triggered on the component "+this.toString()+", but the action name ("+b+") was not a string.",q(b)||"string"==typeof b)),void 0!==b&&this.triggerAction({action:b,actionContext:c})},send:function(a){var b,c=[].slice.call(arguments,1),d=this._actions&&this._actions[a];if(!d||this._actions[a].apply(this,c)===!0)if(b=o(this,"target"))k.assert("The `target` for "+this+" ("+b+") does not have a `send` method","function"==typeof b.send),b.send.apply(b,arguments);else if(!d)throw new Error(k.inspect(this)+" had no action handler for: "+a)}});j["default"]=u}),a("ember-views/views/container_view",["ember-metal/core","ember-metal/merge","ember-runtime/mixins/mutable_array","ember-metal/property_get","ember-metal/property_set","ember-views/views/view","ember-views/views/states","ember-metal/error","ember-metal/enumerable_utils","ember-metal/computed","ember-metal/run_loop","ember-metal/properties","ember-metal/mixin","ember-runtime/system/native_array","exports"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){"use strict";function p(){return this}var q=a["default"],r=b["default"],s=c["default"],t=d.get,u=e.set,v=f["default"],w=g.cloneStates,x=g.states,y=h["default"],z=i.forEach,A=j.computed,B=k["default"],C=l.defineProperty,D=m.observer,E=m.beforeObserver,F=n.A,G=w(x),H=v.extend(s,{_states:G,willWatchProperty:function(a){q.deprecate("ContainerViews should not be observed as arrays. This behavior will change in future implementations of ContainerView.",!a.match(/\[]/)&&0!==a.indexOf("@"))},init:function(){this._super();var a=t(this,"childViews");q.deprecate("Setting `childViews` on a Container is deprecated.",q.isEmpty(a)),C(this,"childViews",v.childViewsProperty);var b=this._childViews;z(a,function(a,c){var d;"string"==typeof a?(d=t(this,a),d=this.createChildView(d),u(this,a,d)):d=this.createChildView(a),b[c]=d},this);var c=t(this,"currentView");c&&(b.length||(b=this._childViews=this._childViews.slice()),b.push(this.createChildView(c)))},replace:function(a,b,c){var d=c?t(c,"length"):0,e=this;if(q.assert("You can't add a child to a container - the child is already a child of another view",F(c).every(function(a){return!t(a,"_parentView")||t(a,"_parentView")===e})),this.arrayContentWillChange(a,b,d),this.childViewsWillChange(this._childViews,a,b),0===d)this._childViews.splice(a,b);else{var f=[a,b].concat(c);c.length&&!this._childViews.length&&(this._childViews=this._childViews.slice()),this._childViews.splice.apply(this._childViews,f)}return this.arrayContentDidChange(a,b,d),this.childViewsDidChange(this._childViews,a,b,d),this},objectAt:function(a){return this._childViews[a]},length:A(function(){return this._childViews.length})["volatile"](),render:function(a){var b=a.element(),c=a.dom;return""===this.tagName?(b=c.createDocumentFragment(),a._element=b,this._childViewsMorph=c.appendMorph(b,this._morph.contextualElement)):this._childViewsMorph=c.createMorph(b,b.lastChild,null),b},instrumentName:"container",childViewsWillChange:function(a,b,c){if(this.propertyWillChange("childViews"),c>0){var d=a.slice(b,b+c);this.currentState.childViewsWillChange(this,a,b,c),this.initializeViews(d,null,null)}},removeChild:function(a){return this.removeObject(a),this},childViewsDidChange:function(a,b,c,d){if(d>0){var e=a.slice(b,b+d);this.initializeViews(e,this),this.currentState.childViewsDidChange(this,a,b,d)}this.propertyDidChange("childViews")},initializeViews:function(a,b){z(a,function(a){u(a,"_parentView",b),!a.container&&b&&u(a,"container",b.container)})},currentView:null,_currentViewWillChange:E("currentView",function(){var a=t(this,"currentView");a&&a.destroy()}),_currentViewDidChange:D("currentView",function(){var a=t(this,"currentView");a&&(q.assert("You tried to set a current view that already has a parent. Make sure you don't have multiple outlets in the same view.",!t(a,"_parentView")),this.pushObject(a))}),_ensureChildrenAreInDOM:function(){this.currentState.ensureChildrenAreInDOM(this)}});r(G._default,{childViewsWillChange:p,childViewsDidChange:p,ensureChildrenAreInDOM:p}),r(G.inBuffer,{childViewsDidChange:function(){throw new y("You cannot modify child views while in the inBuffer state")}}),r(G.hasElement,{childViewsWillChange:function(a,b,c,d){for(var e=c;c+d>e;e++){var f=b[e];f._unsubscribeFromStreamBindings(),f.remove()}},childViewsDidChange:function(a){B.scheduleOnce("render",a,"_ensureChildrenAreInDOM")},ensureChildrenAreInDOM:function(a){var b,c,d,e=a._childViews,f=a._renderer;for(b=0,c=e.length;c>b;b++)d=e[b],d._elementCreated||f.renderTree(d,a,b)}}),o["default"]=H}),a("ember-views/views/core_view",["ember-views/system/renderer","ember-views/views/states","ember-runtime/system/object","ember-runtime/mixins/evented","ember-runtime/mixins/action_handler","ember-metal/property_get","ember-metal/computed","ember-metal/utils","exports"],function(a,b,c,d,e,f,g,h,i){"use strict";function j(){return this}var k=a["default"],l=b.cloneStates,m=b.states,n=c["default"],o=d["default"],p=e["default"],q=f.get,r=g.computed,s=h.typeOf,t=n.extend(o,p,{isView:!0,isVirtual:!1,_states:l(m),init:function(){this._super(),this._state="preRender",this.currentState=this._states.preRender,this._isVisible=q(this,"isVisible")},parentView:r("_parentView",function(){var a=this._parentView;return a&&a.isVirtual?q(a,"parentView"):a}),_state:null,_parentView:null,concreteView:r("parentView",function(){return this.isVirtual?q(this,"parentView.concreteView"):this}),instrumentName:"core_view",instrumentDetails:function(a){a.object=this.toString(),a.containerKey=this._debugContainerKey,a.view=this},trigger:function(){this._super.apply(this,arguments);var a=arguments[0],b=this[a];if(b){for(var c=arguments.length,d=new Array(c-1),e=1;c>e;e++)d[e-1]=arguments[e];return b.apply(this,d)}},has:function(a){return"function"===s(this[a])||this._super(a)},destroy:function(){var a=this._parentView;if(this._super())return!this.removedFromDOM&&this._renderer&&this._renderer.remove(this,!0),a&&a.removeChild(this),this._transitionTo("destroying",!1),this},clearRenderedChildren:j,_transitionTo:j,destroyElement:j});t.reopenClass({renderer:new k}),i["default"]=t}),a("ember-views/views/each",["ember-metal/core","ember-runtime/system/string","ember-metal/property_get","ember-metal/property_set","ember-views/views/collection_view","ember-metal/binding","ember-runtime/mixins/controller","ember-runtime/controllers/array_controller","ember-runtime/mixins/array","ember-metal/observer","ember-views/views/metamorph_view","exports"],function(a,b,c,d,e,f,g,h,i,j,k,l){"use strict";var m=a["default"],n=b.fmt,o=c.get,p=d.set,q=e["default"],r=f.Binding,s=g["default"],t=h["default"],u=i["default"],v=j.addObserver,w=j.removeObserver,x=j.addBeforeObserver,y=j.removeBeforeObserver,z=k["default"],A=k._Metamorph;l["default"]=q.extend(A,{init:function(){var a,b=o(this,"itemController");if(b){var c=o(this,"controller.container").lookupFactory("controller:array").create({_isVirtual:!0,parentController:o(this,"controller"),itemController:b,target:o(this,"controller"),_eachView:this});this.disableContentObservers(function(){p(this,"content",c),a=new r("content","_eachView.dataSource").oneWay(),a.connect(c)}),p(this,"_arrayController",c)}else this.disableContentObservers(function(){a=new r("content","dataSource").oneWay(),a.connect(this)});return this._super()},_assertArrayLike:function(a){m.assert(n("The value that #each loops over must be an Array. You passed %@, but it should have been an ArrayController",[a.constructor]),!s.detect(a)||a&&a.isGenerated||a instanceof t),m.assert(n("The value that #each loops over must be an Array. You passed %@",[s.detect(a)&&void 0!==a.get("model")?n("'%@' (wrapped in %@)",[a.get("model"),a]):a]),u.detect(a))},disableContentObservers:function(a){y(this,"content",null,"_contentWillChange"),w(this,"content",null,"_contentDidChange"),a.call(this),x(this,"content",null,"_contentWillChange"),v(this,"content",null,"_contentDidChange")},itemViewClass:z,emptyViewClass:z,createChildView:function(a,b){a=this._super(a,b);var c=o(a,"content"),d=o(this,"keyword");return d&&(a._keywords[d]=c),c&&c.isController&&p(a,"controller",c),a},destroy:function(){if(this._super()){var a=o(this,"_arrayController");return a&&a.destroy(),this}}})}),a("ember-views/views/metamorph_view",["ember-metal/core","ember-views/views/core_view","ember-views/views/view","ember-metal/mixin","exports"],function(a,b,c,d,e){"use strict";var f=a["default"],g=b["default"],h=c["default"],i=d.Mixin,j=i.create({isVirtual:!0,tagName:"",instrumentName:"metamorph",init:function(){this._super(),f.deprecate("Supplying a tagName to Metamorph views is unreliable and is deprecated. You may be setting the tagName on a Handlebars helper that creates a Metamorph.",!this.tagName)}});e._Metamorph=j,e["default"]=h.extend(j);var k=g.extend(j);e._SimpleMetamorphView=k}),a("ember-views/views/select",["ember-metal/enumerable_utils","ember-metal/property_get","ember-metal/property_set","ember-views/views/view","ember-views/views/collection_view","ember-metal/utils","ember-metal/is_none","ember-metal/computed","ember-runtime/system/native_array","ember-metal/mixin","ember-metal/properties","ember-metal/run_loop","ember-htmlbars/templates/select","exports"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n){"use strict";var o=a.forEach,p=a.indexOf,q=a.indexesOf,r=a.replace,s=b.get,t=c.set,u=d["default"],v=e["default"],w=f.isArray,x=g["default"],y=h.computed,z=i.A,A=j.observer,B=k.defineProperty,C=l["default"],D=m["default"],E=D,F={isHTMLBars:!0,render:function(a){var b=a.getStream("view.label");return b.subscribe(a._wrapAsScheduled(function(){C.scheduleOnce("render",a,"rerender")})),b.value()}},G=u.extend({instrumentDisplay:"Ember.SelectOption",tagName:"option",attributeBindings:["value","selected"],defaultTemplate:F,init:function(){this.labelPathDidChange(),this.valuePathDidChange(),this._super()},selected:y(function(){var a=s(this,"content"),b=s(this,"parentView.selection");return s(this,"parentView.multiple")?b&&p(b,a.valueOf())>-1:a==b}).property("content","parentView.selection"),labelPathDidChange:A("parentView.optionLabelPath",function(){var a=s(this,"parentView.optionLabelPath");a&&B(this,"label",y(function(){return s(this,a)}).property(a))}),valuePathDidChange:A("parentView.optionValuePath",function(){var a=s(this,"parentView.optionValuePath");a&&B(this,"value",y(function(){return s(this,a)}).property(a))})}),H=v.extend({instrumentDisplay:"Ember.SelectOptgroup",tagName:"optgroup",attributeBindings:["label"],selectionBinding:"parentView.selection",multipleBinding:"parentView.multiple",optionLabelPathBinding:"parentView.optionLabelPath",optionValuePathBinding:"parentView.optionValuePath",itemViewClassBinding:"parentView.optionView"}),I=u.extend({instrumentDisplay:"Ember.Select",tagName:"select",classNames:["ember-select"],defaultTemplate:E,attributeBindings:["multiple","disabled","tabindex","name","required","autofocus","form","size"],multiple:!1,disabled:!1,required:!1,content:null,selection:null,value:y(function(a,b){if(2===arguments.length)return b;var c=s(this,"optionValuePath").replace(/^content\.?/,"");return c?s(this,"selection."+c):s(this,"selection")}).property("selection"),prompt:null,optionLabelPath:"content",optionValuePath:"content",optionGroupPath:null,groupView:H,groupedContent:y(function(){var a=s(this,"optionGroupPath"),b=z(),c=s(this,"content")||[];return o(c,function(c){var d=s(c,a);s(b,"lastObject.label")!==d&&b.pushObject({label:d,content:z()}),s(b,"lastObject.content").push(c)}),b}).property("optionGroupPath","content.@each"),optionView:G,_change:function(){s(this,"multiple")?this._changeMultiple():this._changeSingle()},selectionDidChange:A("selection.@each",function(){var a=s(this,"selection");if(s(this,"multiple")){if(!w(a))return void t(this,"selection",z([a]));this._selectionDidChangeMultiple()}else this._selectionDidChangeSingle()}),valueDidChange:A("value",function(){var a,b=s(this,"content"),c=s(this,"value"),d=s(this,"optionValuePath").replace(/^content\.?/,""),e=d?s(this,"selection."+d):s(this,"selection");c!==e&&(a=b?b.find(function(a){return c===(d?s(a,d):a)}):null,this.set("selection",a))}),_setDefaults:function(){var a=s(this,"selection"),b=s(this,"value");x(a)||this.selectionDidChange(),x(b)||this.valueDidChange(),x(a)&&this._change()},_changeSingle:function(){var a=this.$()[0].selectedIndex,b=s(this,"content"),c=s(this,"prompt");if(b&&s(b,"length")){if(c&&0===a)return void t(this,"selection",null);c&&(a-=1),t(this,"selection",b.objectAt(a))}},_changeMultiple:function(){var a=this.$("option:selected"),b=s(this,"prompt"),c=b?1:0,d=s(this,"content"),e=s(this,"selection");if(d&&a){var f=a.map(function(){return this.index-c}).toArray(),g=d.objectsAt(f);w(e)?r(e,0,s(e,"length"),g):t(this,"selection",g)}},_selectionDidChangeSingle:function(){var a=s(this,"content"),b=s(this,"selection"),c=this;b&&b.then?b.then(function(d){c.get("selection")===b&&c._setSelectionIndex(a,d)}):this._setSelectionIndex(a,b)},_setSelectionIndex:function(a,b){var c=s(this,"element");if(c){var d=a?p(a,b):-1,e=s(this,"prompt");e&&(d+=1),c&&(c.selectedIndex=d)}},_selectionDidChangeMultiple:function(){var a,b=s(this,"content"),c=s(this,"selection"),d=b?q(b,c):[-1],e=s(this,"prompt"),f=e?1:0,g=this.$("option");g&&g.each(function(){a=this.index>-1?this.index-f:-1,this.selected=p(d,a)>-1})},init:function(){this._super(),this.on("didInsertElement",this,this._setDefaults),this.on("change",this,this._change)}});n["default"]=I,n.Select=I,n.SelectOption=G,n.SelectOptgroup=H}),a("ember-views/views/simple_bound_view",["ember-metal/error","ember-metal/run_loop","ember-htmlbars/utils/string","ember-metal/utils","exports"],function(a,b,c,d,e){"use strict";function f(){return this}function g(a,b){this.lazyValue=a,this.isEscaped=b,this[m]=n(),this._lastNormalizedValue=void 0,this.state="preRender",this.updateId=null,this._parentView=null,this.buffer=null,this._morph=null}function h(a,b,c){var d=new g(c,b.escaped);d._morph=b,c.subscribe(a._wrapAsScheduled(function(){j.scheduleOnce("render",d,"rerender")})),a.appendChild(d)}var i=a["default"],j=b["default"],k=c.SafeString,l=c.htmlSafe,m=d.GUID_KEY,n=d.uuid,o=k,p=l;g.prototype={isVirtual:!0,isView:!0,tagName:"",destroy:function(){this.updateId&&(j.cancel(this.updateId),this.updateId=null),this._parentView&&this._parentView.removeChild(this),this.morph=null,this.state="destroyed"},propertyWillChange:f,propertyDidChange:f,normalizedValue:function(){var a=this.lazyValue.value();return null===a||void 0===a?a="":this.isEscaped||a instanceof o||(a=p(a)),a},render:function(a){var b=this.normalizedValue();this._lastNormalizedValue=b,a._element=b},rerender:function(){switch(this.state){case"preRender":case"destroyed":break;case"inBuffer":throw new i("Something you did tried to replace an {{expression}} before it was inserted into the DOM.");case"hasElement":case"inDOM":this.updateId=j.scheduleOnce("render",this,"update")}return this},update:function(){this.updateId=null;var a=this.normalizedValue();a!==this._lastNormalizedValue&&(this._lastNormalizedValue=a,this._morph.setContent(a))},_transitionTo:function(a){this.state=a}},e.appendSimpleBoundView=h,e["default"]=g}),a("ember-views/views/states",["ember-metal/platform","ember-metal/merge","ember-views/views/states/default","ember-views/views/states/pre_render","ember-views/views/states/in_buffer","ember-views/views/states/has_element","ember-views/views/states/in_dom","ember-views/views/states/destroying","exports"],function(a,b,c,d,e,f,g,h,i){"use strict";function j(a){var b={};b._default={},b.preRender=k(b._default),b.destroying=k(b._default),b.inBuffer=k(b._default),b.hasElement=k(b._default),b.inDOM=k(b.hasElement);for(var c in a)a.hasOwnProperty(c)&&l(b[c],a[c]);return b}var k=a.create,l=b["default"],m=c["default"],n=d["default"],o=e["default"],p=f["default"],q=g["default"],r=h["default"];i.cloneStates=j;var s={_default:m,preRender:n,inDOM:q,inBuffer:o,hasElement:p,destroying:r};i.states=s}),a("ember-views/views/states/default",["ember-metal/error","exports"],function(a,b){"use strict";function c(){return this}var d=a["default"];b["default"]={appendChild:function(){throw new d("You can't use appendChild outside of the rendering process")},$:function(){return void 0},getElement:function(){return null},handleEvent:function(){return!0},destroyElement:function(a){return a._renderer&&a._renderer.remove(a,!1),a},rerender:c,invokeObserver:c}}),a("ember-views/views/states/destroying",["ember-metal/merge","ember-metal/platform","ember-runtime/system/string","ember-views/views/states/default","ember-metal/error","exports"],function(a,b,c,d,e,f){"use strict";var g=a["default"],h=b.create,i=c.fmt,j=d["default"],k=e["default"],l="You can't call %@ on a view being destroyed",m=h(j);g(m,{appendChild:function(){throw new k(i(l,["appendChild"]))},rerender:function(){throw new k(i(l,["rerender"]))},destroyElement:function(){throw new k(i(l,["destroyElement"]))}}),f["default"]=m}),a("ember-views/views/states/has_element",["ember-views/views/states/default","ember-metal/run_loop","ember-metal/merge","ember-metal/platform","ember-views/system/jquery","ember-metal/error","ember-metal/property_get","exports"],function(a,b,c,d,e,f,g,h){"use strict";var i=a["default"],j=b["default"],k=c["default"],l=d.create,m=e["default"],n=f["default"],o=g.get,p=l(i);k(p,{$:function(a,b){var c=a.get("concreteView").element;return b?m(b,c):m(c)},getElement:function(a){var b=o(a,"parentView");return b&&(b=o(b,"element")),b?a.findElementInParentElement(b):m("#"+o(a,"elementId"))[0]},rerender:function(a){if(a._root._morph&&!a._elementInserted)throw new n("Something you did caused a view to re-render after it rendered but before it was inserted into the DOM.");j.scheduleOnce("render",function(){a.isDestroying||a._renderer.renderTree(a,a._parentView)})},destroyElement:function(a){return a._renderer.remove(a,!1),a},handleEvent:function(a,b,c){return a.has(b)?a.trigger(b,c):!0},invokeObserver:function(a,b){b.call(a)}}),h["default"]=p}),a("ember-views/views/states/in_buffer",["ember-views/views/states/default","ember-metal/error","ember-views/system/jquery","ember-metal/platform","ember-metal/merge","exports"],function(a,b,c,d,e,f){"use strict";var g=a["default"],h=b["default"],i=c["default"],j=d.create,k=e["default"],l=j(g);k(l,{$:function(a){return a.rerender(),i()},rerender:function(){throw new h("Something you did caused a view to re-render after it rendered but before it was inserted into the DOM.")},appendChild:function(a,b,c){var d=a.buffer,e=a._childViews;return b=a.createChildView(b,c),e.length||(e=a._childViews=e.slice()),e.push(b),b._morph||d.pushChildView(b),a.propertyDidChange("childViews"),b},invokeObserver:function(a,b){b.call(a)}}),f["default"]=l}),a("ember-views/views/states/in_dom",["ember-metal/core","ember-metal/platform","ember-metal/merge","ember-metal/error","ember-metal/observer","ember-views/views/states/has_element","exports"],function(a,c,d,e,f,g,h){"use strict";var i,j=a["default"],k=c.create,l=d["default"],m=e["default"],n=f.addBeforeObserver,o=g["default"],p=k(o);l(p,{enter:function(a){i||(i=b("ember-views/views/view")["default"]),a.isVirtual||(j.assert("Attempted to register a view with an id already in use: "+a.elementId,!i.views[a.elementId]),i.views[a.elementId]=a),j.runInDebug(function(){n(a,"elementId",function(){throw new m("Changing a view's elementId after creation is not allowed")})})},exit:function(a){i||(i=b("ember-views/views/view")["default"]),this.isVirtual||delete i.views[a.elementId]}}),h["default"]=p}),a("ember-views/views/states/pre_render",["ember-views/views/states/default","ember-metal/platform","exports"],function(a,b,c){"use strict";var d=a["default"],e=b.create,f=e(d);c["default"]=f}),a("ember-views/views/text_area",["ember-metal/property_get","ember-views/views/component","ember-views/mixins/text_support","ember-metal/mixin","exports"],function(a,b,c,d,e){"use strict";var f=a.get,g=b["default"],h=c["default"],i=d.observer;e["default"]=g.extend(h,{instrumentDisplay:"{{textarea}}",classNames:["ember-text-area"],tagName:"textarea",attributeBindings:["rows","cols","name","selectionEnd","selectionStart","wrap","lang","dir"],rows:null,cols:null,_updateElementValue:i("value",function(){var a=f(this,"value"),b=this.$();b&&a!==b.val()&&b.val(a)}),init:function(){this._super(),this.on("didInsertElement",this,this._updateElementValue)}})}),a("ember-views/views/text_field",["ember-views/views/component","ember-views/mixins/text_support","exports"],function(a,b,c){"use strict";var d=a["default"],e=b["default"];c["default"]=d.extend(e,{instrumentDisplay:'{{input type="text"}}',classNames:["ember-text-field"],tagName:"input",attributeBindings:["accept","autocomplete","autosave","dir","formaction","formenctype","formmethod","formnovalidate","formtarget","height","inputmode","lang","list","max","min","multiple","name","pattern","size","step","type","value","width"],defaultLayout:null,value:"",type:"text",size:null,pattern:null,min:null,max:null})}),a("ember-views/views/view",["ember-metal/core","ember-metal/platform","ember-runtime/mixins/evented","ember-runtime/system/object","ember-metal/error","ember-metal/property_get","ember-metal/property_set","ember-metal/set_properties","ember-metal/run_loop","ember-metal/observer","ember-metal/properties","ember-metal/utils","ember-metal/computed","ember-metal/mixin","ember-views/streams/key_stream","ember-metal/streams/stream_binding","ember-views/streams/context_stream","ember-metal/is_none","ember-metal/deprecate_property","ember-runtime/system/native_array","ember-views/streams/class_name_binding","ember-metal/enumerable_utils","ember-metal/property_events","ember-views/system/jquery","ember-views/system/ext","ember-views/views/core_view","ember-metal/streams/utils","ember-views/system/sanitize_attribute_value","morph/dom-helper/prop","exports"],function(a,b,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E){"use strict"; +function F(){return this}function G(){return H||(H=c("ember-htmlbars").defaultEnv),J(H)}var H,I=a["default"],J=b.create,K=d["default"],L=e["default"],M=f["default"],N=g.get,O=h.set,P=i["default"],Q=j["default"],R=k.addObserver,S=k.removeObserver,T=l.defineProperty,U=m.guidFor,V=n.computed,W=o.observer,X=p["default"],Y=q["default"],Z=r["default"],$=m.typeOf,_=s["default"],ab=o.Mixin,bb=t.deprecateProperty,cb=u.A,db=v.streamifyClassNameBinding,eb=w.forEach,fb=w.addObject,gb=w.removeObject,hb=o.beforeObserver,ib=x.propertyWillChange,jb=x.propertyDidChange,kb=y["default"],lb=A["default"],mb=B.subscribe,nb=B.read,ob=B.isStream,pb=C["default"],qb=D.normalizeProperty,rb=V(function(){var a=this._childViews,b=cb();return eb(a,function(a){var c;a.isVirtual?(c=N(a,"childViews"))&&b.pushObjects(c):b.push(a)}),b.replace=function(){throw new M("childViews is immutable")},b});I.warn("The VIEW_PRESERVES_CONTEXT flag has been removed and the functionality can no longer be disabled.",I.ENV.VIEW_PRESERVES_CONTEXT!==!1),I.TEMPLATES={};var sb=[],tb=lb.extend({concatenatedProperties:["classNames","classNameBindings","attributeBindings"],isView:!0,templateName:null,layoutName:null,instrumentDisplay:V(function(){return this.helperName?"{{"+this.helperName+"}}":void 0}),template:V("templateName",function(a,b){if(void 0!==b)return b;var c=N(this,"templateName"),d=this.templateForName(c,"template");return I.assert("You specified the templateName "+c+" for "+this+", but it did not exist.",!c||!!d),d||N(this,"defaultTemplate")}),_controller:null,controller:V(function(a,b){if(2===arguments.length)return this._controller=b,b;if(this._controller)return this._controller;var c=N(this,"_parentView");return c?N(c,"controller"):null}),layout:V(function(){var a=N(this,"layoutName"),b=this.templateForName(a,"layout");return I.assert("You specified the layoutName "+a+" for "+this+", but it did not exist.",!a||!!b),b||N(this,"defaultLayout")}).property("layoutName"),_yield:function(a,b,c){var d=N(this,"template");if(d){var e=!1;return e=d.isHTMLBars,e?d.render(this,b,c.contextualElement):d(a,b)}},_blockArguments:sb,templateForName:function(a){if(a){if(I.assert("templateNames are not allowed to contain periods: "+a,-1===a.indexOf(".")),!this.container)throw new M("Container was not found when looking up a views template. This is most likely due to manually instantiating an Ember.View. See: http://git.io/EKPpnA");return this.container.lookup("template:"+a)}},context:V(function(a,b){return 2===arguments.length?(O(this,"_context",b),b):N(this,"_context")})["volatile"](),_context:V(function(a,b){if(2===arguments.length)return b;var c,d;return(d=N(this,"controller"))?d:(c=this._parentView,c?N(c,"_context"):null)}),_contextDidChange:W("context",function(){this.rerender()}),isVisible:!0,childViews:rb,_childViews:sb,_childViewsWillChange:hb("childViews",function(){if(this.isVirtual){var a=N(this,"parentView");a&&ib(a,"childViews")}}),_childViewsDidChange:W("childViews",function(){if(this.isVirtual){var a=N(this,"parentView");a&&jb(a,"childViews")}}),nearestInstanceOf:function(a){I.deprecate("nearestInstanceOf is deprecated and will be removed from future releases. Use nearestOfType.");for(var b=N(this,"parentView");b;){if(b instanceof a)return b;b=N(b,"parentView")}},nearestOfType:function(a){for(var b=N(this,"parentView"),c=a instanceof ab?function(b){return a.detect(b)}:function(b){return a.detect(b.constructor)};b;){if(c(b))return b;b=N(b,"parentView")}},nearestWithProperty:function(a){for(var b=N(this,"parentView");b;){if(a in b)return b;b=N(b,"parentView")}},nearestChildOf:function(a){for(var b=N(this,"parentView");b;){if(N(b,"parentView")instanceof a)return b;b=N(b,"parentView")}},_parentViewDidChange:W("_parentView",function(){this.isDestroying||(this._setupKeywords(),this.trigger("parentViewDidChange"),N(this,"parentView.controller")&&!N(this,"controller")&&this.notifyPropertyChange("controller"))}),_controllerDidChange:W("controller",function(){this.isDestroying||(this.rerender(),this.forEachChildView(function(a){a.propertyDidChange("controller")}))}),_setupKeywords:function(){var a=this._keywords,b=this._contextView||this._parentView;if(b){var c=b._keywords;a.view=this.isVirtual?c.view:this;for(var d in c)a[d]||(a[d]=c[d])}else a.view=this.isVirtual?null:this},render:function(a){var b=N(this,"layout")||N(this,"template");if(b){var c,d=N(this,"context"),e={view:this,buffer:a,isRenderData:!0},f={data:e},g=!1;if(g=b.isHTMLBars){I.assert('template must be an object. Did you mean to call Ember.Handlebars.compile("...") or specify templateName instead?',"object"==typeof b);var h=I.merge(G(),f);c=b.render(this,h,a.innerContextualElement(),this._blockArguments)}else I.assert('template must be a function. Did you mean to call Ember.Handlebars.compile("...") or specify templateName instead?',"function"==typeof b),c=b(d,f);void 0!==c&&a.push(c)}},rerender:function(){return this.currentState.rerender(this)},_applyClassNameBindings:function(a){var b,c,d,e=this.classNames;eb(a,function(a){var f;f=ob(a)?a:db(this,a,"_view.");var g,h=this._wrapAsScheduled(function(){b=this.$(),c=nb(f),g&&(b.removeClass(g),e.removeObject(g)),c?(b.addClass(c),g=c):g=null});d=nb(f),d&&(fb(e,d),g=d),mb(f,h,this),this.one("willClearRender",function(){g&&(e.removeObject(g),g=null)})},this)},_unspecifiedAttributeBindings:null,_applyAttributeBindings:function(a,b){var c,d=this._unspecifiedAttributeBindings=this._unspecifiedAttributeBindings||{};eb(b,function(b){var e=b.split(":"),f=e[0],g=e[1]||f;I.assert("You cannot use class as an attributeBinding, use classNameBindings instead.","class"!==g),f in this?(this._setupAttributeBindingObservation(f,g),c=N(this,f),tb.applyAttributeBindings(a,g,c)):d[f]=g},this),this.setUnknownProperty=this._setUnknownProperty},_setupAttributeBindingObservation:function(a,b){var c,d,e=function(){d=this.$(),c=N(this,a);var e=qb(d,b.toLowerCase())||b;tb.applyAttributeBindings(d,e,c)};this.registerObserver(this,a,e)},setUnknownProperty:null,_setUnknownProperty:function(a,b){var c=this._unspecifiedAttributeBindings&&this._unspecifiedAttributeBindings[a];return c&&this._setupAttributeBindingObservation(a,c),T(this,a),O(this,a,b)},_classStringForProperty:function(a){return tb._classStringForValue(a.path,a.stream.value(),a.className,a.falsyClassName)},element:null,$:function(a){return this.currentState.$(this,a)},mutateChildViews:function(a){for(var b,c=this._childViews,d=c.length;--d>=0;)b=c[d],a(this,b,d);return this},forEachChildView:function(a){var b=this._childViews;if(!b)return this;var c,d,e=b.length;for(d=0;e>d;d++)c=b[d],a(c);return this},appendTo:function(a){var b=kb(a);return I.assert("You tried to append to ("+a+") but that isn't in the DOM",b.length>0),I.assert("You cannot append to an existing Ember.View. Consider using Ember.ContainerView instead.",!b.is(".ember-view")&&!b.parents().is(".ember-view")),this.constructor.renderer.appendTo(this,b[0]),this},replaceIn:function(a){var b=kb(a);return I.assert("You tried to replace in ("+a+") but that isn't in the DOM",b.length>0),I.assert("You cannot replace an existing Ember.View. Consider using Ember.ContainerView instead.",!b.is(".ember-view")&&!b.parents().is(".ember-view")),this.constructor.renderer.replaceIn(this,b[0]),this},append:function(){return this.appendTo(document.body)},remove:function(){this.removedFromDOM||this.destroyElement()},elementId:null,findElementInParentElement:function(a){var b="#"+this.elementId;return kb(b)[0]||kb(b,a)[0]},createElement:function(){return this.element?this:(this._didCreateElementWithoutMorph=!0,this.constructor.renderer.renderTree(this),this)},willInsertElement:F,didInsertElement:F,willClearRender:F,destroyElement:function(){return this.currentState.destroyElement(this)},willDestroyElement:F,parentViewDidChange:F,instrumentName:"view",instrumentDetails:function(a){a.template=N(this,"templateName"),this._super(a)},beforeRender:function(){},afterRender:function(){},applyAttributesToBuffer:function(a){var b=this.classNameBindings;b.length&&this._applyClassNameBindings(b);var c=this.attributeBindings;c.length&&this._applyAttributeBindings(a,c),a.setClasses(this.classNames),a.id(this.elementId);var d=N(this,"ariaRole");d&&a.attr("role",d),N(this,"isVisible")===!1&&a.style("display","none")},tagName:null,ariaRole:null,classNames:["ember-view"],classNameBindings:sb,attributeBindings:sb,init:function(){this.isVirtual||this.elementId||(this.elementId=U(this)),this._super(),this._childViews=this._childViews.slice(),this._baseContext=void 0,this._contextStream=void 0,this._streamBindings=void 0,this._keywords||(this._keywords=J(null)),this._keywords._view=this,this._keywords.view=void 0,this._keywords.controller=new X(this,"controller"),this._setupKeywords(),I.assert("Only arrays are allowed for 'classNameBindings'","array"===$(this.classNameBindings)),this.classNameBindings=cb(this.classNameBindings.slice()),I.assert("Only arrays of static class strings are allowed for 'classNames'. For dynamic classes, use 'classNameBindings'.","array"===$(this.classNames)),this.classNames=cb(this.classNames.slice())},appendChild:function(a,b){return this.currentState.appendChild(this,a,b)},removeChild:function(a){if(!this.isDestroying){O(a,"_parentView",null);var b=this._childViews;return gb(b,a),this.propertyDidChange("childViews"),this}},removeAllChildren:function(){return this.mutateChildViews(function(a,b){a.removeChild(b)})},destroyAllChildren:function(){return this.mutateChildViews(function(a,b){b.destroy()})},removeFromParent:function(){var a=this._parentView;return this.remove(),a&&a.removeChild(this),this},destroy:function(){var a=N(this,"parentView"),b=this.viewName;return this._super()?(b&&a&&a.set(b,null),this):void 0},createChildView:function(a,b){if(!a)throw new TypeError("createChildViews first argument must exist");if(a.isView&&a._parentView===this&&a.container===this.container)return a;if(b=b||{},b._parentView=this,lb.detect(a))b.container=this.container,a=a.create(b),a.viewName&&O(N(this,"concreteView"),a.viewName,a);else if("string"==typeof a){var c="view:"+a,d=this.container.lookupFactory(c);I.assert("Could not find view: '"+c+"'",!!d),a=d.create(b)}else I.assert("You must pass instance or subclass of View",a.isView),b.container=this.container,P(a,b);return a},becameVisible:F,becameHidden:F,_isVisibleDidChange:W("isVisible",function(){this._isVisible!==N(this,"isVisible")&&Q.scheduleOnce("render",this,this._toggleVisibility)}),_toggleVisibility:function(){var a=this.$(),b=N(this,"isVisible");this._isVisible!==b&&(this._isVisible=b,a&&(a.toggle(b),this._isAncestorHidden()||(b?this._notifyBecameVisible():this._notifyBecameHidden())))},_notifyBecameVisible:function(){this.trigger("becameVisible"),this.forEachChildView(function(a){var b=N(a,"isVisible");(b||null===b)&&a._notifyBecameVisible()})},_notifyBecameHidden:function(){this.trigger("becameHidden"),this.forEachChildView(function(a){var b=N(a,"isVisible");(b||null===b)&&a._notifyBecameHidden()})},_isAncestorHidden:function(){for(var a=N(this,"parentView");a;){if(N(a,"isVisible")===!1)return!0;a=N(a,"parentView")}return!1},transitionTo:function(a,b){I.deprecate("Ember.View#transitionTo has been deprecated, it is for internal use only"),this._transitionTo(a,b)},_transitionTo:function(a){var b=this.currentState,c=this.currentState=this._states[a];this._state=a,b&&b.exit&&b.exit(this),c.enter&&c.enter(this)},handleEvent:function(a,b){return this.currentState.handleEvent(this,a,b)},registerObserver:function(a,b,c,d){if(d||"function"!=typeof c||(d=c,c=null),a&&"object"==typeof a){var e=this._wrapAsScheduled(d);R(a,b,c,e),this.one("willClearRender",function(){S(a,b,c,e)})}},_wrapAsScheduled:function(a){var b=this,c=function(){b.currentState.invokeObserver(this,a)},d=function(){Q.scheduleOnce("render",this,c)};return d},getStream:function(a){var b=this._getContextStream().get(a);return b._label=a,b},_getBindingForStream:function(a){void 0===this._streamBindings&&(this._streamBindings=J(null),this.one("willDestroyElement",this,this._destroyStreamBindings));var b=a;if(ob(a)&&(b=a._label,!b))return a;if(void 0!==this._streamBindings[b])return this._streamBindings[b];var c=this._getContextStream().get(b),d=new Y(c);return d._label=b,this._streamBindings[b]=d},_destroyStreamBindings:function(){var a=this._streamBindings;for(var b in a)a[b].destroy();this._streamBindings=void 0},_getContextStream:function(){return void 0===this._contextStream&&(this._baseContext=new X(this,"context"),this._contextStream=new Z(this),this.one("willDestroyElement",this,this._destroyContextStream)),this._contextStream},_destroyContextStream:function(){this._baseContext.destroy(),this._baseContext=void 0,this._contextStream.destroy(),this._contextStream=void 0},_unsubscribeFromStreamBindings:function(){for(var a in this._streamBindingSubscriptions){var b=this[a+"Binding"],c=this._streamBindingSubscriptions[a];b.unsubscribe(c)}}});bb(tb.prototype,"state","_state"),bb(tb.prototype,"states","_states");var ub=L.extend(K).create();tb.addMutationListener=function(a){ub.on("change",a)},tb.removeMutationListener=function(a){ub.off("change",a)},tb.notifyMutationListeners=function(){ub.trigger("change")},tb.views={},tb.childViewsProperty=rb,tb.applyAttributeBindings=function(a,b,c){var d=pb(a[0],b,c),e=$(d);"value"===b||"string"!==e&&("number"!==e||isNaN(d))?"value"===b||"boolean"===e?_(d)||d===!1?(a.removeAttr(b),"required"===b?a.removeProp(b):a.prop(b,"")):d!==a.prop(b)&&a.prop(b,d):d||a.removeAttr(b):d!==a.attr(b)&&a.attr(b,d)},E["default"]=tb}),a("ember-views/views/with_view",["ember-metal/property_set","ember-metal/utils","ember-views/views/bound_view","exports"],function(a,b,c,d){"use strict";var e=a.set,f=b.apply,g=c["default"];d["default"]=g.extend({init:function(){f(this,this._super,arguments);var a=this.templateHash.controller;if(a){var b=this.previousContext,c=this.container.lookupFactory("controller:"+a).create({parentController:b,target:b});this._generatedController=c,this.preserveContext?(this._blockArguments=[c],this.lazyValue.subscribe(function(a){e(c,"model",a.value())})):(e(this,"controller",c),this.valueNormalizerFunc=function(a){return c.set("model",a),c}),e(c,"model",this.lazyValue.value())}else this.preserveContext&&(this._blockArguments=[this.lazyValue])},willDestroy:function(){this._super(),this._generatedController&&this._generatedController.destroy()}})}),a("ember",["ember-metal","ember-runtime","ember-views","ember-routing","ember-application","ember-extension-support","ember-htmlbars","ember-routing-htmlbars","ember-runtime/system/lazy_load"],function(a,c,d,f,g,h,i,j,k){"use strict";var l=k.runLoadHooks;e.__loader.registry["ember-template-compiler"]&&b("ember-template-compiler"),e.__loader.registry["ember-testing"]&&b("ember-testing"),l("Ember"),e.deprecate("Usage of Ember is deprecated for Internet Explorer 6 and 7, support will be removed in the next major version.",!navigator.userAgent.match(/MSIE [67]/))}),a("htmlbars-util",["./htmlbars-util/safe-string","./htmlbars-util/handlebars/utils","./htmlbars-util/namespaces","exports"],function(a,b,c,d){"use strict";var e=a["default"],f=b.escapeExpression,g=c.getAttrNamespace;d.SafeString=e,d.escapeExpression=f,d.getAttrNamespace=g}),a("htmlbars-util/array-utils",["exports"],function(a){"use strict";function b(a,b,c){var d,e;if(void 0===c)for(d=0,e=a.length;e>d;d++)b(a[d],d,a);else for(d=0,e=a.length;e>d;d++)b.call(c,a[d],d,a)}function c(a,b){var c,d,e=[];for(c=0,d=a.length;d>c;c++)e.push(b(a[c],c,a));return e}a.forEach=b,a.map=c;var d;d=Array.prototype.indexOf?function(a,b,c){return a.indexOf(b,c)}:function(a,b,c){void 0===c||null===c?c=0:0>c&&(c=Math.max(0,a.length+c));for(var d=c,e=a.length;e>d;d++)if(a[d]===b)return d;return-1};var e=d;a.indexOfArray=e}),a("htmlbars-util/handlebars/safe-string",["exports"],function(a){"use strict";function b(a){this.string=a}b.prototype.toString=b.prototype.toHTML=function(){return""+this.string},a["default"]=b}),a("htmlbars-util/handlebars/utils",["./safe-string","exports"],function(a,b){"use strict";function c(a){return h[a]}function d(a){for(var b=1;b":">",'"':""","'":"'","`":"`"}),i=/[&<>"'`]/g,j=/[&<>"'`]/;b.extend=d;var k=Object.prototype.toString;b.toString=k;var l=function(a){return"function"==typeof a};l(/x/)&&(l=function(a){return"function"==typeof a&&"[object Function]"===k.call(a)});var l;b.isFunction=l;var m=Array.isArray||function(a){return a&&"object"==typeof a?"[object Array]"===k.call(a):!1};b.isArray=m,b.escapeExpression=e,b.isEmpty=f,b.appendContextPath=g}),a("htmlbars-util/namespaces",["exports"],function(a){"use strict";function b(a){var b,d=a.indexOf(":");if(-1!==d){var e=a.slice(0,d);b=c[e]}return b||null}var c={html:"http://www.w3.org/1999/xhtml",mathml:"http://www.w3.org/1998/Math/MathML",svg:"http://www.w3.org/2000/svg",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace"};a.getAttrNamespace=b}),a("htmlbars-util/object-utils",["exports"],function(a){"use strict";function b(a,b){for(var c in b)a.hasOwnProperty(c)||(a[c]=b[c]);return a}a.merge=b}),a("htmlbars-util/quoting",["exports"],function(a){"use strict";function b(a){return a=a.replace(/\\/g,"\\\\"),a=a.replace(/"/g,'\\"'),a=a.replace(/\n/g,"\\n")}function c(a){return'"'+b(a)+'"'}function d(a){return"["+a+"]"}function e(a){return"{"+a.join(", ")+"}"}function f(a,b){for(var c="";b--;)c+=a;return c}a.escapeString=b,a.string=c,a.array=d,a.hash=e,a.repeat=f}),a("htmlbars-util/safe-string",["./handlebars/safe-string","exports"],function(a,b){"use strict";var c=a["default"];b["default"]=c}),a("morph",["./morph/morph","./morph/attr-morph","./morph/dom-helper","exports"],function(a,b,c,d){"use strict";var e=a["default"],f=b["default"],g=c["default"];d.Morph=e,d.AttrMorph=f,d.DOMHelper=g}),a("morph/attr-morph",["./attr-morph/sanitize-attribute-value","./dom-helper/prop","./dom-helper/build-html-dom","../htmlbars-util","exports"],function(a,b,c,d,e){"use strict";function f(a){this.domHelper.setPropertyStrict(this.element,this.attrName,a)}function g(a){k(a)?this.domHelper.removeAttribute(this.element,this.attrName):this.domHelper.setAttribute(this.element,this.attrName,a)}function h(a){k(a)?this.domHelper.removeAttribute(this.element,this.attrName):this.domHelper.setAttributeNS(this.element,this.namespace,this.attrName,a)}function i(a,b,c,d){this.element=a,this.domHelper=c,this.namespace=void 0!==d?d:n(b),this.escaped=!0;var e=l(this.element,b);this.namespace?(this._update=h,this.attrName=b):a.namespaceURI!==m&&"style"!==b&&e?(this.attrName=e,this._update=f):(this.attrName=b,this._update=g)}var j=a.sanitizeAttributeValue,k=b.isAttrRemovalValue,l=b.normalizeProperty,m=c.svgNamespace,n=d.getAttrNamespace;i.prototype.setContent=function(a){if(this.escaped){var b=j(this.element,this.attrName,a);this._update(b,this.namespace)}else this._update(a,this.namespace)},e["default"]=i}),a("morph/attr-morph/sanitize-attribute-value",["exports"],function(a){"use strict";function b(a,b,g){var h;return c||(c=document.createElement("a")),h=a?a.tagName:null,g&&g.toHTML?g.toHTML():(null===h||e[h])&&f[b]&&(c.href=g,d[c.protocol]===!0)?"unsafe:"+g:g}var c,d={"javascript:":!0,"vbscript:":!0},e={A:!0,BODY:!0,LINK:!0,IMG:!0,IFRAME:!0},f={href:!0,src:!0,background:!0};a.badAttributes=f,a.sanitizeAttributeValue=b}),a("morph/dom-helper",["../morph/morph","../morph/attr-morph","./dom-helper/build-html-dom","./dom-helper/classes","./dom-helper/prop","exports"],function(a,b,c,d,e,f){"use strict";function g(a){return a&&a.namespaceURI===n&&!o[a.tagName]?n:null}function h(a,b){if("TABLE"===b.tagName){var c=y.exec(a);if(c){var d=c[1];return"tr"===d||"col"===d}}}function i(a,b){var c=b.document.createElement("div");return c.innerHTML=""+a+"",c.firstChild.childNodes}function j(a){if(this.document=a||document,!this.document)throw new Error("A document object must be passed to the DOMHelper, or available on the global scope");this.canClone=x,this.namespace=null}var k=a["default"],l=b["default"],m=c.buildHTMLDOM,n=c.svgNamespace,o=c.svgHTMLIntegrationPoints,p=d.addClasses,q=d.removeClasses,r=e.normalizeProperty,s=e.isAttrRemovalValue,t="undefined"==typeof document?!1:document,u=t&&function(a){var b=a.createElement("div");b.appendChild(a.createTextNode(""));var c=b.cloneNode(!0);return 0===c.childNodes.length}(t),v=t&&function(a){var b=a.createElement("input");b.setAttribute("checked","checked");var c=b.cloneNode(!1);return!c.checked}(t),w=t&&(t.createElementNS?function(a){var b=a.createElementNS(n,"svg");return b.setAttribute("viewBox","0 0 100 100"),b.removeAttribute("viewBox"),!b.getAttribute("viewBox")}(t):!0),x=t&&function(a){var b=a.createElement("div");b.appendChild(a.createTextNode(" ")),b.appendChild(a.createTextNode(" "));var c=b.cloneNode(!0);return" "===c.childNodes[0].nodeValue}(t),y=/<([\w:]+)/,z=j.prototype;z.constructor=j,z.getElementById=function(a,b){return b=b||this.document,b.getElementById(a)},z.insertBefore=function(a,b,c){return a.insertBefore(b,c)},z.appendChild=function(a,b){return a.appendChild(b)},z.childAt=function(a,b){for(var c=a,d=0;dd;d++)c=c.nextSibling;return c},z.appendText=function(a,b){return a.appendChild(this.document.createTextNode(b))},z.setAttribute=function(a,b,c){a.setAttribute(b,String(c))},z.setAttributeNS=function(a,b,c,d){a.setAttributeNS(b,c,String(d))},z.removeAttribute=w?function(a,b){a.removeAttribute(b)}:function(a,b){"svg"===a.tagName&&"viewBox"===b?a.setAttribute(b,null):a.removeAttribute(b)},z.setPropertyStrict=function(a,b,c){a[b]=c},z.setProperty=function(a,b,c,d){var e=b.toLowerCase();if(a.namespaceURI===n||"style"===e)s(c)?a.removeAttribute(b):d?a.setAttributeNS(d,b,c):a.setAttribute(b,c);else{var f=r(a,b);f?a[f]=c:s(c)?a.removeAttribute(b):d&&a.setAttributeNS?a.setAttributeNS(d,b,c):a.setAttribute(b,c)}},t&&t.createElementNS?(z.createElement=function(a,b){var c=this.namespace;return b&&(c="svg"===a?n:g(b)),c?this.document.createElementNS(c,a):this.document.createElement(a)},z.setAttributeNS=function(a,b,c,d){a.setAttributeNS(b,c,String(d))}):(z.createElement=function(a){return this.document.createElement(a)},z.setAttributeNS=function(a,b,c,d){a.setAttribute(c,String(d))}),z.addClasses=p,z.removeClasses=q,z.setNamespace=function(a){this.namespace=a},z.detectNamespace=function(a){this.namespace=g(a)},z.createDocumentFragment=function(){return this.document.createDocumentFragment()},z.createTextNode=function(a){return this.document.createTextNode(a)},z.createComment=function(a){return this.document.createComment(a)},z.repairClonedNode=function(a,b,c){if(u&&b.length>0)for(var d=0,e=b.length;e>d;d++){var f=this.document.createTextNode(""),g=b[d],h=this.childAtIndex(a,g);h?a.insertBefore(f,h):a.appendChild(f)}v&&c&&a.setAttribute("checked","checked")},z.cloneNode=function(a,b){var c=a.cloneNode(!!b);return c},z.createAttrMorph=function(a,b,c){return new l(a,b,this,c)},z.createUnsafeAttrMorph=function(a,b,c){var d=this.createAttrMorph(a,b,c);return d.escaped=!1,d},z.createMorph=function(a,b,c,d){return d||1!==a.nodeType||(d=a),new k(a,b,c,this,d)},z.createUnsafeMorph=function(a,b,c,d){var e=this.createMorph(a,b,c,d);return e.escaped=!1,e},z.createMorphAt=function(a,b,c,d){var e=-1===b?null:this.childAtIndex(a,b),f=-1===c?null:this.childAtIndex(a,c);return this.createMorph(a,e,f,d)},z.createUnsafeMorphAt=function(a,b,c,d){var e=this.createMorphAt(a,b,c,d);return e.escaped=!1,e},z.insertMorphBefore=function(a,b,c){var d=this.document.createTextNode(""),e=this.document.createTextNode("");return a.insertBefore(d,b),a.insertBefore(e,b),this.createMorph(a,d,e,c)},z.appendMorph=function(a,b){var c=this.document.createTextNode(""),d=this.document.createTextNode("");return a.appendChild(c),a.appendChild(d),this.createMorph(a,c,d,b)},z.parseHTML=function(a,b){if(g(b)===n)return i(a,this);var c=m(a,b,this);if(h(a,b)){for(var d=c[0];d&&1!==d.nodeType;)d=d.nextSibling;return d.childNodes}return c};var A;z.protocolForURL=function(a){return A||(A=this.document.createElement("a")),A.href=a,A.protocol},f["default"]=j}),a("morph/dom-helper/build-html-dom",["exports"],function(a){"use strict";function b(a,b){b="­"+b,a.innerHTML=b;for(var c=a.childNodes,d=c[0];1===d.nodeType&&!d.nodeName;)d=d.firstChild;if(3===d.nodeType&&"­"===d.nodeValue.charAt(0)){var e=d.nodeValue.slice(1);e.length?d.nodeValue=d.nodeValue.slice(1):d.parentNode.removeChild(d)}return c}function c(a,c){var d=c.tagName,e=c.outerHTML||(new XMLSerializer).serializeToString(c);if(!e)throw"Can't set innerHTML on "+d+" in this browser";for(var f=n[d.toLowerCase()],g=e.match(new RegExp("<"+d+"([^>]*)>","i"))[0],h="",i=[g,a,h],j=f.length,k=1+j;j--;)i.unshift("<"+f[j]+">"),i.push("");var l=document.createElement("div");b(l,i.join(""));for(var m=l;k--;)for(m=m.firstChild;m&&1!==m.nodeType;)m=m.nextSibling;for(;m&&m.tagName!==d;)m=m.nextSibling;return m?m.childNodes:[]}function d(a,b,c){var d=o(a,b,c);if("SELECT"===b.tagName)for(var e=0;d[e];e++)if("OPTION"===d[e].tagName){g(d[e].parentNode,d[e],a)&&(d[e].parentNode.selectedIndex=-1);break}return d}var e={foreignObject:1,desc:1,title:1};a.svgHTMLIntegrationPoints=e;var f="http://www.w3.org/2000/svg";a.svgNamespace=f;var g,h="undefined"==typeof document?!1:document,i=h&&function(a){if(void 0!==a.createElementNS){var b=a.createElementNS(f,"title");return b.innerHTML="
    ",0===b.childNodes.length||1!==b.childNodes[0].nodeType}}(h),j=h&&function(a){var b=a.createElement("div");return b.innerHTML="
    ",b.firstChild.innerHTML="",""===b.firstChild.innerHTML}(h),k=h&&function(a){var b=a.createElement("div");return b.innerHTML="Test: Value","Test:"===b.childNodes[0].nodeValue&&" Value"===b.childNodes[2].nodeValue}(h),l=h&&function(a){var b=a.createElement("div");return b.innerHTML="","selected"===b.childNodes[0].childNodes[0].getAttribute("selected")}(h);g=l?function(){var a=/]*selected/;return function(b,c,d){return 0===b.selectedIndex&&!a.test(d)}}():function(a,b){var c=b.getAttribute("selected");return 0===a.selectedIndex&&(null===c||""!==c&&"selected"!==c.toLowerCase())};var m,n=h&&function(a){var b,c,d=a.createElement("table");try{d.innerHTML="
    "}catch(e){}finally{c=0===d.childNodes.length}c&&(b={colgroup:["table"],table:[],tbody:["table"],tfoot:["table"],thead:["table"],tr:["table","tbody"]});var f=a.createElement("select");return f.innerHTML="",f.childNodes[0]||(b=b||{},b.select=[]),b}(h);m=j?function(a,c,d){return c=d.cloneNode(c,!1),b(c,a),c.childNodes}:function(a,b,c){return b=c.cloneNode(b,!1),b.innerHTML=a,b.childNodes};var o;o=n||k?function(a,b,d){var e=[],f=[];"string"==typeof a&&(a=a.replace(/(\s*)()(\s*)/g,function(a,b,c){return f.push(c),b}));var g;g=n[b.tagName.toLowerCase()]?c(a,b):m(a,b,d);var h,i,j,k,l=[];for(h=0;h0&&(p=d.document.createTextNode(q),o.parentNode.insertBefore(p,o)),r=f[h],r&&r.length>0&&(p=d.document.createTextNode(r),o.parentNode.insertBefore(p,o.nextSibling));return g}:m;var p;p=i?function(a,b,c){return e[b.tagName]?d(a,document.createElement("div"),c):d(a,b,c)}:d,a.buildHTMLDOM=p}),a("morph/dom-helper/classes",["exports"],function(a){"use strict";function b(a){var b=a.getAttribute("class")||"";return""!==b&&" "!==b?b.split(" "):[]}function c(a,b){for(var c=0,d=a.length,e=0,f=b.length,g=new Array(f);d>c;c++)for(e=0;f>e;e++)if(b[e]===a[c]){g[e]=c;break}return g}function d(a,d){for(var e=b(a),f=c(e,d),g=!1,h=0,i=d.length;i>h;h++)void 0===f[h]&&(g=!0,e.push(d[h]));g&&a.setAttribute("class",e.length>0?e.join(" "):"")}function e(a,d){for(var e=b(a),f=c(d,e),g=!1,h=[],i=0,j=e.length;j>i;i++)void 0===f[i]?h.push(e[i]):g=!0;g&&a.setAttribute("class",h.length>0?h.join(" "):"")}var f,g,h="undefined"==typeof document?!1:document,i=h&&function(){var a=document.createElement("div");return a.classList?(a.classList.add("boo"),a.classList.add("boo","baz"),"boo baz"===a.className):!1}();i?(f=function(a,b){a.classList?1===b.length?a.classList.add(b[0]):2===b.length?a.classList.add(b[0],b[1]):a.classList.add.apply(a.classList,b):d(a,b)},g=function(a,b){a.classList?1===b.length?a.classList.remove(b[0]):2===b.length?a.classList.remove(b[0],b[1]):a.classList.remove.apply(a.classList,b):e(a,b)}):(f=d,g=e),a.addClasses=f,a.removeClasses=g}),a("morph/dom-helper/prop",["exports"],function(a){"use strict";function b(a){return null===a||void 0===a}function c(a,b){var c,e=a.tagName,f=d[e];if(!f){f={};for(c in a)f[c.toLowerCase()]=c;d[e]=f}return f[b]}a.isAttrRemovalValue=b;var d={};a.propertyCaches=d,a.normalizeProperty=c}),a("morph/morph",["exports"],function(a){"use strict";function b(a,b){if(null===a||null===b)throw new Error("a fragment parent must have boundary nodes in order to detect insertion")}function c(a){if(!a||1!==a.nodeType)throw new Error("An element node must be provided for a contextualElement, you provided "+(a?"nodeType "+a.nodeType:"nothing"))}function d(a,d,e,f,g){11===a.nodeType?(b(d,e),this.element=null):this.element=a,this._parent=a,this.start=d,this.end=e,this.domHelper=f,c(g),this.contextualElement=g,this.escaped=!0,this.reset()}function e(a,b,c){for(var d,e=b,f=c.length;f--;)d=c[f],a.insertBefore(d,e),e=d}function f(a,b,c){var d,e;for(d=null===c?a.lastChild:c.previousSibling;null!==d&&d!==b;)e=d.previousSibling,a.removeChild(d),d=e}var g=Array.prototype.splice;d.prototype.reset=function(){this.text=null,this.owner=null,this.morphs=null,this.before=null,this.after=null},d.prototype.parent=function(){if(!this.element){var a=this.start.parentNode;this._parent!==a&&(this._parent=a),1===a.nodeType&&(this.element=a)}return this._parent},d.prototype.destroy=function(){this.owner?this.owner.removeMorph(this):f(this.element||this.parent(),this.start,this.end)},d.prototype.removeMorph=function(a){for(var b=this.morphs,c=0,d=b.length;d>c;c++)if(b[c]===a){this.replace(c,1);break}},d.prototype.setContent=function(a){this._update(this.element||this.parent(),a)},d.prototype.updateNode=function(a){var b=this.element||this.parent();return a?void this._updateNode(b,a):this._updateText(b,"")},d.prototype.updateText=function(a){this._updateText(this.element||this.parent(),a)},d.prototype.updateHTML=function(a){var b=this.element||this.parent();return a?void this._updateHTML(b,a):this._updateText(b,"")},d.prototype._update=function(a,b){null===b||void 0===b?this._updateText(a,""):"string"==typeof b?this.escaped?this._updateText(a,b):this._updateHTML(a,b):b.nodeType?this._updateNode(a,b):b.string?this._updateHTML(a,b.string):this._updateText(a,b.toString())},d.prototype._updateNode=function(a,b){if(this.text){if(3===b.nodeType)return void(this.text.nodeValue=b.nodeValue);this.text=null}var c=this.start,d=this.end;f(a,c,d),a.insertBefore(b,d),null!==this.before&&(this.before.end=c.nextSibling),null!==this.after&&(this.after.start=d.previousSibling)},d.prototype._updateText=function(a,b){if(this.text)return void(this.text.nodeValue=b);var c=this.domHelper.createTextNode(b);this.text=c,f(a,this.start,this.end),a.insertBefore(c,this.end),null!==this.before&&(this.before.end=c),null!==this.after&&(this.after.start=c)},d.prototype._updateHTML=function(a,b){var c=this.start,d=this.end; +f(a,c,d),this.text=null;var g=this.domHelper.parseHTML(b,this.contextualElement);e(a,d,g),null!==this.before&&(this.before.end=c.nextSibling),null!==this.after&&(this.after.start=d.previousSibling)},d.prototype.append=function(a){null===this.morphs&&(this.morphs=[]);var b=this.morphs.length;return this.insert(b,a)},d.prototype.insert=function(a,b){null===this.morphs&&(this.morphs=[]);var c=this.element||this.parent(),e=this.morphs,f=a>0?e[a-1]:null,g=a0?k[a-1]:null,m=a+b0&&f(j,n,o),0===p)return null!==l&&(l.after=m,l.end=o),null!==m&&(m.before=l,m.start=n),void k.splice(a,b);if(e=new Array(p+2),p>0){for(h=0;p>h;h++)e[h+2]=i=new d(j,n,o,this.domHelper,this.contextualElement),i._update(j,c[h]),i.owner=this,null!==l&&(i.before=l,l.end=n.nextSibling,l.after=i),l=i,n=null===o?j.lastChild:o.previousSibling;null!==m&&(i.after=m,m.before=i,m.start=o.previousSibling)}e[0]=a,e[1]=b,g.apply(k,e)},a["default"]=d}),a("route-recognizer",["./route-recognizer/dsl","exports"],function(a,b){"use strict";function c(a){return"[object Array]"===Object.prototype.toString.call(a)}function d(a){this.string=a}function e(a){this.name=a}function f(a){this.name=a}function g(){}function h(a,b,c){"/"===a.charAt(0)&&(a=a.substr(1));for(var h=a.split("/"),i=[],j=0,k=h.length;k>j;j++){var l,m=h[j];(l=m.match(/^:([^\/]+)$/))?(i.push(new e(l[1])),b.push(l[1]),c.dynamics++):(l=m.match(/^\*([^\/]+)$/))?(i.push(new f(l[1])),b.push(l[1]),c.stars++):""===m?i.push(new g):(i.push(new d(m)),c.statics++)}return i}function i(a){this.charSpec=a,this.nextStates=[]}function j(a){return a.sort(function(a,b){if(a.types.stars!==b.types.stars)return a.types.stars-b.types.stars;if(a.types.stars){if(a.types.statics!==b.types.statics)return b.types.statics-a.types.statics;if(a.types.dynamics!==b.types.dynamics)return b.types.dynamics-a.types.dynamics}return a.types.dynamics!==b.types.dynamics?a.types.dynamics-b.types.dynamics:a.types.statics!==b.types.statics?b.types.statics-a.types.statics:0})}function k(a,b){for(var c=[],d=0,e=a.length;e>d;d++){var f=a[d];c=c.concat(f.match(b))}return c}function l(a){this.queryParams=a||{}}function m(a,b,c){for(var d=a.handlers,e=a.regex,f=b.match(e),g=1,h=new l(c),i=0,j=d.length;j>i;i++){for(var k=d[i],m=k.names,n={},o=0,p=m.length;p>o;o++)n[m[o]]=f[g++];h.push({handler:k.handler,params:n,isDynamic:!!m.length})}return h}function n(a,b){return b.eachChar(function(b){a=a.put(b)}),a}function o(a){return a=a.replace(/\+/gm,"%20"),decodeURIComponent(a)}var p=a["default"],q=["/",".","*","+","?","|","(",")","[","]","{","}","\\"],r=new RegExp("(\\"+q.join("|\\")+")","g");d.prototype={eachChar:function(a){for(var b,c=this.string,d=0,e=c.length;e>d;d++)b=c.charAt(d),a({validChars:b})},regex:function(){return this.string.replace(r,"\\$1")},generate:function(){return this.string}},e.prototype={eachChar:function(a){a({invalidChars:"/",repeat:!0})},regex:function(){return"([^/]+)"},generate:function(a){return a[this.name]}},f.prototype={eachChar:function(a){a({invalidChars:"",repeat:!0})},regex:function(){return"(.+)"},generate:function(a){return a[this.name]}},g.prototype={eachChar:function(){},regex:function(){return""},generate:function(){return""}},i.prototype={get:function(a){for(var b=this.nextStates,c=0,d=b.length;d>c;c++){var e=b[c],f=e.charSpec.validChars===a.validChars;if(f=f&&e.charSpec.invalidChars===a.invalidChars)return e}},put:function(a){var b;return(b=this.get(a))?b:(b=new i(a),this.nextStates.push(b),a.repeat&&b.nextStates.push(b),b)},match:function(a){for(var b,c,d,e=this.nextStates,f=[],g=0,h=e.length;h>g;g++)b=e[g],c=b.charSpec,"undefined"!=typeof(d=c.validChars)?-1!==d.indexOf(a)&&f.push(b):"undefined"!=typeof(d=c.invalidChars)&&-1===d.indexOf(a)&&f.push(b);return f}};var s=Object.create||function(a){function b(){}return b.prototype=a,new b};l.prototype=s({splice:Array.prototype.splice,slice:Array.prototype.slice,push:Array.prototype.push,length:0,queryParams:null});var t=function(){this.rootState=new i,this.names={}};t.prototype={add:function(a,b){for(var c,d=this.rootState,e="^",f={statics:0,dynamics:0,stars:0},i=[],j=[],k=!0,l=0,m=a.length;m>l;l++){var o=a[l],p=[],q=h(o.path,p,f);j=j.concat(q);for(var r=0,s=q.length;s>r;r++){var t=q[r];t instanceof g||(k=!1,d=d.put({validChars:"/"}),e+="/",d=n(d,t),e+=t.regex())}var u={handler:o.handler,names:p};i.push(u)}k&&(d=d.put({validChars:"/"}),e+="/"),d.handlers=i,d.regex=new RegExp(e+"$"),d.types=f,(c=b&&b.as)&&(this.names[c]={segments:j,handlers:i})},handlersFor:function(a){var b=this.names[a],c=[];if(!b)throw new Error("There is no route named "+a);for(var d=0,e=b.handlers.length;e>d;d++)c.push(b.handlers[d]);return c},hasRoute:function(a){return!!this.names[a]},generate:function(a,b){var c=this.names[a],d="";if(!c)throw new Error("There is no route named "+a);for(var e=c.segments,f=0,h=e.length;h>f;f++){var i=e[f];i instanceof g||(d+="/",d+=i.generate(b))}return"/"!==d.charAt(0)&&(d="/"+d),b&&b.queryParams&&(d+=this.generateQueryString(b.queryParams,c.handlers)),d},generateQueryString:function(a){var b=[],d=[];for(var e in a)a.hasOwnProperty(e)&&d.push(e);d.sort();for(var f=0,g=d.length;g>f;f++){e=d[f];var h=a[e];if(null!=h){var i=encodeURIComponent(e);if(c(h))for(var j=0,k=h.length;k>j;j++){var l=e+"[]="+encodeURIComponent(h[j]);b.push(l)}else i+="="+encodeURIComponent(h),b.push(i)}}return 0===b.length?"":"?"+b.join("&")},parseQueryString:function(a){for(var b=a.split("&"),c={},d=0;d2&&"[]"===g.slice(h-2)&&(i=!0,g=g.slice(0,h-2),c[g]||(c[g]=[])),e=f[1]?o(f[1]):""),i?c[g].push(e):c[g]=e}return c},recognize:function(a){var b,c,d,e,f=[this.rootState],g={},h=!1;if(e=a.indexOf("?"),-1!==e){var i=a.substr(e+1,a.length);a=a.substr(0,e),g=this.parseQueryString(i)}for(a=decodeURI(a),"/"!==a.charAt(0)&&(a="/"+a),b=a.length,b>1&&"/"===a.charAt(b-1)&&(a=a.substr(0,b-1),h=!0),c=0,d=a.length;d>c&&(f=k(f,a.charAt(c)),f.length);c++);var l=[];for(c=0,d=f.length;d>c;c++)f[c].handlers&&l.push(f[c]);f=j(l);var n=l[0];return n&&n.handlers?(h&&"(.+)$"===n.regex.source.slice(-5)&&(a+="/"),m(n,a,g)):void 0}},t.prototype.map=p,t.VERSION="1.10.0",b["default"]=t}),a("route-recognizer.umd",["./route-recognizer"],function(b){"use strict";var c=b["default"];"function"==typeof a&&a.amd?a(function(){return c}):"undefined"!=typeof module&&module.exports?module.exports=c:"undefined"!=typeof this&&(this.RouteRecognizer=c)}),a("route-recognizer/dsl",["exports"],function(a){"use strict";function b(a,b,c){this.path=a,this.matcher=b,this.delegate=c}function c(a){this.routes={},this.children={},this.target=a}function d(a,c,e){return function(f,g){var h=a+f;return g?void g(d(h,c,e)):new b(a+f,c,e)}}function e(a,b,c){for(var d=0,e=0,f=a.length;f>e;e++)d+=a[e].path.length;b=b.substr(d);var g={path:b,handler:c};a.push(g)}function f(a,b,c,d){var g=b.routes;for(var h in g)if(g.hasOwnProperty(h)){var i=a.slice();e(i,h,g[h]),b.children[h]?f(i,b.children[h],c,d):c.call(d,i)}}b.prototype={to:function(a,b){var c=this.delegate;if(c&&c.willAddRoute&&(a=c.willAddRoute(this.matcher.target,a)),this.matcher.add(this.path,a),b){if(0===b.length)throw new Error("You must have an argument in the function passed to `to`");this.matcher.addChild(this.path,a,b,this.delegate)}return this}},c.prototype={add:function(a,b){this.routes[a]=b},addChild:function(a,b,e,f){var g=new c(b);this.children[a]=g;var h=d(a,g,f);f&&f.contextEntered&&f.contextEntered(b,h),e(h)}},a["default"]=function(a,b){var e=new c;a(d("",e,this.delegate)),f([],e,function(a){b?b(this,a):this.add(a)},this)}}),a("router",["./router/router","exports"],function(a,b){"use strict";var c=a["default"];b["default"]=c}),a("router/handler-info",["./utils","rsvp/promise","exports"],function(a,b,c){"use strict";function d(a){var b=a||{};g(this,b),this.initialize(b)}function e(a,b){if(!a^!b)return!1;if(!a)return!0;for(var c in a)if(a.hasOwnProperty(c)&&a[c]!==b[c])return!1;return!0}var f=a.bind,g=a.merge,h=(a.serialize,a.promiseLabel),i=a.applyHook,j=b["default"];d.prototype={name:null,handler:null,params:null,context:null,factory:null,initialize:function(){},log:function(a,b){a.log&&a.log(this.name+": "+b)},promiseLabel:function(a){return h("'"+this.name+"' "+a)},getUnresolved:function(){return this},serialize:function(){return this.params||{}},resolve:function(a,b){var c=f(this,this.checkForAbort,a),d=f(this,this.runBeforeModelHook,b),e=f(this,this.getModel,b),g=f(this,this.runAfterModelHook,b),h=f(this,this.becomeResolved,b);return j.resolve(void 0,this.promiseLabel("Start handler")).then(c,null,this.promiseLabel("Check for abort")).then(d,null,this.promiseLabel("Before model")).then(c,null,this.promiseLabel("Check if aborted during 'beforeModel' hook")).then(e,null,this.promiseLabel("Model")).then(c,null,this.promiseLabel("Check if aborted in 'model' hook")).then(g,null,this.promiseLabel("After model")).then(c,null,this.promiseLabel("Check if aborted in 'afterModel' hook")).then(h,null,this.promiseLabel("Become resolved"))},runBeforeModelHook:function(a){return a.trigger&&a.trigger(!0,"willResolveModel",a,this.handler),this.runSharedModelHook(a,"beforeModel",[])},runAfterModelHook:function(a,b){var c=this.name;return this.stashResolvedModel(a,b),this.runSharedModelHook(a,"afterModel",[b]).then(function(){return a.resolvedModels[c]},null,this.promiseLabel("Ignore fulfillment value and return model value"))},runSharedModelHook:function(a,b,c){this.log(a,"calling "+b+" hook"),this.queryParams&&c.push(this.queryParams),c.push(a);var d=i(this.handler,b,c);return d&&d.isTransition&&(d=null),j.resolve(d,this.promiseLabel("Resolve value returned from one of the model hooks"))},getModel:null,checkForAbort:function(a,b){return j.resolve(a(),this.promiseLabel("Check for abort")).then(function(){return b},null,this.promiseLabel("Ignore fulfillment value and continue"))},stashResolvedModel:function(a,b){a.resolvedModels=a.resolvedModels||{},a.resolvedModels[this.name]=b},becomeResolved:function(a,b){var c=this.serialize(b);return a&&(this.stashResolvedModel(a,b),a.params=a.params||{},a.params[this.name]=c),this.factory("resolved",{context:b,name:this.name,handler:this.handler,params:c})},shouldSupercede:function(a){if(!a)return!0;var b=a.context===this.context;return a.name!==this.name||this.hasOwnProperty("context")&&!b||this.hasOwnProperty("params")&&!e(this.params,a.params)}},c["default"]=d}),a("router/handler-info/factory",["router/handler-info/resolved-handler-info","router/handler-info/unresolved-handler-info-by-object","router/handler-info/unresolved-handler-info-by-param","exports"],function(a,b,c,d){"use strict";function e(a,b){var c=e.klasses[a],d=new c(b||{});return d.factory=e,d}var f=a["default"],g=b["default"],h=c["default"];e.klasses={resolved:f,param:h,object:g},d["default"]=e}),a("router/handler-info/resolved-handler-info",["../handler-info","router/utils","rsvp/promise","exports"],function(a,b,c,d){"use strict";var e=a["default"],f=b.subclass,g=(b.promiseLabel,c["default"]),h=f(e,{resolve:function(a,b){return b&&b.resolvedModels&&(b.resolvedModels[this.name]=this.context),g.resolve(this,this.promiseLabel("Resolve"))},getUnresolved:function(){return this.factory("param",{name:this.name,handler:this.handler,params:this.params})},isResolved:!0});d["default"]=h}),a("router/handler-info/unresolved-handler-info-by-object",["../handler-info","router/utils","rsvp/promise","exports"],function(a,b,c,d){"use strict";var e=a["default"],f=(b.merge,b.subclass),g=(b.promiseLabel,b.isParam),h=c["default"],i=f(e,{getModel:function(a){return this.log(a,this.name+": resolving provided model"),h.resolve(this.context)},initialize:function(a){this.names=a.names||[],this.context=a.context},serialize:function(a){var b=a||this.context,c=this.names,d=this.handler,e={};if(g(b))return e[c[0]]=b,e;if(d.serialize)return d.serialize(b,c);if(1===c.length){var f=c[0];return e[f]=/_id$/.test(f)?b.id:b,e}}});d["default"]=i}),a("router/handler-info/unresolved-handler-info-by-param",["../handler-info","router/utils","exports"],function(a,b,c){"use strict";var d=a["default"],e=b.resolveHook,f=b.merge,g=b.subclass,h=(b.promiseLabel,g(d,{initialize:function(a){this.params=a.params||{}},getModel:function(a){var b=this.params;a&&a.queryParams&&(b={},f(b,this.params),b.queryParams=a.queryParams);var c=this.handler,d=e(c,"deserialize")||e(c,"model");return this.runSharedModelHook(a,d,[b])}}));c["default"]=h}),a("router/router",["route-recognizer","rsvp/promise","./utils","./transition-state","./transition","./transition-intent/named-transition-intent","./transition-intent/url-transition-intent","./handler-info","exports"],function(a,b,c,d,e,f,g,h,i){"use strict";function j(){this.recognizer=new v,this.reset()}function k(a,b){var c,d=!!this.activeTransition,e=d?this.activeTransition.state:this.state,f=a.applyToState(e,this.recognizer,this.getHandler,b),g=D(e.queryParams,f.queryParams);return s(f.handlerInfos,e.handlerInfos)?g&&(c=this.queryParamsTransition(g,d,e,f))?c:new I(this):b?void m(this,f):(c=new I(this,a,f),this.activeTransition&&this.activeTransition.abort(),this.activeTransition=c,c.promise=c.promise.then(function(a){return q(c,a.state)},null,E("Settle transition promise when transition is finalized")),d||u(this,f,c),l(this,f,g),c)}function l(a,b,c){c&&(a._changedQueryParams=c.all,x(a,b.handlerInfos,!0,["queryParamsDidChange",c.changed,c.all,c.removed]),a._changedQueryParams=null)}function m(a,b,c){var d=o(a.state,b);A(d.exited,function(a){var b=a.handler;delete b.context,F(b,"reset",!0,c),F(b,"exit",c)});var e=a.oldState=a.state;a.state=b;var f=a.currentHandlerInfos=d.unchanged.slice();try{A(d.reset,function(a){var b=a.handler;F(b,"reset",!1,c)}),A(d.updatedContext,function(a){return n(f,a,!1,c)}),A(d.entered,function(a){return n(f,a,!0,c)})}catch(g){throw a.state=e,a.currentHandlerInfos=e.handlerInfos,g}a.state.queryParams=t(a,f,b.queryParams,c)}function n(a,b,c,d){var e=b.handler,f=b.context;if(c&&F(e,"enter",d),d&&d.isAborted)throw new J;if(e.context=f,F(e,"contextDidChange"),F(e,"setup",f,d),d&&d.isAborted)throw new J;return a.push(b),!0}function o(a,b){var c,d,e,f=a.handlerInfos,g=b.handlerInfos,h={updatedContext:[],exited:[],entered:[],unchanged:[]},i=!1;for(d=0,e=g.length;e>d;d++){var j=f[d],k=g[d];j&&j.handler===k.handler||(c=!0),c?(h.entered.push(k),j&&h.exited.unshift(j)):i||j.context!==k.context?(i=!0,h.updatedContext.push(k)):h.unchanged.push(j)}for(d=g.length,e=f.length;e>d;d++)h.exited.unshift(f[d]);return h.reset=h.updatedContext.slice(),h.reset.reverse(),h}function p(a,b){var c=a.urlMethod;if(c){for(var d=a.router,e=b.handlerInfos,f=e[e.length-1].name,g={},h=e.length-1;h>=0;--h){var i=e[h];B(g,i.params),i.handler.inaccessibleByURL&&(c=null)}if(c){g.queryParams=a._visibleQueryParams||b.queryParams;var j=d.recognizer.generate(f,g);"replace"===c?d.replaceURL(j):d.updateURL(j)}}}function q(a,b){try{y(a.router,a.sequence,"Resolved all models on destination route; finalizing transition.");{var c=a.router,d=b.handlerInfos;a.sequence}return m(c,b,a),a.isAborted?(c.state.handlerInfos=c.currentHandlerInfos,w.reject(H(a))):(p(a,b,a.intent.url),a.isActive=!1,c.activeTransition=null,x(c,c.currentHandlerInfos,!0,["didTransition"]),c.didTransition&&c.didTransition(c.currentHandlerInfos),y(c,a.sequence,"TRANSITION COMPLETE."),d[d.length-1].handler)}catch(e){if(!(e instanceof J)){var f=a.state.handlerInfos;a.trigger(!0,"error",e,a,f[f.length-1].handler),a.abort()}throw e}}function r(a,b,c){var d=b[0]||"/",e=b[b.length-1],f={};e&&e.hasOwnProperty("queryParams")&&(f=M.call(b).queryParams);var g;if(0===b.length){y(a,"Updating query params");var h=a.state.handlerInfos;g=new K({name:h[h.length-1].name,contexts:[],queryParams:f})}else"/"===d.charAt(0)?(y(a,"Attempting URL transition to "+d),g=new L({url:d})):(y(a,"Attempting transition to "+d),g=new K({name:b[0],contexts:z.call(b,1),queryParams:f}));return a.transitionByIntent(g,c)}function s(a,b){if(a.length!==b.length)return!1;for(var c=0,d=a.length;d>c;++c)if(a[c]!==b[c])return!1;return!0}function t(a,b,c,d){for(var e in c)c.hasOwnProperty(e)&&null===c[e]&&delete c[e];var f=[];x(a,b,!0,["finalizeQueryParamChange",c,f,d]),d&&(d._visibleQueryParams={});for(var g={},h=0,i=f.length;i>h;++h){var j=f[h];g[j.key]=j.value,d&&j.visible!==!1&&(d._visibleQueryParams[j.key]=j.value)}return g}function u(a,b,c){var d,e,f,g,h,i,j=a.state.handlerInfos,k=[],l=null;for(g=j.length,f=0;g>f;f++){if(h=j[f],i=b.handlerInfos[f],!i||h.name!==i.name){l=f;break}i.isResolved||k.push(h)}null!==l&&(d=j.slice(l,g),e=function(a){for(var b=0,c=d.length;c>b;b++)if(d[b].name===a)return!0;return!1},a._triggerWillLeave(d,c,e)),k.length>0&&a._triggerWillChangeContext(k,c),x(a,j,!0,["willTransition",c])}var v=a["default"],w=b["default"],x=c.trigger,y=c.log,z=c.slice,A=c.forEach,B=c.merge,C=(c.serialize,c.extractQueryParams),D=c.getChangelist,E=c.promiseLabel,F=c.callHook,G=d["default"],H=e.logAbort,I=e.Transition,J=e.TransitionAborted,K=f["default"],L=g["default"],M=(h.ResolvedHandlerInfo,Array.prototype.pop);j.prototype={map:function(a){this.recognizer.delegate=this.delegate,this.recognizer.map(a,function(a,b){for(var c=b.length-1,d=!0;c>=0&&d;--c){var e=b[c];a.add(b,{as:e.handler}),d="/"===e.path||""===e.path||".index"===e.handler.slice(-6)}})},hasRoute:function(a){return this.recognizer.hasRoute(a)},queryParamsTransition:function(a,b,c,d){var e=this;if(l(this,d,a),!b&&this.activeTransition)return this.activeTransition;var f=new I(this);return f.queryParamsOnly=!0,c.queryParams=t(this,d.handlerInfos,d.queryParams,f),f.promise=f.promise.then(function(a){return p(f,c,!0),e.didTransition&&e.didTransition(e.currentHandlerInfos),a},null,E("Transition complete")),f},transitionByIntent:function(a){try{return k.apply(this,arguments)}catch(b){return new I(this,a,null,b)}},reset:function(){this.state&&A(this.state.handlerInfos.slice().reverse(),function(a){var b=a.handler;F(b,"exit")}),this.state=new G,this.currentHandlerInfos=null},activeTransition:null,handleURL:function(a){var b=z.call(arguments);return"/"!==a.charAt(0)&&(b[0]="/"+a),r(this,b).method(null)},updateURL:function(){throw new Error("updateURL is not implemented")},replaceURL:function(a){this.updateURL(a)},transitionTo:function(){return r(this,arguments)},intermediateTransitionTo:function(){return r(this,arguments,!0)},refresh:function(a){for(var b=this.activeTransition?this.activeTransition.state:this.state,c=b.handlerInfos,d={},e=0,f=c.length;f>e;++e){var g=c[e];d[g.name]=g.params||{}}y(this,"Starting a refresh transition");var h=new K({name:c[c.length-1].name,pivotHandler:a||c[0].handler,contexts:[],queryParams:this._changedQueryParams||b.queryParams||{}});return this.transitionByIntent(h,!1)},replaceWith:function(){return r(this,arguments).method("replace")},generate:function(a){for(var b=C(z.call(arguments,1)),c=b[0],d=b[1],e=new K({name:a,contexts:c}),f=e.applyToState(this.state,this.recognizer,this.getHandler),g={},h=0,i=f.handlerInfos.length;i>h;++h){var j=f.handlerInfos[h],k=j.serialize();B(g,k)}return g.queryParams=d,this.recognizer.generate(a,g)},applyIntent:function(a,b){var c=new K({name:a,contexts:b}),d=this.activeTransition&&this.activeTransition.state||this.state;return c.applyToState(d,this.recognizer,this.getHandler)},isActiveIntent:function(a,b,c){var d,e,f=this.state.handlerInfos;if(!f.length)return!1;var g=f[f.length-1].name,h=this.recognizer.handlersFor(g),i=0;for(e=h.length;e>i&&(d=f[i],d.name!==a);++i);if(i===h.length)return!1;var j=new G;j.handlerInfos=f.slice(0,i+1),h=h.slice(0,i+1);var k=new K({name:g,contexts:b}),l=k.applyToHandlers(j,h,this.getHandler,g,!0,!0),m=s(l.handlerInfos,j.handlerInfos);if(!c||!m)return m;var n={};B(n,c);var o=this.state.queryParams;for(var p in o)o.hasOwnProperty(p)&&n.hasOwnProperty(p)&&(n[p]=o[p]);return m&&!D(n,c)},isActive:function(a){var b=C(z.call(arguments,1));return this.isActiveIntent(a,b[0],b[1])},trigger:function(){var a=z.call(arguments);x(this,this.currentHandlerInfos,!1,a)},log:null,_willChangeContextEvent:"willChangeContext",_triggerWillChangeContext:function(a,b){x(this,a,!0,[this._willChangeContextEvent,b])},_triggerWillLeave:function(a,b,c){x(this,a,!0,["willLeave",b,c])}},i["default"]=j}),a("router/transition-intent",["./utils","exports"],function(a,b){"use strict";function c(a){this.initialize(a),this.data=this.data||{}}a.merge;c.prototype={initialize:null,applyToState:null},b["default"]=c}),a("router/transition-intent/named-transition-intent",["../transition-intent","../transition-state","../handler-info/factory","../utils","exports"],function(a,b,c,d,e){"use strict";var f=a["default"],g=b["default"],h=c["default"],i=d.isParam,j=d.extractQueryParams,k=d.merge,l=d.subclass;e["default"]=l(f,{name:null,pivotHandler:null,contexts:null,queryParams:null,initialize:function(a){this.name=a.name,this.pivotHandler=a.pivotHandler,this.contexts=a.contexts||[],this.queryParams=a.queryParams},applyToState:function(a,b,c,d){var e=j([this.name].concat(this.contexts)),f=e[0],g=(e[1],b.handlersFor(f[0])),h=g[g.length-1].handler;return this.applyToHandlers(a,g,c,h,d)},applyToHandlers:function(a,b,c,d,e,f){var h,i,j=new g,l=this.contexts.slice(0),m=b.length;if(this.pivotHandler)for(h=0,i=b.length;i>h;++h)if(c(b[h].handler)===this.pivotHandler){m=h;break}!this.pivotHandler;for(h=b.length-1;h>=0;--h){var n=b[h],o=n.handler,p=c(o),q=a.handlerInfos[h],r=null;if(r=n.names.length>0?h>=m?this.createParamHandlerInfo(o,p,n.names,l,q):this.getHandlerInfoForDynamicSegment(o,p,n.names,l,q,d,h):this.createParamHandlerInfo(o,p,n.names,l,q),f){r=r.becomeResolved(null,r.context);var s=q&&q.context;n.names.length>0&&r.context===s&&(r.params=q&&q.params),r.context=s}var t=q;(h>=m||r.shouldSupercede(q))&&(m=Math.min(h,m),t=r),e&&!f&&(t=t.becomeResolved(null,t.context)),j.handlerInfos.unshift(t)}if(l.length>0)throw new Error("More context objects were passed than there are dynamic segments for the route: "+d);return e||this.invalidateChildren(j.handlerInfos,m),k(j.queryParams,this.queryParams||{}),j},invalidateChildren:function(a,b){for(var c=b,d=a.length;d>c;++c){{a[c]}a[c]=a[c].getUnresolved()}},getHandlerInfoForDynamicSegment:function(a,b,c,d,e,f,g){{var j;c.length}if(d.length>0){if(j=d[d.length-1],i(j))return this.createParamHandlerInfo(a,b,c,d,e);d.pop()}else{if(e&&e.name===a)return e;if(!this.preTransitionState)return e;var k=this.preTransitionState.handlerInfos[g];j=k&&k.context}return h("object",{name:a,handler:b,context:j,names:c})},createParamHandlerInfo:function(a,b,c,d,e){for(var f={},g=c.length;g--;){var j=e&&a===e.name&&e.params||{},k=d[d.length-1],l=c[g];if(i(k))f[l]=""+d.pop();else{if(!j.hasOwnProperty(l))throw new Error("You didn't provide enough string/numeric parameters to satisfy all of the dynamic segments for route "+a);f[l]=j[l]}}return h("param",{name:a,handler:b,params:f})}})}),a("router/transition-intent/url-transition-intent",["../transition-intent","../transition-state","../handler-info/factory","../utils","exports"],function(a,b,c,d,e){"use strict";function f(a){this.message=a||"UnrecognizedURLError",this.name="UnrecognizedURLError"}var g=a["default"],h=b["default"],i=c["default"],j=(d.oCreate,d.merge),k=d.subclass;e["default"]=k(g,{url:null,initialize:function(a){this.url=a.url},applyToState:function(a,b,c){var d,e,g=new h,k=b.recognize(this.url);if(!k)throw new f(this.url);var l=!1;for(d=0,e=k.length;e>d;++d){var m=k[d],n=m.handler,o=c(n);if(o.inaccessibleByURL)throw new f(this.url);var p=i("param",{name:n,handler:o,params:m.params}),q=a.handlerInfos[d];l||p.shouldSupercede(q)?(l=!0,g.handlerInfos[d]=p):g.handlerInfos[d]=q}return j(g.queryParams,k.queryParams),g}})}),a("router/transition-state",["./handler-info","./utils","rsvp/promise","exports"],function(a,b,c,d){"use strict";function e(){this.handlerInfos=[],this.queryParams={},this.params={}}var f=(a.ResolvedHandlerInfo,b.forEach),g=b.promiseLabel,h=b.callHook,i=c["default"];e.prototype={handlerInfos:null,queryParams:null,params:null,promiseLabel:function(a){var b="";return f(this.handlerInfos,function(a){""!==b&&(b+="."),b+=a.name}),g("'"+b+"': "+a)},resolve:function(a,b){function c(){return i.resolve(a(),k.promiseLabel("Check if should continue"))["catch"](function(a){return l=!0,i.reject(a)},k.promiseLabel("Handle abort"))}function d(a){var c=k.handlerInfos,d=b.resolveIndex>=c.length?c.length-1:b.resolveIndex;return i.reject({error:a,handlerWithError:k.handlerInfos[d].handler,wasAborted:l,state:k})}function e(a){var d=k.handlerInfos[b.resolveIndex].isResolved;if(k.handlerInfos[b.resolveIndex++]=a,!d){var e=a.handler;h(e,"redirect",a.context,b)}return c().then(g,null,k.promiseLabel("Resolve handler"))}function g(){if(b.resolveIndex===k.handlerInfos.length)return{error:null,state:k};var a=k.handlerInfos[b.resolveIndex];return a.resolve(c,b).then(e,null,k.promiseLabel("Proceed"))}var j=this.params;f(this.handlerInfos,function(a){j[a.name]=a.params||{}}),b=b||{},b.resolveIndex=0;var k=this,l=!1;return i.resolve(null,this.promiseLabel("Start transition")).then(g,null,this.promiseLabel("Resolve handler"))["catch"](d,this.promiseLabel("Handle error"))}},d["default"]=e}),a("router/transition",["rsvp/promise","./handler-info","./utils","exports"],function(a,b,c,d){"use strict";function e(a,b,c,d){function g(){return i.isAborted?h.reject(void 0,l("Transition aborted - reject")):void 0}var i=this;if(this.state=c||a.state,this.intent=b,this.router=a,this.data=this.intent&&this.intent.data||{},this.resolvedModels={},this.queryParams={},d)return this.promise=h.reject(d),void(this.error=d);if(c){this.params=c.params,this.queryParams=c.queryParams,this.handlerInfos=c.handlerInfos;var j=c.handlerInfos.length;j&&(this.targetName=c.handlerInfos[j-1].name);for(var k=0;j>k;++k){var m=c.handlerInfos[k];if(!m.isResolved)break;this.pivotHandler=m.handler}this.sequence=e.currentSequence++,this.promise=c.resolve(g,this)["catch"](function(a){return a.wasAborted||i.isAborted?h.reject(f(i)):(i.trigger("error",a.error,i,a.handlerWithError),i.abort(),h.reject(a.error))},l("Handle Abort"))}else this.promise=h.resolve(this.state),this.params={}}function f(a){return k(a.router,a.sequence,"detected abort."),new g}function g(a){this.message=a||"TransitionAborted",this.name="TransitionAborted"}var h=a["default"],i=(b.ResolvedHandlerInfo,c.trigger),j=c.slice,k=c.log,l=c.promiseLabel;e.currentSequence=0,e.prototype={targetName:null,urlMethod:"update",intent:null,params:null,pivotHandler:null,resolveIndex:0,handlerInfos:null,resolvedModels:null,isActive:!0,state:null,queryParamsOnly:!1,isTransition:!0,isExiting:function(a){for(var b=this.handlerInfos,c=0,d=b.length;d>c;++c){var e=b[c];if(e.name===a||e.handler===a)return!1}return!0},promise:null,data:null,then:function(a,b,c){return this.promise.then(a,b,c)},"catch":function(a,b){return this.promise["catch"](a,b)},"finally":function(a,b){return this.promise["finally"](a,b)},abort:function(){return this.isAborted?this:(k(this.router,this.sequence,this.targetName+": transition was aborted"),this.intent.preTransitionState=this.router.state,this.isAborted=!0,this.isActive=!1,this.router.activeTransition=null,this)},retry:function(){return this.abort(),this.router.transitionByIntent(this.intent,!1)},method:function(a){return this.urlMethod=a,this},trigger:function(a){var b=j.call(arguments);"boolean"==typeof a?b.shift():a=!1,i(this.router,this.state.handlerInfos.slice(0,this.resolveIndex+1),a,b)},followRedirects:function(){var a=this.router;return this.promise["catch"](function(b){return a.activeTransition?a.activeTransition.followRedirects():h.reject(b)})},toString:function(){return"Transition (sequence "+this.sequence+")"},log:function(a){k(this.router,this.sequence,a)}},e.prototype.send=e.prototype.trigger,d.Transition=e,d.logAbort=f,d.TransitionAborted=g}),a("router/utils",["exports"],function(a){"use strict";function b(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c])}function c(a){var b,c,d=a&&a.length;return d&&d>0&&a[d-1]&&a[d-1].hasOwnProperty("queryParams")?(c=a[d-1].queryParams,b=q.call(a,0,d-1),[b,c]):[a,null]}function d(a){for(var b in a)if("number"==typeof a[b])a[b]=""+a[b];else if(r(a[b]))for(var c=0,d=a[b].length;d>c;c++)a[b][c]=""+a[b][c]}function e(a,b,c){a.log&&(3===arguments.length?a.log("Transition #"+b+": "+c):(c=b,a.log(c)))}function f(a,b){var c=arguments;return function(d){var e=q.call(c,2);return e.push(d),b.apply(a,e)}}function g(a){return"string"==typeof a||a instanceof String||"number"==typeof a||a instanceof Number}function h(a,b){for(var c=0,d=a.length;d>c&&!1!==b(a[c]);c++);}function i(a,b,c,d){if(a.triggerEvent)return void a.triggerEvent(b,c,d);var e=d.shift();if(!b){if(c)return;throw new Error("Could not trigger event '"+e+"'. There are no active handlers")}for(var f=!1,g=b.length-1;g>=0;g--){var h=b[g],i=h.handler;if(i.events&&i.events[e]){if(i.events[e].apply(i,d)!==!0)return;f=!0}}if(!f&&!c)throw new Error("Nothing handled the event '"+e+"'.")}function j(a,c){var e,f={all:{},changed:{},removed:{}};b(f.all,c);var g=!1;d(a),d(c);for(e in a)a.hasOwnProperty(e)&&(c.hasOwnProperty(e)||(g=!0,f.removed[e]=a[e]));for(e in c)if(c.hasOwnProperty(e))if(r(a[e])&&r(c[e]))if(a[e].length!==c[e].length)f.changed[e]=c[e],g=!0;else for(var h=0,i=a[e].length;i>h;h++)a[e][h]!==c[e][h]&&(f.changed[e]=c[e],g=!0);else a[e]!==c[e]&&(f.changed[e]=c[e],g=!0);return g&&f}function k(a){return"Router: "+a}function l(a,c){function d(b){a.call(this,b||{})}return d.prototype=s(a.prototype),b(d.prototype,c),d}function m(a,b){if(a){var c="_"+b;return a[c]&&c||a[b]&&b}}function n(a,b){var c=q.call(arguments,2);return o(a,b,c)}function o(a,b,c){var d=m(a,b);return d?a[d].apply(a,c):void 0}var p,q=Array.prototype.slice;p=Array.isArray?Array.isArray:function(a){return"[object Array]"===Object.prototype.toString.call(a)};var r=p;a.isArray=r;var s=Object.create||function(a){function b(){}return b.prototype=a,new b};a.oCreate=s,a.extractQueryParams=c,a.log=e,a.bind=f,a.forEach=h,a.trigger=i,a.getChangelist=j,a.promiseLabel=k,a.subclass=l,a.merge=b,a.slice=q,a.isParam=g,a.coerceQueryParamsToString=d,a.callHook=n,a.resolveHook=m,a.applyHook=o}),a("rsvp",["./rsvp/promise","./rsvp/events","./rsvp/node","./rsvp/all","./rsvp/all-settled","./rsvp/race","./rsvp/hash","./rsvp/hash-settled","./rsvp/rethrow","./rsvp/defer","./rsvp/config","./rsvp/map","./rsvp/resolve","./rsvp/reject","./rsvp/filter","./rsvp/asap","exports"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){"use strict";function r(a,b){E.async(a,b)}function s(){E.on.apply(E,arguments)}function t(){E.off.apply(E,arguments)}var u=a["default"],v=b["default"],w=c["default"],x=d["default"],y=e["default"],z=f["default"],A=g["default"],B=h["default"],C=i["default"],D=j["default"],E=k.config,F=k.configure,G=l["default"],H=m["default"],I=n["default"],J=o["default"],K=p["default"];E.async=K;var L=H;if("undefined"!=typeof window&&"object"==typeof window.__PROMISE_INSTRUMENTATION__){var M=window.__PROMISE_INSTRUMENTATION__;F("instrument",!0);for(var N in M)M.hasOwnProperty(N)&&s(N,M[N])}q.cast=L,q.Promise=u,q.EventTarget=v,q.all=x,q.allSettled=y,q.race=z,q.hash=A,q.hashSettled=B,q.rethrow=C,q.defer=D,q.denodeify=w,q.configure=F,q.on=s,q.off=t,q.resolve=H,q.reject=I,q.async=r,q.map=G,q.filter=J}),a("rsvp.umd",["./rsvp"],function(b){"use strict";var c=b.Promise,d=b.allSettled,e=b.hash,f=b.hashSettled,g=b.denodeify,h=b.on,i=b.off,j=b.map,k=b.filter,l=b.resolve,m=b.reject,n=b.rethrow,o=b.all,p=b.defer,q=b.EventTarget,r=b.configure,s=b.race,t=b.async,u={race:s,Promise:c,allSettled:d,hash:e,hashSettled:f,denodeify:g,on:h,off:i,map:j,filter:k,resolve:l,reject:m,all:o,rethrow:n,defer:p,EventTarget:q,configure:r,async:t}; +"function"==typeof a&&a.amd?a(function(){return u}):"undefined"!=typeof module&&module.exports?module.exports=u:"undefined"!=typeof this&&(this.RSVP=u)}),a("rsvp/-internal",["./utils","./instrument","./config","exports"],function(a,b,c,d){"use strict";function e(){return new TypeError("A promises callback cannot return that same promise.")}function f(){}function g(a){try{return a.then}catch(b){return C.error=b,C}}function h(a,b,c,d){try{a.call(b,c,d)}catch(e){return e}}function i(a,b,c){y.async(function(a){var d=!1,e=h(c,b,function(c){d||(d=!0,b!==c?l(a,c):n(a,c))},function(b){d||(d=!0,o(a,b))},"Settle: "+(a._label||" unknown promise"));!d&&e&&(d=!0,o(a,e))},a)}function j(a,b){b._state===A?n(a,b._result):a._state===B?o(a,b._result):p(b,void 0,function(c){b!==c?l(a,c):n(a,c)},function(b){o(a,b)})}function k(a,b){if(b.constructor===a.constructor)j(a,b);else{var c=g(b);c===C?o(a,C.error):void 0===c?n(a,b):w(c)?i(a,b,c):n(a,b)}}function l(a,b){a===b?n(a,b):v(b)?k(a,b):n(a,b)}function m(a){a._onerror&&a._onerror(a._result),q(a)}function n(a,b){a._state===z&&(a._result=b,a._state=A,0===a._subscribers.length?y.instrument&&x("fulfilled",a):y.async(q,a))}function o(a,b){a._state===z&&(a._state=B,a._result=b,y.async(m,a))}function p(a,b,c,d){var e=a._subscribers,f=e.length;a._onerror=null,e[f]=b,e[f+A]=c,e[f+B]=d,0===f&&a._state&&y.async(q,a)}function q(a){var b=a._subscribers,c=a._state;if(y.instrument&&x(c===A?"fulfilled":"rejected",a),0!==b.length){for(var d,e,f=a._result,g=0;ga;a+=2){var b=p[a],c=p[a+1];b(c),p[a]=void 0,p[a+1]=void 0}j=0}function i(){try{{var a=c("vertx");a.runOnLoop||a.runOnContext}return d()}catch(b){return g()}}var j=0;a["default"]=function(a,b){p[j]=a,p[j+1]=b,j+=2,2===j&&k()};var k,l="undefined"!=typeof window?window:void 0,m=l||{},n=m.MutationObserver||m.WebKitMutationObserver,o="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel,p=new Array(1e3);k="undefined"!=typeof process&&"[object process]"==={}.toString.call(process)?b():n?e():o?f():void 0===l&&"function"==typeof c?i():g()}),a("rsvp/config",["./events","exports"],function(a,b){"use strict";function c(a,b){return"onerror"===a?void e.on("error",b):2!==arguments.length?e[a]:void(e[a]=b)}var d=a["default"],e={instrument:!1};d.mixin(e),b.config=e,b.configure=c}),a("rsvp/defer",["./promise","exports"],function(a,b){"use strict";var c=a["default"];b["default"]=function(a){var b={};return b.promise=new c(function(a,c){b.resolve=a,b.reject=c},a),b}}),a("rsvp/enumerator",["./utils","./-internal","exports"],function(a,b,c){"use strict";function d(a,b,c){return a===l?{state:"fulfilled",value:c}:{state:"rejected",reason:c}}function e(a,b,c,d){this._instanceConstructor=a,this.promise=new a(h,d),this._abortOnReject=c,this._validateInput(b)?(this._input=b,this.length=b.length,this._remaining=b.length,this._init(),0===this.length?j(this.promise,this._result):(this.length=this.length||0,this._enumerate(),0===this._remaining&&j(this.promise,this._result))):i(this.promise,this._validationError())}var f=a.isArray,g=a.isMaybeThenable,h=b.noop,i=b.reject,j=b.fulfill,k=b.subscribe,l=b.FULFILLED,m=b.REJECTED,n=b.PENDING;c.makeSettledResult=d,e.prototype._validateInput=function(a){return f(a)},e.prototype._validationError=function(){return new Error("Array Methods must be provided an Array")},e.prototype._init=function(){this._result=new Array(this.length)},c["default"]=e,e.prototype._enumerate=function(){for(var a=this.length,b=this.promise,c=this._input,d=0;b._state===n&&a>d;d++)this._eachEntry(c[d],d)},e.prototype._eachEntry=function(a,b){var c=this._instanceConstructor;g(a)?a.constructor===c&&a._state!==n?(a._onerror=null,this._settledAt(a._state,b,a._result)):this._willSettleAt(c.resolve(a),b):(this._remaining--,this._result[b]=this._makeResult(l,b,a))},e.prototype._settledAt=function(a,b,c){var d=this.promise;d._state===n&&(this._remaining--,this._abortOnReject&&a===m?i(d,c):this._result[b]=this._makeResult(a,b,c)),0===this._remaining&&j(d,this._result)},e.prototype._makeResult=function(a,b,c){return c},e.prototype._willSettleAt=function(a,b){var c=this;k(a,void 0,function(a){c._settledAt(l,b,a)},function(a){c._settledAt(m,b,a)})}}),a("rsvp/events",["exports"],function(a){"use strict";function b(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1}function c(a){var b=a._promiseCallbacks;return b||(b=a._promiseCallbacks={}),b}a["default"]={mixin:function(a){return a.on=this.on,a.off=this.off,a.trigger=this.trigger,a._promiseCallbacks=void 0,a},on:function(a,d){var e,f=c(this);e=f[a],e||(e=f[a]=[]),-1===b(e,d)&&e.push(d)},off:function(a,d){var e,f,g=c(this);return d?(e=g[a],f=b(e,d),void(-1!==f&&e.splice(f,1))):void(g[a]=[])},trigger:function(a,b){var d,e,f=c(this);if(d=f[a])for(var g=0;gh;h++)g[h]=b(a[h]);return d.all(g,c).then(function(b){for(var c=new Array(f),d=0,e=0;f>e;e++)b[e]&&(c[d]=a[e],d++);return c.length=d,c})})}}),a("rsvp/hash-settled",["./promise","./enumerator","./promise-hash","./utils","exports"],function(a,b,c,d,e){"use strict";function f(a,b,c){this._superConstructor(a,b,!1,c)}var g=a["default"],h=b.makeSettledResult,i=c["default"],j=b["default"],k=d.o_create;f.prototype=k(i.prototype),f.prototype._superConstructor=j,f.prototype._makeResult=h,f.prototype._validationError=function(){return new Error("hashSettled must be called with an object")},e["default"]=function(a,b){return new f(g,a,b).promise}}),a("rsvp/hash",["./promise","./promise-hash","exports"],function(a,b,c){"use strict";var d=a["default"],e=b["default"];c["default"]=function(a,b){return new e(d,a,b).promise}}),a("rsvp/instrument",["./config","./utils","exports"],function(a,b,c){"use strict";function d(){setTimeout(function(){for(var a,b=0;bh;h++)g[h]=b(a[h]);return d.all(g,c)})}}),a("rsvp/node",["./promise","./-internal","./utils","exports"],function(a,b,c,d){"use strict";function e(){this.value=void 0}function f(a){try{return a.then}catch(b){return s.value=b,s}}function g(a,b,c){try{a.apply(b,c)}catch(d){return s.value=d,s}}function h(a,b){for(var c,d,e={},f=a.length,g=new Array(f),h=0;f>h;h++)g[h]=a[h];for(d=0;dd;d++)c[d-1]=a[d];return c}function j(a,b){return{then:function(c,d){return a.call(b,c,d)}}}function k(a,b,c,d){var e=g(c,d,b);return e===s&&q(a,e.value),a}function l(a,b,c,d){return n.all(b).then(function(b){var e=g(c,d,b);return e===s&&q(a,e.value),a})}function m(a){return a&&"object"==typeof a?a.constructor===n?!0:f(a):!1}var n=a["default"],o=b.noop,p=b.resolve,q=b.reject,r=c.isArray,s=new e,t=new e;d["default"]=function(a,b){var c=function(){for(var c,d=this,e=arguments.length,f=new Array(e+1),g=!1,s=0;e>s;++s){if(c=arguments[s],!g){if(g=m(c),g===t){var u=new n(o);return q(u,t.value),u}g&&g!==!0&&(c=j(g,c))}f[s]=c}var v=new n(o);return f[e]=function(a,c){a?q(v,a):void 0===b?p(v,c):b===!0?p(v,i(arguments)):r(b)?p(v,h(arguments,b)):p(v,c)},g?l(v,f,a,d):k(v,f,a,d)};return c.__proto__=a,c}}),a("rsvp/promise-hash",["./enumerator","./-internal","./utils","exports"],function(a,b,c,d){"use strict";function e(a,b,c){this._superConstructor(a,b,!0,c)}var f=a["default"],g=b.PENDING,h=c.o_create;d["default"]=e,e.prototype=h(f.prototype),e.prototype._superConstructor=f,e.prototype._init=function(){this._result={}},e.prototype._validateInput=function(a){return a&&"object"==typeof a},e.prototype._validationError=function(){return new Error("Promise.hash must be called with an object")},e.prototype._enumerate=function(){var a=this.promise,b=this._input,c=[];for(var d in b)a._state===g&&b.hasOwnProperty(d)&&c.push({position:d,entry:b[d]});var e=c.length;this._remaining=e;for(var f,h=0;a._state===g&&e>h;h++)f=c[h],this._eachEntry(f.entry,f.position)}}),a("rsvp/promise",["./config","./instrument","./utils","./-internal","./promise/all","./promise/race","./promise/resolve","./promise/reject","exports"],function(a,b,c,d,e,f,g,h,i){"use strict";function j(){throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")}function k(){throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")}function l(a,b){this._id=B++,this._label=b,this._state=void 0,this._result=void 0,this._subscribers=[],m.instrument&&n("created",this),q!==a&&(o(a)||j(),this instanceof l||k(),s(this,a))}var m=a.config,n=b["default"],o=c.isFunction,p=c.now,q=d.noop,r=d.subscribe,s=d.initializePromise,t=d.invokeCallback,u=d.FULFILLED,v=d.REJECTED,w=e["default"],x=f["default"],y=g["default"],z=h["default"],A="rsvp_"+p()+"-",B=0;i["default"]=l,l.cast=y,l.all=w,l.race=x,l.resolve=y,l.reject=z,l.prototype={constructor:l,_guidKey:A,_onerror:function(a){m.trigger("error",a)},then:function(a,b,c){var d=this,e=d._state;if(e===u&&!a||e===v&&!b)return m.instrument&&n("chained",this,this),this;d._onerror=null;var f=new this.constructor(q,c),g=d._result;if(m.instrument&&n("chained",d,f),e){var h=arguments[e-1];m.async(function(){t(e,f,h,g)})}else r(d,f,a,b);return f},"catch":function(a,b){return this.then(null,a,b)},"finally":function(a,b){var c=this.constructor;return this.then(function(b){return c.resolve(a()).then(function(){return b})},function(b){return c.resolve(a()).then(function(){throw b})},b)}}}),a("rsvp/promise/all",["../enumerator","exports"],function(a,b){"use strict";var c=a["default"];b["default"]=function(a,b){return new c(this,a,!0,b).promise}}),a("rsvp/promise/race",["../utils","../-internal","exports"],function(a,b,c){"use strict";var d=a.isArray,e=b.noop,f=b.resolve,g=b.reject,h=b.subscribe,i=b.PENDING;c["default"]=function(a,b){function c(a){f(l,a)}function j(a){g(l,a)}var k=this,l=new k(e,b);if(!d(a))return g(l,new TypeError("You must pass an array to race.")),l;for(var m=a.length,n=0;l._state===i&&m>n;n++)h(k.resolve(a[n]),void 0,c,j);return l}}),a("rsvp/promise/reject",["../-internal","exports"],function(a,b){"use strict";var c=a.noop,d=a.reject;b["default"]=function(a,b){var e=this,f=new e(c,b);return d(f,a),f}}),a("rsvp/promise/resolve",["../-internal","exports"],function(a,b){"use strict";var c=a.noop,d=a.resolve;b["default"]=function(a,b){var e=this;if(a&&"object"==typeof a&&a.constructor===e)return a;var f=new e(c,b);return d(f,a),f}}),a("rsvp/race",["./promise","exports"],function(a,b){"use strict";var c=a["default"];b["default"]=function(a,b){return c.race(a,b)}}),a("rsvp/reject",["./promise","exports"],function(a,b){"use strict";var c=a["default"];b["default"]=function(a,b){return c.reject(a,b)}}),a("rsvp/resolve",["./promise","exports"],function(a,b){"use strict";var c=a["default"];b["default"]=function(a,b){return c.resolve(a,b)}}),a("rsvp/rethrow",["exports"],function(a){"use strict";a["default"]=function(a){throw setTimeout(function(){throw a}),a}}),a("rsvp/utils",["exports"],function(a){"use strict";function b(a){return"function"==typeof a||"object"==typeof a&&null!==a}function c(a){return"function"==typeof a}function d(a){return"object"==typeof a&&null!==a}function e(){}a.objectOrFunction=b,a.isFunction=c,a.isMaybeThenable=d;var f;f=Array.isArray?Array.isArray:function(a){return"[object Array]"===Object.prototype.toString.call(a)};var g=f;a.isArray=g;var h=Date.now||function(){return(new Date).getTime()};a.now=h;var i=Object.create||function(a){if(arguments.length>1)throw new Error("Second argument not supported");if("object"!=typeof a)throw new TypeError("Argument must be an object");return e.prototype=a,new e};a.o_create=i}),b("ember")}();var hljs=new function(){function a(a){return a.replace(/&/gm,"&").replace(//gm,">")}function b(a){for(var b=a.firstChild;b;b=b.nextSibling){if("CODE"==b.nodeName)return b;if(3!=b.nodeType||!b.nodeValue.match(/\s+/))break}}function c(a,b){return Array.prototype.map.call(a.childNodes,function(a){return 3==a.nodeType?b?a.nodeValue.replace(/\n/g,""):a.nodeValue:"BR"==a.nodeName?"\n":c(a,b)}).join("")}function d(a){var b=(a.className+" "+a.parentNode.className).split(/\s+/);b=b.map(function(a){return a.replace(/^language-/,"")});for(var c=0;c"}for(var g=0,h="",i=[];b.length||c.length;){var j=e().splice(0,1)[0];if(h+=a(d.substr(g,j.offset-g)),g=j.offset,"start"==j.event)h+=f(j.node),i.push(j.node);else if("stop"==j.event){var k,l=i.length;do l--,k=i[l],h+="";while(k!=j.node);for(i.splice(l,1);l'+e[0]+""):c+=e[0],d=r.lR.lastIndex,e=r.lR.exec(b)}return c+b.substr(d)}function l(){if(r.sL&&!n[r.sL])return a(s);var b=r.sL?h(r.sL,s):i(s);return r.r>0&&(u+=b.keyword_count,t+=b.r),''+b.value+""}function m(){return void 0!==r.sL?l():k()}function o(b,c){var d=b.cN?'':"";b.rB?(v+=d,s=""):b.eB?(v+=a(c)+d,s=""):(v+=d,s=c),r=Object.create(b,{parent:{value:r}}),t+=b.r}function p(b,c){if(s+=b,void 0===c)return v+=m(),0;var g=d(c,r);if(g)return v+=m(),o(g,c),g.rB?0:c.length;var h=e(r,c);if(h){h.rE||h.eE||(s+=c),v+=m();do r.cN&&(v+=""),r=r.parent;while(r!=h.parent);return h.eE&&(v+=a(c)),s="",h.starts&&o(h.starts,""),h.rE?0:c.length}if(f(c,r))throw"Illegal";return s+=c,c.length||1}var q=n[b];g(q);var r=q,s="",t=0,u=0,v="";try{for(var w,x,y=0;;){if(r.t.lastIndex=y,w=r.t.exec(c),!w)break;x=p(c.substr(y,w.index-y),w[0]),y=w.index+x}return p(c.substr(y)),{r:t,keyword_count:u,value:v,language:b}}catch(z){if("Illegal"==z)return{r:0,keyword_count:0,value:a(c)};throw z}}function i(b){var c={keyword_count:0,r:0,value:a(b)},d=c;for(var e in n)if(n.hasOwnProperty(e)){var f=h(e,b);f.language=e,f.keyword_count+f.r>d.keyword_count+d.r&&(d=f),f.keyword_count+f.r>c.keyword_count+c.r&&(d=c,c=f)}return d.language&&(c.second_best=d),c}function j(a,b,c){return b&&(a=a.replace(/^((<[^>]+>|\t)+)/gm,function(a,c){return c.replace(/\t/g,b)})),c&&(a=a.replace(/\n/g,"
    ")),a}function k(a,b,g){var k=c(a,g),l=d(a);if("no-highlight"!=l){var m=l?h(l,k):i(k);l=m.language;var n=e(a);if(n.length){var o=document.createElement("pre");o.innerHTML=m.value,m.value=f(n,e(o),k)}m.value=j(m.value,b,g);var p=a.className;p.match("(\\s|^)(language-)?"+l+"(\\s|$)")||(p=p?p+" "+l:l),a.innerHTML=m.value,a.className=p,a.result={language:l,kw:m.keyword_count,re:m.r},m.second_best&&(a.second_best={language:m.second_best.language,kw:m.second_best.keyword_count,re:m.second_best.r})}}function l(){l.called||(l.called=!0,Array.prototype.map.call(document.getElementsByTagName("pre"),b).filter(Boolean).forEach(function(a){k(a,hljs.tabReplace)}))}function m(){window.addEventListener("DOMContentLoaded",l,!1),window.addEventListener("load",l,!1)}var n={};this.LANGUAGES=n,this.highlight=h,this.highlightAuto=i,this.fixMarkup=j,this.highlightBlock=k,this.initHighlighting=l,this.initHighlightingOnLoad=m,this.IR="[a-zA-Z][a-zA-Z0-9_]*",this.UIR="[a-zA-Z_][a-zA-Z0-9_]*",this.NR="\\b\\d+(\\.\\d+)?",this.CNR="(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",this.BNR="\\b(0b[01]+)",this.RSR="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|\\.|-|-=|/|/=|:|;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",this.BE={b:"\\\\[\\s\\S]",r:0},this.ASM={cN:"string",b:"'",e:"'",i:"\\n",c:[this.BE],r:0},this.QSM={cN:"string",b:'"',e:'"',i:"\\n",c:[this.BE],r:0},this.CLCM={cN:"comment",b:"//",e:"$"},this.CBLCLM={cN:"comment",b:"/\\*",e:"\\*/"},this.HCM={cN:"comment",b:"#",e:"$"},this.NM={cN:"number",b:this.NR,r:0},this.CNM={cN:"number",b:this.CNR,r:0},this.BNM={cN:"number",b:this.BNR,r:0},this.inherit=function(a,b){var c={};for(var d in a)c[d]=a[d];if(b)for(var d in b)c[d]=b[d];return c}};if(hljs.LANGUAGES.glsl=function(a){return{k:{keyword:"atomic_uint attribute bool break bvec2 bvec3 bvec4 case centroid coherent const continue default discard dmat2 dmat2x2 dmat2x3 dmat2x4 dmat3 dmat3x2 dmat3x3 dmat3x4 dmat4 dmat4x2 dmat4x3 dmat4x4 do double dvec2 dvec3 dvec4 else flat float for highp if iimage1D iimage1DArray iimage2D iimage2DArray iimage2DMS iimage2DMSArray iimage2DRect iimage3D iimageBuffer iimageCube iimageCubeArray image1D image1DArray image2D image2DArray image2DMS image2DMSArray image2DRect image3D imageBuffer imageCube imageCubeArray in inout int invariant isampler1D isampler1DArray isampler2D isampler2DArray isampler2DMS isampler2DMSArray isampler2DRect isampler3D isamplerBuffer isamplerCube isamplerCubeArray ivec2 ivec3 ivec4 layout lowp mat2 mat2x2 mat2x3 mat2x4 mat3 mat3x2 mat3x3 mat3x4 mat4 mat4x2 mat4x3 mat4x4 mediump noperspective out patch precision readonly restrict return sample sampler1D sampler1DArray sampler1DArrayShadow sampler1DShadow sampler2D sampler2DArray sampler2DArrayShadow sampler2DMS sampler2DMSArray sampler2DRect sampler2DRectShadow sampler2DShadow sampler3D samplerBuffer samplerCube samplerCubeArray samplerCubeArrayShadow samplerCubeShadow smooth struct subroutine switch uimage1D uimage1DArray uimage2D uimage2DArray uimage2DMS uimage2DMSArray uimage2DRect uimage3D uimageBuffer uimageCube uimageCubeArray uint uniform usampler1D usampler1DArray usampler2D usampler2DArray usampler2DMS usampler2DMSArray usampler2DRect usampler3D usamplerBuffer usamplerCube usamplerCubeArray uvec2 uvec3 uvec4 varying vec2 vec3 vec4 void volatile while writeonly",built_in:"gl_BackColor gl_BackLightModelProduct gl_BackLightProduct gl_BackMaterial gl_BackSecondaryColor gl_ClipDistance gl_ClipPlane gl_ClipVertex gl_Color gl_DepthRange gl_EyePlaneQ gl_EyePlaneR gl_EyePlaneS gl_EyePlaneT gl_Fog gl_FogCoord gl_FogFragCoord gl_FragColor gl_FragCoord gl_FragData gl_FragDepth gl_FrontColor gl_FrontFacing gl_FrontLightModelProduct gl_FrontLightProduct gl_FrontMaterial gl_FrontSecondaryColor gl_InstanceID gl_InvocationID gl_Layer gl_LightModel gl_LightSource gl_MaxAtomicCounterBindings gl_MaxAtomicCounterBufferSize gl_MaxClipDistances gl_MaxClipPlanes gl_MaxCombinedAtomicCounterBuffers gl_MaxCombinedAtomicCounters gl_MaxCombinedImageUniforms gl_MaxCombinedImageUnitsAndFragmentOutputs gl_MaxCombinedTextureImageUnits gl_MaxDrawBuffers gl_MaxFragmentAtomicCounterBuffers gl_MaxFragmentAtomicCounters gl_MaxFragmentImageUniforms gl_MaxFragmentInputComponents gl_MaxFragmentUniformComponents gl_MaxFragmentUniformVectors gl_MaxGeometryAtomicCounterBuffers gl_MaxGeometryAtomicCounters gl_MaxGeometryImageUniforms gl_MaxGeometryInputComponents gl_MaxGeometryOutputComponents gl_MaxGeometryOutputVertices gl_MaxGeometryTextureImageUnits gl_MaxGeometryTotalOutputComponents gl_MaxGeometryUniformComponents gl_MaxGeometryVaryingComponents gl_MaxImageSamples gl_MaxImageUnits gl_MaxLights gl_MaxPatchVertices gl_MaxProgramTexelOffset gl_MaxTessControlAtomicCounterBuffers gl_MaxTessControlAtomicCounters gl_MaxTessControlImageUniforms gl_MaxTessControlInputComponents gl_MaxTessControlOutputComponents gl_MaxTessControlTextureImageUnits gl_MaxTessControlTotalOutputComponents gl_MaxTessControlUniformComponents gl_MaxTessEvaluationAtomicCounterBuffers gl_MaxTessEvaluationAtomicCounters gl_MaxTessEvaluationImageUniforms gl_MaxTessEvaluationInputComponents gl_MaxTessEvaluationOutputComponents gl_MaxTessEvaluationTextureImageUnits gl_MaxTessEvaluationUniformComponents gl_MaxTessGenLevel gl_MaxTessPatchComponents gl_MaxTextureCoords gl_MaxTextureImageUnits gl_MaxTextureUnits gl_MaxVaryingComponents gl_MaxVaryingFloats gl_MaxVaryingVectors gl_MaxVertexAtomicCounterBuffers gl_MaxVertexAtomicCounters gl_MaxVertexAttribs gl_MaxVertexImageUniforms gl_MaxVertexOutputComponents gl_MaxVertexTextureImageUnits gl_MaxVertexUniformComponents gl_MaxVertexUniformVectors gl_MaxViewports gl_MinProgramTexelOffsetgl_ModelViewMatrix gl_ModelViewMatrixInverse gl_ModelViewMatrixInverseTranspose gl_ModelViewMatrixTranspose gl_ModelViewProjectionMatrix gl_ModelViewProjectionMatrixInverse gl_ModelViewProjectionMatrixInverseTranspose gl_ModelViewProjectionMatrixTranspose gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 gl_Normal gl_NormalMatrix gl_NormalScale gl_ObjectPlaneQ gl_ObjectPlaneR gl_ObjectPlaneS gl_ObjectPlaneT gl_PatchVerticesIn gl_PerVertex gl_Point gl_PointCoord gl_PointSize gl_Position gl_PrimitiveID gl_PrimitiveIDIn gl_ProjectionMatrix gl_ProjectionMatrixInverse gl_ProjectionMatrixInverseTranspose gl_ProjectionMatrixTranspose gl_SampleID gl_SampleMask gl_SampleMaskIn gl_SamplePosition gl_SecondaryColor gl_TessCoord gl_TessLevelInner gl_TessLevelOuter gl_TexCoord gl_TextureEnvColor gl_TextureMatrixInverseTranspose gl_TextureMatrixTranspose gl_Vertex gl_VertexID gl_ViewportIndex gl_in gl_out EmitStreamVertex EmitVertex EndPrimitive EndStreamPrimitive abs acos acosh all any asin asinh atan atanh atomicCounter atomicCounterDecrement atomicCounterIncrement barrier bitCount bitfieldExtract bitfieldInsert bitfieldReverse ceil clamp cos cosh cross dFdx dFdy degrees determinant distance dot equal exp exp2 faceforward findLSB findMSB floatBitsToInt floatBitsToUint floor fma fract frexp ftransform fwidth greaterThan greaterThanEqual imageAtomicAdd imageAtomicAnd imageAtomicCompSwap imageAtomicExchange imageAtomicMax imageAtomicMin imageAtomicOr imageAtomicXor imageLoad imageStore imulExtended intBitsToFloat interpolateAtCentroid interpolateAtOffset interpolateAtSample inverse inversesqrt isinf isnan ldexp length lessThan lessThanEqual log log2 matrixCompMult max memoryBarrier min mix mod modf noise1 noise2 noise3 noise4 normalize not notEqual outerProduct packDouble2x32 packHalf2x16 packSnorm2x16 packSnorm4x8 packUnorm2x16 packUnorm4x8 pow radians reflect refract round roundEven shadow1D shadow1DLod shadow1DProj shadow1DProjLod shadow2D shadow2DLod shadow2DProj shadow2DProjLod sign sin sinh smoothstep sqrt step tan tanh texelFetch texelFetchOffset texture texture1D texture1DLod texture1DProj texture1DProjLod texture2D texture2DLod texture2DProj texture2DProjLod texture3D texture3DLod texture3DProj texture3DProjLod textureCube textureCubeLod textureGather textureGatherOffset textureGatherOffsets textureGrad textureGradOffset textureLod textureLodOffset textureOffset textureProj textureProjGrad textureProjGradOffset textureProjLod textureProjLodOffset textureProjOffset textureQueryLod textureSize transpose trunc uaddCarry uintBitsToFloat umulExtended unpackDouble2x32 unpackHalf2x16 unpackSnorm2x16 unpackSnorm4x8 unpackUnorm2x16 unpackUnorm4x8 usubBorrow gl_TextureMatrix gl_TextureMatrixInverse",literal:"true false"},i:'"',c:[a.CLCM,a.CBLCLM,a.CNM,{cN:"preprocessor",b:"#",e:"$"}]}}(hljs),hljs.LANGUAGES.cs=function(a){return{k:"abstract as base bool break byte case catch char checked class const continue decimal default delegate do double else enum event explicit extern false finally fixed float for foreach goto if implicit in int interface internal is lock long namespace new null object operator out override params private protected public readonly ref return sbyte sealed short sizeof stackalloc static string struct switch this throw true try typeof uint ulong unchecked unsafe ushort using virtual volatile void while ascending descending from get group into join let orderby partial select set value var where yield",c:[{cN:"comment",b:"///",e:"$",rB:!0,c:[{cN:"xmlDocTag",b:"///|"},{cN:"xmlDocTag",b:""}]},a.CLCM,a.CBLCLM,{cN:"preprocessor",b:"#",e:"$",k:"if else elif endif define undef warning error line region endregion pragma checksum"},{cN:"string",b:'@"',e:'"',c:[{b:'""'}]},a.ASM,a.QSM,a.CNM]}}(hljs),hljs.LANGUAGES.rsl=function(a){return{k:{keyword:"float color point normal vector matrix while for if do return else break extern continue",built_in:"abs acos ambient area asin atan atmosphere attribute calculatenormal ceil cellnoise clamp comp concat cos degrees depth Deriv diffuse distance Du Dv environment exp faceforward filterstep floor format fresnel incident length lightsource log match max min mod noise normalize ntransform opposite option phong pnoise pow printf ptlined radians random reflect refract renderinfo round setcomp setxcomp setycomp setzcomp shadow sign sin smoothstep specular specularbrdf spline sqrt step tan texture textureinfo trace transform vtransform xcomp ycomp zcomp"},i:" ",r:10},{cN:"comment",b:"%",e:"$"},{cN:"number",b:"\\b(\\d+#[a-fA-F0-9]+|\\d+(\\.\\d+)?([eE][-+]?\\d+)?)",r:0},a.ASM,a.QSM,{cN:"constant",b:"\\?(::)?([A-Z]\\w*(::)?)+"},{cN:"arrow",b:"->"},{cN:"ok",b:"ok"},{cN:"exclamation_mark",b:"!"},{cN:"function_or_atom",b:"(\\b[a-z'][a-zA-Z0-9_']*:[a-z'][a-zA-Z0-9_']*)|(\\b[a-z'][a-zA-Z0-9_']*)",r:0},{cN:"variable",b:"[A-Z][a-zA-Z0-9_']*",r:0}]}}(hljs),hljs.LANGUAGES["1c"]=function(a){var b="[a-zA-Zа-яА-Я][a-zA-Z0-9_а-яА-Я]*",c="возврат дата для если и или иначе иначеесли исключение конецесли конецпопытки конецпроцедуры конецфункции конеццикла константа не перейти перем перечисление по пока попытка прервать продолжить процедура строка тогда фс функция цикл число экспорт",d="ansitooem oemtoansi ввестивидсубконто ввестидату ввестизначение ввестиперечисление ввестипериод ввестиплансчетов ввестистроку ввестичисло вопрос восстановитьзначение врег выбранныйплансчетов вызватьисключение датагод датамесяц датачисло добавитьмесяц завершитьработусистемы заголовоксистемы записьжурналарегистрации запуститьприложение зафиксироватьтранзакцию значениевстроку значениевстрокувнутр значениевфайл значениеизстроки значениеизстрокивнутр значениеизфайла имякомпьютера имяпользователя каталогвременныхфайлов каталогиб каталогпользователя каталогпрограммы кодсимв командасистемы конгода конецпериодаби конецрассчитанногопериодаби конецстандартногоинтервала конквартала конмесяца коннедели лев лог лог10 макс максимальноеколичествосубконто мин монопольныйрежим названиеинтерфейса названиенабораправ назначитьвид назначитьсчет найти найтипомеченныенаудаление найтиссылки началопериодаби началостандартногоинтервала начатьтранзакцию начгода начквартала начмесяца начнедели номерднягода номерднянедели номернеделигода нрег обработкаожидания окр описаниеошибки основнойжурналрасчетов основнойплансчетов основнойязык открытьформу открытьформумодально отменитьтранзакцию очиститьокносообщений периодстр полноеимяпользователя получитьвремята получитьдатута получитьдокументта получитьзначенияотбора получитьпозициюта получитьпустоезначение получитьта прав праводоступа предупреждение префиксавтонумерации пустаястрока пустоезначение рабочаядаттьпустоезначение рабочаядата разделительстраниц разделительстрок разм разобратьпозициюдокумента рассчитатьрегистрына рассчитатьрегистрыпо сигнал симв символтабуляции создатьобъект сокрл сокрлп сокрп сообщить состояние сохранитьзначение сред статусвозврата стрдлина стрзаменить стрколичествострок стрполучитьстроку стрчисловхождений сформироватьпозициюдокумента счетпокоду текущаядата текущеевремя типзначения типзначениястр удалитьобъекты установитьтана установитьтапо фиксшаблон формат цел шаблон",e={cN:"dquote",b:'""'},f={cN:"string",b:'"',e:'"|$',c:[e],r:0},g={cN:"string",b:"\\|",e:'"|$',c:[e]}; +return{cI:!0,l:b,k:{keyword:c,built_in:d},c:[a.CLCM,a.NM,f,g,{cN:"function",b:"(процедура|функция)",e:"$",l:b,k:"процедура функция",c:[{cN:"title",b:b},{cN:"tail",eW:!0,c:[{cN:"params",b:"\\(",e:"\\)",l:b,k:"знач",c:[f,g]},{cN:"export",b:"экспорт",eW:!0,l:b,k:"экспорт",c:[a.CLCM]}]},a.CLCM]},{cN:"preprocessor",b:"#",e:"$"},{cN:"date",b:"'\\d{2}\\.\\d{2}\\.(\\d{2}|\\d{4})'"}]}}(hljs),hljs.LANGUAGES.objectivec=function(a){var b={keyword:"int float while private char catch export sizeof typedef const struct for union unsigned long volatile static protected bool mutable if public do return goto void enum else break extern class asm case short default double throw register explicit signed typename try this switch continue wchar_t inline readonly assign property protocol self synchronized end synthesize id optional required implementation nonatomic interface super unichar finally dynamic IBOutlet IBAction selector strong weak readonly",literal:"false true FALSE TRUE nil YES NO NULL",built_in:"NSString NSDictionary CGRect CGPoint UIButton UILabel UITextView UIWebView MKMapView UISegmentedControl NSObject UITableViewDelegate UITableViewDataSource NSThread UIActivityIndicator UITabbar UIToolBar UIBarButtonItem UIImageView NSAutoreleasePool UITableView BOOL NSInteger CGFloat NSException NSLog NSMutableString NSMutableArray NSMutableDictionary NSURL NSIndexPath CGSize UITableViewCell UIView UIViewController UINavigationBar UINavigationController UITabBarController UIPopoverController UIPopoverControllerDelegate UIImage NSNumber UISearchBar NSFetchedResultsController NSFetchedResultsChangeType UIScrollView UIScrollViewDelegate UIEdgeInsets UIColor UIFont UIApplication NSNotFound NSNotificationCenter NSNotification UILocalNotification NSBundle NSFileManager NSTimeInterval NSDate NSCalendar NSUserDefaults UIWindow NSRange NSArray NSError NSURLRequest NSURLConnection class UIInterfaceOrientation MPMoviePlayerController dispatch_once_t dispatch_queue_t dispatch_sync dispatch_async dispatch_once"};return{k:b,i:""}]},{cN:"preprocessor",b:"#",e:"$"},{cN:"class",bWK:!0,e:"({|$)",k:"interface class protocol implementation",c:[{cN:"id",b:a.UIR}]},{cN:"variable",b:"\\."+a.UIR}]}}(hljs),hljs.LANGUAGES.scala=function(a){var b={cN:"annotation",b:"@[A-Za-z]+"},c={cN:"string",b:'u?r?"""',e:'"""',r:10};return{k:"type yield lazy override def with val var false true sealed abstract private trait object null if for while throw finally protected extends import final return else break new catch super class case package default try this match continue throws",c:[{cN:"javadoc",b:"/\\*\\*",e:"\\*/",c:[{cN:"javadoctag",b:"@[A-Za-z]+"}],r:10},a.CLCM,a.CBLCLM,a.ASM,a.QSM,c,{cN:"class",b:"((case )?class |object |trait )",e:"({|$)",i:":",k:"case class trait object",c:[{bWK:!0,k:"extends with",r:10},{cN:"title",b:a.UIR},{cN:"params",b:"\\(",e:"\\)",c:[a.ASM,a.QSM,c,b]}]},a.CNM,b]}}(hljs),hljs.LANGUAGES.clojure=function(a){var b={built_in:"def cond apply if-not if-let if not not= = < < > <= <= >= == + / * - rem quot neg? pos? delay? symbol? keyword? true? false? integer? empty? coll? list? set? ifn? fn? associative? sequential? sorted? counted? reversible? number? decimal? class? distinct? isa? float? rational? reduced? ratio? odd? even? char? seq? vector? string? map? nil? contains? zero? instance? not-every? not-any? libspec? -> ->> .. . inc compare do dotimes mapcat take remove take-while drop letfn drop-last take-last drop-while while intern condp case reduced cycle split-at split-with repeat replicate iterate range merge zipmap declare line-seq sort comparator sort-by dorun doall nthnext nthrest partition eval doseq await await-for let agent atom send send-off release-pending-sends add-watch mapv filterv remove-watch agent-error restart-agent set-error-handler error-handler set-error-mode! error-mode shutdown-agents quote var fn loop recur throw try monitor-enter monitor-exit defmacro defn defn- macroexpand macroexpand-1 for doseq dosync dotimes and or when when-not when-let comp juxt partial sequence memoize constantly complement identity assert peek pop doto proxy defstruct first rest cons defprotocol cast coll deftype defrecord last butlast sigs reify second ffirst fnext nfirst nnext defmulti defmethod meta with-meta ns in-ns create-ns import intern refer keys select-keys vals key val rseq name namespace promise into transient persistent! conj! assoc! dissoc! pop! disj! import use class type num float double short byte boolean bigint biginteger bigdec print-method print-dup throw-if throw printf format load compile get-in update-in pr pr-on newline flush read slurp read-line subvec with-open memfn time ns assert re-find re-groups rand-int rand mod locking assert-valid-fdecl alias namespace resolve ref deref refset swap! reset! set-validator! compare-and-set! alter-meta! reset-meta! commute get-validator alter ref-set ref-history-count ref-min-history ref-max-history ensure sync io! new next conj set! memfn to-array future future-call into-array aset gen-class reduce merge map filter find empty hash-map hash-set sorted-map sorted-map-by sorted-set sorted-set-by vec vector seq flatten reverse assoc dissoc list disj get union difference intersection extend extend-type extend-protocol int nth delay count concat chunk chunk-buffer chunk-append chunk-first chunk-rest max min dec unchecked-inc-int unchecked-inc unchecked-dec-inc unchecked-dec unchecked-negate unchecked-add-int unchecked-add unchecked-subtract-int unchecked-subtract chunk-next chunk-cons chunked-seq? prn vary-meta lazy-seq spread list* str find-keyword keyword symbol gensym force rationalize"},c="[a-zA-Z_0-9\\!\\.\\?\\-\\+\\*\\/\\<\\=\\>\\&\\#\\$';]+",d="[\\s:\\(\\{]+\\d+(\\.\\d+)?",e={cN:"number",b:d,r:0},f={cN:"string",b:'"',e:'"',c:[a.BE],r:0},g={cN:"comment",b:";",e:"$",r:0},h={cN:"collection",b:"[\\[\\{]",e:"[\\]\\}]"},i={cN:"comment",b:"\\^"+c},j={cN:"comment",b:"\\^\\{",e:"\\}"},k={cN:"attribute",b:"[:]"+c},l={cN:"list",b:"\\(",e:"\\)",r:0},m={eW:!0,eE:!0,k:{literal:"true false nil"},r:0},n={k:b,l:c,cN:"title",b:c,starts:m};return l.c=[{cN:"comment",b:"comment"},n],m.c=[l,f,i,j,g,k,h,e],h.c=[l,f,i,g,k,h,e],{i:"\\S",c:[g,l]}}(hljs),hljs.LANGUAGES.perl=function(a){var b="getpwent getservent quotemeta msgrcv scalar kill dbmclose undef lc ma syswrite tr send umask sysopen shmwrite vec qx utime local oct semctl localtime readpipe do return format read sprintf dbmopen pop getpgrp not getpwnam rewinddir qqfileno qw endprotoent wait sethostent bless s|0 opendir continue each sleep endgrent shutdown dump chomp connect getsockname die socketpair close flock exists index shmgetsub for endpwent redo lstat msgctl setpgrp abs exit select print ref gethostbyaddr unshift fcntl syscall goto getnetbyaddr join gmtime symlink semget splice x|0 getpeername recv log setsockopt cos last reverse gethostbyname getgrnam study formline endhostent times chop length gethostent getnetent pack getprotoent getservbyname rand mkdir pos chmod y|0 substr endnetent printf next open msgsnd readdir use unlink getsockopt getpriority rindex wantarray hex system getservbyport endservent int chr untie rmdir prototype tell listen fork shmread ucfirst setprotoent else sysseek link getgrgid shmctl waitpid unpack getnetbyname reset chdir grep split require caller lcfirst until warn while values shift telldir getpwuid my getprotobynumber delete and sort uc defined srand accept package seekdir getprotobyname semop our rename seek if q|0 chroot sysread setpwent no crypt getc chown sqrt write setnetent setpriority foreach tie sin msgget map stat getlogin unless elsif truncate exec keys glob tied closedirioctl socket readlink eval xor readline binmode setservent eof ord bind alarm pipe atan2 getgrent exp time push setgrent gt lt or ne m|0 break given say state when",c={cN:"subst",b:"[$@]\\{",e:"\\}",k:b,r:10},d={cN:"variable",b:"\\$\\d"},e={cN:"variable",b:"[\\$\\%\\@\\*](\\^\\w\\b|#\\w+(\\:\\:\\w+)*|[^\\s\\w{]|{\\w+}|\\w+(\\:\\:\\w*)*)"},f=[a.BE,c,d,e],g={b:"->",c:[{b:a.IR},{b:"{",e:"}"}]},h={cN:"comment",b:"^(__END__|__DATA__)",e:"\\n$",r:5},i=[d,e,a.HCM,h,{cN:"comment",b:"^\\=\\w",e:"\\=cut",eW:!0},g,{cN:"string",b:"q[qwxr]?\\s*\\(",e:"\\)",c:f,r:5},{cN:"string",b:"q[qwxr]?\\s*\\[",e:"\\]",c:f,r:5},{cN:"string",b:"q[qwxr]?\\s*\\{",e:"\\}",c:f,r:5},{cN:"string",b:"q[qwxr]?\\s*\\|",e:"\\|",c:f,r:5},{cN:"string",b:"q[qwxr]?\\s*\\<",e:"\\>",c:f,r:5},{cN:"string",b:"qw\\s+q",e:"q",c:f,r:5},{cN:"string",b:"'",e:"'",c:[a.BE],r:0},{cN:"string",b:'"',e:'"',c:f,r:0},{cN:"string",b:"`",e:"`",c:[a.BE]},{cN:"string",b:"{\\w+}",r:0},{cN:"string",b:"-?\\w+\\s*\\=\\>",r:0},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{b:"("+a.RSR+"|\\b(split|return|print|reverse|grep)\\b)\\s*",k:"split return print reverse grep",r:0,c:[a.HCM,h,{cN:"regexp",b:"(s|tr|y)/(\\\\.|[^/])*/(\\\\.|[^/])*/[a-z]*",r:10},{cN:"regexp",b:"(m|qr)?/",e:"/[a-z]*",c:[a.BE],r:0}]},{cN:"sub",bWK:!0,e:"(\\s*\\(.*?\\))?[;{]",k:"sub",r:5},{cN:"operator",b:"-\\w\\b",r:0}];return c.c=i,g.c[1].c=i,{k:b,c:i}}(hljs),hljs.LANGUAGES.applescript=function(a){var b=a.inherit(a.QSM,{i:""}),c={cN:"title",b:a.UIR},d={cN:"params",b:"\\(",e:"\\)",c:["self",a.CNM,b]},e=[{cN:"comment",b:"--",e:"$"},{cN:"comment",b:"\\(\\*",e:"\\*\\)",c:["self",{b:"--",e:"$"}]},a.HCM];return{k:{keyword:"about above after against and around as at back before beginning behind below beneath beside between but by considering contain contains continue copy div does eighth else end equal equals error every exit fifth first for fourth from front get given global if ignoring in into is it its last local me middle mod my ninth not of on onto or over prop property put ref reference repeat returning script second set seventh since sixth some tell tenth that the then third through thru timeout times to transaction try until where while whose with without",constant:"AppleScript false linefeed return pi quote result space tab true",type:"alias application boolean class constant date file integer list number real record string text",command:"activate beep count delay launch log offset read round run say summarize write",property:"character characters contents day frontmost id item length month name paragraph paragraphs rest reverse running time version weekday word words year"},c:[b,a.CNM,{cN:"type",b:"\\bPOSIX file\\b"},{cN:"command",b:"\\b(clipboard info|the clipboard|info for|list (disks|folder)|mount volume|path to|(close|open for) access|(get|set) eof|current date|do shell script|get volume settings|random number|set volume|system attribute|system info|time to GMT|(load|run|store) script|scripting components|ASCII (character|number)|localized string|choose (application|color|file|file name|folder|from list|remote application|URL)|display (alert|dialog))\\b|^\\s*return\\b"},{cN:"constant",b:"\\b(text item delimiters|current application|missing value)\\b"},{cN:"keyword",b:"\\b(apart from|aside from|instead of|out of|greater than|isn't|(doesn't|does not) (equal|come before|come after|contain)|(greater|less) than( or equal)?|(starts?|ends|begins?) with|contained by|comes (before|after)|a (ref|reference))\\b"},{cN:"property",b:"\\b(POSIX path|(date|time) string|quoted form)\\b"},{cN:"function_start",bWK:!0,k:"on",i:"[${=;\\n]",c:[c,d]}].concat(e)}}(hljs),hljs.LANGUAGES.java=function(a){return{k:"false synchronized int abstract float private char boolean static null if const for true while long throw strictfp finally protected import native final return void enum else break transient new catch instanceof byte super volatile case assert short package default double public try this switch continue throws",c:[{cN:"javadoc",b:"/\\*\\*",e:"\\*/",c:[{cN:"javadoctag",b:"@[A-Za-z]+"}],r:10},a.CLCM,a.CBLCLM,a.ASM,a.QSM,{cN:"class",bWK:!0,e:"{",k:"class interface",i:":",c:[{bWK:!0,k:"extends implements",r:10},{cN:"title",b:a.UIR}]},a.CNM,{cN:"annotation",b:"@[A-Za-z]+"}]}}(hljs),hljs.LANGUAGES.vhdl=function(a){return{cI:!0,k:{keyword:"abs access after alias all and architecture array assert attribute begin block body buffer bus case component configuration constant context cover disconnect downto default else elsif end entity exit fairness file for force function generate generic group guarded if impure in inertial inout is label library linkage literal loop map mod nand new next nor not null of on open or others out package port postponed procedure process property protected pure range record register reject release rem report restrict restrict_guarantee return rol ror select sequence severity shared signal sla sll sra srl strong subtype then to transport type unaffected units until use variable vmode vprop vunit wait when while with xnor xor",typename:"boolean bit character severity_level integer time delay_length natural positive string bit_vector file_open_kind file_open_status std_ulogic std_ulogic_vector std_logic std_logic_vector unsigned signed boolean_vector integer_vector real_vector time_vector"},i:"{",c:[a.CBLCLM,{cN:"comment",b:"--",e:"$"},a.QSM,a.CNM,{cN:"literal",b:"'(U|X|0|1|Z|W|L|H|-)'",c:[a.BE]},{cN:"attribute",b:"'[A-Za-z](_?[A-Za-z0-9])*",c:[a.BE]}]}}(hljs),hljs.LANGUAGES.brainfuck=function(){return{c:[{cN:"comment",b:"[^\\[\\]\\.,\\+\\-<> \r\n]",eE:!0,e:"[\\[\\]\\.,\\+\\-<> \r\n]",r:0},{cN:"title",b:"[\\[\\]]",r:0},{cN:"string",b:"[\\.,]"},{cN:"literal",b:"[\\+\\-]"}]}}(hljs),hljs.LANGUAGES.go=function(a){var b={keyword:"break default func interface select case map struct chan else goto package switch const fallthrough if range type continue for import return var go defer",constant:"true false iota nil",typename:"bool byte complex64 complex128 float32 float64 int8 int16 int32 int64 string uint8 uint16 uint32 uint64 int uint uintptr rune",built_in:"append cap close complex copy imag len make new panic print println real recover delete"};return{k:b,i:">|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?",d={keyword:"and false then defined module in return redo if BEGIN retry end for true self when next until do begin unless END rescue nil else break undef not super class case require yield alias while ensure elsif or include"},e={cN:"yardoctag",b:"@[A-Za-z]+"},f=[{cN:"comment",b:"#",e:"$",c:[e]},{cN:"comment",b:"^\\=begin",e:"^\\=end",c:[e],r:10},{cN:"comment",b:"^__END__",e:"\\n$"}],g={cN:"subst",b:"#\\{",e:"}",l:b,k:d},h=[a.BE,g],i=[{cN:"string",b:"'",e:"'",c:h,r:0},{cN:"string",b:'"',e:'"',c:h,r:0},{cN:"string",b:"%[qw]?\\(",e:"\\)",c:h},{cN:"string",b:"%[qw]?\\[",e:"\\]",c:h},{cN:"string",b:"%[qw]?{",e:"}",c:h},{cN:"string",b:"%[qw]?<",e:">",c:h,r:10},{cN:"string",b:"%[qw]?/",e:"/",c:h,r:10},{cN:"string",b:"%[qw]?%",e:"%",c:h,r:10},{cN:"string",b:"%[qw]?-",e:"-",c:h,r:10},{cN:"string",b:"%[qw]?\\|",e:"\\|",c:h,r:10}],j={cN:"function",bWK:!0,e:" |$|;",k:"def",c:[{cN:"title",b:c,l:b,k:d},{cN:"params",b:"\\(",e:"\\)",l:b,k:d}].concat(f)},k=f.concat(i.concat([{cN:"class",bWK:!0,e:"$|;",k:"class module",c:[{cN:"title",b:"[A-Za-z_]\\w*(::\\w+)*(\\?|\\!)?",r:0},{cN:"inheritance",b:"<\\s*",c:[{cN:"parent",b:"("+a.IR+"::)?"+a.IR}]}].concat(f)},j,{cN:"constant",b:"(::)?(\\b[A-Z]\\w*(::)?)+",r:0},{cN:"symbol",b:":",c:i.concat([{b:c}]),r:0},{cN:"symbol",b:b+":",r:0},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{cN:"number",b:"\\?\\w"},{cN:"variable",b:"(\\$\\W)|((\\$|\\@\\@?)(\\w+))"},{b:"("+a.RSR+")\\s*",c:f.concat([{cN:"regexp",b:"/",e:"/[a-z]*",i:"\\n",c:[a.BE,g]}]),r:0}]));return g.c=k,j.c[1].c=k,{l:b,k:d,c:k}}(hljs),hljs.LANGUAGES.dos=function(){return{cI:!0,k:{flow:"if else goto for in do call exit not exist errorlevel defined equ neq lss leq gtr geq",keyword:"shift cd dir echo setlocal endlocal set pause copy",stream:"prn nul lpt3 lpt2 lpt1 con com4 com3 com2 com1 aux",winutils:"ping net ipconfig taskkill xcopy ren del"},c:[{cN:"envvar",b:"%%[^ ]"},{cN:"envvar",b:"%[^ ]+?%"},{cN:"envvar",b:"![^ ]+?!"},{cN:"number",b:"\\b\\d+",r:0},{cN:"comment",b:"@?rem",e:"$"}]}}(hljs),hljs.LANGUAGES.lisp=function(a){var b="[a-zA-Z_\\-\\+\\*\\/\\<\\=\\>\\&\\#][a-zA-Z0-9_\\-\\+\\*\\/\\<\\=\\>\\&\\#]*",c="(\\-|\\+)?\\d+(\\.\\d+|\\/\\d+)?((d|e|f|l|s)(\\+|\\-)?\\d+)?",d={cN:"literal",b:"\\b(t{1}|nil)\\b"},e=[{cN:"number",b:c},{cN:"number",b:"#b[0-1]+(/[0-1]+)?"},{cN:"number",b:"#o[0-7]+(/[0-7]+)?"},{cN:"number",b:"#x[0-9a-f]+(/[0-9a-f]+)?"},{cN:"number",b:"#c\\("+c+" +"+c,e:"\\)"}],f={cN:"string",b:'"',e:'"',c:[a.BE],r:0},g={cN:"comment",b:";",e:"$"},h={cN:"variable",b:"\\*",e:"\\*"},i={cN:"keyword",b:"[:&]"+b},j={b:"\\(",e:"\\)",c:["self",d,f].concat(e)},k={cN:"quoted",b:"['`]\\(",e:"\\)",c:e.concat([f,h,i,j])},l={cN:"quoted",b:"\\(quote ",e:"\\)",k:{title:"quote"},c:e.concat([f,h,i,j])},m={cN:"list",b:"\\(",e:"\\)"},n={cN:"body",eW:!0,eE:!0};return m.c=[{cN:"title",b:b},n],n.c=[k,l,m,d].concat(e).concat([f,g,h,i]),{i:"[^\\s]",c:e.concat([d,f,g,k,l,m])}}(hljs),hljs.LANGUAGES.apache=function(a){var b={cN:"number",b:"[\\$%]\\d+"};return{cI:!0,k:{keyword:"acceptfilter acceptmutex acceptpathinfo accessfilename action addalt addaltbyencoding addaltbytype addcharset adddefaultcharset adddescription addencoding addhandler addicon addiconbyencoding addiconbytype addinputfilter addlanguage addmoduleinfo addoutputfilter addoutputfilterbytype addtype alias aliasmatch allow allowconnect allowencodedslashes allowoverride anonymous anonymous_logemail anonymous_mustgiveemail anonymous_nouserid anonymous_verifyemail authbasicauthoritative authbasicprovider authdbduserpwquery authdbduserrealmquery authdbmgroupfile authdbmtype authdbmuserfile authdefaultauthoritative authdigestalgorithm authdigestdomain authdigestnccheck authdigestnonceformat authdigestnoncelifetime authdigestprovider authdigestqop authdigestshmemsize authgroupfile authldapbinddn authldapbindpassword authldapcharsetconfig authldapcomparednonserver authldapdereferencealiases authldapgroupattribute authldapgroupattributeisdn authldapremoteuserattribute authldapremoteuserisdn authldapurl authname authnprovideralias authtype authuserfile authzdbmauthoritative authzdbmtype authzdefaultauthoritative authzgroupfileauthoritative authzldapauthoritative authzownerauthoritative authzuserauthoritative balancermember browsermatch browsermatchnocase bufferedlogs cachedefaultexpire cachedirlength cachedirlevels cachedisable cacheenable cachefile cacheignorecachecontrol cacheignoreheaders cacheignorenolastmod cacheignorequerystring cachelastmodifiedfactor cachemaxexpire cachemaxfilesize cacheminfilesize cachenegotiateddocs cacheroot cachestorenostore cachestoreprivate cgimapextension charsetdefault charsetoptions charsetsourceenc checkcaseonly checkspelling chrootdir contentdigest cookiedomain cookieexpires cookielog cookiename cookiestyle cookietracking coredumpdirectory customlog dav davdepthinfinity davgenericlockdb davlockdb davmintimeout dbdexptime dbdkeep dbdmax dbdmin dbdparams dbdpersist dbdpreparesql dbdriver defaulticon defaultlanguage defaulttype deflatebuffersize deflatecompressionlevel deflatefilternote deflatememlevel deflatewindowsize deny directoryindex directorymatch directoryslash documentroot dumpioinput dumpiologlevel dumpiooutput enableexceptionhook enablemmap enablesendfile errordocument errorlog example expiresactive expiresbytype expiresdefault extendedstatus extfilterdefine extfilteroptions fileetag filterchain filterdeclare filterprotocol filterprovider filtertrace forcelanguagepriority forcetype forensiclog gracefulshutdowntimeout group header headername hostnamelookups identitycheck identitychecktimeout imapbase imapdefault imapmenu include indexheadinsert indexignore indexoptions indexorderdefault indexstylesheet isapiappendlogtoerrors isapiappendlogtoquery isapicachefile isapifakeasync isapilognotsupported isapireadaheadbuffer keepalive keepalivetimeout languagepriority ldapcacheentries ldapcachettl ldapconnectiontimeout ldapopcacheentries ldapopcachettl ldapsharedcachefile ldapsharedcachesize ldaptrustedclientcert ldaptrustedglobalcert ldaptrustedmode ldapverifyservercert limitinternalrecursion limitrequestbody limitrequestfields limitrequestfieldsize limitrequestline limitxmlrequestbody listen listenbacklog loadfile loadmodule lockfile logformat loglevel maxclients maxkeepaliverequests maxmemfree maxrequestsperchild maxrequestsperthread maxspareservers maxsparethreads maxthreads mcachemaxobjectcount mcachemaxobjectsize mcachemaxstreamingbuffer mcacheminobjectsize mcacheremovalalgorithm mcachesize metadir metafiles metasuffix mimemagicfile minspareservers minsparethreads mmapfile mod_gzip_on mod_gzip_add_header_count mod_gzip_keep_workfiles mod_gzip_dechunk mod_gzip_min_http mod_gzip_minimum_file_size mod_gzip_maximum_file_size mod_gzip_maximum_inmem_size mod_gzip_temp_dir mod_gzip_item_include mod_gzip_item_exclude mod_gzip_command_version mod_gzip_can_negotiate mod_gzip_handle_methods mod_gzip_static_suffix mod_gzip_send_vary mod_gzip_update_static modmimeusepathinfo multiviewsmatch namevirtualhost noproxy nwssltrustedcerts nwsslupgradeable options order passenv pidfile protocolecho proxybadheader proxyblock proxydomain proxyerroroverride proxyftpdircharset proxyiobuffersize proxymaxforwards proxypass proxypassinterpolateenv proxypassmatch proxypassreverse proxypassreversecookiedomain proxypassreversecookiepath proxypreservehost proxyreceivebuffersize proxyremote proxyremotematch proxyrequests proxyset proxystatus proxytimeout proxyvia readmename receivebuffersize redirect redirectmatch redirectpermanent redirecttemp removecharset removeencoding removehandler removeinputfilter removelanguage removeoutputfilter removetype requestheader require rewritebase rewritecond rewriteengine rewritelock rewritelog rewriteloglevel rewritemap rewriteoptions rewriterule rlimitcpu rlimitmem rlimitnproc satisfy scoreboardfile script scriptalias scriptaliasmatch scriptinterpretersource scriptlog scriptlogbuffer scriptloglength scriptsock securelisten seerequesttail sendbuffersize serveradmin serveralias serverlimit servername serverpath serverroot serversignature servertokens setenv setenvif setenvifnocase sethandler setinputfilter setoutputfilter ssienableaccess ssiendtag ssierrormsg ssistarttag ssitimeformat ssiundefinedecho sslcacertificatefile sslcacertificatepath sslcadnrequestfile sslcadnrequestpath sslcarevocationfile sslcarevocationpath sslcertificatechainfile sslcertificatefile sslcertificatekeyfile sslciphersuite sslcryptodevice sslengine sslhonorciperorder sslmutex ssloptions sslpassphrasedialog sslprotocol sslproxycacertificatefile sslproxycacertificatepath sslproxycarevocationfile sslproxycarevocationpath sslproxyciphersuite sslproxyengine sslproxymachinecertificatefile sslproxymachinecertificatepath sslproxyprotocol sslproxyverify sslproxyverifydepth sslrandomseed sslrequire sslrequiressl sslsessioncache sslsessioncachetimeout sslusername sslverifyclient sslverifydepth startservers startthreads substitute suexecusergroup threadlimit threadsperchild threadstacksize timeout traceenable transferlog typesconfig unsetenv usecanonicalname usecanonicalphysicalport user userdir virtualdocumentroot virtualdocumentrootip virtualscriptalias virtualscriptaliasip win32disableacceptex xbithack",literal:"on off"},c:[a.HCM,{cN:"sqbracket",b:"\\s\\[",e:"\\]$"},{cN:"cbracket",b:"[\\$%]\\{",e:"\\}",c:["self",b]},b,{cN:"tag",b:""},a.QSM]}}(hljs),hljs.LANGUAGES.actionscript=function(a){var b="[a-zA-Z_$][a-zA-Z0-9_$]*",c="([*]|[a-zA-Z_$][a-zA-Z0-9_$]*)",d={cN:"rest_arg",b:"[.]{3}",e:b,r:10},e={cN:"title",b:b};return{k:{keyword:"as break case catch class const continue default delete do dynamic each else extends final finally for function get if implements import in include instanceof interface internal is namespace native new override package private protected public return set static super switch this throw try typeof use var void while with",literal:"true false null undefined"},c:[a.ASM,a.QSM,a.CLCM,a.CBLCLM,a.CNM,{cN:"package",bWK:!0,e:"{",k:"package",c:[e]},{cN:"class",bWK:!0,e:"{",k:"class interface",c:[{bWK:!0,k:"extends implements"},e]},{cN:"preprocessor",bWK:!0,e:";",k:"import include"},{cN:"function",bWK:!0,e:"[{;]",k:"function",i:"\\S",c:[e,{cN:"params",b:"\\(",e:"\\)",c:[a.ASM,a.QSM,a.CLCM,a.CBLCLM,d]},{cN:"type",b:":",e:c,r:10}]}]}}(hljs),hljs.LANGUAGES.erlang=function(a){var b="[a-z'][a-zA-Z0-9_']*",c="("+b+":"+b+"|"+b+")",d={keyword:"after and andalso|10 band begin bnot bor bsl bzr bxor case catch cond div end fun let not of orelse|10 query receive rem try when xor",literal:"false true"},e={cN:"comment",b:"%",e:"$",r:0},f={cN:"number",b:"\\b(\\d+#[a-fA-F0-9]+|\\d+(\\.\\d+)?([eE][-+]?\\d+)?)",r:0},g={b:"fun\\s+"+b+"/\\d+"},h={b:c+"\\(",e:"\\)",rB:!0,r:0,c:[{cN:"function_name",b:c,r:0},{b:"\\(",e:"\\)",eW:!0,rE:!0,r:0}]},i={cN:"tuple",b:"{",e:"}",r:0},j={cN:"variable",b:"\\b_([A-Z][A-Za-z0-9_]*)?",r:0},k={cN:"variable",b:"[A-Z][a-zA-Z0-9_]*",r:0},l={b:"#",e:"}",i:".",r:0,rB:!0,c:[{cN:"record_name",b:"#"+a.UIR,r:0},{b:"{",eW:!0,r:0}]},m={k:d,b:"(fun|receive|if|try|case)",e:"end"};m.c=[e,g,a.inherit(a.ASM,{cN:""}),m,h,a.QSM,f,i,j,k,l];var n=[e,g,m,h,a.QSM,f,i,j,k,l];h.c[1].c=n,i.c=n,l.c[1].c=n;var o={cN:"params",b:"\\(",e:"\\)",c:n};return{k:d,i:"(",rB:!0,i:"\\(|#|//|/\\*|\\\\|:",c:[o,{cN:"title",b:b}],starts:{e:";|\\.",k:d,c:n}},e,{cN:"pp",b:"^-",e:"\\.",r:0,eE:!0,rB:!0,l:"-"+a.IR,k:"-module -record -undef -export -ifdef -ifndef -author -copyright -doc -vsn -import -include -include_lib -compile -define -else -endif -file -behaviour -behavior",c:[o]},f,a.QSM,l,j,k,i]}}(hljs),hljs.LANGUAGES.rust=function(a){var b={cN:"title",b:a.UIR},c={cN:"number",b:"\\b(0[xb][A-Za-z0-9_]+|[0-9_]+(\\.[0-9_]+)?([uif](8|16|32|64)?)?)",r:0},d="alt any as assert be bind block bool break char check claim const cont dir do else enum export f32 f64 fail false float fn for i16 i32 i64 i8 if iface impl import in int let log mod mutable native note of prove pure resource ret self str syntax true type u16 u32 u64 u8 uint unchecked unsafe use vec while";return{k:d,i:"",c:[a.HCM,{cN:"string",b:'"',e:'"',c:[a.BE].concat(b),r:0},{cN:"string",b:"'",e:"'",c:[a.BE].concat(b),r:0},{cN:"url",b:"([a-z]+):/",e:"\\s",eW:!0,eE:!0},{cN:"regexp",b:"\\s\\^",e:"\\s|{|;",rE:!0,c:[a.BE].concat(b)},{cN:"regexp",b:"~\\*?\\s+",e:"\\s|{|;",rE:!0,c:[a.BE].concat(b)},{cN:"regexp",b:"\\*(\\.[a-z\\-]+)+",c:[a.BE].concat(b)},{cN:"regexp",b:"([a-z\\-]+\\.)+\\*",c:[a.BE].concat(b)},{cN:"number",b:"\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b"},{cN:"number",b:"\\b\\d+[kKmMgGdshdwy]*\\b",r:0}].concat(b)};return{c:[a.HCM,{b:a.UIR+"\\s",e:";|{",rB:!0,c:[{cN:"title",b:a.UIR,starts:c}]}],i:"[^\\s\\}]"}}(hljs),hljs.LANGUAGES.php=function(a){var b={cN:"variable",b:"\\$+[a-zA-Z_-ÿ][a-zA-Z0-9_-ÿ]*"},c=[a.inherit(a.ASM,{i:null}),a.inherit(a.QSM,{i:null}),{cN:"string",b:'b"',e:'"',c:[a.BE]},{cN:"string",b:"b'",e:"'",c:[a.BE]}],d=[a.BNM,a.CNM],e={cN:"title",b:a.UIR};return{cI:!0,k:"and include_once list abstract global private echo interface as static endswitch array null if endwhile or const for endforeach self var while isset public protected exit foreach throw elseif include __FILE__ empty require_once do xor return implements parent clone use __CLASS__ __LINE__ else break print eval new catch __METHOD__ case exception php_user_filter default die require __FUNCTION__ enddeclare final try this switch continue endfor endif declare unset true false namespace trait goto instanceof insteadof __DIR__ __NAMESPACE__ __halt_compiler",c:[a.CLCM,a.HCM,{cN:"comment",b:"/\\*",e:"\\*/",c:[{cN:"phpdoc",b:"\\s@[A-Za-z]+"}]},{cN:"comment",eB:!0,b:"__halt_compiler.+?;",eW:!0},{cN:"string",b:"<<<['\"]?\\w+['\"]?$",e:"^\\w+;",c:[a.BE]},{cN:"preprocessor",b:"<\\?php",r:10},{cN:"preprocessor",b:"\\?>"},b,{cN:"function",bWK:!0,e:"{",k:"function",i:"\\$|\\[|%",c:[e,{cN:"params",b:"\\(",e:"\\)",c:["self",b,a.CBLCLM].concat(c).concat(d)}]},{cN:"class",bWK:!0,e:"{",k:"class",i:"[:\\(\\$]",c:[{bWK:!0,eW:!0,k:"extends",c:[e]},e]},{b:"=>"}].concat(c).concat(d)}}(hljs),hljs.LANGUAGES.cpp=function(a){var b={keyword:"false int float while private char catch export virtual operator sizeof dynamic_cast|10 typedef const_cast|10 const struct for static_cast|10 union namespace unsigned long throw volatile static protected bool template mutable if public friend do return goto auto void enum else break new extern using true class asm case typeid short reinterpret_cast|10 default double register explicit signed typename try this switch continue wchar_t inline delete alignof char16_t char32_t constexpr decltype noexcept nullptr static_assert thread_local restrict _Bool complex",built_in:"std string cin cout cerr clog stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap array shared_ptr"};return{k:b,i:"",k:b,r:10,c:["self"]}]}}(hljs),hljs.LANGUAGES.xml=function(){var a="[A-Za-z0-9\\._:-]+",b={eW:!0,c:[{cN:"attribute",b:a,r:0},{b:'="',rB:!0,e:'"',c:[{cN:"value",b:'"',eW:!0}]},{b:"='",rB:!0,e:"'",c:[{cN:"value",b:"'",eW:!0}]},{b:"=",c:[{cN:"value",b:"[^\\s/>]+"}]}]};return{cI:!0,c:[{cN:"pi",b:"<\\?",e:"\\?>",r:10},{cN:"doctype",b:"",r:10,c:[{b:"\\[",e:"\\]"}]},{cN:"comment",b:"",r:10},{cN:"cdata",b:"<\\!\\[CDATA\\[",e:"\\]\\]>",r:10},{cN:"tag",b:"|$)",e:">",k:{title:"style"},c:[b],starts:{e:"",rE:!0,sL:"css"}},{cN:"tag",b:"|$)",e:">",k:{title:"script"},c:[b],starts:{e:"",rE:!0,sL:"javascript"}},{b:"<%",e:"%>",sL:"vbscript"},{cN:"tag",b:"",c:[{cN:"title",b:"[^ />]+"},b]}]}}(hljs),hljs.LANGUAGES.parser3=function(a){return{sL:"xml",c:[{cN:"comment",b:"^#",e:"$"},{cN:"comment",b:"\\^rem{",e:"}",r:10,c:[{b:"{",e:"}",c:["self"]}]},{cN:"preprocessor",b:"^@(?:BASE|USE|CLASS|OPTIONS)$",r:10},{cN:"title",b:"@[\\w\\-]+\\[[\\w^;\\-]*\\](?:\\[[\\w^;\\-]*\\])?(?:.*)$"},{cN:"variable",b:"\\$\\{?[\\w\\-\\.\\:]+\\}?"},{cN:"keyword",b:"\\^[\\w\\-\\.\\:]+"},{cN:"number",b:"\\^#[0-9a-fA-F]+"},a.CNM]}}(hljs),hljs.LANGUAGES.css=function(a){var b={cN:"function",b:a.IR+"\\(",e:"\\)",c:[a.NM,a.ASM,a.QSM]};return{cI:!0,i:"[=/|']",c:[a.CBLCLM,{cN:"id",b:"\\#[A-Za-z0-9_-]+"},{cN:"class",b:"\\.[A-Za-z0-9_-]+",r:0},{cN:"attr_selector",b:"\\[",e:"\\]",i:"$"},{cN:"pseudo",b:":(:)?[a-zA-Z0-9\\_\\-\\+\\(\\)\\\"\\']+"},{cN:"at_rule",b:"@(font-face|page)",l:"[a-z-]+",k:"font-face page"},{cN:"at_rule",b:"@",e:"[{;]",eE:!0,k:"import page media charset",c:[b,a.ASM,a.QSM,a.NM]},{cN:"tag",b:a.IR,r:0},{cN:"rules",b:"{",e:"}",i:"[^\\s]",r:0,c:[a.CBLCLM,{cN:"rule",b:"[^\\s]",rB:!0,e:";",eW:!0,c:[{cN:"attribute",b:"[A-Z\\_\\.\\-]+",e:":",eE:!0,i:"[^\\s]",starts:{cN:"value",eW:!0,eE:!0,c:[b,a.NM,a.QSM,a.ASM,a.CBLCLM,{cN:"hexcolor",b:"\\#[0-9A-F]+"},{cN:"important",b:"!important"}]}}]}]}]}}(hljs),hljs.LANGUAGES.axapta=function(a){return{k:"false int abstract private char interface boolean static null if for true while long throw finally protected extends final implements return void enum else break new catch byte super class case short default double public try this switch continue reverse firstfast firstonly forupdate nofetch sum avg minof maxof count order group by asc desc index hint like dispaly edit client server ttsbegin ttscommit str real date container anytype common div mod",c:[a.CLCM,a.CBLCLM,a.ASM,a.QSM,a.CNM,{cN:"preprocessor",b:"#",e:"$"},{cN:"class",bWK:!0,e:"{",i:":",k:"class interface",c:[{cN:"inheritance",bWK:!0,k:"extends implements",r:10},{cN:"title",b:a.UIR}]}]}}(hljs),hljs.LANGUAGES.ini=function(a){return{cI:!0,i:"[^\\s]",c:[{cN:"comment",b:";",e:"$"},{cN:"title",b:"^\\[",e:"\\]"},{cN:"setting",b:"^[a-z0-9\\[\\]_-]+[ \\t]*=[ \\t]*",e:"$",c:[{cN:"value",eW:!0,k:"on off true false yes no",c:[a.QSM,a.NM]}]}]}}(hljs),hljs.LANGUAGES.matlab=function(a){var b=[a.CNM,{cN:"string",b:"'",e:"'",c:[a.BE,{b:"''"}],r:0}];return{k:{keyword:"break case catch classdef continue else elseif end enumerated events for function global if methods otherwise parfor persistent properties return spmd switch try while",built_in:"sin sind sinh asin asind asinh cos cosd cosh acos acosd acosh tan tand tanh atan atand atan2 atanh sec secd sech asec asecd asech csc cscd csch acsc acscd acsch cot cotd coth acot acotd acoth hypot exp expm1 log log1p log10 log2 pow2 realpow reallog realsqrt sqrt nthroot nextpow2 abs angle complex conj imag real unwrap isreal cplxpair fix floor ceil round mod rem sign airy besselj bessely besselh besseli besselk beta betainc betaln ellipj ellipke erf erfc erfcx erfinv expint gamma gammainc gammaln psi legendre cross dot factor isprime primes gcd lcm rat rats perms nchoosek factorial cart2sph cart2pol pol2cart sph2cart hsv2rgb rgb2hsv zeros ones eye repmat rand randn linspace logspace freqspace meshgrid accumarray size length ndims numel disp isempty isequal isequalwithequalnans cat reshape diag blkdiag tril triu fliplr flipud flipdim rot90 find sub2ind ind2sub bsxfun ndgrid permute ipermute shiftdim circshift squeeze isscalar isvector ans eps realmax realmin pi i inf nan isnan isinf isfinite j why compan gallery hadamard hankel hilb invhilb magic pascal rosser toeplitz vander wilkinson"},i:'(//|"|#|/\\*|\\s+/\\w+)',c:[{cN:"function",bWK:!0,e:"$",k:"function",c:[{cN:"title",b:a.UIR},{cN:"params",b:"\\(",e:"\\)"},{cN:"params",b:"\\[",e:"\\]"}]},{cN:"transposed_variable",b:"[a-zA-Z_][a-zA-Z_0-9]*('+[\\.']*|[\\.']+)",e:""},{cN:"matrix",b:"\\[",e:"\\]'*[\\.']*",c:b},{cN:"cell",b:"\\{",e:"\\}'*[\\.']*",c:b},{cN:"comment",b:"\\%",e:"$"}].concat(b)}}(hljs),hljs.LANGUAGES.d=function(a){var b={keyword:"abstract alias align asm assert auto body break byte case cast catch class const continue debug default delete deprecated do else enum export extern final finally for foreach foreach_reverse|10 goto if immutable import in inout int interface invariant is lazy macro mixin module new nothrow out override package pragma private protected public pure ref return scope shared static struct super switch synchronized template this throw try typedef typeid typeof union unittest version void volatile while with __FILE__ __LINE__ __gshared|10 __thread __traits __DATE__ __EOF__ __TIME__ __TIMESTAMP__ __VENDOR__ __VERSION__",built_in:"bool cdouble cent cfloat char creal dchar delegate double dstring float function idouble ifloat ireal long real short string ubyte ucent uint ulong ushort wchar wstring",literal:"false null true"},c="(0|[1-9][\\d_]*)",d="(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)",e="0[bB][01_]+",f="([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*)",g="0[xX]"+f,h="([eE][+-]?"+d+")",i="("+d+"(\\.\\d*|"+h+")|\\d+\\."+d+d+"|\\."+c+h+"?)",j="(0[xX]("+f+"\\."+f+"|\\.?"+f+")[pP][+-]?"+d+")",k="("+c+"|"+e+"|"+g+")",l="("+j+"|"+i+")",m="\\\\(['\"\\?\\\\abfnrtv]|u[\\dA-Fa-f]{4}|[0-7]{1,3}|x[\\dA-Fa-f]{2}|U[\\dA-Fa-f]{8})|&[a-zA-Z\\d]{2,};",n={cN:"number",b:"\\b"+k+"(L|u|U|Lu|LU|uL|UL)?",r:0},o={cN:"number",b:"\\b("+l+"([fF]|L|i|[fF]i|Li)?|"+k+"(i|[fF]i|Li))",r:0},p={cN:"string",b:"'("+m+"|.)",e:"'",i:"."},q={b:m,r:0},r={cN:"string",b:'"',c:[q],e:'"[cwd]?',r:0},s={cN:"string",b:'[rq]"',e:'"[cwd]?',r:5},t={cN:"string",b:"`",e:"`[cwd]?"},u={cN:"string",b:'x"[\\da-fA-F\\s\\n\\r]*"[cwd]?',r:10},v={cN:"string",b:'q"\\{',e:'\\}"'},w={cN:"shebang",b:"^#!",e:"$",r:5},x={cN:"preprocessor",b:"#(line)",e:"$",r:5},y={cN:"keyword",b:"@[a-zA-Z_][a-zA-Z_\\d]*"},z={cN:"comment",b:"\\/\\+",c:["self"],e:"\\+\\/",r:10};return{l:a.UIR,k:b,c:[a.CLCM,a.CBLCLM,z,u,r,s,t,v,o,n,p,w,x,y]}}(hljs),hljs.LANGUAGES.profile=function(a){return{c:[a.CNM,{cN:"builtin",b:"{",e:"}$",eB:!0,eE:!0,c:[a.ASM,a.QSM],r:0},{cN:"filename",b:"[a-zA-Z_][\\da-zA-Z_]+\\.[\\da-zA-Z_]{1,3}",e:":",eE:!0},{cN:"header",b:"(ncalls|tottime|cumtime)",e:"$",k:"ncalls tottime|10 cumtime|10 filename",r:10},{cN:"summary",b:"function calls",e:"$",c:[a.CNM],r:10},a.ASM,a.QSM,{cN:"function",b:"\\(",e:"\\)$",c:[{cN:"title",b:a.UIR,r:0}],r:0}]}}(hljs),hljs.LANGUAGES.javascript=function(a){return{k:{keyword:"in if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const",literal:"true false null undefined NaN Infinity"},c:[a.ASM,a.QSM,a.CLCM,a.CBLCLM,a.CNM,{b:"("+a.RSR+"|\\b(case|return|throw)\\b)\\s*",k:"return throw case",c:[a.CLCM,a.CBLCLM,{cN:"regexp",b:"/",e:"/[gim]*",i:"\\n",c:[{b:"\\\\/"}]},{b:"<",e:">;",sL:"xml"}],r:0},{cN:"function",bWK:!0,e:"{",k:"function",c:[{cN:"title",b:"[A-Za-z$_][0-9A-Za-z$_]*"},{cN:"params",b:"\\(",e:"\\)",c:[a.CLCM,a.CBLCLM],i:"[\"'\\(]"}],i:"\\[|%"}]}}(hljs),hljs.LANGUAGES.bash=function(a){var b="true false",c="if then else elif fi for break continue while in do done echo exit return set declare",d={cN:"variable",b:"\\$[a-zA-Z0-9_#]+"},e={cN:"variable",b:"\\${([^}]|\\\\})+}"},f={cN:"string",b:'"',e:'"',i:"\\n",c:[a.BE,d,e],r:0},g={cN:"string",b:"'",e:"'",c:[{b:"''"}],r:0},h={cN:"test_condition",b:"",e:"",c:[f,g,d,e],k:{literal:b},r:0};return{k:{keyword:c,literal:b},c:[{cN:"shebang",b:"(#!\\/bin\\/bash)|(#!\\/bin\\/sh)",r:10},d,e,a.HCM,f,g,a.inherit(h,{b:"\\[ ",e:" \\]",r:0}),a.inherit(h,{b:"\\[\\[ ",e:" \\]\\]"})]}}(hljs),hljs.LANGUAGES.django=function(a){function b(a,b){return void 0==b||!a.cN&&"tag"==b.cN||"value"==a.cN}function c(a,d){var f={};for(var g in a){"contains"!=g&&(f[g]=a[g]);for(var h=[],i=0;a.c&&i",sL:"xml",r:0},{cN:"bullet",b:"^([*+-]|(\\d+\\.))\\s+"},{cN:"strong",b:"[*_]{2}.+?[*_]{2}"},{cN:"emphasis",b:"\\*.+?\\*"},{cN:"emphasis",b:"_.+?_",r:0},{cN:"blockquote",b:"^>\\s+",e:"$"},{cN:"code",b:"`.+?`"},{cN:"code",b:"^ ",e:"$",r:0},{cN:"horizontal_rule",b:"^-{3,}",e:"$"},{b:"\\[.+?\\]\\(.+?\\)",rB:!0,c:[{cN:"link_label",b:"\\[.+\\]"},{cN:"link_url",b:"\\(",e:"\\)",eB:!0,eE:!0}]}]}}(hljs),hljs.LANGUAGES.diff=function(){return{c:[{cN:"chunk",b:"^\\@\\@ +\\-\\d+,\\d+ +\\+\\d+,\\d+ +\\@\\@$",r:10},{cN:"chunk",b:"^\\*\\*\\* +\\d+,\\d+ +\\*\\*\\*\\*$",r:10},{cN:"chunk",b:"^\\-\\-\\- +\\d+,\\d+ +\\-\\-\\-\\-$",r:10},{cN:"header",b:"Index: ",e:"$"},{cN:"header",b:"=====",e:"=====$"},{cN:"header",b:"^\\-\\-\\-",e:"$"},{cN:"header",b:"^\\*{3} ",e:"$"},{cN:"header",b:"^\\+\\+\\+",e:"$"},{cN:"header",b:"\\*{5}",e:"\\*{5}$"},{cN:"addition",b:"^\\+",e:"$"},{cN:"deletion",b:"^\\-",e:"$"},{cN:"change",b:"^\\!",e:"$"}]}}(hljs),hljs.LANGUAGES.json=function(a){var b={literal:"true false null"},c=[a.QSM,a.CNM],d={cN:"value",e:",",eW:!0,eE:!0,c:c,k:b},e={b:"{",e:"}",c:[{cN:"attribute",b:'\\s*"',e:'"\\s*:\\s*',eB:!0,eE:!0,c:[a.BE],i:"\\n",starts:d}],i:"\\S"},f={b:"\\[",e:"\\]",c:[a.inherit(d,{cN:null})],i:"\\S"};return c.splice(c.length,0,e,f),{c:c,k:b,i:"\\S"}}(hljs),hljs.LANGUAGES.vbscript=function(a){return{cI:!0,k:{keyword:"call class const dim do loop erase execute executeglobal exit for each next function if then else on error option explicit new private property let get public randomize redim rem select case set stop sub while wend with end to elseif is or xor and not class_initialize class_terminate default preserve in me byval byref step resume goto",built_in:"lcase month vartype instrrev ubound setlocale getobject rgb getref string weekdayname rnd dateadd monthname now day minute isarray cbool round formatcurrency conversions csng timevalue second year space abs clng timeserial fixs len asc isempty maths dateserial atn timer isobject filter weekday datevalue ccur isdate instr datediff formatdatetime replace isnull right sgn array snumeric log cdbl hex chr lbound msgbox ucase getlocale cos cdate cbyte rtrim join hour oct typename trim strcomp int createobject loadpicture tan formatnumber mid scriptenginebuildversion scriptengine split scriptengineminorversion cint sin datepart ltrim sqr scriptenginemajorversion time derived eval date formatpercent exp inputbox left ascw chrw regexp server response request cstr err",literal:"true false null nothing empty"},i:"//",c:[a.inherit(a.QSM,{c:[{b:'""'}]}),{cN:"comment",b:"'",e:"$"},a.CNM]}}(hljs),hljs.LANGUAGES.haskell=function(a){var b={cN:"type",b:"\\b[A-Z][\\w']*",r:0},c={cN:"container",b:"\\(",e:"\\)",c:[{cN:"type",b:"\\b[A-Z][\\w]*(\\((\\.\\.|,|\\w+)\\))?"},{cN:"title",b:"[_a-z][\\w']*"}]},d={cN:"container",b:"{",e:"}",c:c.c};return{k:"let in if then else case of where do module import hiding qualified type data newtype deriving class instance not as foreign ccall safe unsafe",c:[{cN:"comment",b:"--",e:"$"},{cN:"preprocessor",b:"{-#",e:"#-}"},{cN:"comment",c:["self"],b:"{-",e:"-}"},{cN:"string",b:"\\s+'",e:"'",c:[a.BE],r:0},a.QSM,{cN:"import",b:"\\bimport",e:"$",k:"import qualified as hiding",c:[c],i:"\\W\\.|;"},{cN:"module",b:"\\bmodule",e:"where",k:"module where",c:[c],i:"\\W\\.|;"},{cN:"class",b:"\\b(class|instance)",e:"where",k:"class where instance",c:[b]},{cN:"typedef",b:"\\b(data|(new)?type)",e:"$",k:"data type newtype deriving",c:[b,c,d]},a.CNM,{cN:"shebang",b:"#!\\/usr\\/bin\\/env runhaskell",e:"$"},b,{cN:"title",b:"^[_a-z][\\w']*"}]}}(hljs),hljs.LANGUAGES.coffeescript=function(a){var b={keyword:"in if for while finally new do return else break catch instanceof throw try this switch continue typeof delete debugger super then unless until loop of by when and or is isnt not",literal:"true false null undefined yes no on off ",reserved:"case default function var void with const let enum export import native __hasProp __extends __slice __bind __indexOf"},c="[A-Za-z$_][0-9A-Za-z$_]*",d={cN:"title",b:c},e={cN:"subst",b:"#\\{",e:"}",k:b,c:[a.BNM,a.CNM]};return{k:b,c:[a.BNM,a.CNM,a.ASM,{cN:"string",b:'"""',e:'"""',c:[a.BE,e]},{cN:"string",b:'"',e:'"',c:[a.BE,e],r:0},{cN:"comment",b:"###",e:"###"},a.HCM,{cN:"regexp",b:"///",e:"///",c:[a.HCM]},{cN:"regexp",b:"//[gim]*"},{cN:"regexp",b:"/\\S(\\\\.|[^\\n])*/[gim]*"},{b:"`",e:"`",eB:!0,eE:!0,sL:"javascript"},{cN:"function",b:c+"\\s*=\\s*(\\(.+\\))?\\s*[-=]>",rB:!0,c:[d,{cN:"params",b:"\\(",e:"\\)"}]},{cN:"class",bWK:!0,k:"class",e:"$",i:":",c:[{bWK:!0,k:"extends",eW:!0,i:":",c:[d]},d]},{cN:"property",b:"@"+c}]}}(hljs),hljs.LANGUAGES.python=function(a){var b={cN:"prompt",b:"^(>>>|\\.\\.\\.) "},c=[{cN:"string",b:"(u|b)?r?'''",e:"'''",c:[b],r:10},{cN:"string",b:'(u|b)?r?"""',e:'"""',c:[b],r:10},{cN:"string",b:"(u|r|ur)'",e:"'",c:[a.BE],r:10},{cN:"string",b:'(u|r|ur)"',e:'"',c:[a.BE],r:10},{cN:"string",b:"(b|br)'",e:"'",c:[a.BE]},{cN:"string",b:'(b|br)"',e:'"',c:[a.BE]}].concat([a.ASM,a.QSM]),d={cN:"title",b:a.UIR},e={cN:"params",b:"\\(",e:"\\)",c:["self",a.CNM,b].concat(c)},f={bWK:!0,e:":",i:"[${=;\\n]",c:[d,e],r:10};return{k:{keyword:"and elif is global as in if from raise for except finally print import pass return exec else break not with class assert yield try while continue del or def lambda nonlocal|10",built_in:"None True False Ellipsis NotImplemented"},i:"(|\\?)",c:c.concat([b,a.HCM,a.inherit(f,{cN:"function",k:"def"}),a.inherit(f,{cN:"class",k:"class"}),a.CNM,{cN:"decorator",b:"@",e:"$"},{b:"\\b(print|exec)\\("}])}}(hljs),hljs.LANGUAGES.cmake=function(a){return{cI:!0,k:"add_custom_command add_custom_target add_definitions add_dependencies add_executable add_library add_subdirectory add_test aux_source_directory break build_command cmake_minimum_required cmake_policy configure_file create_test_sourcelist define_property else elseif enable_language enable_testing endforeach endfunction endif endmacro endwhile execute_process export find_file find_library find_package find_path find_program fltk_wrap_ui foreach function get_cmake_property get_directory_property get_filename_component get_property get_source_file_property get_target_property get_test_property if include include_directories include_external_msproject include_regular_expression install link_directories load_cache load_command macro mark_as_advanced message option output_required_files project qt_wrap_cpp qt_wrap_ui remove_definitions return separate_arguments set set_directory_properties set_property set_source_files_properties set_target_properties set_tests_properties site_name source_group string target_link_libraries try_compile try_run unset variable_watch while build_name exec_program export_library_dependencies install_files install_programs install_targets link_libraries make_directory remove subdir_depends subdirs use_mangled_mesa utility_source variable_requires write_file",c:[{cN:"envvar",b:"\\${",e:"}"},a.HCM,a.QSM,a.NM]}}(hljs),hljs.LANGUAGES.lua=function(a){var b="\\[=*\\[",c="\\]=*\\]",d={b:b,e:c,c:["self"]},e=[{cN:"comment",b:"--(?!"+b+")",e:"$"},{cN:"comment",b:"--"+b,e:c,c:[d],r:10}];return{l:a.UIR,k:{keyword:"and break do else elseif end false for if in local nil not or repeat return then true until while",built_in:"_G _VERSION assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall coroutine debug io math os package string table"},c:e.concat([{cN:"function",bWK:!0,e:"\\)",k:"function",c:[{cN:"title",b:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"},{cN:"params",b:"\\(",eW:!0,c:e}].concat(e)},a.CNM,a.ASM,a.QSM,{cN:"string",b:b,e:c,c:[d],r:10}])}}(hljs),hljs.LANGUAGES.r=function(a){var b="([a-zA-Z]|\\.[a-zA-Z.])[a-zA-Z0-9._]*";return{c:[a.HCM,{b:b,l:b,k:{keyword:"function if in break next repeat else for return switch while try tryCatch|10 stop warning require library attach detach source setMethod setGeneric setGroupGeneric setClass ...|10",literal:"NULL NA TRUE FALSE T F Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10"},r:0},{cN:"number",b:"0[xX][0-9a-fA-F]+[Li]?\\b",r:0},{cN:"number",b:"\\d+(?:[eE][+\\-]?\\d*)?L\\b",r:0},{cN:"number",b:"\\d+\\.(?!\\d)(?:i\\b)?",r:0},{cN:"number",b:"\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d*)?i?\\b",r:0},{cN:"number",b:"\\.\\d+(?:[eE][+\\-]?\\d*)?i?\\b",r:0},{b:"`",e:"`",r:0},{cN:"string",b:'"',e:'"',c:[a.BE],r:0},{cN:"string",b:"'",e:"'",c:[a.BE],r:0}]}}(hljs),hljs.LANGUAGES.http=function(){return{i:"\\S",c:[{cN:"status",b:"^HTTP/[0-9\\.]+",e:"$",c:[{cN:"number",b:"\\b\\d{3}\\b"}]},{cN:"request",b:"^[A-Z]+ (.*?) HTTP/[0-9\\.]+$",rB:!0,e:"$",c:[{cN:"string",b:" ",e:" ",eB:!0,eE:!0}]},{cN:"attribute",b:"^\\w",e:": ",eE:!0,i:"\\n|\\s|=",starts:{cN:"string",e:"$"}},{b:"\\n\\n",starts:{sL:"",eW:!0}}]}}(hljs),hljs.LANGUAGES.mel=function(a){return{k:"int float string vector matrix if else switch case default while do for in break continue global proc return about abs addAttr addAttributeEditorNodeHelp addDynamic addNewShelfTab addPP addPanelCategory addPrefixToName advanceToNextDrivenKey affectedNet affects aimConstraint air alias aliasAttr align alignCtx alignCurve alignSurface allViewFit ambientLight angle angleBetween animCone animCurveEditor animDisplay animView annotate appendStringArray applicationName applyAttrPreset applyTake arcLenDimContext arcLengthDimension arclen arrayMapper art3dPaintCtx artAttrCtx artAttrPaintVertexCtx artAttrSkinPaintCtx artAttrTool artBuildPaintMenu artFluidAttrCtx artPuttyCtx artSelectCtx artSetPaintCtx artUserPaintCtx assignCommand assignInputDevice assignViewportFactories attachCurve attachDeviceAttr attachSurface attrColorSliderGrp attrCompatibility attrControlGrp attrEnumOptionMenu attrEnumOptionMenuGrp attrFieldGrp attrFieldSliderGrp attrNavigationControlGrp attrPresetEditWin attributeExists attributeInfo attributeMenu attributeQuery autoKeyframe autoPlace bakeClip bakeFluidShading bakePartialHistory bakeResults bakeSimulation basename basenameEx batchRender bessel bevel bevelPlus binMembership bindSkin blend2 blendShape blendShapeEditor blendShapePanel blendTwoAttr blindDataType boneLattice boundary boxDollyCtx boxZoomCtx bufferCurve buildBookmarkMenu buildKeyframeMenu button buttonManip CBG cacheFile cacheFileCombine cacheFileMerge cacheFileTrack camera cameraView canCreateManip canvas capitalizeString catch catchQuiet ceil changeSubdivComponentDisplayLevel changeSubdivRegion channelBox character characterMap characterOutlineEditor characterize chdir checkBox checkBoxGrp checkDefaultRenderGlobals choice circle circularFillet clamp clear clearCache clip clipEditor clipEditorCurrentTimeCtx clipSchedule clipSchedulerOutliner clipTrimBefore closeCurve closeSurface cluster cmdFileOutput cmdScrollFieldExecuter cmdScrollFieldReporter cmdShell coarsenSubdivSelectionList collision color colorAtPoint colorEditor colorIndex colorIndexSliderGrp colorSliderButtonGrp colorSliderGrp columnLayout commandEcho commandLine commandPort compactHairSystem componentEditor compositingInterop computePolysetVolume condition cone confirmDialog connectAttr connectControl connectDynamic connectJoint connectionInfo constrain constrainValue constructionHistory container containsMultibyte contextInfo control convertFromOldLayers convertIffToPsd convertLightmap convertSolidTx convertTessellation convertUnit copyArray copyFlexor copyKey copySkinWeights cos cpButton cpCache cpClothSet cpCollision cpConstraint cpConvClothToMesh cpForces cpGetSolverAttr cpPanel cpProperty cpRigidCollisionFilter cpSeam cpSetEdit cpSetSolverAttr cpSolver cpSolverTypes cpTool cpUpdateClothUVs createDisplayLayer createDrawCtx createEditor createLayeredPsdFile createMotionField createNewShelf createNode createRenderLayer createSubdivRegion cross crossProduct ctxAbort ctxCompletion ctxEditMode ctxTraverse currentCtx currentTime currentTimeCtx currentUnit currentUnit curve curveAddPtCtx curveCVCtx curveEPCtx curveEditorCtx curveIntersect curveMoveEPCtx curveOnSurface curveSketchCtx cutKey cycleCheck cylinder dagPose date defaultLightListCheckBox defaultNavigation defineDataServer defineVirtualDevice deformer deg_to_rad delete deleteAttr deleteShadingGroupsAndMaterials deleteShelfTab deleteUI deleteUnusedBrushes delrandstr detachCurve detachDeviceAttr detachSurface deviceEditor devicePanel dgInfo dgdirty dgeval dgtimer dimWhen directKeyCtx directionalLight dirmap dirname disable disconnectAttr disconnectJoint diskCache displacementToPoly displayAffected displayColor displayCull displayLevelOfDetail displayPref displayRGBColor displaySmoothness displayStats displayString displaySurface distanceDimContext distanceDimension doBlur dolly dollyCtx dopeSheetEditor dot dotProduct doubleProfileBirailSurface drag dragAttrContext draggerContext dropoffLocator duplicate duplicateCurve duplicateSurface dynCache dynControl dynExport dynExpression dynGlobals dynPaintEditor dynParticleCtx dynPref dynRelEdPanel dynRelEditor dynamicLoad editAttrLimits editDisplayLayerGlobals editDisplayLayerMembers editRenderLayerAdjustment editRenderLayerGlobals editRenderLayerMembers editor editorTemplate effector emit emitter enableDevice encodeString endString endsWith env equivalent equivalentTol erf error eval eval evalDeferred evalEcho event exactWorldBoundingBox exclusiveLightCheckBox exec executeForEachObject exists exp expression expressionEditorListen extendCurve extendSurface extrude fcheck fclose feof fflush fgetline fgetword file fileBrowserDialog fileDialog fileExtension fileInfo filetest filletCurve filter filterCurve filterExpand filterStudioImport findAllIntersections findAnimCurves findKeyframe findMenuItem findRelatedSkinCluster finder firstParentOf fitBspline flexor floatEq floatField floatFieldGrp floatScrollBar floatSlider floatSlider2 floatSliderButtonGrp floatSliderGrp floor flow fluidCacheInfo fluidEmitter fluidVoxelInfo flushUndo fmod fontDialog fopen formLayout format fprint frameLayout fread freeFormFillet frewind fromNativePath fwrite gamma gauss geometryConstraint getApplicationVersionAsFloat getAttr getClassification getDefaultBrush getFileList getFluidAttr getInputDeviceRange getMayaPanelTypes getModifiers getPanel getParticleAttr getPluginResource getenv getpid glRender glRenderEditor globalStitch gmatch goal gotoBindPose grabColor gradientControl gradientControlNoAttr graphDollyCtx graphSelectContext graphTrackCtx gravity grid gridLayout group groupObjectsByName HfAddAttractorToAS HfAssignAS HfBuildEqualMap HfBuildFurFiles HfBuildFurImages HfCancelAFR HfConnectASToHF HfCreateAttractor HfDeleteAS HfEditAS HfPerformCreateAS HfRemoveAttractorFromAS HfSelectAttached HfSelectAttractors HfUnAssignAS hardenPointCurve hardware hardwareRenderPanel headsUpDisplay headsUpMessage help helpLine hermite hide hilite hitTest hotBox hotkey hotkeyCheck hsv_to_rgb hudButton hudSlider hudSliderButton hwReflectionMap hwRender hwRenderLoad hyperGraph hyperPanel hyperShade hypot iconTextButton iconTextCheckBox iconTextRadioButton iconTextRadioCollection iconTextScrollList iconTextStaticLabel ikHandle ikHandleCtx ikHandleDisplayScale ikSolver ikSplineHandleCtx ikSystem ikSystemInfo ikfkDisplayMethod illustratorCurves image imfPlugins inheritTransform insertJoint insertJointCtx insertKeyCtx insertKnotCurve insertKnotSurface instance instanceable instancer intField intFieldGrp intScrollBar intSlider intSliderGrp interToUI internalVar intersect iprEngine isAnimCurve isConnected isDirty isParentOf isSameObject isTrue isValidObjectName isValidString isValidUiName isolateSelect itemFilter itemFilterAttr itemFilterRender itemFilterType joint jointCluster jointCtx jointDisplayScale jointLattice keyTangent keyframe keyframeOutliner keyframeRegionCurrentTimeCtx keyframeRegionDirectKeyCtx keyframeRegionDollyCtx keyframeRegionInsertKeyCtx keyframeRegionMoveKeyCtx keyframeRegionScaleKeyCtx keyframeRegionSelectKeyCtx keyframeRegionSetKeyCtx keyframeRegionTrackCtx keyframeStats lassoContext lattice latticeDeformKeyCtx launch launchImageEditor layerButton layeredShaderPort layeredTexturePort layout layoutDialog lightList lightListEditor lightListPanel lightlink lineIntersection linearPrecision linstep listAnimatable listAttr listCameras listConnections listDeviceAttachments listHistory listInputDeviceAxes listInputDeviceButtons listInputDevices listMenuAnnotation listNodeTypes listPanelCategories listRelatives listSets listTransforms listUnselected listerEditor loadFluid loadNewShelf loadPlugin loadPluginLanguageResources loadPrefObjects localizedPanelLabel lockNode loft log longNameOf lookThru ls lsThroughFilter lsType lsUI Mayatomr mag makeIdentity makeLive makePaintable makeRoll makeSingleSurface makeTubeOn makebot manipMoveContext manipMoveLimitsCtx manipOptions manipRotateContext manipRotateLimitsCtx manipScaleContext manipScaleLimitsCtx marker match max memory menu menuBarLayout menuEditor menuItem menuItemToShelf menuSet menuSetPref messageLine min minimizeApp mirrorJoint modelCurrentTimeCtx modelEditor modelPanel mouse movIn movOut move moveIKtoFK moveKeyCtx moveVertexAlongDirection multiProfileBirailSurface mute nParticle nameCommand nameField namespace namespaceInfo newPanelItems newton nodeCast nodeIconButton nodeOutliner nodePreset nodeType noise nonLinear normalConstraint normalize nurbsBoolean nurbsCopyUVSet nurbsCube nurbsEditUV nurbsPlane nurbsSelect nurbsSquare nurbsToPoly nurbsToPolygonsPref nurbsToSubdiv nurbsToSubdivPref nurbsUVSet nurbsViewDirectionVector objExists objectCenter objectLayer objectType objectTypeUI obsoleteProc oceanNurbsPreviewPlane offsetCurve offsetCurveOnSurface offsetSurface openGLExtension openMayaPref optionMenu optionMenuGrp optionVar orbit orbitCtx orientConstraint outlinerEditor outlinerPanel overrideModifier paintEffectsDisplay pairBlend palettePort paneLayout panel panelConfiguration panelHistory paramDimContext paramDimension paramLocator parent parentConstraint particle particleExists particleInstancer particleRenderInfo partition pasteKey pathAnimation pause pclose percent performanceOptions pfxstrokes pickWalk picture pixelMove planarSrf plane play playbackOptions playblast plugAttr plugNode pluginInfo pluginResourceUtil pointConstraint pointCurveConstraint pointLight pointMatrixMult pointOnCurve pointOnSurface pointPosition poleVectorConstraint polyAppend polyAppendFacetCtx polyAppendVertex polyAutoProjection polyAverageNormal polyAverageVertex polyBevel polyBlendColor polyBlindData polyBoolOp polyBridgeEdge polyCacheMonitor polyCheck polyChipOff polyClipboard polyCloseBorder polyCollapseEdge polyCollapseFacet polyColorBlindData polyColorDel polyColorPerVertex polyColorSet polyCompare polyCone polyCopyUV polyCrease polyCreaseCtx polyCreateFacet polyCreateFacetCtx polyCube polyCut polyCutCtx polyCylinder polyCylindricalProjection polyDelEdge polyDelFacet polyDelVertex polyDuplicateAndConnect polyDuplicateEdge polyEditUV polyEditUVShell polyEvaluate polyExtrudeEdge polyExtrudeFacet polyExtrudeVertex polyFlipEdge polyFlipUV polyForceUV polyGeoSampler polyHelix polyInfo polyInstallAction polyLayoutUV polyListComponentConversion polyMapCut polyMapDel polyMapSew polyMapSewMove polyMergeEdge polyMergeEdgeCtx polyMergeFacet polyMergeFacetCtx polyMergeUV polyMergeVertex polyMirrorFace polyMoveEdge polyMoveFacet polyMoveFacetUV polyMoveUV polyMoveVertex polyNormal polyNormalPerVertex polyNormalizeUV polyOptUvs polyOptions polyOutput polyPipe polyPlanarProjection polyPlane polyPlatonicSolid polyPoke polyPrimitive polyPrism polyProjection polyPyramid polyQuad polyQueryBlindData polyReduce polySelect polySelectConstraint polySelectConstraintMonitor polySelectCtx polySelectEditCtx polySeparate polySetToFaceNormal polySewEdge polyShortestPathCtx polySmooth polySoftEdge polySphere polySphericalProjection polySplit polySplitCtx polySplitEdge polySplitRing polySplitVertex polyStraightenUVBorder polySubdivideEdge polySubdivideFacet polyToSubdiv polyTorus polyTransfer polyTriangulate polyUVSet polyUnite polyWedgeFace popen popupMenu pose pow preloadRefEd print progressBar progressWindow projFileViewer projectCurve projectTangent projectionContext projectionManip promptDialog propModCtx propMove psdChannelOutliner psdEditTextureFile psdExport psdTextureFile putenv pwd python querySubdiv quit rad_to_deg radial radioButton radioButtonGrp radioCollection radioMenuItemCollection rampColorPort rand randomizeFollicles randstate rangeControl readTake rebuildCurve rebuildSurface recordAttr recordDevice redo reference referenceEdit referenceQuery refineSubdivSelectionList refresh refreshAE registerPluginResource rehash reloadImage removeJoint removeMultiInstance removePanelCategory rename renameAttr renameSelectionList renameUI render renderGlobalsNode renderInfo renderLayerButton renderLayerParent renderLayerPostProcess renderLayerUnparent renderManip renderPartition renderQualityNode renderSettings renderThumbnailUpdate renderWindowEditor renderWindowSelectContext renderer reorder reorderDeformers requires reroot resampleFluid resetAE resetPfxToPolyCamera resetTool resolutionNode retarget reverseCurve reverseSurface revolve rgb_to_hsv rigidBody rigidSolver roll rollCtx rootOf rot rotate rotationInterpolation roundConstantRadius rowColumnLayout rowLayout runTimeCommand runup sampleImage saveAllShelves saveAttrPreset saveFluid saveImage saveInitialState saveMenu savePrefObjects savePrefs saveShelf saveToolSettings scale scaleBrushBrightness scaleComponents scaleConstraint scaleKey scaleKeyCtx sceneEditor sceneUIReplacement scmh scriptCtx scriptEditorInfo scriptJob scriptNode scriptTable scriptToShelf scriptedPanel scriptedPanelType scrollField scrollLayout sculpt searchPathArray seed selLoadSettings select selectContext selectCurveCV selectKey selectKeyCtx selectKeyframeRegionCtx selectMode selectPref selectPriority selectType selectedNodes selectionConnection separator setAttr setAttrEnumResource setAttrMapping setAttrNiceNameResource setConstraintRestPosition setDefaultShadingGroup setDrivenKeyframe setDynamic setEditCtx setEditor setFluidAttr setFocus setInfinity setInputDeviceMapping setKeyCtx setKeyPath setKeyframe setKeyframeBlendshapeTargetWts setMenuMode setNodeNiceNameResource setNodeTypeFlag setParent setParticleAttr setPfxToPolyCamera setPluginResource setProject setStampDensity setStartupMessage setState setToolTo setUITemplate setXformManip sets shadingConnection shadingGeometryRelCtx shadingLightRelCtx shadingNetworkCompare shadingNode shapeCompare shelfButton shelfLayout shelfTabLayout shellField shortNameOf showHelp showHidden showManipCtx showSelectionInTitle showShadingGroupAttrEditor showWindow sign simplify sin singleProfileBirailSurface size sizeBytes skinCluster skinPercent smoothCurve smoothTangentSurface smoothstep snap2to2 snapKey snapMode snapTogetherCtx snapshot soft softMod softModCtx sort sound soundControl source spaceLocator sphere sphrand spotLight spotLightPreviewPort spreadSheetEditor spring sqrt squareSurface srtContext stackTrace startString startsWith stitchAndExplodeShell stitchSurface stitchSurfacePoints strcmp stringArrayCatenate stringArrayContains stringArrayCount stringArrayInsertAtIndex stringArrayIntersector stringArrayRemove stringArrayRemoveAtIndex stringArrayRemoveDuplicates stringArrayRemoveExact stringArrayToString stringToStringArray strip stripPrefixFromName stroke subdAutoProjection subdCleanTopology subdCollapse subdDuplicateAndConnect subdEditUV subdListComponentConversion subdMapCut subdMapSewMove subdMatchTopology subdMirror subdToBlind subdToPoly subdTransferUVsToCache subdiv subdivCrease subdivDisplaySmoothness substitute substituteAllString substituteGeometry substring surface surfaceSampler surfaceShaderList swatchDisplayPort switchTable symbolButton symbolCheckBox sysFile system tabLayout tan tangentConstraint texLatticeDeformContext texManipContext texMoveContext texMoveUVShellContext texRotateContext texScaleContext texSelectContext texSelectShortestPathCtx texSmudgeUVContext texWinToolCtx text textCurves textField textFieldButtonGrp textFieldGrp textManip textScrollList textToShelf textureDisplacePlane textureHairColor texturePlacementContext textureWindow threadCount threePointArcCtx timeControl timePort timerX toNativePath toggle toggleAxis toggleWindowVisibility tokenize tokenizeList tolerance tolower toolButton toolCollection toolDropped toolHasOptions toolPropertyWindow torus toupper trace track trackCtx transferAttributes transformCompare transformLimits translator trim trunc truncateFluidCache truncateHairCache tumble tumbleCtx turbulence twoPointArcCtx uiRes uiTemplate unassignInputDevice undo undoInfo ungroup uniform unit unloadPlugin untangleUV untitledFileName untrim upAxis updateAE userCtx uvLink uvSnapshot validateShelfName vectorize view2dToolCtx viewCamera viewClipPlane viewFit viewHeadOn viewLookAt viewManip viewPlace viewSet visor volumeAxis vortex waitCursor warning webBrowser webBrowserPrefs whatIs window windowPref wire wireContext workspace wrinkle wrinkleContext writeTake xbmLangPathList xform",i:"this.$items.length-1||0>b?void 0:this.sliding?this.$element.one("slid",function(){c.to(b)}):d==b?this.pause().cycle():this.slide(b>d?"next":"prev",a(this.$items[b]))},b.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition.end&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},b.prototype.next=function(){return this.sliding?void 0:this.slide("next")},b.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},b.prototype.slide=function(b,c){var d=this.$element.find(".item.active"),e=c||d[b](),f=this.interval,g="next"==b?"left":"right",h="next"==b?"first":"last",i=this;if(!e.length){if(!this.options.wrap)return;e=this.$element.find(".item")[h]()}this.sliding=!0,f&&this.pause();var j=a.Event("slide.bs.carousel",{relatedTarget:e[0],direction:g});if(!e.hasClass("active")){if(this.$indicators.length&&(this.$indicators.find(".active").removeClass("active"),this.$element.one("slid",function(){var b=a(i.$indicators.children()[i.getActiveIndex()]);b&&b.addClass("active")})),a.support.transition&&this.$element.hasClass("slide")){if(this.$element.trigger(j),j.isDefaultPrevented())return;e.addClass(b),e[0].offsetWidth,d.addClass(g),e.addClass(g),d.one(a.support.transition.end,function(){e.removeClass([b,g].join(" ")).addClass("active"),d.removeClass(["active",g].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger("slid")},0)}).emulateTransitionEnd(600)}else{if(this.$element.trigger(j),j.isDefaultPrevented())return;d.removeClass("active"),e.addClass("active"),this.sliding=!1,this.$element.trigger("slid")}return f&&this.cycle(),this}};var c=a.fn.carousel;a.fn.carousel=function(c){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},b.DEFAULTS,d.data(),"object"==typeof c&&c),g="string"==typeof c?c:f.slide;e||d.data("bs.carousel",e=new b(this,f)),"number"==typeof c?e.to(c):g?e[g]():f.interval&&e.pause().cycle()})},a.fn.carousel.Constructor=b,a.fn.carousel.noConflict=function(){return a.fn.carousel=c,this},a(document).on("click.bs.carousel.data-api","[data-slide], [data-slide-to]",function(b){var c,d=a(this),e=a(d.attr("data-target")||(c=d.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"")),f=a.extend({},e.data(),d.data()),g=d.attr("data-slide-to");g&&(f.interval=!1),e.carousel(f),(g=d.attr("data-slide-to"))&&e.data("bs.carousel").to(g),b.preventDefault()}),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var b=a(this);b.carousel(b.data())})})}(window.jQuery),+function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d),this.transitioning=null,this.options.parent&&(this.$parent=a(this.options.parent)),this.options.toggle&&this.toggle()};b.DEFAULTS={toggle:!0},b.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},b.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b=a.Event("show.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.$parent&&this.$parent.find("> .panel > .in");if(c&&c.length){var d=c.data("bs.collapse");if(d&&d.transitioning)return;c.collapse("hide"),d||c.data("bs.collapse",null)}var e=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[e](0),this.transitioning=1;var f=function(){this.$element.removeClass("collapsing").addClass("in")[e]("auto"),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return f.call(this);var g=a.camelCase(["scroll",e].join("-"));this.$element.one(a.support.transition.end,a.proxy(f,this)).emulateTransitionEnd(350)[e](this.$element[0][g])}}},b.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse").removeClass("in"),this.transitioning=1;var d=function(){this.transitioning=0,this.$element.trigger("hidden.bs.collapse").removeClass("collapsing").addClass("collapse")};return a.support.transition?void this.$element[c](0).one(a.support.transition.end,a.proxy(d,this)).emulateTransitionEnd(350):d.call(this)}}},b.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()};var c=a.fn.collapse;a.fn.collapse=function(c){return this.each(function(){var d=a(this),e=d.data("bs.collapse"),f=a.extend({},b.DEFAULTS,d.data(),"object"==typeof c&&c);e||d.data("bs.collapse",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.collapse.Constructor=b,a.fn.collapse.noConflict=function(){return a.fn.collapse=c,this},a(document).on("click.bs.collapse.data-api","[data-toggle=collapse]",function(b){var c,d=a(this),e=d.attr("data-target")||b.preventDefault()||(c=d.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,""),f=a(e),g=f.data("bs.collapse"),h=g?"toggle":d.data(),i=d.attr("data-parent"),j=i&&a(i);g&&g.transitioning||(j&&j.find('[data-toggle=collapse][data-parent="'+i+'"]').not(d).addClass("collapsed"),d[f.hasClass("in")?"addClass":"removeClass"]("collapsed")),f.collapse(h)})}(window.jQuery),+function(a){"use strict";function b(){a(d).remove(),a(e).each(function(b){var d=c(a(this));d.hasClass("open")&&(d.trigger(b=a.Event("hide.bs.dropdown")),b.isDefaultPrevented()||d.removeClass("open").trigger("hidden.bs.dropdown"))})}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}var d=".dropdown-backdrop",e="[data-toggle=dropdown]",f=function(b){a(b).on("click.bs.dropdown",this.toggle)};f.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){if("ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(''}),b.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),b.prototype.constructor=b,b.prototype.getDefaults=function(){return b.DEFAULTS},b.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content")[this.options.html?"html":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},b.prototype.hasContent=function(){return this.getTitle()||this.getContent()},b.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},b.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")},b.prototype.tip=function(){return this.$tip||(this.$tip=a(this.options.template)),this.$tip};var c=a.fn.popover;a.fn.popover=function(c){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof c&&c;e||d.data("bs.popover",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.popover.Constructor=b,a.fn.popover.noConflict=function(){return a.fn.popover=c,this}}(window.jQuery),+function(a){"use strict";function b(c,d){var e,f=a.proxy(this.process,this);this.$element=a(a(c).is("body")?window:c),this.$body=a("body"),this.$scrollElement=this.$element.on("scroll.bs.scroll-spy.data-api",f),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||(e=a(c).attr("href"))&&e.replace(/.*(?=#[^\s]+$)/,"")||"")+" .nav li > a",this.offsets=a([]),this.targets=a([]),this.activeTarget=null,this.refresh(),this.process()}b.DEFAULTS={offset:10},b.prototype.refresh=function(){var b=this.$element[0]==window?"offset":"position";this.offsets=a([]),this.targets=a([]);{var c=this;this.$body.find(this.selector).map(function(){var d=a(this),e=d.data("target")||d.attr("href"),f=/^#\w/.test(e)&&a(e);return f&&f.length&&[[f[b]().top+(!a.isWindow(c.$scrollElement.get(0))&&c.$scrollElement.scrollTop()),e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){c.offsets.push(this[0]),c.targets.push(this[1])})}},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.$scrollElement[0].scrollHeight||this.$body[0].scrollHeight,d=c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(b>=d)return g!=(a=f.last()[0])&&this.activate(a);for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(!e[a+1]||b<=e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){this.activeTarget=b,a(this.selector).parents(".active").removeClass("active");var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),d.trigger("activate")};var c=a.fn.scrollspy;a.fn.scrollspy=function(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=c,this},a(window).on("load",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);b.scrollspy(b.data())})})}(window.jQuery),+function(a){"use strict";var b=function(b){this.element=a(b)};b.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.attr("data-target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.find(".active:last a")[0],f=a.Event("show.bs.tab",{relatedTarget:e});if(b.trigger(f),!f.isDefaultPrevented()){var g=a(d);this.activate(b.parent("li"),c),this.activate(g,g.parent(),function(){b.trigger({type:"shown.bs.tab",relatedTarget:e})})}}},b.prototype.activate=function(b,c,d){function e(){f.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"),b.addClass("active"),g?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu")&&b.closest("li.dropdown").addClass("active"),d&&d()}var f=c.find("> .active"),g=d&&a.support.transition&&f.hasClass("fade");g?f.one(a.support.transition.end,e).emulateTransitionEnd(150):e(),f.removeClass("in")};var c=a.fn.tab;a.fn.tab=function(c){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new b(this)),"string"==typeof c&&e[c]()})},a.fn.tab.Constructor=b,a.fn.tab.noConflict=function(){return a.fn.tab=c,this},a(document).on("click.bs.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(b){b.preventDefault(),a(this).tab("show")})}(window.jQuery),+function(a){"use strict";var b=function(c,d){this.options=a.extend({},b.DEFAULTS,d),this.$window=a(window).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(c),this.affixed=this.unpin=null,this.checkPosition()};b.RESET="affix affix-top affix-bottom",b.DEFAULTS={offset:0},b.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},b.prototype.checkPosition=function(){if(this.$element.is(":visible")){var c=a(document).height(),d=this.$window.scrollTop(),e=this.$element.offset(),f=this.options.offset,g=f.top,h=f.bottom;"object"!=typeof f&&(h=g=f),"function"==typeof g&&(g=f.top()),"function"==typeof h&&(h=f.bottom());var i=null!=this.unpin&&d+this.unpin<=e.top?!1:null!=h&&e.top+this.$element.height()>=c-h?"bottom":null!=g&&g>=d?"top":!1;this.affixed!==i&&(this.unpin&&this.$element.css("top",""),this.affixed=i,this.unpin="bottom"==i?e.top-d:null,this.$element.removeClass(b.RESET).addClass("affix"+(i?"-"+i:"")),"bottom"==i&&this.$element.offset({top:document.body.offsetHeight-h-this.$element.height()}))}};var c=a.fn.affix;a.fn.affix=function(c){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof c&&c;e||d.data("bs.affix",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.affix.Constructor=b,a.fn.affix.noConflict=function(){return a.fn.affix=c,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var b=a(this),c=b.data();c.offset=c.offset||{},c.offsetBottom&&(c.offset.bottom=c.offsetBottom),c.offsetTop&&(c.offset.top=c.offsetTop),b.affix(c)})})}(window.jQuery); \ No newline at end of file From ae6dbce74df38613b805b7a7592014b9cb5f6263 Mon Sep 17 00:00:00 2001 From: danshapir Date: Sun, 22 Feb 2015 20:48:52 +0200 Subject: [PATCH 08/24] Add options and vertical center --- .../components/BsModalComponent.coffee | 109 +++++++++----- dist/js/bs-modal.max.js | 137 ++++++++++-------- dist/js/bs-modal.min.js | 2 +- dist/showcase/scripts/showcase.js | 5 +- 4 files changed, 145 insertions(+), 108 deletions(-) diff --git a/app/scripts/components/BsModalComponent.coffee b/app/scripts/components/BsModalComponent.coffee index 185238e..a79d24e 100644 --- a/app/scripts/components/BsModalComponent.coffee +++ b/app/scripts/components/BsModalComponent.coffee @@ -1,6 +1,29 @@ ### Modal component. ### + +Bootstrap.adjustModalMaxHeightAndPosition = -> + console.log "adju" + Ember.$(".modal").each -> + Ember.$(this).show() if Ember.$(this).hasClass("in") is false + contentHeight = Ember.$(window).height() - 60 + headerHeight = Ember.$(this).find(".modal-header").outerHeight() or 2 + footerHeight = Ember.$(this).find(".modal-footer").outerHeight() or 2 + Ember.$(this).find(".modal-content").css "max-height": -> + contentHeight + + Ember.$(this).find(".modal-body").css "max-height": -> + contentHeight - (headerHeight + footerHeight) + + Ember.$(this).find(".modal-dialog").addClass("modal-dialog-center").css + "margin-top": -> + -(Ember.$(this).outerHeight() / 2) + + "margin-left": -> + -(Ember.$(this).outerWidth() / 2) + + Ember.$(this).hide() if Ember.$(this).hasClass("in") is false + Bootstrap.BsModalComponent = Ember.Component.extend(Ember.Evented, layoutName: 'components/bs-modal' classNames: ['modal'] @@ -140,7 +163,7 @@ Bootstrap.ModalManager = Ember.Object.create( toggle: (name) -> @get(name).toggle() - confirm: (controller, title, message, confirmButtonTitle = "Confirm", confirmButtonEvent = "modalConfirmed",confirmButtonType = null, cancelButtonTitle = "Cancel", cancelButtonEvent = "modalCanceled",cancelButtonType = null, targetObj = controller, fade = true, fullSizeButtons = false) -> + confirm: (controller, title, message, options, confirmButtonTitle = "Confirm", confirmButtonEvent = "modalConfirmed",confirmButtonType = null, cancelButtonTitle = "Cancel", cancelButtonEvent = "modalCanceled",cancelButtonType = null) -> body = Ember.View.extend( template: Ember.Handlebars.compile(message || "Are you sure you would like to perform this action?") ) @@ -148,64 +171,72 @@ Bootstrap.ModalManager = Ember.Object.create( Ember.Object.create({title: confirmButtonTitle, clicked: confirmButtonEvent, type: confirmButtonType, dismiss: 'modal'}) Ember.Object.create({title: cancelButtonTitle, clicked: cancelButtonEvent, type: cancelButtonType, dismiss: 'modal'}) ] - @open('confirm-modal', title || 'Confirmation required!', body, buttons, controller, fade, fullSizeButtons, targetObj) + @open('confirm-modal', title || 'Confirmation required!', body, buttons, controller, options) - okModal: (controller, title, message, okButtonTitle = "OK", okButtonEvent = "okModal", okButtonType = null, targetObj = controller, fade = true, fullSizeButtons = false) -> + okModal: (controller, title, message, okButtonTitle = "OK", okButtonEvent = "okModal", okButtonType = null, options) -> body = Ember.View.extend( template: Ember.Handlebars.compile(message || "Are you sure you would like to perform this action?") ) buttons = [ Ember.Object.create({title: okButtonTitle, clicked:okButtonEvent, type: okButtonType, dismiss: 'modal'}) ] - @open('ok-modal', title || 'Confirmation required!', body, buttons, controller, fade, fullSizeButtons, targetObj) + @open('ok-modal', title || 'Confirmation required!', body, buttons, controller, options) openModal: (modalView, options = {}) -> rootElement = options.rootElement or '.ember-application' instance = modalView.create options instance.appendTo rootElement - openManual: (name, title, content, footerButtons, controller, fade, fullSizeButtons, targetObj) -> + openManual: (name, title, content, footerButtons, controller, options) -> view = Ember.View.extend( template: Ember.Handlebars.compile(content) controller: controller ) - @open name, title, view, footerButtons, controller, fade, fullSizeButtons, targetObj - - open: (name, title, view, footerButtons, controller, fade , fullSizeButtons = false, targetObj = controller) -> - cl = controller.container.lookup 'component-lookup:main' - modalComponent = cl.lookupFactory('bs-modal', controller.get('container')).create() - - modalComponent.setProperties( - name: name - title: title - manual: true - footerButtons: footerButtons - targetObject: targetObj - fade: fade - fullSizeButtons: fullSizeButtons - ) - - if Ember.typeOf(view) is 'string' - template = controller.container.lookup("template:#{view}") - Ember.assert("Template #{view} was specified for Modal but template could not be found.", template) - if template - modalComponent.setProperties( - body: Ember.View.extend( - template: template, - controller: controller - ) - ) - else if Ember.typeOf(view) is 'class' - modalComponent.setProperties( - body: view, - controller: controller - ) - - modalComponent.appendTo(controller.namespace.rootElement) + @open name, title, view, footerButtons, controller, options + + open: (name, title, view, footerButtons, controller, options) -> + cl = undefined + modalComponent = undefined + template = undefined + options = {} unless options? + options.fade = @get("fade") unless options.fade? + options.fullSizeButtons = @get("fullSizeButtons") unless options.fullSizeButtons? + options.targetObj = controller unless options.targetObj? + options.vertical = @get("vertical") unless options.vertical? + cl = controller.container.lookup("component-lookup:main") + modalComponent = cl.lookupFactory("bs-modal", controller.get("container")).create() + modalComponent.setProperties + name: name + title: title + manual: true + footerButtons: footerButtons + targetObject: options.targetObj + fade: options.fade + fullSizeButtons: options.fullSizeButtons + vertical: options.vertical + + if Ember.typeOf(view) is "string" + template = controller.container.lookup("template:" + view) + Ember.assert "Template " + view + " was specified for Modal but template could not be found.", template + if template + modalComponent.setProperties body: Ember.View.extend( + template: template + controller: controller + ) + else if Ember.typeOf(view) is "class" + modalComponent.setProperties + body: view + controller: controller + + modalComponent.appendTo controller.namespace.rootElement + fade: true + fullSizeButtons: false + vertical: false ) Ember.Application.initializer name: 'bs-modal' initialize: (container, application) -> - container.register 'component:bs-modal', Bootstrap.BsModalComponent \ No newline at end of file + Ember.$(window).resize(Bootstrap.adjustModalMaxHeightAndPosition).trigger "resize" if Ember.$(window).height() >= 320 + container.register "component:bs-modal", Bootstrap.BsModalComponent \ No newline at end of file diff --git a/dist/js/bs-modal.max.js b/dist/js/bs-modal.max.js index 9669341..1b24cb8 100644 --- a/dist/js/bs-modal.max.js +++ b/dist/js/bs-modal.max.js @@ -4,6 +4,42 @@ Modal component. (function() { + var cl, modalComponent, options, template; + + Bootstrap.adjustModalMaxHeightAndPosition = function() { + console.log("adju"); + return Ember.$(".modal").each(function() { + var contentHeight, footerHeight, headerHeight; + if (Ember.$(this).hasClass("in") === false) { + Ember.$(this).show(); + } + contentHeight = Ember.$(window).height() - 60; + headerHeight = Ember.$(this).find(".modal-header").outerHeight() || 2; + footerHeight = Ember.$(this).find(".modal-footer").outerHeight() || 2; + Ember.$(this).find(".modal-content").css({ + "max-height": function() { + return contentHeight; + } + }); + Ember.$(this).find(".modal-body").css({ + "max-height": function() { + return contentHeight - (headerHeight + footerHeight); + } + }); + Ember.$(this).find(".modal-dialog").addClass("modal-dialog-center").css({ + "margin-top": function() { + return -(Ember.$(this).outerHeight() / 2); + }, + "margin-left": function() { + return -(Ember.$(this).outerWidth() / 2); + } + }); + if (Ember.$(this).hasClass("in") === false) { + return Ember.$(this).hide(); + } + }); + }; + Bootstrap.BsModalComponent = Ember.Component.extend(Ember.Evented, { layoutName: 'components/bs-modal', classNames: ['modal'], @@ -160,7 +196,7 @@ Modal component. toggle: function(name) { return this.get(name).toggle(); }, - confirm: function(controller, title, message, confirmButtonTitle, confirmButtonEvent, confirmButtonType, cancelButtonTitle, cancelButtonEvent, cancelButtonType, targetObj, fade, fullSizeButtons) { + confirm: function(controller, title, message, options, confirmButtonTitle, confirmButtonEvent, confirmButtonType, cancelButtonTitle, cancelButtonEvent, cancelButtonType) { var body, buttons; if (confirmButtonTitle == null) { confirmButtonTitle = "Confirm"; @@ -180,15 +216,6 @@ Modal component. if (cancelButtonType == null) { cancelButtonType = null; } - if (targetObj == null) { - targetObj = controller; - } - if (fade == null) { - fade = true; - } - if (fullSizeButtons == null) { - fullSizeButtons = false; - } body = Ember.View.extend({ template: Ember.Handlebars.compile(message || "Are you sure you would like to perform this action?") }); @@ -205,10 +232,10 @@ Modal component. dismiss: 'modal' }) ]; - return this.open('confirm-modal', title || 'Confirmation required!', body, buttons, controller, fade, fullSizeButtons, targetObj); + return this.open('confirm-modal', title || 'Confirmation required!', body, buttons, controller, options); } }, { - okModal: function(controller, title, message, okButtonTitle, okButtonEvent, okButtonType, targetObj, fade, fullSizeButtons) { + okModal: function(controller, title, message, okButtonTitle, okButtonEvent, okButtonType, options) { var body, buttons; if (okButtonTitle == null) { okButtonTitle = "OK"; @@ -219,15 +246,6 @@ Modal component. if (okButtonType == null) { okButtonType = null; } - if (targetObj == null) { - targetObj = controller; - } - if (fade == null) { - fade = true; - } - if (fullSizeButtons == null) { - fullSizeButtons = false; - } body = Ember.View.extend({ template: Ember.Handlebars.compile(message || "Are you sure you would like to perform this action?") }); @@ -239,7 +257,7 @@ Modal component. dismiss: 'modal' }) ]; - return this.open('ok-modal', title || 'Confirmation required!', body, buttons, controller, fade, fullSizeButtons, targetObj); + return this.open('ok-modal', title || 'Confirmation required!', body, buttons, controller, options); }, openModal: function(modalView, options) { var instance, rootElement; @@ -250,61 +268,52 @@ Modal component. instance = modalView.create(options); return instance.appendTo(rootElement); }, - openManual: function(name, title, content, footerButtons, controller, fade, fullSizeButtons, targetObj) { + openManual: function(name, title, content, footerButtons, controller, options) { var view; view = Ember.View.extend({ template: Ember.Handlebars.compile(content), controller: controller }); - return this.open(name, title, view, footerButtons, controller, fade, fullSizeButtons, targetObj); + return this.open(name, title, view, footerButtons, controller, options); }, - open: function(name, title, view, footerButtons, controller, fade, fullSizeButtons, targetObj) { - var cl, modalComponent, template; - if (fullSizeButtons == null) { - fullSizeButtons = false; - } - if (targetObj == null) { - targetObj = controller; - } - cl = controller.container.lookup('component-lookup:main'); - modalComponent = cl.lookupFactory('bs-modal', controller.get('container')).create(); - modalComponent.setProperties({ - name: name, - title: title, - manual: true, - footerButtons: footerButtons, - targetObject: targetObj, - fade: fade, - fullSizeButtons: fullSizeButtons - }); - if (Ember.typeOf(view) === 'string') { - template = controller.container.lookup("template:" + view); - Ember.assert("Template " + view + " was specified for Modal but template could not be found.", template); - if (template) { - modalComponent.setProperties({ - body: Ember.View.extend({ - template: template, - controller: controller - }) - }); - } - } else if (Ember.typeOf(view) === 'class') { - modalComponent.setProperties({ - body: view, - controller: controller - }); - } - return modalComponent.appendTo(controller.namespace.rootElement); + open: function(name, title, view, footerButtons, controller, options) { + var cl; + return cl = void 0; } + }, modalComponent = void 0, template = void 0, typeof options === "undefined" || options === null ? options = {} : void 0, options.fade == null ? options.fade = this.get("fade") : void 0, options.fullSizeButtons == null ? options.fullSizeButtons = this.get("fullSizeButtons") : void 0, options.targetObj == null ? options.targetObj = controller : void 0, options.vertical == null ? options.vertical = this.get("vertical") : void 0, cl = controller.container.lookup("component-lookup:main"), modalComponent = cl.lookupFactory("bs-modal", controller.get("container")).create(), modalComponent.setProperties, { + name: name, + title: title, + manual: true, + footerButtons: footerButtons, + targetObject: options.targetObj, + fade: options.fade, + fullSizeButtons: options.fullSizeButtons, + vertical: options.vertical + }, Ember.typeOf(view) === "string" ? (template = controller.container.lookup("template:" + view), Ember.assert("Template " + view + " was specified for Modal but template could not be found.", template), template ? modalComponent.setProperties({ + body: Ember.View.extend({ + template: template, + controller: controller + }) + }) : void 0) : Ember.typeOf(view) === "class" ? modalComponent.setProperties({ + body: view, + controller: controller + }) : void 0, modalComponent.appendTo(controller.namespace.rootElement), { + fade: true, + fullSizeButtons: false, + vertical: false }); Ember.Application.initializer({ name: 'bs-modal', - initialize: function(container, application) { - return container.register('component:bs-modal', Bootstrap.BsModalComponent); - } + initialize: function(container, application) {} }); + if (Ember.$(window).height() >= 320) { + Ember.$(window).resize(Bootstrap.adjustModalMaxHeightAndPosition).trigger("resize"); + } + + container.register("component:bs-modal", Bootstrap.BsModalComponent); + }).call(this); Ember.TEMPLATES["components/bs-modal"] = Ember.HTMLBars.template((function() { diff --git a/dist/js/bs-modal.min.js b/dist/js/bs-modal.min.js index edb9f77..753246b 100644 --- a/dist/js/bs-modal.min.js +++ b/dist/js/bs-modal.min.js @@ -1 +1 @@ -(function(){Bootstrap.BsModalComponent=Ember.Component.extend(Ember.Evented,{layoutName:"components/bs-modal",classNames:["modal"],classNameBindings:["fade","isVis:in"],attributeBindings:["role","aria-labelledby","isAriaHidden:aria-hidden","ariaLabelledBy:aria-labelledby"],isAriaHidden:function(){return""+this.get("isVisible")}.property("isVisible"),modalBackdrop:'',role:"dialog",footerViews:[],backdrop:!0,title:null,isVisible:!1,manual:!1,isVis:!1,fullSizeButtons:!1,fade:!0,didInsertElement:function(){var a;return this._super(),this.setupBinders(),a=this.get("name"),Ember.assert("Modal name is required for modal view "+this.get("elementId"),this.get("name")),null==a&&(a=this.get("elementId")),Bootstrap.ModalManager.add(a,this),this.manual?this.show():void 0},becameVisible:function(){return Em.$("body").addClass("modal-open"),this.get("backdrop")?this.appendBackdrop():void 0},becameHidden:function(){return Em.$("body").removeClass("modal-open"),this._backdrop?this._backdrop.remove():void 0},appendBackdrop:function(){var a;return a=this.$().parent(),this._backdrop=Em.$(this.modalBackdrop).appendTo(a)},show:function(){var a;this.set("isVisible",!0),a=this,setTimeout(function(){a.set("isVis",!0)},15)},hide:function(){var a;return this.set("isVis",!1),a=this,this.$().one("webkitTransitionEnd",function(){a.set("isVisible",!1)}),!1},toggle:function(){return this.toggleProperty("isVisible")},click:function(a){var b,c;return b=a.target,c=b.getAttribute("data-dismiss"),"modal"===c?this.close():void 0},keyPressed:function(a){return 27===a.keyCode?this.close(a):void 0},close:function(){var a;return this.set("isVis",!1),a=this,this.$().one("webkitTransitionEnd",function(){a.get("manual")?a.destroy():a.hide()}),this.trigger("closed")},willDestroyElement:function(){var a;return Em.$("body").removeClass("modal-open"),this.removeHandlers(),a=this.get("name"),null==a&&(a=this.get("elementId")),Bootstrap.ModalManager.remove(a,this),this._backdrop?this._backdrop.remove():void 0},removeHandlers:function(){return jQuery(window.document).unbind("keyup",this._keyUpHandler)},setupBinders:function(){var a,b=this;return a=function(a){return b.keyPressed(a)},jQuery(window.document).bind("keyup",a),this._keyUpHandler=a}}),Bootstrap.ModalManager=Ember.Object.create({add:function(a,b){return this.set(a,b)},register:function(a,b){return this.add(a,b),b.appendTo(b.get("targetObject").namespace.rootElement)},remove:function(a){return this.set(a,null)},close:function(a){return this.get(a).close()},hide:function(a){return this.get(a).hide()},show:function(a){return this.get(a).show()},toggle:function(a){return this.get(a).toggle()},confirm:function(a,b,c,d,e,f,g,h,i,j,k,l){var m,n;return null==d&&(d="Confirm"),null==e&&(e="modalConfirmed"),null==f&&(f=null),null==g&&(g="Cancel"),null==h&&(h="modalCanceled"),null==i&&(i=null),null==j&&(j=a),null==k&&(k=!0),null==l&&(l=!1),m=Ember.View.extend({template:Ember.Handlebars.compile(c||"Are you sure you would like to perform this action?")}),n=[Ember.Object.create({title:d,clicked:e,type:f,dismiss:"modal"}),Ember.Object.create({title:g,clicked:h,type:i,dismiss:"modal"})],this.open("confirm-modal",b||"Confirmation required!",m,n,a,k,l,j)}},{okModal:function(a,b,c,d,e,f,g,h,i){var j,k;return null==d&&(d="OK"),null==e&&(e="okModal"),null==f&&(f=null),null==g&&(g=a),null==h&&(h=!0),null==i&&(i=!1),j=Ember.View.extend({template:Ember.Handlebars.compile(c||"Are you sure you would like to perform this action?")}),k=[Ember.Object.create({title:d,clicked:e,type:f,dismiss:"modal"})],this.open("ok-modal",b||"Confirmation required!",j,k,a,h,i,g)},openModal:function(a,b){var c,d;return null==b&&(b={}),d=b.rootElement||".ember-application",c=a.create(b),c.appendTo(d)},openManual:function(a,b,c,d,e,f,g,h){var i;return i=Ember.View.extend({template:Ember.Handlebars.compile(c),controller:e}),this.open(a,b,i,d,e,f,g,h)},open:function(a,b,c,d,e,f,g,h){var i,j,k;return null==g&&(g=!1),null==h&&(h=e),i=e.container.lookup("component-lookup:main"),j=i.lookupFactory("bs-modal",e.get("container")).create(),j.setProperties({name:a,title:b,manual:!0,footerButtons:d,targetObject:h,fade:f,fullSizeButtons:g}),"string"===Ember.typeOf(c)?(k=e.container.lookup("template:"+c),Ember.assert("Template "+c+" was specified for Modal but template could not be found.",k),k&&j.setProperties({body:Ember.View.extend({template:k,controller:e})})):"class"===Ember.typeOf(c)&&j.setProperties({body:c,controller:e}),j.appendTo(e.namespace.rootElement)}}),Ember.Application.initializer({name:"bs-modal",initialize:function(a){return a.register("component:bs-modal",Bootstrap.BsModalComponent)}})}).call(this),Ember.TEMPLATES["components/bs-modal"]=Ember.HTMLBars.template(function(){var a=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createElement("i");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.element;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.childAt(g,[1]);return f(b,h,a,"bind-attr",[],{"class":"titleIconClasses"}),g}}}(),b=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,0,1,c);return g(b,i,a,"view",[f(b,a,"view.body")],{}),h}}}(),c=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.content;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.createMorphAt(g,0,1,c);return f(b,h,a,"yield"),g}}}(),d=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,0,1,c);return g(b,i,a,"bs-button",[],{content:f(b,a,"this"),targetObjectBinding:"view.targetObject"}),h}}}(),e=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,0,1,c);return g(b,i,a,"view",[f(b,a,"this")],{}),h}}}();return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createElement("div");a.setAttribute(b,"class","modal-dialog");var c=a.createTextNode("\n ");a.appendChild(b,c);var c=a.createElement("div");a.setAttribute(c,"class","modal-content");var d=a.createTextNode("\n ");a.appendChild(c,d);var d=a.createElement("div");a.setAttribute(d,"class","modal-header");var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("button");a.setAttribute(e,"type","button"),a.setAttribute(e,"data-dismiss","modal"),a.setAttribute(e,"aria-hidden","true");var f=a.createTextNode("×");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("h4");a.setAttribute(e,"class","modal-title");var f=a.createTextNode("\n");a.appendChild(e,f);var f=a.createTextNode(" ");a.appendChild(e,f);var f=a.createTextNode("\n ");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e),a.appendChild(c,d);var d=a.createTextNode("\n ");a.appendChild(c,d);var d=a.createElement("div");a.setAttribute(d,"class","modal-body");var e=a.createTextNode("\n");a.appendChild(d,e);var e=a.createTextNode(" ");a.appendChild(d,e),a.appendChild(c,d);var d=a.createTextNode("\n ");a.appendChild(c,d);var d=a.createElement("div"),e=a.createTextNode("\n");a.appendChild(d,e);var e=a.createTextNode("");a.appendChild(d,e);var e=a.createTextNode(" ");a.appendChild(d,e),a.appendChild(c,d);var d=a.createTextNode("\n ");a.appendChild(c,d),a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(f,g,h){var i=g.dom,j=g.hooks,k=j.element,l=j.get,m=j.block,n=j.content;i.detectNamespace(h);var o;g.useFragmentCache&&i.canClone?(null===this.cachedFragment&&(o=this.build(i),this.hasRendered?this.cachedFragment=o:this.hasRendered=!0),this.cachedFragment&&(o=i.cloneNode(this.cachedFragment,!0))):o=this.build(i);var p=i.childAt(o,[1]),q=i.childAt(p,[1]),r=i.childAt(q,[1]),s=i.childAt(q,[3]),t=i.childAt(p,[5]);this.cachedFragment&&i.repairClonedNode(t,[1]);var u=i.createMorphAt(s,0,1),v=i.createUnsafeMorphAt(s,1,2),w=i.createMorphAt(i.childAt(p,[3]),0,1),x=i.createMorphAt(t,0,1),y=i.createMorphAt(t,1,2);return k(g,r,f,"bind-attr",[],{"class":":close allowClose::hide"}),m(g,u,f,"if",[l(g,f,"titleIconClasses")],{},a,null),n(g,v,f,"title"),m(g,w,f,"if",[l(g,f,"body")],{},b,c),k(g,t,f,"bind-attr",[],{"class":":modal-footer fullSizeButtons:modal-footer-full"}),m(g,x,f,"each",[l(g,f,"footerButtons")],{},d,null),m(g,y,f,"each",[l(g,f,"footerViews")],{},e,null),o}}}()); \ No newline at end of file +(function(){var a,b,c,d;Bootstrap.adjustModalMaxHeightAndPosition=function(){return console.log("adju"),Ember.$(".modal").each(function(){var a,b,c;return Ember.$(this).hasClass("in")===!1&&Ember.$(this).show(),a=Ember.$(window).height()-60,c=Ember.$(this).find(".modal-header").outerHeight()||2,b=Ember.$(this).find(".modal-footer").outerHeight()||2,Ember.$(this).find(".modal-content").css({"max-height":function(){return a}}),Ember.$(this).find(".modal-body").css({"max-height":function(){return a-(c+b)}}),Ember.$(this).find(".modal-dialog").addClass("modal-dialog-center").css({"margin-top":function(){return-(Ember.$(this).outerHeight()/2)},"margin-left":function(){return-(Ember.$(this).outerWidth()/2)}}),Ember.$(this).hasClass("in")===!1?Ember.$(this).hide():void 0})},Bootstrap.BsModalComponent=Ember.Component.extend(Ember.Evented,{layoutName:"components/bs-modal",classNames:["modal"],classNameBindings:["fade","isVis:in"],attributeBindings:["role","aria-labelledby","isAriaHidden:aria-hidden","ariaLabelledBy:aria-labelledby"],isAriaHidden:function(){return""+this.get("isVisible")}.property("isVisible"),modalBackdrop:'',role:"dialog",footerViews:[],backdrop:!0,title:null,isVisible:!1,manual:!1,isVis:!1,fullSizeButtons:!1,fade:!0,didInsertElement:function(){var a;return this._super(),this.setupBinders(),a=this.get("name"),Ember.assert("Modal name is required for modal view "+this.get("elementId"),this.get("name")),null==a&&(a=this.get("elementId")),Bootstrap.ModalManager.add(a,this),this.manual?this.show():void 0},becameVisible:function(){return Em.$("body").addClass("modal-open"),this.get("backdrop")?this.appendBackdrop():void 0},becameHidden:function(){return Em.$("body").removeClass("modal-open"),this._backdrop?this._backdrop.remove():void 0},appendBackdrop:function(){var a;return a=this.$().parent(),this._backdrop=Em.$(this.modalBackdrop).appendTo(a)},show:function(){var a;this.set("isVisible",!0),a=this,setTimeout(function(){a.set("isVis",!0)},15)},hide:function(){var a;return this.set("isVis",!1),a=this,this.$().one("webkitTransitionEnd",function(){a.set("isVisible",!1)}),!1},toggle:function(){return this.toggleProperty("isVisible")},click:function(a){var b,c;return b=a.target,c=b.getAttribute("data-dismiss"),"modal"===c?this.close():void 0},keyPressed:function(a){return 27===a.keyCode?this.close(a):void 0},close:function(){var a;return this.set("isVis",!1),a=this,this.$().one("webkitTransitionEnd",function(){a.get("manual")?a.destroy():a.hide()}),this.trigger("closed")},willDestroyElement:function(){var a;return Em.$("body").removeClass("modal-open"),this.removeHandlers(),a=this.get("name"),null==a&&(a=this.get("elementId")),Bootstrap.ModalManager.remove(a,this),this._backdrop?this._backdrop.remove():void 0},removeHandlers:function(){return jQuery(window.document).unbind("keyup",this._keyUpHandler)},setupBinders:function(){var a,b=this;return a=function(a){return b.keyPressed(a)},jQuery(window.document).bind("keyup",a),this._keyUpHandler=a}}),Bootstrap.ModalManager=Ember.Object.create({add:function(a,b){return this.set(a,b)},register:function(a,b){return this.add(a,b),b.appendTo(b.get("targetObject").namespace.rootElement)},remove:function(a){return this.set(a,null)},close:function(a){return this.get(a).close()},hide:function(a){return this.get(a).hide()},show:function(a){return this.get(a).show()},toggle:function(a){return this.get(a).toggle()},confirm:function(a,b,c,d,e,f,g,h,i,j){var k,l;return null==e&&(e="Confirm"),null==f&&(f="modalConfirmed"),null==g&&(g=null),null==h&&(h="Cancel"),null==i&&(i="modalCanceled"),null==j&&(j=null),k=Ember.View.extend({template:Ember.Handlebars.compile(c||"Are you sure you would like to perform this action?")}),l=[Ember.Object.create({title:e,clicked:f,type:g,dismiss:"modal"}),Ember.Object.create({title:h,clicked:i,type:j,dismiss:"modal"})],this.open("confirm-modal",b||"Confirmation required!",k,l,a,d)}},{okModal:function(a,b,c,d,e,f,g){var h,i;return null==d&&(d="OK"),null==e&&(e="okModal"),null==f&&(f=null),h=Ember.View.extend({template:Ember.Handlebars.compile(c||"Are you sure you would like to perform this action?")}),i=[Ember.Object.create({title:d,clicked:e,type:f,dismiss:"modal"})],this.open("ok-modal",b||"Confirmation required!",h,i,a,g)},openModal:function(a,b){var c,d;return null==b&&(b={}),d=b.rootElement||".ember-application",c=a.create(b),c.appendTo(d)},openManual:function(a,b,c,d,e,f){var g;return g=Ember.View.extend({template:Ember.Handlebars.compile(c),controller:e}),this.open(a,b,g,d,e,f)},open:function(){var a;return a=void 0}},b=void 0,d=void 0,"undefined"==typeof c||null===c?c={}:void 0,null==c.fade?c.fade=this.get("fade"):void 0,null==c.fullSizeButtons?c.fullSizeButtons=this.get("fullSizeButtons"):void 0,null==c.targetObj?c.targetObj=controller:void 0,null==c.vertical?c.vertical=this.get("vertical"):void 0,a=controller.container.lookup("component-lookup:main"),b=a.lookupFactory("bs-modal",controller.get("container")).create(),b.setProperties,{name:name,title:title,manual:!0,footerButtons:footerButtons,targetObject:c.targetObj,fade:c.fade,fullSizeButtons:c.fullSizeButtons,vertical:c.vertical},"string"===Ember.typeOf(view)?(d=controller.container.lookup("template:"+view),Ember.assert("Template "+view+" was specified for Modal but template could not be found.",d),d?b.setProperties({body:Ember.View.extend({template:d,controller:controller})}):void 0):"class"===Ember.typeOf(view)?b.setProperties({body:view,controller:controller}):void 0,b.appendTo(controller.namespace.rootElement),{fade:!0,fullSizeButtons:!1,vertical:!1}),Ember.Application.initializer({name:"bs-modal",initialize:function(){}}),Ember.$(window).height()>=320&&Ember.$(window).resize(Bootstrap.adjustModalMaxHeightAndPosition).trigger("resize"),container.register("component:bs-modal",Bootstrap.BsModalComponent)}).call(this),Ember.TEMPLATES["components/bs-modal"]=Ember.HTMLBars.template(function(){var a=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createElement("i");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.element;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.childAt(g,[1]);return f(b,h,a,"bind-attr",[],{"class":"titleIconClasses"}),g}}}(),b=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,0,1,c);return g(b,i,a,"view",[f(b,a,"view.body")],{}),h}}}(),c=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.content;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.createMorphAt(g,0,1,c);return f(b,h,a,"yield"),g}}}(),d=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,0,1,c);return g(b,i,a,"bs-button",[],{content:f(b,a,"this"),targetObjectBinding:"view.targetObject"}),h}}}(),e=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,0,1,c);return g(b,i,a,"view",[f(b,a,"this")],{}),h}}}();return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createElement("div");a.setAttribute(b,"class","modal-dialog");var c=a.createTextNode("\n ");a.appendChild(b,c);var c=a.createElement("div");a.setAttribute(c,"class","modal-content");var d=a.createTextNode("\n ");a.appendChild(c,d);var d=a.createElement("div");a.setAttribute(d,"class","modal-header");var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("button");a.setAttribute(e,"type","button"),a.setAttribute(e,"data-dismiss","modal"),a.setAttribute(e,"aria-hidden","true");var f=a.createTextNode("×");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("h4");a.setAttribute(e,"class","modal-title");var f=a.createTextNode("\n");a.appendChild(e,f);var f=a.createTextNode(" ");a.appendChild(e,f);var f=a.createTextNode("\n ");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e),a.appendChild(c,d);var d=a.createTextNode("\n ");a.appendChild(c,d);var d=a.createElement("div");a.setAttribute(d,"class","modal-body");var e=a.createTextNode("\n");a.appendChild(d,e);var e=a.createTextNode(" ");a.appendChild(d,e),a.appendChild(c,d);var d=a.createTextNode("\n ");a.appendChild(c,d);var d=a.createElement("div"),e=a.createTextNode("\n");a.appendChild(d,e);var e=a.createTextNode("");a.appendChild(d,e);var e=a.createTextNode(" ");a.appendChild(d,e),a.appendChild(c,d);var d=a.createTextNode("\n ");a.appendChild(c,d),a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(f,g,h){var i=g.dom,j=g.hooks,k=j.element,l=j.get,m=j.block,n=j.content;i.detectNamespace(h);var o;g.useFragmentCache&&i.canClone?(null===this.cachedFragment&&(o=this.build(i),this.hasRendered?this.cachedFragment=o:this.hasRendered=!0),this.cachedFragment&&(o=i.cloneNode(this.cachedFragment,!0))):o=this.build(i);var p=i.childAt(o,[1]),q=i.childAt(p,[1]),r=i.childAt(q,[1]),s=i.childAt(q,[3]),t=i.childAt(p,[5]);this.cachedFragment&&i.repairClonedNode(t,[1]);var u=i.createMorphAt(s,0,1),v=i.createUnsafeMorphAt(s,1,2),w=i.createMorphAt(i.childAt(p,[3]),0,1),x=i.createMorphAt(t,0,1),y=i.createMorphAt(t,1,2);return k(g,r,f,"bind-attr",[],{"class":":close allowClose::hide"}),m(g,u,f,"if",[l(g,f,"titleIconClasses")],{},a,null),n(g,v,f,"title"),m(g,w,f,"if",[l(g,f,"body")],{},b,c),k(g,t,f,"bind-attr",[],{"class":":modal-footer fullSizeButtons:modal-footer-full"}),m(g,x,f,"each",[l(g,f,"footerButtons")],{},d,null),m(g,y,f,"each",[l(g,f,"footerViews")],{},e,null),o}}}()); \ No newline at end of file diff --git a/dist/showcase/scripts/showcase.js b/dist/showcase/scripts/showcase.js index 783f32a..d5b582f 100644 --- a/dist/showcase/scripts/showcase.js +++ b/dist/showcase/scripts/showcase.js @@ -1,4 +1 @@ -Ember.TEMPLATES.ads=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){d.buffer.push("

    Bootstrap for Ember

    ")},useData:!0}),Ember.TEMPLATES.application=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f=b.helperMissing,g=this.escapeExpression,h="";return d.buffer.push('\r\n\r\n \r\n '),d.buffer.push(g((b.outlet||a&&a.outlet||f).call(a,"bs-tooltip-box",{name:"outlet",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}))),d.buffer.push("\r\n \r\n "),d.buffer.push(g((b.partial||a&&a.partial||f).call(a,"header",{name:"partial",hash:{},hashTypes:{},hashContexts:{},types:["STRING"],contexts:[a],data:d}))),d.buffer.push('\r\n \r\n \r\n \r\n Skip navigation\r\n \r\n '),d.buffer.push(g((b.partial||a&&a.partial||f).call(a,"nav-main",{name:"partial",hash:{},hashTypes:{},hashContexts:{},types:["STRING"],contexts:[a],data:d}))),d.buffer.push("\r\n "),d.buffer.push(g((b["bs-notifications"]||a&&a["bs-notifications"]||f).call(a,{name:"bs-notifications",hash:{style:"z-index: 9999; position: fixed; width: 50%; left: 0; right: 0; margin-left: auto; margin-right: auto; margin-top: 50px;"},hashTypes:{style:"STRING"},hashContexts:{style:a},types:[],contexts:[],data:d}))),d.buffer.push("\r\n "),e=b._triageMustache.call(a,"bs-growl-notifications",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push('\r\n \r\n
    \r\n
    \r\n

    '),e=b._triageMustache.call(a,"page.lead",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("

    \r\n "),d.buffer.push(g((b.partial||a&&a.partial||f).call(a,"ads",{name:"partial",hash:{},hashTypes:{},hashContexts:{},types:["STRING"],contexts:[a],data:d}))),d.buffer.push('\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n '),e=b._triageMustache.call(a,"bs-breadcrumbs",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("\r\n "),e=b._triageMustache.call(a,"outlet",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push('\r\n
    \r\n
    \r\n\r\n
    \r\n\r\n \r\n
    \r\n
    \r\n '),d.buffer.push(g((b.partial||a&&a.partial||f).call(a,"social-buttons",{name:"partial",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}))),d.buffer.push("\r\n
    \r\n
    \r\n\r\n \r\n "),d.buffer.push(g((b.partial||a&&a.partial||f).call(a,"footer",{name:"partial",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}))),d.buffer.push("\r\n \r\n\r\n"),h},useData:!0}),Ember.TEMPLATES["demo-template"]=Ember.HTMLBars.template({1:function(a,b,c,d){var e,f="";return e=b._triageMustache.call(a,"message",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("\r\n"),f},compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f,g,h=b.helperMissing,i=this.escapeExpression,j="function",k=b.blockHelperMissing,l="";return d.buffer.push(i((b["bs-page-header"]||a&&a["bs-page-header"]||h).call(a,{name:"bs-page-header",hash:{sub:"Hello world.",title:"Hello"},hashTypes:{sub:"STRING",title:"STRING"},hashContexts:{sub:a,title:a},types:[],contexts:[],data:d}))),d.buffer.push("\r\n"),f=null!=(f=b["bs-well"]||(null!=a?a["bs-well"]:a))?f:h,g={name:"bs-well",hash:{},hashTypes:{},hashContexts:{},fn:this.program(1,d),inverse:this.noop,types:[],contexts:[],data:d},e=typeof f===j?f.call(a,g):f,b["bs-well"]||(e=k.call(a,e,g)),null!=e&&d.buffer.push(e),l},useData:!0}),Ember.TEMPLATES.footer=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(){return""},useData:!0}),Ember.TEMPLATES.header=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(){return""},useData:!0}),Ember.TEMPLATES.index=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){d.buffer.push('
    \r\n ')},useData:!0}),Ember.TEMPLATES.leftnav=Ember.HTMLBars.template({1:function(a,b,c,d){var e,f=b.helperMissing,g="";return d.buffer.push("
  • \r\n"),e=(b["link-to"]||a&&a["link-to"]||f).call(a,"item.route",{name:"link-to",hash:{},hashTypes:{},hashContexts:{},fn:this.program(2,d),inverse:this.noop,types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("
  • \r\n"),g},2:function(a,b,c,d){var e,f="";return d.buffer.push(" "),e=b._triageMustache.call(a,"item.title",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("\r\n"),e=b["if"].call(a,"item.special",{name:"if",hash:{},hashTypes:{},hashContexts:{},fn:this.program(3,d),inverse:this.noop,types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),e=b["if"].call(a,"item.new",{name:"if",hash:{},hashTypes:{},hashContexts:{},fn:this.program(5,d),inverse:this.noop,types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),f},3:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression,g="";return d.buffer.push(" "),d.buffer.push(f((b["bs-label"]||a&&a["bs-label"]||e).call(a,{name:"bs-label",hash:{type:"danger",content:"Special"},hashTypes:{type:"STRING",content:"STRING"},hashContexts:{type:a,content:a},types:[],contexts:[],data:d}))),d.buffer.push("\r\n"),g},5:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression,g="";return d.buffer.push(" "),d.buffer.push(f((b["bs-label"]||a&&a["bs-label"]||e).call(a,{name:"bs-label",hash:{type:"info",content:"New"},hashTypes:{type:"STRING",content:"STRING"},hashContexts:{type:a,content:a},types:[],contexts:[],data:d}))),d.buffer.push("\r\n"),g},compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e;e=b.each.call(a,"item","in","controller",{name:"each",hash:{},hashTypes:{},hashContexts:{},fn:this.program(1,d),inverse:this.noop,types:["ID","ID","ID"],contexts:[a,a,a],data:d}),d.buffer.push(null!=e?e:"")},useData:!0}),Ember.TEMPLATES["nav-main"]=Ember.HTMLBars.template({1:function(a,b,c,d){d.buffer.push("Bootstrap for Ember")},3:function(a,b,c,d){d.buffer.push("Home")},5:function(a,b,c,d){d.buffer.push("Components")},compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f=b.helperMissing,g="";return d.buffer.push('\r\n"),g},useData:!0}),Ember.TEMPLATES["show_components/alert"]=Ember.HTMLBars.template({1:function(a,b,c,d){var e=this.escapeExpression,f="";return d.buffer.push('

    Oh snap! You got an error!

    \n

    Alert can also be used in a block form.

    \n

    \n Or do this\n

    \n'),f},compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f=b.helperMissing,g=this.escapeExpression,h="";return d.buffer.push('

    Alert

    \n

    Usage Examples

    \n
    \n '),d.buffer.push(g((b["bs-alert"]||a&&a["bs-alert"]||f).call(a,{name:"bs-alert",hash:{type:"warning",message:"A warning alert with simple message."},hashTypes:{type:"STRING",message:"STRING"},hashContexts:{type:a,message:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n
    {{bs-alert message="A warning alert with simple message." type="warning"}}
    \n
    \n '),d.buffer.push(g((b["bs-alert"]||a&&a["bs-alert"]||f).call(a,{name:"bs-alert",hash:{dismiss:!0,type:"warning",message:"With close button"},hashTypes:{dismiss:"BOOLEAN",type:"STRING",message:"STRING"},hashContexts:{dismiss:a,type:a,message:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n
    {{bs-alert message="With close button" type="warning" dismiss=true}}
    \n
    \n '),d.buffer.push(g((b["bs-alert"]||a&&a["bs-alert"]||f).call(a,{name:"bs-alert",hash:{fade:!0,dismiss:!0,type:"warning",message:"Close button will fade"},hashTypes:{fade:"BOOLEAN",dismiss:"BOOLEAN",type:"STRING",message:"STRING"},hashContexts:{fade:a,dismiss:a,type:a,message:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n
        {{bs-alert message="Close button will fade" type="warning" dismiss=true fade=true}}
    \n
    \n '),d.buffer.push(g((b["bs-alert"]||a&&a["bs-alert"]||f).call(a,{name:"bs-alert",hash:{dismissAfter:5,fade:!0,type:"info",message:"Dismissed after 5 seconds!!"},hashTypes:{dismissAfter:"NUMBER",fade:"BOOLEAN",type:"STRING",message:"STRING"},hashContexts:{dismissAfter:a,fade:a,type:a,message:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n
        {{bs-alert message="Dismissed after 5 seconds" type="info" dismissAfter=5}}
    \n
    \n '),d.buffer.push(g((b["bs-alert"]||a&&a["bs-alert"]||f).call(a,{name:"bs-alert",hash:{type:"success",message:"Other types such as Sucess"},hashTypes:{type:"STRING",message:"STRING"},hashContexts:{type:a,message:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n
        {{bs-alert message="Other types such as Sucess" type="success"}}
    \n
    \n'),e=(b["bs-alert"]||a&&a["bs-alert"]||f).call(a,{name:"bs-alert",hash:{type:"danger"},hashTypes:{type:"STRING"},hashContexts:{type:a},fn:this.program(1,d),inverse:this.noop,types:[],contexts:[],data:d}),null!=e&&d.buffer.push(e),d.buffer.push('
    \n\n
    {{#bs-alert type="danger"}}\n<h4 class="alert-heading">Oh snap! You got an error!</h4>\n<p>Alert can also be used in a <strong>block form</strong>.</p>\n<p>\n<button class="btn btn-danger" {{action "submit"}}>Take this action</button> <a class="btn btn-default">Or do this</a>\n</p>\n{{/bs-alert}}
    \n
    \n '),d.buffer.push(g((b["bs-alert"]||a&&a["bs-alert"]||f).call(a,{name:"bs-alert",hash:{close:"didAlertClose",closed:"didAlertClosed",dismiss:!0,type:"warning",message:"Close will trigger a function in controller"},hashTypes:{close:"STRING",closed:"STRING",dismiss:"BOOLEAN",type:"STRING",message:"STRING"},hashContexts:{close:a,closed:a,dismiss:a,type:a,message:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n
        {{bs-alert message="Close will trigger a function in controller" type="warning" dismiss=true closed="didAlertClosed" close="didAlertClose"}}
    \n

    Component Properties

    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    PropertyDescription
    messageThe string to display in the alert.
    typeAlert types: success | info | warning | danger
    dismissif true an X link is set to dismiss the alert.
    dismissAfterIf set the alert will be automatically dismissed after the specified amount of seconds
    fadeIf true, the dialog will be faded out when closed.
    closeTriggers the specified function name on the controller immediately when the close instance method is called.
    closedTriggers the specified function name on the controller when the alert has been closed (will wait for CSS transitions to complete).
    \n\n\n'),h},useData:!0}),Ember.TEMPLATES["show_components/badge"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression,g="";return d.buffer.push('

    Badge

    \n\n\n
    <a href="#"> Inbox{{bs-badge content="42"}} </a>
    \n

    Built-in styles

    \n

    Works well with built-in styles that are included for placing badges in active states in pill and list navigations.

    \n\n\n
    <ul class="nav nav-pills">\n    <li class="active"><a href="#">Home {{bs-badge content=42}}</a></li>\n    <li><a href="#">Profile</a></li>\n    <li><a href="#">Messages {{bs-badge content=3}}</a></li>\n</ul>\n<br>\n<ul class="nav nav-pills nav-stacked" style="max-width: 260px;">\n    <li class="active">\n        <a href="#">\n            {{bs-badge class="pull-right"content=42}}\n            Home\n        </a>\n    </li>\n    <li><a href="#">Profile</a></li>\n    <li>\n        <a href="#">\n            {{bs-badge class="pull-right"content=3}}\n            Messages\n        </a>\n    </li>\n</ul>
    \n

    Component Properties

    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    PropertyDescription
    contentstring: The content of the badge.
    \n
    \n'),g},useData:!0}),Ember.TEMPLATES["show_components/breadcrumbs"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){d.buffer.push('

    Breadcrumbs

    \n

    Indicate the current page's location within a navigational hierarchy.

    \n

    The breadcrumbs is magically constructed by interpreting the current router location,

    \n

    Move between components and look at the showcase's breadcrumbs on the top of the screen

    \n

    The only thing needed to setup breadcrumbs is add to one of your top templates (such application template):

    \n
    {{bs-breadcrumbs}}
    \n

    Breadcrumbs Names

    \n

    By default the name of the breadcrumbs is set to the route name,\nyou can change this behavior by specifying some meta info on the route:

    \n
    SomeRoute = Ember.Route.extend({\n    breadcrumbs: {name: 'Primary'}\n\n    ...\n})
    \n')},useData:!0}),Ember.TEMPLATES["show_components/button"]=Ember.HTMLBars.template({1:function(a,b,c,d){d.buffer.push("Content")},3:function(a,b,c,d){d.buffer.push("Primary")},5:function(a,b,c,d){d.buffer.push("Link")},7:function(a,b,c,d){d.buffer.push("Default Large button")},9:function(a,b,c,d){d.buffer.push("Block Button")},11:function(a,b,c,d){d.buffer.push("Disabled Button")},13:function(a,b,c,d){d.buffer.push("Button with Param")},compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f,g,h="function",i=b.helperMissing,j=b.blockHelperMissing,k=this.escapeExpression,l="";return d.buffer.push('

    Button

    \n

    Types

    \n
    \n '),f=null!=(f=b["bs-button"]||(null!=a?a["bs-button"]:a))?f:i,g={name:"bs-button",hash:{},hashTypes:{},hashContexts:{},fn:this.program(1,d),inverse:this.noop,types:[],contexts:[],data:d},e=typeof f===h?f.call(a,g):f,b["bs-button"]||(e=j.call(a,e,g)),null!=e&&d.buffer.push(e),d.buffer.push("\n "),d.buffer.push(k((b["bs-button"]||a&&a["bs-button"]||i).call(a,{name:"bs-button",hash:{title:"Inline Text"},hashTypes:{title:"STRING"},hashContexts:{title:a},types:[],contexts:[],data:d}))),d.buffer.push("\n "),e=(b["bs-button"]||a&&a["bs-button"]||i).call(a,{name:"bs-button",hash:{type:"primary"},hashTypes:{type:"STRING"},hashContexts:{type:a},fn:this.program(3,d),inverse:this.noop,types:[],contexts:[],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("\n "),e=(b["bs-button"]||a&&a["bs-button"]||i).call(a,{name:"bs-button",hash:{type:"link"},hashTypes:{type:"STRING"},hashContexts:{type:a},fn:this.program(5,d),inverse:this.noop,types:[],contexts:[],data:d}),null!=e&&d.buffer.push(e),d.buffer.push('\n\n

    All other types such as info, warning, danger are supported.

    \n
    \n\n\n
    <!-- Standard gray default button with gradient -->\n{{#bs-button}}Content{{/bs-button}}\n\n<!--Inline text as button content-->\n{{bs-button title="Inline Text"}}\n\n<!-- Provides extra visual weight and identifies the primary action in a set of buttons -->\n{{#bs-button type="primary"}}Primary{{/bs-button}}\n\n<!-- Deemphasize a button by making it look like a link while maintaining button behavior -->\n{{#bs-button type="link"}}Link{{/bs-button}}
    \n

    Sizes

    \n

    In correspondence with bootstrap css class button sizes .btn-lg, .btn-sm, or .btn-xs, size can simply defined by the size property or use one of the size properties: small=true, large=true, xs=true

    \n
    \n

    \n '),d.buffer.push(k((b["bs-button"]||a&&a["bs-button"]||i).call(a,{name:"bs-button",hash:{title:"Primary Extra Small Button",size:"xs",type:"primary"},hashTypes:{title:"STRING",size:"STRING",type:"STRING"},hashContexts:{title:a,size:a,type:a},types:[],contexts:[],data:d}))),d.buffer.push("\n "),d.buffer.push(k((b["bs-button"]||a&&a["bs-button"]||i).call(a,{name:"bs-button",hash:{title:"Info Small Button",small:!0,type:"info"},hashTypes:{title:"STRING",small:"BOOLEAN",type:"STRING"},hashContexts:{title:a,small:a,type:a},types:[],contexts:[],data:d}))),d.buffer.push("\n "),d.buffer.push(k((b["bs-button"]||a&&a["bs-button"]||i).call(a,{name:"bs-button",hash:{title:"Danger Default size button",type:"danger"},hashTypes:{title:"STRING",type:"STRING"},hashContexts:{title:a,type:a},types:[],contexts:[],data:d}))),d.buffer.push("\n "),e=(b["bs-button"]||a&&a["bs-button"]||i).call(a,{name:"bs-button",hash:{size:"lg"},hashTypes:{size:"STRING"},hashContexts:{size:a},fn:this.program(7,d),inverse:this.noop,types:[],contexts:[],data:d}),null!=e&&d.buffer.push(e),d.buffer.push('\n

    \n
    \n\n
    {{bs-button type="primary" size="xs" title="Primary Extra Small Button"}}\n{{bs-button type="info" small=true title="Info Small Button"}}\n{{bs-button type="danger" title="Danger Default size button"}}\n{{#bs-button size="lg"}}Default Large button{{/bs-button}}
    \n

    Icon

    \n
    \n

    \n '),d.buffer.push(k((b["bs-button"]||a&&a["bs-button"]||i).call(a,{name:"bs-button",hash:{title:"Button with Icon",icon:"fa fa-check"},hashTypes:{title:"STRING",icon:"STRING"},hashContexts:{title:a,icon:a},types:[],contexts:[],data:d}))),d.buffer.push('\n

    \n

    \n\n

    Simply add an icon property to the button meta data, such:

    \n
    {{bs-button icon="fa fa-check" title="Danger Default size button"}}
    \n

    Will render an <i class="fa fa-check"></i> tag within the button tag.

    \n

    Block Level

    \n

    block level buttons—those that span the full width of a parent— by adding block=true

    \n
    \n '),e=(b["bs-button"]||a&&a["bs-button"]||i).call(a,{name:"bs-button",hash:{block:!0,xs:!0,type:"primary"},hashTypes:{block:"BOOLEAN",xs:"BOOLEAN",type:"STRING"},hashContexts:{block:a,xs:a,type:a},fn:this.program(9,d),inverse:this.noop,types:[],contexts:[],data:d}),null!=e&&d.buffer.push(e),d.buffer.push('\n
    \n\n
    {{#bs-button type="primary" xs=true block=true}}Block Button{{/bs-button}}
    \n

    Disbled state

    \n

    As in Bootstrap, set disabled="disabled"/disabled=true to make the button unclickable.

    \n
    \n '),e=(b["bs-button"]||a&&a["bs-button"]||i).call(a,{name:"bs-button",hash:{disabled:!0,type:"primary"},hashTypes:{disabled:"BOOLEAN",type:"STRING"},hashContexts:{disabled:a,type:a},fn:this.program(11,d),inverse:this.noop,types:[],contexts:[],data:d}),null!=e&&d.buffer.push(e),d.buffer.push('\n
    \n\n
    {{#bs-button type="primary" disabled=true}}Disabled Button{{/bs-button}}
    \n

    Disabled state can also be hooked to a controller property

    \n
    \n '),d.buffer.push(k((b["bs-button"]||a&&a["bs-button"]||i).call(a,{name:"bs-button",hash:{clicked:"disableButton",disabled:"isButtonDisabled",title:"Click to disable",type:"primary"},hashTypes:{clicked:"STRING",disabled:"ID",title:"STRING",type:"STRING"},hashContexts:{clicked:a,disabled:a,title:a,type:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n
    {{bs-button type="primary" title="Click to disable" disabled=isButtonDisabled clicked="disableButton"}}
    \n
      \n
    • isButtonDisabled is a boolean property on the controller
    • \n
    • disableButton is a function on the controller that sets isButtonDisabled to false
    • \n
    \n

    Param

    \n

    It is possible to pass a parameter to the action in the controller that is bound to the click event by using the clickedParam property.

    \n
    \n '),e=(b["bs-button"]||a&&a["bs-button"]||i).call(a,{name:"bs-button",hash:{clickedParamBinding:"controller",clicked:"buttonWithParam",type:"primary"},hashTypes:{clickedParamBinding:"STRING",clicked:"STRING",type:"STRING"},hashContexts:{clickedParamBinding:a,clicked:a,type:a},fn:this.program(13,d),inverse:this.noop,types:[],contexts:[],data:d}),null!=e&&d.buffer.push(e),d.buffer.push('\n
    \n\n\n
    {{#bs-button type="primary" clicked="buttonWithParam" clickedParamBinding="controller"}}Button with Param{{/bs-button}}
    \n

    Action in controller:

    \n
    MyController = Ember.Controller.extend({\n    actions: {\n        buttonWithParam: function(expectedMyself) {\n            alert("Passed controller as a param: " + expectedMyself);\n        }\n    }\n)}
    \n

    State

    \n

    By Bootstrap:

    \n
    \n

    Add data-loading-text="Loading..." to use a loading state on a button.

    \n
    \n

    Then extra loading=loadingState is needed where loadingState is a property in the controller that returns a string which\ndefines the current state of the button:

    \n
      \n
    • If loadingState property equals loading then the button will be disabled and its text will change to the value of the data-loading-text button property.
    • \n
    • If its value is null then the button will be re-enabled and its text will be modified to the original value defined in the title button property.
    • \n
    \n
    \n '),d.buffer.push(k((b["bs-button"]||a&&a["bs-button"]||i).call(a,{name:"bs-button",hash:{clicked:"startLoading",title:"Submit",clicked:"disableButton",loading:"loadingState","data-loading-text":"Loading...",type:"primary"},hashTypes:{clicked:"STRING",title:"STRING",clicked:"STRING",loading:"ID","data-loading-text":"STRING",type:"STRING"},hashContexts:{clicked:a,title:a,clicked:a,loading:a,"data-loading-text":a,type:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n\n
    {{bs-button type="primary" data-loading-text="Loading..." loading=loadingState title="Submit" clicked="startLoading"}}
    \n

    In controller:

    \n\n
    startLoading: function() {\n    var _this = this;\n    this.set('loadingState', 'loading');\n    return Ember.run.later(function() {\n      return _this.set('loadingState', null);\n    }, 2000);\n}
    \n

    The loading property may also return any string that matches one of the data-foo-text button property to render other text\nbut the original text of the button when the loading state completes.

    \n
    \n '),d.buffer.push(k((b["bs-button"]||a&&a["bs-button"]||i).call(a,{name:"bs-button",hash:{clicked:"startLoading1",title:"Submit!",loading:"loadingState1","data-completed-text":"Completed!","data-loading-text":"Loading...",type:"primary"},hashTypes:{clicked:"STRING",title:"STRING",loading:"ID","data-completed-text":"STRING","data-loading-text":"STRING",type:"STRING"},hashContexts:{clicked:a,title:a,loading:a,"data-completed-text":a,"data-loading-text":a,type:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n
    startLoading1: function() {\n    var _this = this;\n    this.set('loadingState', 'loading');\n    return Ember.run.later(function() {\n      return _this.set('loadingState', 'completed');\n    }, 2000);\n}
    \n

    Pay attention that this time the loadingState is set to completed and not null.

    \n

    Component Properties

    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    PropertyDescription
    typeAlert types: success | info | warning | danger
    titleA string representing the text of the button (not required if component is used as a block component)
    clickedTriggers the specified function name on the controller immediately when the button is clicked.
    clickedParamA parameter to pass the action to be invoked immediately when the button is clicked
    sizeCan be: xs | sm | lg
    xsIf set to true it is equivalent to size=xs
    smallIf set to true it is equivalent to size=small
    largeIf set to true it is equivalent to size=large
    blockIf true the button is a block level and will span the full width of its parent
    disabledIf true the button will be disabled, can also be bound to a controller property
    loadingBound to a controller property that defines the state of the button.
    data-loading-textIf loading=foo and foo is a property in the controller and foo property returns loading, then the text of the button will be changed to the value of this property.
    data-xxx-textIf loading=foo and foo is a property in the controller and foo property returns xxx, then the text of the button will be changed to the value of this property.
    \n
    \n'),l -},useData:!0}),Ember.TEMPLATES["show_components/buttonGroup"]=Ember.HTMLBars.template({1:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression,g="";return d.buffer.push(" "),d.buffer.push(f((b["bs-btn-group"]||a&&a["bs-btn-group"]||e).call(a,{name:"bs-btn-group",hash:{selectedBinding:"selected",contentBinding:"options"},hashTypes:{selectedBinding:"STRING",contentBinding:"STRING"},hashContexts:{selectedBinding:a,contentBinding:a},types:[],contexts:[],data:d}))),d.buffer.push("\n "),d.buffer.push(f((b["bs-btn-group"]||a&&a["bs-btn-group"]||e).call(a,{name:"bs-btn-group",hash:{selectedBinding:"selected",contentBinding:"options2"},hashTypes:{selectedBinding:"STRING",contentBinding:"STRING"},hashContexts:{selectedBinding:a,contentBinding:a},types:[],contexts:[],data:d}))),d.buffer.push("\n"),g},3:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression,g="";return d.buffer.push(" "),d.buffer.push(f((b["bs-btn-group"]||a&&a["bs-btn-group"]||e).call(a,{name:"bs-btn-group",hash:{selectedBinding:"selected",contentBinding:"options",size:"lg"},hashTypes:{selectedBinding:"STRING",contentBinding:"STRING",size:"STRING"},hashContexts:{selectedBinding:a,contentBinding:a,size:a},types:[],contexts:[],data:d}))),d.buffer.push("\n"),g},5:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression,g="";return d.buffer.push(" "),d.buffer.push(f((b["bs-btn-group"]||a&&a["bs-btn-group"]||e).call(a,{name:"bs-btn-group",hash:{selectedBinding:"selected",contentBinding:"options"},hashTypes:{selectedBinding:"STRING",contentBinding:"STRING"},hashContexts:{selectedBinding:a,contentBinding:a},types:[],contexts:[],data:d}))),d.buffer.push("\n"),g},7:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression,g="";return d.buffer.push(" "),d.buffer.push(f((b["bs-btn-group"]||a&&a["bs-btn-group"]||e).call(a,{name:"bs-btn-group",hash:{selectedBinding:"selected",contentBinding:"options",small:!0},hashTypes:{selectedBinding:"STRING",contentBinding:"STRING",small:"BOOLEAN"},hashContexts:{selectedBinding:a,contentBinding:a,small:a},types:[],contexts:[],data:d}))),d.buffer.push("\n"),g},9:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression,g="";return d.buffer.push(" "),d.buffer.push(f((b["bs-btn-group"]||a&&a["bs-btn-group"]||e).call(a,{name:"bs-btn-group",hash:{selectedBinding:"selected",contentBinding:"options",size:"xs"},hashTypes:{selectedBinding:"STRING",contentBinding:"STRING",size:"STRING"},hashContexts:{selectedBinding:a,contentBinding:a,size:a},types:[],contexts:[],data:d}))),d.buffer.push("\n"),g},11:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression,g="";return d.buffer.push(" "),d.buffer.push(f((b["bs-btn-group"]||a&&a["bs-btn-group"]||e).call(a,{name:"bs-btn-group",hash:{selectedBinding:"selected",contentBinding:"optionsWithMeta",size:"lg"},hashTypes:{selectedBinding:"STRING",contentBinding:"STRING",size:"STRING"},hashContexts:{selectedBinding:a,contentBinding:a,size:a},types:[],contexts:[],data:d}))),d.buffer.push("\n"),g},compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f,g,h=b.helperMissing,i=this.escapeExpression,j="function",k=b.blockHelperMissing,l="";return d.buffer.push('

    Button Group

    \n

    To wrap a series of buttons, use the bs-btn-group component.

    \n

    Standard

    \n
    \n '),d.buffer.push(i((b["bs-btn-group"]||a&&a["bs-btn-group"]||h).call(a,{name:"bs-btn-group",hash:{selectedBinding:"selected",contentBinding:"options"},hashTypes:{selectedBinding:"STRING",contentBinding:"STRING"},hashContexts:{selectedBinding:a,contentBinding:a},types:[],contexts:[],data:d}))),d.buffer.push("\n
    \n Controller say selected item is: "),e=b._triageMustache.call(a,"selected",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push('\n
    \n\n

    content is an array of options, each option is rendered as a button tag.

    \n

    TODO: SHOW CODE

    \n

    Icons

    \n

    It is possible to set an icon for the selected button in a group or/and an icon for the in-active buttons by\nsetting the icon_active and/or icon_inactive properties to the icon class name.

    \n
    \n '),d.buffer.push(i((b["bs-btn-group"]||a&&a["bs-btn-group"]||h).call(a,{name:"bs-btn-group",hash:{selectedBinding:"selected",contentBinding:"options",icon_active:"fa fa-check-square-o",icon_inactive:"fa fa-square-o"},hashTypes:{selectedBinding:"STRING",contentBinding:"STRING",icon_active:"STRING",icon_inactive:"STRING"},hashContexts:{selectedBinding:a,contentBinding:a,icon_active:a,icon_inactive:a},types:[],contexts:[],data:d}))),d.buffer.push("\n
    \n Controller say selected item is: "),e=b._triageMustache.call(a,"selected",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push('\n
    \n\n
    <div class="bs-example">\n    {{bs-btn-group icon_inactive="fa fa-square-o" icon_active="fa fa-check-square-o" contentBinding="options" selectedBinding="selected"}}\n    <br/>\n    Controller say selected item is: {{selected}}\n</div>
    \n

    Button Toolbar

    \n

    Combine sets of bs-btn-groups into a bs-btn-toolbar for more complex components.

    \n
    \n'),f=null!=(f=b["bs-btn-toolbar"]||(null!=a?a["bs-btn-toolbar"]:a))?f:h,g={name:"bs-btn-toolbar",hash:{},hashTypes:{},hashContexts:{},fn:this.program(1,d),inverse:this.noop,types:[],contexts:[],data:d},e=typeof f===j?f.call(a,g):f,b["bs-btn-toolbar"]||(e=k.call(a,e,g)),null!=e&&d.buffer.push(e),d.buffer.push('
    \n\n

    Sizing

    \n

    You can set size in the group level instead of setting size per button.

    \n
    \n'),f=null!=(f=b["bs-btn-toolbar"]||(null!=a?a["bs-btn-toolbar"]:a))?f:h,g={name:"bs-btn-toolbar",hash:{},hashTypes:{},hashContexts:{},fn:this.program(3,d),inverse:this.noop,types:[],contexts:[],data:d},e=typeof f===j?f.call(a,g):f,b["bs-btn-toolbar"]||(e=k.call(a,e,g)),null!=e&&d.buffer.push(e),f=null!=(f=b["bs-btn-toolbar"]||(null!=a?a["bs-btn-toolbar"]:a))?f:h,g={name:"bs-btn-toolbar",hash:{},hashTypes:{},hashContexts:{},fn:this.program(5,d),inverse:this.noop,types:[],contexts:[],data:d},e=typeof f===j?f.call(a,g):f,b["bs-btn-toolbar"]||(e=k.call(a,e,g)),null!=e&&d.buffer.push(e),f=null!=(f=b["bs-btn-toolbar"]||(null!=a?a["bs-btn-toolbar"]:a))?f:h,g={name:"bs-btn-toolbar",hash:{},hashTypes:{},hashContexts:{},fn:this.program(7,d),inverse:this.noop,types:[],contexts:[],data:d},e=typeof f===j?f.call(a,g):f,b["bs-btn-toolbar"]||(e=k.call(a,e,g)),null!=e&&d.buffer.push(e),f=null!=(f=b["bs-btn-toolbar"]||(null!=a?a["bs-btn-toolbar"]:a))?f:h,g={name:"bs-btn-toolbar",hash:{},hashTypes:{},hashContexts:{},fn:this.program(9,d),inverse:this.noop,types:[],contexts:[],data:d},e=typeof f===j?f.call(a,g):f,b["bs-btn-toolbar"]||(e=k.call(a,e,g)),null!=e&&d.buffer.push(e),d.buffer.push('
    \n\n\n

    Vertical variation

    \n

    Make a set of buttons appear vertically stacked rather than horizontally by adding vertical=true.

    \n
    \n '),d.buffer.push(i((b["bs-btn-group"]||a&&a["bs-btn-group"]||h).call(a,{name:"bs-btn-group",hash:{vertical:!0,selectedBinding:"selected",contentBinding:"options"},hashTypes:{vertical:"BOOLEAN",selectedBinding:"STRING",contentBinding:"STRING"},hashContexts:{vertical:a,selectedBinding:a,contentBinding:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n

    Buttons with Metadata

    \n

    It is possible to provide extra metadata per button in the group.

    \n
    \n'),f=null!=(f=b["bs-btn-toolbar"]||(null!=a?a["bs-btn-toolbar"]:a))?f:h,g={name:"bs-btn-toolbar",hash:{},hashTypes:{},hashContexts:{},fn:this.program(11,d),inverse:this.noop,types:[],contexts:[],data:d},e=typeof f===j?f.call(a,g):f,b["bs-btn-toolbar"]||(e=k.call(a,e,g)),null!=e&&d.buffer.push(e),d.buffer.push('
    \n\n
    {{bs-btn-group size="lg" contentBinding="optionsWithMeta" selectedBinding="selected"}}
    \n

    Controller's code:

    \n
    \nShowcase.ShowComponentsButtonGroupController = Ember.Controller.extend({\n  optionsWithMeta: [\n    Ember.Object.create({title: 'Create', type: 'primary'}),\n    Ember.Object.create(({title: 'Destroy', type: 'danger'})\n  ]\n});
    \n'),l},useData:!0}),Ember.TEMPLATES["show_components/growl-notif"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression,g="";return d.buffer.push('

    Growl like Notifications

    \n

    Growl Notifications is not a Bootstrap component but is mandatory for almost every web application.

    \n

    Growl Notifications are just like the Notification component but messages that are rendered as small boxes on the right top of the screen, they fade in for a short period of time with a title, sub text and icon and then fade out.

    \n

    To use growl notifications, put somewhere in your application template the bs-growl-notifications component.

    \n
    {{bs-growl-notifications}}
    \n

    Then use the GrowlNotificationManager / GNM to push new notifications with a message and type.

    \n
    \n '),d.buffer.push(f((b["bs-button"]||a&&a["bs-button"]||e).call(a,{name:"bs-button",hash:{title:"Push Info",clicked:"pushInfo"},hashTypes:{title:"STRING",clicked:"STRING"},hashContexts:{title:a,clicked:a},types:[],contexts:[],data:d}))),d.buffer.push("\n "),d.buffer.push(f((b["bs-button"]||a&&a["bs-button"]||e).call(a,{name:"bs-button",hash:{title:"Push Warning",clicked:"pushWarn"},hashTypes:{title:"STRING",clicked:"STRING"},hashContexts:{title:a,clicked:a},types:[],contexts:[],data:d}))),d.buffer.push("\n "),d.buffer.push(f((b["bs-button"]||a&&a["bs-button"]||e).call(a,{name:"bs-button",hash:{title:"Push Success",clicked:"pushSuccess"},hashTypes:{title:"STRING",clicked:"STRING"},hashContexts:{title:a,clicked:a},types:[],contexts:[],data:d}))),d.buffer.push("\n "),d.buffer.push(f((b["bs-button"]||a&&a["bs-button"]||e).call(a,{name:"bs-button",hash:{title:"Push Danger",clicked:"pushDanger"},hashTypes:{title:"STRING",clicked:"STRING"},hashContexts:{title:a,clicked:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n

    Controller code:

    \n
    Showcase.ShowComponentsGrowlNotifController = Ember.Controller.extend({\n  pushInfo: function() {\n    Bootstrap.GNM.push('INFO!', 'Hello, this is just an info message.', 'info');\n  },\n  pushSuccess: function() {\n    Bootstrap.GNM.push('SUCCESS!', 'Successfully performed operation!', 'success');\n  },\n  pushWarn: function() {\n    Bootstrap.GNM.push('WARN!', 'Could not perform operation!', 'warning');\n  },\n  pushDanger: function() {\n    Bootstrap.GNM.push('Danger!', 'System is halting!', 'danger');\n  }\n});
    \n

    You can control the visibility duration of each message by specifying the showTime property.

    \n

    Component Files

    \n
      \n
    • css/bs-growl-notifications.min.css
    • \n
    • js/bs-growl-notifications.min.js
    • \n
    \n

    Component Properties

    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    PropertyDescriptionDefault
    showTimeA number in ms that defines how long the notification is displayed before it starts to fade out.10 seconds
    \n
    \n'),g},useData:!0}),Ember.TEMPLATES["show_components/items_action_bar"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression,g="";return d.buffer.push('

    Item action bar

    \n

    When listing items that support selection, it usually make sense to perform some actions on the selected item(s).

    \n

    The Items action bar component make it possible to build an bar of buttons where each button visibility may behave differently according to the selection,

    \n

    For example an 'Edit' button may be disabled unless 1 item is selected, or a 'Delete' button may be enabled only\nwhen there is 1 or more items selected.

    \n

    In the template, only 1 expression is needed, the content property is expected to be an array of array, where each array represents a section in the action bar and contains objects that represent a button defintion in the bar, the selectedItems property is expected to be an array of the currently selected items on a list.

    \n
    \n '),d.buffer.push(f((b["bs-items-action-bar"]||a&&a["bs-items-action-bar"]||e).call(a,{name:"bs-items-action-bar",hash:{selectedItemsBinding:"selection",contentBinding:"actionsInBar"},hashTypes:{selectedItemsBinding:"STRING",contentBinding:"STRING"},hashContexts:{selectedItemsBinding:a,contentBinding:a},types:[],contexts:[],data:d}))),d.buffer.push("\n
    \n "),d.buffer.push(f((b["bs-pills"]||a&&a["bs-pills"]||e).call(a,{name:"bs-pills",hash:{selectedBinding:"selection",contentBinding:"items"},hashTypes:{selectedBinding:"STRING",contentBinding:"STRING"},hashContexts:{selectedBinding:a,contentBinding:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n

    For the sake of simplicity in this example we use the bs-pills component to list items with signle itemselection support,\nbut this can be replaced with a table or any other visual form that supports selection.

    \n
    {{bs-items-action-bar contentBinding="actionsInBar" selectedItemsBinding="selection"}}\n{{bs-pills contentBinding="items" selectedBinding="selection"}}
    \n

    Per action defined in the controller (see below), it is possible to define whether the action should be disabled or not\nand what should happen when an enabled action is clicked,

    \n
      \n
    • Implement the disabled function per action and return true if the action should be disabled, the method recieve the current selection so logic may take the selection into consideration whether the action should be disabled or not.
    • \n
    • Define transitionTo property with a route name if you want the action to transition to another route when pressed.
    • \n
    • Define the clickActionName property with an action name to be invoked on the controller when action is clicked.
    • \n
    \n

    Controller's code:

    \n
    Showcase.ShowComponentsItemsActionBarController = Ember.Controller.extend({\n  actionsInBar: [\n    [\n      {\n        title: 'To Alerts',\n        disabled: function(selection) {\n          var _ref;\n          if (selection.size < 1 || (selection != null ? (_ref = selection[0]) != null ? _ref.title : void 0 : void 0) !== 'Alerts') {\n            return true;\n          }\n        },\n        transitionTo: 'show_components.alert'\n      }, {\n        title: 'To Panels',\n        transitionTo: 'show_components.panel',\n        disabled: function(selection) {\n          var _ref;\n          if (selection.size < 1 || (selection != null ? (_ref = selection[0]) != null ? _ref.title : void 0 : void 0) !== 'Panels') {\n            return true;\n          }\n        }\n      }\n    ], [\n      {\n        title: 'To Wizard',\n        disabled: function(selection) {\n          var _ref;\n          if (selection.size < 1 || (selection != null ? (_ref = selection[0]) != null ? _ref.title : void 0 : void 0) !== 'Wizards') {\n            return true;\n          }\n        },\n        clickActionName: 'wizard'\n      }\n    ]\n  ],\n  actions: {\n    wizard: function(selection) {\n      return alert("Wizard pressed!");\n    }\n  },\n  items: [\n    Ember.Object.create({\n      title: 'Alerts'\n    }), Ember.Object.create({\n      title: 'Panels'\n    }), Ember.Object.create({\n      title: 'Wizards'\n    })\n  ]\n});
    \n'),g},useData:!0}),Ember.TEMPLATES["show_components/label"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression,g="";return d.buffer.push('

    Label

    \n

    Basic

    \n
    \n

    Heading with label '),d.buffer.push(f((b["bs-label"]||a&&a["bs-label"]||e).call(a,{name:"bs-label",hash:{content:"Label"},hashTypes:{content:"STRING"},hashContexts:{content:a},types:[],contexts:[],data:d}))),d.buffer.push('

    \n
    \n\n
        <h3>Heading with label {{bs-label content="Label"}}</h3>
    \n

    With Type

    \n
    \n

    Heading with danger '),d.buffer.push(f((b["bs-label"]||a&&a["bs-label"]||e).call(a,{name:"bs-label",hash:{type:"danger",content:"Careful!"},hashTypes:{type:"STRING",content:"STRING"},hashContexts:{type:a,content:a},types:[],contexts:[],data:d}))),d.buffer.push('

    \n
    \n\n
        <h3>Heading with <strong>danger</strong> {{bs-label content="Careful!" type="danger"}}</h3>
    \n

    Component Properties

    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    PropertyDescription
    contentstring: the label content.
    typeLabel types: success | info | warning | danger
    \n
    \n'),g},useData:!0}),Ember.TEMPLATES["show_components/list-group"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f=b.helperMissing,g=this.escapeExpression,h="";return d.buffer.push('

    List Group

    \n
    \n

    List groups are a flexible and powerful component for displaying not only simple lists of elements, but complex ones with custom content.\nBy Bootstrap

    \n
    \n

    All list items are linkable and selection can easily be observed

    \n

    Simple

    \n

    The most basic list group is simply an unordered list with list items.

    \n
    \n'),d.buffer.push(g((b["bs-list-group"]||a&&a["bs-list-group"]||f).call(a,{name:"bs-list-group",hash:{selectedBinding:"selected",contentBinding:"listSimple"},hashTypes:{selectedBinding:"STRING",contentBinding:"STRING"},hashContexts:{selectedBinding:a,contentBinding:a},types:[],contexts:[],data:d}))),d.buffer.push("\n\nSelected: "),e=b._triageMustache.call(a,"selected",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push('\n
    \n\n
    {{bs-list-group contentBinding="listSimple"}}
    \n

    Controller's code:

    \n
    Showcase.ShowComponentsListGroupController = Ember.Controller.extend({\n    listSimple: Ember.A(['Cras justo odio', 'Dapibus ac facilisis in', 'Morbi leo risus'])\n})
    \n

    Badges

    \n

    Each item in the list can have badge component that will automatically be positioned on the right.

    \n
    \n '),d.buffer.push(g((b["bs-list-group"]||a&&a["bs-list-group"]||f).call(a,{name:"bs-list-group",hash:{contentBinding:"listWithBadges"},hashTypes:{contentBinding:"STRING"},hashContexts:{contentBinding:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n
    {{bs-list-group contentBinding="listWithBadges"}}
    \n

    Controller's code:

    \n
    Showcase.ShowComponentsListGroupController = Ember.Controller.extend({\n  listWithBadges: Ember.A([\n    Ember.Object.create({title: 'Inbox', badge: '45'}),\n    Ember.Object.create({ title: 'Sent', badge: '33'})\n  ])\n});
    \n

    List with Sub Text

    \n

    Items can have a sub text enabled if an item metadata has the 'sub' property.

    \n
    \n '),d.buffer.push(g((b["bs-list-group"]||a&&a["bs-list-group"]||f).call(a,{name:"bs-list-group",hash:{contentBinding:"listWithSub"},hashTypes:{contentBinding:"STRING"},hashContexts:{contentBinding:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n
    {{bs-list-group contentBinding="listWithSub"}}
    \n

    Controller's code:

    \n
    Showcase.ShowComponentsListGroupController = Ember.Controller.extend({\n  listWithSub: Ember.A([\n    Ember.Object.create({title: 'Inbox', badge: '45'}),\n    Ember.Object.create({ title: 'Sent', badge: '33'})\n  ])\n});
    \n'),h},useData:!0}),Ember.TEMPLATES["show_components/modal"]=Ember.HTMLBars.template({1:function(a,b,c,d){d.buffer.push("

    Modal content!

    \n")},compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f=b.helperMissing,g=this.escapeExpression,h="";return d.buffer.push('

    Modal

    \n
    \n

    Modals are streamlined, but flexible, dialog prompts with the minimum required functionality and smart defaults.\nby Bootstrap

    \n
    \n

    Blocked Modal

    \n

    A rendered modal with header, body, and set of actions in the footer.

    \n
    \n '),d.buffer.push(g((b["bs-button"]||a&&a["bs-button"]||f).call(a,{name:"bs-button",hash:{clicked:"show",title:"Show Modal"},hashTypes:{clicked:"STRING",title:"STRING"},hashContexts:{clicked:a,title:a},types:[],contexts:[],data:d}))),d.buffer.push("\n"),e=(b["bs-modal"]||a&&a["bs-modal"]||f).call(a,{name:"bs-modal",hash:{title:"My Modal",footerButtonsBinding:"myModalButtons",fade:!0,name:"myModal"},hashTypes:{title:"STRING",footerButtonsBinding:"STRING",fade:"BOOLEAN",name:"STRING"},hashContexts:{title:a,footerButtonsBinding:a,fade:a,name:a},fn:this.program(1,d),inverse:this.noop,types:[],contexts:[],data:d}),null!=e&&d.buffer.push(e),d.buffer.push('
    \n\n
        {{bs-button title="Show Modal" clicked="show"}}\n    {{#bs-modal name="myModal" fade=true footerButtonsBinding="myModalButtons" title="My Modal"}}\n        <p>Modal content!</p>\n    {{/bs-modal}}
    \n

    Controller's code:

    \n
    Showcase.ShowComponentsModalController = Ember.Controller.extend({\n  myModalButtons: [\n      Ember.Object.create({title: 'Submit', clicked:"submit"})\n      Ember.Object.create({title: 'Cancel', clicked:"cancel", dismiss: 'modal'})\n  ],\n\n  actions: {\n    //Submit the modal\n    submit: function() {\n      Bootstrap.NM.push('Successfully submitted modal', 'success');\n      return Bootstrap.ModalManager.hide('myModal');\n    },\n\n    //Cancel the modal, we don't need to hide the model manually because we set {..., dismiss: 'modal'} on the button meta data\n    cancel: function() {\n      return Bootstrap.NM.push('Modal was cancelled', 'info');\n    },\n\n    //Show the modal\n    show: function() {\n      return Bootstrap.ModalManager.show('myModal');\n    }\n  }\n});
    \n

    NOTE: The buttons defined in the array object can contain the same attributes as the button component. For example: for a 'danger' button, add "type='danger'" to the object defining the button.

    \n

    Confirmation Modal

    \n

    For a simple confirmation modal, you can simply invoke Bootstrap.ModalManager.confirm(this);

    \n
    \n '),d.buffer.push(g((b["bs-button"]||a&&a["bs-button"]||f).call(a,{name:"bs-button",hash:{clicked:"confirm",title:"Delete"},hashTypes:{clicked:"STRING",title:"STRING"},hashContexts:{clicked:a,title:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n
    {{bs-button title="Delete" clicked="confirm"}}
    \n

    Controller's code:

    \n
    Showcase.ShowComponentsModalController = Ember.Controller.extend({\n    confirm: {\n        confirm: {\n            Bootstrap.ModalManager.confirm(@);\n        },\n        //invoked when user press "confirm"\n        modalConfirmed: {\n            Bootstrap.NM.push('Confirmed!', 'success')\n        },\n        //invoked when user press "cancel"\n        modalCanceled: {\n            Bootstrap.NM.push('Cancelled!', 'info')\n        }\n    }\n})
    \n

    The Bootstrap.ModalManager.confirm method accept the following parameters:

    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    PropertyDescriptionOptional?
    controllerA reference to the controller that the confirm/cancel actions will be triggered onno
    titleThe title of the modal that.yes
    messageThe body text of the modal.yes
    confirmButtonTitleThe title of the confirm buttonyes
    cancelButtonTitleThe title of the cancel buttonyes
    \n
    \n\n\n

    Programatically Modal Creation

    \n

    It is also possible to programatically create a modal, this approach is useful if the modal contains a lot of elements and it makes sense to push the modal elements into the DOM programatically and totally destroy the modal when it is closed.

    \n
    \n '),d.buffer.push(g((b["bs-button"]||a&&a["bs-button"]||f).call(a,{name:"bs-button",hash:{clicked:"createModalProgramatically",title:"Create Modal"},hashTypes:{clicked:"STRING",title:"STRING"},hashContexts:{clicked:a,title:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n
    //we only render a button which will programatically create the modal\n{{bs-button title="Create Modal" clicked="createModalProgramatically"}}
    \n

    Controller's code:

    \n
    Showcase.ShowComponentsModalController = Ember.Controller.extend({\n  manualButtons: [\n      Ember.Object.create({title: 'Submit', clicked:"submitManual"})\n      Ember.Object.create({title: 'Cancel', dismiss: 'modal'})\n  ],\n\n  actions: {\n    submitManual: function() {\n      Bootstrap.NM.push('Modal destroyed!', 'success');\n      return Bootstrap.ModalManager.close('manualModal');\n    },\n    createModalProgramatically: function() {\n      //@property {string} The name of the modal, required later to close the modal (see submitManual function above)\n      //@property {string} The title of the modal.\n      //@property {string} The template name to render within the modal body, a View class may also be specified.\n      //@property {array} Array of Button meta data\n      //@property {object} The controller instance that instantiate the modal.\n      Bootstrap.ModalManager.open('manualModal', 'Hello', 'demo-template', this.manualButtons, this);\n    }\n  }\n});
    \n'),h},useData:!0}),Ember.TEMPLATES["show_components/notifications"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression,g="";return d.buffer.push('

    Notifications

    \n

    Notifications is not a Bootstrap component but is mandatory for almost every web application.

    \n

    Notifications are messages that are rendered as Alerts, they fade in for a short period of time with some message and type and then they fade out.

    \n

    Notifications are pushed into an array, so different parts of the application may push notifications to the user\nand each will be displayed one after another.

    \n

    To use notifications, put somewhere in your application template the bs-notifications component.

    \n
    {{bs-notifications style="z-index: 1000; position: fixed; width: 50%; left: 0; right: 0; margin-left: auto; margin-right: auto; margin-top: 50px;"}}
    \n

    How you style the component is up to you, this is just an example for centralizing the notifications on the screen.

    \n

    Then use the NotificationManager / NM to push new notifications with a message and type.

    \n
    \n '),d.buffer.push(f((b["bs-button"]||a&&a["bs-button"]||e).call(a,{name:"bs-button",hash:{title:"Push Info",clicked:"pushInfo",type:"info"},hashTypes:{title:"STRING",clicked:"STRING",type:"STRING"},hashContexts:{title:a,clicked:a,type:a},types:[],contexts:[],data:d}))),d.buffer.push("\n "),d.buffer.push(f((b["bs-button"]||a&&a["bs-button"]||e).call(a,{name:"bs-button",hash:{title:"Push Warning",clicked:"pushWarn",type:"warning"},hashTypes:{title:"STRING",clicked:"STRING",type:"STRING"},hashContexts:{title:a,clicked:a,type:a},types:[],contexts:[],data:d}))),d.buffer.push("\n "),d.buffer.push(f((b["bs-button"]||a&&a["bs-button"]||e).call(a,{name:"bs-button",hash:{title:"Push Success",clicked:"pushSuccess",type:"success"},hashTypes:{title:"STRING",clicked:"STRING",type:"STRING"},hashContexts:{title:a,clicked:a,type:a},types:[],contexts:[],data:d}))),d.buffer.push("\n "),d.buffer.push(f((b["bs-button"]||a&&a["bs-button"]||e).call(a,{name:"bs-button",hash:{title:"Push Danger",clicked:"pushDanger",type:"danger"},hashTypes:{title:"STRING",clicked:"STRING",type:"STRING"},hashContexts:{title:a,clicked:a,type:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n

    Controller code:

    \n
    Showcase.ShowComponentsNotificationsController = Ember.Controller.extend({\n  pushInfo: function() {\n    return Bootstrap.NM.push('Hello, this is just an info message.', 'info');\n  },\n  pushWarn: function() {\n    return Bootstrap.NM.push('Could not perform operation!', 'warning');\n  },\n  pushSuccess: function() {\n    return Bootstrap.NM.push('Successfully performed operation!', 'success');\n  },\n  pushDanger: function() {\n    return Bootstrap.NM.push('Danger! system is halting!', 'danger');\n  }\n});
    \n

    During fade out, If user hover with the mouse in the notification area, it will cancel the fade in animation so the user can have more time to read the message, moving the mouse out will retrigger the fade out.

    \n

    You can control the duration messages are displayed, the fade out and fade in time by providing properties for each, for more info see the properties options below.

    \n

    Component Properties

    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    PropertyDescription
    showTimeA number in ms that defines how long the notification is displayed before it starts to fade out.
    fadeInTimeA number in ms that defines how long it takes a notification to fades in.
    fadeOutTimeA number in ms that defines how long it takes a notification to fade out.
    \n
    \n'),g -},useData:!0}),Ember.TEMPLATES["show_components/page-header"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression,g="";return d.buffer.push('

    Page Header

    \n


    \n
    \n

    A simple shell for an h1 to appropriately space out and segment sections of content on a page. It can utilize the h1's default small element, as well as most other components (with additional styles).\nBy Bootstrap

    \n
    \n
    \n '),d.buffer.push(f((b["bs-page-header"]||a&&a["bs-page-header"]||e).call(a,{name:"bs-page-header",hash:{sub:"Subtext for header",title:"Example page header"},hashTypes:{sub:"STRING",title:"STRING"},hashContexts:{sub:a,title:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n
        {{bs-page-header title="Example page header" sub="Subtext for header"}}
    \n'),g},useData:!0}),Ember.TEMPLATES["show_components/panel"]=Ember.HTMLBars.template({1:function(a,b,c,d){d.buffer.push("

    Panel content goes here...!

    \n")},3:function(a,b,c,d){d.buffer.push("

    Panel content.

    \n")},5:function(a,b,c,d){d.buffer.push("

    Panel content goes here...!

    \n")},7:function(a,b,c,d){d.buffer.push("

    IM OPEN NOW!

    \n")},compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f=b.helperMissing,g="";return d.buffer.push('

    Panel

    \n
    \n

    While not always necessary, sometimes you need to put your DOM in a box. For those situations, try the panel component.\nBy Bootstrap

    \n
    \n

    Basic

    \n
    \n'),e=(b["bs-panel"]||a&&a["bs-panel"]||f).call(a,{name:"bs-panel",hash:{footer:"Panel Footer",heading:"Simple Panel"},hashTypes:{footer:"STRING",heading:"STRING"},hashContexts:{footer:a,heading:a},fn:this.program(1,d),inverse:this.noop,types:[],contexts:[],data:d}),null!=e&&d.buffer.push(e),d.buffer.push('
    \n\n
    {{#bs-panel heading="Simple Panel" footer="Panel Footer"}}\n    <p>Panel content goes here...!</p>\n{{/bs-panel}}
    \n

    Contextual alternatives

    \n
    \n

    Like other components, easily make a panel more meaningful to a particular context by adding any of the contextual state classes.\nBy Bootstrap

    \n
    \n
    \n'),e=(b["bs-panel"]||a&&a["bs-panel"]||f).call(a,{name:"bs-panel",hash:{type:"primary",heading:"Primary Panel"},hashTypes:{type:"STRING",heading:"STRING"},hashContexts:{type:a,heading:a},fn:this.program(3,d),inverse:this.noop,types:[],contexts:[],data:d}),null!=e&&d.buffer.push(e),e=(b["bs-panel"]||a&&a["bs-panel"]||f).call(a,{name:"bs-panel",hash:{type:"success",heading:"Success Panel"},hashTypes:{type:"STRING",heading:"STRING"},hashContexts:{type:a,heading:a},fn:this.program(3,d),inverse:this.noop,types:[],contexts:[],data:d}),null!=e&&d.buffer.push(e),e=(b["bs-panel"]||a&&a["bs-panel"]||f).call(a,{name:"bs-panel",hash:{type:"info",heading:"Info Panel"},hashTypes:{type:"STRING",heading:"STRING"},hashContexts:{type:a,heading:a},fn:this.program(3,d),inverse:this.noop,types:[],contexts:[],data:d}),null!=e&&d.buffer.push(e),e=(b["bs-panel"]||a&&a["bs-panel"]||f).call(a,{name:"bs-panel",hash:{type:"warning",heading:"Warning Panel"},hashTypes:{type:"STRING",heading:"STRING"},hashContexts:{type:a,heading:a},fn:this.program(3,d),inverse:this.noop,types:[],contexts:[],data:d}),null!=e&&d.buffer.push(e),e=(b["bs-panel"]||a&&a["bs-panel"]||f).call(a,{name:"bs-panel",hash:{type:"danger",heading:"Danger Panel"},hashTypes:{type:"STRING",heading:"STRING"},hashContexts:{type:a,heading:a},fn:this.program(3,d),inverse:this.noop,types:[],contexts:[],data:d}),null!=e&&d.buffer.push(e),d.buffer.push('
    \n\n
        {{#bs-panel heading="Primary Panel" type="primary"}}\n        <p>Panel content.</p>\n    {{/bs-panel}}\n    {{#bs-panel heading="Success Panel" type="success"}}\n        <p>Panel content.</p>\n    {{/bs-panel}}\n    {{#bs-panel heading="Info Panel" type="info"}}\n        <p>Panel content.</p>\n    {{/bs-panel}}\n    {{#bs-panel heading="Warning Panel" type="warning"}}\n        <p>Panel content.</p>\n    {{/bs-panel}}\n    {{#bs-panel heading="Danger Panel" type="danger"}}\n        <p>Panel content.</p>\n    {{/bs-panel}}
    \n

    Dismissable Panels

    \n

    This goes beyond what Bootstrap offers and let you create a closable panels by adding the dismiss=true property

    \n
    \n'),e=(b["bs-panel"]||a&&a["bs-panel"]||f).call(a,{name:"bs-panel",hash:{onClose:"panelClosed",dismiss:!0,type:"primary",heading:"Primary Panel"},hashTypes:{onClose:"STRING",dismiss:"BOOLEAN",type:"STRING",heading:"STRING"},hashContexts:{onClose:a,dismiss:a,type:a,heading:a},fn:this.program(3,d),inverse:this.noop,types:[],contexts:[],data:d}),null!=e&&d.buffer.push(e),d.buffer.push('
    \n\n\n
    {{#bs-panel heading="Primary Panel" type="primary" dismiss=true onClose="panelClosed"}}\n    <p>Panel content.</p>\n{{/bs-panel}}
    \n

    Clickable Panels

    \n

    Panels can also be clickable, the click is propagated to the current controller via the clicked property

    \n
    \n'),e=(b["bs-panel"]||a&&a["bs-panel"]||f).call(a,{name:"bs-panel",hash:{clicked:"panelClicked",type:"primary",heading:"Primary Panel"},hashTypes:{clicked:"STRING",type:"STRING",heading:"STRING"},hashContexts:{clicked:a,type:a,heading:a},fn:this.program(3,d),inverse:this.noop,types:[],contexts:[],data:d}),null!=e&&d.buffer.push(e),d.buffer.push('
    \n\n
    {{#bs-panel heading="Primary Panel" type="primary" clicked="panelClicked"}}\n    <p>Panel content.</p>\n{{/bs-panel}}
    \n

    Collapsible Panels

    \n

    Panels can be collapsible, to enable collapsible support set collapsible=true on the component tag:

    \n
    \n'),e=(b["bs-panel"]||a&&a["bs-panel"]||f).call(a,{name:"bs-panel",hash:{footer:"Panel Footer",dismiss:!0,collapsible:!0,heading:"Simple Panel"},hashTypes:{footer:"STRING",dismiss:"BOOLEAN",collapsible:"BOOLEAN",heading:"STRING"},hashContexts:{footer:a,dismiss:a,collapsible:a,heading:a},fn:this.program(5,d),inverse:this.noop,types:[],contexts:[],data:d}),null!=e&&d.buffer.push(e),d.buffer.push('
    \n\n
    {{#bs-panel heading="Simple Panel" collapsible=true dismiss=true footer="Panel Footer"}}\n    <p>Panel content goes here...!</p>\n{{/bs-panel}}
    \n

    Collapsible panels can also be closed by default by setting open=false.

    \n
    \n'),e=(b["bs-panel"]||a&&a["bs-panel"]||f).call(a,{name:"bs-panel",hash:{open:!1,dismiss:!0,collapsible:!0,heading:"Open me!"},hashTypes:{open:"BOOLEAN",dismiss:"BOOLEAN",collapsible:"BOOLEAN",heading:"STRING"},hashContexts:{open:a,dismiss:a,collapsible:a,heading:a},fn:this.program(7,d),inverse:this.noop,types:[],contexts:[],data:d}),null!=e&&d.buffer.push(e),d.buffer.push('
    \n\n
    {{#bs-panel heading="Simple Panel" collapsible=true dismiss=true footer="Panel Footer"}}\n    <p>Panel content goes here...!</p>\n{{/bs-panel}}
    \n'),g},useData:!0}),Ember.TEMPLATES["show_components/pills"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f=b.helperMissing,g=this.escapeExpression,h="";return d.buffer.push('

    Pills

    \n

    Pills are a button-like navigation style,

    \n

    Bootstrap doesn't dictate nor assist with how you respond when an item is selected in the Pills navigation,\nBut using bs-pills helps by making the navigation more interactive by providing selection bindings and styling the\nactive element, see examples below.

    \n
    \n '),d.buffer.push(g((b["bs-pills"]||a&&a["bs-pills"]||f).call(a,{name:"bs-pills",hash:{selectedBinding:"selected",contentBinding:"content"},hashTypes:{selectedBinding:"STRING",contentBinding:"STRING"},hashContexts:{selectedBinding:a,contentBinding:a},types:[],contexts:[],data:d}))),d.buffer.push("\n Selected: "),e=b._triageMustache.call(a,"selected",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push('\n
    \n\n
    \n{{bs-pills contentBinding="content" selectedBinding="selected"}}\n\nSelected: {{selected}}
    \n

    content and selected are properties in the current controller

    \n
      \n
    • The content controller property is an array of strings where each string is rendered as a possible item selection.
    • \n
    • When an item selection is changed, the selected property in the current controller will be set with the value of the selected item.
    • \n
    \n

    Here's the controller sample code:

    \n
    Showcase.ShowComponentsPillsController = Ember.Controller.extend({\n  content: ['Home', 'Profile', 'Messages'],\n  contentChanged: (function() {\n    return console.log("Selection has changed to: " + (this.get('selected')));\n  }).observes('selected')\n});
    \n

    Stacked

    \n
    \n

    Pills are also vertically stackable. Just add `stacked=true``

    \n
    \n
    \n '),d.buffer.push(g((b["bs-pills"]||a&&a["bs-pills"]||f).call(a,{name:"bs-pills",hash:{style:"max-width: 300px;",stacked:!0,selectedBinding:"selected",contentBinding:"content"},hashTypes:{style:"STRING",stacked:"BOOLEAN",selectedBinding:"STRING",contentBinding:"STRING"},hashContexts:{style:a,stacked:a,selectedBinding:a,contentBinding:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n
        {{bs-pills contentBinding="content" selectedBinding="selected" stacked=true style="max-width: 300px;"}}
    \n

    Justified

    \n
    \n

    Easily make tabs or pills equal widths of their parent with setting justified=true

    \n
    \n
    \n '),d.buffer.push(g((b["bs-pills"]||a&&a["bs-pills"]||f).call(a,{name:"bs-pills",hash:{justified:!0,selectedBinding:"selected",contentBinding:"content"},hashTypes:{justified:"BOOLEAN",selectedBinding:"STRING",contentBinding:"STRING"},hashContexts:{justified:a,selectedBinding:a,contentBinding:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n
        {{bs-pills contentBinding="content" selectedBinding="selected" justified=true}}
    \n

    Disabled links

    \n

    Bootstrap doesn't stop the propagation of the redirection of disabled links for you:

    \n
    \n

    This class will only change the anchor's appearance, not its functionality. Use custom JavaScript to disable links here.\nBy Bootstrap

    \n
    \n

    But using bs-pills ease your pain by giving you the opportunity to bind the disable state of each item by providing extra metadata per item, clicking a disabled item disables the links too.

    \n

    To define links (items) as disabed, you need to provide extra metadata per defined item in the contentBinding property.

    \n
    \n '),d.buffer.push(g((b["bs-pills"]||a&&a["bs-pills"]||f).call(a,{name:"bs-pills",hash:{selectedBinding:"selected1",contentBinding:"content1"},hashTypes:{selectedBinding:"STRING",contentBinding:"STRING"},hashContexts:{selectedBinding:a,contentBinding:a},types:[],contexts:[],data:d}))),d.buffer.push("\n "),d.buffer.push(g((b["bs-button"]||a&&a["bs-button"]||f).call(a,{name:"bs-button",hash:{title:"Disable Home",clicked:"disableHome"},hashTypes:{title:"STRING",clicked:"STRING"},hashContexts:{title:a,clicked:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n
    {{bs-pills contentBinding="content" selectedBinding="selected"}}\n{{bs-button clicked="disableHome" content="Disable Home"}}
    \n

    Controller sample code:

    \n
    \nShowcase.ShowComponentsPillsController = Ember.Controller.extend({\n  init: function() {\n    this._super();\n    this.set('content', Ember.A([\n      Ember.Object.create({title: 'Home',disabled: false}),\n      Ember.Object.create({title: 'Admin',disabled: true})\n    ]));\n    this.set('selected', this.get('content').objectAt(0));\n  },\n\n  disableHome: function() {\n    this.get('content').objectAt(0).set('disabled', true);\n  }\n});
    \n'),h},useData:!0}),Ember.TEMPLATES["show_components/popover"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression,g="";return d.buffer.push('

    Popover & Tooltips

    \n

    Setup

    \n

    For Popover support, it is required to adapt the application route and add a named outlet to your main template and reference a controller that extends from Bootstrap.TooltipBoxController

    \n
    //Create some controller in your app that references _Bootstrap.TooltipBoxController_\nApp.TooltipBoxController = Bootstrap.TooltipBoxController\n\n//Application route\nApp.ApplicationRoute = Ember.Route.extend({\n    renderTemplate: function() {\n        // Render default outlet\n        this.render();\n        // render extra outlets\n        var controller = this.controllerFor('tooltip-box');\n        this.render("bs-tooltip-box", {\n            outlet: "bs-tooltip-box",\n            controller: controller,\n            into: "application" // important when using at root level\n        });\n    }\n});
    \n

    Tooltips

    \n

    Simple content

    \n
    \n

    Here is a very link with a tooltip,.\n You can mix as many tooltips as you wish.\n

    \n
    \n\n
    <p class="muted" style="margin-bottom: 0;">\n    Here is <a href="#" {{bs-bind-tooltip content="A tooltip!"}}>a very</a> link with a tooltip,.\n    You can mix as many <a href="#" {{bs-bind-tooltip title="Another tooltip!"}}>tooltips</a> as you wish.\n</p>
    \n

    Bindings & Sticky

    \n

    You can bind the value of the tooltip to an object and make the tooltip sticky by:

    \n\n\n

    In template:

    \n
    <a href="#" {{bs-bind-tooltip testObject.sticky}}>Hover me for a sticky tooltip!</a>
    \n

    In controller:

    \n
        stickyTooltip: Ember.Object.createWithMixins({\n        popover: (function() {\n          return Ember.Object.create({\n            user: this,\n            content: 'know this is a sticky tooltip! You can hover over it.',\n            trigger: 'hover',\n            sticky: true\n          });\n        }).property()\n      })
    \n

    Popovers

    \n

    Examples

    \n

    Here are some examples for popovers:

    \n
    \n
      \n
    • \n Hover for a sticky popup\n
    • \n
    • \n Click for a popup\n
    • \n
    • \n Click for a popup with template\n
    • \n
    \n
    \n\n

    In template:

    \n
    <ul class="list-group" style="width:250px">\n    <li class="list-group-item" {{bs-bind-popover hoverPop}}>\n             Hover for a sticky popup\n    </li>\n    <li class="list-group-item" {{bs-bind-popover clickPop}}>\n             Click for a popup\n    </li>\n    <li class="list-group-item" {{bs-bind-popover templPop}}>\n             Click for a popup with template\n    </li>\n</ul>
    \n

    In controller:

    \n
      hoverPop: Ember.Object.create({\n    title: "I'm a title!",\n    content: "And i'm a content!",\n    trigger: "hover",\n    placement: "right",\n    sticky: true\n  }),\n\n  clickPop: Ember.Object.create({\n    title: "Clickable!",\n    content: "This is a clickable popover",\n    placement: "left"\n  }),\n\n  templPop: Ember.Object.create({\n      firstName: 'numbers',\n      title: 'Popover with Template',\n      template: 'numbers:<ul>' +\n              '{{#each val in content.numbers}}' +\n              '   <li>{{val}}</li>' + '{{/each}}' +\n              '</ul>',\n      content: {\n        numbers: [1, 2, 3]\n      }\n  })
    \n

    Object Options

    \n

    Following are the options that back a tooltip/popover entry:

    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    Property NameTypeDefaultDescription
    htmlbooleanfalseInsert HTML into the popover.
    placementstring | function'right'how to position the popover - top | bottom | left | right | auto.
    When "auto" is specified, it will dynamically reorient the popover. For example, if placement is "auto left", the popover will display to the left when possible, otherwise it will display right.
    triggerstring'click' for popover| 'hover' for tooltiphow popover is triggered - click | hover | focus | manual
    stickybooleanfalseTo be used when trigger is 'hover'.\n When the tooltip appears you have 100ms to hover over it and only after you leave the popover/tooltip it will disappear
    showbooleanfalseTo be used when trigger is 'manual'.\n Will show the tip when true, hide when false.\n The property will be observed for changes with "addObserver"\n
    titlestring''
    contentstring | function''
    templatestringnullUse this template to display. The context will be the popover/tooltip. The data is available in content.*
    \n
    \n\n\n\n'),g},useData:!0}),Ember.TEMPLATES["show_components/progressbar"]=Ember.HTMLBars.template({1:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression,g="";return d.buffer.push(" "),d.buffer.push(f((b["bs-progressbar"]||a&&a["bs-progressbar"]||e).call(a,{name:"bs-progressbar",hash:{progress:"35",type:"success"},hashTypes:{progress:"STRING",type:"STRING"},hashContexts:{progress:a,type:a},types:[],contexts:[],data:d}))),d.buffer.push("\n "),d.buffer.push(f((b["bs-progressbar"]||a&&a["bs-progressbar"]||e).call(a,{name:"bs-progressbar",hash:{progress:"20",type:"warning"},hashTypes:{progress:"STRING",type:"STRING"},hashContexts:{progress:a,type:a},types:[],contexts:[],data:d}))),d.buffer.push("\n "),d.buffer.push(f((b["bs-progressbar"]||a&&a["bs-progressbar"]||e).call(a,{name:"bs-progressbar",hash:{progress:"10",type:"danger"},hashTypes:{progress:"STRING",type:"STRING"},hashContexts:{progress:a,type:a},types:[],contexts:[],data:d}))),d.buffer.push("\n"),g},compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f,g,h=b.helperMissing,i=this.escapeExpression,j="function",k=b.blockHelperMissing,l="";return d.buffer.push('

    Progress Bar

    \n
    \n

    Provide up-to-date feedback on the progress of a workflow or action with simple yet flexible progress bars.\nBy Bootstrap

    \n
    \n

    Basic usage

    \n
    \n '),d.buffer.push(i((b["bs-progress"]||a&&a["bs-progress"]||h).call(a,{name:"bs-progress",hash:{progress:60},hashTypes:{progress:"NUMBER"},hashContexts:{progress:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n
        {{bs-progress progress=60}}
    \n

    Simple as that! a single short line, compared to Bootstarp Tags 5 long lines that\nproduces the same result.

    \n

    The progress component respects all aria tags mentioned in Bootstrap documentation.

    \n
    \n
    \n

    Progress bars use some of the same button and alert classes for consistent styles\nBy Bootstrap

    \n
    \n
    \n '),d.buffer.push(i((b["bs-progress"]||a&&a["bs-progress"]||h).call(a,{name:"bs-progress",hash:{type:"success",progress:40},hashTypes:{type:"STRING",progress:"NUMBER"},hashContexts:{type:a,progress:a},types:[],contexts:[],data:d}))),d.buffer.push("\n "),d.buffer.push(i((b["bs-progress"]||a&&a["bs-progress"]||h).call(a,{name:"bs-progress",hash:{type:"info",progress:20},hashTypes:{type:"STRING",progress:"NUMBER"},hashContexts:{type:a,progress:a},types:[],contexts:[],data:d}))),d.buffer.push("\n "),d.buffer.push(i((b["bs-progress"]||a&&a["bs-progress"]||h).call(a,{name:"bs-progress",hash:{type:"warning",progress:60},hashTypes:{type:"STRING",progress:"NUMBER"},hashContexts:{type:a,progress:a},types:[],contexts:[],data:d}))),d.buffer.push("\n "),d.buffer.push(i((b["bs-progress"]||a&&a["bs-progress"]||h).call(a,{name:"bs-progress",hash:{type:"danger",progress:80},hashTypes:{type:"STRING",progress:"NUMBER"},hashContexts:{type:a,progress:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n\n
        {{bs-progress progress=40 type="success"}}\n    {{bs-progress progress=20 type="info"}}\n    {{bs-progress progress=60 type="warning"}}\n    {{bs-progress progress=80 type="danger"}}
    \n
    \n

    The progress property can be bound to a controller property:

    \n
    \n '),d.buffer.push(i((b["bs-progress"]||a&&a["bs-progress"]||h).call(a,{name:"bs-progress",hash:{progressBinding:"prog"},hashTypes:{progressBinding:"STRING"},hashContexts:{progressBinding:a},types:[],contexts:[],data:d}))),d.buffer.push("\n "),d.buffer.push(i((b["bs-button"]||a&&a["bs-button"]||h).call(a,{name:"bs-button",hash:{title:"Increment!",clicked:"increment"},hashTypes:{title:"STRING",clicked:"STRING"},hashContexts:{title:a,clicked:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n
        {{bs-progress progressBinding="prog"}}\n    {{bs-button clicked="increment" content="Increment!"}}
    \n

    Controller sample code:

    \n
    Showcase.ShowComponentsProgressbarController = Ember.Controller.extend({\n  prog: 0,\n  incrementBy: 20,\n  increment: function() {\n    if (this.prog < 100) {\n      return this.incrementProperty("prog", this.incrementBy);\n    } else {\n      return this.set("prog", this.incrementBy);\n    }\n  }\n});
    \n

    Striped

    \n
    \n

    Uses a gradient to create a striped effect. Not available in IE8.\nBy Bootstrap

    \n
    \n

    This is simply done by setting the stripped=true property.

    \n
    \n '),d.buffer.push(i((b["bs-progress"]||a&&a["bs-progress"]||h).call(a,{name:"bs-progress",hash:{stripped:!0,type:"success",progress:40},hashTypes:{stripped:"BOOLEAN",type:"STRING",progress:"NUMBER"},hashContexts:{stripped:a,type:a,progress:a},types:[],contexts:[],data:d}))),d.buffer.push("\n "),d.buffer.push(i((b["bs-progress"]||a&&a["bs-progress"]||h).call(a,{name:"bs-progress",hash:{stripped:!0,type:"info",progress:20},hashTypes:{stripped:"BOOLEAN",type:"STRING",progress:"NUMBER"},hashContexts:{stripped:a,type:a,progress:a},types:[],contexts:[],data:d}))),d.buffer.push("\n "),d.buffer.push(i((b["bs-progress"]||a&&a["bs-progress"]||h).call(a,{name:"bs-progress",hash:{stripped:!0,type:"warning",progress:60},hashTypes:{stripped:"BOOLEAN",type:"STRING",progress:"NUMBER"},hashContexts:{stripped:a,type:a,progress:a},types:[],contexts:[],data:d}))),d.buffer.push("\n "),d.buffer.push(i((b["bs-progress"]||a&&a["bs-progress"]||h).call(a,{name:"bs-progress",hash:{stripped:!0,type:"danger",progress:80},hashTypes:{stripped:"BOOLEAN",type:"STRING",progress:"NUMBER"},hashContexts:{stripped:a,type:a,progress:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n\n

    Animated

    \n

    In addition to stripped=true, add animated=true property to animate the stripes right to left.

    \n
    \n '),d.buffer.push(i((b["bs-progress"]||a&&a["bs-progress"]||h).call(a,{name:"bs-progress",hash:{animated:!0,stripped:!0,progress:45},hashTypes:{animated:"BOOLEAN",stripped:"BOOLEAN",progress:"NUMBER"},hashContexts:{animated:a,stripped:a,progress:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n
        {{bs-progress progress=45 stripped=true animated=true}}
    \n

    Stacked

    \n

    Multiple bars can be placed into the same bs-progress to stack them:

    \n
    \n'),f=null!=(f=b["bs-progress"]||(null!=a?a["bs-progress"]:a))?f:h,g={name:"bs-progress",hash:{},hashTypes:{},hashContexts:{},fn:this.program(1,d),inverse:this.noop,types:[],contexts:[],data:d},e=typeof f===j?f.call(a,g):f,b["bs-progress"]||(e=k.call(a,e,g)),null!=e&&d.buffer.push(e),d.buffer.push('
    \n\n
        {{#bs-progress}}\n        {{bs-progressbar type="success" progress="35"}}\n        {{bs-progressbar type="warning" progress="20"}}\n        {{bs-progressbar type="danger" progress="10"}}\n    {{/bs-progress}}
    \n'),l},useData:!0}),Ember.TEMPLATES["show_components/tabs-panes"]=Ember.HTMLBars.template({1:function(a,b,c,d){d.buffer.push("Tab Component")},compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f=b.helperMissing,g=this.escapeExpression,h="";return d.buffer.push('

    Tab Panes

    \n

    Defining '),e=(b["link-to"]||a&&a["link-to"]||f).call(a,"show_components.tabs",{name:"link-to",hash:{},hashTypes:{},hashContexts:{},fn:this.program(1,d),inverse:this.noop,types:["STRING"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push(' covers the Tabs rendering and help you to interact with the selected tab. But usually some content should be rendered as a response for a tab click right?

    \n

    This is where Tab Panes come into play, a tab pane is the content area of each rendered tab, when a tab is selected, the corresponding tab pane becomes visible, see below for the possible options.

    \n

    Tab Panes expects a contentBinding property just like the bs-tabs component, the Tabs Panes component also must be aware of the bs-tabs component it is bound to by specifying the items-id property set to the id of the corresponding bs-tabs

    \n
    \n '),d.buffer.push(g((b["bs-tabs"]||a&&a["bs-tabs"]||f).call(a,{name:"bs-tabs",hash:{"default":"Foo",contentBinding:"tabsMeta",id:"tabs1"},hashTypes:{"default":"STRING",contentBinding:"STRING",id:"STRING"},hashContexts:{"default":a,contentBinding:a,id:a},types:[],contexts:[],data:d}))),d.buffer.push("\n "),d.buffer.push(g((b["bs-tabs-panes"]||a&&a["bs-tabs-panes"]||f).call(a,{name:"bs-tabs-panes",hash:{contentBinding:"tabsMeta","items-id":"tabs1"},hashTypes:{contentBinding:"STRING","items-id":"STRING"},hashContexts:{contentBinding:a,"items-id":a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n
    {{bs-tabs id="tabs1" contentBinding="tabsMeta" default="Foo"}}\n{{bs-tabs-panes items-id="tabs1" contentBinding="tabsMeta"}}
    \n
      \n
    • An id property is required for the bs-tabs.
    • \n
    • The bs-tabs-panes generates a tab pane per element in the content array.
    • \n
    • The items-id property must refer to the id of the bs-tabs component.
    • \n
    • If you like one tab to be activated by default, set the default property of the bs-tabs component to a title of the tab you would like to be activated by default.
    • \n
    \n

    Here is the controller tabsPanesOptions property:

    \n
    SomeController = Ember.Controller.extend({\n    tabsMeta: Ember.A([\n            Ember.Object.create({ title: 'Foo', template: 'tabs/foo-tabpane', controller: 'ShowcaseComponentsTabsFoo'}),\n            Ember.Object.create({ title: 'Bar', template: 'tabs/bar-tabpane'})\n    ]);\n});\n\nThe `template: 'some-template'` defines what template to render in the corresponding _Tab Pane_ when the Tab is selected.
    \n

    Note that for the Foo tab, a controller property was defined, calling {{controller}} within the tab pane template tabs/foo-tabpane will point to the specified ShowcaseComponentsTabsFoo controller instead of the default controller\nwhich is the controller of the template the {{bs-tabs-panes}} was called from.

    \n

    Thats all needed! awesome isn't it?

    \n'),h -},useData:!0}),Ember.TEMPLATES["show_components/tabs-with-routes"]=Ember.HTMLBars.template({1:function(a,b,c,d){d.buffer.push("User Profile")},compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f=b.helperMissing,g="";return d.buffer.push('

    Tabs in conjuction with Routes

    \n

    Rendering tab content can be simply done by providing a template per tab using the bs-tabs-panes component,\nAnother possiblity is to have a route per tab for rendering tabs contents, Choose this approach if:

    \n
      \n
    • You need your tabs to be bookmarkable, this is possible because each route is bound to some URL path.
    • \n
    • Your tabs are complicated and have a lot of logic and you need a controller per tab.
    • \n
    \n

    If one or more of the reasons above makes sense to you, read on, otherwise use bs-tabs-panes because its setup is much simpler.

    \n

    Users Profile Example

    \n

    This is much easier to explain by example, so for the sake of example, we'll build a User profile with 3 tabs.

    \n

    Defining routes

    \n

    First, lets define the routes of the User profile:

    \n
    this.resource('user', function() {\n  this.route('general');\n  this.route('privacy');\n  return this.route('activities');\n});
    \n

    A resource is required per tabs component, here we define the resource as user because tabs deals with managing a User and a @route is required per tab.

    \n

    Putting the Tabs component in the Resource template.

    \n

    In Ember.js, every resource page has its own main template, nested routes are rendered within the resource page, with such hierarchy, it makes sense to put the tabs component in the resource page so it will be available for any nested route that the user visits.

    \n

    Content goes into the user template.

    \n
        {{bs-tabs contentBinding="tabsMeta"}}\n    {{outlet}}
    \n

    The tabsMeta is an array of the Tabs metadata in the UserController:

    \n
    \nApp.UserController = Ember.Controller.extend({\n  tabsMeta: [\n    Ember.Object.create({title: 'General', linkTo: 'user.general'}),\n    Ember.Object.create({title: 'Privacy', linkTo: 'user.privacy'}),\n    Ember.Object.create({title: 'Activities', linkTo: 'user.activities'})\n  ]\n});\n`
    \n

    The outlet is important so the content of each tab will be rendered beneath the tabs component.

    \n

    Defining Templates

    \n

    Simply define a template per nested route, just like you would do if each nested route wouldnt be apart of the tab component.

    \n

    Live example

    \n

    Want to see it alive? take a look here: '),e=(b["link-to"]||a&&a["link-to"]||f).call(a,"user.general",{name:"link-to",hash:{},hashTypes:{},hashContexts:{},fn:this.program(1,d),inverse:this.noop,types:["STRING"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("

    \n"),g},useData:!0}),Ember.TEMPLATES["show_components/tabs"]=Ember.HTMLBars.template({1:function(a,b,c,d){d.buffer.push("Tab Panes")},compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f=b.helperMissing,g=this.escapeExpression,h="";return d.buffer.push('

    Tabs

    \n

    Tabs are like Pills but styled differently,\nThe share exactly the same concepts, so this page doesn't repeat everything, visit Pills for the complete details.

    \n

    Simple Tabs

    \n
    \n '),d.buffer.push(g((b["bs-tabs"]||a&&a["bs-tabs"]||f).call(a,{name:"bs-tabs",hash:{selectedBinding:"selected",contentBinding:"content"},hashTypes:{selectedBinding:"STRING",contentBinding:"STRING"},hashContexts:{selectedBinding:a,contentBinding:a},types:[],contexts:[],data:d}))),d.buffer.push("\n\n
    \n Selected: "),e=b._triageMustache.call(a,"selected",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push('\n
    \n\n\n
        {{bs-tabs contentBinding="content" selectedBinding="selected"}}
    \n

    Controller's code:

    \n
    Showcase.ShowComponentsTabsController = Ember.Controller.extend({\n  content: ['Home', 'Profile', 'Messages']\n});
    \n

    Panes

    \n

    Please see '),e=(b["link-to"]||a&&a["link-to"]||f).call(a,"show_components.tabs-panes",{name:"link-to",hash:{},hashTypes:{},hashContexts:{},fn:this.program(1,d),inverse:this.noop,types:["STRING"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push(" for more info about Tab Panes.

    \n"),h},useData:!0}),Ember.TEMPLATES["show_components/well"]=Ember.HTMLBars.template({1:function(a,b,c,d){d.buffer.push(" I am in a well, click me!\n")},3:function(a,b,c,d){d.buffer.push(" Look, I'm in a large well!\n")},5:function(a,b,c,d){d.buffer.push(" Look, I'm in a small well!\n")},compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f=b.helperMissing,g="";return d.buffer.push('

    Well

    \n

    Default Well

    \n

    Here is a default well, but pay attention that it is clickable, the click will be propagated to the controller.

    \n\n
    \n'),e=(b["bs-well"]||a&&a["bs-well"]||f).call(a,{name:"bs-well",hash:{clicked:"wellClick"},hashTypes:{clicked:"STRING"},hashContexts:{clicked:a},fn:this.program(1,d),inverse:this.noop,types:[],contexts:[],data:d}),null!=e&&d.buffer.push(e),d.buffer.push('
    \n\n
    {{#bs-well clicked="wellClick"}}\nI am in a well!\n{{/bs-well}}
    \n

    wellClick is the function name in the controller.

    \n

    Optional classes

    \n

    As explained by Bootstrap:

    \n
    \n

    Control padding and rounded corners with two optional modifier classes.

    \n
    \n

    Large Well

    \n
    \n'),e=(b["bs-well"]||a&&a["bs-well"]||f).call(a,{name:"bs-well",hash:{large:!0},hashTypes:{large:"BOOLEAN"},hashContexts:{large:a},fn:this.program(3,d),inverse:this.noop,types:[],contexts:[],data:d}),null!=e&&d.buffer.push(e),d.buffer.push('
    \n\n
    {{#bs-well large=true}}\nLook, I'm in a large well!\n{{/bs-well}}
    \n

    You can set large well by adding class="well-lg" or just set the large property to true

    \n

    Small Well

    \n
    \n'),e=(b["bs-well"]||a&&a["bs-well"]||f).call(a,{name:"bs-well",hash:{small:!0},hashTypes:{small:"BOOLEAN"},hashContexts:{small:a},fn:this.program(5,d),inverse:this.noop,types:[],contexts:[],data:d}),null!=e&&d.buffer.push(e),d.buffer.push('
    \n\n
    {{#bs-well small=true}}\nLook, I'm in a small well!\n{{/bs-well}}
    \n

    You can set large well by adding class="well-sm" or just set the small property to true

    \n

    Component Properties

    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    PropertyDescription
    largeIf true, a large well will be rendered by adding the well-lg class.
    smallIf true, a small well will be rendered by adding the well-sm class.
    clickedTriggers the specified function name on the controller immediately when user clicks the area of the well.
    \n
    \n'),g},useData:!0}),Ember.TEMPLATES["show_components/wizard"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression,g="";return d.buffer.push('

    Wizard

    \n

    Wizard is a multi step view component with transitioning workflow,\nWizard has a lot in common with the Tabs component as you can think about each Wizard step as a tab & pane, the main different is that with the Wizard component the transitioning order of the steps is defined a head.

    \n

    Wizard Sample

    \n

    Defining an inline content Wizard with blocks is the simplest form of using the wizard component.

    \n
    \n '),d.buffer.push(f((b["bs-wizard"]||a&&a["bs-wizard"]||e).call(a,{name:"bs-wizard",hash:{contentBinding:"steps"},hashTypes:{contentBinding:"STRING"},hashContexts:{contentBinding:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n\n
    {{bs-wizard contentBinding="steps"}}
    \n

    contentBinding="steps" defines a property named steps in the current controll that defines the wizard steps,\nHere is the current controll of this example:

    \n
    Showcase.ShowComponentsWizardController = Ember.Controller.extend({\n  init: function() {\n    this._super();\n    this.set('steps', Ember.A([\n      Ember.Object.create({title: 'Foo', template: 'tabs/foo-tabpane'}),\n      Ember.Object.create({title: 'Bar', template: 'tabs/bar-tabpane'}),\n      Ember.Object.create({title: 'Baz', template: 'tabs/baz-tabpane'})\n    ]));\n  }\n});
    \n

    Disable Step Selection

    \n

    Sometimes it makes sense to create a wizard with fixed step flow, this can be done by disabling the steps by providing disabled=true per step.

    \n

    It is also possible to disallow moving to previous step if needed.

    \n
    \n '),d.buffer.push(f((b["bs-wizard"]||a&&a["bs-wizard"]||e).call(a,{name:"bs-wizard",hash:{contentBinding:"stepsNoPrev",prevAllowed:!1},hashTypes:{contentBinding:"STRING",prevAllowed:"BOOLEAN"},hashContexts:{contentBinding:a,prevAllowed:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n
    {{bs-wizard prevAllowed=false contentBinding="stepsNoPrev"}}
    \n
    Showcase.ShowComponentsWizardController = Ember.Controller.extend({\n  init: function() {\n    this._super();\n    this.set('steps', Ember.A([\n      Ember.Object.create({title: 'Step1', template: 'tabs/foo-tabpane', disabled="true"}),\n      Ember.Object.create({title: 'Step2', template: 'tabs/bar-tabpane', disabled="true"}),\n      Ember.Object.create({title: 'Step3', template: 'tabs/baz-tabpane', disabled="true"})\n    ]));\n  }\n});
    \n

    Programatically Created Wizard

    \n

    Creating a wizard programatically should be used if rendering a Wizard is based on some action such as a button click, for example, a modal can be rendered by pressing a button that will render a Wizard within a modal as the example shown below:

    \n
    \n '),d.buffer.push(f((b["bs-button"]||a&&a["bs-button"]||e).call(a,{name:"bs-button",hash:{clicked:"createWizard",type:"primary",title:"Start Wizard"},hashTypes:{clicked:"STRING",type:"STRING",title:"STRING"},hashContexts:{clicked:a,type:a,title:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n\n
    {{bs-button title="Start Wizard" type="primary" clicked="createWizard"}}
    \n

    Controller's code:

    \n
    Showcase.ShowComponentsWizardController = Ember.Controller.extend({\n  actions: {\n    createWizard: function() {\n      var body;\n      body = Bootstrap.BsWizardComponent.extend({\n        content: [\n          Ember.Object.create({title: 'Step1', template: 'wizard/step1', disabled: true}),\n          Ember.Object.create({title: 'Step2', template: 'wizard/step2', disabled: true}),\n          Ember.Object.create({title: 'Step3', template: 'wizard/step3', disabled: true})\n        ],\n        targetObject: this,\n        onNext: "onNext",\n        onPrev: "onPrev",\n        onFinish: 'onFinish'\n      });\n      Bootstrap.ModalManager.open('manualModal', 'Wizard Title...', body, null, this);\n    },\n    onNext: function() {\n      return console.log('NEXT');\n    },\n    onPrev: function() {\n      return console.log('PREV');\n    },\n    onFinish: function() {\n      Bootstrap.ModalManager.close('manualModal');\n      return Bootstrap.NM.push('Wizard completed!');\n    }\n  }\n});
    \n

    The controller is responsible for creating the Modal and the Wizard components, our controller listens to the Wizard onFinish event and close the modal as a response plus send an application notification.

    \n'),g},useData:!0}),Ember.TEMPLATES["social-buttons"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){d.buffer.push('
    \r\n \r\n
    \r\n')},useData:!0}),Ember.TEMPLATES["tabs/bar-tabpane"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f=b.helperMissing,g=this.escapeExpression,h="";return d.buffer.push(g((b["bs-page-header"]||a&&a["bs-page-header"]||f).call(a,{name:"bs-page-header",hash:{sub:"Tab Pane Content",title:"BAR "},hashTypes:{sub:"STRING",title:"STRING"},hashContexts:{sub:a,title:a},types:[],contexts:[],data:d}))),d.buffer.push("\r\nController is: "),e=b._triageMustache.call(a,"controller",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),h},useData:!0}),Ember.TEMPLATES["tabs/baz-tabpane"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression;d.buffer.push(f((b["bs-page-header"]||a&&a["bs-page-header"]||e).call(a,{name:"bs-page-header",hash:{sub:"Tab Pane Content",title:"BAZ"},hashTypes:{sub:"STRING",title:"STRING"},hashContexts:{sub:a,title:a},types:[],contexts:[],data:d})))},useData:!0}),Ember.TEMPLATES["tabs/foo-tabpane"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f=b.helperMissing,g=this.escapeExpression,h="";return d.buffer.push(g((b["bs-page-header"]||a&&a["bs-page-header"]||f).call(a,{name:"bs-page-header",hash:{sub:"Tab Pane Content",title:"FOO"},hashTypes:{sub:"STRING",title:"STRING"},hashContexts:{sub:a,title:a},types:[],contexts:[],data:d}))),d.buffer.push("\r\nController is: "),e=b._triageMustache.call(a,"controller",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),h},useData:!0}),Ember.TEMPLATES.user=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f=b.helperMissing,g=this.escapeExpression,h="";return d.buffer.push(g((b["bs-tabs"]||a&&a["bs-tabs"]||f).call(a,{name:"bs-tabs",hash:{contentBinding:"tabsMeta"},hashTypes:{contentBinding:"STRING"},hashContexts:{contentBinding:a},types:[],contexts:[],data:d}))),d.buffer.push("\r\n\r\n"),e=b._triageMustache.call(a,"outlet",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),h},useData:!0}),Ember.TEMPLATES["user/activities"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression;d.buffer.push(f((b["bs-page-header"]||a&&a["bs-page-header"]||e).call(a,{name:"bs-page-header",hash:{sub:"User latest Activities",title:"Activities"},hashTypes:{sub:"STRING",title:"STRING"},hashContexts:{sub:a,title:a},types:[],contexts:[],data:d})))},useData:!0}),Ember.TEMPLATES["user/general"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression;d.buffer.push(f((b["bs-page-header"]||a&&a["bs-page-header"]||e).call(a,{name:"bs-page-header",hash:{sub:"User general details",title:"General"},hashTypes:{sub:"STRING",title:"STRING"},hashContexts:{sub:a,title:a},types:[],contexts:[],data:d})))},useData:!0}),Ember.TEMPLATES["user/privacy"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression;d.buffer.push(f((b["bs-page-header"]||a&&a["bs-page-header"]||e).call(a,{name:"bs-page-header",hash:{sub:"User Privacy details",title:"Privacy"},hashTypes:{sub:"STRING",title:"STRING"},hashContexts:{sub:a,title:a},types:[],contexts:[],data:d})))},useData:!0}),Ember.TEMPLATES["wizard/step1"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){d.buffer.push("

    Step1

    ")},useData:!0}),Ember.TEMPLATES["wizard/step2"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){d.buffer.push("

    Step 2

    ")},useData:!0}),Ember.TEMPLATES["wizard/step3"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){d.buffer.push("

    Step 3

    ")},useData:!0}),function(){!function(){var a,b;a=window.Bootstrap,b=window.Showcase=Ember.Application.create({LOG_TRANSITIONS:!0,LOG_VIEW_LOOKUPS:!0,LOG_ACTIVE_GENERATION:!0}),Ember.ENV={HELPER_PARAM_LOOKUPS:!0},Ember.Handlebars.registerHelper("raw",function(a){return a.fn(a)})}(),function(){(function(){Showcase.Router.map(function(){return this.resource("show_components",function(){return this.route("alert"),this.route("breadcrumbs"),this.route("modal"),this.route("label"),this.route("badge"),this.route("well"),this.route("list-group"),this.route("panel"),this.route("page-header"),this.route("button"),this.route("buttonGroup"),this.route("progressbar"),this.route("pills"),this.route("tabs"),this.route("tabs-panes"),this.route("wizard"),this.route("items_action_bar"),this.route("tabs-with-routes"),this.route("notifications"),this.route("growl-notif"),this.route("popover"),this.resource("user",function(){return this.route("general"),this.route("privacy"),this.route("activities")})})})}).call(this)}(),function(){(function(){Showcase.ApplicationRoute=Ember.Route.extend({model:function(){return[Ember.Object.create({title:"Alert",route:"show_components.alert"}),Ember.Object.create({title:"Breadcrumbs",route:"show_components.breadcrumbs","new":!0}),Ember.Object.create({title:"Modal",route:"show_components.modal"}),Ember.Object.create({title:"Label",route:"show_components.label"}),Ember.Object.create({title:"Badge",route:"show_components.badge"}),Ember.Object.create({title:"Well",route:"show_components.well"}),Ember.Object.create({title:"List Group",route:"show_components.list-group"}),Ember.Object.create({title:"Panel",route:"show_components.panel"}),Ember.Object.create({title:"Page Header",route:"show_components.page-header"}),Ember.Object.create({title:"Button",route:"show_components.button"}),Ember.Object.create({title:"Button Group",route:"show_components.buttonGroup"}),Ember.Object.create({title:"Progressbar",route:"show_components.progressbar"}),Ember.Object.create({title:"Tooltips & Popover","new":!0,route:"show_components.popover"}),Ember.Object.create({title:"Nav - Pills",route:"show_components.pills"}),Ember.Object.create({title:"Nav - Tabs",route:"show_components.tabs"}),Ember.Object.create({title:"Nav - Tabs Panes",route:"show_components.tabs-panes"}),Ember.Object.create({title:"Nav - Tabs with Routes",special:!0,route:"show_components.tabs-with-routes"}),Ember.Object.create({title:"Wizard",special:!0,route:"show_components.wizard"}),Ember.Object.create({title:"Notifications",special:!0,route:"show_components.notifications"}),Ember.Object.create({title:"Items Action Bar","new":!0,route:"show_components.items_action_bar"}),Ember.Object.create({title:"Growl Notifications",special:!0,route:"show_components.growl-notif"})]}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsPopoverRoute=Ember.Route.extend({renderTemplate:function(){var a;return this.render(),a=this.controllerFor("ShowComponentsTooltipBox"),this.render("bs-tooltip-box",{outlet:"bs-tooltip-box",controller:a,into:"application"})}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsAlertController=Ember.Controller.extend({actions:{submit:function(){return alert("Action taken by controller!")},didAlertClosed:function(){return alert("From controller: The -closed- event was triggered.")},didAlertClose:function(){return alert("From controller: The -close- event was triggered.")}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsButtonController=Ember.Controller.extend({isButtonDisabled:!1,loadingState:null,loadingState1:null,actions:{disableButton:function(){return this.set("isButtonDisabled",!0)},startLoading:function(){var a=this;return this.set("loadingState","loading"),Ember.run.later(function(){return a.set("loadingState",null)},2e3)},startLoading1:function(){var a=this;return this.set("loadingState1","loading"),Ember.run.later(function(){return a.set("loadingState1","completed")},2e3)},buttonWithParam:function(a){return alert("Passed controller as a param: "+a)}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsItemsActionBarController=Ember.Controller.extend({actionsInBar:[[{title:"To Alerts",disabled:function(a){var b;return a.size<1||"Alerts"!==(null!=a&&null!=(b=a[0])?b.title:void 0)?!0:void 0},transitionTo:"show_components.alert"},{title:"To Panels",transitionTo:"show_components.panel",disabled:function(a){var b;return a.size<1||"Panels"!==(null!=a&&null!=(b=a[0])?b.title:void 0)?!0:void 0}}],[{title:"To Wizard",disabled:function(a){var b;return a.size<1||"Wizards"!==(null!=a&&null!=(b=a[0])?b.title:void 0)?!0:void 0},clickActionName:"wizard"}]],actions:{wizard:function(){return alert("Wizard pressed!")}},items:[Ember.Object.create({title:"Alerts"}),Ember.Object.create({title:"Panels"}),Ember.Object.create({title:"Wizards"})]})}).call(this)}(),function(){(function(){Showcase.ShowComponentsPanelController=Ember.Controller.extend({actions:{panelClicked:function(){return alert("Hello from controller: A click in a panel!")},panelClosed:function(){return alert("Hello from controller: The panel was closed!")}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsPopoverController=Ember.Controller.extend({testObject:Ember.Object.createWithMixins({sticky:function(){return Ember.Object.create({user:this,content:"know this is a sticky tooltip! You can hover over it.",trigger:"hover",sticky:!0})}.property()}),user:Ember.Object.create({firstNameBinding:"content.name",title:"rename",template:'name: {{input type="text" value=content.name}}',content:{name:"John"},trigger:"hover",sticky:!0}),hoverPop:Ember.Object.create({title:"I'm a title!",content:"And i'm a content!",trigger:"hover",placement:"right",sticky:!0}),clickPop:Ember.Object.create({title:"Clickable!",content:"

    Hello

    This is a clickable popover with html content!",placement:"left",html:!0}),templPop:Ember.Object.create({firstName:"numbers",title:"Popover with Template",template:"numbers:
      {{#each val in content.numbers}}
    • {{val}}
    • {{/each}}
    ",content:{numbers:[1,2,3]}})})}).call(this)}(),function(){(function(){Showcase.ShowComponentsProgressbarController=Ember.Controller.extend({prog:0,incrementBy:20,actions:{increment:function(){return this.prog<100?this.incrementProperty("prog",this.incrementBy):this.set("prog",this.incrementBy)}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsTooltipBoxController=Bootstrap.TooltipBoxController}).call(this)}(),function(){(function(){Showcase.ShowComponentsWellController=Ember.Controller.extend({wellClick:function(){return alert("Hello from controller: A click in a well!")}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsButtonGroupController=Ember.Controller.extend({options:["Home","Profile","Messages"],options2:["Admin","Settings"],optionsWithMeta:[Ember.Object.create({title:"Create",type:"primary"}),Ember.Object.create({title:"Destroy",type:"danger"})]})}).call(this)}(),function(){(function(){Showcase.ShowComponentsPillsController=Ember.Controller.extend({content:["Home","Profile","Messages"],init:function(){return this._super(),this.set("content1",Ember.A([Ember.Object.create({title:"Home","default":!0,disabled:!1}),Ember.Object.create({title:"Admin",disabled:!0})])),this.set("selected1",this.get("content1").objectAt(0))},contentChanged:function(){return console.log("Selection has changed to: "+this.get("selected"))}.observes("selected"),actions:{disableHome:function(){return this.get("content1").objectAt(0).set("disabled",!0)}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsGrowlNotifController=Ember.Controller.extend({actions:{pushInfo:function(){return Bootstrap.GNM.push("INFO!","Hello, this is just an info message.","info")},pushSuccess:function(){return Bootstrap.GNM.push("SUCCESS!","Successfully performed operation!","success")},pushWarn:function(){return Bootstrap.GNM.push("WARN!","Could not perform operation!","warning")},pushDanger:function(){return Bootstrap.GNM.push("Danger!","System is halting!","danger")}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsListGroupController=Ember.Controller.extend({listSimple:Ember.A(["Cras justo odio","Dapibus ac facilisis in","Morbi leo risus"]),listWithBadges:Ember.A([Ember.Object.create({title:"Inbox",badge:"45"}),Ember.Object.create({title:"Sent",badge:"33"})]),listWithSub:Ember.A([Ember.Object.create({title:"Inbox",sub:"Incoming mails folder",badge:"45"}),Ember.Object.create({title:"Sent",sub:"Sent emails folder",badge:"33"})])})}).call(this)}(),function(){(function(){Showcase.ShowComponentsModalController=Ember.Controller.extend({message:"Welcome to Bootstrap for Ember..!",myModalButtons:[Ember.Object.create({title:"Submit",clicked:"submit"}),Ember.Object.create({title:"Cancel",clicked:"cancel",dismiss:"modal"})],manualButtons:[Ember.Object.create({title:"Submit",clicked:"submitManual"}),Ember.Object.create({title:"Cancel",dismiss:"modal"})],actions:{submit:function(){return Bootstrap.NM.push("Successfully submitted modal","success"),Bootstrap.ModalManager.hide("myModal")},cancel:function(){return Bootstrap.NM.push("Modal was cancelled","info")},show:function(){return Bootstrap.ModalManager.show("myModal")},submitManual:function(){return Bootstrap.NM.push("Modal destroyed!","success"),Bootstrap.ModalManager.close("manualModal")},createModalProgramatically:function(){var a;return a=Ember.View.extend({template:Ember.Handlebars.compile("This is a programatic ")}),Bootstrap.ModalManager.open("manualModal","Hello","demo-template",this.manualButtons,this)},confirm:function(){return Bootstrap.ModalManager.confirm(this)},modalConfirmed:function(){return Bootstrap.NM.push("Confirmed!","success")},modalCanceled:function(){return Bootstrap.NM.push("Cancelled!","info")}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsNotificationsController=Ember.Controller.extend({actions:{pushInfo:function(){return Bootstrap.NM.push("Hello, this is just an info message.","info")},pushWarn:function(){return Bootstrap.NM.push("Could not perform operation!","warning")},pushSuccess:function(){return Bootstrap.NM.push("Successfully performed operation!","success")},pushDanger:function(){return Bootstrap.NM.push("Danger! system is halting!","danger")}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsTabsController=Ember.Controller.extend({content:["Home","Profile","Messages"],init:function(){return this._super(),this.set("selected","Home"),this.set("tabsPanesOptions",Ember.A([Ember.Object.create({title:"Foo",template:"tabs/foo-tabpane"}),Ember.Object.create({title:"Bar",template:"tabs/bar-tabpane"})]))}})}).call(this)}(),function(){(function(){Showcase.ShowcaseComponentsTabsFooController=Ember.Controller.extend()}).call(this)}(),function(){(function(){Showcase.ShowComponentsTabsPanesController=Ember.Controller.extend({tabsMeta:Ember.A([Ember.Object.create({title:"Foo",template:"tabs/foo-tabpane",controller:"ShowcaseComponentsTabsFoo"}),Ember.Object.create({title:"Bar",template:"tabs/bar-tabpane"})])})}).call(this)}(),function(){(function(){Showcase.ShowComponentsWizardController=Ember.Controller.extend({init:function(){return this._super(),this.set("steps",Ember.A([Ember.Object.create({title:"Foo",template:"tabs/foo-tabpane"}),Ember.Object.create({title:"Bar",template:"tabs/bar-tabpane"}),Ember.Object.create({title:"Baz",template:"tabs/baz-tabpane"})])),this.set("stepsNoPrev",Ember.A([Ember.Object.create({title:"Step1",template:"tabs/foo-tabpane",disabled:!0}),Ember.Object.create({title:"Step2",template:"tabs/bar-tabpane",disabled:!0}),Ember.Object.create({title:"Step3",template:"tabs/baz-tabpane",disabled:!0})]))},actions:{createWizard:function(){var a;return a=Bootstrap.BsWizardComponent.extend({content:[Ember.Object.create({title:"Step1",template:"wizard/step1",disabled:!0}),Ember.Object.create({title:"Step2",template:"wizard/step2",disabled:!0}),Ember.Object.create({title:"Step3",template:"wizard/step3",disabled:!0})],targetObject:this,onNext:"onNext",onPrev:"onPrev",onFinish:"onFinish"}),Bootstrap.ModalManager.open("manualModal","Wizard Title...",a,null,this)},onNext:function(){return console.log("NEXT")},onPrev:function(){return console.log("PREV")},onFinish:function(){return Bootstrap.ModalManager.close("manualModal"),Bootstrap.NM.push("Wizard completed!")}}})}).call(this)}(),function(){(function(){Showcase.UserController=Ember.Controller.extend({tabsMeta:[Ember.Object.create({title:"General",linkTo:"user.general"}),Ember.Object.create({title:"Privacy",linkTo:"user.privacy"}),Ember.Object.create({title:"Activities",linkTo:"user.activities"})]})}).call(this)}(),function(){}.call(this)}(); \ No newline at end of file +Ember.TEMPLATES.ads=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){d.buffer.push("

    Bootstrap for Ember

    ")},useData:!0}),Ember.TEMPLATES.application=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f=b.helperMissing,g=this.escapeExpression,h="";return d.buffer.push('\r\n\r\n \r\n '),d.buffer.push(g((b.outlet||a&&a.outlet||f).call(a,"bs-tooltip-box",{name:"outlet",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}))),d.buffer.push("\r\n \r\n "),d.buffer.push(g((b.partial||a&&a.partial||f).call(a,"header",{name:"partial",hash:{},hashTypes:{},hashContexts:{},types:["STRING"],contexts:[a],data:d}))),d.buffer.push('\r\n \r\n \r\n \r\n Skip navigation\r\n \r\n '),d.buffer.push(g((b.partial||a&&a.partial||f).call(a,"nav-main",{name:"partial",hash:{},hashTypes:{},hashContexts:{},types:["STRING"],contexts:[a],data:d}))),d.buffer.push("\r\n "),d.buffer.push(g((b["bs-notifications"]||a&&a["bs-notifications"]||f).call(a,{name:"bs-notifications",hash:{style:"z-index: 9999; position: fixed; width: 50%; left: 0; right: 0; margin-left: auto; margin-right: auto; margin-top: 50px;"},hashTypes:{style:"STRING"},hashContexts:{style:a},types:[],contexts:[],data:d}))),d.buffer.push("\r\n "),e=b._triageMustache.call(a,"bs-growl-notifications",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push('\r\n \r\n
    \r\n
    \r\n

    '),e=b._triageMustache.call(a,"page.lead",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("

    \r\n "),d.buffer.push(g((b.partial||a&&a.partial||f).call(a,"ads",{name:"partial",hash:{},hashTypes:{},hashContexts:{},types:["STRING"],contexts:[a],data:d}))),d.buffer.push('\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n '),e=b._triageMustache.call(a,"bs-breadcrumbs",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("\r\n "),e=b._triageMustache.call(a,"outlet",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push('\r\n
    \r\n
    \r\n\r\n
    \r\n\r\n \r\n
    \r\n
    \r\n '),d.buffer.push(g((b.partial||a&&a.partial||f).call(a,"social-buttons",{name:"partial",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}))),d.buffer.push("\r\n
    \r\n
    \r\n\r\n \r\n "),d.buffer.push(g((b.partial||a&&a.partial||f).call(a,"footer",{name:"partial",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}))),d.buffer.push("\r\n \r\n\r\n"),h},useData:!0}),Ember.TEMPLATES["demo-template"]=Ember.HTMLBars.template({1:function(a,b,c,d){var e,f="";return e=b._triageMustache.call(a,"message",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("\r\n"),f},compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f,g,h=b.helperMissing,i=this.escapeExpression,j="function",k=b.blockHelperMissing,l="";return d.buffer.push(i((b["bs-page-header"]||a&&a["bs-page-header"]||h).call(a,{name:"bs-page-header",hash:{sub:"Hello world.",title:"Hello"},hashTypes:{sub:"STRING",title:"STRING"},hashContexts:{sub:a,title:a},types:[],contexts:[],data:d}))),d.buffer.push("\r\n"),f=null!=(f=b["bs-well"]||(null!=a?a["bs-well"]:a))?f:h,g={name:"bs-well",hash:{},hashTypes:{},hashContexts:{},fn:this.program(1,d),inverse:this.noop,types:[],contexts:[],data:d},e=typeof f===j?f.call(a,g):f,b["bs-well"]||(e=k.call(a,e,g)),null!=e&&d.buffer.push(e),l},useData:!0}),Ember.TEMPLATES.footer=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(){return""},useData:!0}),Ember.TEMPLATES.header=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(){return""},useData:!0}),Ember.TEMPLATES.index=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){d.buffer.push('
    \r\n ')},useData:!0}),Ember.TEMPLATES.leftnav=Ember.HTMLBars.template({1:function(a,b,c,d){var e,f=b.helperMissing,g="";return d.buffer.push("
  • \r\n"),e=(b["link-to"]||a&&a["link-to"]||f).call(a,"item.route",{name:"link-to",hash:{},hashTypes:{},hashContexts:{},fn:this.program(2,d),inverse:this.noop,types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("
  • \r\n"),g},2:function(a,b,c,d){var e,f="";return d.buffer.push(" "),e=b._triageMustache.call(a,"item.title",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("\r\n"),e=b["if"].call(a,"item.special",{name:"if",hash:{},hashTypes:{},hashContexts:{},fn:this.program(3,d),inverse:this.noop,types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),e=b["if"].call(a,"item.new",{name:"if",hash:{},hashTypes:{},hashContexts:{},fn:this.program(5,d),inverse:this.noop,types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),f},3:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression,g="";return d.buffer.push(" "),d.buffer.push(f((b["bs-label"]||a&&a["bs-label"]||e).call(a,{name:"bs-label",hash:{type:"danger",content:"Special"},hashTypes:{type:"STRING",content:"STRING"},hashContexts:{type:a,content:a},types:[],contexts:[],data:d}))),d.buffer.push("\r\n"),g},5:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression,g="";return d.buffer.push(" "),d.buffer.push(f((b["bs-label"]||a&&a["bs-label"]||e).call(a,{name:"bs-label",hash:{type:"info",content:"New"},hashTypes:{type:"STRING",content:"STRING"},hashContexts:{type:a,content:a},types:[],contexts:[],data:d}))),d.buffer.push("\r\n"),g},compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e;e=b.each.call(a,"item","in","controller",{name:"each",hash:{},hashTypes:{},hashContexts:{},fn:this.program(1,d),inverse:this.noop,types:["ID","ID","ID"],contexts:[a,a,a],data:d}),d.buffer.push(null!=e?e:"")},useData:!0}),Ember.TEMPLATES["nav-main"]=Ember.HTMLBars.template({1:function(a,b,c,d){d.buffer.push("Bootstrap for Ember")},3:function(a,b,c,d){d.buffer.push("Home")},5:function(a,b,c,d){d.buffer.push("Components")},compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f=b.helperMissing,g="";return d.buffer.push('\r\n"),g},useData:!0}),Ember.TEMPLATES["social-buttons"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){d.buffer.push('
    \r\n \r\n
    \r\n')},useData:!0}),Ember.TEMPLATES["tabs/bar-tabpane"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f=b.helperMissing,g=this.escapeExpression,h="";return d.buffer.push(g((b["bs-page-header"]||a&&a["bs-page-header"]||f).call(a,{name:"bs-page-header",hash:{sub:"Tab Pane Content",title:"BAR "},hashTypes:{sub:"STRING",title:"STRING"},hashContexts:{sub:a,title:a},types:[],contexts:[],data:d}))),d.buffer.push("\r\nController is: "),e=b._triageMustache.call(a,"controller",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),h},useData:!0}),Ember.TEMPLATES["tabs/baz-tabpane"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression;d.buffer.push(f((b["bs-page-header"]||a&&a["bs-page-header"]||e).call(a,{name:"bs-page-header",hash:{sub:"Tab Pane Content",title:"BAZ"},hashTypes:{sub:"STRING",title:"STRING"},hashContexts:{sub:a,title:a},types:[],contexts:[],data:d})))},useData:!0}),Ember.TEMPLATES["tabs/foo-tabpane"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f=b.helperMissing,g=this.escapeExpression,h="";return d.buffer.push(g((b["bs-page-header"]||a&&a["bs-page-header"]||f).call(a,{name:"bs-page-header",hash:{sub:"Tab Pane Content",title:"FOO"},hashTypes:{sub:"STRING",title:"STRING"},hashContexts:{sub:a,title:a},types:[],contexts:[],data:d}))),d.buffer.push("\r\nController is: "),e=b._triageMustache.call(a,"controller",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),h},useData:!0}),Ember.TEMPLATES.user=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f=b.helperMissing,g=this.escapeExpression,h="";return d.buffer.push(g((b["bs-tabs"]||a&&a["bs-tabs"]||f).call(a,{name:"bs-tabs",hash:{contentBinding:"tabsMeta"},hashTypes:{contentBinding:"STRING"},hashContexts:{contentBinding:a},types:[],contexts:[],data:d}))),d.buffer.push("\r\n\r\n"),e=b._triageMustache.call(a,"outlet",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),h},useData:!0}),Ember.TEMPLATES["user/activities"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression;d.buffer.push(f((b["bs-page-header"]||a&&a["bs-page-header"]||e).call(a,{name:"bs-page-header",hash:{sub:"User latest Activities",title:"Activities"},hashTypes:{sub:"STRING",title:"STRING"},hashContexts:{sub:a,title:a},types:[],contexts:[],data:d})))},useData:!0}),Ember.TEMPLATES["user/general"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression;d.buffer.push(f((b["bs-page-header"]||a&&a["bs-page-header"]||e).call(a,{name:"bs-page-header",hash:{sub:"User general details",title:"General"},hashTypes:{sub:"STRING",title:"STRING"},hashContexts:{sub:a,title:a},types:[],contexts:[],data:d})))},useData:!0}),Ember.TEMPLATES["user/privacy"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression;d.buffer.push(f((b["bs-page-header"]||a&&a["bs-page-header"]||e).call(a,{name:"bs-page-header",hash:{sub:"User Privacy details",title:"Privacy"},hashTypes:{sub:"STRING",title:"STRING"},hashContexts:{sub:a,title:a},types:[],contexts:[],data:d})))},useData:!0}),Ember.TEMPLATES["wizard/step1"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){d.buffer.push("

    Step1

    ")},useData:!0}),Ember.TEMPLATES["wizard/step2"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){d.buffer.push("

    Step 2

    ")},useData:!0}),Ember.TEMPLATES["wizard/step3"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){d.buffer.push("

    Step 3

    ")},useData:!0}),function(){!function(){var a,b;a=window.Bootstrap,b=window.Showcase=Ember.Application.create({LOG_TRANSITIONS:!0,LOG_VIEW_LOOKUPS:!0,LOG_ACTIVE_GENERATION:!0}),Ember.ENV={HELPER_PARAM_LOOKUPS:!0},Ember.Handlebars.registerHelper("raw",function(a){return a.fn(a)})}(),function(){(function(){Showcase.Router.map(function(){return this.resource("show_components",function(){return this.route("alert"),this.route("breadcrumbs"),this.route("modal"),this.route("label"),this.route("badge"),this.route("well"),this.route("list-group"),this.route("panel"),this.route("page-header"),this.route("button"),this.route("buttonGroup"),this.route("progressbar"),this.route("pills"),this.route("tabs"),this.route("tabs-panes"),this.route("wizard"),this.route("items_action_bar"),this.route("tabs-with-routes"),this.route("notifications"),this.route("growl-notif"),this.route("popover"),this.resource("user",function(){return this.route("general"),this.route("privacy"),this.route("activities")})})})}).call(this)}(),function(){(function(){Showcase.ApplicationRoute=Ember.Route.extend({model:function(){return[Ember.Object.create({title:"Alert",route:"show_components.alert"}),Ember.Object.create({title:"Breadcrumbs",route:"show_components.breadcrumbs","new":!0}),Ember.Object.create({title:"Modal",route:"show_components.modal"}),Ember.Object.create({title:"Label",route:"show_components.label"}),Ember.Object.create({title:"Badge",route:"show_components.badge"}),Ember.Object.create({title:"Well",route:"show_components.well"}),Ember.Object.create({title:"List Group",route:"show_components.list-group"}),Ember.Object.create({title:"Panel",route:"show_components.panel"}),Ember.Object.create({title:"Page Header",route:"show_components.page-header"}),Ember.Object.create({title:"Button",route:"show_components.button"}),Ember.Object.create({title:"Button Group",route:"show_components.buttonGroup"}),Ember.Object.create({title:"Progressbar",route:"show_components.progressbar"}),Ember.Object.create({title:"Tooltips & Popover","new":!0,route:"show_components.popover"}),Ember.Object.create({title:"Nav - Pills",route:"show_components.pills"}),Ember.Object.create({title:"Nav - Tabs",route:"show_components.tabs"}),Ember.Object.create({title:"Nav - Tabs Panes",route:"show_components.tabs-panes"}),Ember.Object.create({title:"Nav - Tabs with Routes",special:!0,route:"show_components.tabs-with-routes"}),Ember.Object.create({title:"Wizard",special:!0,route:"show_components.wizard"}),Ember.Object.create({title:"Notifications",special:!0,route:"show_components.notifications"}),Ember.Object.create({title:"Items Action Bar","new":!0,route:"show_components.items_action_bar"}),Ember.Object.create({title:"Growl Notifications",special:!0,route:"show_components.growl-notif"})]}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsPopoverRoute=Ember.Route.extend({renderTemplate:function(){var a;return this.render(),a=this.controllerFor("ShowComponentsTooltipBox"),this.render("bs-tooltip-box",{outlet:"bs-tooltip-box",controller:a,into:"application"})}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsAlertController=Ember.Controller.extend({actions:{submit:function(){return alert("Action taken by controller!")},didAlertClosed:function(){return alert("From controller: The -closed- event was triggered.")},didAlertClose:function(){return alert("From controller: The -close- event was triggered.")}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsButtonController=Ember.Controller.extend({isButtonDisabled:!1,loadingState:null,loadingState1:null,actions:{disableButton:function(){return this.set("isButtonDisabled",!0)},startLoading:function(){var a=this;return this.set("loadingState","loading"),Ember.run.later(function(){return a.set("loadingState",null)},2e3)},startLoading1:function(){var a=this;return this.set("loadingState1","loading"),Ember.run.later(function(){return a.set("loadingState1","completed")},2e3)},buttonWithParam:function(a){return alert("Passed controller as a param: "+a)}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsItemsActionBarController=Ember.Controller.extend({actionsInBar:[[{title:"To Alerts",disabled:function(a){var b;return a.size<1||"Alerts"!==(null!=a&&null!=(b=a[0])?b.title:void 0)?!0:void 0},transitionTo:"show_components.alert"},{title:"To Panels",transitionTo:"show_components.panel",disabled:function(a){var b;return a.size<1||"Panels"!==(null!=a&&null!=(b=a[0])?b.title:void 0)?!0:void 0}}],[{title:"To Wizard",disabled:function(a){var b;return a.size<1||"Wizards"!==(null!=a&&null!=(b=a[0])?b.title:void 0)?!0:void 0},clickActionName:"wizard"}]],actions:{wizard:function(){return alert("Wizard pressed!")}},items:[Ember.Object.create({title:"Alerts"}),Ember.Object.create({title:"Panels"}),Ember.Object.create({title:"Wizards"})]})}).call(this)}(),function(){(function(){Showcase.ShowComponentsPanelController=Ember.Controller.extend({actions:{panelClicked:function(){return alert("Hello from controller: A click in a panel!")},panelClosed:function(){return alert("Hello from controller: The panel was closed!")}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsPopoverController=Ember.Controller.extend({testObject:Ember.Object.createWithMixins({sticky:function(){return Ember.Object.create({user:this,content:"know this is a sticky tooltip! You can hover over it.",trigger:"hover",sticky:!0})}.property()}),user:Ember.Object.create({firstNameBinding:"content.name",title:"rename",template:'name: {{input type="text" value=content.name}}',content:{name:"John"},trigger:"hover",sticky:!0}),hoverPop:Ember.Object.create({title:"I'm a title!",content:"And i'm a content!",trigger:"hover",placement:"right",sticky:!0}),clickPop:Ember.Object.create({title:"Clickable!",content:"

    Hello

    This is a clickable popover with html content!",placement:"left",html:!0}),templPop:Ember.Object.create({firstName:"numbers",title:"Popover with Template",template:"numbers:
      {{#each val in content.numbers}}
    • {{val}}
    • {{/each}}
    ",content:{numbers:[1,2,3]}})})}).call(this)}(),function(){(function(){Showcase.ShowComponentsProgressbarController=Ember.Controller.extend({prog:0,incrementBy:20,actions:{increment:function(){return this.prog<100?this.incrementProperty("prog",this.incrementBy):this.set("prog",this.incrementBy)}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsTooltipBoxController=Bootstrap.TooltipBoxController}).call(this)}(),function(){(function(){Showcase.ShowComponentsWellController=Ember.Controller.extend({wellClick:function(){return alert("Hello from controller: A click in a well!")}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsButtonGroupController=Ember.Controller.extend({options:["Home","Profile","Messages"],options2:["Admin","Settings"],optionsWithMeta:[Ember.Object.create({title:"Create",type:"primary"}),Ember.Object.create({title:"Destroy",type:"danger"})]})}).call(this)}(),function(){(function(){Showcase.ShowComponentsPillsController=Ember.Controller.extend({content:["Home","Profile","Messages"],init:function(){return this._super(),this.set("content1",Ember.A([Ember.Object.create({title:"Home","default":!0,disabled:!1}),Ember.Object.create({title:"Admin",disabled:!0})])),this.set("selected1",this.get("content1").objectAt(0))},contentChanged:function(){return console.log("Selection has changed to: "+this.get("selected"))}.observes("selected"),actions:{disableHome:function(){return this.get("content1").objectAt(0).set("disabled",!0)}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsGrowlNotifController=Ember.Controller.extend({actions:{pushInfo:function(){return Bootstrap.GNM.push("INFO!","Hello, this is just an info message.","info")},pushSuccess:function(){return Bootstrap.GNM.push("SUCCESS!","Successfully performed operation!","success")},pushWarn:function(){return Bootstrap.GNM.push("WARN!","Could not perform operation!","warning")},pushDanger:function(){return Bootstrap.GNM.push("Danger!","System is halting!","danger")}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsListGroupController=Ember.Controller.extend({listSimple:Ember.A(["Cras justo odio","Dapibus ac facilisis in","Morbi leo risus"]),listWithBadges:Ember.A([Ember.Object.create({title:"Inbox",badge:"45"}),Ember.Object.create({title:"Sent",badge:"33"})]),listWithSub:Ember.A([Ember.Object.create({title:"Inbox",sub:"Incoming mails folder",badge:"45"}),Ember.Object.create({title:"Sent",sub:"Sent emails folder",badge:"33"})])})}).call(this)}(),function(){(function(){Showcase.ShowComponentsModalController=Ember.Controller.extend({message:"Welcome to Bootstrap for Ember..!",myModalButtons:[Ember.Object.create({title:"Submit",clicked:"submit"}),Ember.Object.create({title:"Cancel",clicked:"cancel",dismiss:"modal"})],manualButtons:[Ember.Object.create({title:"Submit",clicked:"submitManual"}),Ember.Object.create({title:"Cancel",dismiss:"modal"})],actions:{submit:function(){return Bootstrap.NM.push("Successfully submitted modal","success"),Bootstrap.ModalManager.hide("myModal")},cancel:function(){return Bootstrap.NM.push("Modal was cancelled","info")},show:function(){return Bootstrap.ModalManager.show("myModal")},submitManual:function(){return Bootstrap.NM.push("Modal destroyed!","success"),Bootstrap.ModalManager.close("manualModal")},createModalProgramatically:function(){var a;return a=Ember.View.extend({template:Ember.Handlebars.compile("This is a programatic ")}),Bootstrap.ModalManager.open("manualModal","Hello","demo-template",this.manualButtons,this)},confirm:function(){return Bootstrap.ModalManager.confirm(this)},modalConfirmed:function(){return Bootstrap.NM.push("Confirmed!","success")},modalCanceled:function(){return Bootstrap.NM.push("Cancelled!","info")}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsNotificationsController=Ember.Controller.extend({actions:{pushInfo:function(){return Bootstrap.NM.push("Hello, this is just an info message.","info")},pushWarn:function(){return Bootstrap.NM.push("Could not perform operation!","warning")},pushSuccess:function(){return Bootstrap.NM.push("Successfully performed operation!","success")},pushDanger:function(){return Bootstrap.NM.push("Danger! system is halting!","danger")}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsTabsController=Ember.Controller.extend({content:["Home","Profile","Messages"],init:function(){return this._super(),this.set("selected","Home"),this.set("tabsPanesOptions",Ember.A([Ember.Object.create({title:"Foo",template:"tabs/foo-tabpane"}),Ember.Object.create({title:"Bar",template:"tabs/bar-tabpane"})]))}})}).call(this)}(),function(){(function(){Showcase.ShowcaseComponentsTabsFooController=Ember.Controller.extend()}).call(this)}(),function(){(function(){Showcase.ShowComponentsTabsPanesController=Ember.Controller.extend({tabsMeta:Ember.A([Ember.Object.create({title:"Foo",template:"tabs/foo-tabpane",controller:"ShowcaseComponentsTabsFoo"}),Ember.Object.create({title:"Bar",template:"tabs/bar-tabpane"})])})}).call(this)}(),function(){(function(){Showcase.ShowComponentsWizardController=Ember.Controller.extend({init:function(){return this._super(),this.set("steps",Ember.A([Ember.Object.create({title:"Foo",template:"tabs/foo-tabpane"}),Ember.Object.create({title:"Bar",template:"tabs/bar-tabpane"}),Ember.Object.create({title:"Baz",template:"tabs/baz-tabpane"})])),this.set("stepsNoPrev",Ember.A([Ember.Object.create({title:"Step1",template:"tabs/foo-tabpane",disabled:!0}),Ember.Object.create({title:"Step2",template:"tabs/bar-tabpane",disabled:!0}),Ember.Object.create({title:"Step3",template:"tabs/baz-tabpane",disabled:!0})]))},actions:{createWizard:function(){var a;return a=Bootstrap.BsWizardComponent.extend({content:[Ember.Object.create({title:"Step1",template:"wizard/step1",disabled:!0}),Ember.Object.create({title:"Step2",template:"wizard/step2",disabled:!0}),Ember.Object.create({title:"Step3",template:"wizard/step3",disabled:!0})],targetObject:this,onNext:"onNext",onPrev:"onPrev",onFinish:"onFinish"}),Bootstrap.ModalManager.open("manualModal","Wizard Title...",a,null,this)},onNext:function(){return console.log("NEXT")},onPrev:function(){return console.log("PREV")},onFinish:function(){return Bootstrap.ModalManager.close("manualModal"),Bootstrap.NM.push("Wizard completed!")}}})}).call(this)}(),function(){(function(){Showcase.UserController=Ember.Controller.extend({tabsMeta:[Ember.Object.create({title:"General",linkTo:"user.general"}),Ember.Object.create({title:"Privacy",linkTo:"user.privacy"}),Ember.Object.create({title:"Activities",linkTo:"user.activities"})]})}).call(this)}(),function(){}.call(this)}(); \ No newline at end of file From 044dc9ec049526caea694d9e2d3f1c8f7afa22c4 Mon Sep 17 00:00:00 2001 From: danshapir Date: Sun, 22 Feb 2015 21:16:11 +0200 Subject: [PATCH 09/24] Fix indent --- .../components/BsModalComponent.coffee | 76 +++++++++--------- dist/js/bs-modal.max.js | 77 +++++++++++++------ dist/js/bs-modal.min.js | 2 +- dist/showcase/scripts/showcase.js | 5 +- 4 files changed, 95 insertions(+), 65 deletions(-) diff --git a/app/scripts/components/BsModalComponent.coffee b/app/scripts/components/BsModalComponent.coffee index a79d24e..8cd130a 100644 --- a/app/scripts/components/BsModalComponent.coffee +++ b/app/scripts/components/BsModalComponent.coffee @@ -173,7 +173,7 @@ Bootstrap.ModalManager = Ember.Object.create( ] @open('confirm-modal', title || 'Confirmation required!', body, buttons, controller, options) - okModal: (controller, title, message, okButtonTitle = "OK", okButtonEvent = "okModal", okButtonType = null, options) -> + okModal: (controller, title, message, okButtonTitle = "OK", okButtonEvent = "okModal", okButtonType = null, options) -> body = Ember.View.extend( template: Ember.Handlebars.compile(message || "Are you sure you would like to perform this action?") ) @@ -195,43 +195,43 @@ Bootstrap.ModalManager = Ember.Object.create( @open name, title, view, footerButtons, controller, options open: (name, title, view, footerButtons, controller, options) -> - cl = undefined - modalComponent = undefined - template = undefined - options = {} unless options? - options.fade = @get("fade") unless options.fade? - options.fullSizeButtons = @get("fullSizeButtons") unless options.fullSizeButtons? - options.targetObj = controller unless options.targetObj? - options.vertical = @get("vertical") unless options.vertical? - cl = controller.container.lookup("component-lookup:main") - modalComponent = cl.lookupFactory("bs-modal", controller.get("container")).create() - modalComponent.setProperties - name: name - title: title - manual: true - footerButtons: footerButtons - targetObject: options.targetObj - fade: options.fade - fullSizeButtons: options.fullSizeButtons - vertical: options.vertical - - if Ember.typeOf(view) is "string" - template = controller.container.lookup("template:" + view) - Ember.assert "Template " + view + " was specified for Modal but template could not be found.", template - if template - modalComponent.setProperties body: Ember.View.extend( - template: template - controller: controller - ) - else if Ember.typeOf(view) is "class" - modalComponent.setProperties - body: view - controller: controller - - modalComponent.appendTo controller.namespace.rootElement - fade: true - fullSizeButtons: false - vertical: false + cl = undefined + modalComponent = undefined + template = undefined + options = {} unless options? + options.fade = @get("fade") unless options.fade? + options.fullSizeButtons = @get("fullSizeButtons") unless options.fullSizeButtons? + options.targetObj = controller unless options.targetObj? + options.vertical = @get("vertical") unless options.vertical? + cl = controller.container.lookup("component-lookup:main") + modalComponent = cl.lookupFactory("bs-modal", controller.get("container")).create() + modalComponent.setProperties + name: name + title: title + manual: true + footerButtons: footerButtons + targetObject: options.targetObj + fade: options.fade + fullSizeButtons: options.fullSizeButtons + vertical: options.vertical + + if Ember.typeOf(view) is "string" + template = controller.container.lookup("template:" + view) + Ember.assert "Template " + view + " was specified for Modal but template could not be found.", template + if template + modalComponent.setProperties body: Ember.View.extend( + template: template + controller: controller + ) + else if Ember.typeOf(view) is "class" + modalComponent.setProperties + body: view + controller: controller + + modalComponent.appendTo controller.namespace.rootElement + fade: true + fullSizeButtons: false + vertical: false ) diff --git a/dist/js/bs-modal.max.js b/dist/js/bs-modal.max.js index 1b24cb8..87f0062 100644 --- a/dist/js/bs-modal.max.js +++ b/dist/js/bs-modal.max.js @@ -4,8 +4,6 @@ Modal component. (function() { - var cl, modalComponent, options, template; - Bootstrap.adjustModalMaxHeightAndPosition = function() { console.log("adju"); return Ember.$(".modal").each(function() { @@ -233,8 +231,7 @@ Modal component. }) ]; return this.open('confirm-modal', title || 'Confirmation required!', body, buttons, controller, options); - } - }, { + }, okModal: function(controller, title, message, okButtonTitle, okButtonEvent, okButtonType, options) { var body, buttons; if (okButtonTitle == null) { @@ -277,27 +274,57 @@ Modal component. return this.open(name, title, view, footerButtons, controller, options); }, open: function(name, title, view, footerButtons, controller, options) { - var cl; - return cl = void 0; - } - }, modalComponent = void 0, template = void 0, typeof options === "undefined" || options === null ? options = {} : void 0, options.fade == null ? options.fade = this.get("fade") : void 0, options.fullSizeButtons == null ? options.fullSizeButtons = this.get("fullSizeButtons") : void 0, options.targetObj == null ? options.targetObj = controller : void 0, options.vertical == null ? options.vertical = this.get("vertical") : void 0, cl = controller.container.lookup("component-lookup:main"), modalComponent = cl.lookupFactory("bs-modal", controller.get("container")).create(), modalComponent.setProperties, { - name: name, - title: title, - manual: true, - footerButtons: footerButtons, - targetObject: options.targetObj, - fade: options.fade, - fullSizeButtons: options.fullSizeButtons, - vertical: options.vertical - }, Ember.typeOf(view) === "string" ? (template = controller.container.lookup("template:" + view), Ember.assert("Template " + view + " was specified for Modal but template could not be found.", template), template ? modalComponent.setProperties({ - body: Ember.View.extend({ - template: template, - controller: controller - }) - }) : void 0) : Ember.typeOf(view) === "class" ? modalComponent.setProperties({ - body: view, - controller: controller - }) : void 0, modalComponent.appendTo(controller.namespace.rootElement), { + var cl, modalComponent, template; + cl = void 0; + modalComponent = void 0; + template = void 0; + if (options == null) { + options = {}; + } + if (options.fade == null) { + options.fade = this.get("fade"); + } + if (options.fullSizeButtons == null) { + options.fullSizeButtons = this.get("fullSizeButtons"); + } + if (options.targetObj == null) { + options.targetObj = controller; + } + if (options.vertical == null) { + options.vertical = this.get("vertical"); + } + cl = controller.container.lookup("component-lookup:main"); + modalComponent = cl.lookupFactory("bs-modal", controller.get("container")).create(); + modalComponent.setProperties; + ({ + name: name, + title: title, + manual: true, + footerButtons: footerButtons, + targetObject: options.targetObj, + fade: options.fade, + fullSizeButtons: options.fullSizeButtons, + vertical: options.vertical + }); + if (Ember.typeOf(view) === "string") { + template = controller.container.lookup("template:" + view); + Ember.assert("Template " + view + " was specified for Modal but template could not be found.", template); + if (template) { + modalComponent.setProperties({ + body: Ember.View.extend({ + template: template, + controller: controller + }) + }); + } + } else if (Ember.typeOf(view) === "class") { + modalComponent.setProperties({ + body: view, + controller: controller + }); + } + return modalComponent.appendTo(controller.namespace.rootElement); + }, fade: true, fullSizeButtons: false, vertical: false diff --git a/dist/js/bs-modal.min.js b/dist/js/bs-modal.min.js index 753246b..cc6b117 100644 --- a/dist/js/bs-modal.min.js +++ b/dist/js/bs-modal.min.js @@ -1 +1 @@ -(function(){var a,b,c,d;Bootstrap.adjustModalMaxHeightAndPosition=function(){return console.log("adju"),Ember.$(".modal").each(function(){var a,b,c;return Ember.$(this).hasClass("in")===!1&&Ember.$(this).show(),a=Ember.$(window).height()-60,c=Ember.$(this).find(".modal-header").outerHeight()||2,b=Ember.$(this).find(".modal-footer").outerHeight()||2,Ember.$(this).find(".modal-content").css({"max-height":function(){return a}}),Ember.$(this).find(".modal-body").css({"max-height":function(){return a-(c+b)}}),Ember.$(this).find(".modal-dialog").addClass("modal-dialog-center").css({"margin-top":function(){return-(Ember.$(this).outerHeight()/2)},"margin-left":function(){return-(Ember.$(this).outerWidth()/2)}}),Ember.$(this).hasClass("in")===!1?Ember.$(this).hide():void 0})},Bootstrap.BsModalComponent=Ember.Component.extend(Ember.Evented,{layoutName:"components/bs-modal",classNames:["modal"],classNameBindings:["fade","isVis:in"],attributeBindings:["role","aria-labelledby","isAriaHidden:aria-hidden","ariaLabelledBy:aria-labelledby"],isAriaHidden:function(){return""+this.get("isVisible")}.property("isVisible"),modalBackdrop:'',role:"dialog",footerViews:[],backdrop:!0,title:null,isVisible:!1,manual:!1,isVis:!1,fullSizeButtons:!1,fade:!0,didInsertElement:function(){var a;return this._super(),this.setupBinders(),a=this.get("name"),Ember.assert("Modal name is required for modal view "+this.get("elementId"),this.get("name")),null==a&&(a=this.get("elementId")),Bootstrap.ModalManager.add(a,this),this.manual?this.show():void 0},becameVisible:function(){return Em.$("body").addClass("modal-open"),this.get("backdrop")?this.appendBackdrop():void 0},becameHidden:function(){return Em.$("body").removeClass("modal-open"),this._backdrop?this._backdrop.remove():void 0},appendBackdrop:function(){var a;return a=this.$().parent(),this._backdrop=Em.$(this.modalBackdrop).appendTo(a)},show:function(){var a;this.set("isVisible",!0),a=this,setTimeout(function(){a.set("isVis",!0)},15)},hide:function(){var a;return this.set("isVis",!1),a=this,this.$().one("webkitTransitionEnd",function(){a.set("isVisible",!1)}),!1},toggle:function(){return this.toggleProperty("isVisible")},click:function(a){var b,c;return b=a.target,c=b.getAttribute("data-dismiss"),"modal"===c?this.close():void 0},keyPressed:function(a){return 27===a.keyCode?this.close(a):void 0},close:function(){var a;return this.set("isVis",!1),a=this,this.$().one("webkitTransitionEnd",function(){a.get("manual")?a.destroy():a.hide()}),this.trigger("closed")},willDestroyElement:function(){var a;return Em.$("body").removeClass("modal-open"),this.removeHandlers(),a=this.get("name"),null==a&&(a=this.get("elementId")),Bootstrap.ModalManager.remove(a,this),this._backdrop?this._backdrop.remove():void 0},removeHandlers:function(){return jQuery(window.document).unbind("keyup",this._keyUpHandler)},setupBinders:function(){var a,b=this;return a=function(a){return b.keyPressed(a)},jQuery(window.document).bind("keyup",a),this._keyUpHandler=a}}),Bootstrap.ModalManager=Ember.Object.create({add:function(a,b){return this.set(a,b)},register:function(a,b){return this.add(a,b),b.appendTo(b.get("targetObject").namespace.rootElement)},remove:function(a){return this.set(a,null)},close:function(a){return this.get(a).close()},hide:function(a){return this.get(a).hide()},show:function(a){return this.get(a).show()},toggle:function(a){return this.get(a).toggle()},confirm:function(a,b,c,d,e,f,g,h,i,j){var k,l;return null==e&&(e="Confirm"),null==f&&(f="modalConfirmed"),null==g&&(g=null),null==h&&(h="Cancel"),null==i&&(i="modalCanceled"),null==j&&(j=null),k=Ember.View.extend({template:Ember.Handlebars.compile(c||"Are you sure you would like to perform this action?")}),l=[Ember.Object.create({title:e,clicked:f,type:g,dismiss:"modal"}),Ember.Object.create({title:h,clicked:i,type:j,dismiss:"modal"})],this.open("confirm-modal",b||"Confirmation required!",k,l,a,d)}},{okModal:function(a,b,c,d,e,f,g){var h,i;return null==d&&(d="OK"),null==e&&(e="okModal"),null==f&&(f=null),h=Ember.View.extend({template:Ember.Handlebars.compile(c||"Are you sure you would like to perform this action?")}),i=[Ember.Object.create({title:d,clicked:e,type:f,dismiss:"modal"})],this.open("ok-modal",b||"Confirmation required!",h,i,a,g)},openModal:function(a,b){var c,d;return null==b&&(b={}),d=b.rootElement||".ember-application",c=a.create(b),c.appendTo(d)},openManual:function(a,b,c,d,e,f){var g;return g=Ember.View.extend({template:Ember.Handlebars.compile(c),controller:e}),this.open(a,b,g,d,e,f)},open:function(){var a;return a=void 0}},b=void 0,d=void 0,"undefined"==typeof c||null===c?c={}:void 0,null==c.fade?c.fade=this.get("fade"):void 0,null==c.fullSizeButtons?c.fullSizeButtons=this.get("fullSizeButtons"):void 0,null==c.targetObj?c.targetObj=controller:void 0,null==c.vertical?c.vertical=this.get("vertical"):void 0,a=controller.container.lookup("component-lookup:main"),b=a.lookupFactory("bs-modal",controller.get("container")).create(),b.setProperties,{name:name,title:title,manual:!0,footerButtons:footerButtons,targetObject:c.targetObj,fade:c.fade,fullSizeButtons:c.fullSizeButtons,vertical:c.vertical},"string"===Ember.typeOf(view)?(d=controller.container.lookup("template:"+view),Ember.assert("Template "+view+" was specified for Modal but template could not be found.",d),d?b.setProperties({body:Ember.View.extend({template:d,controller:controller})}):void 0):"class"===Ember.typeOf(view)?b.setProperties({body:view,controller:controller}):void 0,b.appendTo(controller.namespace.rootElement),{fade:!0,fullSizeButtons:!1,vertical:!1}),Ember.Application.initializer({name:"bs-modal",initialize:function(){}}),Ember.$(window).height()>=320&&Ember.$(window).resize(Bootstrap.adjustModalMaxHeightAndPosition).trigger("resize"),container.register("component:bs-modal",Bootstrap.BsModalComponent)}).call(this),Ember.TEMPLATES["components/bs-modal"]=Ember.HTMLBars.template(function(){var a=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createElement("i");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.element;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.childAt(g,[1]);return f(b,h,a,"bind-attr",[],{"class":"titleIconClasses"}),g}}}(),b=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,0,1,c);return g(b,i,a,"view",[f(b,a,"view.body")],{}),h}}}(),c=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.content;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.createMorphAt(g,0,1,c);return f(b,h,a,"yield"),g}}}(),d=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,0,1,c);return g(b,i,a,"bs-button",[],{content:f(b,a,"this"),targetObjectBinding:"view.targetObject"}),h}}}(),e=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,0,1,c);return g(b,i,a,"view",[f(b,a,"this")],{}),h}}}();return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createElement("div");a.setAttribute(b,"class","modal-dialog");var c=a.createTextNode("\n ");a.appendChild(b,c);var c=a.createElement("div");a.setAttribute(c,"class","modal-content");var d=a.createTextNode("\n ");a.appendChild(c,d);var d=a.createElement("div");a.setAttribute(d,"class","modal-header");var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("button");a.setAttribute(e,"type","button"),a.setAttribute(e,"data-dismiss","modal"),a.setAttribute(e,"aria-hidden","true");var f=a.createTextNode("×");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("h4");a.setAttribute(e,"class","modal-title");var f=a.createTextNode("\n");a.appendChild(e,f);var f=a.createTextNode(" ");a.appendChild(e,f);var f=a.createTextNode("\n ");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e),a.appendChild(c,d);var d=a.createTextNode("\n ");a.appendChild(c,d);var d=a.createElement("div");a.setAttribute(d,"class","modal-body");var e=a.createTextNode("\n");a.appendChild(d,e);var e=a.createTextNode(" ");a.appendChild(d,e),a.appendChild(c,d);var d=a.createTextNode("\n ");a.appendChild(c,d);var d=a.createElement("div"),e=a.createTextNode("\n");a.appendChild(d,e);var e=a.createTextNode("");a.appendChild(d,e);var e=a.createTextNode(" ");a.appendChild(d,e),a.appendChild(c,d);var d=a.createTextNode("\n ");a.appendChild(c,d),a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(f,g,h){var i=g.dom,j=g.hooks,k=j.element,l=j.get,m=j.block,n=j.content;i.detectNamespace(h);var o;g.useFragmentCache&&i.canClone?(null===this.cachedFragment&&(o=this.build(i),this.hasRendered?this.cachedFragment=o:this.hasRendered=!0),this.cachedFragment&&(o=i.cloneNode(this.cachedFragment,!0))):o=this.build(i);var p=i.childAt(o,[1]),q=i.childAt(p,[1]),r=i.childAt(q,[1]),s=i.childAt(q,[3]),t=i.childAt(p,[5]);this.cachedFragment&&i.repairClonedNode(t,[1]);var u=i.createMorphAt(s,0,1),v=i.createUnsafeMorphAt(s,1,2),w=i.createMorphAt(i.childAt(p,[3]),0,1),x=i.createMorphAt(t,0,1),y=i.createMorphAt(t,1,2);return k(g,r,f,"bind-attr",[],{"class":":close allowClose::hide"}),m(g,u,f,"if",[l(g,f,"titleIconClasses")],{},a,null),n(g,v,f,"title"),m(g,w,f,"if",[l(g,f,"body")],{},b,c),k(g,t,f,"bind-attr",[],{"class":":modal-footer fullSizeButtons:modal-footer-full"}),m(g,x,f,"each",[l(g,f,"footerButtons")],{},d,null),m(g,y,f,"each",[l(g,f,"footerViews")],{},e,null),o}}}()); \ No newline at end of file +(function(){Bootstrap.adjustModalMaxHeightAndPosition=function(){return console.log("adju"),Ember.$(".modal").each(function(){var a,b,c;return Ember.$(this).hasClass("in")===!1&&Ember.$(this).show(),a=Ember.$(window).height()-60,c=Ember.$(this).find(".modal-header").outerHeight()||2,b=Ember.$(this).find(".modal-footer").outerHeight()||2,Ember.$(this).find(".modal-content").css({"max-height":function(){return a}}),Ember.$(this).find(".modal-body").css({"max-height":function(){return a-(c+b)}}),Ember.$(this).find(".modal-dialog").addClass("modal-dialog-center").css({"margin-top":function(){return-(Ember.$(this).outerHeight()/2)},"margin-left":function(){return-(Ember.$(this).outerWidth()/2)}}),Ember.$(this).hasClass("in")===!1?Ember.$(this).hide():void 0})},Bootstrap.BsModalComponent=Ember.Component.extend(Ember.Evented,{layoutName:"components/bs-modal",classNames:["modal"],classNameBindings:["fade","isVis:in"],attributeBindings:["role","aria-labelledby","isAriaHidden:aria-hidden","ariaLabelledBy:aria-labelledby"],isAriaHidden:function(){return""+this.get("isVisible")}.property("isVisible"),modalBackdrop:'',role:"dialog",footerViews:[],backdrop:!0,title:null,isVisible:!1,manual:!1,isVis:!1,fullSizeButtons:!1,fade:!0,didInsertElement:function(){var a;return this._super(),this.setupBinders(),a=this.get("name"),Ember.assert("Modal name is required for modal view "+this.get("elementId"),this.get("name")),null==a&&(a=this.get("elementId")),Bootstrap.ModalManager.add(a,this),this.manual?this.show():void 0},becameVisible:function(){return Em.$("body").addClass("modal-open"),this.get("backdrop")?this.appendBackdrop():void 0},becameHidden:function(){return Em.$("body").removeClass("modal-open"),this._backdrop?this._backdrop.remove():void 0},appendBackdrop:function(){var a;return a=this.$().parent(),this._backdrop=Em.$(this.modalBackdrop).appendTo(a)},show:function(){var a;this.set("isVisible",!0),a=this,setTimeout(function(){a.set("isVis",!0)},15)},hide:function(){var a;return this.set("isVis",!1),a=this,this.$().one("webkitTransitionEnd",function(){a.set("isVisible",!1)}),!1},toggle:function(){return this.toggleProperty("isVisible")},click:function(a){var b,c;return b=a.target,c=b.getAttribute("data-dismiss"),"modal"===c?this.close():void 0},keyPressed:function(a){return 27===a.keyCode?this.close(a):void 0},close:function(){var a;return this.set("isVis",!1),a=this,this.$().one("webkitTransitionEnd",function(){a.get("manual")?a.destroy():a.hide()}),this.trigger("closed")},willDestroyElement:function(){var a;return Em.$("body").removeClass("modal-open"),this.removeHandlers(),a=this.get("name"),null==a&&(a=this.get("elementId")),Bootstrap.ModalManager.remove(a,this),this._backdrop?this._backdrop.remove():void 0},removeHandlers:function(){return jQuery(window.document).unbind("keyup",this._keyUpHandler)},setupBinders:function(){var a,b=this;return a=function(a){return b.keyPressed(a)},jQuery(window.document).bind("keyup",a),this._keyUpHandler=a}}),Bootstrap.ModalManager=Ember.Object.create({add:function(a,b){return this.set(a,b)},register:function(a,b){return this.add(a,b),b.appendTo(b.get("targetObject").namespace.rootElement)},remove:function(a){return this.set(a,null)},close:function(a){return this.get(a).close()},hide:function(a){return this.get(a).hide()},show:function(a){return this.get(a).show()},toggle:function(a){return this.get(a).toggle()},confirm:function(a,b,c,d,e,f,g,h,i,j){var k,l;return null==e&&(e="Confirm"),null==f&&(f="modalConfirmed"),null==g&&(g=null),null==h&&(h="Cancel"),null==i&&(i="modalCanceled"),null==j&&(j=null),k=Ember.View.extend({template:Ember.Handlebars.compile(c||"Are you sure you would like to perform this action?")}),l=[Ember.Object.create({title:e,clicked:f,type:g,dismiss:"modal"}),Ember.Object.create({title:h,clicked:i,type:j,dismiss:"modal"})],this.open("confirm-modal",b||"Confirmation required!",k,l,a,d)},okModal:function(a,b,c,d,e,f,g){var h,i;return null==d&&(d="OK"),null==e&&(e="okModal"),null==f&&(f=null),h=Ember.View.extend({template:Ember.Handlebars.compile(c||"Are you sure you would like to perform this action?")}),i=[Ember.Object.create({title:d,clicked:e,type:f,dismiss:"modal"})],this.open("ok-modal",b||"Confirmation required!",h,i,a,g)},openModal:function(a,b){var c,d;return null==b&&(b={}),d=b.rootElement||".ember-application",c=a.create(b),c.appendTo(d)},openManual:function(a,b,c,d,e,f){var g;return g=Ember.View.extend({template:Ember.Handlebars.compile(c),controller:e}),this.open(a,b,g,d,e,f)},open:function(a,b,c,d,e,f){var g,h,i;return g=void 0,h=void 0,i=void 0,null==f&&(f={}),null==f.fade&&(f.fade=this.get("fade")),null==f.fullSizeButtons&&(f.fullSizeButtons=this.get("fullSizeButtons")),null==f.targetObj&&(f.targetObj=e),null==f.vertical&&(f.vertical=this.get("vertical")),g=e.container.lookup("component-lookup:main"),h=g.lookupFactory("bs-modal",e.get("container")).create(),h.setProperties,{name:a,title:b,manual:!0,footerButtons:d,targetObject:f.targetObj,fade:f.fade,fullSizeButtons:f.fullSizeButtons,vertical:f.vertical},"string"===Ember.typeOf(c)?(i=e.container.lookup("template:"+c),Ember.assert("Template "+c+" was specified for Modal but template could not be found.",i),i&&h.setProperties({body:Ember.View.extend({template:i,controller:e})})):"class"===Ember.typeOf(c)&&h.setProperties({body:c,controller:e}),h.appendTo(e.namespace.rootElement)},fade:!0,fullSizeButtons:!1,vertical:!1}),Ember.Application.initializer({name:"bs-modal",initialize:function(){}}),Ember.$(window).height()>=320&&Ember.$(window).resize(Bootstrap.adjustModalMaxHeightAndPosition).trigger("resize"),container.register("component:bs-modal",Bootstrap.BsModalComponent)}).call(this),Ember.TEMPLATES["components/bs-modal"]=Ember.HTMLBars.template(function(){var a=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createElement("i");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.element;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.childAt(g,[1]);return f(b,h,a,"bind-attr",[],{"class":"titleIconClasses"}),g}}}(),b=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,0,1,c);return g(b,i,a,"view",[f(b,a,"view.body")],{}),h}}}(),c=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.content;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.createMorphAt(g,0,1,c);return f(b,h,a,"yield"),g}}}(),d=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,0,1,c);return g(b,i,a,"bs-button",[],{content:f(b,a,"this"),targetObjectBinding:"view.targetObject"}),h}}}(),e=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,0,1,c);return g(b,i,a,"view",[f(b,a,"this")],{}),h}}}();return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createElement("div");a.setAttribute(b,"class","modal-dialog");var c=a.createTextNode("\n ");a.appendChild(b,c);var c=a.createElement("div");a.setAttribute(c,"class","modal-content");var d=a.createTextNode("\n ");a.appendChild(c,d);var d=a.createElement("div");a.setAttribute(d,"class","modal-header");var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("button");a.setAttribute(e,"type","button"),a.setAttribute(e,"data-dismiss","modal"),a.setAttribute(e,"aria-hidden","true");var f=a.createTextNode("×");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("h4");a.setAttribute(e,"class","modal-title");var f=a.createTextNode("\n");a.appendChild(e,f);var f=a.createTextNode(" ");a.appendChild(e,f);var f=a.createTextNode("\n ");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e),a.appendChild(c,d);var d=a.createTextNode("\n ");a.appendChild(c,d);var d=a.createElement("div");a.setAttribute(d,"class","modal-body");var e=a.createTextNode("\n");a.appendChild(d,e);var e=a.createTextNode(" ");a.appendChild(d,e),a.appendChild(c,d);var d=a.createTextNode("\n ");a.appendChild(c,d);var d=a.createElement("div"),e=a.createTextNode("\n");a.appendChild(d,e);var e=a.createTextNode("");a.appendChild(d,e);var e=a.createTextNode(" ");a.appendChild(d,e),a.appendChild(c,d);var d=a.createTextNode("\n ");a.appendChild(c,d),a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(f,g,h){var i=g.dom,j=g.hooks,k=j.element,l=j.get,m=j.block,n=j.content;i.detectNamespace(h);var o;g.useFragmentCache&&i.canClone?(null===this.cachedFragment&&(o=this.build(i),this.hasRendered?this.cachedFragment=o:this.hasRendered=!0),this.cachedFragment&&(o=i.cloneNode(this.cachedFragment,!0))):o=this.build(i);var p=i.childAt(o,[1]),q=i.childAt(p,[1]),r=i.childAt(q,[1]),s=i.childAt(q,[3]),t=i.childAt(p,[5]);this.cachedFragment&&i.repairClonedNode(t,[1]);var u=i.createMorphAt(s,0,1),v=i.createUnsafeMorphAt(s,1,2),w=i.createMorphAt(i.childAt(p,[3]),0,1),x=i.createMorphAt(t,0,1),y=i.createMorphAt(t,1,2);return k(g,r,f,"bind-attr",[],{"class":":close allowClose::hide"}),m(g,u,f,"if",[l(g,f,"titleIconClasses")],{},a,null),n(g,v,f,"title"),m(g,w,f,"if",[l(g,f,"body")],{},b,c),k(g,t,f,"bind-attr",[],{"class":":modal-footer fullSizeButtons:modal-footer-full"}),m(g,x,f,"each",[l(g,f,"footerButtons")],{},d,null),m(g,y,f,"each",[l(g,f,"footerViews")],{},e,null),o}}}()); \ No newline at end of file diff --git a/dist/showcase/scripts/showcase.js b/dist/showcase/scripts/showcase.js index d5b582f..783f32a 100644 --- a/dist/showcase/scripts/showcase.js +++ b/dist/showcase/scripts/showcase.js @@ -1 +1,4 @@ -Ember.TEMPLATES.ads=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){d.buffer.push("

    Bootstrap for Ember

    ")},useData:!0}),Ember.TEMPLATES.application=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f=b.helperMissing,g=this.escapeExpression,h="";return d.buffer.push('\r\n\r\n \r\n '),d.buffer.push(g((b.outlet||a&&a.outlet||f).call(a,"bs-tooltip-box",{name:"outlet",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}))),d.buffer.push("\r\n \r\n "),d.buffer.push(g((b.partial||a&&a.partial||f).call(a,"header",{name:"partial",hash:{},hashTypes:{},hashContexts:{},types:["STRING"],contexts:[a],data:d}))),d.buffer.push('\r\n \r\n \r\n \r\n Skip navigation\r\n \r\n '),d.buffer.push(g((b.partial||a&&a.partial||f).call(a,"nav-main",{name:"partial",hash:{},hashTypes:{},hashContexts:{},types:["STRING"],contexts:[a],data:d}))),d.buffer.push("\r\n "),d.buffer.push(g((b["bs-notifications"]||a&&a["bs-notifications"]||f).call(a,{name:"bs-notifications",hash:{style:"z-index: 9999; position: fixed; width: 50%; left: 0; right: 0; margin-left: auto; margin-right: auto; margin-top: 50px;"},hashTypes:{style:"STRING"},hashContexts:{style:a},types:[],contexts:[],data:d}))),d.buffer.push("\r\n "),e=b._triageMustache.call(a,"bs-growl-notifications",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push('\r\n \r\n
    \r\n
    \r\n

    '),e=b._triageMustache.call(a,"page.lead",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("

    \r\n "),d.buffer.push(g((b.partial||a&&a.partial||f).call(a,"ads",{name:"partial",hash:{},hashTypes:{},hashContexts:{},types:["STRING"],contexts:[a],data:d}))),d.buffer.push('\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n '),e=b._triageMustache.call(a,"bs-breadcrumbs",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("\r\n "),e=b._triageMustache.call(a,"outlet",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push('\r\n
    \r\n
    \r\n\r\n
    \r\n\r\n \r\n
    \r\n
    \r\n '),d.buffer.push(g((b.partial||a&&a.partial||f).call(a,"social-buttons",{name:"partial",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}))),d.buffer.push("\r\n
    \r\n
    \r\n\r\n \r\n "),d.buffer.push(g((b.partial||a&&a.partial||f).call(a,"footer",{name:"partial",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}))),d.buffer.push("\r\n \r\n\r\n"),h},useData:!0}),Ember.TEMPLATES["demo-template"]=Ember.HTMLBars.template({1:function(a,b,c,d){var e,f="";return e=b._triageMustache.call(a,"message",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("\r\n"),f},compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f,g,h=b.helperMissing,i=this.escapeExpression,j="function",k=b.blockHelperMissing,l="";return d.buffer.push(i((b["bs-page-header"]||a&&a["bs-page-header"]||h).call(a,{name:"bs-page-header",hash:{sub:"Hello world.",title:"Hello"},hashTypes:{sub:"STRING",title:"STRING"},hashContexts:{sub:a,title:a},types:[],contexts:[],data:d}))),d.buffer.push("\r\n"),f=null!=(f=b["bs-well"]||(null!=a?a["bs-well"]:a))?f:h,g={name:"bs-well",hash:{},hashTypes:{},hashContexts:{},fn:this.program(1,d),inverse:this.noop,types:[],contexts:[],data:d},e=typeof f===j?f.call(a,g):f,b["bs-well"]||(e=k.call(a,e,g)),null!=e&&d.buffer.push(e),l},useData:!0}),Ember.TEMPLATES.footer=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(){return""},useData:!0}),Ember.TEMPLATES.header=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(){return""},useData:!0}),Ember.TEMPLATES.index=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){d.buffer.push('
    \r\n ')},useData:!0}),Ember.TEMPLATES.leftnav=Ember.HTMLBars.template({1:function(a,b,c,d){var e,f=b.helperMissing,g="";return d.buffer.push("
  • \r\n"),e=(b["link-to"]||a&&a["link-to"]||f).call(a,"item.route",{name:"link-to",hash:{},hashTypes:{},hashContexts:{},fn:this.program(2,d),inverse:this.noop,types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("
  • \r\n"),g},2:function(a,b,c,d){var e,f="";return d.buffer.push(" "),e=b._triageMustache.call(a,"item.title",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("\r\n"),e=b["if"].call(a,"item.special",{name:"if",hash:{},hashTypes:{},hashContexts:{},fn:this.program(3,d),inverse:this.noop,types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),e=b["if"].call(a,"item.new",{name:"if",hash:{},hashTypes:{},hashContexts:{},fn:this.program(5,d),inverse:this.noop,types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),f},3:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression,g="";return d.buffer.push(" "),d.buffer.push(f((b["bs-label"]||a&&a["bs-label"]||e).call(a,{name:"bs-label",hash:{type:"danger",content:"Special"},hashTypes:{type:"STRING",content:"STRING"},hashContexts:{type:a,content:a},types:[],contexts:[],data:d}))),d.buffer.push("\r\n"),g},5:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression,g="";return d.buffer.push(" "),d.buffer.push(f((b["bs-label"]||a&&a["bs-label"]||e).call(a,{name:"bs-label",hash:{type:"info",content:"New"},hashTypes:{type:"STRING",content:"STRING"},hashContexts:{type:a,content:a},types:[],contexts:[],data:d}))),d.buffer.push("\r\n"),g},compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e;e=b.each.call(a,"item","in","controller",{name:"each",hash:{},hashTypes:{},hashContexts:{},fn:this.program(1,d),inverse:this.noop,types:["ID","ID","ID"],contexts:[a,a,a],data:d}),d.buffer.push(null!=e?e:"")},useData:!0}),Ember.TEMPLATES["nav-main"]=Ember.HTMLBars.template({1:function(a,b,c,d){d.buffer.push("Bootstrap for Ember")},3:function(a,b,c,d){d.buffer.push("Home")},5:function(a,b,c,d){d.buffer.push("Components")},compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f=b.helperMissing,g="";return d.buffer.push('\r\n"),g},useData:!0}),Ember.TEMPLATES["social-buttons"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){d.buffer.push('
    \r\n \r\n
    \r\n')},useData:!0}),Ember.TEMPLATES["tabs/bar-tabpane"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f=b.helperMissing,g=this.escapeExpression,h="";return d.buffer.push(g((b["bs-page-header"]||a&&a["bs-page-header"]||f).call(a,{name:"bs-page-header",hash:{sub:"Tab Pane Content",title:"BAR "},hashTypes:{sub:"STRING",title:"STRING"},hashContexts:{sub:a,title:a},types:[],contexts:[],data:d}))),d.buffer.push("\r\nController is: "),e=b._triageMustache.call(a,"controller",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),h},useData:!0}),Ember.TEMPLATES["tabs/baz-tabpane"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression;d.buffer.push(f((b["bs-page-header"]||a&&a["bs-page-header"]||e).call(a,{name:"bs-page-header",hash:{sub:"Tab Pane Content",title:"BAZ"},hashTypes:{sub:"STRING",title:"STRING"},hashContexts:{sub:a,title:a},types:[],contexts:[],data:d})))},useData:!0}),Ember.TEMPLATES["tabs/foo-tabpane"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f=b.helperMissing,g=this.escapeExpression,h="";return d.buffer.push(g((b["bs-page-header"]||a&&a["bs-page-header"]||f).call(a,{name:"bs-page-header",hash:{sub:"Tab Pane Content",title:"FOO"},hashTypes:{sub:"STRING",title:"STRING"},hashContexts:{sub:a,title:a},types:[],contexts:[],data:d}))),d.buffer.push("\r\nController is: "),e=b._triageMustache.call(a,"controller",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),h},useData:!0}),Ember.TEMPLATES.user=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f=b.helperMissing,g=this.escapeExpression,h="";return d.buffer.push(g((b["bs-tabs"]||a&&a["bs-tabs"]||f).call(a,{name:"bs-tabs",hash:{contentBinding:"tabsMeta"},hashTypes:{contentBinding:"STRING"},hashContexts:{contentBinding:a},types:[],contexts:[],data:d}))),d.buffer.push("\r\n\r\n"),e=b._triageMustache.call(a,"outlet",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),h},useData:!0}),Ember.TEMPLATES["user/activities"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression;d.buffer.push(f((b["bs-page-header"]||a&&a["bs-page-header"]||e).call(a,{name:"bs-page-header",hash:{sub:"User latest Activities",title:"Activities"},hashTypes:{sub:"STRING",title:"STRING"},hashContexts:{sub:a,title:a},types:[],contexts:[],data:d})))},useData:!0}),Ember.TEMPLATES["user/general"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression;d.buffer.push(f((b["bs-page-header"]||a&&a["bs-page-header"]||e).call(a,{name:"bs-page-header",hash:{sub:"User general details",title:"General"},hashTypes:{sub:"STRING",title:"STRING"},hashContexts:{sub:a,title:a},types:[],contexts:[],data:d})))},useData:!0}),Ember.TEMPLATES["user/privacy"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression;d.buffer.push(f((b["bs-page-header"]||a&&a["bs-page-header"]||e).call(a,{name:"bs-page-header",hash:{sub:"User Privacy details",title:"Privacy"},hashTypes:{sub:"STRING",title:"STRING"},hashContexts:{sub:a,title:a},types:[],contexts:[],data:d})))},useData:!0}),Ember.TEMPLATES["wizard/step1"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){d.buffer.push("

    Step1

    ")},useData:!0}),Ember.TEMPLATES["wizard/step2"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){d.buffer.push("

    Step 2

    ")},useData:!0}),Ember.TEMPLATES["wizard/step3"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){d.buffer.push("

    Step 3

    ")},useData:!0}),function(){!function(){var a,b;a=window.Bootstrap,b=window.Showcase=Ember.Application.create({LOG_TRANSITIONS:!0,LOG_VIEW_LOOKUPS:!0,LOG_ACTIVE_GENERATION:!0}),Ember.ENV={HELPER_PARAM_LOOKUPS:!0},Ember.Handlebars.registerHelper("raw",function(a){return a.fn(a)})}(),function(){(function(){Showcase.Router.map(function(){return this.resource("show_components",function(){return this.route("alert"),this.route("breadcrumbs"),this.route("modal"),this.route("label"),this.route("badge"),this.route("well"),this.route("list-group"),this.route("panel"),this.route("page-header"),this.route("button"),this.route("buttonGroup"),this.route("progressbar"),this.route("pills"),this.route("tabs"),this.route("tabs-panes"),this.route("wizard"),this.route("items_action_bar"),this.route("tabs-with-routes"),this.route("notifications"),this.route("growl-notif"),this.route("popover"),this.resource("user",function(){return this.route("general"),this.route("privacy"),this.route("activities")})})})}).call(this)}(),function(){(function(){Showcase.ApplicationRoute=Ember.Route.extend({model:function(){return[Ember.Object.create({title:"Alert",route:"show_components.alert"}),Ember.Object.create({title:"Breadcrumbs",route:"show_components.breadcrumbs","new":!0}),Ember.Object.create({title:"Modal",route:"show_components.modal"}),Ember.Object.create({title:"Label",route:"show_components.label"}),Ember.Object.create({title:"Badge",route:"show_components.badge"}),Ember.Object.create({title:"Well",route:"show_components.well"}),Ember.Object.create({title:"List Group",route:"show_components.list-group"}),Ember.Object.create({title:"Panel",route:"show_components.panel"}),Ember.Object.create({title:"Page Header",route:"show_components.page-header"}),Ember.Object.create({title:"Button",route:"show_components.button"}),Ember.Object.create({title:"Button Group",route:"show_components.buttonGroup"}),Ember.Object.create({title:"Progressbar",route:"show_components.progressbar"}),Ember.Object.create({title:"Tooltips & Popover","new":!0,route:"show_components.popover"}),Ember.Object.create({title:"Nav - Pills",route:"show_components.pills"}),Ember.Object.create({title:"Nav - Tabs",route:"show_components.tabs"}),Ember.Object.create({title:"Nav - Tabs Panes",route:"show_components.tabs-panes"}),Ember.Object.create({title:"Nav - Tabs with Routes",special:!0,route:"show_components.tabs-with-routes"}),Ember.Object.create({title:"Wizard",special:!0,route:"show_components.wizard"}),Ember.Object.create({title:"Notifications",special:!0,route:"show_components.notifications"}),Ember.Object.create({title:"Items Action Bar","new":!0,route:"show_components.items_action_bar"}),Ember.Object.create({title:"Growl Notifications",special:!0,route:"show_components.growl-notif"})]}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsPopoverRoute=Ember.Route.extend({renderTemplate:function(){var a;return this.render(),a=this.controllerFor("ShowComponentsTooltipBox"),this.render("bs-tooltip-box",{outlet:"bs-tooltip-box",controller:a,into:"application"})}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsAlertController=Ember.Controller.extend({actions:{submit:function(){return alert("Action taken by controller!")},didAlertClosed:function(){return alert("From controller: The -closed- event was triggered.")},didAlertClose:function(){return alert("From controller: The -close- event was triggered.")}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsButtonController=Ember.Controller.extend({isButtonDisabled:!1,loadingState:null,loadingState1:null,actions:{disableButton:function(){return this.set("isButtonDisabled",!0)},startLoading:function(){var a=this;return this.set("loadingState","loading"),Ember.run.later(function(){return a.set("loadingState",null)},2e3)},startLoading1:function(){var a=this;return this.set("loadingState1","loading"),Ember.run.later(function(){return a.set("loadingState1","completed")},2e3)},buttonWithParam:function(a){return alert("Passed controller as a param: "+a)}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsItemsActionBarController=Ember.Controller.extend({actionsInBar:[[{title:"To Alerts",disabled:function(a){var b;return a.size<1||"Alerts"!==(null!=a&&null!=(b=a[0])?b.title:void 0)?!0:void 0},transitionTo:"show_components.alert"},{title:"To Panels",transitionTo:"show_components.panel",disabled:function(a){var b;return a.size<1||"Panels"!==(null!=a&&null!=(b=a[0])?b.title:void 0)?!0:void 0}}],[{title:"To Wizard",disabled:function(a){var b;return a.size<1||"Wizards"!==(null!=a&&null!=(b=a[0])?b.title:void 0)?!0:void 0},clickActionName:"wizard"}]],actions:{wizard:function(){return alert("Wizard pressed!")}},items:[Ember.Object.create({title:"Alerts"}),Ember.Object.create({title:"Panels"}),Ember.Object.create({title:"Wizards"})]})}).call(this)}(),function(){(function(){Showcase.ShowComponentsPanelController=Ember.Controller.extend({actions:{panelClicked:function(){return alert("Hello from controller: A click in a panel!")},panelClosed:function(){return alert("Hello from controller: The panel was closed!")}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsPopoverController=Ember.Controller.extend({testObject:Ember.Object.createWithMixins({sticky:function(){return Ember.Object.create({user:this,content:"know this is a sticky tooltip! You can hover over it.",trigger:"hover",sticky:!0})}.property()}),user:Ember.Object.create({firstNameBinding:"content.name",title:"rename",template:'name: {{input type="text" value=content.name}}',content:{name:"John"},trigger:"hover",sticky:!0}),hoverPop:Ember.Object.create({title:"I'm a title!",content:"And i'm a content!",trigger:"hover",placement:"right",sticky:!0}),clickPop:Ember.Object.create({title:"Clickable!",content:"

    Hello

    This is a clickable popover with html content!",placement:"left",html:!0}),templPop:Ember.Object.create({firstName:"numbers",title:"Popover with Template",template:"numbers:
      {{#each val in content.numbers}}
    • {{val}}
    • {{/each}}
    ",content:{numbers:[1,2,3]}})})}).call(this)}(),function(){(function(){Showcase.ShowComponentsProgressbarController=Ember.Controller.extend({prog:0,incrementBy:20,actions:{increment:function(){return this.prog<100?this.incrementProperty("prog",this.incrementBy):this.set("prog",this.incrementBy)}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsTooltipBoxController=Bootstrap.TooltipBoxController}).call(this)}(),function(){(function(){Showcase.ShowComponentsWellController=Ember.Controller.extend({wellClick:function(){return alert("Hello from controller: A click in a well!")}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsButtonGroupController=Ember.Controller.extend({options:["Home","Profile","Messages"],options2:["Admin","Settings"],optionsWithMeta:[Ember.Object.create({title:"Create",type:"primary"}),Ember.Object.create({title:"Destroy",type:"danger"})]})}).call(this)}(),function(){(function(){Showcase.ShowComponentsPillsController=Ember.Controller.extend({content:["Home","Profile","Messages"],init:function(){return this._super(),this.set("content1",Ember.A([Ember.Object.create({title:"Home","default":!0,disabled:!1}),Ember.Object.create({title:"Admin",disabled:!0})])),this.set("selected1",this.get("content1").objectAt(0))},contentChanged:function(){return console.log("Selection has changed to: "+this.get("selected"))}.observes("selected"),actions:{disableHome:function(){return this.get("content1").objectAt(0).set("disabled",!0)}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsGrowlNotifController=Ember.Controller.extend({actions:{pushInfo:function(){return Bootstrap.GNM.push("INFO!","Hello, this is just an info message.","info")},pushSuccess:function(){return Bootstrap.GNM.push("SUCCESS!","Successfully performed operation!","success")},pushWarn:function(){return Bootstrap.GNM.push("WARN!","Could not perform operation!","warning")},pushDanger:function(){return Bootstrap.GNM.push("Danger!","System is halting!","danger")}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsListGroupController=Ember.Controller.extend({listSimple:Ember.A(["Cras justo odio","Dapibus ac facilisis in","Morbi leo risus"]),listWithBadges:Ember.A([Ember.Object.create({title:"Inbox",badge:"45"}),Ember.Object.create({title:"Sent",badge:"33"})]),listWithSub:Ember.A([Ember.Object.create({title:"Inbox",sub:"Incoming mails folder",badge:"45"}),Ember.Object.create({title:"Sent",sub:"Sent emails folder",badge:"33"})])})}).call(this)}(),function(){(function(){Showcase.ShowComponentsModalController=Ember.Controller.extend({message:"Welcome to Bootstrap for Ember..!",myModalButtons:[Ember.Object.create({title:"Submit",clicked:"submit"}),Ember.Object.create({title:"Cancel",clicked:"cancel",dismiss:"modal"})],manualButtons:[Ember.Object.create({title:"Submit",clicked:"submitManual"}),Ember.Object.create({title:"Cancel",dismiss:"modal"})],actions:{submit:function(){return Bootstrap.NM.push("Successfully submitted modal","success"),Bootstrap.ModalManager.hide("myModal")},cancel:function(){return Bootstrap.NM.push("Modal was cancelled","info")},show:function(){return Bootstrap.ModalManager.show("myModal")},submitManual:function(){return Bootstrap.NM.push("Modal destroyed!","success"),Bootstrap.ModalManager.close("manualModal")},createModalProgramatically:function(){var a;return a=Ember.View.extend({template:Ember.Handlebars.compile("This is a programatic ")}),Bootstrap.ModalManager.open("manualModal","Hello","demo-template",this.manualButtons,this)},confirm:function(){return Bootstrap.ModalManager.confirm(this)},modalConfirmed:function(){return Bootstrap.NM.push("Confirmed!","success")},modalCanceled:function(){return Bootstrap.NM.push("Cancelled!","info")}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsNotificationsController=Ember.Controller.extend({actions:{pushInfo:function(){return Bootstrap.NM.push("Hello, this is just an info message.","info")},pushWarn:function(){return Bootstrap.NM.push("Could not perform operation!","warning")},pushSuccess:function(){return Bootstrap.NM.push("Successfully performed operation!","success")},pushDanger:function(){return Bootstrap.NM.push("Danger! system is halting!","danger")}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsTabsController=Ember.Controller.extend({content:["Home","Profile","Messages"],init:function(){return this._super(),this.set("selected","Home"),this.set("tabsPanesOptions",Ember.A([Ember.Object.create({title:"Foo",template:"tabs/foo-tabpane"}),Ember.Object.create({title:"Bar",template:"tabs/bar-tabpane"})]))}})}).call(this)}(),function(){(function(){Showcase.ShowcaseComponentsTabsFooController=Ember.Controller.extend()}).call(this)}(),function(){(function(){Showcase.ShowComponentsTabsPanesController=Ember.Controller.extend({tabsMeta:Ember.A([Ember.Object.create({title:"Foo",template:"tabs/foo-tabpane",controller:"ShowcaseComponentsTabsFoo"}),Ember.Object.create({title:"Bar",template:"tabs/bar-tabpane"})])})}).call(this)}(),function(){(function(){Showcase.ShowComponentsWizardController=Ember.Controller.extend({init:function(){return this._super(),this.set("steps",Ember.A([Ember.Object.create({title:"Foo",template:"tabs/foo-tabpane"}),Ember.Object.create({title:"Bar",template:"tabs/bar-tabpane"}),Ember.Object.create({title:"Baz",template:"tabs/baz-tabpane"})])),this.set("stepsNoPrev",Ember.A([Ember.Object.create({title:"Step1",template:"tabs/foo-tabpane",disabled:!0}),Ember.Object.create({title:"Step2",template:"tabs/bar-tabpane",disabled:!0}),Ember.Object.create({title:"Step3",template:"tabs/baz-tabpane",disabled:!0})]))},actions:{createWizard:function(){var a;return a=Bootstrap.BsWizardComponent.extend({content:[Ember.Object.create({title:"Step1",template:"wizard/step1",disabled:!0}),Ember.Object.create({title:"Step2",template:"wizard/step2",disabled:!0}),Ember.Object.create({title:"Step3",template:"wizard/step3",disabled:!0})],targetObject:this,onNext:"onNext",onPrev:"onPrev",onFinish:"onFinish"}),Bootstrap.ModalManager.open("manualModal","Wizard Title...",a,null,this)},onNext:function(){return console.log("NEXT")},onPrev:function(){return console.log("PREV")},onFinish:function(){return Bootstrap.ModalManager.close("manualModal"),Bootstrap.NM.push("Wizard completed!")}}})}).call(this)}(),function(){(function(){Showcase.UserController=Ember.Controller.extend({tabsMeta:[Ember.Object.create({title:"General",linkTo:"user.general"}),Ember.Object.create({title:"Privacy",linkTo:"user.privacy"}),Ember.Object.create({title:"Activities",linkTo:"user.activities"})]})}).call(this)}(),function(){}.call(this)}(); \ No newline at end of file +Ember.TEMPLATES.ads=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){d.buffer.push("

    Bootstrap for Ember

    ")},useData:!0}),Ember.TEMPLATES.application=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f=b.helperMissing,g=this.escapeExpression,h="";return d.buffer.push('\r\n\r\n \r\n '),d.buffer.push(g((b.outlet||a&&a.outlet||f).call(a,"bs-tooltip-box",{name:"outlet",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}))),d.buffer.push("\r\n \r\n "),d.buffer.push(g((b.partial||a&&a.partial||f).call(a,"header",{name:"partial",hash:{},hashTypes:{},hashContexts:{},types:["STRING"],contexts:[a],data:d}))),d.buffer.push('\r\n \r\n \r\n \r\n Skip navigation\r\n \r\n '),d.buffer.push(g((b.partial||a&&a.partial||f).call(a,"nav-main",{name:"partial",hash:{},hashTypes:{},hashContexts:{},types:["STRING"],contexts:[a],data:d}))),d.buffer.push("\r\n "),d.buffer.push(g((b["bs-notifications"]||a&&a["bs-notifications"]||f).call(a,{name:"bs-notifications",hash:{style:"z-index: 9999; position: fixed; width: 50%; left: 0; right: 0; margin-left: auto; margin-right: auto; margin-top: 50px;"},hashTypes:{style:"STRING"},hashContexts:{style:a},types:[],contexts:[],data:d}))),d.buffer.push("\r\n "),e=b._triageMustache.call(a,"bs-growl-notifications",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push('\r\n \r\n
    \r\n
    \r\n

    '),e=b._triageMustache.call(a,"page.lead",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("

    \r\n "),d.buffer.push(g((b.partial||a&&a.partial||f).call(a,"ads",{name:"partial",hash:{},hashTypes:{},hashContexts:{},types:["STRING"],contexts:[a],data:d}))),d.buffer.push('\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n '),e=b._triageMustache.call(a,"bs-breadcrumbs",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("\r\n "),e=b._triageMustache.call(a,"outlet",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push('\r\n
    \r\n
    \r\n\r\n
    \r\n\r\n \r\n
    \r\n
    \r\n '),d.buffer.push(g((b.partial||a&&a.partial||f).call(a,"social-buttons",{name:"partial",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}))),d.buffer.push("\r\n
    \r\n
    \r\n\r\n \r\n "),d.buffer.push(g((b.partial||a&&a.partial||f).call(a,"footer",{name:"partial",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}))),d.buffer.push("\r\n \r\n\r\n"),h},useData:!0}),Ember.TEMPLATES["demo-template"]=Ember.HTMLBars.template({1:function(a,b,c,d){var e,f="";return e=b._triageMustache.call(a,"message",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("\r\n"),f},compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f,g,h=b.helperMissing,i=this.escapeExpression,j="function",k=b.blockHelperMissing,l="";return d.buffer.push(i((b["bs-page-header"]||a&&a["bs-page-header"]||h).call(a,{name:"bs-page-header",hash:{sub:"Hello world.",title:"Hello"},hashTypes:{sub:"STRING",title:"STRING"},hashContexts:{sub:a,title:a},types:[],contexts:[],data:d}))),d.buffer.push("\r\n"),f=null!=(f=b["bs-well"]||(null!=a?a["bs-well"]:a))?f:h,g={name:"bs-well",hash:{},hashTypes:{},hashContexts:{},fn:this.program(1,d),inverse:this.noop,types:[],contexts:[],data:d},e=typeof f===j?f.call(a,g):f,b["bs-well"]||(e=k.call(a,e,g)),null!=e&&d.buffer.push(e),l},useData:!0}),Ember.TEMPLATES.footer=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(){return""},useData:!0}),Ember.TEMPLATES.header=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(){return""},useData:!0}),Ember.TEMPLATES.index=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){d.buffer.push('
    \r\n ')},useData:!0}),Ember.TEMPLATES.leftnav=Ember.HTMLBars.template({1:function(a,b,c,d){var e,f=b.helperMissing,g="";return d.buffer.push("
  • \r\n"),e=(b["link-to"]||a&&a["link-to"]||f).call(a,"item.route",{name:"link-to",hash:{},hashTypes:{},hashContexts:{},fn:this.program(2,d),inverse:this.noop,types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("
  • \r\n"),g},2:function(a,b,c,d){var e,f="";return d.buffer.push(" "),e=b._triageMustache.call(a,"item.title",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("\r\n"),e=b["if"].call(a,"item.special",{name:"if",hash:{},hashTypes:{},hashContexts:{},fn:this.program(3,d),inverse:this.noop,types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),e=b["if"].call(a,"item.new",{name:"if",hash:{},hashTypes:{},hashContexts:{},fn:this.program(5,d),inverse:this.noop,types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),f},3:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression,g="";return d.buffer.push(" "),d.buffer.push(f((b["bs-label"]||a&&a["bs-label"]||e).call(a,{name:"bs-label",hash:{type:"danger",content:"Special"},hashTypes:{type:"STRING",content:"STRING"},hashContexts:{type:a,content:a},types:[],contexts:[],data:d}))),d.buffer.push("\r\n"),g},5:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression,g="";return d.buffer.push(" "),d.buffer.push(f((b["bs-label"]||a&&a["bs-label"]||e).call(a,{name:"bs-label",hash:{type:"info",content:"New"},hashTypes:{type:"STRING",content:"STRING"},hashContexts:{type:a,content:a},types:[],contexts:[],data:d}))),d.buffer.push("\r\n"),g},compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e;e=b.each.call(a,"item","in","controller",{name:"each",hash:{},hashTypes:{},hashContexts:{},fn:this.program(1,d),inverse:this.noop,types:["ID","ID","ID"],contexts:[a,a,a],data:d}),d.buffer.push(null!=e?e:"")},useData:!0}),Ember.TEMPLATES["nav-main"]=Ember.HTMLBars.template({1:function(a,b,c,d){d.buffer.push("Bootstrap for Ember")},3:function(a,b,c,d){d.buffer.push("Home")},5:function(a,b,c,d){d.buffer.push("Components")},compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f=b.helperMissing,g="";return d.buffer.push('\r\n"),g},useData:!0}),Ember.TEMPLATES["show_components/alert"]=Ember.HTMLBars.template({1:function(a,b,c,d){var e=this.escapeExpression,f="";return d.buffer.push('

    Oh snap! You got an error!

    \n

    Alert can also be used in a block form.

    \n

    \n Or do this\n

    \n'),f},compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f=b.helperMissing,g=this.escapeExpression,h="";return d.buffer.push('

    Alert

    \n

    Usage Examples

    \n
    \n '),d.buffer.push(g((b["bs-alert"]||a&&a["bs-alert"]||f).call(a,{name:"bs-alert",hash:{type:"warning",message:"A warning alert with simple message."},hashTypes:{type:"STRING",message:"STRING"},hashContexts:{type:a,message:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n
    {{bs-alert message="A warning alert with simple message." type="warning"}}
    \n
    \n '),d.buffer.push(g((b["bs-alert"]||a&&a["bs-alert"]||f).call(a,{name:"bs-alert",hash:{dismiss:!0,type:"warning",message:"With close button"},hashTypes:{dismiss:"BOOLEAN",type:"STRING",message:"STRING"},hashContexts:{dismiss:a,type:a,message:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n
    {{bs-alert message="With close button" type="warning" dismiss=true}}
    \n
    \n '),d.buffer.push(g((b["bs-alert"]||a&&a["bs-alert"]||f).call(a,{name:"bs-alert",hash:{fade:!0,dismiss:!0,type:"warning",message:"Close button will fade"},hashTypes:{fade:"BOOLEAN",dismiss:"BOOLEAN",type:"STRING",message:"STRING"},hashContexts:{fade:a,dismiss:a,type:a,message:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n
        {{bs-alert message="Close button will fade" type="warning" dismiss=true fade=true}}
    \n
    \n '),d.buffer.push(g((b["bs-alert"]||a&&a["bs-alert"]||f).call(a,{name:"bs-alert",hash:{dismissAfter:5,fade:!0,type:"info",message:"Dismissed after 5 seconds!!"},hashTypes:{dismissAfter:"NUMBER",fade:"BOOLEAN",type:"STRING",message:"STRING"},hashContexts:{dismissAfter:a,fade:a,type:a,message:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n
        {{bs-alert message="Dismissed after 5 seconds" type="info" dismissAfter=5}}
    \n
    \n '),d.buffer.push(g((b["bs-alert"]||a&&a["bs-alert"]||f).call(a,{name:"bs-alert",hash:{type:"success",message:"Other types such as Sucess"},hashTypes:{type:"STRING",message:"STRING"},hashContexts:{type:a,message:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n
        {{bs-alert message="Other types such as Sucess" type="success"}}
    \n
    \n'),e=(b["bs-alert"]||a&&a["bs-alert"]||f).call(a,{name:"bs-alert",hash:{type:"danger"},hashTypes:{type:"STRING"},hashContexts:{type:a},fn:this.program(1,d),inverse:this.noop,types:[],contexts:[],data:d}),null!=e&&d.buffer.push(e),d.buffer.push('
    \n\n
    {{#bs-alert type="danger"}}\n<h4 class="alert-heading">Oh snap! You got an error!</h4>\n<p>Alert can also be used in a <strong>block form</strong>.</p>\n<p>\n<button class="btn btn-danger" {{action "submit"}}>Take this action</button> <a class="btn btn-default">Or do this</a>\n</p>\n{{/bs-alert}}
    \n
    \n '),d.buffer.push(g((b["bs-alert"]||a&&a["bs-alert"]||f).call(a,{name:"bs-alert",hash:{close:"didAlertClose",closed:"didAlertClosed",dismiss:!0,type:"warning",message:"Close will trigger a function in controller"},hashTypes:{close:"STRING",closed:"STRING",dismiss:"BOOLEAN",type:"STRING",message:"STRING"},hashContexts:{close:a,closed:a,dismiss:a,type:a,message:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n
        {{bs-alert message="Close will trigger a function in controller" type="warning" dismiss=true closed="didAlertClosed" close="didAlertClose"}}
    \n

    Component Properties

    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    PropertyDescription
    messageThe string to display in the alert.
    typeAlert types: success | info | warning | danger
    dismissif true an X link is set to dismiss the alert.
    dismissAfterIf set the alert will be automatically dismissed after the specified amount of seconds
    fadeIf true, the dialog will be faded out when closed.
    closeTriggers the specified function name on the controller immediately when the close instance method is called.
    closedTriggers the specified function name on the controller when the alert has been closed (will wait for CSS transitions to complete).
    \n
    \n\n'),h},useData:!0}),Ember.TEMPLATES["show_components/badge"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression,g="";return d.buffer.push('

    Badge

    \n\n\n
    <a href="#"> Inbox{{bs-badge content="42"}} </a>
    \n

    Built-in styles

    \n

    Works well with built-in styles that are included for placing badges in active states in pill and list navigations.

    \n\n\n
    <ul class="nav nav-pills">\n    <li class="active"><a href="#">Home {{bs-badge content=42}}</a></li>\n    <li><a href="#">Profile</a></li>\n    <li><a href="#">Messages {{bs-badge content=3}}</a></li>\n</ul>\n<br>\n<ul class="nav nav-pills nav-stacked" style="max-width: 260px;">\n    <li class="active">\n        <a href="#">\n            {{bs-badge class="pull-right"content=42}}\n            Home\n        </a>\n    </li>\n    <li><a href="#">Profile</a></li>\n    <li>\n        <a href="#">\n            {{bs-badge class="pull-right"content=3}}\n            Messages\n        </a>\n    </li>\n</ul>
    \n

    Component Properties

    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    PropertyDescription
    contentstring: The content of the badge.
    \n
    \n'),g},useData:!0}),Ember.TEMPLATES["show_components/breadcrumbs"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){d.buffer.push('

    Breadcrumbs

    \n

    Indicate the current page's location within a navigational hierarchy.

    \n

    The breadcrumbs is magically constructed by interpreting the current router location,

    \n

    Move between components and look at the showcase's breadcrumbs on the top of the screen

    \n

    The only thing needed to setup breadcrumbs is add to one of your top templates (such application template):

    \n
    {{bs-breadcrumbs}}
    \n

    Breadcrumbs Names

    \n

    By default the name of the breadcrumbs is set to the route name,\nyou can change this behavior by specifying some meta info on the route:

    \n
    SomeRoute = Ember.Route.extend({\n    breadcrumbs: {name: 'Primary'}\n\n    ...\n})
    \n')},useData:!0}),Ember.TEMPLATES["show_components/button"]=Ember.HTMLBars.template({1:function(a,b,c,d){d.buffer.push("Content")},3:function(a,b,c,d){d.buffer.push("Primary")},5:function(a,b,c,d){d.buffer.push("Link")},7:function(a,b,c,d){d.buffer.push("Default Large button")},9:function(a,b,c,d){d.buffer.push("Block Button")},11:function(a,b,c,d){d.buffer.push("Disabled Button")},13:function(a,b,c,d){d.buffer.push("Button with Param")},compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f,g,h="function",i=b.helperMissing,j=b.blockHelperMissing,k=this.escapeExpression,l="";return d.buffer.push('

    Button

    \n

    Types

    \n
    \n '),f=null!=(f=b["bs-button"]||(null!=a?a["bs-button"]:a))?f:i,g={name:"bs-button",hash:{},hashTypes:{},hashContexts:{},fn:this.program(1,d),inverse:this.noop,types:[],contexts:[],data:d},e=typeof f===h?f.call(a,g):f,b["bs-button"]||(e=j.call(a,e,g)),null!=e&&d.buffer.push(e),d.buffer.push("\n "),d.buffer.push(k((b["bs-button"]||a&&a["bs-button"]||i).call(a,{name:"bs-button",hash:{title:"Inline Text"},hashTypes:{title:"STRING"},hashContexts:{title:a},types:[],contexts:[],data:d}))),d.buffer.push("\n "),e=(b["bs-button"]||a&&a["bs-button"]||i).call(a,{name:"bs-button",hash:{type:"primary"},hashTypes:{type:"STRING"},hashContexts:{type:a},fn:this.program(3,d),inverse:this.noop,types:[],contexts:[],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("\n "),e=(b["bs-button"]||a&&a["bs-button"]||i).call(a,{name:"bs-button",hash:{type:"link"},hashTypes:{type:"STRING"},hashContexts:{type:a},fn:this.program(5,d),inverse:this.noop,types:[],contexts:[],data:d}),null!=e&&d.buffer.push(e),d.buffer.push('\n\n

    All other types such as info, warning, danger are supported.

    \n
    \n\n\n
    <!-- Standard gray default button with gradient -->\n{{#bs-button}}Content{{/bs-button}}\n\n<!--Inline text as button content-->\n{{bs-button title="Inline Text"}}\n\n<!-- Provides extra visual weight and identifies the primary action in a set of buttons -->\n{{#bs-button type="primary"}}Primary{{/bs-button}}\n\n<!-- Deemphasize a button by making it look like a link while maintaining button behavior -->\n{{#bs-button type="link"}}Link{{/bs-button}}
    \n

    Sizes

    \n

    In correspondence with bootstrap css class button sizes .btn-lg, .btn-sm, or .btn-xs, size can simply defined by the size property or use one of the size properties: small=true, large=true, xs=true

    \n
    \n

    \n '),d.buffer.push(k((b["bs-button"]||a&&a["bs-button"]||i).call(a,{name:"bs-button",hash:{title:"Primary Extra Small Button",size:"xs",type:"primary"},hashTypes:{title:"STRING",size:"STRING",type:"STRING"},hashContexts:{title:a,size:a,type:a},types:[],contexts:[],data:d}))),d.buffer.push("\n "),d.buffer.push(k((b["bs-button"]||a&&a["bs-button"]||i).call(a,{name:"bs-button",hash:{title:"Info Small Button",small:!0,type:"info"},hashTypes:{title:"STRING",small:"BOOLEAN",type:"STRING"},hashContexts:{title:a,small:a,type:a},types:[],contexts:[],data:d}))),d.buffer.push("\n "),d.buffer.push(k((b["bs-button"]||a&&a["bs-button"]||i).call(a,{name:"bs-button",hash:{title:"Danger Default size button",type:"danger"},hashTypes:{title:"STRING",type:"STRING"},hashContexts:{title:a,type:a},types:[],contexts:[],data:d}))),d.buffer.push("\n "),e=(b["bs-button"]||a&&a["bs-button"]||i).call(a,{name:"bs-button",hash:{size:"lg"},hashTypes:{size:"STRING"},hashContexts:{size:a},fn:this.program(7,d),inverse:this.noop,types:[],contexts:[],data:d}),null!=e&&d.buffer.push(e),d.buffer.push('\n

    \n
    \n\n
    {{bs-button type="primary" size="xs" title="Primary Extra Small Button"}}\n{{bs-button type="info" small=true title="Info Small Button"}}\n{{bs-button type="danger" title="Danger Default size button"}}\n{{#bs-button size="lg"}}Default Large button{{/bs-button}}
    \n

    Icon

    \n
    \n

    \n '),d.buffer.push(k((b["bs-button"]||a&&a["bs-button"]||i).call(a,{name:"bs-button",hash:{title:"Button with Icon",icon:"fa fa-check"},hashTypes:{title:"STRING",icon:"STRING"},hashContexts:{title:a,icon:a},types:[],contexts:[],data:d}))),d.buffer.push('\n

    \n

    \n\n

    Simply add an icon property to the button meta data, such:

    \n
    {{bs-button icon="fa fa-check" title="Danger Default size button"}}
    \n

    Will render an <i class="fa fa-check"></i> tag within the button tag.

    \n

    Block Level

    \n

    block level buttons—those that span the full width of a parent— by adding block=true

    \n
    \n '),e=(b["bs-button"]||a&&a["bs-button"]||i).call(a,{name:"bs-button",hash:{block:!0,xs:!0,type:"primary"},hashTypes:{block:"BOOLEAN",xs:"BOOLEAN",type:"STRING"},hashContexts:{block:a,xs:a,type:a},fn:this.program(9,d),inverse:this.noop,types:[],contexts:[],data:d}),null!=e&&d.buffer.push(e),d.buffer.push('\n
    \n\n
    {{#bs-button type="primary" xs=true block=true}}Block Button{{/bs-button}}
    \n

    Disbled state

    \n

    As in Bootstrap, set disabled="disabled"/disabled=true to make the button unclickable.

    \n
    \n '),e=(b["bs-button"]||a&&a["bs-button"]||i).call(a,{name:"bs-button",hash:{disabled:!0,type:"primary"},hashTypes:{disabled:"BOOLEAN",type:"STRING"},hashContexts:{disabled:a,type:a},fn:this.program(11,d),inverse:this.noop,types:[],contexts:[],data:d}),null!=e&&d.buffer.push(e),d.buffer.push('\n
    \n\n
    {{#bs-button type="primary" disabled=true}}Disabled Button{{/bs-button}}
    \n

    Disabled state can also be hooked to a controller property

    \n
    \n '),d.buffer.push(k((b["bs-button"]||a&&a["bs-button"]||i).call(a,{name:"bs-button",hash:{clicked:"disableButton",disabled:"isButtonDisabled",title:"Click to disable",type:"primary"},hashTypes:{clicked:"STRING",disabled:"ID",title:"STRING",type:"STRING"},hashContexts:{clicked:a,disabled:a,title:a,type:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n
    {{bs-button type="primary" title="Click to disable" disabled=isButtonDisabled clicked="disableButton"}}
    \n
      \n
    • isButtonDisabled is a boolean property on the controller
    • \n
    • disableButton is a function on the controller that sets isButtonDisabled to false
    • \n
    \n

    Param

    \n

    It is possible to pass a parameter to the action in the controller that is bound to the click event by using the clickedParam property.

    \n
    \n '),e=(b["bs-button"]||a&&a["bs-button"]||i).call(a,{name:"bs-button",hash:{clickedParamBinding:"controller",clicked:"buttonWithParam",type:"primary"},hashTypes:{clickedParamBinding:"STRING",clicked:"STRING",type:"STRING"},hashContexts:{clickedParamBinding:a,clicked:a,type:a},fn:this.program(13,d),inverse:this.noop,types:[],contexts:[],data:d}),null!=e&&d.buffer.push(e),d.buffer.push('\n
    \n\n\n
    {{#bs-button type="primary" clicked="buttonWithParam" clickedParamBinding="controller"}}Button with Param{{/bs-button}}
    \n

    Action in controller:

    \n
    MyController = Ember.Controller.extend({\n    actions: {\n        buttonWithParam: function(expectedMyself) {\n            alert("Passed controller as a param: " + expectedMyself);\n        }\n    }\n)}
    \n

    State

    \n

    By Bootstrap:

    \n
    \n

    Add data-loading-text="Loading..." to use a loading state on a button.

    \n
    \n

    Then extra loading=loadingState is needed where loadingState is a property in the controller that returns a string which\ndefines the current state of the button:

    \n
      \n
    • If loadingState property equals loading then the button will be disabled and its text will change to the value of the data-loading-text button property.
    • \n
    • If its value is null then the button will be re-enabled and its text will be modified to the original value defined in the title button property.
    • \n
    \n
    \n '),d.buffer.push(k((b["bs-button"]||a&&a["bs-button"]||i).call(a,{name:"bs-button",hash:{clicked:"startLoading",title:"Submit",clicked:"disableButton",loading:"loadingState","data-loading-text":"Loading...",type:"primary"},hashTypes:{clicked:"STRING",title:"STRING",clicked:"STRING",loading:"ID","data-loading-text":"STRING",type:"STRING"},hashContexts:{clicked:a,title:a,clicked:a,loading:a,"data-loading-text":a,type:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n\n
    {{bs-button type="primary" data-loading-text="Loading..." loading=loadingState title="Submit" clicked="startLoading"}}
    \n

    In controller:

    \n\n
    startLoading: function() {\n    var _this = this;\n    this.set('loadingState', 'loading');\n    return Ember.run.later(function() {\n      return _this.set('loadingState', null);\n    }, 2000);\n}
    \n

    The loading property may also return any string that matches one of the data-foo-text button property to render other text\nbut the original text of the button when the loading state completes.

    \n
    \n '),d.buffer.push(k((b["bs-button"]||a&&a["bs-button"]||i).call(a,{name:"bs-button",hash:{clicked:"startLoading1",title:"Submit!",loading:"loadingState1","data-completed-text":"Completed!","data-loading-text":"Loading...",type:"primary"},hashTypes:{clicked:"STRING",title:"STRING",loading:"ID","data-completed-text":"STRING","data-loading-text":"STRING",type:"STRING"},hashContexts:{clicked:a,title:a,loading:a,"data-completed-text":a,"data-loading-text":a,type:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n
    startLoading1: function() {\n    var _this = this;\n    this.set('loadingState', 'loading');\n    return Ember.run.later(function() {\n      return _this.set('loadingState', 'completed');\n    }, 2000);\n}
    \n

    Pay attention that this time the loadingState is set to completed and not null.

    \n

    Component Properties

    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    PropertyDescription
    typeAlert types: success | info | warning | danger
    titleA string representing the text of the button (not required if component is used as a block component)
    clickedTriggers the specified function name on the controller immediately when the button is clicked.
    clickedParamA parameter to pass the action to be invoked immediately when the button is clicked
    sizeCan be: xs | sm | lg
    xsIf set to true it is equivalent to size=xs
    smallIf set to true it is equivalent to size=small
    largeIf set to true it is equivalent to size=large
    blockIf true the button is a block level and will span the full width of its parent
    disabledIf true the button will be disabled, can also be bound to a controller property
    loadingBound to a controller property that defines the state of the button.
    data-loading-textIf loading=foo and foo is a property in the controller and foo property returns loading, then the text of the button will be changed to the value of this property.
    data-xxx-textIf loading=foo and foo is a property in the controller and foo property returns xxx, then the text of the button will be changed to the value of this property.
    \n
    \n'),l +},useData:!0}),Ember.TEMPLATES["show_components/buttonGroup"]=Ember.HTMLBars.template({1:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression,g="";return d.buffer.push(" "),d.buffer.push(f((b["bs-btn-group"]||a&&a["bs-btn-group"]||e).call(a,{name:"bs-btn-group",hash:{selectedBinding:"selected",contentBinding:"options"},hashTypes:{selectedBinding:"STRING",contentBinding:"STRING"},hashContexts:{selectedBinding:a,contentBinding:a},types:[],contexts:[],data:d}))),d.buffer.push("\n "),d.buffer.push(f((b["bs-btn-group"]||a&&a["bs-btn-group"]||e).call(a,{name:"bs-btn-group",hash:{selectedBinding:"selected",contentBinding:"options2"},hashTypes:{selectedBinding:"STRING",contentBinding:"STRING"},hashContexts:{selectedBinding:a,contentBinding:a},types:[],contexts:[],data:d}))),d.buffer.push("\n"),g},3:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression,g="";return d.buffer.push(" "),d.buffer.push(f((b["bs-btn-group"]||a&&a["bs-btn-group"]||e).call(a,{name:"bs-btn-group",hash:{selectedBinding:"selected",contentBinding:"options",size:"lg"},hashTypes:{selectedBinding:"STRING",contentBinding:"STRING",size:"STRING"},hashContexts:{selectedBinding:a,contentBinding:a,size:a},types:[],contexts:[],data:d}))),d.buffer.push("\n"),g},5:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression,g="";return d.buffer.push(" "),d.buffer.push(f((b["bs-btn-group"]||a&&a["bs-btn-group"]||e).call(a,{name:"bs-btn-group",hash:{selectedBinding:"selected",contentBinding:"options"},hashTypes:{selectedBinding:"STRING",contentBinding:"STRING"},hashContexts:{selectedBinding:a,contentBinding:a},types:[],contexts:[],data:d}))),d.buffer.push("\n"),g},7:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression,g="";return d.buffer.push(" "),d.buffer.push(f((b["bs-btn-group"]||a&&a["bs-btn-group"]||e).call(a,{name:"bs-btn-group",hash:{selectedBinding:"selected",contentBinding:"options",small:!0},hashTypes:{selectedBinding:"STRING",contentBinding:"STRING",small:"BOOLEAN"},hashContexts:{selectedBinding:a,contentBinding:a,small:a},types:[],contexts:[],data:d}))),d.buffer.push("\n"),g},9:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression,g="";return d.buffer.push(" "),d.buffer.push(f((b["bs-btn-group"]||a&&a["bs-btn-group"]||e).call(a,{name:"bs-btn-group",hash:{selectedBinding:"selected",contentBinding:"options",size:"xs"},hashTypes:{selectedBinding:"STRING",contentBinding:"STRING",size:"STRING"},hashContexts:{selectedBinding:a,contentBinding:a,size:a},types:[],contexts:[],data:d}))),d.buffer.push("\n"),g},11:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression,g="";return d.buffer.push(" "),d.buffer.push(f((b["bs-btn-group"]||a&&a["bs-btn-group"]||e).call(a,{name:"bs-btn-group",hash:{selectedBinding:"selected",contentBinding:"optionsWithMeta",size:"lg"},hashTypes:{selectedBinding:"STRING",contentBinding:"STRING",size:"STRING"},hashContexts:{selectedBinding:a,contentBinding:a,size:a},types:[],contexts:[],data:d}))),d.buffer.push("\n"),g},compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f,g,h=b.helperMissing,i=this.escapeExpression,j="function",k=b.blockHelperMissing,l="";return d.buffer.push('

    Button Group

    \n

    To wrap a series of buttons, use the bs-btn-group component.

    \n

    Standard

    \n
    \n '),d.buffer.push(i((b["bs-btn-group"]||a&&a["bs-btn-group"]||h).call(a,{name:"bs-btn-group",hash:{selectedBinding:"selected",contentBinding:"options"},hashTypes:{selectedBinding:"STRING",contentBinding:"STRING"},hashContexts:{selectedBinding:a,contentBinding:a},types:[],contexts:[],data:d}))),d.buffer.push("\n
    \n Controller say selected item is: "),e=b._triageMustache.call(a,"selected",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push('\n
    \n\n

    content is an array of options, each option is rendered as a button tag.

    \n

    TODO: SHOW CODE

    \n

    Icons

    \n

    It is possible to set an icon for the selected button in a group or/and an icon for the in-active buttons by\nsetting the icon_active and/or icon_inactive properties to the icon class name.

    \n
    \n '),d.buffer.push(i((b["bs-btn-group"]||a&&a["bs-btn-group"]||h).call(a,{name:"bs-btn-group",hash:{selectedBinding:"selected",contentBinding:"options",icon_active:"fa fa-check-square-o",icon_inactive:"fa fa-square-o"},hashTypes:{selectedBinding:"STRING",contentBinding:"STRING",icon_active:"STRING",icon_inactive:"STRING"},hashContexts:{selectedBinding:a,contentBinding:a,icon_active:a,icon_inactive:a},types:[],contexts:[],data:d}))),d.buffer.push("\n
    \n Controller say selected item is: "),e=b._triageMustache.call(a,"selected",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push('\n
    \n\n
    <div class="bs-example">\n    {{bs-btn-group icon_inactive="fa fa-square-o" icon_active="fa fa-check-square-o" contentBinding="options" selectedBinding="selected"}}\n    <br/>\n    Controller say selected item is: {{selected}}\n</div>
    \n

    Button Toolbar

    \n

    Combine sets of bs-btn-groups into a bs-btn-toolbar for more complex components.

    \n
    \n'),f=null!=(f=b["bs-btn-toolbar"]||(null!=a?a["bs-btn-toolbar"]:a))?f:h,g={name:"bs-btn-toolbar",hash:{},hashTypes:{},hashContexts:{},fn:this.program(1,d),inverse:this.noop,types:[],contexts:[],data:d},e=typeof f===j?f.call(a,g):f,b["bs-btn-toolbar"]||(e=k.call(a,e,g)),null!=e&&d.buffer.push(e),d.buffer.push('
    \n\n

    Sizing

    \n

    You can set size in the group level instead of setting size per button.

    \n
    \n'),f=null!=(f=b["bs-btn-toolbar"]||(null!=a?a["bs-btn-toolbar"]:a))?f:h,g={name:"bs-btn-toolbar",hash:{},hashTypes:{},hashContexts:{},fn:this.program(3,d),inverse:this.noop,types:[],contexts:[],data:d},e=typeof f===j?f.call(a,g):f,b["bs-btn-toolbar"]||(e=k.call(a,e,g)),null!=e&&d.buffer.push(e),f=null!=(f=b["bs-btn-toolbar"]||(null!=a?a["bs-btn-toolbar"]:a))?f:h,g={name:"bs-btn-toolbar",hash:{},hashTypes:{},hashContexts:{},fn:this.program(5,d),inverse:this.noop,types:[],contexts:[],data:d},e=typeof f===j?f.call(a,g):f,b["bs-btn-toolbar"]||(e=k.call(a,e,g)),null!=e&&d.buffer.push(e),f=null!=(f=b["bs-btn-toolbar"]||(null!=a?a["bs-btn-toolbar"]:a))?f:h,g={name:"bs-btn-toolbar",hash:{},hashTypes:{},hashContexts:{},fn:this.program(7,d),inverse:this.noop,types:[],contexts:[],data:d},e=typeof f===j?f.call(a,g):f,b["bs-btn-toolbar"]||(e=k.call(a,e,g)),null!=e&&d.buffer.push(e),f=null!=(f=b["bs-btn-toolbar"]||(null!=a?a["bs-btn-toolbar"]:a))?f:h,g={name:"bs-btn-toolbar",hash:{},hashTypes:{},hashContexts:{},fn:this.program(9,d),inverse:this.noop,types:[],contexts:[],data:d},e=typeof f===j?f.call(a,g):f,b["bs-btn-toolbar"]||(e=k.call(a,e,g)),null!=e&&d.buffer.push(e),d.buffer.push('
    \n\n\n

    Vertical variation

    \n

    Make a set of buttons appear vertically stacked rather than horizontally by adding vertical=true.

    \n
    \n '),d.buffer.push(i((b["bs-btn-group"]||a&&a["bs-btn-group"]||h).call(a,{name:"bs-btn-group",hash:{vertical:!0,selectedBinding:"selected",contentBinding:"options"},hashTypes:{vertical:"BOOLEAN",selectedBinding:"STRING",contentBinding:"STRING"},hashContexts:{vertical:a,selectedBinding:a,contentBinding:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n

    Buttons with Metadata

    \n

    It is possible to provide extra metadata per button in the group.

    \n
    \n'),f=null!=(f=b["bs-btn-toolbar"]||(null!=a?a["bs-btn-toolbar"]:a))?f:h,g={name:"bs-btn-toolbar",hash:{},hashTypes:{},hashContexts:{},fn:this.program(11,d),inverse:this.noop,types:[],contexts:[],data:d},e=typeof f===j?f.call(a,g):f,b["bs-btn-toolbar"]||(e=k.call(a,e,g)),null!=e&&d.buffer.push(e),d.buffer.push('
    \n\n
    {{bs-btn-group size="lg" contentBinding="optionsWithMeta" selectedBinding="selected"}}
    \n

    Controller's code:

    \n
    \nShowcase.ShowComponentsButtonGroupController = Ember.Controller.extend({\n  optionsWithMeta: [\n    Ember.Object.create({title: 'Create', type: 'primary'}),\n    Ember.Object.create(({title: 'Destroy', type: 'danger'})\n  ]\n});
    \n'),l},useData:!0}),Ember.TEMPLATES["show_components/growl-notif"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression,g="";return d.buffer.push('

    Growl like Notifications

    \n

    Growl Notifications is not a Bootstrap component but is mandatory for almost every web application.

    \n

    Growl Notifications are just like the Notification component but messages that are rendered as small boxes on the right top of the screen, they fade in for a short period of time with a title, sub text and icon and then fade out.

    \n

    To use growl notifications, put somewhere in your application template the bs-growl-notifications component.

    \n
    {{bs-growl-notifications}}
    \n

    Then use the GrowlNotificationManager / GNM to push new notifications with a message and type.

    \n
    \n '),d.buffer.push(f((b["bs-button"]||a&&a["bs-button"]||e).call(a,{name:"bs-button",hash:{title:"Push Info",clicked:"pushInfo"},hashTypes:{title:"STRING",clicked:"STRING"},hashContexts:{title:a,clicked:a},types:[],contexts:[],data:d}))),d.buffer.push("\n "),d.buffer.push(f((b["bs-button"]||a&&a["bs-button"]||e).call(a,{name:"bs-button",hash:{title:"Push Warning",clicked:"pushWarn"},hashTypes:{title:"STRING",clicked:"STRING"},hashContexts:{title:a,clicked:a},types:[],contexts:[],data:d}))),d.buffer.push("\n "),d.buffer.push(f((b["bs-button"]||a&&a["bs-button"]||e).call(a,{name:"bs-button",hash:{title:"Push Success",clicked:"pushSuccess"},hashTypes:{title:"STRING",clicked:"STRING"},hashContexts:{title:a,clicked:a},types:[],contexts:[],data:d}))),d.buffer.push("\n "),d.buffer.push(f((b["bs-button"]||a&&a["bs-button"]||e).call(a,{name:"bs-button",hash:{title:"Push Danger",clicked:"pushDanger"},hashTypes:{title:"STRING",clicked:"STRING"},hashContexts:{title:a,clicked:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n

    Controller code:

    \n
    Showcase.ShowComponentsGrowlNotifController = Ember.Controller.extend({\n  pushInfo: function() {\n    Bootstrap.GNM.push('INFO!', 'Hello, this is just an info message.', 'info');\n  },\n  pushSuccess: function() {\n    Bootstrap.GNM.push('SUCCESS!', 'Successfully performed operation!', 'success');\n  },\n  pushWarn: function() {\n    Bootstrap.GNM.push('WARN!', 'Could not perform operation!', 'warning');\n  },\n  pushDanger: function() {\n    Bootstrap.GNM.push('Danger!', 'System is halting!', 'danger');\n  }\n});
    \n

    You can control the visibility duration of each message by specifying the showTime property.

    \n

    Component Files

    \n
      \n
    • css/bs-growl-notifications.min.css
    • \n
    • js/bs-growl-notifications.min.js
    • \n
    \n

    Component Properties

    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    PropertyDescriptionDefault
    showTimeA number in ms that defines how long the notification is displayed before it starts to fade out.10 seconds
    \n
    \n'),g},useData:!0}),Ember.TEMPLATES["show_components/items_action_bar"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression,g="";return d.buffer.push('

    Item action bar

    \n

    When listing items that support selection, it usually make sense to perform some actions on the selected item(s).

    \n

    The Items action bar component make it possible to build an bar of buttons where each button visibility may behave differently according to the selection,

    \n

    For example an 'Edit' button may be disabled unless 1 item is selected, or a 'Delete' button may be enabled only\nwhen there is 1 or more items selected.

    \n

    In the template, only 1 expression is needed, the content property is expected to be an array of array, where each array represents a section in the action bar and contains objects that represent a button defintion in the bar, the selectedItems property is expected to be an array of the currently selected items on a list.

    \n
    \n '),d.buffer.push(f((b["bs-items-action-bar"]||a&&a["bs-items-action-bar"]||e).call(a,{name:"bs-items-action-bar",hash:{selectedItemsBinding:"selection",contentBinding:"actionsInBar"},hashTypes:{selectedItemsBinding:"STRING",contentBinding:"STRING"},hashContexts:{selectedItemsBinding:a,contentBinding:a},types:[],contexts:[],data:d}))),d.buffer.push("\n
    \n "),d.buffer.push(f((b["bs-pills"]||a&&a["bs-pills"]||e).call(a,{name:"bs-pills",hash:{selectedBinding:"selection",contentBinding:"items"},hashTypes:{selectedBinding:"STRING",contentBinding:"STRING"},hashContexts:{selectedBinding:a,contentBinding:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n

    For the sake of simplicity in this example we use the bs-pills component to list items with signle itemselection support,\nbut this can be replaced with a table or any other visual form that supports selection.

    \n
    {{bs-items-action-bar contentBinding="actionsInBar" selectedItemsBinding="selection"}}\n{{bs-pills contentBinding="items" selectedBinding="selection"}}
    \n

    Per action defined in the controller (see below), it is possible to define whether the action should be disabled or not\nand what should happen when an enabled action is clicked,

    \n
      \n
    • Implement the disabled function per action and return true if the action should be disabled, the method recieve the current selection so logic may take the selection into consideration whether the action should be disabled or not.
    • \n
    • Define transitionTo property with a route name if you want the action to transition to another route when pressed.
    • \n
    • Define the clickActionName property with an action name to be invoked on the controller when action is clicked.
    • \n
    \n

    Controller's code:

    \n
    Showcase.ShowComponentsItemsActionBarController = Ember.Controller.extend({\n  actionsInBar: [\n    [\n      {\n        title: 'To Alerts',\n        disabled: function(selection) {\n          var _ref;\n          if (selection.size < 1 || (selection != null ? (_ref = selection[0]) != null ? _ref.title : void 0 : void 0) !== 'Alerts') {\n            return true;\n          }\n        },\n        transitionTo: 'show_components.alert'\n      }, {\n        title: 'To Panels',\n        transitionTo: 'show_components.panel',\n        disabled: function(selection) {\n          var _ref;\n          if (selection.size < 1 || (selection != null ? (_ref = selection[0]) != null ? _ref.title : void 0 : void 0) !== 'Panels') {\n            return true;\n          }\n        }\n      }\n    ], [\n      {\n        title: 'To Wizard',\n        disabled: function(selection) {\n          var _ref;\n          if (selection.size < 1 || (selection != null ? (_ref = selection[0]) != null ? _ref.title : void 0 : void 0) !== 'Wizards') {\n            return true;\n          }\n        },\n        clickActionName: 'wizard'\n      }\n    ]\n  ],\n  actions: {\n    wizard: function(selection) {\n      return alert("Wizard pressed!");\n    }\n  },\n  items: [\n    Ember.Object.create({\n      title: 'Alerts'\n    }), Ember.Object.create({\n      title: 'Panels'\n    }), Ember.Object.create({\n      title: 'Wizards'\n    })\n  ]\n});
    \n'),g},useData:!0}),Ember.TEMPLATES["show_components/label"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression,g="";return d.buffer.push('

    Label

    \n

    Basic

    \n
    \n

    Heading with label '),d.buffer.push(f((b["bs-label"]||a&&a["bs-label"]||e).call(a,{name:"bs-label",hash:{content:"Label"},hashTypes:{content:"STRING"},hashContexts:{content:a},types:[],contexts:[],data:d}))),d.buffer.push('

    \n
    \n\n
        <h3>Heading with label {{bs-label content="Label"}}</h3>
    \n

    With Type

    \n
    \n

    Heading with danger '),d.buffer.push(f((b["bs-label"]||a&&a["bs-label"]||e).call(a,{name:"bs-label",hash:{type:"danger",content:"Careful!"},hashTypes:{type:"STRING",content:"STRING"},hashContexts:{type:a,content:a},types:[],contexts:[],data:d}))),d.buffer.push('

    \n
    \n\n
        <h3>Heading with <strong>danger</strong> {{bs-label content="Careful!" type="danger"}}</h3>
    \n

    Component Properties

    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    PropertyDescription
    contentstring: the label content.
    typeLabel types: success | info | warning | danger
    \n
    \n'),g},useData:!0}),Ember.TEMPLATES["show_components/list-group"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f=b.helperMissing,g=this.escapeExpression,h="";return d.buffer.push('

    List Group

    \n
    \n

    List groups are a flexible and powerful component for displaying not only simple lists of elements, but complex ones with custom content.\nBy Bootstrap

    \n
    \n

    All list items are linkable and selection can easily be observed

    \n

    Simple

    \n

    The most basic list group is simply an unordered list with list items.

    \n
    \n'),d.buffer.push(g((b["bs-list-group"]||a&&a["bs-list-group"]||f).call(a,{name:"bs-list-group",hash:{selectedBinding:"selected",contentBinding:"listSimple"},hashTypes:{selectedBinding:"STRING",contentBinding:"STRING"},hashContexts:{selectedBinding:a,contentBinding:a},types:[],contexts:[],data:d}))),d.buffer.push("\n\nSelected: "),e=b._triageMustache.call(a,"selected",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push('\n
    \n\n
    {{bs-list-group contentBinding="listSimple"}}
    \n

    Controller's code:

    \n
    Showcase.ShowComponentsListGroupController = Ember.Controller.extend({\n    listSimple: Ember.A(['Cras justo odio', 'Dapibus ac facilisis in', 'Morbi leo risus'])\n})
    \n

    Badges

    \n

    Each item in the list can have badge component that will automatically be positioned on the right.

    \n
    \n '),d.buffer.push(g((b["bs-list-group"]||a&&a["bs-list-group"]||f).call(a,{name:"bs-list-group",hash:{contentBinding:"listWithBadges"},hashTypes:{contentBinding:"STRING"},hashContexts:{contentBinding:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n
    {{bs-list-group contentBinding="listWithBadges"}}
    \n

    Controller's code:

    \n
    Showcase.ShowComponentsListGroupController = Ember.Controller.extend({\n  listWithBadges: Ember.A([\n    Ember.Object.create({title: 'Inbox', badge: '45'}),\n    Ember.Object.create({ title: 'Sent', badge: '33'})\n  ])\n});
    \n

    List with Sub Text

    \n

    Items can have a sub text enabled if an item metadata has the 'sub' property.

    \n
    \n '),d.buffer.push(g((b["bs-list-group"]||a&&a["bs-list-group"]||f).call(a,{name:"bs-list-group",hash:{contentBinding:"listWithSub"},hashTypes:{contentBinding:"STRING"},hashContexts:{contentBinding:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n
    {{bs-list-group contentBinding="listWithSub"}}
    \n

    Controller's code:

    \n
    Showcase.ShowComponentsListGroupController = Ember.Controller.extend({\n  listWithSub: Ember.A([\n    Ember.Object.create({title: 'Inbox', badge: '45'}),\n    Ember.Object.create({ title: 'Sent', badge: '33'})\n  ])\n});
    \n'),h},useData:!0}),Ember.TEMPLATES["show_components/modal"]=Ember.HTMLBars.template({1:function(a,b,c,d){d.buffer.push("

    Modal content!

    \n")},compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f=b.helperMissing,g=this.escapeExpression,h="";return d.buffer.push('

    Modal

    \n
    \n

    Modals are streamlined, but flexible, dialog prompts with the minimum required functionality and smart defaults.\nby Bootstrap

    \n
    \n

    Blocked Modal

    \n

    A rendered modal with header, body, and set of actions in the footer.

    \n
    \n '),d.buffer.push(g((b["bs-button"]||a&&a["bs-button"]||f).call(a,{name:"bs-button",hash:{clicked:"show",title:"Show Modal"},hashTypes:{clicked:"STRING",title:"STRING"},hashContexts:{clicked:a,title:a},types:[],contexts:[],data:d}))),d.buffer.push("\n"),e=(b["bs-modal"]||a&&a["bs-modal"]||f).call(a,{name:"bs-modal",hash:{title:"My Modal",footerButtonsBinding:"myModalButtons",fade:!0,name:"myModal"},hashTypes:{title:"STRING",footerButtonsBinding:"STRING",fade:"BOOLEAN",name:"STRING"},hashContexts:{title:a,footerButtonsBinding:a,fade:a,name:a},fn:this.program(1,d),inverse:this.noop,types:[],contexts:[],data:d}),null!=e&&d.buffer.push(e),d.buffer.push('
    \n\n
        {{bs-button title="Show Modal" clicked="show"}}\n    {{#bs-modal name="myModal" fade=true footerButtonsBinding="myModalButtons" title="My Modal"}}\n        <p>Modal content!</p>\n    {{/bs-modal}}
    \n

    Controller's code:

    \n
    Showcase.ShowComponentsModalController = Ember.Controller.extend({\n  myModalButtons: [\n      Ember.Object.create({title: 'Submit', clicked:"submit"})\n      Ember.Object.create({title: 'Cancel', clicked:"cancel", dismiss: 'modal'})\n  ],\n\n  actions: {\n    //Submit the modal\n    submit: function() {\n      Bootstrap.NM.push('Successfully submitted modal', 'success');\n      return Bootstrap.ModalManager.hide('myModal');\n    },\n\n    //Cancel the modal, we don't need to hide the model manually because we set {..., dismiss: 'modal'} on the button meta data\n    cancel: function() {\n      return Bootstrap.NM.push('Modal was cancelled', 'info');\n    },\n\n    //Show the modal\n    show: function() {\n      return Bootstrap.ModalManager.show('myModal');\n    }\n  }\n});
    \n

    NOTE: The buttons defined in the array object can contain the same attributes as the button component. For example: for a 'danger' button, add "type='danger'" to the object defining the button.

    \n

    Confirmation Modal

    \n

    For a simple confirmation modal, you can simply invoke Bootstrap.ModalManager.confirm(this);

    \n
    \n '),d.buffer.push(g((b["bs-button"]||a&&a["bs-button"]||f).call(a,{name:"bs-button",hash:{clicked:"confirm",title:"Delete"},hashTypes:{clicked:"STRING",title:"STRING"},hashContexts:{clicked:a,title:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n
    {{bs-button title="Delete" clicked="confirm"}}
    \n

    Controller's code:

    \n
    Showcase.ShowComponentsModalController = Ember.Controller.extend({\n    confirm: {\n        confirm: {\n            Bootstrap.ModalManager.confirm(@);\n        },\n        //invoked when user press "confirm"\n        modalConfirmed: {\n            Bootstrap.NM.push('Confirmed!', 'success')\n        },\n        //invoked when user press "cancel"\n        modalCanceled: {\n            Bootstrap.NM.push('Cancelled!', 'info')\n        }\n    }\n})
    \n

    The Bootstrap.ModalManager.confirm method accept the following parameters:

    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    PropertyDescriptionOptional?
    controllerA reference to the controller that the confirm/cancel actions will be triggered onno
    titleThe title of the modal that.yes
    messageThe body text of the modal.yes
    confirmButtonTitleThe title of the confirm buttonyes
    cancelButtonTitleThe title of the cancel buttonyes
    \n
    \n\n\n

    Programatically Modal Creation

    \n

    It is also possible to programatically create a modal, this approach is useful if the modal contains a lot of elements and it makes sense to push the modal elements into the DOM programatically and totally destroy the modal when it is closed.

    \n
    \n '),d.buffer.push(g((b["bs-button"]||a&&a["bs-button"]||f).call(a,{name:"bs-button",hash:{clicked:"createModalProgramatically",title:"Create Modal"},hashTypes:{clicked:"STRING",title:"STRING"},hashContexts:{clicked:a,title:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n
    //we only render a button which will programatically create the modal\n{{bs-button title="Create Modal" clicked="createModalProgramatically"}}
    \n

    Controller's code:

    \n
    Showcase.ShowComponentsModalController = Ember.Controller.extend({\n  manualButtons: [\n      Ember.Object.create({title: 'Submit', clicked:"submitManual"})\n      Ember.Object.create({title: 'Cancel', dismiss: 'modal'})\n  ],\n\n  actions: {\n    submitManual: function() {\n      Bootstrap.NM.push('Modal destroyed!', 'success');\n      return Bootstrap.ModalManager.close('manualModal');\n    },\n    createModalProgramatically: function() {\n      //@property {string} The name of the modal, required later to close the modal (see submitManual function above)\n      //@property {string} The title of the modal.\n      //@property {string} The template name to render within the modal body, a View class may also be specified.\n      //@property {array} Array of Button meta data\n      //@property {object} The controller instance that instantiate the modal.\n      Bootstrap.ModalManager.open('manualModal', 'Hello', 'demo-template', this.manualButtons, this);\n    }\n  }\n});
    \n'),h},useData:!0}),Ember.TEMPLATES["show_components/notifications"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression,g="";return d.buffer.push('

    Notifications

    \n

    Notifications is not a Bootstrap component but is mandatory for almost every web application.

    \n

    Notifications are messages that are rendered as Alerts, they fade in for a short period of time with some message and type and then they fade out.

    \n

    Notifications are pushed into an array, so different parts of the application may push notifications to the user\nand each will be displayed one after another.

    \n

    To use notifications, put somewhere in your application template the bs-notifications component.

    \n
    {{bs-notifications style="z-index: 1000; position: fixed; width: 50%; left: 0; right: 0; margin-left: auto; margin-right: auto; margin-top: 50px;"}}
    \n

    How you style the component is up to you, this is just an example for centralizing the notifications on the screen.

    \n

    Then use the NotificationManager / NM to push new notifications with a message and type.

    \n
    \n '),d.buffer.push(f((b["bs-button"]||a&&a["bs-button"]||e).call(a,{name:"bs-button",hash:{title:"Push Info",clicked:"pushInfo",type:"info"},hashTypes:{title:"STRING",clicked:"STRING",type:"STRING"},hashContexts:{title:a,clicked:a,type:a},types:[],contexts:[],data:d}))),d.buffer.push("\n "),d.buffer.push(f((b["bs-button"]||a&&a["bs-button"]||e).call(a,{name:"bs-button",hash:{title:"Push Warning",clicked:"pushWarn",type:"warning"},hashTypes:{title:"STRING",clicked:"STRING",type:"STRING"},hashContexts:{title:a,clicked:a,type:a},types:[],contexts:[],data:d}))),d.buffer.push("\n "),d.buffer.push(f((b["bs-button"]||a&&a["bs-button"]||e).call(a,{name:"bs-button",hash:{title:"Push Success",clicked:"pushSuccess",type:"success"},hashTypes:{title:"STRING",clicked:"STRING",type:"STRING"},hashContexts:{title:a,clicked:a,type:a},types:[],contexts:[],data:d}))),d.buffer.push("\n "),d.buffer.push(f((b["bs-button"]||a&&a["bs-button"]||e).call(a,{name:"bs-button",hash:{title:"Push Danger",clicked:"pushDanger",type:"danger"},hashTypes:{title:"STRING",clicked:"STRING",type:"STRING"},hashContexts:{title:a,clicked:a,type:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n

    Controller code:

    \n
    Showcase.ShowComponentsNotificationsController = Ember.Controller.extend({\n  pushInfo: function() {\n    return Bootstrap.NM.push('Hello, this is just an info message.', 'info');\n  },\n  pushWarn: function() {\n    return Bootstrap.NM.push('Could not perform operation!', 'warning');\n  },\n  pushSuccess: function() {\n    return Bootstrap.NM.push('Successfully performed operation!', 'success');\n  },\n  pushDanger: function() {\n    return Bootstrap.NM.push('Danger! system is halting!', 'danger');\n  }\n});
    \n

    During fade out, If user hover with the mouse in the notification area, it will cancel the fade in animation so the user can have more time to read the message, moving the mouse out will retrigger the fade out.

    \n

    You can control the duration messages are displayed, the fade out and fade in time by providing properties for each, for more info see the properties options below.

    \n

    Component Properties

    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    PropertyDescription
    showTimeA number in ms that defines how long the notification is displayed before it starts to fade out.
    fadeInTimeA number in ms that defines how long it takes a notification to fades in.
    fadeOutTimeA number in ms that defines how long it takes a notification to fade out.
    \n
    \n'),g +},useData:!0}),Ember.TEMPLATES["show_components/page-header"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression,g="";return d.buffer.push('

    Page Header

    \n


    \n
    \n

    A simple shell for an h1 to appropriately space out and segment sections of content on a page. It can utilize the h1's default small element, as well as most other components (with additional styles).\nBy Bootstrap

    \n
    \n
    \n '),d.buffer.push(f((b["bs-page-header"]||a&&a["bs-page-header"]||e).call(a,{name:"bs-page-header",hash:{sub:"Subtext for header",title:"Example page header"},hashTypes:{sub:"STRING",title:"STRING"},hashContexts:{sub:a,title:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n
        {{bs-page-header title="Example page header" sub="Subtext for header"}}
    \n'),g},useData:!0}),Ember.TEMPLATES["show_components/panel"]=Ember.HTMLBars.template({1:function(a,b,c,d){d.buffer.push("

    Panel content goes here...!

    \n")},3:function(a,b,c,d){d.buffer.push("

    Panel content.

    \n")},5:function(a,b,c,d){d.buffer.push("

    Panel content goes here...!

    \n")},7:function(a,b,c,d){d.buffer.push("

    IM OPEN NOW!

    \n")},compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f=b.helperMissing,g="";return d.buffer.push('

    Panel

    \n
    \n

    While not always necessary, sometimes you need to put your DOM in a box. For those situations, try the panel component.\nBy Bootstrap

    \n
    \n

    Basic

    \n
    \n'),e=(b["bs-panel"]||a&&a["bs-panel"]||f).call(a,{name:"bs-panel",hash:{footer:"Panel Footer",heading:"Simple Panel"},hashTypes:{footer:"STRING",heading:"STRING"},hashContexts:{footer:a,heading:a},fn:this.program(1,d),inverse:this.noop,types:[],contexts:[],data:d}),null!=e&&d.buffer.push(e),d.buffer.push('
    \n\n
    {{#bs-panel heading="Simple Panel" footer="Panel Footer"}}\n    <p>Panel content goes here...!</p>\n{{/bs-panel}}
    \n

    Contextual alternatives

    \n
    \n

    Like other components, easily make a panel more meaningful to a particular context by adding any of the contextual state classes.\nBy Bootstrap

    \n
    \n
    \n'),e=(b["bs-panel"]||a&&a["bs-panel"]||f).call(a,{name:"bs-panel",hash:{type:"primary",heading:"Primary Panel"},hashTypes:{type:"STRING",heading:"STRING"},hashContexts:{type:a,heading:a},fn:this.program(3,d),inverse:this.noop,types:[],contexts:[],data:d}),null!=e&&d.buffer.push(e),e=(b["bs-panel"]||a&&a["bs-panel"]||f).call(a,{name:"bs-panel",hash:{type:"success",heading:"Success Panel"},hashTypes:{type:"STRING",heading:"STRING"},hashContexts:{type:a,heading:a},fn:this.program(3,d),inverse:this.noop,types:[],contexts:[],data:d}),null!=e&&d.buffer.push(e),e=(b["bs-panel"]||a&&a["bs-panel"]||f).call(a,{name:"bs-panel",hash:{type:"info",heading:"Info Panel"},hashTypes:{type:"STRING",heading:"STRING"},hashContexts:{type:a,heading:a},fn:this.program(3,d),inverse:this.noop,types:[],contexts:[],data:d}),null!=e&&d.buffer.push(e),e=(b["bs-panel"]||a&&a["bs-panel"]||f).call(a,{name:"bs-panel",hash:{type:"warning",heading:"Warning Panel"},hashTypes:{type:"STRING",heading:"STRING"},hashContexts:{type:a,heading:a},fn:this.program(3,d),inverse:this.noop,types:[],contexts:[],data:d}),null!=e&&d.buffer.push(e),e=(b["bs-panel"]||a&&a["bs-panel"]||f).call(a,{name:"bs-panel",hash:{type:"danger",heading:"Danger Panel"},hashTypes:{type:"STRING",heading:"STRING"},hashContexts:{type:a,heading:a},fn:this.program(3,d),inverse:this.noop,types:[],contexts:[],data:d}),null!=e&&d.buffer.push(e),d.buffer.push('
    \n\n
        {{#bs-panel heading="Primary Panel" type="primary"}}\n        <p>Panel content.</p>\n    {{/bs-panel}}\n    {{#bs-panel heading="Success Panel" type="success"}}\n        <p>Panel content.</p>\n    {{/bs-panel}}\n    {{#bs-panel heading="Info Panel" type="info"}}\n        <p>Panel content.</p>\n    {{/bs-panel}}\n    {{#bs-panel heading="Warning Panel" type="warning"}}\n        <p>Panel content.</p>\n    {{/bs-panel}}\n    {{#bs-panel heading="Danger Panel" type="danger"}}\n        <p>Panel content.</p>\n    {{/bs-panel}}
    \n

    Dismissable Panels

    \n

    This goes beyond what Bootstrap offers and let you create a closable panels by adding the dismiss=true property

    \n
    \n'),e=(b["bs-panel"]||a&&a["bs-panel"]||f).call(a,{name:"bs-panel",hash:{onClose:"panelClosed",dismiss:!0,type:"primary",heading:"Primary Panel"},hashTypes:{onClose:"STRING",dismiss:"BOOLEAN",type:"STRING",heading:"STRING"},hashContexts:{onClose:a,dismiss:a,type:a,heading:a},fn:this.program(3,d),inverse:this.noop,types:[],contexts:[],data:d}),null!=e&&d.buffer.push(e),d.buffer.push('
    \n\n\n
    {{#bs-panel heading="Primary Panel" type="primary" dismiss=true onClose="panelClosed"}}\n    <p>Panel content.</p>\n{{/bs-panel}}
    \n

    Clickable Panels

    \n

    Panels can also be clickable, the click is propagated to the current controller via the clicked property

    \n
    \n'),e=(b["bs-panel"]||a&&a["bs-panel"]||f).call(a,{name:"bs-panel",hash:{clicked:"panelClicked",type:"primary",heading:"Primary Panel"},hashTypes:{clicked:"STRING",type:"STRING",heading:"STRING"},hashContexts:{clicked:a,type:a,heading:a},fn:this.program(3,d),inverse:this.noop,types:[],contexts:[],data:d}),null!=e&&d.buffer.push(e),d.buffer.push('
    \n\n
    {{#bs-panel heading="Primary Panel" type="primary" clicked="panelClicked"}}\n    <p>Panel content.</p>\n{{/bs-panel}}
    \n

    Collapsible Panels

    \n

    Panels can be collapsible, to enable collapsible support set collapsible=true on the component tag:

    \n
    \n'),e=(b["bs-panel"]||a&&a["bs-panel"]||f).call(a,{name:"bs-panel",hash:{footer:"Panel Footer",dismiss:!0,collapsible:!0,heading:"Simple Panel"},hashTypes:{footer:"STRING",dismiss:"BOOLEAN",collapsible:"BOOLEAN",heading:"STRING"},hashContexts:{footer:a,dismiss:a,collapsible:a,heading:a},fn:this.program(5,d),inverse:this.noop,types:[],contexts:[],data:d}),null!=e&&d.buffer.push(e),d.buffer.push('
    \n\n
    {{#bs-panel heading="Simple Panel" collapsible=true dismiss=true footer="Panel Footer"}}\n    <p>Panel content goes here...!</p>\n{{/bs-panel}}
    \n

    Collapsible panels can also be closed by default by setting open=false.

    \n
    \n'),e=(b["bs-panel"]||a&&a["bs-panel"]||f).call(a,{name:"bs-panel",hash:{open:!1,dismiss:!0,collapsible:!0,heading:"Open me!"},hashTypes:{open:"BOOLEAN",dismiss:"BOOLEAN",collapsible:"BOOLEAN",heading:"STRING"},hashContexts:{open:a,dismiss:a,collapsible:a,heading:a},fn:this.program(7,d),inverse:this.noop,types:[],contexts:[],data:d}),null!=e&&d.buffer.push(e),d.buffer.push('
    \n\n
    {{#bs-panel heading="Simple Panel" collapsible=true dismiss=true footer="Panel Footer"}}\n    <p>Panel content goes here...!</p>\n{{/bs-panel}}
    \n'),g},useData:!0}),Ember.TEMPLATES["show_components/pills"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f=b.helperMissing,g=this.escapeExpression,h="";return d.buffer.push('

    Pills

    \n

    Pills are a button-like navigation style,

    \n

    Bootstrap doesn't dictate nor assist with how you respond when an item is selected in the Pills navigation,\nBut using bs-pills helps by making the navigation more interactive by providing selection bindings and styling the\nactive element, see examples below.

    \n
    \n '),d.buffer.push(g((b["bs-pills"]||a&&a["bs-pills"]||f).call(a,{name:"bs-pills",hash:{selectedBinding:"selected",contentBinding:"content"},hashTypes:{selectedBinding:"STRING",contentBinding:"STRING"},hashContexts:{selectedBinding:a,contentBinding:a},types:[],contexts:[],data:d}))),d.buffer.push("\n Selected: "),e=b._triageMustache.call(a,"selected",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push('\n
    \n\n
    \n{{bs-pills contentBinding="content" selectedBinding="selected"}}\n\nSelected: {{selected}}
    \n

    content and selected are properties in the current controller

    \n
      \n
    • The content controller property is an array of strings where each string is rendered as a possible item selection.
    • \n
    • When an item selection is changed, the selected property in the current controller will be set with the value of the selected item.
    • \n
    \n

    Here's the controller sample code:

    \n
    Showcase.ShowComponentsPillsController = Ember.Controller.extend({\n  content: ['Home', 'Profile', 'Messages'],\n  contentChanged: (function() {\n    return console.log("Selection has changed to: " + (this.get('selected')));\n  }).observes('selected')\n});
    \n

    Stacked

    \n
    \n

    Pills are also vertically stackable. Just add `stacked=true``

    \n
    \n
    \n '),d.buffer.push(g((b["bs-pills"]||a&&a["bs-pills"]||f).call(a,{name:"bs-pills",hash:{style:"max-width: 300px;",stacked:!0,selectedBinding:"selected",contentBinding:"content"},hashTypes:{style:"STRING",stacked:"BOOLEAN",selectedBinding:"STRING",contentBinding:"STRING"},hashContexts:{style:a,stacked:a,selectedBinding:a,contentBinding:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n
        {{bs-pills contentBinding="content" selectedBinding="selected" stacked=true style="max-width: 300px;"}}
    \n

    Justified

    \n
    \n

    Easily make tabs or pills equal widths of their parent with setting justified=true

    \n
    \n
    \n '),d.buffer.push(g((b["bs-pills"]||a&&a["bs-pills"]||f).call(a,{name:"bs-pills",hash:{justified:!0,selectedBinding:"selected",contentBinding:"content"},hashTypes:{justified:"BOOLEAN",selectedBinding:"STRING",contentBinding:"STRING"},hashContexts:{justified:a,selectedBinding:a,contentBinding:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n
        {{bs-pills contentBinding="content" selectedBinding="selected" justified=true}}
    \n

    Disabled links

    \n

    Bootstrap doesn't stop the propagation of the redirection of disabled links for you:

    \n
    \n

    This class will only change the anchor's appearance, not its functionality. Use custom JavaScript to disable links here.\nBy Bootstrap

    \n
    \n

    But using bs-pills ease your pain by giving you the opportunity to bind the disable state of each item by providing extra metadata per item, clicking a disabled item disables the links too.

    \n

    To define links (items) as disabed, you need to provide extra metadata per defined item in the contentBinding property.

    \n
    \n '),d.buffer.push(g((b["bs-pills"]||a&&a["bs-pills"]||f).call(a,{name:"bs-pills",hash:{selectedBinding:"selected1",contentBinding:"content1"},hashTypes:{selectedBinding:"STRING",contentBinding:"STRING"},hashContexts:{selectedBinding:a,contentBinding:a},types:[],contexts:[],data:d}))),d.buffer.push("\n "),d.buffer.push(g((b["bs-button"]||a&&a["bs-button"]||f).call(a,{name:"bs-button",hash:{title:"Disable Home",clicked:"disableHome"},hashTypes:{title:"STRING",clicked:"STRING"},hashContexts:{title:a,clicked:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n
    {{bs-pills contentBinding="content" selectedBinding="selected"}}\n{{bs-button clicked="disableHome" content="Disable Home"}}
    \n

    Controller sample code:

    \n
    \nShowcase.ShowComponentsPillsController = Ember.Controller.extend({\n  init: function() {\n    this._super();\n    this.set('content', Ember.A([\n      Ember.Object.create({title: 'Home',disabled: false}),\n      Ember.Object.create({title: 'Admin',disabled: true})\n    ]));\n    this.set('selected', this.get('content').objectAt(0));\n  },\n\n  disableHome: function() {\n    this.get('content').objectAt(0).set('disabled', true);\n  }\n});
    \n'),h},useData:!0}),Ember.TEMPLATES["show_components/popover"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression,g="";return d.buffer.push('

    Popover & Tooltips

    \n

    Setup

    \n

    For Popover support, it is required to adapt the application route and add a named outlet to your main template and reference a controller that extends from Bootstrap.TooltipBoxController

    \n
    //Create some controller in your app that references _Bootstrap.TooltipBoxController_\nApp.TooltipBoxController = Bootstrap.TooltipBoxController\n\n//Application route\nApp.ApplicationRoute = Ember.Route.extend({\n    renderTemplate: function() {\n        // Render default outlet\n        this.render();\n        // render extra outlets\n        var controller = this.controllerFor('tooltip-box');\n        this.render("bs-tooltip-box", {\n            outlet: "bs-tooltip-box",\n            controller: controller,\n            into: "application" // important when using at root level\n        });\n    }\n});
    \n

    Tooltips

    \n

    Simple content

    \n
    \n

    Here is a very link with a tooltip,.\n You can mix as many tooltips as you wish.\n

    \n
    \n\n
    <p class="muted" style="margin-bottom: 0;">\n    Here is <a href="#" {{bs-bind-tooltip content="A tooltip!"}}>a very</a> link with a tooltip,.\n    You can mix as many <a href="#" {{bs-bind-tooltip title="Another tooltip!"}}>tooltips</a> as you wish.\n</p>
    \n

    Bindings & Sticky

    \n

    You can bind the value of the tooltip to an object and make the tooltip sticky by:

    \n\n\n

    In template:

    \n
    <a href="#" {{bs-bind-tooltip testObject.sticky}}>Hover me for a sticky tooltip!</a>
    \n

    In controller:

    \n
        stickyTooltip: Ember.Object.createWithMixins({\n        popover: (function() {\n          return Ember.Object.create({\n            user: this,\n            content: 'know this is a sticky tooltip! You can hover over it.',\n            trigger: 'hover',\n            sticky: true\n          });\n        }).property()\n      })
    \n

    Popovers

    \n

    Examples

    \n

    Here are some examples for popovers:

    \n
    \n
      \n
    • \n Hover for a sticky popup\n
    • \n
    • \n Click for a popup\n
    • \n
    • \n Click for a popup with template\n
    • \n
    \n
    \n\n

    In template:

    \n
    <ul class="list-group" style="width:250px">\n    <li class="list-group-item" {{bs-bind-popover hoverPop}}>\n             Hover for a sticky popup\n    </li>\n    <li class="list-group-item" {{bs-bind-popover clickPop}}>\n             Click for a popup\n    </li>\n    <li class="list-group-item" {{bs-bind-popover templPop}}>\n             Click for a popup with template\n    </li>\n</ul>
    \n

    In controller:

    \n
      hoverPop: Ember.Object.create({\n    title: "I'm a title!",\n    content: "And i'm a content!",\n    trigger: "hover",\n    placement: "right",\n    sticky: true\n  }),\n\n  clickPop: Ember.Object.create({\n    title: "Clickable!",\n    content: "This is a clickable popover",\n    placement: "left"\n  }),\n\n  templPop: Ember.Object.create({\n      firstName: 'numbers',\n      title: 'Popover with Template',\n      template: 'numbers:<ul>' +\n              '{{#each val in content.numbers}}' +\n              '   <li>{{val}}</li>' + '{{/each}}' +\n              '</ul>',\n      content: {\n        numbers: [1, 2, 3]\n      }\n  })
    \n

    Object Options

    \n

    Following are the options that back a tooltip/popover entry:

    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    Property NameTypeDefaultDescription
    htmlbooleanfalseInsert HTML into the popover.
    placementstring | function'right'how to position the popover - top | bottom | left | right | auto.
    When "auto" is specified, it will dynamically reorient the popover. For example, if placement is "auto left", the popover will display to the left when possible, otherwise it will display right.
    triggerstring'click' for popover| 'hover' for tooltiphow popover is triggered - click | hover | focus | manual
    stickybooleanfalseTo be used when trigger is 'hover'.\n When the tooltip appears you have 100ms to hover over it and only after you leave the popover/tooltip it will disappear
    showbooleanfalseTo be used when trigger is 'manual'.\n Will show the tip when true, hide when false.\n The property will be observed for changes with "addObserver"\n
    titlestring''
    contentstring | function''
    templatestringnullUse this template to display. The context will be the popover/tooltip. The data is available in content.*
    \n
    \n\n\n\n'),g},useData:!0}),Ember.TEMPLATES["show_components/progressbar"]=Ember.HTMLBars.template({1:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression,g="";return d.buffer.push(" "),d.buffer.push(f((b["bs-progressbar"]||a&&a["bs-progressbar"]||e).call(a,{name:"bs-progressbar",hash:{progress:"35",type:"success"},hashTypes:{progress:"STRING",type:"STRING"},hashContexts:{progress:a,type:a},types:[],contexts:[],data:d}))),d.buffer.push("\n "),d.buffer.push(f((b["bs-progressbar"]||a&&a["bs-progressbar"]||e).call(a,{name:"bs-progressbar",hash:{progress:"20",type:"warning"},hashTypes:{progress:"STRING",type:"STRING"},hashContexts:{progress:a,type:a},types:[],contexts:[],data:d}))),d.buffer.push("\n "),d.buffer.push(f((b["bs-progressbar"]||a&&a["bs-progressbar"]||e).call(a,{name:"bs-progressbar",hash:{progress:"10",type:"danger"},hashTypes:{progress:"STRING",type:"STRING"},hashContexts:{progress:a,type:a},types:[],contexts:[],data:d}))),d.buffer.push("\n"),g},compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f,g,h=b.helperMissing,i=this.escapeExpression,j="function",k=b.blockHelperMissing,l="";return d.buffer.push('

    Progress Bar

    \n
    \n

    Provide up-to-date feedback on the progress of a workflow or action with simple yet flexible progress bars.\nBy Bootstrap

    \n
    \n

    Basic usage

    \n
    \n '),d.buffer.push(i((b["bs-progress"]||a&&a["bs-progress"]||h).call(a,{name:"bs-progress",hash:{progress:60},hashTypes:{progress:"NUMBER"},hashContexts:{progress:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n
        {{bs-progress progress=60}}
    \n

    Simple as that! a single short line, compared to Bootstarp Tags 5 long lines that\nproduces the same result.

    \n

    The progress component respects all aria tags mentioned in Bootstrap documentation.

    \n
    \n
    \n

    Progress bars use some of the same button and alert classes for consistent styles\nBy Bootstrap

    \n
    \n
    \n '),d.buffer.push(i((b["bs-progress"]||a&&a["bs-progress"]||h).call(a,{name:"bs-progress",hash:{type:"success",progress:40},hashTypes:{type:"STRING",progress:"NUMBER"},hashContexts:{type:a,progress:a},types:[],contexts:[],data:d}))),d.buffer.push("\n "),d.buffer.push(i((b["bs-progress"]||a&&a["bs-progress"]||h).call(a,{name:"bs-progress",hash:{type:"info",progress:20},hashTypes:{type:"STRING",progress:"NUMBER"},hashContexts:{type:a,progress:a},types:[],contexts:[],data:d}))),d.buffer.push("\n "),d.buffer.push(i((b["bs-progress"]||a&&a["bs-progress"]||h).call(a,{name:"bs-progress",hash:{type:"warning",progress:60},hashTypes:{type:"STRING",progress:"NUMBER"},hashContexts:{type:a,progress:a},types:[],contexts:[],data:d}))),d.buffer.push("\n "),d.buffer.push(i((b["bs-progress"]||a&&a["bs-progress"]||h).call(a,{name:"bs-progress",hash:{type:"danger",progress:80},hashTypes:{type:"STRING",progress:"NUMBER"},hashContexts:{type:a,progress:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n\n
        {{bs-progress progress=40 type="success"}}\n    {{bs-progress progress=20 type="info"}}\n    {{bs-progress progress=60 type="warning"}}\n    {{bs-progress progress=80 type="danger"}}
    \n
    \n

    The progress property can be bound to a controller property:

    \n
    \n '),d.buffer.push(i((b["bs-progress"]||a&&a["bs-progress"]||h).call(a,{name:"bs-progress",hash:{progressBinding:"prog"},hashTypes:{progressBinding:"STRING"},hashContexts:{progressBinding:a},types:[],contexts:[],data:d}))),d.buffer.push("\n "),d.buffer.push(i((b["bs-button"]||a&&a["bs-button"]||h).call(a,{name:"bs-button",hash:{title:"Increment!",clicked:"increment"},hashTypes:{title:"STRING",clicked:"STRING"},hashContexts:{title:a,clicked:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n
        {{bs-progress progressBinding="prog"}}\n    {{bs-button clicked="increment" content="Increment!"}}
    \n

    Controller sample code:

    \n
    Showcase.ShowComponentsProgressbarController = Ember.Controller.extend({\n  prog: 0,\n  incrementBy: 20,\n  increment: function() {\n    if (this.prog < 100) {\n      return this.incrementProperty("prog", this.incrementBy);\n    } else {\n      return this.set("prog", this.incrementBy);\n    }\n  }\n});
    \n

    Striped

    \n
    \n

    Uses a gradient to create a striped effect. Not available in IE8.\nBy Bootstrap

    \n
    \n

    This is simply done by setting the stripped=true property.

    \n
    \n '),d.buffer.push(i((b["bs-progress"]||a&&a["bs-progress"]||h).call(a,{name:"bs-progress",hash:{stripped:!0,type:"success",progress:40},hashTypes:{stripped:"BOOLEAN",type:"STRING",progress:"NUMBER"},hashContexts:{stripped:a,type:a,progress:a},types:[],contexts:[],data:d}))),d.buffer.push("\n "),d.buffer.push(i((b["bs-progress"]||a&&a["bs-progress"]||h).call(a,{name:"bs-progress",hash:{stripped:!0,type:"info",progress:20},hashTypes:{stripped:"BOOLEAN",type:"STRING",progress:"NUMBER"},hashContexts:{stripped:a,type:a,progress:a},types:[],contexts:[],data:d}))),d.buffer.push("\n "),d.buffer.push(i((b["bs-progress"]||a&&a["bs-progress"]||h).call(a,{name:"bs-progress",hash:{stripped:!0,type:"warning",progress:60},hashTypes:{stripped:"BOOLEAN",type:"STRING",progress:"NUMBER"},hashContexts:{stripped:a,type:a,progress:a},types:[],contexts:[],data:d}))),d.buffer.push("\n "),d.buffer.push(i((b["bs-progress"]||a&&a["bs-progress"]||h).call(a,{name:"bs-progress",hash:{stripped:!0,type:"danger",progress:80},hashTypes:{stripped:"BOOLEAN",type:"STRING",progress:"NUMBER"},hashContexts:{stripped:a,type:a,progress:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n\n

    Animated

    \n

    In addition to stripped=true, add animated=true property to animate the stripes right to left.

    \n
    \n '),d.buffer.push(i((b["bs-progress"]||a&&a["bs-progress"]||h).call(a,{name:"bs-progress",hash:{animated:!0,stripped:!0,progress:45},hashTypes:{animated:"BOOLEAN",stripped:"BOOLEAN",progress:"NUMBER"},hashContexts:{animated:a,stripped:a,progress:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n
        {{bs-progress progress=45 stripped=true animated=true}}
    \n

    Stacked

    \n

    Multiple bars can be placed into the same bs-progress to stack them:

    \n
    \n'),f=null!=(f=b["bs-progress"]||(null!=a?a["bs-progress"]:a))?f:h,g={name:"bs-progress",hash:{},hashTypes:{},hashContexts:{},fn:this.program(1,d),inverse:this.noop,types:[],contexts:[],data:d},e=typeof f===j?f.call(a,g):f,b["bs-progress"]||(e=k.call(a,e,g)),null!=e&&d.buffer.push(e),d.buffer.push('
    \n\n
        {{#bs-progress}}\n        {{bs-progressbar type="success" progress="35"}}\n        {{bs-progressbar type="warning" progress="20"}}\n        {{bs-progressbar type="danger" progress="10"}}\n    {{/bs-progress}}
    \n'),l},useData:!0}),Ember.TEMPLATES["show_components/tabs-panes"]=Ember.HTMLBars.template({1:function(a,b,c,d){d.buffer.push("Tab Component")},compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f=b.helperMissing,g=this.escapeExpression,h="";return d.buffer.push('

    Tab Panes

    \n

    Defining '),e=(b["link-to"]||a&&a["link-to"]||f).call(a,"show_components.tabs",{name:"link-to",hash:{},hashTypes:{},hashContexts:{},fn:this.program(1,d),inverse:this.noop,types:["STRING"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push(' covers the Tabs rendering and help you to interact with the selected tab. But usually some content should be rendered as a response for a tab click right?

    \n

    This is where Tab Panes come into play, a tab pane is the content area of each rendered tab, when a tab is selected, the corresponding tab pane becomes visible, see below for the possible options.

    \n

    Tab Panes expects a contentBinding property just like the bs-tabs component, the Tabs Panes component also must be aware of the bs-tabs component it is bound to by specifying the items-id property set to the id of the corresponding bs-tabs

    \n
    \n '),d.buffer.push(g((b["bs-tabs"]||a&&a["bs-tabs"]||f).call(a,{name:"bs-tabs",hash:{"default":"Foo",contentBinding:"tabsMeta",id:"tabs1"},hashTypes:{"default":"STRING",contentBinding:"STRING",id:"STRING"},hashContexts:{"default":a,contentBinding:a,id:a},types:[],contexts:[],data:d}))),d.buffer.push("\n "),d.buffer.push(g((b["bs-tabs-panes"]||a&&a["bs-tabs-panes"]||f).call(a,{name:"bs-tabs-panes",hash:{contentBinding:"tabsMeta","items-id":"tabs1"},hashTypes:{contentBinding:"STRING","items-id":"STRING"},hashContexts:{contentBinding:a,"items-id":a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n
    {{bs-tabs id="tabs1" contentBinding="tabsMeta" default="Foo"}}\n{{bs-tabs-panes items-id="tabs1" contentBinding="tabsMeta"}}
    \n
      \n
    • An id property is required for the bs-tabs.
    • \n
    • The bs-tabs-panes generates a tab pane per element in the content array.
    • \n
    • The items-id property must refer to the id of the bs-tabs component.
    • \n
    • If you like one tab to be activated by default, set the default property of the bs-tabs component to a title of the tab you would like to be activated by default.
    • \n
    \n

    Here is the controller tabsPanesOptions property:

    \n
    SomeController = Ember.Controller.extend({\n    tabsMeta: Ember.A([\n            Ember.Object.create({ title: 'Foo', template: 'tabs/foo-tabpane', controller: 'ShowcaseComponentsTabsFoo'}),\n            Ember.Object.create({ title: 'Bar', template: 'tabs/bar-tabpane'})\n    ]);\n});\n\nThe `template: 'some-template'` defines what template to render in the corresponding _Tab Pane_ when the Tab is selected.
    \n

    Note that for the Foo tab, a controller property was defined, calling {{controller}} within the tab pane template tabs/foo-tabpane will point to the specified ShowcaseComponentsTabsFoo controller instead of the default controller\nwhich is the controller of the template the {{bs-tabs-panes}} was called from.

    \n

    Thats all needed! awesome isn't it?

    \n'),h +},useData:!0}),Ember.TEMPLATES["show_components/tabs-with-routes"]=Ember.HTMLBars.template({1:function(a,b,c,d){d.buffer.push("User Profile")},compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f=b.helperMissing,g="";return d.buffer.push('

    Tabs in conjuction with Routes

    \n

    Rendering tab content can be simply done by providing a template per tab using the bs-tabs-panes component,\nAnother possiblity is to have a route per tab for rendering tabs contents, Choose this approach if:

    \n
      \n
    • You need your tabs to be bookmarkable, this is possible because each route is bound to some URL path.
    • \n
    • Your tabs are complicated and have a lot of logic and you need a controller per tab.
    • \n
    \n

    If one or more of the reasons above makes sense to you, read on, otherwise use bs-tabs-panes because its setup is much simpler.

    \n

    Users Profile Example

    \n

    This is much easier to explain by example, so for the sake of example, we'll build a User profile with 3 tabs.

    \n

    Defining routes

    \n

    First, lets define the routes of the User profile:

    \n
    this.resource('user', function() {\n  this.route('general');\n  this.route('privacy');\n  return this.route('activities');\n});
    \n

    A resource is required per tabs component, here we define the resource as user because tabs deals with managing a User and a @route is required per tab.

    \n

    Putting the Tabs component in the Resource template.

    \n

    In Ember.js, every resource page has its own main template, nested routes are rendered within the resource page, with such hierarchy, it makes sense to put the tabs component in the resource page so it will be available for any nested route that the user visits.

    \n

    Content goes into the user template.

    \n
        {{bs-tabs contentBinding="tabsMeta"}}\n    {{outlet}}
    \n

    The tabsMeta is an array of the Tabs metadata in the UserController:

    \n
    \nApp.UserController = Ember.Controller.extend({\n  tabsMeta: [\n    Ember.Object.create({title: 'General', linkTo: 'user.general'}),\n    Ember.Object.create({title: 'Privacy', linkTo: 'user.privacy'}),\n    Ember.Object.create({title: 'Activities', linkTo: 'user.activities'})\n  ]\n});\n`
    \n

    The outlet is important so the content of each tab will be rendered beneath the tabs component.

    \n

    Defining Templates

    \n

    Simply define a template per nested route, just like you would do if each nested route wouldnt be apart of the tab component.

    \n

    Live example

    \n

    Want to see it alive? take a look here: '),e=(b["link-to"]||a&&a["link-to"]||f).call(a,"user.general",{name:"link-to",hash:{},hashTypes:{},hashContexts:{},fn:this.program(1,d),inverse:this.noop,types:["STRING"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("

    \n"),g},useData:!0}),Ember.TEMPLATES["show_components/tabs"]=Ember.HTMLBars.template({1:function(a,b,c,d){d.buffer.push("Tab Panes")},compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f=b.helperMissing,g=this.escapeExpression,h="";return d.buffer.push('

    Tabs

    \n

    Tabs are like Pills but styled differently,\nThe share exactly the same concepts, so this page doesn't repeat everything, visit Pills for the complete details.

    \n

    Simple Tabs

    \n
    \n '),d.buffer.push(g((b["bs-tabs"]||a&&a["bs-tabs"]||f).call(a,{name:"bs-tabs",hash:{selectedBinding:"selected",contentBinding:"content"},hashTypes:{selectedBinding:"STRING",contentBinding:"STRING"},hashContexts:{selectedBinding:a,contentBinding:a},types:[],contexts:[],data:d}))),d.buffer.push("\n\n
    \n Selected: "),e=b._triageMustache.call(a,"selected",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push('\n
    \n\n\n
        {{bs-tabs contentBinding="content" selectedBinding="selected"}}
    \n

    Controller's code:

    \n
    Showcase.ShowComponentsTabsController = Ember.Controller.extend({\n  content: ['Home', 'Profile', 'Messages']\n});
    \n

    Panes

    \n

    Please see '),e=(b["link-to"]||a&&a["link-to"]||f).call(a,"show_components.tabs-panes",{name:"link-to",hash:{},hashTypes:{},hashContexts:{},fn:this.program(1,d),inverse:this.noop,types:["STRING"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push(" for more info about Tab Panes.

    \n"),h},useData:!0}),Ember.TEMPLATES["show_components/well"]=Ember.HTMLBars.template({1:function(a,b,c,d){d.buffer.push(" I am in a well, click me!\n")},3:function(a,b,c,d){d.buffer.push(" Look, I'm in a large well!\n")},5:function(a,b,c,d){d.buffer.push(" Look, I'm in a small well!\n")},compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f=b.helperMissing,g="";return d.buffer.push('

    Well

    \n

    Default Well

    \n

    Here is a default well, but pay attention that it is clickable, the click will be propagated to the controller.

    \n\n
    \n'),e=(b["bs-well"]||a&&a["bs-well"]||f).call(a,{name:"bs-well",hash:{clicked:"wellClick"},hashTypes:{clicked:"STRING"},hashContexts:{clicked:a},fn:this.program(1,d),inverse:this.noop,types:[],contexts:[],data:d}),null!=e&&d.buffer.push(e),d.buffer.push('
    \n\n
    {{#bs-well clicked="wellClick"}}\nI am in a well!\n{{/bs-well}}
    \n

    wellClick is the function name in the controller.

    \n

    Optional classes

    \n

    As explained by Bootstrap:

    \n
    \n

    Control padding and rounded corners with two optional modifier classes.

    \n
    \n

    Large Well

    \n
    \n'),e=(b["bs-well"]||a&&a["bs-well"]||f).call(a,{name:"bs-well",hash:{large:!0},hashTypes:{large:"BOOLEAN"},hashContexts:{large:a},fn:this.program(3,d),inverse:this.noop,types:[],contexts:[],data:d}),null!=e&&d.buffer.push(e),d.buffer.push('
    \n\n
    {{#bs-well large=true}}\nLook, I'm in a large well!\n{{/bs-well}}
    \n

    You can set large well by adding class="well-lg" or just set the large property to true

    \n

    Small Well

    \n
    \n'),e=(b["bs-well"]||a&&a["bs-well"]||f).call(a,{name:"bs-well",hash:{small:!0},hashTypes:{small:"BOOLEAN"},hashContexts:{small:a},fn:this.program(5,d),inverse:this.noop,types:[],contexts:[],data:d}),null!=e&&d.buffer.push(e),d.buffer.push('
    \n\n
    {{#bs-well small=true}}\nLook, I'm in a small well!\n{{/bs-well}}
    \n

    You can set large well by adding class="well-sm" or just set the small property to true

    \n

    Component Properties

    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    PropertyDescription
    largeIf true, a large well will be rendered by adding the well-lg class.
    smallIf true, a small well will be rendered by adding the well-sm class.
    clickedTriggers the specified function name on the controller immediately when user clicks the area of the well.
    \n
    \n'),g},useData:!0}),Ember.TEMPLATES["show_components/wizard"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression,g="";return d.buffer.push('

    Wizard

    \n

    Wizard is a multi step view component with transitioning workflow,\nWizard has a lot in common with the Tabs component as you can think about each Wizard step as a tab & pane, the main different is that with the Wizard component the transitioning order of the steps is defined a head.

    \n

    Wizard Sample

    \n

    Defining an inline content Wizard with blocks is the simplest form of using the wizard component.

    \n
    \n '),d.buffer.push(f((b["bs-wizard"]||a&&a["bs-wizard"]||e).call(a,{name:"bs-wizard",hash:{contentBinding:"steps"},hashTypes:{contentBinding:"STRING"},hashContexts:{contentBinding:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n\n
    {{bs-wizard contentBinding="steps"}}
    \n

    contentBinding="steps" defines a property named steps in the current controll that defines the wizard steps,\nHere is the current controll of this example:

    \n
    Showcase.ShowComponentsWizardController = Ember.Controller.extend({\n  init: function() {\n    this._super();\n    this.set('steps', Ember.A([\n      Ember.Object.create({title: 'Foo', template: 'tabs/foo-tabpane'}),\n      Ember.Object.create({title: 'Bar', template: 'tabs/bar-tabpane'}),\n      Ember.Object.create({title: 'Baz', template: 'tabs/baz-tabpane'})\n    ]));\n  }\n});
    \n

    Disable Step Selection

    \n

    Sometimes it makes sense to create a wizard with fixed step flow, this can be done by disabling the steps by providing disabled=true per step.

    \n

    It is also possible to disallow moving to previous step if needed.

    \n
    \n '),d.buffer.push(f((b["bs-wizard"]||a&&a["bs-wizard"]||e).call(a,{name:"bs-wizard",hash:{contentBinding:"stepsNoPrev",prevAllowed:!1},hashTypes:{contentBinding:"STRING",prevAllowed:"BOOLEAN"},hashContexts:{contentBinding:a,prevAllowed:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n
    {{bs-wizard prevAllowed=false contentBinding="stepsNoPrev"}}
    \n
    Showcase.ShowComponentsWizardController = Ember.Controller.extend({\n  init: function() {\n    this._super();\n    this.set('steps', Ember.A([\n      Ember.Object.create({title: 'Step1', template: 'tabs/foo-tabpane', disabled="true"}),\n      Ember.Object.create({title: 'Step2', template: 'tabs/bar-tabpane', disabled="true"}),\n      Ember.Object.create({title: 'Step3', template: 'tabs/baz-tabpane', disabled="true"})\n    ]));\n  }\n});
    \n

    Programatically Created Wizard

    \n

    Creating a wizard programatically should be used if rendering a Wizard is based on some action such as a button click, for example, a modal can be rendered by pressing a button that will render a Wizard within a modal as the example shown below:

    \n
    \n '),d.buffer.push(f((b["bs-button"]||a&&a["bs-button"]||e).call(a,{name:"bs-button",hash:{clicked:"createWizard",type:"primary",title:"Start Wizard"},hashTypes:{clicked:"STRING",type:"STRING",title:"STRING"},hashContexts:{clicked:a,type:a,title:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n\n
    {{bs-button title="Start Wizard" type="primary" clicked="createWizard"}}
    \n

    Controller's code:

    \n
    Showcase.ShowComponentsWizardController = Ember.Controller.extend({\n  actions: {\n    createWizard: function() {\n      var body;\n      body = Bootstrap.BsWizardComponent.extend({\n        content: [\n          Ember.Object.create({title: 'Step1', template: 'wizard/step1', disabled: true}),\n          Ember.Object.create({title: 'Step2', template: 'wizard/step2', disabled: true}),\n          Ember.Object.create({title: 'Step3', template: 'wizard/step3', disabled: true})\n        ],\n        targetObject: this,\n        onNext: "onNext",\n        onPrev: "onPrev",\n        onFinish: 'onFinish'\n      });\n      Bootstrap.ModalManager.open('manualModal', 'Wizard Title...', body, null, this);\n    },\n    onNext: function() {\n      return console.log('NEXT');\n    },\n    onPrev: function() {\n      return console.log('PREV');\n    },\n    onFinish: function() {\n      Bootstrap.ModalManager.close('manualModal');\n      return Bootstrap.NM.push('Wizard completed!');\n    }\n  }\n});
    \n

    The controller is responsible for creating the Modal and the Wizard components, our controller listens to the Wizard onFinish event and close the modal as a response plus send an application notification.

    \n'),g},useData:!0}),Ember.TEMPLATES["social-buttons"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){d.buffer.push('
    \r\n \r\n
    \r\n')},useData:!0}),Ember.TEMPLATES["tabs/bar-tabpane"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f=b.helperMissing,g=this.escapeExpression,h="";return d.buffer.push(g((b["bs-page-header"]||a&&a["bs-page-header"]||f).call(a,{name:"bs-page-header",hash:{sub:"Tab Pane Content",title:"BAR "},hashTypes:{sub:"STRING",title:"STRING"},hashContexts:{sub:a,title:a},types:[],contexts:[],data:d}))),d.buffer.push("\r\nController is: "),e=b._triageMustache.call(a,"controller",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),h},useData:!0}),Ember.TEMPLATES["tabs/baz-tabpane"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression;d.buffer.push(f((b["bs-page-header"]||a&&a["bs-page-header"]||e).call(a,{name:"bs-page-header",hash:{sub:"Tab Pane Content",title:"BAZ"},hashTypes:{sub:"STRING",title:"STRING"},hashContexts:{sub:a,title:a},types:[],contexts:[],data:d})))},useData:!0}),Ember.TEMPLATES["tabs/foo-tabpane"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f=b.helperMissing,g=this.escapeExpression,h="";return d.buffer.push(g((b["bs-page-header"]||a&&a["bs-page-header"]||f).call(a,{name:"bs-page-header",hash:{sub:"Tab Pane Content",title:"FOO"},hashTypes:{sub:"STRING",title:"STRING"},hashContexts:{sub:a,title:a},types:[],contexts:[],data:d}))),d.buffer.push("\r\nController is: "),e=b._triageMustache.call(a,"controller",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),h},useData:!0}),Ember.TEMPLATES.user=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f=b.helperMissing,g=this.escapeExpression,h="";return d.buffer.push(g((b["bs-tabs"]||a&&a["bs-tabs"]||f).call(a,{name:"bs-tabs",hash:{contentBinding:"tabsMeta"},hashTypes:{contentBinding:"STRING"},hashContexts:{contentBinding:a},types:[],contexts:[],data:d}))),d.buffer.push("\r\n\r\n"),e=b._triageMustache.call(a,"outlet",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),h},useData:!0}),Ember.TEMPLATES["user/activities"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression;d.buffer.push(f((b["bs-page-header"]||a&&a["bs-page-header"]||e).call(a,{name:"bs-page-header",hash:{sub:"User latest Activities",title:"Activities"},hashTypes:{sub:"STRING",title:"STRING"},hashContexts:{sub:a,title:a},types:[],contexts:[],data:d})))},useData:!0}),Ember.TEMPLATES["user/general"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression;d.buffer.push(f((b["bs-page-header"]||a&&a["bs-page-header"]||e).call(a,{name:"bs-page-header",hash:{sub:"User general details",title:"General"},hashTypes:{sub:"STRING",title:"STRING"},hashContexts:{sub:a,title:a},types:[],contexts:[],data:d})))},useData:!0}),Ember.TEMPLATES["user/privacy"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression;d.buffer.push(f((b["bs-page-header"]||a&&a["bs-page-header"]||e).call(a,{name:"bs-page-header",hash:{sub:"User Privacy details",title:"Privacy"},hashTypes:{sub:"STRING",title:"STRING"},hashContexts:{sub:a,title:a},types:[],contexts:[],data:d})))},useData:!0}),Ember.TEMPLATES["wizard/step1"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){d.buffer.push("

    Step1

    ")},useData:!0}),Ember.TEMPLATES["wizard/step2"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){d.buffer.push("

    Step 2

    ")},useData:!0}),Ember.TEMPLATES["wizard/step3"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){d.buffer.push("

    Step 3

    ")},useData:!0}),function(){!function(){var a,b;a=window.Bootstrap,b=window.Showcase=Ember.Application.create({LOG_TRANSITIONS:!0,LOG_VIEW_LOOKUPS:!0,LOG_ACTIVE_GENERATION:!0}),Ember.ENV={HELPER_PARAM_LOOKUPS:!0},Ember.Handlebars.registerHelper("raw",function(a){return a.fn(a)})}(),function(){(function(){Showcase.Router.map(function(){return this.resource("show_components",function(){return this.route("alert"),this.route("breadcrumbs"),this.route("modal"),this.route("label"),this.route("badge"),this.route("well"),this.route("list-group"),this.route("panel"),this.route("page-header"),this.route("button"),this.route("buttonGroup"),this.route("progressbar"),this.route("pills"),this.route("tabs"),this.route("tabs-panes"),this.route("wizard"),this.route("items_action_bar"),this.route("tabs-with-routes"),this.route("notifications"),this.route("growl-notif"),this.route("popover"),this.resource("user",function(){return this.route("general"),this.route("privacy"),this.route("activities")})})})}).call(this)}(),function(){(function(){Showcase.ApplicationRoute=Ember.Route.extend({model:function(){return[Ember.Object.create({title:"Alert",route:"show_components.alert"}),Ember.Object.create({title:"Breadcrumbs",route:"show_components.breadcrumbs","new":!0}),Ember.Object.create({title:"Modal",route:"show_components.modal"}),Ember.Object.create({title:"Label",route:"show_components.label"}),Ember.Object.create({title:"Badge",route:"show_components.badge"}),Ember.Object.create({title:"Well",route:"show_components.well"}),Ember.Object.create({title:"List Group",route:"show_components.list-group"}),Ember.Object.create({title:"Panel",route:"show_components.panel"}),Ember.Object.create({title:"Page Header",route:"show_components.page-header"}),Ember.Object.create({title:"Button",route:"show_components.button"}),Ember.Object.create({title:"Button Group",route:"show_components.buttonGroup"}),Ember.Object.create({title:"Progressbar",route:"show_components.progressbar"}),Ember.Object.create({title:"Tooltips & Popover","new":!0,route:"show_components.popover"}),Ember.Object.create({title:"Nav - Pills",route:"show_components.pills"}),Ember.Object.create({title:"Nav - Tabs",route:"show_components.tabs"}),Ember.Object.create({title:"Nav - Tabs Panes",route:"show_components.tabs-panes"}),Ember.Object.create({title:"Nav - Tabs with Routes",special:!0,route:"show_components.tabs-with-routes"}),Ember.Object.create({title:"Wizard",special:!0,route:"show_components.wizard"}),Ember.Object.create({title:"Notifications",special:!0,route:"show_components.notifications"}),Ember.Object.create({title:"Items Action Bar","new":!0,route:"show_components.items_action_bar"}),Ember.Object.create({title:"Growl Notifications",special:!0,route:"show_components.growl-notif"})]}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsPopoverRoute=Ember.Route.extend({renderTemplate:function(){var a;return this.render(),a=this.controllerFor("ShowComponentsTooltipBox"),this.render("bs-tooltip-box",{outlet:"bs-tooltip-box",controller:a,into:"application"})}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsAlertController=Ember.Controller.extend({actions:{submit:function(){return alert("Action taken by controller!")},didAlertClosed:function(){return alert("From controller: The -closed- event was triggered.")},didAlertClose:function(){return alert("From controller: The -close- event was triggered.")}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsButtonController=Ember.Controller.extend({isButtonDisabled:!1,loadingState:null,loadingState1:null,actions:{disableButton:function(){return this.set("isButtonDisabled",!0)},startLoading:function(){var a=this;return this.set("loadingState","loading"),Ember.run.later(function(){return a.set("loadingState",null)},2e3)},startLoading1:function(){var a=this;return this.set("loadingState1","loading"),Ember.run.later(function(){return a.set("loadingState1","completed")},2e3)},buttonWithParam:function(a){return alert("Passed controller as a param: "+a)}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsItemsActionBarController=Ember.Controller.extend({actionsInBar:[[{title:"To Alerts",disabled:function(a){var b;return a.size<1||"Alerts"!==(null!=a&&null!=(b=a[0])?b.title:void 0)?!0:void 0},transitionTo:"show_components.alert"},{title:"To Panels",transitionTo:"show_components.panel",disabled:function(a){var b;return a.size<1||"Panels"!==(null!=a&&null!=(b=a[0])?b.title:void 0)?!0:void 0}}],[{title:"To Wizard",disabled:function(a){var b;return a.size<1||"Wizards"!==(null!=a&&null!=(b=a[0])?b.title:void 0)?!0:void 0},clickActionName:"wizard"}]],actions:{wizard:function(){return alert("Wizard pressed!")}},items:[Ember.Object.create({title:"Alerts"}),Ember.Object.create({title:"Panels"}),Ember.Object.create({title:"Wizards"})]})}).call(this)}(),function(){(function(){Showcase.ShowComponentsPanelController=Ember.Controller.extend({actions:{panelClicked:function(){return alert("Hello from controller: A click in a panel!")},panelClosed:function(){return alert("Hello from controller: The panel was closed!")}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsPopoverController=Ember.Controller.extend({testObject:Ember.Object.createWithMixins({sticky:function(){return Ember.Object.create({user:this,content:"know this is a sticky tooltip! You can hover over it.",trigger:"hover",sticky:!0})}.property()}),user:Ember.Object.create({firstNameBinding:"content.name",title:"rename",template:'name: {{input type="text" value=content.name}}',content:{name:"John"},trigger:"hover",sticky:!0}),hoverPop:Ember.Object.create({title:"I'm a title!",content:"And i'm a content!",trigger:"hover",placement:"right",sticky:!0}),clickPop:Ember.Object.create({title:"Clickable!",content:"

    Hello

    This is a clickable popover with html content!",placement:"left",html:!0}),templPop:Ember.Object.create({firstName:"numbers",title:"Popover with Template",template:"numbers:
      {{#each val in content.numbers}}
    • {{val}}
    • {{/each}}
    ",content:{numbers:[1,2,3]}})})}).call(this)}(),function(){(function(){Showcase.ShowComponentsProgressbarController=Ember.Controller.extend({prog:0,incrementBy:20,actions:{increment:function(){return this.prog<100?this.incrementProperty("prog",this.incrementBy):this.set("prog",this.incrementBy)}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsTooltipBoxController=Bootstrap.TooltipBoxController}).call(this)}(),function(){(function(){Showcase.ShowComponentsWellController=Ember.Controller.extend({wellClick:function(){return alert("Hello from controller: A click in a well!")}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsButtonGroupController=Ember.Controller.extend({options:["Home","Profile","Messages"],options2:["Admin","Settings"],optionsWithMeta:[Ember.Object.create({title:"Create",type:"primary"}),Ember.Object.create({title:"Destroy",type:"danger"})]})}).call(this)}(),function(){(function(){Showcase.ShowComponentsPillsController=Ember.Controller.extend({content:["Home","Profile","Messages"],init:function(){return this._super(),this.set("content1",Ember.A([Ember.Object.create({title:"Home","default":!0,disabled:!1}),Ember.Object.create({title:"Admin",disabled:!0})])),this.set("selected1",this.get("content1").objectAt(0))},contentChanged:function(){return console.log("Selection has changed to: "+this.get("selected"))}.observes("selected"),actions:{disableHome:function(){return this.get("content1").objectAt(0).set("disabled",!0)}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsGrowlNotifController=Ember.Controller.extend({actions:{pushInfo:function(){return Bootstrap.GNM.push("INFO!","Hello, this is just an info message.","info")},pushSuccess:function(){return Bootstrap.GNM.push("SUCCESS!","Successfully performed operation!","success")},pushWarn:function(){return Bootstrap.GNM.push("WARN!","Could not perform operation!","warning")},pushDanger:function(){return Bootstrap.GNM.push("Danger!","System is halting!","danger")}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsListGroupController=Ember.Controller.extend({listSimple:Ember.A(["Cras justo odio","Dapibus ac facilisis in","Morbi leo risus"]),listWithBadges:Ember.A([Ember.Object.create({title:"Inbox",badge:"45"}),Ember.Object.create({title:"Sent",badge:"33"})]),listWithSub:Ember.A([Ember.Object.create({title:"Inbox",sub:"Incoming mails folder",badge:"45"}),Ember.Object.create({title:"Sent",sub:"Sent emails folder",badge:"33"})])})}).call(this)}(),function(){(function(){Showcase.ShowComponentsModalController=Ember.Controller.extend({message:"Welcome to Bootstrap for Ember..!",myModalButtons:[Ember.Object.create({title:"Submit",clicked:"submit"}),Ember.Object.create({title:"Cancel",clicked:"cancel",dismiss:"modal"})],manualButtons:[Ember.Object.create({title:"Submit",clicked:"submitManual"}),Ember.Object.create({title:"Cancel",dismiss:"modal"})],actions:{submit:function(){return Bootstrap.NM.push("Successfully submitted modal","success"),Bootstrap.ModalManager.hide("myModal")},cancel:function(){return Bootstrap.NM.push("Modal was cancelled","info")},show:function(){return Bootstrap.ModalManager.show("myModal")},submitManual:function(){return Bootstrap.NM.push("Modal destroyed!","success"),Bootstrap.ModalManager.close("manualModal")},createModalProgramatically:function(){var a;return a=Ember.View.extend({template:Ember.Handlebars.compile("This is a programatic ")}),Bootstrap.ModalManager.open("manualModal","Hello","demo-template",this.manualButtons,this)},confirm:function(){return Bootstrap.ModalManager.confirm(this)},modalConfirmed:function(){return Bootstrap.NM.push("Confirmed!","success")},modalCanceled:function(){return Bootstrap.NM.push("Cancelled!","info")}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsNotificationsController=Ember.Controller.extend({actions:{pushInfo:function(){return Bootstrap.NM.push("Hello, this is just an info message.","info")},pushWarn:function(){return Bootstrap.NM.push("Could not perform operation!","warning")},pushSuccess:function(){return Bootstrap.NM.push("Successfully performed operation!","success")},pushDanger:function(){return Bootstrap.NM.push("Danger! system is halting!","danger")}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsTabsController=Ember.Controller.extend({content:["Home","Profile","Messages"],init:function(){return this._super(),this.set("selected","Home"),this.set("tabsPanesOptions",Ember.A([Ember.Object.create({title:"Foo",template:"tabs/foo-tabpane"}),Ember.Object.create({title:"Bar",template:"tabs/bar-tabpane"})]))}})}).call(this)}(),function(){(function(){Showcase.ShowcaseComponentsTabsFooController=Ember.Controller.extend()}).call(this)}(),function(){(function(){Showcase.ShowComponentsTabsPanesController=Ember.Controller.extend({tabsMeta:Ember.A([Ember.Object.create({title:"Foo",template:"tabs/foo-tabpane",controller:"ShowcaseComponentsTabsFoo"}),Ember.Object.create({title:"Bar",template:"tabs/bar-tabpane"})])})}).call(this)}(),function(){(function(){Showcase.ShowComponentsWizardController=Ember.Controller.extend({init:function(){return this._super(),this.set("steps",Ember.A([Ember.Object.create({title:"Foo",template:"tabs/foo-tabpane"}),Ember.Object.create({title:"Bar",template:"tabs/bar-tabpane"}),Ember.Object.create({title:"Baz",template:"tabs/baz-tabpane"})])),this.set("stepsNoPrev",Ember.A([Ember.Object.create({title:"Step1",template:"tabs/foo-tabpane",disabled:!0}),Ember.Object.create({title:"Step2",template:"tabs/bar-tabpane",disabled:!0}),Ember.Object.create({title:"Step3",template:"tabs/baz-tabpane",disabled:!0})]))},actions:{createWizard:function(){var a;return a=Bootstrap.BsWizardComponent.extend({content:[Ember.Object.create({title:"Step1",template:"wizard/step1",disabled:!0}),Ember.Object.create({title:"Step2",template:"wizard/step2",disabled:!0}),Ember.Object.create({title:"Step3",template:"wizard/step3",disabled:!0})],targetObject:this,onNext:"onNext",onPrev:"onPrev",onFinish:"onFinish"}),Bootstrap.ModalManager.open("manualModal","Wizard Title...",a,null,this)},onNext:function(){return console.log("NEXT")},onPrev:function(){return console.log("PREV")},onFinish:function(){return Bootstrap.ModalManager.close("manualModal"),Bootstrap.NM.push("Wizard completed!")}}})}).call(this)}(),function(){(function(){Showcase.UserController=Ember.Controller.extend({tabsMeta:[Ember.Object.create({title:"General",linkTo:"user.general"}),Ember.Object.create({title:"Privacy",linkTo:"user.privacy"}),Ember.Object.create({title:"Activities",linkTo:"user.activities"})]})}).call(this)}(),function(){}.call(this)}(); \ No newline at end of file From 12683a9c9e93f9cb1a37ab83c0a1f6b3bdeb6e7a Mon Sep 17 00:00:00 2001 From: danshapir Date: Sun, 22 Feb 2015 22:40:11 +0200 Subject: [PATCH 10/24] Fix indent --- app/scripts/components/BsModalComponent.coffee | 4 ++-- dist/js/bs-modal.max.js | 13 ++++++------- dist/js/bs-modal.min.js | 2 +- 3 files changed, 9 insertions(+), 10 deletions(-) diff --git a/app/scripts/components/BsModalComponent.coffee b/app/scripts/components/BsModalComponent.coffee index 8cd130a..b097c19 100644 --- a/app/scripts/components/BsModalComponent.coffee +++ b/app/scripts/components/BsModalComponent.coffee @@ -238,5 +238,5 @@ Bootstrap.ModalManager = Ember.Object.create( Ember.Application.initializer name: 'bs-modal' initialize: (container, application) -> - Ember.$(window).resize(Bootstrap.adjustModalMaxHeightAndPosition).trigger "resize" if Ember.$(window).height() >= 320 - container.register "component:bs-modal", Bootstrap.BsModalComponent \ No newline at end of file + Ember.$(window).resize(Bootstrap.adjustModalMaxHeightAndPosition).trigger "resize" if Ember.$(window).height() >= 320 + container.register "component:bs-modal", Bootstrap.BsModalComponent \ No newline at end of file diff --git a/dist/js/bs-modal.max.js b/dist/js/bs-modal.max.js index 87f0062..3c875ff 100644 --- a/dist/js/bs-modal.max.js +++ b/dist/js/bs-modal.max.js @@ -332,15 +332,14 @@ Modal component. Ember.Application.initializer({ name: 'bs-modal', - initialize: function(container, application) {} + initialize: function(container, application) { + if (Ember.$(window).height() >= 320) { + Ember.$(window).resize(Bootstrap.adjustModalMaxHeightAndPosition).trigger("resize"); + } + return container.register("component:bs-modal", Bootstrap.BsModalComponent); + } }); - if (Ember.$(window).height() >= 320) { - Ember.$(window).resize(Bootstrap.adjustModalMaxHeightAndPosition).trigger("resize"); - } - - container.register("component:bs-modal", Bootstrap.BsModalComponent); - }).call(this); Ember.TEMPLATES["components/bs-modal"] = Ember.HTMLBars.template((function() { diff --git a/dist/js/bs-modal.min.js b/dist/js/bs-modal.min.js index cc6b117..eef13d5 100644 --- a/dist/js/bs-modal.min.js +++ b/dist/js/bs-modal.min.js @@ -1 +1 @@ -(function(){Bootstrap.adjustModalMaxHeightAndPosition=function(){return console.log("adju"),Ember.$(".modal").each(function(){var a,b,c;return Ember.$(this).hasClass("in")===!1&&Ember.$(this).show(),a=Ember.$(window).height()-60,c=Ember.$(this).find(".modal-header").outerHeight()||2,b=Ember.$(this).find(".modal-footer").outerHeight()||2,Ember.$(this).find(".modal-content").css({"max-height":function(){return a}}),Ember.$(this).find(".modal-body").css({"max-height":function(){return a-(c+b)}}),Ember.$(this).find(".modal-dialog").addClass("modal-dialog-center").css({"margin-top":function(){return-(Ember.$(this).outerHeight()/2)},"margin-left":function(){return-(Ember.$(this).outerWidth()/2)}}),Ember.$(this).hasClass("in")===!1?Ember.$(this).hide():void 0})},Bootstrap.BsModalComponent=Ember.Component.extend(Ember.Evented,{layoutName:"components/bs-modal",classNames:["modal"],classNameBindings:["fade","isVis:in"],attributeBindings:["role","aria-labelledby","isAriaHidden:aria-hidden","ariaLabelledBy:aria-labelledby"],isAriaHidden:function(){return""+this.get("isVisible")}.property("isVisible"),modalBackdrop:'',role:"dialog",footerViews:[],backdrop:!0,title:null,isVisible:!1,manual:!1,isVis:!1,fullSizeButtons:!1,fade:!0,didInsertElement:function(){var a;return this._super(),this.setupBinders(),a=this.get("name"),Ember.assert("Modal name is required for modal view "+this.get("elementId"),this.get("name")),null==a&&(a=this.get("elementId")),Bootstrap.ModalManager.add(a,this),this.manual?this.show():void 0},becameVisible:function(){return Em.$("body").addClass("modal-open"),this.get("backdrop")?this.appendBackdrop():void 0},becameHidden:function(){return Em.$("body").removeClass("modal-open"),this._backdrop?this._backdrop.remove():void 0},appendBackdrop:function(){var a;return a=this.$().parent(),this._backdrop=Em.$(this.modalBackdrop).appendTo(a)},show:function(){var a;this.set("isVisible",!0),a=this,setTimeout(function(){a.set("isVis",!0)},15)},hide:function(){var a;return this.set("isVis",!1),a=this,this.$().one("webkitTransitionEnd",function(){a.set("isVisible",!1)}),!1},toggle:function(){return this.toggleProperty("isVisible")},click:function(a){var b,c;return b=a.target,c=b.getAttribute("data-dismiss"),"modal"===c?this.close():void 0},keyPressed:function(a){return 27===a.keyCode?this.close(a):void 0},close:function(){var a;return this.set("isVis",!1),a=this,this.$().one("webkitTransitionEnd",function(){a.get("manual")?a.destroy():a.hide()}),this.trigger("closed")},willDestroyElement:function(){var a;return Em.$("body").removeClass("modal-open"),this.removeHandlers(),a=this.get("name"),null==a&&(a=this.get("elementId")),Bootstrap.ModalManager.remove(a,this),this._backdrop?this._backdrop.remove():void 0},removeHandlers:function(){return jQuery(window.document).unbind("keyup",this._keyUpHandler)},setupBinders:function(){var a,b=this;return a=function(a){return b.keyPressed(a)},jQuery(window.document).bind("keyup",a),this._keyUpHandler=a}}),Bootstrap.ModalManager=Ember.Object.create({add:function(a,b){return this.set(a,b)},register:function(a,b){return this.add(a,b),b.appendTo(b.get("targetObject").namespace.rootElement)},remove:function(a){return this.set(a,null)},close:function(a){return this.get(a).close()},hide:function(a){return this.get(a).hide()},show:function(a){return this.get(a).show()},toggle:function(a){return this.get(a).toggle()},confirm:function(a,b,c,d,e,f,g,h,i,j){var k,l;return null==e&&(e="Confirm"),null==f&&(f="modalConfirmed"),null==g&&(g=null),null==h&&(h="Cancel"),null==i&&(i="modalCanceled"),null==j&&(j=null),k=Ember.View.extend({template:Ember.Handlebars.compile(c||"Are you sure you would like to perform this action?")}),l=[Ember.Object.create({title:e,clicked:f,type:g,dismiss:"modal"}),Ember.Object.create({title:h,clicked:i,type:j,dismiss:"modal"})],this.open("confirm-modal",b||"Confirmation required!",k,l,a,d)},okModal:function(a,b,c,d,e,f,g){var h,i;return null==d&&(d="OK"),null==e&&(e="okModal"),null==f&&(f=null),h=Ember.View.extend({template:Ember.Handlebars.compile(c||"Are you sure you would like to perform this action?")}),i=[Ember.Object.create({title:d,clicked:e,type:f,dismiss:"modal"})],this.open("ok-modal",b||"Confirmation required!",h,i,a,g)},openModal:function(a,b){var c,d;return null==b&&(b={}),d=b.rootElement||".ember-application",c=a.create(b),c.appendTo(d)},openManual:function(a,b,c,d,e,f){var g;return g=Ember.View.extend({template:Ember.Handlebars.compile(c),controller:e}),this.open(a,b,g,d,e,f)},open:function(a,b,c,d,e,f){var g,h,i;return g=void 0,h=void 0,i=void 0,null==f&&(f={}),null==f.fade&&(f.fade=this.get("fade")),null==f.fullSizeButtons&&(f.fullSizeButtons=this.get("fullSizeButtons")),null==f.targetObj&&(f.targetObj=e),null==f.vertical&&(f.vertical=this.get("vertical")),g=e.container.lookup("component-lookup:main"),h=g.lookupFactory("bs-modal",e.get("container")).create(),h.setProperties,{name:a,title:b,manual:!0,footerButtons:d,targetObject:f.targetObj,fade:f.fade,fullSizeButtons:f.fullSizeButtons,vertical:f.vertical},"string"===Ember.typeOf(c)?(i=e.container.lookup("template:"+c),Ember.assert("Template "+c+" was specified for Modal but template could not be found.",i),i&&h.setProperties({body:Ember.View.extend({template:i,controller:e})})):"class"===Ember.typeOf(c)&&h.setProperties({body:c,controller:e}),h.appendTo(e.namespace.rootElement)},fade:!0,fullSizeButtons:!1,vertical:!1}),Ember.Application.initializer({name:"bs-modal",initialize:function(){}}),Ember.$(window).height()>=320&&Ember.$(window).resize(Bootstrap.adjustModalMaxHeightAndPosition).trigger("resize"),container.register("component:bs-modal",Bootstrap.BsModalComponent)}).call(this),Ember.TEMPLATES["components/bs-modal"]=Ember.HTMLBars.template(function(){var a=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createElement("i");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.element;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.childAt(g,[1]);return f(b,h,a,"bind-attr",[],{"class":"titleIconClasses"}),g}}}(),b=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,0,1,c);return g(b,i,a,"view",[f(b,a,"view.body")],{}),h}}}(),c=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.content;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.createMorphAt(g,0,1,c);return f(b,h,a,"yield"),g}}}(),d=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,0,1,c);return g(b,i,a,"bs-button",[],{content:f(b,a,"this"),targetObjectBinding:"view.targetObject"}),h}}}(),e=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,0,1,c);return g(b,i,a,"view",[f(b,a,"this")],{}),h}}}();return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createElement("div");a.setAttribute(b,"class","modal-dialog");var c=a.createTextNode("\n ");a.appendChild(b,c);var c=a.createElement("div");a.setAttribute(c,"class","modal-content");var d=a.createTextNode("\n ");a.appendChild(c,d);var d=a.createElement("div");a.setAttribute(d,"class","modal-header");var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("button");a.setAttribute(e,"type","button"),a.setAttribute(e,"data-dismiss","modal"),a.setAttribute(e,"aria-hidden","true");var f=a.createTextNode("×");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("h4");a.setAttribute(e,"class","modal-title");var f=a.createTextNode("\n");a.appendChild(e,f);var f=a.createTextNode(" ");a.appendChild(e,f);var f=a.createTextNode("\n ");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e),a.appendChild(c,d);var d=a.createTextNode("\n ");a.appendChild(c,d);var d=a.createElement("div");a.setAttribute(d,"class","modal-body");var e=a.createTextNode("\n");a.appendChild(d,e);var e=a.createTextNode(" ");a.appendChild(d,e),a.appendChild(c,d);var d=a.createTextNode("\n ");a.appendChild(c,d);var d=a.createElement("div"),e=a.createTextNode("\n");a.appendChild(d,e);var e=a.createTextNode("");a.appendChild(d,e);var e=a.createTextNode(" ");a.appendChild(d,e),a.appendChild(c,d);var d=a.createTextNode("\n ");a.appendChild(c,d),a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(f,g,h){var i=g.dom,j=g.hooks,k=j.element,l=j.get,m=j.block,n=j.content;i.detectNamespace(h);var o;g.useFragmentCache&&i.canClone?(null===this.cachedFragment&&(o=this.build(i),this.hasRendered?this.cachedFragment=o:this.hasRendered=!0),this.cachedFragment&&(o=i.cloneNode(this.cachedFragment,!0))):o=this.build(i);var p=i.childAt(o,[1]),q=i.childAt(p,[1]),r=i.childAt(q,[1]),s=i.childAt(q,[3]),t=i.childAt(p,[5]);this.cachedFragment&&i.repairClonedNode(t,[1]);var u=i.createMorphAt(s,0,1),v=i.createUnsafeMorphAt(s,1,2),w=i.createMorphAt(i.childAt(p,[3]),0,1),x=i.createMorphAt(t,0,1),y=i.createMorphAt(t,1,2);return k(g,r,f,"bind-attr",[],{"class":":close allowClose::hide"}),m(g,u,f,"if",[l(g,f,"titleIconClasses")],{},a,null),n(g,v,f,"title"),m(g,w,f,"if",[l(g,f,"body")],{},b,c),k(g,t,f,"bind-attr",[],{"class":":modal-footer fullSizeButtons:modal-footer-full"}),m(g,x,f,"each",[l(g,f,"footerButtons")],{},d,null),m(g,y,f,"each",[l(g,f,"footerViews")],{},e,null),o}}}()); \ No newline at end of file +(function(){Bootstrap.adjustModalMaxHeightAndPosition=function(){return console.log("adju"),Ember.$(".modal").each(function(){var a,b,c;return Ember.$(this).hasClass("in")===!1&&Ember.$(this).show(),a=Ember.$(window).height()-60,c=Ember.$(this).find(".modal-header").outerHeight()||2,b=Ember.$(this).find(".modal-footer").outerHeight()||2,Ember.$(this).find(".modal-content").css({"max-height":function(){return a}}),Ember.$(this).find(".modal-body").css({"max-height":function(){return a-(c+b)}}),Ember.$(this).find(".modal-dialog").addClass("modal-dialog-center").css({"margin-top":function(){return-(Ember.$(this).outerHeight()/2)},"margin-left":function(){return-(Ember.$(this).outerWidth()/2)}}),Ember.$(this).hasClass("in")===!1?Ember.$(this).hide():void 0})},Bootstrap.BsModalComponent=Ember.Component.extend(Ember.Evented,{layoutName:"components/bs-modal",classNames:["modal"],classNameBindings:["fade","isVis:in"],attributeBindings:["role","aria-labelledby","isAriaHidden:aria-hidden","ariaLabelledBy:aria-labelledby"],isAriaHidden:function(){return""+this.get("isVisible")}.property("isVisible"),modalBackdrop:'',role:"dialog",footerViews:[],backdrop:!0,title:null,isVisible:!1,manual:!1,isVis:!1,fullSizeButtons:!1,fade:!0,didInsertElement:function(){var a;return this._super(),this.setupBinders(),a=this.get("name"),Ember.assert("Modal name is required for modal view "+this.get("elementId"),this.get("name")),null==a&&(a=this.get("elementId")),Bootstrap.ModalManager.add(a,this),this.manual?this.show():void 0},becameVisible:function(){return Em.$("body").addClass("modal-open"),this.get("backdrop")?this.appendBackdrop():void 0},becameHidden:function(){return Em.$("body").removeClass("modal-open"),this._backdrop?this._backdrop.remove():void 0},appendBackdrop:function(){var a;return a=this.$().parent(),this._backdrop=Em.$(this.modalBackdrop).appendTo(a)},show:function(){var a;this.set("isVisible",!0),a=this,setTimeout(function(){a.set("isVis",!0)},15)},hide:function(){var a;return this.set("isVis",!1),a=this,this.$().one("webkitTransitionEnd",function(){a.set("isVisible",!1)}),!1},toggle:function(){return this.toggleProperty("isVisible")},click:function(a){var b,c;return b=a.target,c=b.getAttribute("data-dismiss"),"modal"===c?this.close():void 0},keyPressed:function(a){return 27===a.keyCode?this.close(a):void 0},close:function(){var a;return this.set("isVis",!1),a=this,this.$().one("webkitTransitionEnd",function(){a.get("manual")?a.destroy():a.hide()}),this.trigger("closed")},willDestroyElement:function(){var a;return Em.$("body").removeClass("modal-open"),this.removeHandlers(),a=this.get("name"),null==a&&(a=this.get("elementId")),Bootstrap.ModalManager.remove(a,this),this._backdrop?this._backdrop.remove():void 0},removeHandlers:function(){return jQuery(window.document).unbind("keyup",this._keyUpHandler)},setupBinders:function(){var a,b=this;return a=function(a){return b.keyPressed(a)},jQuery(window.document).bind("keyup",a),this._keyUpHandler=a}}),Bootstrap.ModalManager=Ember.Object.create({add:function(a,b){return this.set(a,b)},register:function(a,b){return this.add(a,b),b.appendTo(b.get("targetObject").namespace.rootElement)},remove:function(a){return this.set(a,null)},close:function(a){return this.get(a).close()},hide:function(a){return this.get(a).hide()},show:function(a){return this.get(a).show()},toggle:function(a){return this.get(a).toggle()},confirm:function(a,b,c,d,e,f,g,h,i,j){var k,l;return null==e&&(e="Confirm"),null==f&&(f="modalConfirmed"),null==g&&(g=null),null==h&&(h="Cancel"),null==i&&(i="modalCanceled"),null==j&&(j=null),k=Ember.View.extend({template:Ember.Handlebars.compile(c||"Are you sure you would like to perform this action?")}),l=[Ember.Object.create({title:e,clicked:f,type:g,dismiss:"modal"}),Ember.Object.create({title:h,clicked:i,type:j,dismiss:"modal"})],this.open("confirm-modal",b||"Confirmation required!",k,l,a,d)},okModal:function(a,b,c,d,e,f,g){var h,i;return null==d&&(d="OK"),null==e&&(e="okModal"),null==f&&(f=null),h=Ember.View.extend({template:Ember.Handlebars.compile(c||"Are you sure you would like to perform this action?")}),i=[Ember.Object.create({title:d,clicked:e,type:f,dismiss:"modal"})],this.open("ok-modal",b||"Confirmation required!",h,i,a,g)},openModal:function(a,b){var c,d;return null==b&&(b={}),d=b.rootElement||".ember-application",c=a.create(b),c.appendTo(d)},openManual:function(a,b,c,d,e,f){var g;return g=Ember.View.extend({template:Ember.Handlebars.compile(c),controller:e}),this.open(a,b,g,d,e,f)},open:function(a,b,c,d,e,f){var g,h,i;return g=void 0,h=void 0,i=void 0,null==f&&(f={}),null==f.fade&&(f.fade=this.get("fade")),null==f.fullSizeButtons&&(f.fullSizeButtons=this.get("fullSizeButtons")),null==f.targetObj&&(f.targetObj=e),null==f.vertical&&(f.vertical=this.get("vertical")),g=e.container.lookup("component-lookup:main"),h=g.lookupFactory("bs-modal",e.get("container")).create(),h.setProperties,{name:a,title:b,manual:!0,footerButtons:d,targetObject:f.targetObj,fade:f.fade,fullSizeButtons:f.fullSizeButtons,vertical:f.vertical},"string"===Ember.typeOf(c)?(i=e.container.lookup("template:"+c),Ember.assert("Template "+c+" was specified for Modal but template could not be found.",i),i&&h.setProperties({body:Ember.View.extend({template:i,controller:e})})):"class"===Ember.typeOf(c)&&h.setProperties({body:c,controller:e}),h.appendTo(e.namespace.rootElement)},fade:!0,fullSizeButtons:!1,vertical:!1}),Ember.Application.initializer({name:"bs-modal",initialize:function(a){return Ember.$(window).height()>=320&&Ember.$(window).resize(Bootstrap.adjustModalMaxHeightAndPosition).trigger("resize"),a.register("component:bs-modal",Bootstrap.BsModalComponent)}})}).call(this),Ember.TEMPLATES["components/bs-modal"]=Ember.HTMLBars.template(function(){var a=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createElement("i");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.element;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.childAt(g,[1]);return f(b,h,a,"bind-attr",[],{"class":"titleIconClasses"}),g}}}(),b=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,0,1,c);return g(b,i,a,"view",[f(b,a,"view.body")],{}),h}}}(),c=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.content;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.createMorphAt(g,0,1,c);return f(b,h,a,"yield"),g}}}(),d=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,0,1,c);return g(b,i,a,"bs-button",[],{content:f(b,a,"this"),targetObjectBinding:"view.targetObject"}),h}}}(),e=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,0,1,c);return g(b,i,a,"view",[f(b,a,"this")],{}),h}}}();return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createElement("div");a.setAttribute(b,"class","modal-dialog");var c=a.createTextNode("\n ");a.appendChild(b,c);var c=a.createElement("div");a.setAttribute(c,"class","modal-content");var d=a.createTextNode("\n ");a.appendChild(c,d);var d=a.createElement("div");a.setAttribute(d,"class","modal-header");var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("button");a.setAttribute(e,"type","button"),a.setAttribute(e,"data-dismiss","modal"),a.setAttribute(e,"aria-hidden","true");var f=a.createTextNode("×");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("h4");a.setAttribute(e,"class","modal-title");var f=a.createTextNode("\n");a.appendChild(e,f);var f=a.createTextNode(" ");a.appendChild(e,f);var f=a.createTextNode("\n ");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e),a.appendChild(c,d);var d=a.createTextNode("\n ");a.appendChild(c,d);var d=a.createElement("div");a.setAttribute(d,"class","modal-body");var e=a.createTextNode("\n");a.appendChild(d,e);var e=a.createTextNode(" ");a.appendChild(d,e),a.appendChild(c,d);var d=a.createTextNode("\n ");a.appendChild(c,d);var d=a.createElement("div"),e=a.createTextNode("\n");a.appendChild(d,e);var e=a.createTextNode("");a.appendChild(d,e);var e=a.createTextNode(" ");a.appendChild(d,e),a.appendChild(c,d);var d=a.createTextNode("\n ");a.appendChild(c,d),a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(f,g,h){var i=g.dom,j=g.hooks,k=j.element,l=j.get,m=j.block,n=j.content;i.detectNamespace(h);var o;g.useFragmentCache&&i.canClone?(null===this.cachedFragment&&(o=this.build(i),this.hasRendered?this.cachedFragment=o:this.hasRendered=!0),this.cachedFragment&&(o=i.cloneNode(this.cachedFragment,!0))):o=this.build(i);var p=i.childAt(o,[1]),q=i.childAt(p,[1]),r=i.childAt(q,[1]),s=i.childAt(q,[3]),t=i.childAt(p,[5]);this.cachedFragment&&i.repairClonedNode(t,[1]);var u=i.createMorphAt(s,0,1),v=i.createUnsafeMorphAt(s,1,2),w=i.createMorphAt(i.childAt(p,[3]),0,1),x=i.createMorphAt(t,0,1),y=i.createMorphAt(t,1,2);return k(g,r,f,"bind-attr",[],{"class":":close allowClose::hide"}),m(g,u,f,"if",[l(g,f,"titleIconClasses")],{},a,null),n(g,v,f,"title"),m(g,w,f,"if",[l(g,f,"body")],{},b,c),k(g,t,f,"bind-attr",[],{"class":":modal-footer fullSizeButtons:modal-footer-full"}),m(g,x,f,"each",[l(g,f,"footerButtons")],{},d,null),m(g,y,f,"each",[l(g,f,"footerViews")],{},e,null),o}}}()); \ No newline at end of file From 7185cccf18ab781e1f1f0ba056833a4540c374c2 Mon Sep 17 00:00:00 2001 From: danshapir Date: Sun, 22 Feb 2015 23:00:25 +0200 Subject: [PATCH 11/24] Fix indent --- app/scripts/components/BsModalComponent.coffee | 17 ++++++++--------- dist/js/bs-modal.max.js | 4 +--- dist/js/bs-modal.min.js | 2 +- 3 files changed, 10 insertions(+), 13 deletions(-) diff --git a/app/scripts/components/BsModalComponent.coffee b/app/scripts/components/BsModalComponent.coffee index b097c19..aaf3ffa 100644 --- a/app/scripts/components/BsModalComponent.coffee +++ b/app/scripts/components/BsModalComponent.coffee @@ -3,7 +3,6 @@ Modal component. ### Bootstrap.adjustModalMaxHeightAndPosition = -> - console.log "adju" Ember.$(".modal").each -> Ember.$(this).show() if Ember.$(this).hasClass("in") is false contentHeight = Ember.$(window).height() - 60 @@ -206,14 +205,14 @@ Bootstrap.ModalManager = Ember.Object.create( cl = controller.container.lookup("component-lookup:main") modalComponent = cl.lookupFactory("bs-modal", controller.get("container")).create() modalComponent.setProperties - name: name - title: title - manual: true - footerButtons: footerButtons - targetObject: options.targetObj - fade: options.fade - fullSizeButtons: options.fullSizeButtons - vertical: options.vertical + name: name + title: title + manual: true + footerButtons: footerButtons + targetObject: options.targetObj + fade: options.fade + fullSizeButtons: options.fullSizeButtons + vertical: options.vertical if Ember.typeOf(view) is "string" template = controller.container.lookup("template:" + view) diff --git a/dist/js/bs-modal.max.js b/dist/js/bs-modal.max.js index 3c875ff..60c0531 100644 --- a/dist/js/bs-modal.max.js +++ b/dist/js/bs-modal.max.js @@ -5,7 +5,6 @@ Modal component. (function() { Bootstrap.adjustModalMaxHeightAndPosition = function() { - console.log("adju"); return Ember.$(".modal").each(function() { var contentHeight, footerHeight, headerHeight; if (Ember.$(this).hasClass("in") === false) { @@ -295,8 +294,7 @@ Modal component. } cl = controller.container.lookup("component-lookup:main"); modalComponent = cl.lookupFactory("bs-modal", controller.get("container")).create(); - modalComponent.setProperties; - ({ + modalComponent.setProperties({ name: name, title: title, manual: true, diff --git a/dist/js/bs-modal.min.js b/dist/js/bs-modal.min.js index eef13d5..78c0962 100644 --- a/dist/js/bs-modal.min.js +++ b/dist/js/bs-modal.min.js @@ -1 +1 @@ -(function(){Bootstrap.adjustModalMaxHeightAndPosition=function(){return console.log("adju"),Ember.$(".modal").each(function(){var a,b,c;return Ember.$(this).hasClass("in")===!1&&Ember.$(this).show(),a=Ember.$(window).height()-60,c=Ember.$(this).find(".modal-header").outerHeight()||2,b=Ember.$(this).find(".modal-footer").outerHeight()||2,Ember.$(this).find(".modal-content").css({"max-height":function(){return a}}),Ember.$(this).find(".modal-body").css({"max-height":function(){return a-(c+b)}}),Ember.$(this).find(".modal-dialog").addClass("modal-dialog-center").css({"margin-top":function(){return-(Ember.$(this).outerHeight()/2)},"margin-left":function(){return-(Ember.$(this).outerWidth()/2)}}),Ember.$(this).hasClass("in")===!1?Ember.$(this).hide():void 0})},Bootstrap.BsModalComponent=Ember.Component.extend(Ember.Evented,{layoutName:"components/bs-modal",classNames:["modal"],classNameBindings:["fade","isVis:in"],attributeBindings:["role","aria-labelledby","isAriaHidden:aria-hidden","ariaLabelledBy:aria-labelledby"],isAriaHidden:function(){return""+this.get("isVisible")}.property("isVisible"),modalBackdrop:'',role:"dialog",footerViews:[],backdrop:!0,title:null,isVisible:!1,manual:!1,isVis:!1,fullSizeButtons:!1,fade:!0,didInsertElement:function(){var a;return this._super(),this.setupBinders(),a=this.get("name"),Ember.assert("Modal name is required for modal view "+this.get("elementId"),this.get("name")),null==a&&(a=this.get("elementId")),Bootstrap.ModalManager.add(a,this),this.manual?this.show():void 0},becameVisible:function(){return Em.$("body").addClass("modal-open"),this.get("backdrop")?this.appendBackdrop():void 0},becameHidden:function(){return Em.$("body").removeClass("modal-open"),this._backdrop?this._backdrop.remove():void 0},appendBackdrop:function(){var a;return a=this.$().parent(),this._backdrop=Em.$(this.modalBackdrop).appendTo(a)},show:function(){var a;this.set("isVisible",!0),a=this,setTimeout(function(){a.set("isVis",!0)},15)},hide:function(){var a;return this.set("isVis",!1),a=this,this.$().one("webkitTransitionEnd",function(){a.set("isVisible",!1)}),!1},toggle:function(){return this.toggleProperty("isVisible")},click:function(a){var b,c;return b=a.target,c=b.getAttribute("data-dismiss"),"modal"===c?this.close():void 0},keyPressed:function(a){return 27===a.keyCode?this.close(a):void 0},close:function(){var a;return this.set("isVis",!1),a=this,this.$().one("webkitTransitionEnd",function(){a.get("manual")?a.destroy():a.hide()}),this.trigger("closed")},willDestroyElement:function(){var a;return Em.$("body").removeClass("modal-open"),this.removeHandlers(),a=this.get("name"),null==a&&(a=this.get("elementId")),Bootstrap.ModalManager.remove(a,this),this._backdrop?this._backdrop.remove():void 0},removeHandlers:function(){return jQuery(window.document).unbind("keyup",this._keyUpHandler)},setupBinders:function(){var a,b=this;return a=function(a){return b.keyPressed(a)},jQuery(window.document).bind("keyup",a),this._keyUpHandler=a}}),Bootstrap.ModalManager=Ember.Object.create({add:function(a,b){return this.set(a,b)},register:function(a,b){return this.add(a,b),b.appendTo(b.get("targetObject").namespace.rootElement)},remove:function(a){return this.set(a,null)},close:function(a){return this.get(a).close()},hide:function(a){return this.get(a).hide()},show:function(a){return this.get(a).show()},toggle:function(a){return this.get(a).toggle()},confirm:function(a,b,c,d,e,f,g,h,i,j){var k,l;return null==e&&(e="Confirm"),null==f&&(f="modalConfirmed"),null==g&&(g=null),null==h&&(h="Cancel"),null==i&&(i="modalCanceled"),null==j&&(j=null),k=Ember.View.extend({template:Ember.Handlebars.compile(c||"Are you sure you would like to perform this action?")}),l=[Ember.Object.create({title:e,clicked:f,type:g,dismiss:"modal"}),Ember.Object.create({title:h,clicked:i,type:j,dismiss:"modal"})],this.open("confirm-modal",b||"Confirmation required!",k,l,a,d)},okModal:function(a,b,c,d,e,f,g){var h,i;return null==d&&(d="OK"),null==e&&(e="okModal"),null==f&&(f=null),h=Ember.View.extend({template:Ember.Handlebars.compile(c||"Are you sure you would like to perform this action?")}),i=[Ember.Object.create({title:d,clicked:e,type:f,dismiss:"modal"})],this.open("ok-modal",b||"Confirmation required!",h,i,a,g)},openModal:function(a,b){var c,d;return null==b&&(b={}),d=b.rootElement||".ember-application",c=a.create(b),c.appendTo(d)},openManual:function(a,b,c,d,e,f){var g;return g=Ember.View.extend({template:Ember.Handlebars.compile(c),controller:e}),this.open(a,b,g,d,e,f)},open:function(a,b,c,d,e,f){var g,h,i;return g=void 0,h=void 0,i=void 0,null==f&&(f={}),null==f.fade&&(f.fade=this.get("fade")),null==f.fullSizeButtons&&(f.fullSizeButtons=this.get("fullSizeButtons")),null==f.targetObj&&(f.targetObj=e),null==f.vertical&&(f.vertical=this.get("vertical")),g=e.container.lookup("component-lookup:main"),h=g.lookupFactory("bs-modal",e.get("container")).create(),h.setProperties,{name:a,title:b,manual:!0,footerButtons:d,targetObject:f.targetObj,fade:f.fade,fullSizeButtons:f.fullSizeButtons,vertical:f.vertical},"string"===Ember.typeOf(c)?(i=e.container.lookup("template:"+c),Ember.assert("Template "+c+" was specified for Modal but template could not be found.",i),i&&h.setProperties({body:Ember.View.extend({template:i,controller:e})})):"class"===Ember.typeOf(c)&&h.setProperties({body:c,controller:e}),h.appendTo(e.namespace.rootElement)},fade:!0,fullSizeButtons:!1,vertical:!1}),Ember.Application.initializer({name:"bs-modal",initialize:function(a){return Ember.$(window).height()>=320&&Ember.$(window).resize(Bootstrap.adjustModalMaxHeightAndPosition).trigger("resize"),a.register("component:bs-modal",Bootstrap.BsModalComponent)}})}).call(this),Ember.TEMPLATES["components/bs-modal"]=Ember.HTMLBars.template(function(){var a=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createElement("i");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.element;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.childAt(g,[1]);return f(b,h,a,"bind-attr",[],{"class":"titleIconClasses"}),g}}}(),b=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,0,1,c);return g(b,i,a,"view",[f(b,a,"view.body")],{}),h}}}(),c=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.content;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.createMorphAt(g,0,1,c);return f(b,h,a,"yield"),g}}}(),d=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,0,1,c);return g(b,i,a,"bs-button",[],{content:f(b,a,"this"),targetObjectBinding:"view.targetObject"}),h}}}(),e=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,0,1,c);return g(b,i,a,"view",[f(b,a,"this")],{}),h}}}();return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createElement("div");a.setAttribute(b,"class","modal-dialog");var c=a.createTextNode("\n ");a.appendChild(b,c);var c=a.createElement("div");a.setAttribute(c,"class","modal-content");var d=a.createTextNode("\n ");a.appendChild(c,d);var d=a.createElement("div");a.setAttribute(d,"class","modal-header");var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("button");a.setAttribute(e,"type","button"),a.setAttribute(e,"data-dismiss","modal"),a.setAttribute(e,"aria-hidden","true");var f=a.createTextNode("×");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("h4");a.setAttribute(e,"class","modal-title");var f=a.createTextNode("\n");a.appendChild(e,f);var f=a.createTextNode(" ");a.appendChild(e,f);var f=a.createTextNode("\n ");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e),a.appendChild(c,d);var d=a.createTextNode("\n ");a.appendChild(c,d);var d=a.createElement("div");a.setAttribute(d,"class","modal-body");var e=a.createTextNode("\n");a.appendChild(d,e);var e=a.createTextNode(" ");a.appendChild(d,e),a.appendChild(c,d);var d=a.createTextNode("\n ");a.appendChild(c,d);var d=a.createElement("div"),e=a.createTextNode("\n");a.appendChild(d,e);var e=a.createTextNode("");a.appendChild(d,e);var e=a.createTextNode(" ");a.appendChild(d,e),a.appendChild(c,d);var d=a.createTextNode("\n ");a.appendChild(c,d),a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(f,g,h){var i=g.dom,j=g.hooks,k=j.element,l=j.get,m=j.block,n=j.content;i.detectNamespace(h);var o;g.useFragmentCache&&i.canClone?(null===this.cachedFragment&&(o=this.build(i),this.hasRendered?this.cachedFragment=o:this.hasRendered=!0),this.cachedFragment&&(o=i.cloneNode(this.cachedFragment,!0))):o=this.build(i);var p=i.childAt(o,[1]),q=i.childAt(p,[1]),r=i.childAt(q,[1]),s=i.childAt(q,[3]),t=i.childAt(p,[5]);this.cachedFragment&&i.repairClonedNode(t,[1]);var u=i.createMorphAt(s,0,1),v=i.createUnsafeMorphAt(s,1,2),w=i.createMorphAt(i.childAt(p,[3]),0,1),x=i.createMorphAt(t,0,1),y=i.createMorphAt(t,1,2);return k(g,r,f,"bind-attr",[],{"class":":close allowClose::hide"}),m(g,u,f,"if",[l(g,f,"titleIconClasses")],{},a,null),n(g,v,f,"title"),m(g,w,f,"if",[l(g,f,"body")],{},b,c),k(g,t,f,"bind-attr",[],{"class":":modal-footer fullSizeButtons:modal-footer-full"}),m(g,x,f,"each",[l(g,f,"footerButtons")],{},d,null),m(g,y,f,"each",[l(g,f,"footerViews")],{},e,null),o}}}()); \ No newline at end of file +(function(){Bootstrap.adjustModalMaxHeightAndPosition=function(){return Ember.$(".modal").each(function(){var a,b,c;return Ember.$(this).hasClass("in")===!1&&Ember.$(this).show(),a=Ember.$(window).height()-60,c=Ember.$(this).find(".modal-header").outerHeight()||2,b=Ember.$(this).find(".modal-footer").outerHeight()||2,Ember.$(this).find(".modal-content").css({"max-height":function(){return a}}),Ember.$(this).find(".modal-body").css({"max-height":function(){return a-(c+b)}}),Ember.$(this).find(".modal-dialog").addClass("modal-dialog-center").css({"margin-top":function(){return-(Ember.$(this).outerHeight()/2)},"margin-left":function(){return-(Ember.$(this).outerWidth()/2)}}),Ember.$(this).hasClass("in")===!1?Ember.$(this).hide():void 0})},Bootstrap.BsModalComponent=Ember.Component.extend(Ember.Evented,{layoutName:"components/bs-modal",classNames:["modal"],classNameBindings:["fade","isVis:in"],attributeBindings:["role","aria-labelledby","isAriaHidden:aria-hidden","ariaLabelledBy:aria-labelledby"],isAriaHidden:function(){return""+this.get("isVisible")}.property("isVisible"),modalBackdrop:'',role:"dialog",footerViews:[],backdrop:!0,title:null,isVisible:!1,manual:!1,isVis:!1,fullSizeButtons:!1,fade:!0,didInsertElement:function(){var a;return this._super(),this.setupBinders(),a=this.get("name"),Ember.assert("Modal name is required for modal view "+this.get("elementId"),this.get("name")),null==a&&(a=this.get("elementId")),Bootstrap.ModalManager.add(a,this),this.manual?this.show():void 0},becameVisible:function(){return Em.$("body").addClass("modal-open"),this.get("backdrop")?this.appendBackdrop():void 0},becameHidden:function(){return Em.$("body").removeClass("modal-open"),this._backdrop?this._backdrop.remove():void 0},appendBackdrop:function(){var a;return a=this.$().parent(),this._backdrop=Em.$(this.modalBackdrop).appendTo(a)},show:function(){var a;this.set("isVisible",!0),a=this,setTimeout(function(){a.set("isVis",!0)},15)},hide:function(){var a;return this.set("isVis",!1),a=this,this.$().one("webkitTransitionEnd",function(){a.set("isVisible",!1)}),!1},toggle:function(){return this.toggleProperty("isVisible")},click:function(a){var b,c;return b=a.target,c=b.getAttribute("data-dismiss"),"modal"===c?this.close():void 0},keyPressed:function(a){return 27===a.keyCode?this.close(a):void 0},close:function(){var a;return this.set("isVis",!1),a=this,this.$().one("webkitTransitionEnd",function(){a.get("manual")?a.destroy():a.hide()}),this.trigger("closed")},willDestroyElement:function(){var a;return Em.$("body").removeClass("modal-open"),this.removeHandlers(),a=this.get("name"),null==a&&(a=this.get("elementId")),Bootstrap.ModalManager.remove(a,this),this._backdrop?this._backdrop.remove():void 0},removeHandlers:function(){return jQuery(window.document).unbind("keyup",this._keyUpHandler)},setupBinders:function(){var a,b=this;return a=function(a){return b.keyPressed(a)},jQuery(window.document).bind("keyup",a),this._keyUpHandler=a}}),Bootstrap.ModalManager=Ember.Object.create({add:function(a,b){return this.set(a,b)},register:function(a,b){return this.add(a,b),b.appendTo(b.get("targetObject").namespace.rootElement)},remove:function(a){return this.set(a,null)},close:function(a){return this.get(a).close()},hide:function(a){return this.get(a).hide()},show:function(a){return this.get(a).show()},toggle:function(a){return this.get(a).toggle()},confirm:function(a,b,c,d,e,f,g,h,i,j){var k,l;return null==e&&(e="Confirm"),null==f&&(f="modalConfirmed"),null==g&&(g=null),null==h&&(h="Cancel"),null==i&&(i="modalCanceled"),null==j&&(j=null),k=Ember.View.extend({template:Ember.Handlebars.compile(c||"Are you sure you would like to perform this action?")}),l=[Ember.Object.create({title:e,clicked:f,type:g,dismiss:"modal"}),Ember.Object.create({title:h,clicked:i,type:j,dismiss:"modal"})],this.open("confirm-modal",b||"Confirmation required!",k,l,a,d)},okModal:function(a,b,c,d,e,f,g){var h,i;return null==d&&(d="OK"),null==e&&(e="okModal"),null==f&&(f=null),h=Ember.View.extend({template:Ember.Handlebars.compile(c||"Are you sure you would like to perform this action?")}),i=[Ember.Object.create({title:d,clicked:e,type:f,dismiss:"modal"})],this.open("ok-modal",b||"Confirmation required!",h,i,a,g)},openModal:function(a,b){var c,d;return null==b&&(b={}),d=b.rootElement||".ember-application",c=a.create(b),c.appendTo(d)},openManual:function(a,b,c,d,e,f){var g;return g=Ember.View.extend({template:Ember.Handlebars.compile(c),controller:e}),this.open(a,b,g,d,e,f)},open:function(a,b,c,d,e,f){var g,h,i;return g=void 0,h=void 0,i=void 0,null==f&&(f={}),null==f.fade&&(f.fade=this.get("fade")),null==f.fullSizeButtons&&(f.fullSizeButtons=this.get("fullSizeButtons")),null==f.targetObj&&(f.targetObj=e),null==f.vertical&&(f.vertical=this.get("vertical")),g=e.container.lookup("component-lookup:main"),h=g.lookupFactory("bs-modal",e.get("container")).create(),h.setProperties({name:a,title:b,manual:!0,footerButtons:d,targetObject:f.targetObj,fade:f.fade,fullSizeButtons:f.fullSizeButtons,vertical:f.vertical}),"string"===Ember.typeOf(c)?(i=e.container.lookup("template:"+c),Ember.assert("Template "+c+" was specified for Modal but template could not be found.",i),i&&h.setProperties({body:Ember.View.extend({template:i,controller:e})})):"class"===Ember.typeOf(c)&&h.setProperties({body:c,controller:e}),h.appendTo(e.namespace.rootElement)},fade:!0,fullSizeButtons:!1,vertical:!1}),Ember.Application.initializer({name:"bs-modal",initialize:function(a){return Ember.$(window).height()>=320&&Ember.$(window).resize(Bootstrap.adjustModalMaxHeightAndPosition).trigger("resize"),a.register("component:bs-modal",Bootstrap.BsModalComponent)}})}).call(this),Ember.TEMPLATES["components/bs-modal"]=Ember.HTMLBars.template(function(){var a=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createElement("i");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.element;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.childAt(g,[1]);return f(b,h,a,"bind-attr",[],{"class":"titleIconClasses"}),g}}}(),b=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,0,1,c);return g(b,i,a,"view",[f(b,a,"view.body")],{}),h}}}(),c=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.content;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.createMorphAt(g,0,1,c);return f(b,h,a,"yield"),g}}}(),d=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,0,1,c);return g(b,i,a,"bs-button",[],{content:f(b,a,"this"),targetObjectBinding:"view.targetObject"}),h}}}(),e=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,0,1,c);return g(b,i,a,"view",[f(b,a,"this")],{}),h}}}();return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createElement("div");a.setAttribute(b,"class","modal-dialog");var c=a.createTextNode("\n ");a.appendChild(b,c);var c=a.createElement("div");a.setAttribute(c,"class","modal-content");var d=a.createTextNode("\n ");a.appendChild(c,d);var d=a.createElement("div");a.setAttribute(d,"class","modal-header");var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("button");a.setAttribute(e,"type","button"),a.setAttribute(e,"data-dismiss","modal"),a.setAttribute(e,"aria-hidden","true");var f=a.createTextNode("×");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("h4");a.setAttribute(e,"class","modal-title");var f=a.createTextNode("\n");a.appendChild(e,f);var f=a.createTextNode(" ");a.appendChild(e,f);var f=a.createTextNode("\n ");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e),a.appendChild(c,d);var d=a.createTextNode("\n ");a.appendChild(c,d);var d=a.createElement("div");a.setAttribute(d,"class","modal-body");var e=a.createTextNode("\n");a.appendChild(d,e);var e=a.createTextNode(" ");a.appendChild(d,e),a.appendChild(c,d);var d=a.createTextNode("\n ");a.appendChild(c,d);var d=a.createElement("div"),e=a.createTextNode("\n");a.appendChild(d,e);var e=a.createTextNode("");a.appendChild(d,e);var e=a.createTextNode(" ");a.appendChild(d,e),a.appendChild(c,d);var d=a.createTextNode("\n ");a.appendChild(c,d),a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(f,g,h){var i=g.dom,j=g.hooks,k=j.element,l=j.get,m=j.block,n=j.content;i.detectNamespace(h);var o;g.useFragmentCache&&i.canClone?(null===this.cachedFragment&&(o=this.build(i),this.hasRendered?this.cachedFragment=o:this.hasRendered=!0),this.cachedFragment&&(o=i.cloneNode(this.cachedFragment,!0))):o=this.build(i);var p=i.childAt(o,[1]),q=i.childAt(p,[1]),r=i.childAt(q,[1]),s=i.childAt(q,[3]),t=i.childAt(p,[5]);this.cachedFragment&&i.repairClonedNode(t,[1]);var u=i.createMorphAt(s,0,1),v=i.createUnsafeMorphAt(s,1,2),w=i.createMorphAt(i.childAt(p,[3]),0,1),x=i.createMorphAt(t,0,1),y=i.createMorphAt(t,1,2);return k(g,r,f,"bind-attr",[],{"class":":close allowClose::hide"}),m(g,u,f,"if",[l(g,f,"titleIconClasses")],{},a,null),n(g,v,f,"title"),m(g,w,f,"if",[l(g,f,"body")],{},b,c),k(g,t,f,"bind-attr",[],{"class":":modal-footer fullSizeButtons:modal-footer-full"}),m(g,x,f,"each",[l(g,f,"footerButtons")],{},d,null),m(g,y,f,"each",[l(g,f,"footerViews")],{},e,null),o}}}()); \ No newline at end of file From f142ac90a78deaefe2e98949aba674ce5ea7e7eb Mon Sep 17 00:00:00 2001 From: danshapir Date: Sun, 22 Feb 2015 23:12:48 +0200 Subject: [PATCH 12/24] Add vertical class --- app/scripts/components/BsModalComponent.coffee | 7 ++++--- dist/js/bs-modal.max.js | 6 ++++-- dist/js/bs-modal.min.js | 2 +- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/app/scripts/components/BsModalComponent.coffee b/app/scripts/components/BsModalComponent.coffee index aaf3ffa..0548940 100644 --- a/app/scripts/components/BsModalComponent.coffee +++ b/app/scripts/components/BsModalComponent.coffee @@ -3,7 +3,7 @@ Modal component. ### Bootstrap.adjustModalMaxHeightAndPosition = -> - Ember.$(".modal").each -> + Ember.$(".modal.vertical").each -> Ember.$(this).show() if Ember.$(this).hasClass("in") is false contentHeight = Ember.$(window).height() - 60 headerHeight = Ember.$(this).find(".modal-header").outerHeight() or 2 @@ -26,7 +26,7 @@ Bootstrap.adjustModalMaxHeightAndPosition = -> Bootstrap.BsModalComponent = Ember.Component.extend(Ember.Evented, layoutName: 'components/bs-modal' classNames: ['modal'] - classNameBindings: ['fade', 'isVis:in'] + classNameBindings: ['fade', 'isVis:in', 'vertical:vertical'] attributeBindings: ['role', 'aria-labelledby', 'isAriaHidden:aria-hidden', "ariaLabelledBy:aria-labelledby"] isAriaHidden: (-> "#{@get('isVisible')}" @@ -43,6 +43,7 @@ Bootstrap.BsModalComponent = Ember.Component.extend(Ember.Evented, isVis: false fullSizeButtons: false fade: true + vertical: false didInsertElement: -> @._super() @@ -52,7 +53,7 @@ Bootstrap.BsModalComponent = Ember.Component.extend(Ember.Evented, Ember.assert("Modal name is required for modal view #{@get('elementId')}", @get('name')) name?= @get('elementId') Bootstrap.ModalManager.add(name, @) - + Bootstrap.adjustModalMaxHeightAndPosition() if @manual @show() diff --git a/dist/js/bs-modal.max.js b/dist/js/bs-modal.max.js index 60c0531..2956d81 100644 --- a/dist/js/bs-modal.max.js +++ b/dist/js/bs-modal.max.js @@ -5,7 +5,7 @@ Modal component. (function() { Bootstrap.adjustModalMaxHeightAndPosition = function() { - return Ember.$(".modal").each(function() { + return Ember.$(".modal.vertical").each(function() { var contentHeight, footerHeight, headerHeight; if (Ember.$(this).hasClass("in") === false) { Ember.$(this).show(); @@ -40,7 +40,7 @@ Modal component. Bootstrap.BsModalComponent = Ember.Component.extend(Ember.Evented, { layoutName: 'components/bs-modal', classNames: ['modal'], - classNameBindings: ['fade', 'isVis:in'], + classNameBindings: ['fade', 'isVis:in', 'vertical:vertical'], attributeBindings: ['role', 'aria-labelledby', 'isAriaHidden:aria-hidden', "ariaLabelledBy:aria-labelledby"], isAriaHidden: (function() { return "" + (this.get('isVisible')); @@ -55,6 +55,7 @@ Modal component. isVis: false, fullSizeButtons: false, fade: true, + vertical: false, didInsertElement: function() { var name; this._super(); @@ -65,6 +66,7 @@ Modal component. name = this.get('elementId'); } Bootstrap.ModalManager.add(name, this); + Bootstrap.adjustModalMaxHeightAndPosition(); if (this.manual) { return this.show(); } diff --git a/dist/js/bs-modal.min.js b/dist/js/bs-modal.min.js index 78c0962..c2b2bc3 100644 --- a/dist/js/bs-modal.min.js +++ b/dist/js/bs-modal.min.js @@ -1 +1 @@ -(function(){Bootstrap.adjustModalMaxHeightAndPosition=function(){return Ember.$(".modal").each(function(){var a,b,c;return Ember.$(this).hasClass("in")===!1&&Ember.$(this).show(),a=Ember.$(window).height()-60,c=Ember.$(this).find(".modal-header").outerHeight()||2,b=Ember.$(this).find(".modal-footer").outerHeight()||2,Ember.$(this).find(".modal-content").css({"max-height":function(){return a}}),Ember.$(this).find(".modal-body").css({"max-height":function(){return a-(c+b)}}),Ember.$(this).find(".modal-dialog").addClass("modal-dialog-center").css({"margin-top":function(){return-(Ember.$(this).outerHeight()/2)},"margin-left":function(){return-(Ember.$(this).outerWidth()/2)}}),Ember.$(this).hasClass("in")===!1?Ember.$(this).hide():void 0})},Bootstrap.BsModalComponent=Ember.Component.extend(Ember.Evented,{layoutName:"components/bs-modal",classNames:["modal"],classNameBindings:["fade","isVis:in"],attributeBindings:["role","aria-labelledby","isAriaHidden:aria-hidden","ariaLabelledBy:aria-labelledby"],isAriaHidden:function(){return""+this.get("isVisible")}.property("isVisible"),modalBackdrop:'',role:"dialog",footerViews:[],backdrop:!0,title:null,isVisible:!1,manual:!1,isVis:!1,fullSizeButtons:!1,fade:!0,didInsertElement:function(){var a;return this._super(),this.setupBinders(),a=this.get("name"),Ember.assert("Modal name is required for modal view "+this.get("elementId"),this.get("name")),null==a&&(a=this.get("elementId")),Bootstrap.ModalManager.add(a,this),this.manual?this.show():void 0},becameVisible:function(){return Em.$("body").addClass("modal-open"),this.get("backdrop")?this.appendBackdrop():void 0},becameHidden:function(){return Em.$("body").removeClass("modal-open"),this._backdrop?this._backdrop.remove():void 0},appendBackdrop:function(){var a;return a=this.$().parent(),this._backdrop=Em.$(this.modalBackdrop).appendTo(a)},show:function(){var a;this.set("isVisible",!0),a=this,setTimeout(function(){a.set("isVis",!0)},15)},hide:function(){var a;return this.set("isVis",!1),a=this,this.$().one("webkitTransitionEnd",function(){a.set("isVisible",!1)}),!1},toggle:function(){return this.toggleProperty("isVisible")},click:function(a){var b,c;return b=a.target,c=b.getAttribute("data-dismiss"),"modal"===c?this.close():void 0},keyPressed:function(a){return 27===a.keyCode?this.close(a):void 0},close:function(){var a;return this.set("isVis",!1),a=this,this.$().one("webkitTransitionEnd",function(){a.get("manual")?a.destroy():a.hide()}),this.trigger("closed")},willDestroyElement:function(){var a;return Em.$("body").removeClass("modal-open"),this.removeHandlers(),a=this.get("name"),null==a&&(a=this.get("elementId")),Bootstrap.ModalManager.remove(a,this),this._backdrop?this._backdrop.remove():void 0},removeHandlers:function(){return jQuery(window.document).unbind("keyup",this._keyUpHandler)},setupBinders:function(){var a,b=this;return a=function(a){return b.keyPressed(a)},jQuery(window.document).bind("keyup",a),this._keyUpHandler=a}}),Bootstrap.ModalManager=Ember.Object.create({add:function(a,b){return this.set(a,b)},register:function(a,b){return this.add(a,b),b.appendTo(b.get("targetObject").namespace.rootElement)},remove:function(a){return this.set(a,null)},close:function(a){return this.get(a).close()},hide:function(a){return this.get(a).hide()},show:function(a){return this.get(a).show()},toggle:function(a){return this.get(a).toggle()},confirm:function(a,b,c,d,e,f,g,h,i,j){var k,l;return null==e&&(e="Confirm"),null==f&&(f="modalConfirmed"),null==g&&(g=null),null==h&&(h="Cancel"),null==i&&(i="modalCanceled"),null==j&&(j=null),k=Ember.View.extend({template:Ember.Handlebars.compile(c||"Are you sure you would like to perform this action?")}),l=[Ember.Object.create({title:e,clicked:f,type:g,dismiss:"modal"}),Ember.Object.create({title:h,clicked:i,type:j,dismiss:"modal"})],this.open("confirm-modal",b||"Confirmation required!",k,l,a,d)},okModal:function(a,b,c,d,e,f,g){var h,i;return null==d&&(d="OK"),null==e&&(e="okModal"),null==f&&(f=null),h=Ember.View.extend({template:Ember.Handlebars.compile(c||"Are you sure you would like to perform this action?")}),i=[Ember.Object.create({title:d,clicked:e,type:f,dismiss:"modal"})],this.open("ok-modal",b||"Confirmation required!",h,i,a,g)},openModal:function(a,b){var c,d;return null==b&&(b={}),d=b.rootElement||".ember-application",c=a.create(b),c.appendTo(d)},openManual:function(a,b,c,d,e,f){var g;return g=Ember.View.extend({template:Ember.Handlebars.compile(c),controller:e}),this.open(a,b,g,d,e,f)},open:function(a,b,c,d,e,f){var g,h,i;return g=void 0,h=void 0,i=void 0,null==f&&(f={}),null==f.fade&&(f.fade=this.get("fade")),null==f.fullSizeButtons&&(f.fullSizeButtons=this.get("fullSizeButtons")),null==f.targetObj&&(f.targetObj=e),null==f.vertical&&(f.vertical=this.get("vertical")),g=e.container.lookup("component-lookup:main"),h=g.lookupFactory("bs-modal",e.get("container")).create(),h.setProperties({name:a,title:b,manual:!0,footerButtons:d,targetObject:f.targetObj,fade:f.fade,fullSizeButtons:f.fullSizeButtons,vertical:f.vertical}),"string"===Ember.typeOf(c)?(i=e.container.lookup("template:"+c),Ember.assert("Template "+c+" was specified for Modal but template could not be found.",i),i&&h.setProperties({body:Ember.View.extend({template:i,controller:e})})):"class"===Ember.typeOf(c)&&h.setProperties({body:c,controller:e}),h.appendTo(e.namespace.rootElement)},fade:!0,fullSizeButtons:!1,vertical:!1}),Ember.Application.initializer({name:"bs-modal",initialize:function(a){return Ember.$(window).height()>=320&&Ember.$(window).resize(Bootstrap.adjustModalMaxHeightAndPosition).trigger("resize"),a.register("component:bs-modal",Bootstrap.BsModalComponent)}})}).call(this),Ember.TEMPLATES["components/bs-modal"]=Ember.HTMLBars.template(function(){var a=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createElement("i");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.element;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.childAt(g,[1]);return f(b,h,a,"bind-attr",[],{"class":"titleIconClasses"}),g}}}(),b=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,0,1,c);return g(b,i,a,"view",[f(b,a,"view.body")],{}),h}}}(),c=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.content;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.createMorphAt(g,0,1,c);return f(b,h,a,"yield"),g}}}(),d=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,0,1,c);return g(b,i,a,"bs-button",[],{content:f(b,a,"this"),targetObjectBinding:"view.targetObject"}),h}}}(),e=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,0,1,c);return g(b,i,a,"view",[f(b,a,"this")],{}),h}}}();return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createElement("div");a.setAttribute(b,"class","modal-dialog");var c=a.createTextNode("\n ");a.appendChild(b,c);var c=a.createElement("div");a.setAttribute(c,"class","modal-content");var d=a.createTextNode("\n ");a.appendChild(c,d);var d=a.createElement("div");a.setAttribute(d,"class","modal-header");var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("button");a.setAttribute(e,"type","button"),a.setAttribute(e,"data-dismiss","modal"),a.setAttribute(e,"aria-hidden","true");var f=a.createTextNode("×");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("h4");a.setAttribute(e,"class","modal-title");var f=a.createTextNode("\n");a.appendChild(e,f);var f=a.createTextNode(" ");a.appendChild(e,f);var f=a.createTextNode("\n ");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e),a.appendChild(c,d);var d=a.createTextNode("\n ");a.appendChild(c,d);var d=a.createElement("div");a.setAttribute(d,"class","modal-body");var e=a.createTextNode("\n");a.appendChild(d,e);var e=a.createTextNode(" ");a.appendChild(d,e),a.appendChild(c,d);var d=a.createTextNode("\n ");a.appendChild(c,d);var d=a.createElement("div"),e=a.createTextNode("\n");a.appendChild(d,e);var e=a.createTextNode("");a.appendChild(d,e);var e=a.createTextNode(" ");a.appendChild(d,e),a.appendChild(c,d);var d=a.createTextNode("\n ");a.appendChild(c,d),a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(f,g,h){var i=g.dom,j=g.hooks,k=j.element,l=j.get,m=j.block,n=j.content;i.detectNamespace(h);var o;g.useFragmentCache&&i.canClone?(null===this.cachedFragment&&(o=this.build(i),this.hasRendered?this.cachedFragment=o:this.hasRendered=!0),this.cachedFragment&&(o=i.cloneNode(this.cachedFragment,!0))):o=this.build(i);var p=i.childAt(o,[1]),q=i.childAt(p,[1]),r=i.childAt(q,[1]),s=i.childAt(q,[3]),t=i.childAt(p,[5]);this.cachedFragment&&i.repairClonedNode(t,[1]);var u=i.createMorphAt(s,0,1),v=i.createUnsafeMorphAt(s,1,2),w=i.createMorphAt(i.childAt(p,[3]),0,1),x=i.createMorphAt(t,0,1),y=i.createMorphAt(t,1,2);return k(g,r,f,"bind-attr",[],{"class":":close allowClose::hide"}),m(g,u,f,"if",[l(g,f,"titleIconClasses")],{},a,null),n(g,v,f,"title"),m(g,w,f,"if",[l(g,f,"body")],{},b,c),k(g,t,f,"bind-attr",[],{"class":":modal-footer fullSizeButtons:modal-footer-full"}),m(g,x,f,"each",[l(g,f,"footerButtons")],{},d,null),m(g,y,f,"each",[l(g,f,"footerViews")],{},e,null),o}}}()); \ No newline at end of file +(function(){Bootstrap.adjustModalMaxHeightAndPosition=function(){return Ember.$(".modal.vertical").each(function(){var a,b,c;return Ember.$(this).hasClass("in")===!1&&Ember.$(this).show(),a=Ember.$(window).height()-60,c=Ember.$(this).find(".modal-header").outerHeight()||2,b=Ember.$(this).find(".modal-footer").outerHeight()||2,Ember.$(this).find(".modal-content").css({"max-height":function(){return a}}),Ember.$(this).find(".modal-body").css({"max-height":function(){return a-(c+b)}}),Ember.$(this).find(".modal-dialog").addClass("modal-dialog-center").css({"margin-top":function(){return-(Ember.$(this).outerHeight()/2)},"margin-left":function(){return-(Ember.$(this).outerWidth()/2)}}),Ember.$(this).hasClass("in")===!1?Ember.$(this).hide():void 0})},Bootstrap.BsModalComponent=Ember.Component.extend(Ember.Evented,{layoutName:"components/bs-modal",classNames:["modal"],classNameBindings:["fade","isVis:in","vertical:vertical"],attributeBindings:["role","aria-labelledby","isAriaHidden:aria-hidden","ariaLabelledBy:aria-labelledby"],isAriaHidden:function(){return""+this.get("isVisible")}.property("isVisible"),modalBackdrop:'',role:"dialog",footerViews:[],backdrop:!0,title:null,isVisible:!1,manual:!1,isVis:!1,fullSizeButtons:!1,fade:!0,vertical:!1,didInsertElement:function(){var a;return this._super(),this.setupBinders(),a=this.get("name"),Ember.assert("Modal name is required for modal view "+this.get("elementId"),this.get("name")),null==a&&(a=this.get("elementId")),Bootstrap.ModalManager.add(a,this),Bootstrap.adjustModalMaxHeightAndPosition(),this.manual?this.show():void 0},becameVisible:function(){return Em.$("body").addClass("modal-open"),this.get("backdrop")?this.appendBackdrop():void 0},becameHidden:function(){return Em.$("body").removeClass("modal-open"),this._backdrop?this._backdrop.remove():void 0},appendBackdrop:function(){var a;return a=this.$().parent(),this._backdrop=Em.$(this.modalBackdrop).appendTo(a)},show:function(){var a;this.set("isVisible",!0),a=this,setTimeout(function(){a.set("isVis",!0)},15)},hide:function(){var a;return this.set("isVis",!1),a=this,this.$().one("webkitTransitionEnd",function(){a.set("isVisible",!1)}),!1},toggle:function(){return this.toggleProperty("isVisible")},click:function(a){var b,c;return b=a.target,c=b.getAttribute("data-dismiss"),"modal"===c?this.close():void 0},keyPressed:function(a){return 27===a.keyCode?this.close(a):void 0},close:function(){var a;return this.set("isVis",!1),a=this,this.$().one("webkitTransitionEnd",function(){a.get("manual")?a.destroy():a.hide()}),this.trigger("closed")},willDestroyElement:function(){var a;return Em.$("body").removeClass("modal-open"),this.removeHandlers(),a=this.get("name"),null==a&&(a=this.get("elementId")),Bootstrap.ModalManager.remove(a,this),this._backdrop?this._backdrop.remove():void 0},removeHandlers:function(){return jQuery(window.document).unbind("keyup",this._keyUpHandler)},setupBinders:function(){var a,b=this;return a=function(a){return b.keyPressed(a)},jQuery(window.document).bind("keyup",a),this._keyUpHandler=a}}),Bootstrap.ModalManager=Ember.Object.create({add:function(a,b){return this.set(a,b)},register:function(a,b){return this.add(a,b),b.appendTo(b.get("targetObject").namespace.rootElement)},remove:function(a){return this.set(a,null)},close:function(a){return this.get(a).close()},hide:function(a){return this.get(a).hide()},show:function(a){return this.get(a).show()},toggle:function(a){return this.get(a).toggle()},confirm:function(a,b,c,d,e,f,g,h,i,j){var k,l;return null==e&&(e="Confirm"),null==f&&(f="modalConfirmed"),null==g&&(g=null),null==h&&(h="Cancel"),null==i&&(i="modalCanceled"),null==j&&(j=null),k=Ember.View.extend({template:Ember.Handlebars.compile(c||"Are you sure you would like to perform this action?")}),l=[Ember.Object.create({title:e,clicked:f,type:g,dismiss:"modal"}),Ember.Object.create({title:h,clicked:i,type:j,dismiss:"modal"})],this.open("confirm-modal",b||"Confirmation required!",k,l,a,d)},okModal:function(a,b,c,d,e,f,g){var h,i;return null==d&&(d="OK"),null==e&&(e="okModal"),null==f&&(f=null),h=Ember.View.extend({template:Ember.Handlebars.compile(c||"Are you sure you would like to perform this action?")}),i=[Ember.Object.create({title:d,clicked:e,type:f,dismiss:"modal"})],this.open("ok-modal",b||"Confirmation required!",h,i,a,g)},openModal:function(a,b){var c,d;return null==b&&(b={}),d=b.rootElement||".ember-application",c=a.create(b),c.appendTo(d)},openManual:function(a,b,c,d,e,f){var g;return g=Ember.View.extend({template:Ember.Handlebars.compile(c),controller:e}),this.open(a,b,g,d,e,f)},open:function(a,b,c,d,e,f){var g,h,i;return g=void 0,h=void 0,i=void 0,null==f&&(f={}),null==f.fade&&(f.fade=this.get("fade")),null==f.fullSizeButtons&&(f.fullSizeButtons=this.get("fullSizeButtons")),null==f.targetObj&&(f.targetObj=e),null==f.vertical&&(f.vertical=this.get("vertical")),g=e.container.lookup("component-lookup:main"),h=g.lookupFactory("bs-modal",e.get("container")).create(),h.setProperties({name:a,title:b,manual:!0,footerButtons:d,targetObject:f.targetObj,fade:f.fade,fullSizeButtons:f.fullSizeButtons,vertical:f.vertical}),"string"===Ember.typeOf(c)?(i=e.container.lookup("template:"+c),Ember.assert("Template "+c+" was specified for Modal but template could not be found.",i),i&&h.setProperties({body:Ember.View.extend({template:i,controller:e})})):"class"===Ember.typeOf(c)&&h.setProperties({body:c,controller:e}),h.appendTo(e.namespace.rootElement)},fade:!0,fullSizeButtons:!1,vertical:!1}),Ember.Application.initializer({name:"bs-modal",initialize:function(a){return Ember.$(window).height()>=320&&Ember.$(window).resize(Bootstrap.adjustModalMaxHeightAndPosition).trigger("resize"),a.register("component:bs-modal",Bootstrap.BsModalComponent)}})}).call(this),Ember.TEMPLATES["components/bs-modal"]=Ember.HTMLBars.template(function(){var a=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createElement("i");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.element;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.childAt(g,[1]);return f(b,h,a,"bind-attr",[],{"class":"titleIconClasses"}),g}}}(),b=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,0,1,c);return g(b,i,a,"view",[f(b,a,"view.body")],{}),h}}}(),c=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.content;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.createMorphAt(g,0,1,c);return f(b,h,a,"yield"),g}}}(),d=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,0,1,c);return g(b,i,a,"bs-button",[],{content:f(b,a,"this"),targetObjectBinding:"view.targetObject"}),h}}}(),e=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,0,1,c);return g(b,i,a,"view",[f(b,a,"this")],{}),h}}}();return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createElement("div");a.setAttribute(b,"class","modal-dialog");var c=a.createTextNode("\n ");a.appendChild(b,c);var c=a.createElement("div");a.setAttribute(c,"class","modal-content");var d=a.createTextNode("\n ");a.appendChild(c,d);var d=a.createElement("div");a.setAttribute(d,"class","modal-header");var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("button");a.setAttribute(e,"type","button"),a.setAttribute(e,"data-dismiss","modal"),a.setAttribute(e,"aria-hidden","true");var f=a.createTextNode("×");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("h4");a.setAttribute(e,"class","modal-title");var f=a.createTextNode("\n");a.appendChild(e,f);var f=a.createTextNode(" ");a.appendChild(e,f);var f=a.createTextNode("\n ");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e),a.appendChild(c,d);var d=a.createTextNode("\n ");a.appendChild(c,d);var d=a.createElement("div");a.setAttribute(d,"class","modal-body");var e=a.createTextNode("\n");a.appendChild(d,e);var e=a.createTextNode(" ");a.appendChild(d,e),a.appendChild(c,d);var d=a.createTextNode("\n ");a.appendChild(c,d);var d=a.createElement("div"),e=a.createTextNode("\n");a.appendChild(d,e);var e=a.createTextNode("");a.appendChild(d,e);var e=a.createTextNode(" ");a.appendChild(d,e),a.appendChild(c,d);var d=a.createTextNode("\n ");a.appendChild(c,d),a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(f,g,h){var i=g.dom,j=g.hooks,k=j.element,l=j.get,m=j.block,n=j.content;i.detectNamespace(h);var o;g.useFragmentCache&&i.canClone?(null===this.cachedFragment&&(o=this.build(i),this.hasRendered?this.cachedFragment=o:this.hasRendered=!0),this.cachedFragment&&(o=i.cloneNode(this.cachedFragment,!0))):o=this.build(i);var p=i.childAt(o,[1]),q=i.childAt(p,[1]),r=i.childAt(q,[1]),s=i.childAt(q,[3]),t=i.childAt(p,[5]);this.cachedFragment&&i.repairClonedNode(t,[1]);var u=i.createMorphAt(s,0,1),v=i.createUnsafeMorphAt(s,1,2),w=i.createMorphAt(i.childAt(p,[3]),0,1),x=i.createMorphAt(t,0,1),y=i.createMorphAt(t,1,2);return k(g,r,f,"bind-attr",[],{"class":":close allowClose::hide"}),m(g,u,f,"if",[l(g,f,"titleIconClasses")],{},a,null),n(g,v,f,"title"),m(g,w,f,"if",[l(g,f,"body")],{},b,c),k(g,t,f,"bind-attr",[],{"class":":modal-footer fullSizeButtons:modal-footer-full"}),m(g,x,f,"each",[l(g,f,"footerButtons")],{},d,null),m(g,y,f,"each",[l(g,f,"footerViews")],{},e,null),o}}}()); \ No newline at end of file From 3628fcc98efc9df4f3f990bb798a07a701687943 Mon Sep 17 00:00:00 2001 From: danshapir Date: Tue, 3 Mar 2015 18:58:46 +0200 Subject: [PATCH 13/24] Resize vertical + options + zindex --- .../components/BsModalComponent.coffee | 142 ++++++--- app/templates/components/bs-modal.hbs | 4 +- dist/js/bs-modal.max.js | 280 +++++++++++------- dist/js/bs-modal.min.js | 2 +- 4 files changed, 289 insertions(+), 139 deletions(-) diff --git a/app/scripts/components/BsModalComponent.coffee b/app/scripts/components/BsModalComponent.coffee index 0548940..a76bced 100644 --- a/app/scripts/components/BsModalComponent.coffee +++ b/app/scripts/components/BsModalComponent.coffee @@ -2,28 +2,51 @@ Modal component. ### -Bootstrap.adjustModalMaxHeightAndPosition = -> - Ember.$(".modal.vertical").each -> - Ember.$(this).show() if Ember.$(this).hasClass("in") is false - contentHeight = Ember.$(window).height() - 60 - headerHeight = Ember.$(this).find(".modal-header").outerHeight() or 2 - footerHeight = Ember.$(this).find(".modal-footer").outerHeight() or 2 - Ember.$(this).find(".modal-content").css "max-height": -> - contentHeight - - Ember.$(this).find(".modal-body").css "max-height": -> - contentHeight - (headerHeight + footerHeight) - - Ember.$(this).find(".modal-dialog").addClass("modal-dialog-center").css - "margin-top": -> - -(Ember.$(this).outerHeight() / 2) - - "margin-left": -> - -(Ember.$(this).outerWidth() / 2) - - Ember.$(this).hide() if Ember.$(this).hasClass("in") is false +Bootstrap.ResizeMixin = Ember.Mixin.create( + resizing: false + resizeDelay: 200 + findResizableParentView: (parent) -> + if Ember.isNone(parent) + return null + if parent and !parent.has('resize') + return @findResizableParentView(parent.get('parentView')) + parent + _setupResizeHandlers: (-> + resizeHandler = @get('_handleResize') + parent = @findResizableParentView(@get('parentView')) + if Ember.isNone(parent) + resizeHandler = Ember.$.proxy(resizeHandler, this) + # element doesn't have resizable views, so bind to the window + Ember.$(window).on 'resize.' + @elementId, resizeHandler + @_resizeHandler = resizeHandler + else + parent.on 'resize', this, resizeHandler + return + ).on('didInsertElement') + _removeResizeHandlers: (-> + if @_resizeHandler + Ember.$(window).off 'resize.' + @elementId, @_resizeHandler + return + ).on('willDestroyElement') + _handleResize: (event, promise) -> + if Ember.isNone(promise) + promise = Ember.RSVP.resolve(null, 'Resize handler') + if !@get('resizing') + @set 'resizing', true + if @has('resizeStart') + @trigger 'resizeStart', event + if @has('resize') + @trigger 'resize', event, promise + Ember.run.debounce this, @_endResize, event, @get('resizeDelay') + return + _endResize: (event) -> + @set 'resizing', false + if @has('resizeEnd') + @trigger 'resizeEnd', event + return +) -Bootstrap.BsModalComponent = Ember.Component.extend(Ember.Evented, +Bootstrap.BsModalComponent = Ember.Component.extend(Ember.Evented, Bootstrap.ResizeMixin, layoutName: 'components/bs-modal' classNames: ['modal'] classNameBindings: ['fade', 'isVis:in', 'vertical:vertical'] @@ -31,6 +54,16 @@ Bootstrap.BsModalComponent = Ember.Component.extend(Ember.Evented, isAriaHidden: (-> "#{@get('isVisible')}" ).property('isVisible') + dialogStyle: (-> + Ember.run.scheduleOnce 'afterRender', this, -> + if @$() + return @$().find('.modal-dialog').css('z-index', @get('zindex')) + return + ).observes('zindex') + backdropStyle: (-> + "z-index: #{@get('zindex') - 2};" + ).property('zindex') + modalBackdrop: '' role: 'dialog' footerViews: [] @@ -44,7 +77,31 @@ Bootstrap.BsModalComponent = Ember.Component.extend(Ember.Evented, fullSizeButtons: false fade: true vertical: false - + zindex: 1000 + + onResize: (-> + # do what you want when resize is triggered + if @get('vertical') + return Ember.run.scheduleOnce('afterRender', this, -> + contentHeight = undefined + footerHeight = undefined + headerHeight = undefined + contentHeight = Ember.$(window).height() - 60 + headerHeight = @$().find('.modal-header').outerHeight() or 2 + footerHeight = @$().find('.modal-footer').outerHeight() or 2 + @$().find('.modal-content').css 'max-height': -> + contentHeight + @$().find('.modal-body').css 'max-height': -> + contentHeight - headerHeight + footerHeight + @$().find('.modal-dialog').addClass('modal-dialog-center').css + 'margin-top': -> + -(Ember.$(this).outerHeight() / 2) + 'margin-left': -> + -(Ember.$(this).outerWidth() / 2) + ) + return + ).on 'resize' + didInsertElement: -> @._super() @setupBinders() @@ -53,17 +110,18 @@ Bootstrap.BsModalComponent = Ember.Component.extend(Ember.Evented, Ember.assert("Modal name is required for modal view #{@get('elementId')}", @get('name')) name?= @get('elementId') Bootstrap.ModalManager.add(name, @) - Bootstrap.adjustModalMaxHeightAndPosition() + @onResize() + @dialogStyle() if @manual @show() becameVisible: -> Em.$('body').addClass('modal-open') - @appendBackdrop() if @get("backdrop") + #@appendBackdrop() if @get("backdrop") becameHidden: -> Em.$('body').removeClass('modal-open') - @_backdrop.remove() if @_backdrop + #@_backdrop.remove() if @_backdrop appendBackdrop: -> parentElement = @$().parent() @@ -81,9 +139,12 @@ Bootstrap.BsModalComponent = Ember.Component.extend(Ember.Evented, hide: -> @set 'isVis', false current = this - @$().one 'webkitTransitionEnd', (e) -> + if @get('fade') + @$().one 'webkitTransitionEnd', (e) -> current.set 'isVisible', false return + else + current.set 'isVisible', false false toggle: -> @@ -103,10 +164,13 @@ Bootstrap.BsModalComponent = Ember.Component.extend(Ember.Evented, close: (event) -> @set 'isVis', false current = this - @$().one 'webkitTransitionEnd', (e) -> + if @get('fade') + @$().one 'webkitTransitionEnd', (e) -> if current.get('manual') then current.destroy() else current.hide() return - @trigger 'closed' + else + current.hide() + @trigger 'closed', this #Invoked automatically by ember when the view is destroyed, giving us a chance to perform cleanups @@ -140,8 +204,15 @@ Bootstrap.BsModalComponent = Bootstrap.BsModalComponent.reopenClass( ) ### -Bootstrap.ModalManager = Ember.Object.create( +Bootstrap.ModalManager = Ember.Object.createWithMixins(Ember.Evented, add: (name, modalInstance) -> + zindex = @get('zindex') + @set('zindex', zindex + 2) + modalInstance.set('zindex', zindex + 2) + modalInstance.on 'closed', (e) -> + zindex = e.get('zindex') + Bootstrap.ModalManager.set('zindex', zindex - 2) if zindex is Bootstrap.ModalManager.get('zindex') + Bootstrap.ModalManager.trigger 'closed', e @set name, modalInstance register: (name, modalInstance) -> @@ -201,7 +272,7 @@ Bootstrap.ModalManager = Ember.Object.create( options = {} unless options? options.fade = @get("fade") unless options.fade? options.fullSizeButtons = @get("fullSizeButtons") unless options.fullSizeButtons? - options.targetObj = controller unless options.targetObj? + options.targetObject = controller unless options.targetObject? options.vertical = @get("vertical") unless options.vertical? cl = controller.container.lookup("component-lookup:main") modalComponent = cl.lookupFactory("bs-modal", controller.get("container")).create() @@ -210,11 +281,9 @@ Bootstrap.ModalManager = Ember.Object.create( title: title manual: true footerButtons: footerButtons - targetObject: options.targetObj - fade: options.fade - fullSizeButtons: options.fullSizeButtons - vertical: options.vertical - + + modalComponent.setProperties(options) + if Ember.typeOf(view) is "string" template = controller.container.lookup("template:" + view) Ember.assert "Template " + view + " was specified for Modal but template could not be found.", template @@ -232,11 +301,12 @@ Bootstrap.ModalManager = Ember.Object.create( fade: true fullSizeButtons: false vertical: false + zindex: 1000 ) Ember.Application.initializer name: 'bs-modal' initialize: (container, application) -> - Ember.$(window).resize(Bootstrap.adjustModalMaxHeightAndPosition).trigger "resize" if Ember.$(window).height() >= 320 + #Ember.$(window).resize(Bootstrap.adjustModalMaxHeightAndPosition).trigger "resize" if Ember.$(window).height() >= 320 container.register "component:bs-modal", Bootstrap.BsModalComponent \ No newline at end of file diff --git a/app/templates/components/bs-modal.hbs b/app/templates/components/bs-modal.hbs index 7111848..5a8d505 100644 --- a/app/templates/components/bs-modal.hbs +++ b/app/templates/components/bs-modal.hbs @@ -25,4 +25,6 @@ {{/each}}
    -
    \ No newline at end of file + + +
    \ No newline at end of file diff --git a/dist/js/bs-modal.max.js b/dist/js/bs-modal.max.js index 2956d81..c700164 100644 --- a/dist/js/bs-modal.max.js +++ b/dist/js/bs-modal.max.js @@ -4,40 +4,59 @@ Modal component. (function() { - Bootstrap.adjustModalMaxHeightAndPosition = function() { - return Ember.$(".modal.vertical").each(function() { - var contentHeight, footerHeight, headerHeight; - if (Ember.$(this).hasClass("in") === false) { - Ember.$(this).show(); - } - contentHeight = Ember.$(window).height() - 60; - headerHeight = Ember.$(this).find(".modal-header").outerHeight() || 2; - footerHeight = Ember.$(this).find(".modal-footer").outerHeight() || 2; - Ember.$(this).find(".modal-content").css({ - "max-height": function() { - return contentHeight; - } - }); - Ember.$(this).find(".modal-body").css({ - "max-height": function() { - return contentHeight - (headerHeight + footerHeight); - } - }); - Ember.$(this).find(".modal-dialog").addClass("modal-dialog-center").css({ - "margin-top": function() { - return -(Ember.$(this).outerHeight() / 2); - }, - "margin-left": function() { - return -(Ember.$(this).outerWidth() / 2); + Bootstrap.ResizeMixin = Ember.Mixin.create({ + resizing: false, + resizeDelay: 200, + findResizableParentView: function(parent) { + if (Ember.isNone(parent)) { + return null; + } + if (parent && !parent.has('resize')) { + return this.findResizableParentView(parent.get('parentView')); + } + return parent; + }, + _setupResizeHandlers: (function() { + var parent, resizeHandler; + resizeHandler = this.get('_handleResize'); + parent = this.findResizableParentView(this.get('parentView')); + if (Ember.isNone(parent)) { + resizeHandler = Ember.$.proxy(resizeHandler, this); + Ember.$(window).on('resize.' + this.elementId, resizeHandler); + this._resizeHandler = resizeHandler; + } else { + parent.on('resize', this, resizeHandler); + } + }).on('didInsertElement'), + _removeResizeHandlers: (function() { + if (this._resizeHandler) { + Ember.$(window).off('resize.' + this.elementId, this._resizeHandler); + } + }).on('willDestroyElement'), + _handleResize: function(event, promise) { + if (Ember.isNone(promise)) { + promise = Ember.RSVP.resolve(null, 'Resize handler'); + } + if (!this.get('resizing')) { + this.set('resizing', true); + if (this.has('resizeStart')) { + this.trigger('resizeStart', event); } - }); - if (Ember.$(this).hasClass("in") === false) { - return Ember.$(this).hide(); } - }); - }; + if (this.has('resize')) { + this.trigger('resize', event, promise); + } + Ember.run.debounce(this, this._endResize, event, this.get('resizeDelay')); + }, + _endResize: function(event) { + this.set('resizing', false); + if (this.has('resizeEnd')) { + this.trigger('resizeEnd', event); + } + } + }); - Bootstrap.BsModalComponent = Ember.Component.extend(Ember.Evented, { + Bootstrap.BsModalComponent = Ember.Component.extend(Ember.Evented, Bootstrap.ResizeMixin, { layoutName: 'components/bs-modal', classNames: ['modal'], classNameBindings: ['fade', 'isVis:in', 'vertical:vertical'], @@ -45,6 +64,16 @@ Modal component. isAriaHidden: (function() { return "" + (this.get('isVisible')); }).property('isVisible'), + dialogStyle: (function() { + Ember.run.scheduleOnce('afterRender', this, function() { + if (this.$()) { + return this.$().find('.modal-dialog').css('z-index', this.get('zindex')); + } + }); + }).observes('zindex'), + backdropStyle: (function() { + return "z-index: " + (this.get('zindex') - 2) + ";"; + }).property('zindex'), modalBackdrop: '', role: 'dialog', footerViews: [], @@ -56,6 +85,38 @@ Modal component. fullSizeButtons: false, fade: true, vertical: false, + zindex: 1000, + onResize: (function() { + if (this.get('vertical')) { + return Ember.run.scheduleOnce('afterRender', this, function() { + var contentHeight, footerHeight, headerHeight; + contentHeight = void 0; + footerHeight = void 0; + headerHeight = void 0; + contentHeight = Ember.$(window).height() - 60; + headerHeight = this.$().find('.modal-header').outerHeight() || 2; + footerHeight = this.$().find('.modal-footer').outerHeight() || 2; + this.$().find('.modal-content').css({ + 'max-height': function() { + return contentHeight; + } + }); + this.$().find('.modal-body').css({ + 'max-height': function() { + return contentHeight - headerHeight + footerHeight; + } + }); + return this.$().find('.modal-dialog').addClass('modal-dialog-center').css({ + 'margin-top': function() { + return -(Ember.$(this).outerHeight() / 2); + }, + 'margin-left': function() { + return -(Ember.$(this).outerWidth() / 2); + } + }); + }); + } + }).on('resize'), didInsertElement: function() { var name; this._super(); @@ -66,22 +127,17 @@ Modal component. name = this.get('elementId'); } Bootstrap.ModalManager.add(name, this); - Bootstrap.adjustModalMaxHeightAndPosition(); + this.onResize(); + this.dialogStyle(); if (this.manual) { return this.show(); } }, becameVisible: function() { - Em.$('body').addClass('modal-open'); - if (this.get("backdrop")) { - return this.appendBackdrop(); - } + return Em.$('body').addClass('modal-open'); }, becameHidden: function() { - Em.$('body').removeClass('modal-open'); - if (this._backdrop) { - return this._backdrop.remove(); - } + return Em.$('body').removeClass('modal-open'); }, appendBackdrop: function() { var parentElement; @@ -100,9 +156,13 @@ Modal component. var current; this.set('isVis', false); current = this; - this.$().one('webkitTransitionEnd', function(e) { + if (this.get('fade')) { + this.$().one('webkitTransitionEnd', function(e) { + current.set('isVisible', false); + }); + } else { current.set('isVisible', false); - }); + } return false; }, toggle: function() { @@ -125,14 +185,18 @@ Modal component. var current; this.set('isVis', false); current = this; - this.$().one('webkitTransitionEnd', function(e) { - if (current.get('manual')) { - current.destroy(); - } else { - current.hide(); - } - }); - return this.trigger('closed'); + if (this.get('fade')) { + this.$().one('webkitTransitionEnd', function(e) { + if (current.get('manual')) { + current.destroy(); + } else { + current.hide(); + } + }); + } else { + current.hide(); + } + return this.trigger('closed', this); }, willDestroyElement: function() { var name; @@ -172,8 +236,19 @@ Modal component. */ - Bootstrap.ModalManager = Ember.Object.create({ + Bootstrap.ModalManager = Ember.Object.createWithMixins(Ember.Evented, { add: function(name, modalInstance) { + var zindex; + zindex = this.get('zindex'); + this.set('zindex', zindex + 2); + modalInstance.set('zindex', zindex + 2); + modalInstance.on('closed', function(e) { + zindex = e.get('zindex'); + if (zindex === Bootstrap.ModalManager.get('zindex')) { + Bootstrap.ModalManager.set('zindex', zindex - 2); + } + return Bootstrap.ModalManager.trigger('closed', e); + }); return this.set(name, modalInstance); }, register: function(name, modalInstance) { @@ -288,8 +363,8 @@ Modal component. if (options.fullSizeButtons == null) { options.fullSizeButtons = this.get("fullSizeButtons"); } - if (options.targetObj == null) { - options.targetObj = controller; + if (options.targetObject == null) { + options.targetObject = controller; } if (options.vertical == null) { options.vertical = this.get("vertical"); @@ -300,12 +375,9 @@ Modal component. name: name, title: title, manual: true, - footerButtons: footerButtons, - targetObject: options.targetObj, - fade: options.fade, - fullSizeButtons: options.fullSizeButtons, - vertical: options.vertical + footerButtons: footerButtons }); + modalComponent.setProperties(options); if (Ember.typeOf(view) === "string") { template = controller.container.lookup("template:" + view); Ember.assert("Template " + view + " was specified for Modal but template could not be found.", template); @@ -327,15 +399,13 @@ Modal component. }, fade: true, fullSizeButtons: false, - vertical: false + vertical: false, + zindex: 1000 }); Ember.Application.initializer({ name: 'bs-modal', initialize: function(container, application) { - if (Ember.$(window).height() >= 320) { - Ember.$(window).resize(Bootstrap.adjustModalMaxHeightAndPosition).trigger("resize"); - } return container.register("component:bs-modal", Bootstrap.BsModalComponent); } }); @@ -551,62 +621,68 @@ Ember.TEMPLATES["components/bs-modal"] = Ember.HTMLBars.template((function() { cachedFragment: null, hasRendered: false, build: function build(dom) { - var el0 = dom.createElement("div"); - dom.setAttribute(el0,"class","modal-dialog"); - var el1 = dom.createTextNode("\n "); - dom.appendChild(el0, el1); + var el0 = dom.createDocumentFragment(); var el1 = dom.createElement("div"); - dom.setAttribute(el1,"class","modal-content"); - var el2 = dom.createTextNode("\n "); + dom.setAttribute(el1,"class","modal-dialog"); + var el2 = dom.createTextNode("\n "); dom.appendChild(el1, el2); var el2 = dom.createElement("div"); - dom.setAttribute(el2,"class","modal-header"); - var el3 = dom.createTextNode("\n "); - dom.appendChild(el2, el3); - var el3 = dom.createElement("button"); - dom.setAttribute(el3,"type","button"); - dom.setAttribute(el3,"data-dismiss","modal"); - dom.setAttribute(el3,"aria-hidden","true"); - var el4 = dom.createTextNode("×"); - dom.appendChild(el3, el4); - dom.appendChild(el2, el3); - var el3 = dom.createTextNode("\n "); + dom.setAttribute(el2,"class","modal-content"); + var el3 = dom.createTextNode("\n "); dom.appendChild(el2, el3); - var el3 = dom.createElement("h4"); - dom.setAttribute(el3,"class","modal-title"); - var el4 = dom.createTextNode("\n"); + var el3 = dom.createElement("div"); + dom.setAttribute(el3,"class","modal-header"); + var el4 = dom.createTextNode("\n "); dom.appendChild(el3, el4); - var el4 = dom.createTextNode(" "); + var el4 = dom.createElement("button"); + dom.setAttribute(el4,"type","button"); + dom.setAttribute(el4,"data-dismiss","modal"); + dom.setAttribute(el4,"aria-hidden","true"); + var el5 = dom.createTextNode("×"); + dom.appendChild(el4, el5); dom.appendChild(el3, el4); var el4 = dom.createTextNode("\n "); dom.appendChild(el3, el4); + var el4 = dom.createElement("h4"); + dom.setAttribute(el4,"class","modal-title"); + var el5 = dom.createTextNode("\n"); + dom.appendChild(el4, el5); + var el5 = dom.createTextNode(" "); + dom.appendChild(el4, el5); + var el5 = dom.createTextNode("\n "); + dom.appendChild(el4, el5); + dom.appendChild(el3, el4); + var el4 = dom.createTextNode("\n "); + dom.appendChild(el3, el4); dom.appendChild(el2, el3); var el3 = dom.createTextNode("\n "); dom.appendChild(el2, el3); - dom.appendChild(el1, el2); - var el2 = dom.createTextNode("\n "); - dom.appendChild(el1, el2); - var el2 = dom.createElement("div"); - dom.setAttribute(el2,"class","modal-body"); - var el3 = dom.createTextNode("\n"); - dom.appendChild(el2, el3); - var el3 = dom.createTextNode(" "); + var el3 = dom.createElement("div"); + dom.setAttribute(el3,"class","modal-body"); + var el4 = dom.createTextNode("\n"); + dom.appendChild(el3, el4); + var el4 = dom.createTextNode(" "); + dom.appendChild(el3, el4); dom.appendChild(el2, el3); - dom.appendChild(el1, el2); - var el2 = dom.createTextNode("\n "); - dom.appendChild(el1, el2); - var el2 = dom.createElement("div"); - var el3 = dom.createTextNode("\n"); + var el3 = dom.createTextNode("\n "); dom.appendChild(el2, el3); - var el3 = dom.createTextNode(""); + var el3 = dom.createElement("div"); + var el4 = dom.createTextNode("\n"); + dom.appendChild(el3, el4); + var el4 = dom.createTextNode(""); + dom.appendChild(el3, el4); + var el4 = dom.createTextNode(" "); + dom.appendChild(el3, el4); dom.appendChild(el2, el3); - var el3 = dom.createTextNode(" "); + var el3 = dom.createTextNode("\n "); dom.appendChild(el2, el3); dom.appendChild(el1, el2); - var el2 = dom.createTextNode("\n "); + var el2 = dom.createTextNode("\n"); dom.appendChild(el1, el2); dom.appendChild(el0, el1); - var el1 = dom.createTextNode("\n"); + var el1 = dom.createTextNode("\n\n"); + dom.appendChild(el0, el1); + var el1 = dom.createElement("div"); dom.appendChild(el0, el1); return el0; }, @@ -630,12 +706,13 @@ Ember.TEMPLATES["components/bs-modal"] = Ember.HTMLBars.template((function() { } else { fragment = this.build(dom); } - var element1 = dom.childAt(fragment, [1]); + var element1 = dom.childAt(fragment, [0, 1]); var element2 = dom.childAt(element1, [1]); var element3 = dom.childAt(element2, [1]); var element4 = dom.childAt(element2, [3]); var element5 = dom.childAt(element1, [5]); if (this.cachedFragment) { dom.repairClonedNode(element5,[1]); } + var element6 = dom.childAt(fragment, [2]); var morph0 = dom.createMorphAt(element4,0,1); var morph1 = dom.createUnsafeMorphAt(element4,1,2); var morph2 = dom.createMorphAt(dom.childAt(element1, [3]),0,1); @@ -648,6 +725,7 @@ Ember.TEMPLATES["components/bs-modal"] = Ember.HTMLBars.template((function() { element(env, element5, context, "bind-attr", [], {"class": ":modal-footer fullSizeButtons:modal-footer-full"}); block(env, morph3, context, "each", [get(env, context, "footerButtons")], {}, child3, null); block(env, morph4, context, "each", [get(env, context, "footerViews")], {}, child4, null); + element(env, element6, context, "bind-attr", [], {"style": get(env, context, "backdropStyle"), "class": ":modal-backdrop :fade backdrop:in"}); return fragment; } }; diff --git a/dist/js/bs-modal.min.js b/dist/js/bs-modal.min.js index c2b2bc3..2aa3e16 100644 --- a/dist/js/bs-modal.min.js +++ b/dist/js/bs-modal.min.js @@ -1 +1 @@ -(function(){Bootstrap.adjustModalMaxHeightAndPosition=function(){return Ember.$(".modal.vertical").each(function(){var a,b,c;return Ember.$(this).hasClass("in")===!1&&Ember.$(this).show(),a=Ember.$(window).height()-60,c=Ember.$(this).find(".modal-header").outerHeight()||2,b=Ember.$(this).find(".modal-footer").outerHeight()||2,Ember.$(this).find(".modal-content").css({"max-height":function(){return a}}),Ember.$(this).find(".modal-body").css({"max-height":function(){return a-(c+b)}}),Ember.$(this).find(".modal-dialog").addClass("modal-dialog-center").css({"margin-top":function(){return-(Ember.$(this).outerHeight()/2)},"margin-left":function(){return-(Ember.$(this).outerWidth()/2)}}),Ember.$(this).hasClass("in")===!1?Ember.$(this).hide():void 0})},Bootstrap.BsModalComponent=Ember.Component.extend(Ember.Evented,{layoutName:"components/bs-modal",classNames:["modal"],classNameBindings:["fade","isVis:in","vertical:vertical"],attributeBindings:["role","aria-labelledby","isAriaHidden:aria-hidden","ariaLabelledBy:aria-labelledby"],isAriaHidden:function(){return""+this.get("isVisible")}.property("isVisible"),modalBackdrop:'',role:"dialog",footerViews:[],backdrop:!0,title:null,isVisible:!1,manual:!1,isVis:!1,fullSizeButtons:!1,fade:!0,vertical:!1,didInsertElement:function(){var a;return this._super(),this.setupBinders(),a=this.get("name"),Ember.assert("Modal name is required for modal view "+this.get("elementId"),this.get("name")),null==a&&(a=this.get("elementId")),Bootstrap.ModalManager.add(a,this),Bootstrap.adjustModalMaxHeightAndPosition(),this.manual?this.show():void 0},becameVisible:function(){return Em.$("body").addClass("modal-open"),this.get("backdrop")?this.appendBackdrop():void 0},becameHidden:function(){return Em.$("body").removeClass("modal-open"),this._backdrop?this._backdrop.remove():void 0},appendBackdrop:function(){var a;return a=this.$().parent(),this._backdrop=Em.$(this.modalBackdrop).appendTo(a)},show:function(){var a;this.set("isVisible",!0),a=this,setTimeout(function(){a.set("isVis",!0)},15)},hide:function(){var a;return this.set("isVis",!1),a=this,this.$().one("webkitTransitionEnd",function(){a.set("isVisible",!1)}),!1},toggle:function(){return this.toggleProperty("isVisible")},click:function(a){var b,c;return b=a.target,c=b.getAttribute("data-dismiss"),"modal"===c?this.close():void 0},keyPressed:function(a){return 27===a.keyCode?this.close(a):void 0},close:function(){var a;return this.set("isVis",!1),a=this,this.$().one("webkitTransitionEnd",function(){a.get("manual")?a.destroy():a.hide()}),this.trigger("closed")},willDestroyElement:function(){var a;return Em.$("body").removeClass("modal-open"),this.removeHandlers(),a=this.get("name"),null==a&&(a=this.get("elementId")),Bootstrap.ModalManager.remove(a,this),this._backdrop?this._backdrop.remove():void 0},removeHandlers:function(){return jQuery(window.document).unbind("keyup",this._keyUpHandler)},setupBinders:function(){var a,b=this;return a=function(a){return b.keyPressed(a)},jQuery(window.document).bind("keyup",a),this._keyUpHandler=a}}),Bootstrap.ModalManager=Ember.Object.create({add:function(a,b){return this.set(a,b)},register:function(a,b){return this.add(a,b),b.appendTo(b.get("targetObject").namespace.rootElement)},remove:function(a){return this.set(a,null)},close:function(a){return this.get(a).close()},hide:function(a){return this.get(a).hide()},show:function(a){return this.get(a).show()},toggle:function(a){return this.get(a).toggle()},confirm:function(a,b,c,d,e,f,g,h,i,j){var k,l;return null==e&&(e="Confirm"),null==f&&(f="modalConfirmed"),null==g&&(g=null),null==h&&(h="Cancel"),null==i&&(i="modalCanceled"),null==j&&(j=null),k=Ember.View.extend({template:Ember.Handlebars.compile(c||"Are you sure you would like to perform this action?")}),l=[Ember.Object.create({title:e,clicked:f,type:g,dismiss:"modal"}),Ember.Object.create({title:h,clicked:i,type:j,dismiss:"modal"})],this.open("confirm-modal",b||"Confirmation required!",k,l,a,d)},okModal:function(a,b,c,d,e,f,g){var h,i;return null==d&&(d="OK"),null==e&&(e="okModal"),null==f&&(f=null),h=Ember.View.extend({template:Ember.Handlebars.compile(c||"Are you sure you would like to perform this action?")}),i=[Ember.Object.create({title:d,clicked:e,type:f,dismiss:"modal"})],this.open("ok-modal",b||"Confirmation required!",h,i,a,g)},openModal:function(a,b){var c,d;return null==b&&(b={}),d=b.rootElement||".ember-application",c=a.create(b),c.appendTo(d)},openManual:function(a,b,c,d,e,f){var g;return g=Ember.View.extend({template:Ember.Handlebars.compile(c),controller:e}),this.open(a,b,g,d,e,f)},open:function(a,b,c,d,e,f){var g,h,i;return g=void 0,h=void 0,i=void 0,null==f&&(f={}),null==f.fade&&(f.fade=this.get("fade")),null==f.fullSizeButtons&&(f.fullSizeButtons=this.get("fullSizeButtons")),null==f.targetObj&&(f.targetObj=e),null==f.vertical&&(f.vertical=this.get("vertical")),g=e.container.lookup("component-lookup:main"),h=g.lookupFactory("bs-modal",e.get("container")).create(),h.setProperties({name:a,title:b,manual:!0,footerButtons:d,targetObject:f.targetObj,fade:f.fade,fullSizeButtons:f.fullSizeButtons,vertical:f.vertical}),"string"===Ember.typeOf(c)?(i=e.container.lookup("template:"+c),Ember.assert("Template "+c+" was specified for Modal but template could not be found.",i),i&&h.setProperties({body:Ember.View.extend({template:i,controller:e})})):"class"===Ember.typeOf(c)&&h.setProperties({body:c,controller:e}),h.appendTo(e.namespace.rootElement)},fade:!0,fullSizeButtons:!1,vertical:!1}),Ember.Application.initializer({name:"bs-modal",initialize:function(a){return Ember.$(window).height()>=320&&Ember.$(window).resize(Bootstrap.adjustModalMaxHeightAndPosition).trigger("resize"),a.register("component:bs-modal",Bootstrap.BsModalComponent)}})}).call(this),Ember.TEMPLATES["components/bs-modal"]=Ember.HTMLBars.template(function(){var a=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createElement("i");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.element;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.childAt(g,[1]);return f(b,h,a,"bind-attr",[],{"class":"titleIconClasses"}),g}}}(),b=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,0,1,c);return g(b,i,a,"view",[f(b,a,"view.body")],{}),h}}}(),c=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.content;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.createMorphAt(g,0,1,c);return f(b,h,a,"yield"),g}}}(),d=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,0,1,c);return g(b,i,a,"bs-button",[],{content:f(b,a,"this"),targetObjectBinding:"view.targetObject"}),h}}}(),e=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,0,1,c);return g(b,i,a,"view",[f(b,a,"this")],{}),h}}}();return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createElement("div");a.setAttribute(b,"class","modal-dialog");var c=a.createTextNode("\n ");a.appendChild(b,c);var c=a.createElement("div");a.setAttribute(c,"class","modal-content");var d=a.createTextNode("\n ");a.appendChild(c,d);var d=a.createElement("div");a.setAttribute(d,"class","modal-header");var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("button");a.setAttribute(e,"type","button"),a.setAttribute(e,"data-dismiss","modal"),a.setAttribute(e,"aria-hidden","true");var f=a.createTextNode("×");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("h4");a.setAttribute(e,"class","modal-title");var f=a.createTextNode("\n");a.appendChild(e,f);var f=a.createTextNode(" ");a.appendChild(e,f);var f=a.createTextNode("\n ");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e),a.appendChild(c,d);var d=a.createTextNode("\n ");a.appendChild(c,d);var d=a.createElement("div");a.setAttribute(d,"class","modal-body");var e=a.createTextNode("\n");a.appendChild(d,e);var e=a.createTextNode(" ");a.appendChild(d,e),a.appendChild(c,d);var d=a.createTextNode("\n ");a.appendChild(c,d);var d=a.createElement("div"),e=a.createTextNode("\n");a.appendChild(d,e);var e=a.createTextNode("");a.appendChild(d,e);var e=a.createTextNode(" ");a.appendChild(d,e),a.appendChild(c,d);var d=a.createTextNode("\n ");a.appendChild(c,d),a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(f,g,h){var i=g.dom,j=g.hooks,k=j.element,l=j.get,m=j.block,n=j.content;i.detectNamespace(h);var o;g.useFragmentCache&&i.canClone?(null===this.cachedFragment&&(o=this.build(i),this.hasRendered?this.cachedFragment=o:this.hasRendered=!0),this.cachedFragment&&(o=i.cloneNode(this.cachedFragment,!0))):o=this.build(i);var p=i.childAt(o,[1]),q=i.childAt(p,[1]),r=i.childAt(q,[1]),s=i.childAt(q,[3]),t=i.childAt(p,[5]);this.cachedFragment&&i.repairClonedNode(t,[1]);var u=i.createMorphAt(s,0,1),v=i.createUnsafeMorphAt(s,1,2),w=i.createMorphAt(i.childAt(p,[3]),0,1),x=i.createMorphAt(t,0,1),y=i.createMorphAt(t,1,2);return k(g,r,f,"bind-attr",[],{"class":":close allowClose::hide"}),m(g,u,f,"if",[l(g,f,"titleIconClasses")],{},a,null),n(g,v,f,"title"),m(g,w,f,"if",[l(g,f,"body")],{},b,c),k(g,t,f,"bind-attr",[],{"class":":modal-footer fullSizeButtons:modal-footer-full"}),m(g,x,f,"each",[l(g,f,"footerButtons")],{},d,null),m(g,y,f,"each",[l(g,f,"footerViews")],{},e,null),o}}}()); \ No newline at end of file +(function(){Bootstrap.ResizeMixin=Ember.Mixin.create({resizing:!1,resizeDelay:200,findResizableParentView:function(a){return Ember.isNone(a)?null:a&&!a.has("resize")?this.findResizableParentView(a.get("parentView")):a},_setupResizeHandlers:function(){var a,b;b=this.get("_handleResize"),a=this.findResizableParentView(this.get("parentView")),Ember.isNone(a)?(b=Ember.$.proxy(b,this),Ember.$(window).on("resize."+this.elementId,b),this._resizeHandler=b):a.on("resize",this,b)}.on("didInsertElement"),_removeResizeHandlers:function(){this._resizeHandler&&Ember.$(window).off("resize."+this.elementId,this._resizeHandler)}.on("willDestroyElement"),_handleResize:function(a,b){Ember.isNone(b)&&(b=Ember.RSVP.resolve(null,"Resize handler")),this.get("resizing")||(this.set("resizing",!0),this.has("resizeStart")&&this.trigger("resizeStart",a)),this.has("resize")&&this.trigger("resize",a,b),Ember.run.debounce(this,this._endResize,a,this.get("resizeDelay"))},_endResize:function(a){this.set("resizing",!1),this.has("resizeEnd")&&this.trigger("resizeEnd",a)}}),Bootstrap.BsModalComponent=Ember.Component.extend(Ember.Evented,Bootstrap.ResizeMixin,{layoutName:"components/bs-modal",classNames:["modal"],classNameBindings:["fade","isVis:in","vertical:vertical"],attributeBindings:["role","aria-labelledby","isAriaHidden:aria-hidden","ariaLabelledBy:aria-labelledby"],isAriaHidden:function(){return""+this.get("isVisible")}.property("isVisible"),dialogStyle:function(){Ember.run.scheduleOnce("afterRender",this,function(){return this.$()?this.$().find(".modal-dialog").css("z-index",this.get("zindex")):void 0})}.observes("zindex"),backdropStyle:function(){return"z-index: "+(this.get("zindex")-2)+";"}.property("zindex"),modalBackdrop:'',role:"dialog",footerViews:[],backdrop:!0,title:null,isVisible:!1,manual:!1,isVis:!1,fullSizeButtons:!1,fade:!0,vertical:!1,zindex:1e3,onResize:function(){return this.get("vertical")?Ember.run.scheduleOnce("afterRender",this,function(){var a,b,c;return a=void 0,b=void 0,c=void 0,a=Ember.$(window).height()-60,c=this.$().find(".modal-header").outerHeight()||2,b=this.$().find(".modal-footer").outerHeight()||2,this.$().find(".modal-content").css({"max-height":function(){return a}}),this.$().find(".modal-body").css({"max-height":function(){return a-c+b}}),this.$().find(".modal-dialog").addClass("modal-dialog-center").css({"margin-top":function(){return-(Ember.$(this).outerHeight()/2)},"margin-left":function(){return-(Ember.$(this).outerWidth()/2)}})}):void 0}.on("resize"),didInsertElement:function(){var a;return this._super(),this.setupBinders(),a=this.get("name"),Ember.assert("Modal name is required for modal view "+this.get("elementId"),this.get("name")),null==a&&(a=this.get("elementId")),Bootstrap.ModalManager.add(a,this),this.onResize(),this.dialogStyle(),this.manual?this.show():void 0},becameVisible:function(){return Em.$("body").addClass("modal-open")},becameHidden:function(){return Em.$("body").removeClass("modal-open")},appendBackdrop:function(){var a;return a=this.$().parent(),this._backdrop=Em.$(this.modalBackdrop).appendTo(a)},show:function(){var a;this.set("isVisible",!0),a=this,setTimeout(function(){a.set("isVis",!0)},15)},hide:function(){var a;return this.set("isVis",!1),a=this,this.get("fade")?this.$().one("webkitTransitionEnd",function(){a.set("isVisible",!1)}):a.set("isVisible",!1),!1},toggle:function(){return this.toggleProperty("isVisible")},click:function(a){var b,c;return b=a.target,c=b.getAttribute("data-dismiss"),"modal"===c?this.close():void 0},keyPressed:function(a){return 27===a.keyCode?this.close(a):void 0},close:function(){var a;return this.set("isVis",!1),a=this,this.get("fade")?this.$().one("webkitTransitionEnd",function(){a.get("manual")?a.destroy():a.hide()}):a.hide(),this.trigger("closed",this)},willDestroyElement:function(){var a;return Em.$("body").removeClass("modal-open"),this.removeHandlers(),a=this.get("name"),null==a&&(a=this.get("elementId")),Bootstrap.ModalManager.remove(a,this),this._backdrop?this._backdrop.remove():void 0},removeHandlers:function(){return jQuery(window.document).unbind("keyup",this._keyUpHandler)},setupBinders:function(){var a,b=this;return a=function(a){return b.keyPressed(a)},jQuery(window.document).bind("keyup",a),this._keyUpHandler=a}}),Bootstrap.ModalManager=Ember.Object.createWithMixins(Ember.Evented,{add:function(a,b){var c;return c=this.get("zindex"),this.set("zindex",c+2),b.set("zindex",c+2),b.on("closed",function(a){return c=a.get("zindex"),c===Bootstrap.ModalManager.get("zindex")&&Bootstrap.ModalManager.set("zindex",c-2),Bootstrap.ModalManager.trigger("closed",a)}),this.set(a,b)},register:function(a,b){return this.add(a,b),b.appendTo(b.get("targetObject").namespace.rootElement)},remove:function(a){return this.set(a,null)},close:function(a){return this.get(a).close()},hide:function(a){return this.get(a).hide()},show:function(a){return this.get(a).show()},toggle:function(a){return this.get(a).toggle()},confirm:function(a,b,c,d,e,f,g,h,i,j){var k,l;return null==e&&(e="Confirm"),null==f&&(f="modalConfirmed"),null==g&&(g=null),null==h&&(h="Cancel"),null==i&&(i="modalCanceled"),null==j&&(j=null),k=Ember.View.extend({template:Ember.Handlebars.compile(c||"Are you sure you would like to perform this action?")}),l=[Ember.Object.create({title:e,clicked:f,type:g,dismiss:"modal"}),Ember.Object.create({title:h,clicked:i,type:j,dismiss:"modal"})],this.open("confirm-modal",b||"Confirmation required!",k,l,a,d)},okModal:function(a,b,c,d,e,f,g){var h,i;return null==d&&(d="OK"),null==e&&(e="okModal"),null==f&&(f=null),h=Ember.View.extend({template:Ember.Handlebars.compile(c||"Are you sure you would like to perform this action?")}),i=[Ember.Object.create({title:d,clicked:e,type:f,dismiss:"modal"})],this.open("ok-modal",b||"Confirmation required!",h,i,a,g)},openModal:function(a,b){var c,d;return null==b&&(b={}),d=b.rootElement||".ember-application",c=a.create(b),c.appendTo(d)},openManual:function(a,b,c,d,e,f){var g;return g=Ember.View.extend({template:Ember.Handlebars.compile(c),controller:e}),this.open(a,b,g,d,e,f)},open:function(a,b,c,d,e,f){var g,h,i;return g=void 0,h=void 0,i=void 0,null==f&&(f={}),null==f.fade&&(f.fade=this.get("fade")),null==f.fullSizeButtons&&(f.fullSizeButtons=this.get("fullSizeButtons")),null==f.targetObject&&(f.targetObject=e),null==f.vertical&&(f.vertical=this.get("vertical")),g=e.container.lookup("component-lookup:main"),h=g.lookupFactory("bs-modal",e.get("container")).create(),h.setProperties({name:a,title:b,manual:!0,footerButtons:d}),h.setProperties(f),"string"===Ember.typeOf(c)?(i=e.container.lookup("template:"+c),Ember.assert("Template "+c+" was specified for Modal but template could not be found.",i),i&&h.setProperties({body:Ember.View.extend({template:i,controller:e})})):"class"===Ember.typeOf(c)&&h.setProperties({body:c,controller:e}),h.appendTo(e.namespace.rootElement)},fade:!0,fullSizeButtons:!1,vertical:!1,zindex:1e3}),Ember.Application.initializer({name:"bs-modal",initialize:function(a){return a.register("component:bs-modal",Bootstrap.BsModalComponent)}})}).call(this),Ember.TEMPLATES["components/bs-modal"]=Ember.HTMLBars.template(function(){var a=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createElement("i");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.element;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.childAt(g,[1]);return f(b,h,a,"bind-attr",[],{"class":"titleIconClasses"}),g}}}(),b=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,0,1,c);return g(b,i,a,"view",[f(b,a,"view.body")],{}),h}}}(),c=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.content;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.createMorphAt(g,0,1,c);return f(b,h,a,"yield"),g}}}(),d=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,0,1,c);return g(b,i,a,"bs-button",[],{content:f(b,a,"this"),targetObjectBinding:"view.targetObject"}),h}}}(),e=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,0,1,c);return g(b,i,a,"view",[f(b,a,"this")],{}),h}}}();return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createElement("div");a.setAttribute(c,"class","modal-dialog");var d=a.createTextNode("\n ");a.appendChild(c,d);var d=a.createElement("div");a.setAttribute(d,"class","modal-content");var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("div");a.setAttribute(e,"class","modal-header");var f=a.createTextNode("\n ");a.appendChild(e,f);var f=a.createElement("button");a.setAttribute(f,"type","button"),a.setAttribute(f,"data-dismiss","modal"),a.setAttribute(f,"aria-hidden","true");var g=a.createTextNode("×");a.appendChild(f,g),a.appendChild(e,f);var f=a.createTextNode("\n ");a.appendChild(e,f);var f=a.createElement("h4");a.setAttribute(f,"class","modal-title");var g=a.createTextNode("\n");a.appendChild(f,g);var g=a.createTextNode(" ");a.appendChild(f,g);var g=a.createTextNode("\n ");a.appendChild(f,g),a.appendChild(e,f);var f=a.createTextNode("\n ");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("div");a.setAttribute(e,"class","modal-body");var f=a.createTextNode("\n");a.appendChild(e,f);var f=a.createTextNode(" ");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("div"),f=a.createTextNode("\n");a.appendChild(e,f);var f=a.createTextNode("");a.appendChild(e,f);var f=a.createTextNode(" ");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e),a.appendChild(c,d);var d=a.createTextNode("\n");a.appendChild(c,d),a.appendChild(b,c);var c=a.createTextNode("\n\n");a.appendChild(b,c);var c=a.createElement("div");return a.appendChild(b,c),b},render:function(f,g,h){var i=g.dom,j=g.hooks,k=j.element,l=j.get,m=j.block,n=j.content;i.detectNamespace(h);var o;g.useFragmentCache&&i.canClone?(null===this.cachedFragment&&(o=this.build(i),this.hasRendered?this.cachedFragment=o:this.hasRendered=!0),this.cachedFragment&&(o=i.cloneNode(this.cachedFragment,!0))):o=this.build(i);var p=i.childAt(o,[0,1]),q=i.childAt(p,[1]),r=i.childAt(q,[1]),s=i.childAt(q,[3]),t=i.childAt(p,[5]);this.cachedFragment&&i.repairClonedNode(t,[1]);var u=i.childAt(o,[2]),v=i.createMorphAt(s,0,1),w=i.createUnsafeMorphAt(s,1,2),x=i.createMorphAt(i.childAt(p,[3]),0,1),y=i.createMorphAt(t,0,1),z=i.createMorphAt(t,1,2);return k(g,r,f,"bind-attr",[],{"class":":close allowClose::hide"}),m(g,v,f,"if",[l(g,f,"titleIconClasses")],{},a,null),n(g,w,f,"title"),m(g,x,f,"if",[l(g,f,"body")],{},b,c),k(g,t,f,"bind-attr",[],{"class":":modal-footer fullSizeButtons:modal-footer-full"}),m(g,y,f,"each",[l(g,f,"footerButtons")],{},d,null),m(g,z,f,"each",[l(g,f,"footerViews")],{},e,null),k(g,u,f,"bind-attr",[],{style:l(g,f,"backdropStyle"),"class":":modal-backdrop :fade backdrop:in"}),o}}}()); \ No newline at end of file From 101a95cb3eef49ea5f0c0c3857058a6d4a95fa74 Mon Sep 17 00:00:00 2001 From: danshapir Date: Tue, 3 Mar 2015 19:48:56 +0200 Subject: [PATCH 14/24] CSS Vertical --- .../components/BsModalComponent.coffee | 140 +++++++++--------- dist/js/bs-modal.max.js | 88 +---------- dist/js/bs-modal.min.js | 2 +- 3 files changed, 73 insertions(+), 157 deletions(-) diff --git a/app/scripts/components/BsModalComponent.coffee b/app/scripts/components/BsModalComponent.coffee index a76bced..139b25b 100644 --- a/app/scripts/components/BsModalComponent.coffee +++ b/app/scripts/components/BsModalComponent.coffee @@ -2,54 +2,54 @@ Modal component. ### -Bootstrap.ResizeMixin = Ember.Mixin.create( - resizing: false - resizeDelay: 200 - findResizableParentView: (parent) -> - if Ember.isNone(parent) - return null - if parent and !parent.has('resize') - return @findResizableParentView(parent.get('parentView')) - parent - _setupResizeHandlers: (-> - resizeHandler = @get('_handleResize') - parent = @findResizableParentView(@get('parentView')) - if Ember.isNone(parent) - resizeHandler = Ember.$.proxy(resizeHandler, this) - # element doesn't have resizable views, so bind to the window - Ember.$(window).on 'resize.' + @elementId, resizeHandler - @_resizeHandler = resizeHandler - else - parent.on 'resize', this, resizeHandler - return - ).on('didInsertElement') - _removeResizeHandlers: (-> - if @_resizeHandler - Ember.$(window).off 'resize.' + @elementId, @_resizeHandler - return - ).on('willDestroyElement') - _handleResize: (event, promise) -> - if Ember.isNone(promise) - promise = Ember.RSVP.resolve(null, 'Resize handler') - if !@get('resizing') - @set 'resizing', true - if @has('resizeStart') - @trigger 'resizeStart', event - if @has('resize') - @trigger 'resize', event, promise - Ember.run.debounce this, @_endResize, event, @get('resizeDelay') - return - _endResize: (event) -> - @set 'resizing', false - if @has('resizeEnd') - @trigger 'resizeEnd', event - return -) - -Bootstrap.BsModalComponent = Ember.Component.extend(Ember.Evented, Bootstrap.ResizeMixin, +#Bootstrap.ResizeMixin = Ember.Mixin.create( +# resizing: false +# resizeDelay: 200 +# findResizableParentView: (parent) -> +# if Ember.isNone(parent) +# return null +# if parent and !parent.has('resize') +# return @findResizableParentView(parent.get('parentView')) +# parent +# _setupResizeHandlers: (-> +# resizeHandler = @get('_handleResize') +# parent = @findResizableParentView(@get('parentView')) +# if Ember.isNone(parent) +# resizeHandler = Ember.$.proxy(resizeHandler, this) +# # element doesn't have resizable views, so bind to the window +# Ember.$(window).on 'resize.' + @elementId, resizeHandler +# @_resizeHandler = resizeHandler +# else +# parent.on 'resize', this, resizeHandler +# return +# ).on('didInsertElement') +# _removeResizeHandlers: (-> +# if @_resizeHandler +# Ember.$(window).off 'resize.' + @elementId, @_resizeHandler +# return +# ).on('willDestroyElement') +# _handleResize: (event, promise) -> +# if Ember.isNone(promise) +# promise = Ember.RSVP.resolve(null, 'Resize handler') +# if !@get('resizing') +# @set 'resizing', true +# if @has('resizeStart') +# @trigger 'resizeStart', event +# if @has('resize') +# @trigger 'resize', event, promise +# Ember.run.debounce this, @_endResize, event, @get('resizeDelay') +# return +# _endResize: (event) -> +# @set 'resizing', false +# if @has('resizeEnd') +# @trigger 'resizeEnd', event +# return +#) + +Bootstrap.BsModalComponent = Ember.Component.extend(Ember.Evented, layoutName: 'components/bs-modal' classNames: ['modal'] - classNameBindings: ['fade', 'isVis:in', 'vertical:vertical'] + classNameBindings: ['fade', 'isVis:in', 'vertical:modal-dialog-center'] attributeBindings: ['role', 'aria-labelledby', 'isAriaHidden:aria-hidden', "ariaLabelledBy:aria-labelledby"] isAriaHidden: (-> "#{@get('isVisible')}" @@ -78,29 +78,29 @@ Bootstrap.BsModalComponent = Ember.Component.extend(Ember.Evented, Bootstrap.Res fade: true vertical: false zindex: 1000 - - onResize: (-> - # do what you want when resize is triggered - if @get('vertical') - return Ember.run.scheduleOnce('afterRender', this, -> - contentHeight = undefined - footerHeight = undefined - headerHeight = undefined - contentHeight = Ember.$(window).height() - 60 - headerHeight = @$().find('.modal-header').outerHeight() or 2 - footerHeight = @$().find('.modal-footer').outerHeight() or 2 - @$().find('.modal-content').css 'max-height': -> - contentHeight - @$().find('.modal-body').css 'max-height': -> - contentHeight - headerHeight + footerHeight - @$().find('.modal-dialog').addClass('modal-dialog-center').css - 'margin-top': -> - -(Ember.$(this).outerHeight() / 2) - 'margin-left': -> - -(Ember.$(this).outerWidth() / 2) - ) - return - ).on 'resize' +# +# onResize: (-> +# # do what you want when resize is triggered +# if @get('vertical') +# return Ember.run.scheduleOnce('afterRender', this, -> +# contentHeight = undefined +# footerHeight = undefined +# headerHeight = undefined +# contentHeight = Ember.$(window).height() - 60 +# headerHeight = @$().find('.modal-header').outerHeight() or 2 +# footerHeight = @$().find('.modal-footer').outerHeight() or 2 +# @$().find('.modal-content').css 'max-height': -> +# contentHeight +# @$().find('.modal-body').css 'max-height': -> +# contentHeight - headerHeight + footerHeight +# @$().find('.modal-dialog').addClass('modal-dialog-center').css +# 'margin-top': -> +# -(Ember.$(this).outerHeight() / 2) +# 'margin-left': -> +# -(Ember.$(this).outerWidth() / 2) +# ) +# return +# ).on 'resize' didInsertElement: -> @._super() @@ -110,7 +110,7 @@ Bootstrap.BsModalComponent = Ember.Component.extend(Ember.Evented, Bootstrap.Res Ember.assert("Modal name is required for modal view #{@get('elementId')}", @get('name')) name?= @get('elementId') Bootstrap.ModalManager.add(name, @) - @onResize() +# @onResize() @dialogStyle() if @manual @show() diff --git a/dist/js/bs-modal.max.js b/dist/js/bs-modal.max.js index c700164..da8275d 100644 --- a/dist/js/bs-modal.max.js +++ b/dist/js/bs-modal.max.js @@ -4,62 +4,10 @@ Modal component. (function() { - Bootstrap.ResizeMixin = Ember.Mixin.create({ - resizing: false, - resizeDelay: 200, - findResizableParentView: function(parent) { - if (Ember.isNone(parent)) { - return null; - } - if (parent && !parent.has('resize')) { - return this.findResizableParentView(parent.get('parentView')); - } - return parent; - }, - _setupResizeHandlers: (function() { - var parent, resizeHandler; - resizeHandler = this.get('_handleResize'); - parent = this.findResizableParentView(this.get('parentView')); - if (Ember.isNone(parent)) { - resizeHandler = Ember.$.proxy(resizeHandler, this); - Ember.$(window).on('resize.' + this.elementId, resizeHandler); - this._resizeHandler = resizeHandler; - } else { - parent.on('resize', this, resizeHandler); - } - }).on('didInsertElement'), - _removeResizeHandlers: (function() { - if (this._resizeHandler) { - Ember.$(window).off('resize.' + this.elementId, this._resizeHandler); - } - }).on('willDestroyElement'), - _handleResize: function(event, promise) { - if (Ember.isNone(promise)) { - promise = Ember.RSVP.resolve(null, 'Resize handler'); - } - if (!this.get('resizing')) { - this.set('resizing', true); - if (this.has('resizeStart')) { - this.trigger('resizeStart', event); - } - } - if (this.has('resize')) { - this.trigger('resize', event, promise); - } - Ember.run.debounce(this, this._endResize, event, this.get('resizeDelay')); - }, - _endResize: function(event) { - this.set('resizing', false); - if (this.has('resizeEnd')) { - this.trigger('resizeEnd', event); - } - } - }); - - Bootstrap.BsModalComponent = Ember.Component.extend(Ember.Evented, Bootstrap.ResizeMixin, { + Bootstrap.BsModalComponent = Ember.Component.extend(Ember.Evented, { layoutName: 'components/bs-modal', classNames: ['modal'], - classNameBindings: ['fade', 'isVis:in', 'vertical:vertical'], + classNameBindings: ['fade', 'isVis:in', 'vertical:modal-dialog-center'], attributeBindings: ['role', 'aria-labelledby', 'isAriaHidden:aria-hidden', "ariaLabelledBy:aria-labelledby"], isAriaHidden: (function() { return "" + (this.get('isVisible')); @@ -86,37 +34,6 @@ Modal component. fade: true, vertical: false, zindex: 1000, - onResize: (function() { - if (this.get('vertical')) { - return Ember.run.scheduleOnce('afterRender', this, function() { - var contentHeight, footerHeight, headerHeight; - contentHeight = void 0; - footerHeight = void 0; - headerHeight = void 0; - contentHeight = Ember.$(window).height() - 60; - headerHeight = this.$().find('.modal-header').outerHeight() || 2; - footerHeight = this.$().find('.modal-footer').outerHeight() || 2; - this.$().find('.modal-content').css({ - 'max-height': function() { - return contentHeight; - } - }); - this.$().find('.modal-body').css({ - 'max-height': function() { - return contentHeight - headerHeight + footerHeight; - } - }); - return this.$().find('.modal-dialog').addClass('modal-dialog-center').css({ - 'margin-top': function() { - return -(Ember.$(this).outerHeight() / 2); - }, - 'margin-left': function() { - return -(Ember.$(this).outerWidth() / 2); - } - }); - }); - } - }).on('resize'), didInsertElement: function() { var name; this._super(); @@ -127,7 +44,6 @@ Modal component. name = this.get('elementId'); } Bootstrap.ModalManager.add(name, this); - this.onResize(); this.dialogStyle(); if (this.manual) { return this.show(); diff --git a/dist/js/bs-modal.min.js b/dist/js/bs-modal.min.js index 2aa3e16..39c7168 100644 --- a/dist/js/bs-modal.min.js +++ b/dist/js/bs-modal.min.js @@ -1 +1 @@ -(function(){Bootstrap.ResizeMixin=Ember.Mixin.create({resizing:!1,resizeDelay:200,findResizableParentView:function(a){return Ember.isNone(a)?null:a&&!a.has("resize")?this.findResizableParentView(a.get("parentView")):a},_setupResizeHandlers:function(){var a,b;b=this.get("_handleResize"),a=this.findResizableParentView(this.get("parentView")),Ember.isNone(a)?(b=Ember.$.proxy(b,this),Ember.$(window).on("resize."+this.elementId,b),this._resizeHandler=b):a.on("resize",this,b)}.on("didInsertElement"),_removeResizeHandlers:function(){this._resizeHandler&&Ember.$(window).off("resize."+this.elementId,this._resizeHandler)}.on("willDestroyElement"),_handleResize:function(a,b){Ember.isNone(b)&&(b=Ember.RSVP.resolve(null,"Resize handler")),this.get("resizing")||(this.set("resizing",!0),this.has("resizeStart")&&this.trigger("resizeStart",a)),this.has("resize")&&this.trigger("resize",a,b),Ember.run.debounce(this,this._endResize,a,this.get("resizeDelay"))},_endResize:function(a){this.set("resizing",!1),this.has("resizeEnd")&&this.trigger("resizeEnd",a)}}),Bootstrap.BsModalComponent=Ember.Component.extend(Ember.Evented,Bootstrap.ResizeMixin,{layoutName:"components/bs-modal",classNames:["modal"],classNameBindings:["fade","isVis:in","vertical:vertical"],attributeBindings:["role","aria-labelledby","isAriaHidden:aria-hidden","ariaLabelledBy:aria-labelledby"],isAriaHidden:function(){return""+this.get("isVisible")}.property("isVisible"),dialogStyle:function(){Ember.run.scheduleOnce("afterRender",this,function(){return this.$()?this.$().find(".modal-dialog").css("z-index",this.get("zindex")):void 0})}.observes("zindex"),backdropStyle:function(){return"z-index: "+(this.get("zindex")-2)+";"}.property("zindex"),modalBackdrop:'',role:"dialog",footerViews:[],backdrop:!0,title:null,isVisible:!1,manual:!1,isVis:!1,fullSizeButtons:!1,fade:!0,vertical:!1,zindex:1e3,onResize:function(){return this.get("vertical")?Ember.run.scheduleOnce("afterRender",this,function(){var a,b,c;return a=void 0,b=void 0,c=void 0,a=Ember.$(window).height()-60,c=this.$().find(".modal-header").outerHeight()||2,b=this.$().find(".modal-footer").outerHeight()||2,this.$().find(".modal-content").css({"max-height":function(){return a}}),this.$().find(".modal-body").css({"max-height":function(){return a-c+b}}),this.$().find(".modal-dialog").addClass("modal-dialog-center").css({"margin-top":function(){return-(Ember.$(this).outerHeight()/2)},"margin-left":function(){return-(Ember.$(this).outerWidth()/2)}})}):void 0}.on("resize"),didInsertElement:function(){var a;return this._super(),this.setupBinders(),a=this.get("name"),Ember.assert("Modal name is required for modal view "+this.get("elementId"),this.get("name")),null==a&&(a=this.get("elementId")),Bootstrap.ModalManager.add(a,this),this.onResize(),this.dialogStyle(),this.manual?this.show():void 0},becameVisible:function(){return Em.$("body").addClass("modal-open")},becameHidden:function(){return Em.$("body").removeClass("modal-open")},appendBackdrop:function(){var a;return a=this.$().parent(),this._backdrop=Em.$(this.modalBackdrop).appendTo(a)},show:function(){var a;this.set("isVisible",!0),a=this,setTimeout(function(){a.set("isVis",!0)},15)},hide:function(){var a;return this.set("isVis",!1),a=this,this.get("fade")?this.$().one("webkitTransitionEnd",function(){a.set("isVisible",!1)}):a.set("isVisible",!1),!1},toggle:function(){return this.toggleProperty("isVisible")},click:function(a){var b,c;return b=a.target,c=b.getAttribute("data-dismiss"),"modal"===c?this.close():void 0},keyPressed:function(a){return 27===a.keyCode?this.close(a):void 0},close:function(){var a;return this.set("isVis",!1),a=this,this.get("fade")?this.$().one("webkitTransitionEnd",function(){a.get("manual")?a.destroy():a.hide()}):a.hide(),this.trigger("closed",this)},willDestroyElement:function(){var a;return Em.$("body").removeClass("modal-open"),this.removeHandlers(),a=this.get("name"),null==a&&(a=this.get("elementId")),Bootstrap.ModalManager.remove(a,this),this._backdrop?this._backdrop.remove():void 0},removeHandlers:function(){return jQuery(window.document).unbind("keyup",this._keyUpHandler)},setupBinders:function(){var a,b=this;return a=function(a){return b.keyPressed(a)},jQuery(window.document).bind("keyup",a),this._keyUpHandler=a}}),Bootstrap.ModalManager=Ember.Object.createWithMixins(Ember.Evented,{add:function(a,b){var c;return c=this.get("zindex"),this.set("zindex",c+2),b.set("zindex",c+2),b.on("closed",function(a){return c=a.get("zindex"),c===Bootstrap.ModalManager.get("zindex")&&Bootstrap.ModalManager.set("zindex",c-2),Bootstrap.ModalManager.trigger("closed",a)}),this.set(a,b)},register:function(a,b){return this.add(a,b),b.appendTo(b.get("targetObject").namespace.rootElement)},remove:function(a){return this.set(a,null)},close:function(a){return this.get(a).close()},hide:function(a){return this.get(a).hide()},show:function(a){return this.get(a).show()},toggle:function(a){return this.get(a).toggle()},confirm:function(a,b,c,d,e,f,g,h,i,j){var k,l;return null==e&&(e="Confirm"),null==f&&(f="modalConfirmed"),null==g&&(g=null),null==h&&(h="Cancel"),null==i&&(i="modalCanceled"),null==j&&(j=null),k=Ember.View.extend({template:Ember.Handlebars.compile(c||"Are you sure you would like to perform this action?")}),l=[Ember.Object.create({title:e,clicked:f,type:g,dismiss:"modal"}),Ember.Object.create({title:h,clicked:i,type:j,dismiss:"modal"})],this.open("confirm-modal",b||"Confirmation required!",k,l,a,d)},okModal:function(a,b,c,d,e,f,g){var h,i;return null==d&&(d="OK"),null==e&&(e="okModal"),null==f&&(f=null),h=Ember.View.extend({template:Ember.Handlebars.compile(c||"Are you sure you would like to perform this action?")}),i=[Ember.Object.create({title:d,clicked:e,type:f,dismiss:"modal"})],this.open("ok-modal",b||"Confirmation required!",h,i,a,g)},openModal:function(a,b){var c,d;return null==b&&(b={}),d=b.rootElement||".ember-application",c=a.create(b),c.appendTo(d)},openManual:function(a,b,c,d,e,f){var g;return g=Ember.View.extend({template:Ember.Handlebars.compile(c),controller:e}),this.open(a,b,g,d,e,f)},open:function(a,b,c,d,e,f){var g,h,i;return g=void 0,h=void 0,i=void 0,null==f&&(f={}),null==f.fade&&(f.fade=this.get("fade")),null==f.fullSizeButtons&&(f.fullSizeButtons=this.get("fullSizeButtons")),null==f.targetObject&&(f.targetObject=e),null==f.vertical&&(f.vertical=this.get("vertical")),g=e.container.lookup("component-lookup:main"),h=g.lookupFactory("bs-modal",e.get("container")).create(),h.setProperties({name:a,title:b,manual:!0,footerButtons:d}),h.setProperties(f),"string"===Ember.typeOf(c)?(i=e.container.lookup("template:"+c),Ember.assert("Template "+c+" was specified for Modal but template could not be found.",i),i&&h.setProperties({body:Ember.View.extend({template:i,controller:e})})):"class"===Ember.typeOf(c)&&h.setProperties({body:c,controller:e}),h.appendTo(e.namespace.rootElement)},fade:!0,fullSizeButtons:!1,vertical:!1,zindex:1e3}),Ember.Application.initializer({name:"bs-modal",initialize:function(a){return a.register("component:bs-modal",Bootstrap.BsModalComponent)}})}).call(this),Ember.TEMPLATES["components/bs-modal"]=Ember.HTMLBars.template(function(){var a=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createElement("i");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.element;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.childAt(g,[1]);return f(b,h,a,"bind-attr",[],{"class":"titleIconClasses"}),g}}}(),b=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,0,1,c);return g(b,i,a,"view",[f(b,a,"view.body")],{}),h}}}(),c=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.content;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.createMorphAt(g,0,1,c);return f(b,h,a,"yield"),g}}}(),d=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,0,1,c);return g(b,i,a,"bs-button",[],{content:f(b,a,"this"),targetObjectBinding:"view.targetObject"}),h}}}(),e=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,0,1,c);return g(b,i,a,"view",[f(b,a,"this")],{}),h}}}();return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createElement("div");a.setAttribute(c,"class","modal-dialog");var d=a.createTextNode("\n ");a.appendChild(c,d);var d=a.createElement("div");a.setAttribute(d,"class","modal-content");var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("div");a.setAttribute(e,"class","modal-header");var f=a.createTextNode("\n ");a.appendChild(e,f);var f=a.createElement("button");a.setAttribute(f,"type","button"),a.setAttribute(f,"data-dismiss","modal"),a.setAttribute(f,"aria-hidden","true");var g=a.createTextNode("×");a.appendChild(f,g),a.appendChild(e,f);var f=a.createTextNode("\n ");a.appendChild(e,f);var f=a.createElement("h4");a.setAttribute(f,"class","modal-title");var g=a.createTextNode("\n");a.appendChild(f,g);var g=a.createTextNode(" ");a.appendChild(f,g);var g=a.createTextNode("\n ");a.appendChild(f,g),a.appendChild(e,f);var f=a.createTextNode("\n ");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("div");a.setAttribute(e,"class","modal-body");var f=a.createTextNode("\n");a.appendChild(e,f);var f=a.createTextNode(" ");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("div"),f=a.createTextNode("\n");a.appendChild(e,f);var f=a.createTextNode("");a.appendChild(e,f);var f=a.createTextNode(" ");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e),a.appendChild(c,d);var d=a.createTextNode("\n");a.appendChild(c,d),a.appendChild(b,c);var c=a.createTextNode("\n\n");a.appendChild(b,c);var c=a.createElement("div");return a.appendChild(b,c),b},render:function(f,g,h){var i=g.dom,j=g.hooks,k=j.element,l=j.get,m=j.block,n=j.content;i.detectNamespace(h);var o;g.useFragmentCache&&i.canClone?(null===this.cachedFragment&&(o=this.build(i),this.hasRendered?this.cachedFragment=o:this.hasRendered=!0),this.cachedFragment&&(o=i.cloneNode(this.cachedFragment,!0))):o=this.build(i);var p=i.childAt(o,[0,1]),q=i.childAt(p,[1]),r=i.childAt(q,[1]),s=i.childAt(q,[3]),t=i.childAt(p,[5]);this.cachedFragment&&i.repairClonedNode(t,[1]);var u=i.childAt(o,[2]),v=i.createMorphAt(s,0,1),w=i.createUnsafeMorphAt(s,1,2),x=i.createMorphAt(i.childAt(p,[3]),0,1),y=i.createMorphAt(t,0,1),z=i.createMorphAt(t,1,2);return k(g,r,f,"bind-attr",[],{"class":":close allowClose::hide"}),m(g,v,f,"if",[l(g,f,"titleIconClasses")],{},a,null),n(g,w,f,"title"),m(g,x,f,"if",[l(g,f,"body")],{},b,c),k(g,t,f,"bind-attr",[],{"class":":modal-footer fullSizeButtons:modal-footer-full"}),m(g,y,f,"each",[l(g,f,"footerButtons")],{},d,null),m(g,z,f,"each",[l(g,f,"footerViews")],{},e,null),k(g,u,f,"bind-attr",[],{style:l(g,f,"backdropStyle"),"class":":modal-backdrop :fade backdrop:in"}),o}}}()); \ No newline at end of file +(function(){Bootstrap.BsModalComponent=Ember.Component.extend(Ember.Evented,{layoutName:"components/bs-modal",classNames:["modal"],classNameBindings:["fade","isVis:in","vertical:modal-dialog-center"],attributeBindings:["role","aria-labelledby","isAriaHidden:aria-hidden","ariaLabelledBy:aria-labelledby"],isAriaHidden:function(){return""+this.get("isVisible")}.property("isVisible"),dialogStyle:function(){Ember.run.scheduleOnce("afterRender",this,function(){return this.$()?this.$().find(".modal-dialog").css("z-index",this.get("zindex")):void 0})}.observes("zindex"),backdropStyle:function(){return"z-index: "+(this.get("zindex")-2)+";"}.property("zindex"),modalBackdrop:'',role:"dialog",footerViews:[],backdrop:!0,title:null,isVisible:!1,manual:!1,isVis:!1,fullSizeButtons:!1,fade:!0,vertical:!1,zindex:1e3,didInsertElement:function(){var a;return this._super(),this.setupBinders(),a=this.get("name"),Ember.assert("Modal name is required for modal view "+this.get("elementId"),this.get("name")),null==a&&(a=this.get("elementId")),Bootstrap.ModalManager.add(a,this),this.dialogStyle(),this.manual?this.show():void 0},becameVisible:function(){return Em.$("body").addClass("modal-open")},becameHidden:function(){return Em.$("body").removeClass("modal-open")},appendBackdrop:function(){var a;return a=this.$().parent(),this._backdrop=Em.$(this.modalBackdrop).appendTo(a)},show:function(){var a;this.set("isVisible",!0),a=this,setTimeout(function(){a.set("isVis",!0)},15)},hide:function(){var a;return this.set("isVis",!1),a=this,this.get("fade")?this.$().one("webkitTransitionEnd",function(){a.set("isVisible",!1)}):a.set("isVisible",!1),!1},toggle:function(){return this.toggleProperty("isVisible")},click:function(a){var b,c;return b=a.target,c=b.getAttribute("data-dismiss"),"modal"===c?this.close():void 0},keyPressed:function(a){return 27===a.keyCode?this.close(a):void 0},close:function(){var a;return this.set("isVis",!1),a=this,this.get("fade")?this.$().one("webkitTransitionEnd",function(){a.get("manual")?a.destroy():a.hide()}):a.hide(),this.trigger("closed",this)},willDestroyElement:function(){var a;return Em.$("body").removeClass("modal-open"),this.removeHandlers(),a=this.get("name"),null==a&&(a=this.get("elementId")),Bootstrap.ModalManager.remove(a,this),this._backdrop?this._backdrop.remove():void 0},removeHandlers:function(){return jQuery(window.document).unbind("keyup",this._keyUpHandler)},setupBinders:function(){var a,b=this;return a=function(a){return b.keyPressed(a)},jQuery(window.document).bind("keyup",a),this._keyUpHandler=a}}),Bootstrap.ModalManager=Ember.Object.createWithMixins(Ember.Evented,{add:function(a,b){var c;return c=this.get("zindex"),this.set("zindex",c+2),b.set("zindex",c+2),b.on("closed",function(a){return c=a.get("zindex"),c===Bootstrap.ModalManager.get("zindex")&&Bootstrap.ModalManager.set("zindex",c-2),Bootstrap.ModalManager.trigger("closed",a)}),this.set(a,b)},register:function(a,b){return this.add(a,b),b.appendTo(b.get("targetObject").namespace.rootElement)},remove:function(a){return this.set(a,null)},close:function(a){return this.get(a).close()},hide:function(a){return this.get(a).hide()},show:function(a){return this.get(a).show()},toggle:function(a){return this.get(a).toggle()},confirm:function(a,b,c,d,e,f,g,h,i,j){var k,l;return null==e&&(e="Confirm"),null==f&&(f="modalConfirmed"),null==g&&(g=null),null==h&&(h="Cancel"),null==i&&(i="modalCanceled"),null==j&&(j=null),k=Ember.View.extend({template:Ember.Handlebars.compile(c||"Are you sure you would like to perform this action?")}),l=[Ember.Object.create({title:e,clicked:f,type:g,dismiss:"modal"}),Ember.Object.create({title:h,clicked:i,type:j,dismiss:"modal"})],this.open("confirm-modal",b||"Confirmation required!",k,l,a,d)},okModal:function(a,b,c,d,e,f,g){var h,i;return null==d&&(d="OK"),null==e&&(e="okModal"),null==f&&(f=null),h=Ember.View.extend({template:Ember.Handlebars.compile(c||"Are you sure you would like to perform this action?")}),i=[Ember.Object.create({title:d,clicked:e,type:f,dismiss:"modal"})],this.open("ok-modal",b||"Confirmation required!",h,i,a,g)},openModal:function(a,b){var c,d;return null==b&&(b={}),d=b.rootElement||".ember-application",c=a.create(b),c.appendTo(d)},openManual:function(a,b,c,d,e,f){var g;return g=Ember.View.extend({template:Ember.Handlebars.compile(c),controller:e}),this.open(a,b,g,d,e,f)},open:function(a,b,c,d,e,f){var g,h,i;return g=void 0,h=void 0,i=void 0,null==f&&(f={}),null==f.fade&&(f.fade=this.get("fade")),null==f.fullSizeButtons&&(f.fullSizeButtons=this.get("fullSizeButtons")),null==f.targetObject&&(f.targetObject=e),null==f.vertical&&(f.vertical=this.get("vertical")),g=e.container.lookup("component-lookup:main"),h=g.lookupFactory("bs-modal",e.get("container")).create(),h.setProperties({name:a,title:b,manual:!0,footerButtons:d}),h.setProperties(f),"string"===Ember.typeOf(c)?(i=e.container.lookup("template:"+c),Ember.assert("Template "+c+" was specified for Modal but template could not be found.",i),i&&h.setProperties({body:Ember.View.extend({template:i,controller:e})})):"class"===Ember.typeOf(c)&&h.setProperties({body:c,controller:e}),h.appendTo(e.namespace.rootElement)},fade:!0,fullSizeButtons:!1,vertical:!1,zindex:1e3}),Ember.Application.initializer({name:"bs-modal",initialize:function(a){return a.register("component:bs-modal",Bootstrap.BsModalComponent)}})}).call(this),Ember.TEMPLATES["components/bs-modal"]=Ember.HTMLBars.template(function(){var a=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createElement("i");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.element;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.childAt(g,[1]);return f(b,h,a,"bind-attr",[],{"class":"titleIconClasses"}),g}}}(),b=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,0,1,c);return g(b,i,a,"view",[f(b,a,"view.body")],{}),h}}}(),c=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.content;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.createMorphAt(g,0,1,c);return f(b,h,a,"yield"),g}}}(),d=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,0,1,c);return g(b,i,a,"bs-button",[],{content:f(b,a,"this"),targetObjectBinding:"view.targetObject"}),h}}}(),e=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,0,1,c);return g(b,i,a,"view",[f(b,a,"this")],{}),h}}}();return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createElement("div");a.setAttribute(c,"class","modal-dialog");var d=a.createTextNode("\n ");a.appendChild(c,d);var d=a.createElement("div");a.setAttribute(d,"class","modal-content");var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("div");a.setAttribute(e,"class","modal-header");var f=a.createTextNode("\n ");a.appendChild(e,f);var f=a.createElement("button");a.setAttribute(f,"type","button"),a.setAttribute(f,"data-dismiss","modal"),a.setAttribute(f,"aria-hidden","true");var g=a.createTextNode("×");a.appendChild(f,g),a.appendChild(e,f);var f=a.createTextNode("\n ");a.appendChild(e,f);var f=a.createElement("h4");a.setAttribute(f,"class","modal-title");var g=a.createTextNode("\n");a.appendChild(f,g);var g=a.createTextNode(" ");a.appendChild(f,g);var g=a.createTextNode("\n ");a.appendChild(f,g),a.appendChild(e,f);var f=a.createTextNode("\n ");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("div");a.setAttribute(e,"class","modal-body");var f=a.createTextNode("\n");a.appendChild(e,f);var f=a.createTextNode(" ");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("div"),f=a.createTextNode("\n");a.appendChild(e,f);var f=a.createTextNode("");a.appendChild(e,f);var f=a.createTextNode(" ");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e),a.appendChild(c,d);var d=a.createTextNode("\n");a.appendChild(c,d),a.appendChild(b,c);var c=a.createTextNode("\n\n");a.appendChild(b,c);var c=a.createElement("div");return a.appendChild(b,c),b},render:function(f,g,h){var i=g.dom,j=g.hooks,k=j.element,l=j.get,m=j.block,n=j.content;i.detectNamespace(h);var o;g.useFragmentCache&&i.canClone?(null===this.cachedFragment&&(o=this.build(i),this.hasRendered?this.cachedFragment=o:this.hasRendered=!0),this.cachedFragment&&(o=i.cloneNode(this.cachedFragment,!0))):o=this.build(i);var p=i.childAt(o,[0,1]),q=i.childAt(p,[1]),r=i.childAt(q,[1]),s=i.childAt(q,[3]),t=i.childAt(p,[5]);this.cachedFragment&&i.repairClonedNode(t,[1]);var u=i.childAt(o,[2]),v=i.createMorphAt(s,0,1),w=i.createUnsafeMorphAt(s,1,2),x=i.createMorphAt(i.childAt(p,[3]),0,1),y=i.createMorphAt(t,0,1),z=i.createMorphAt(t,1,2);return k(g,r,f,"bind-attr",[],{"class":":close allowClose::hide"}),m(g,v,f,"if",[l(g,f,"titleIconClasses")],{},a,null),n(g,w,f,"title"),m(g,x,f,"if",[l(g,f,"body")],{},b,c),k(g,t,f,"bind-attr",[],{"class":":modal-footer fullSizeButtons:modal-footer-full"}),m(g,y,f,"each",[l(g,f,"footerButtons")],{},d,null),m(g,z,f,"each",[l(g,f,"footerViews")],{},e,null),k(g,u,f,"bind-attr",[],{style:l(g,f,"backdropStyle"),"class":":modal-backdrop :fade backdrop:in"}),o}}}()); \ No newline at end of file From 3491d1d534fa7923ce9932e0a6ef18db94b1c746 Mon Sep 17 00:00:00 2001 From: danshapir Date: Wed, 4 Mar 2015 14:26:42 +0200 Subject: [PATCH 15/24] allow rootElement to be part of the controller Use injection to make it happen (mainly when the "controller" is a component) --- app/scripts/components/BsModalComponent.coffee | 5 +++-- dist/js/bs-modal.max.js | 8 ++++++-- dist/js/bs-modal.min.js | 2 +- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/app/scripts/components/BsModalComponent.coffee b/app/scripts/components/BsModalComponent.coffee index 139b25b..dde1cb7 100644 --- a/app/scripts/components/BsModalComponent.coffee +++ b/app/scripts/components/BsModalComponent.coffee @@ -296,8 +296,9 @@ Bootstrap.ModalManager = Ember.Object.createWithMixins(Ember.Evented, modalComponent.setProperties body: view controller: controller - - modalComponent.appendTo controller.namespace.rootElement + rootElement = controller.rootElement + rootElement = controller.namespace.rootElement unless typeof controller.rootElement isnt "undefined" + modalComponent.appendTo rootElement fade: true fullSizeButtons: false vertical: false diff --git a/dist/js/bs-modal.max.js b/dist/js/bs-modal.max.js index da8275d..5c85dba 100644 --- a/dist/js/bs-modal.max.js +++ b/dist/js/bs-modal.max.js @@ -266,7 +266,7 @@ Modal component. return this.open(name, title, view, footerButtons, controller, options); }, open: function(name, title, view, footerButtons, controller, options) { - var cl, modalComponent, template; + var cl, modalComponent, rootElement, template; cl = void 0; modalComponent = void 0; template = void 0; @@ -311,7 +311,11 @@ Modal component. controller: controller }); } - return modalComponent.appendTo(controller.namespace.rootElement); + rootElement = controller.rootElement; + if (typeof controller.rootElement === "undefined") { + rootElement = controller.namespace.rootElement; + } + return modalComponent.appendTo(rootElement); }, fade: true, fullSizeButtons: false, diff --git a/dist/js/bs-modal.min.js b/dist/js/bs-modal.min.js index 39c7168..c311435 100644 --- a/dist/js/bs-modal.min.js +++ b/dist/js/bs-modal.min.js @@ -1 +1 @@ -(function(){Bootstrap.BsModalComponent=Ember.Component.extend(Ember.Evented,{layoutName:"components/bs-modal",classNames:["modal"],classNameBindings:["fade","isVis:in","vertical:modal-dialog-center"],attributeBindings:["role","aria-labelledby","isAriaHidden:aria-hidden","ariaLabelledBy:aria-labelledby"],isAriaHidden:function(){return""+this.get("isVisible")}.property("isVisible"),dialogStyle:function(){Ember.run.scheduleOnce("afterRender",this,function(){return this.$()?this.$().find(".modal-dialog").css("z-index",this.get("zindex")):void 0})}.observes("zindex"),backdropStyle:function(){return"z-index: "+(this.get("zindex")-2)+";"}.property("zindex"),modalBackdrop:'',role:"dialog",footerViews:[],backdrop:!0,title:null,isVisible:!1,manual:!1,isVis:!1,fullSizeButtons:!1,fade:!0,vertical:!1,zindex:1e3,didInsertElement:function(){var a;return this._super(),this.setupBinders(),a=this.get("name"),Ember.assert("Modal name is required for modal view "+this.get("elementId"),this.get("name")),null==a&&(a=this.get("elementId")),Bootstrap.ModalManager.add(a,this),this.dialogStyle(),this.manual?this.show():void 0},becameVisible:function(){return Em.$("body").addClass("modal-open")},becameHidden:function(){return Em.$("body").removeClass("modal-open")},appendBackdrop:function(){var a;return a=this.$().parent(),this._backdrop=Em.$(this.modalBackdrop).appendTo(a)},show:function(){var a;this.set("isVisible",!0),a=this,setTimeout(function(){a.set("isVis",!0)},15)},hide:function(){var a;return this.set("isVis",!1),a=this,this.get("fade")?this.$().one("webkitTransitionEnd",function(){a.set("isVisible",!1)}):a.set("isVisible",!1),!1},toggle:function(){return this.toggleProperty("isVisible")},click:function(a){var b,c;return b=a.target,c=b.getAttribute("data-dismiss"),"modal"===c?this.close():void 0},keyPressed:function(a){return 27===a.keyCode?this.close(a):void 0},close:function(){var a;return this.set("isVis",!1),a=this,this.get("fade")?this.$().one("webkitTransitionEnd",function(){a.get("manual")?a.destroy():a.hide()}):a.hide(),this.trigger("closed",this)},willDestroyElement:function(){var a;return Em.$("body").removeClass("modal-open"),this.removeHandlers(),a=this.get("name"),null==a&&(a=this.get("elementId")),Bootstrap.ModalManager.remove(a,this),this._backdrop?this._backdrop.remove():void 0},removeHandlers:function(){return jQuery(window.document).unbind("keyup",this._keyUpHandler)},setupBinders:function(){var a,b=this;return a=function(a){return b.keyPressed(a)},jQuery(window.document).bind("keyup",a),this._keyUpHandler=a}}),Bootstrap.ModalManager=Ember.Object.createWithMixins(Ember.Evented,{add:function(a,b){var c;return c=this.get("zindex"),this.set("zindex",c+2),b.set("zindex",c+2),b.on("closed",function(a){return c=a.get("zindex"),c===Bootstrap.ModalManager.get("zindex")&&Bootstrap.ModalManager.set("zindex",c-2),Bootstrap.ModalManager.trigger("closed",a)}),this.set(a,b)},register:function(a,b){return this.add(a,b),b.appendTo(b.get("targetObject").namespace.rootElement)},remove:function(a){return this.set(a,null)},close:function(a){return this.get(a).close()},hide:function(a){return this.get(a).hide()},show:function(a){return this.get(a).show()},toggle:function(a){return this.get(a).toggle()},confirm:function(a,b,c,d,e,f,g,h,i,j){var k,l;return null==e&&(e="Confirm"),null==f&&(f="modalConfirmed"),null==g&&(g=null),null==h&&(h="Cancel"),null==i&&(i="modalCanceled"),null==j&&(j=null),k=Ember.View.extend({template:Ember.Handlebars.compile(c||"Are you sure you would like to perform this action?")}),l=[Ember.Object.create({title:e,clicked:f,type:g,dismiss:"modal"}),Ember.Object.create({title:h,clicked:i,type:j,dismiss:"modal"})],this.open("confirm-modal",b||"Confirmation required!",k,l,a,d)},okModal:function(a,b,c,d,e,f,g){var h,i;return null==d&&(d="OK"),null==e&&(e="okModal"),null==f&&(f=null),h=Ember.View.extend({template:Ember.Handlebars.compile(c||"Are you sure you would like to perform this action?")}),i=[Ember.Object.create({title:d,clicked:e,type:f,dismiss:"modal"})],this.open("ok-modal",b||"Confirmation required!",h,i,a,g)},openModal:function(a,b){var c,d;return null==b&&(b={}),d=b.rootElement||".ember-application",c=a.create(b),c.appendTo(d)},openManual:function(a,b,c,d,e,f){var g;return g=Ember.View.extend({template:Ember.Handlebars.compile(c),controller:e}),this.open(a,b,g,d,e,f)},open:function(a,b,c,d,e,f){var g,h,i;return g=void 0,h=void 0,i=void 0,null==f&&(f={}),null==f.fade&&(f.fade=this.get("fade")),null==f.fullSizeButtons&&(f.fullSizeButtons=this.get("fullSizeButtons")),null==f.targetObject&&(f.targetObject=e),null==f.vertical&&(f.vertical=this.get("vertical")),g=e.container.lookup("component-lookup:main"),h=g.lookupFactory("bs-modal",e.get("container")).create(),h.setProperties({name:a,title:b,manual:!0,footerButtons:d}),h.setProperties(f),"string"===Ember.typeOf(c)?(i=e.container.lookup("template:"+c),Ember.assert("Template "+c+" was specified for Modal but template could not be found.",i),i&&h.setProperties({body:Ember.View.extend({template:i,controller:e})})):"class"===Ember.typeOf(c)&&h.setProperties({body:c,controller:e}),h.appendTo(e.namespace.rootElement)},fade:!0,fullSizeButtons:!1,vertical:!1,zindex:1e3}),Ember.Application.initializer({name:"bs-modal",initialize:function(a){return a.register("component:bs-modal",Bootstrap.BsModalComponent)}})}).call(this),Ember.TEMPLATES["components/bs-modal"]=Ember.HTMLBars.template(function(){var a=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createElement("i");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.element;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.childAt(g,[1]);return f(b,h,a,"bind-attr",[],{"class":"titleIconClasses"}),g}}}(),b=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,0,1,c);return g(b,i,a,"view",[f(b,a,"view.body")],{}),h}}}(),c=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.content;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.createMorphAt(g,0,1,c);return f(b,h,a,"yield"),g}}}(),d=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,0,1,c);return g(b,i,a,"bs-button",[],{content:f(b,a,"this"),targetObjectBinding:"view.targetObject"}),h}}}(),e=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,0,1,c);return g(b,i,a,"view",[f(b,a,"this")],{}),h}}}();return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createElement("div");a.setAttribute(c,"class","modal-dialog");var d=a.createTextNode("\n ");a.appendChild(c,d);var d=a.createElement("div");a.setAttribute(d,"class","modal-content");var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("div");a.setAttribute(e,"class","modal-header");var f=a.createTextNode("\n ");a.appendChild(e,f);var f=a.createElement("button");a.setAttribute(f,"type","button"),a.setAttribute(f,"data-dismiss","modal"),a.setAttribute(f,"aria-hidden","true");var g=a.createTextNode("×");a.appendChild(f,g),a.appendChild(e,f);var f=a.createTextNode("\n ");a.appendChild(e,f);var f=a.createElement("h4");a.setAttribute(f,"class","modal-title");var g=a.createTextNode("\n");a.appendChild(f,g);var g=a.createTextNode(" ");a.appendChild(f,g);var g=a.createTextNode("\n ");a.appendChild(f,g),a.appendChild(e,f);var f=a.createTextNode("\n ");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("div");a.setAttribute(e,"class","modal-body");var f=a.createTextNode("\n");a.appendChild(e,f);var f=a.createTextNode(" ");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("div"),f=a.createTextNode("\n");a.appendChild(e,f);var f=a.createTextNode("");a.appendChild(e,f);var f=a.createTextNode(" ");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e),a.appendChild(c,d);var d=a.createTextNode("\n");a.appendChild(c,d),a.appendChild(b,c);var c=a.createTextNode("\n\n");a.appendChild(b,c);var c=a.createElement("div");return a.appendChild(b,c),b},render:function(f,g,h){var i=g.dom,j=g.hooks,k=j.element,l=j.get,m=j.block,n=j.content;i.detectNamespace(h);var o;g.useFragmentCache&&i.canClone?(null===this.cachedFragment&&(o=this.build(i),this.hasRendered?this.cachedFragment=o:this.hasRendered=!0),this.cachedFragment&&(o=i.cloneNode(this.cachedFragment,!0))):o=this.build(i);var p=i.childAt(o,[0,1]),q=i.childAt(p,[1]),r=i.childAt(q,[1]),s=i.childAt(q,[3]),t=i.childAt(p,[5]);this.cachedFragment&&i.repairClonedNode(t,[1]);var u=i.childAt(o,[2]),v=i.createMorphAt(s,0,1),w=i.createUnsafeMorphAt(s,1,2),x=i.createMorphAt(i.childAt(p,[3]),0,1),y=i.createMorphAt(t,0,1),z=i.createMorphAt(t,1,2);return k(g,r,f,"bind-attr",[],{"class":":close allowClose::hide"}),m(g,v,f,"if",[l(g,f,"titleIconClasses")],{},a,null),n(g,w,f,"title"),m(g,x,f,"if",[l(g,f,"body")],{},b,c),k(g,t,f,"bind-attr",[],{"class":":modal-footer fullSizeButtons:modal-footer-full"}),m(g,y,f,"each",[l(g,f,"footerButtons")],{},d,null),m(g,z,f,"each",[l(g,f,"footerViews")],{},e,null),k(g,u,f,"bind-attr",[],{style:l(g,f,"backdropStyle"),"class":":modal-backdrop :fade backdrop:in"}),o}}}()); \ No newline at end of file +(function(){Bootstrap.BsModalComponent=Ember.Component.extend(Ember.Evented,{layoutName:"components/bs-modal",classNames:["modal"],classNameBindings:["fade","isVis:in","vertical:modal-dialog-center"],attributeBindings:["role","aria-labelledby","isAriaHidden:aria-hidden","ariaLabelledBy:aria-labelledby"],isAriaHidden:function(){return""+this.get("isVisible")}.property("isVisible"),dialogStyle:function(){Ember.run.scheduleOnce("afterRender",this,function(){return this.$()?this.$().find(".modal-dialog").css("z-index",this.get("zindex")):void 0})}.observes("zindex"),backdropStyle:function(){return"z-index: "+(this.get("zindex")-2)+";"}.property("zindex"),modalBackdrop:'',role:"dialog",footerViews:[],backdrop:!0,title:null,isVisible:!1,manual:!1,isVis:!1,fullSizeButtons:!1,fade:!0,vertical:!1,zindex:1e3,didInsertElement:function(){var a;return this._super(),this.setupBinders(),a=this.get("name"),Ember.assert("Modal name is required for modal view "+this.get("elementId"),this.get("name")),null==a&&(a=this.get("elementId")),Bootstrap.ModalManager.add(a,this),this.dialogStyle(),this.manual?this.show():void 0},becameVisible:function(){return Em.$("body").addClass("modal-open")},becameHidden:function(){return Em.$("body").removeClass("modal-open")},appendBackdrop:function(){var a;return a=this.$().parent(),this._backdrop=Em.$(this.modalBackdrop).appendTo(a)},show:function(){var a;this.set("isVisible",!0),a=this,setTimeout(function(){a.set("isVis",!0)},15)},hide:function(){var a;return this.set("isVis",!1),a=this,this.get("fade")?this.$().one("webkitTransitionEnd",function(){a.set("isVisible",!1)}):a.set("isVisible",!1),!1},toggle:function(){return this.toggleProperty("isVisible")},click:function(a){var b,c;return b=a.target,c=b.getAttribute("data-dismiss"),"modal"===c?this.close():void 0},keyPressed:function(a){return 27===a.keyCode?this.close(a):void 0},close:function(){var a;return this.set("isVis",!1),a=this,this.get("fade")?this.$().one("webkitTransitionEnd",function(){a.get("manual")?a.destroy():a.hide()}):a.hide(),this.trigger("closed",this)},willDestroyElement:function(){var a;return Em.$("body").removeClass("modal-open"),this.removeHandlers(),a=this.get("name"),null==a&&(a=this.get("elementId")),Bootstrap.ModalManager.remove(a,this),this._backdrop?this._backdrop.remove():void 0},removeHandlers:function(){return jQuery(window.document).unbind("keyup",this._keyUpHandler)},setupBinders:function(){var a,b=this;return a=function(a){return b.keyPressed(a)},jQuery(window.document).bind("keyup",a),this._keyUpHandler=a}}),Bootstrap.ModalManager=Ember.Object.createWithMixins(Ember.Evented,{add:function(a,b){var c;return c=this.get("zindex"),this.set("zindex",c+2),b.set("zindex",c+2),b.on("closed",function(a){return c=a.get("zindex"),c===Bootstrap.ModalManager.get("zindex")&&Bootstrap.ModalManager.set("zindex",c-2),Bootstrap.ModalManager.trigger("closed",a)}),this.set(a,b)},register:function(a,b){return this.add(a,b),b.appendTo(b.get("targetObject").namespace.rootElement)},remove:function(a){return this.set(a,null)},close:function(a){return this.get(a).close()},hide:function(a){return this.get(a).hide()},show:function(a){return this.get(a).show()},toggle:function(a){return this.get(a).toggle()},confirm:function(a,b,c,d,e,f,g,h,i,j){var k,l;return null==e&&(e="Confirm"),null==f&&(f="modalConfirmed"),null==g&&(g=null),null==h&&(h="Cancel"),null==i&&(i="modalCanceled"),null==j&&(j=null),k=Ember.View.extend({template:Ember.Handlebars.compile(c||"Are you sure you would like to perform this action?")}),l=[Ember.Object.create({title:e,clicked:f,type:g,dismiss:"modal"}),Ember.Object.create({title:h,clicked:i,type:j,dismiss:"modal"})],this.open("confirm-modal",b||"Confirmation required!",k,l,a,d)},okModal:function(a,b,c,d,e,f,g){var h,i;return null==d&&(d="OK"),null==e&&(e="okModal"),null==f&&(f=null),h=Ember.View.extend({template:Ember.Handlebars.compile(c||"Are you sure you would like to perform this action?")}),i=[Ember.Object.create({title:d,clicked:e,type:f,dismiss:"modal"})],this.open("ok-modal",b||"Confirmation required!",h,i,a,g)},openModal:function(a,b){var c,d;return null==b&&(b={}),d=b.rootElement||".ember-application",c=a.create(b),c.appendTo(d)},openManual:function(a,b,c,d,e,f){var g;return g=Ember.View.extend({template:Ember.Handlebars.compile(c),controller:e}),this.open(a,b,g,d,e,f)},open:function(a,b,c,d,e,f){var g,h,i,j;return g=void 0,h=void 0,j=void 0,null==f&&(f={}),null==f.fade&&(f.fade=this.get("fade")),null==f.fullSizeButtons&&(f.fullSizeButtons=this.get("fullSizeButtons")),null==f.targetObject&&(f.targetObject=e),null==f.vertical&&(f.vertical=this.get("vertical")),g=e.container.lookup("component-lookup:main"),h=g.lookupFactory("bs-modal",e.get("container")).create(),h.setProperties({name:a,title:b,manual:!0,footerButtons:d}),h.setProperties(f),"string"===Ember.typeOf(c)?(j=e.container.lookup("template:"+c),Ember.assert("Template "+c+" was specified for Modal but template could not be found.",j),j&&h.setProperties({body:Ember.View.extend({template:j,controller:e})})):"class"===Ember.typeOf(c)&&h.setProperties({body:c,controller:e}),i=e.rootElement,"undefined"==typeof e.rootElement&&(i=e.namespace.rootElement),h.appendTo(i)},fade:!0,fullSizeButtons:!1,vertical:!1,zindex:1e3}),Ember.Application.initializer({name:"bs-modal",initialize:function(a){return a.register("component:bs-modal",Bootstrap.BsModalComponent)}})}).call(this),Ember.TEMPLATES["components/bs-modal"]=Ember.HTMLBars.template(function(){var a=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createElement("i");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.element;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.childAt(g,[1]);return f(b,h,a,"bind-attr",[],{"class":"titleIconClasses"}),g}}}(),b=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,0,1,c);return g(b,i,a,"view",[f(b,a,"view.body")],{}),h}}}(),c=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.content;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.createMorphAt(g,0,1,c);return f(b,h,a,"yield"),g}}}(),d=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,0,1,c);return g(b,i,a,"bs-button",[],{content:f(b,a,"this"),targetObjectBinding:"view.targetObject"}),h}}}(),e=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,0,1,c);return g(b,i,a,"view",[f(b,a,"this")],{}),h}}}();return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createElement("div");a.setAttribute(c,"class","modal-dialog");var d=a.createTextNode("\n ");a.appendChild(c,d);var d=a.createElement("div");a.setAttribute(d,"class","modal-content");var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("div");a.setAttribute(e,"class","modal-header");var f=a.createTextNode("\n ");a.appendChild(e,f);var f=a.createElement("button");a.setAttribute(f,"type","button"),a.setAttribute(f,"data-dismiss","modal"),a.setAttribute(f,"aria-hidden","true");var g=a.createTextNode("×");a.appendChild(f,g),a.appendChild(e,f);var f=a.createTextNode("\n ");a.appendChild(e,f);var f=a.createElement("h4");a.setAttribute(f,"class","modal-title");var g=a.createTextNode("\n");a.appendChild(f,g);var g=a.createTextNode(" ");a.appendChild(f,g);var g=a.createTextNode("\n ");a.appendChild(f,g),a.appendChild(e,f);var f=a.createTextNode("\n ");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("div");a.setAttribute(e,"class","modal-body");var f=a.createTextNode("\n");a.appendChild(e,f);var f=a.createTextNode(" ");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("div"),f=a.createTextNode("\n");a.appendChild(e,f);var f=a.createTextNode("");a.appendChild(e,f);var f=a.createTextNode(" ");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e),a.appendChild(c,d);var d=a.createTextNode("\n");a.appendChild(c,d),a.appendChild(b,c);var c=a.createTextNode("\n\n");a.appendChild(b,c);var c=a.createElement("div");return a.appendChild(b,c),b},render:function(f,g,h){var i=g.dom,j=g.hooks,k=j.element,l=j.get,m=j.block,n=j.content;i.detectNamespace(h);var o;g.useFragmentCache&&i.canClone?(null===this.cachedFragment&&(o=this.build(i),this.hasRendered?this.cachedFragment=o:this.hasRendered=!0),this.cachedFragment&&(o=i.cloneNode(this.cachedFragment,!0))):o=this.build(i);var p=i.childAt(o,[0,1]),q=i.childAt(p,[1]),r=i.childAt(q,[1]),s=i.childAt(q,[3]),t=i.childAt(p,[5]);this.cachedFragment&&i.repairClonedNode(t,[1]);var u=i.childAt(o,[2]),v=i.createMorphAt(s,0,1),w=i.createUnsafeMorphAt(s,1,2),x=i.createMorphAt(i.childAt(p,[3]),0,1),y=i.createMorphAt(t,0,1),z=i.createMorphAt(t,1,2);return k(g,r,f,"bind-attr",[],{"class":":close allowClose::hide"}),m(g,v,f,"if",[l(g,f,"titleIconClasses")],{},a,null),n(g,w,f,"title"),m(g,x,f,"if",[l(g,f,"body")],{},b,c),k(g,t,f,"bind-attr",[],{"class":":modal-footer fullSizeButtons:modal-footer-full"}),m(g,y,f,"each",[l(g,f,"footerButtons")],{},d,null),m(g,z,f,"each",[l(g,f,"footerViews")],{},e,null),k(g,u,f,"bind-attr",[],{style:l(g,f,"backdropStyle"),"class":":modal-backdrop :fade backdrop:in"}),o}}}()); \ No newline at end of file From 231f259eda220984509d47bc41760ab09ff33531 Mon Sep 17 00:00:00 2001 From: danshapir Date: Wed, 4 Mar 2015 21:34:16 +0200 Subject: [PATCH 16/24] Fade with ember later and keyEvent opt-out --- .../components/BsModalComponent.coffee | 35 ++++++----- app/templates/components/bs-modal.hbs | 10 ++-- dist/js/bs-modal.max.js | 58 +++++++++++-------- dist/js/bs-modal.min.js | 2 +- 4 files changed, 61 insertions(+), 44 deletions(-) diff --git a/app/scripts/components/BsModalComponent.coffee b/app/scripts/components/BsModalComponent.coffee index dde1cb7..71d6791 100644 --- a/app/scripts/components/BsModalComponent.coffee +++ b/app/scripts/components/BsModalComponent.coffee @@ -78,6 +78,7 @@ Bootstrap.BsModalComponent = Ember.Component.extend(Ember.Evented, fade: true vertical: false zindex: 1000 + keyClose: true # # onResize: (-> # # do what you want when resize is triggered @@ -129,22 +130,25 @@ Bootstrap.BsModalComponent = Ember.Component.extend(Ember.Evented, show: -> @set 'isVisible', true - current = this - setTimeout (-> - current.set 'isVis', true + Ember.run.later @, (-> + @set 'isVis', true return ), 15 return hide: -> + if @get('isDestroyed') or @get('isDestroying') + return @set 'isVis', false - current = this if @get('fade') - @$().one 'webkitTransitionEnd', (e) -> - current.set 'isVisible', false + Ember.run.later this, (-> + if @get('isDestroyed') or @get('isDestroying') + return + @set 'isVisible', false return + ), 300 else - current.set 'isVisible', false + @set 'isVisible', false false toggle: -> @@ -158,19 +162,24 @@ Bootstrap.BsModalComponent = Ember.Component.extend(Ember.Evented, keyPressed: (event) -> #Handle ESC - if event.keyCode is 27 + if event.keyCode == 27 and @get('keyClose') and @get('zindex') == Bootstrap.ModalManager.get('zindex') @close event close: (event) -> + if @get('isDestroyed') or @get('isDestroying') + return @set 'isVis', false - current = this if @get('fade') - @$().one 'webkitTransitionEnd', (e) -> - if current.get('manual') then current.destroy() else current.hide() + Ember.run.later this, (-> + if @get('isDestroyed') or @get('isDestroying') + return + if @get('manual') then @destroy() else @set 'isVisible', false + @trigger 'closed', this return + ), 300 else - current.hide() - @trigger 'closed', this + @set 'isVisible', false + @trigger 'closed', this #Invoked automatically by ember when the view is destroyed, giving us a chance to perform cleanups diff --git a/app/templates/components/bs-modal.hbs b/app/templates/components/bs-modal.hbs index 5a8d505..160701f 100644 --- a/app/templates/components/bs-modal.hbs +++ b/app/templates/components/bs-modal.hbs @@ -17,14 +17,14 @@ {{/if}} -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/dist/js/bs-modal.max.js b/dist/js/bs-modal.max.js index 5c85dba..69098d5 100644 --- a/dist/js/bs-modal.max.js +++ b/dist/js/bs-modal.max.js @@ -34,6 +34,7 @@ Modal component. fade: true, vertical: false, zindex: 1000, + keyClose: true, didInsertElement: function() { var name; this._super(); @@ -61,23 +62,25 @@ Modal component. return this._backdrop = Em.$(this.modalBackdrop).appendTo(parentElement); }, show: function() { - var current; this.set('isVisible', true); - current = this; - setTimeout((function() { - current.set('isVis', true); + Ember.run.later(this, (function() { + this.set('isVis', true); }), 15); }, hide: function() { - var current; + if (this.get('isDestroyed') || this.get('isDestroying')) { + return; + } this.set('isVis', false); - current = this; if (this.get('fade')) { - this.$().one('webkitTransitionEnd', function(e) { - current.set('isVisible', false); - }); + Ember.run.later(this, (function() { + if (this.get('isDestroyed') || this.get('isDestroying')) { + return; + } + this.set('isVisible', false); + }), 300); } else { - current.set('isVisible', false); + this.set('isVisible', false); } return false; }, @@ -93,26 +96,31 @@ Modal component. } }, keyPressed: function(event) { - if (event.keyCode === 27) { + if (event.keyCode === 27 && this.get('keyClose') && this.get('zindex') === Bootstrap.ModalManager.get('zindex')) { return this.close(event); } }, close: function(event) { - var current; + if (this.get('isDestroyed') || this.get('isDestroying')) { + return; + } this.set('isVis', false); - current = this; if (this.get('fade')) { - this.$().one('webkitTransitionEnd', function(e) { - if (current.get('manual')) { - current.destroy(); + return Ember.run.later(this, (function() { + if (this.get('isDestroyed') || this.get('isDestroying')) { + return; + } + if (this.get('manual')) { + this.destroy(); } else { - current.hide(); + this.set('isVisible', false); } - }); + this.trigger('closed', this); + }), 300); } else { - current.hide(); + this.set('isVisible', false); + return this.trigger('closed', this); } - return this.trigger('closed', this); }, willDestroyElement: function() { var name; @@ -490,7 +498,7 @@ Ember.TEMPLATES["components/bs-modal"] = Ember.HTMLBars.template((function() { fragment = this.build(dom); } var morph0 = dom.createMorphAt(fragment,0,1,contextualElement); - inline(env, morph0, context, "bs-button", [], {"content": get(env, context, "this"), "targetObjectBinding": "view.targetObject"}); + inline(env, morph0, context, "bs-button", [], {"content": get(env, context, "footerButton"), "targetObjectBinding": "view.targetObject"}); return fragment; } }; @@ -530,7 +538,7 @@ Ember.TEMPLATES["components/bs-modal"] = Ember.HTMLBars.template((function() { fragment = this.build(dom); } var morph0 = dom.createMorphAt(fragment,0,1,contextualElement); - inline(env, morph0, context, "view", [get(env, context, "this")], {}); + inline(env, morph0, context, "view", [get(env, context, "footerView")], {}); return fragment; } }; @@ -643,9 +651,9 @@ Ember.TEMPLATES["components/bs-modal"] = Ember.HTMLBars.template((function() { content(env, morph1, context, "title"); block(env, morph2, context, "if", [get(env, context, "body")], {}, child1, child2); element(env, element5, context, "bind-attr", [], {"class": ":modal-footer fullSizeButtons:modal-footer-full"}); - block(env, morph3, context, "each", [get(env, context, "footerButtons")], {}, child3, null); - block(env, morph4, context, "each", [get(env, context, "footerViews")], {}, child4, null); - element(env, element6, context, "bind-attr", [], {"style": get(env, context, "backdropStyle"), "class": ":modal-backdrop :fade backdrop:in"}); + block(env, morph3, context, "each", [get(env, context, "footerButtons")], {"keyword": "footerButton"}, child3, null); + block(env, morph4, context, "each", [get(env, context, "footerViews")], {"keyword": "footerView"}, child4, null); + element(env, element6, context, "bind-attr", [], {"style": get(env, context, "backdropStyle"), "class": ":modal-backdrop fade:fade backdrop:in"}); return fragment; } }; diff --git a/dist/js/bs-modal.min.js b/dist/js/bs-modal.min.js index c311435..453eda9 100644 --- a/dist/js/bs-modal.min.js +++ b/dist/js/bs-modal.min.js @@ -1 +1 @@ -(function(){Bootstrap.BsModalComponent=Ember.Component.extend(Ember.Evented,{layoutName:"components/bs-modal",classNames:["modal"],classNameBindings:["fade","isVis:in","vertical:modal-dialog-center"],attributeBindings:["role","aria-labelledby","isAriaHidden:aria-hidden","ariaLabelledBy:aria-labelledby"],isAriaHidden:function(){return""+this.get("isVisible")}.property("isVisible"),dialogStyle:function(){Ember.run.scheduleOnce("afterRender",this,function(){return this.$()?this.$().find(".modal-dialog").css("z-index",this.get("zindex")):void 0})}.observes("zindex"),backdropStyle:function(){return"z-index: "+(this.get("zindex")-2)+";"}.property("zindex"),modalBackdrop:'',role:"dialog",footerViews:[],backdrop:!0,title:null,isVisible:!1,manual:!1,isVis:!1,fullSizeButtons:!1,fade:!0,vertical:!1,zindex:1e3,didInsertElement:function(){var a;return this._super(),this.setupBinders(),a=this.get("name"),Ember.assert("Modal name is required for modal view "+this.get("elementId"),this.get("name")),null==a&&(a=this.get("elementId")),Bootstrap.ModalManager.add(a,this),this.dialogStyle(),this.manual?this.show():void 0},becameVisible:function(){return Em.$("body").addClass("modal-open")},becameHidden:function(){return Em.$("body").removeClass("modal-open")},appendBackdrop:function(){var a;return a=this.$().parent(),this._backdrop=Em.$(this.modalBackdrop).appendTo(a)},show:function(){var a;this.set("isVisible",!0),a=this,setTimeout(function(){a.set("isVis",!0)},15)},hide:function(){var a;return this.set("isVis",!1),a=this,this.get("fade")?this.$().one("webkitTransitionEnd",function(){a.set("isVisible",!1)}):a.set("isVisible",!1),!1},toggle:function(){return this.toggleProperty("isVisible")},click:function(a){var b,c;return b=a.target,c=b.getAttribute("data-dismiss"),"modal"===c?this.close():void 0},keyPressed:function(a){return 27===a.keyCode?this.close(a):void 0},close:function(){var a;return this.set("isVis",!1),a=this,this.get("fade")?this.$().one("webkitTransitionEnd",function(){a.get("manual")?a.destroy():a.hide()}):a.hide(),this.trigger("closed",this)},willDestroyElement:function(){var a;return Em.$("body").removeClass("modal-open"),this.removeHandlers(),a=this.get("name"),null==a&&(a=this.get("elementId")),Bootstrap.ModalManager.remove(a,this),this._backdrop?this._backdrop.remove():void 0},removeHandlers:function(){return jQuery(window.document).unbind("keyup",this._keyUpHandler)},setupBinders:function(){var a,b=this;return a=function(a){return b.keyPressed(a)},jQuery(window.document).bind("keyup",a),this._keyUpHandler=a}}),Bootstrap.ModalManager=Ember.Object.createWithMixins(Ember.Evented,{add:function(a,b){var c;return c=this.get("zindex"),this.set("zindex",c+2),b.set("zindex",c+2),b.on("closed",function(a){return c=a.get("zindex"),c===Bootstrap.ModalManager.get("zindex")&&Bootstrap.ModalManager.set("zindex",c-2),Bootstrap.ModalManager.trigger("closed",a)}),this.set(a,b)},register:function(a,b){return this.add(a,b),b.appendTo(b.get("targetObject").namespace.rootElement)},remove:function(a){return this.set(a,null)},close:function(a){return this.get(a).close()},hide:function(a){return this.get(a).hide()},show:function(a){return this.get(a).show()},toggle:function(a){return this.get(a).toggle()},confirm:function(a,b,c,d,e,f,g,h,i,j){var k,l;return null==e&&(e="Confirm"),null==f&&(f="modalConfirmed"),null==g&&(g=null),null==h&&(h="Cancel"),null==i&&(i="modalCanceled"),null==j&&(j=null),k=Ember.View.extend({template:Ember.Handlebars.compile(c||"Are you sure you would like to perform this action?")}),l=[Ember.Object.create({title:e,clicked:f,type:g,dismiss:"modal"}),Ember.Object.create({title:h,clicked:i,type:j,dismiss:"modal"})],this.open("confirm-modal",b||"Confirmation required!",k,l,a,d)},okModal:function(a,b,c,d,e,f,g){var h,i;return null==d&&(d="OK"),null==e&&(e="okModal"),null==f&&(f=null),h=Ember.View.extend({template:Ember.Handlebars.compile(c||"Are you sure you would like to perform this action?")}),i=[Ember.Object.create({title:d,clicked:e,type:f,dismiss:"modal"})],this.open("ok-modal",b||"Confirmation required!",h,i,a,g)},openModal:function(a,b){var c,d;return null==b&&(b={}),d=b.rootElement||".ember-application",c=a.create(b),c.appendTo(d)},openManual:function(a,b,c,d,e,f){var g;return g=Ember.View.extend({template:Ember.Handlebars.compile(c),controller:e}),this.open(a,b,g,d,e,f)},open:function(a,b,c,d,e,f){var g,h,i,j;return g=void 0,h=void 0,j=void 0,null==f&&(f={}),null==f.fade&&(f.fade=this.get("fade")),null==f.fullSizeButtons&&(f.fullSizeButtons=this.get("fullSizeButtons")),null==f.targetObject&&(f.targetObject=e),null==f.vertical&&(f.vertical=this.get("vertical")),g=e.container.lookup("component-lookup:main"),h=g.lookupFactory("bs-modal",e.get("container")).create(),h.setProperties({name:a,title:b,manual:!0,footerButtons:d}),h.setProperties(f),"string"===Ember.typeOf(c)?(j=e.container.lookup("template:"+c),Ember.assert("Template "+c+" was specified for Modal but template could not be found.",j),j&&h.setProperties({body:Ember.View.extend({template:j,controller:e})})):"class"===Ember.typeOf(c)&&h.setProperties({body:c,controller:e}),i=e.rootElement,"undefined"==typeof e.rootElement&&(i=e.namespace.rootElement),h.appendTo(i)},fade:!0,fullSizeButtons:!1,vertical:!1,zindex:1e3}),Ember.Application.initializer({name:"bs-modal",initialize:function(a){return a.register("component:bs-modal",Bootstrap.BsModalComponent)}})}).call(this),Ember.TEMPLATES["components/bs-modal"]=Ember.HTMLBars.template(function(){var a=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createElement("i");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.element;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.childAt(g,[1]);return f(b,h,a,"bind-attr",[],{"class":"titleIconClasses"}),g}}}(),b=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,0,1,c);return g(b,i,a,"view",[f(b,a,"view.body")],{}),h}}}(),c=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.content;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.createMorphAt(g,0,1,c);return f(b,h,a,"yield"),g}}}(),d=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,0,1,c);return g(b,i,a,"bs-button",[],{content:f(b,a,"this"),targetObjectBinding:"view.targetObject"}),h}}}(),e=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,0,1,c);return g(b,i,a,"view",[f(b,a,"this")],{}),h}}}();return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createElement("div");a.setAttribute(c,"class","modal-dialog");var d=a.createTextNode("\n ");a.appendChild(c,d);var d=a.createElement("div");a.setAttribute(d,"class","modal-content");var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("div");a.setAttribute(e,"class","modal-header");var f=a.createTextNode("\n ");a.appendChild(e,f);var f=a.createElement("button");a.setAttribute(f,"type","button"),a.setAttribute(f,"data-dismiss","modal"),a.setAttribute(f,"aria-hidden","true");var g=a.createTextNode("×");a.appendChild(f,g),a.appendChild(e,f);var f=a.createTextNode("\n ");a.appendChild(e,f);var f=a.createElement("h4");a.setAttribute(f,"class","modal-title");var g=a.createTextNode("\n");a.appendChild(f,g);var g=a.createTextNode(" ");a.appendChild(f,g);var g=a.createTextNode("\n ");a.appendChild(f,g),a.appendChild(e,f);var f=a.createTextNode("\n ");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("div");a.setAttribute(e,"class","modal-body");var f=a.createTextNode("\n");a.appendChild(e,f);var f=a.createTextNode(" ");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("div"),f=a.createTextNode("\n");a.appendChild(e,f);var f=a.createTextNode("");a.appendChild(e,f);var f=a.createTextNode(" ");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e),a.appendChild(c,d);var d=a.createTextNode("\n");a.appendChild(c,d),a.appendChild(b,c);var c=a.createTextNode("\n\n");a.appendChild(b,c);var c=a.createElement("div");return a.appendChild(b,c),b},render:function(f,g,h){var i=g.dom,j=g.hooks,k=j.element,l=j.get,m=j.block,n=j.content;i.detectNamespace(h);var o;g.useFragmentCache&&i.canClone?(null===this.cachedFragment&&(o=this.build(i),this.hasRendered?this.cachedFragment=o:this.hasRendered=!0),this.cachedFragment&&(o=i.cloneNode(this.cachedFragment,!0))):o=this.build(i);var p=i.childAt(o,[0,1]),q=i.childAt(p,[1]),r=i.childAt(q,[1]),s=i.childAt(q,[3]),t=i.childAt(p,[5]);this.cachedFragment&&i.repairClonedNode(t,[1]);var u=i.childAt(o,[2]),v=i.createMorphAt(s,0,1),w=i.createUnsafeMorphAt(s,1,2),x=i.createMorphAt(i.childAt(p,[3]),0,1),y=i.createMorphAt(t,0,1),z=i.createMorphAt(t,1,2);return k(g,r,f,"bind-attr",[],{"class":":close allowClose::hide"}),m(g,v,f,"if",[l(g,f,"titleIconClasses")],{},a,null),n(g,w,f,"title"),m(g,x,f,"if",[l(g,f,"body")],{},b,c),k(g,t,f,"bind-attr",[],{"class":":modal-footer fullSizeButtons:modal-footer-full"}),m(g,y,f,"each",[l(g,f,"footerButtons")],{},d,null),m(g,z,f,"each",[l(g,f,"footerViews")],{},e,null),k(g,u,f,"bind-attr",[],{style:l(g,f,"backdropStyle"),"class":":modal-backdrop :fade backdrop:in"}),o}}}()); \ No newline at end of file +(function(){Bootstrap.BsModalComponent=Ember.Component.extend(Ember.Evented,{layoutName:"components/bs-modal",classNames:["modal"],classNameBindings:["fade","isVis:in","vertical:modal-dialog-center"],attributeBindings:["role","aria-labelledby","isAriaHidden:aria-hidden","ariaLabelledBy:aria-labelledby"],isAriaHidden:function(){return""+this.get("isVisible")}.property("isVisible"),dialogStyle:function(){Ember.run.scheduleOnce("afterRender",this,function(){return this.$()?this.$().find(".modal-dialog").css("z-index",this.get("zindex")):void 0})}.observes("zindex"),backdropStyle:function(){return"z-index: "+(this.get("zindex")-2)+";"}.property("zindex"),modalBackdrop:'',role:"dialog",footerViews:[],backdrop:!0,title:null,isVisible:!1,manual:!1,isVis:!1,fullSizeButtons:!1,fade:!0,vertical:!1,zindex:1e3,keyClose:!0,didInsertElement:function(){var a;return this._super(),this.setupBinders(),a=this.get("name"),Ember.assert("Modal name is required for modal view "+this.get("elementId"),this.get("name")),null==a&&(a=this.get("elementId")),Bootstrap.ModalManager.add(a,this),this.dialogStyle(),this.manual?this.show():void 0},becameVisible:function(){return Em.$("body").addClass("modal-open")},becameHidden:function(){return Em.$("body").removeClass("modal-open")},appendBackdrop:function(){var a;return a=this.$().parent(),this._backdrop=Em.$(this.modalBackdrop).appendTo(a)},show:function(){this.set("isVisible",!0),Ember.run.later(this,function(){this.set("isVis",!0)},15)},hide:function(){return this.get("isDestroyed")||this.get("isDestroying")?void 0:(this.set("isVis",!1),this.get("fade")?Ember.run.later(this,function(){this.get("isDestroyed")||this.get("isDestroying")||this.set("isVisible",!1)},300):this.set("isVisible",!1),!1)},toggle:function(){return this.toggleProperty("isVisible")},click:function(a){var b,c;return b=a.target,c=b.getAttribute("data-dismiss"),"modal"===c?this.close():void 0},keyPressed:function(a){return 27===a.keyCode&&this.get("keyClose")&&this.get("zindex")===Bootstrap.ModalManager.get("zindex")?this.close(a):void 0},close:function(){return this.get("isDestroyed")||this.get("isDestroying")?void 0:(this.set("isVis",!1),this.get("fade")?Ember.run.later(this,function(){this.get("isDestroyed")||this.get("isDestroying")||(this.get("manual")?this.destroy():this.set("isVisible",!1),this.trigger("closed",this))},300):(this.set("isVisible",!1),this.trigger("closed",this)))},willDestroyElement:function(){var a;return Em.$("body").removeClass("modal-open"),this.removeHandlers(),a=this.get("name"),null==a&&(a=this.get("elementId")),Bootstrap.ModalManager.remove(a,this),this._backdrop?this._backdrop.remove():void 0},removeHandlers:function(){return jQuery(window.document).unbind("keyup",this._keyUpHandler)},setupBinders:function(){var a,b=this;return a=function(a){return b.keyPressed(a)},jQuery(window.document).bind("keyup",a),this._keyUpHandler=a}}),Bootstrap.ModalManager=Ember.Object.createWithMixins(Ember.Evented,{add:function(a,b){var c;return c=this.get("zindex"),this.set("zindex",c+2),b.set("zindex",c+2),b.on("closed",function(a){return c=a.get("zindex"),c===Bootstrap.ModalManager.get("zindex")&&Bootstrap.ModalManager.set("zindex",c-2),Bootstrap.ModalManager.trigger("closed",a)}),this.set(a,b)},register:function(a,b){return this.add(a,b),b.appendTo(b.get("targetObject").namespace.rootElement)},remove:function(a){return this.set(a,null)},close:function(a){return this.get(a).close()},hide:function(a){return this.get(a).hide()},show:function(a){return this.get(a).show()},toggle:function(a){return this.get(a).toggle()},confirm:function(a,b,c,d,e,f,g,h,i,j){var k,l;return null==e&&(e="Confirm"),null==f&&(f="modalConfirmed"),null==g&&(g=null),null==h&&(h="Cancel"),null==i&&(i="modalCanceled"),null==j&&(j=null),k=Ember.View.extend({template:Ember.Handlebars.compile(c||"Are you sure you would like to perform this action?")}),l=[Ember.Object.create({title:e,clicked:f,type:g,dismiss:"modal"}),Ember.Object.create({title:h,clicked:i,type:j,dismiss:"modal"})],this.open("confirm-modal",b||"Confirmation required!",k,l,a,d)},okModal:function(a,b,c,d,e,f,g){var h,i;return null==d&&(d="OK"),null==e&&(e="okModal"),null==f&&(f=null),h=Ember.View.extend({template:Ember.Handlebars.compile(c||"Are you sure you would like to perform this action?")}),i=[Ember.Object.create({title:d,clicked:e,type:f,dismiss:"modal"})],this.open("ok-modal",b||"Confirmation required!",h,i,a,g)},openModal:function(a,b){var c,d;return null==b&&(b={}),d=b.rootElement||".ember-application",c=a.create(b),c.appendTo(d)},openManual:function(a,b,c,d,e,f){var g;return g=Ember.View.extend({template:Ember.Handlebars.compile(c),controller:e}),this.open(a,b,g,d,e,f)},open:function(a,b,c,d,e,f){var g,h,i,j;return g=void 0,h=void 0,j=void 0,null==f&&(f={}),null==f.fade&&(f.fade=this.get("fade")),null==f.fullSizeButtons&&(f.fullSizeButtons=this.get("fullSizeButtons")),null==f.targetObject&&(f.targetObject=e),null==f.vertical&&(f.vertical=this.get("vertical")),g=e.container.lookup("component-lookup:main"),h=g.lookupFactory("bs-modal",e.get("container")).create(),h.setProperties({name:a,title:b,manual:!0,footerButtons:d}),h.setProperties(f),"string"===Ember.typeOf(c)?(j=e.container.lookup("template:"+c),Ember.assert("Template "+c+" was specified for Modal but template could not be found.",j),j&&h.setProperties({body:Ember.View.extend({template:j,controller:e})})):"class"===Ember.typeOf(c)&&h.setProperties({body:c,controller:e}),i=e.rootElement,"undefined"==typeof e.rootElement&&(i=e.namespace.rootElement),h.appendTo(i)},fade:!0,fullSizeButtons:!1,vertical:!1,zindex:1e3}),Ember.Application.initializer({name:"bs-modal",initialize:function(a){return a.register("component:bs-modal",Bootstrap.BsModalComponent)}})}).call(this),Ember.TEMPLATES["components/bs-modal"]=Ember.HTMLBars.template(function(){var a=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createElement("i");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.element;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.childAt(g,[1]);return f(b,h,a,"bind-attr",[],{"class":"titleIconClasses"}),g}}}(),b=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,0,1,c);return g(b,i,a,"view",[f(b,a,"view.body")],{}),h}}}(),c=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.content;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.createMorphAt(g,0,1,c);return f(b,h,a,"yield"),g}}}(),d=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,0,1,c);return g(b,i,a,"bs-button",[],{content:f(b,a,"footerButton"),targetObjectBinding:"view.targetObject"}),h}}}(),e=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,0,1,c);return g(b,i,a,"view",[f(b,a,"footerView")],{}),h}}}();return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createElement("div");a.setAttribute(c,"class","modal-dialog");var d=a.createTextNode("\n ");a.appendChild(c,d);var d=a.createElement("div");a.setAttribute(d,"class","modal-content");var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("div");a.setAttribute(e,"class","modal-header");var f=a.createTextNode("\n ");a.appendChild(e,f);var f=a.createElement("button");a.setAttribute(f,"type","button"),a.setAttribute(f,"data-dismiss","modal"),a.setAttribute(f,"aria-hidden","true");var g=a.createTextNode("×");a.appendChild(f,g),a.appendChild(e,f);var f=a.createTextNode("\n ");a.appendChild(e,f);var f=a.createElement("h4");a.setAttribute(f,"class","modal-title");var g=a.createTextNode("\n");a.appendChild(f,g);var g=a.createTextNode(" ");a.appendChild(f,g);var g=a.createTextNode("\n ");a.appendChild(f,g),a.appendChild(e,f);var f=a.createTextNode("\n ");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("div");a.setAttribute(e,"class","modal-body");var f=a.createTextNode("\n");a.appendChild(e,f);var f=a.createTextNode(" ");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("div"),f=a.createTextNode("\n");a.appendChild(e,f);var f=a.createTextNode("");a.appendChild(e,f);var f=a.createTextNode(" ");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e),a.appendChild(c,d);var d=a.createTextNode("\n");a.appendChild(c,d),a.appendChild(b,c);var c=a.createTextNode("\n\n");a.appendChild(b,c);var c=a.createElement("div");return a.appendChild(b,c),b},render:function(f,g,h){var i=g.dom,j=g.hooks,k=j.element,l=j.get,m=j.block,n=j.content;i.detectNamespace(h);var o;g.useFragmentCache&&i.canClone?(null===this.cachedFragment&&(o=this.build(i),this.hasRendered?this.cachedFragment=o:this.hasRendered=!0),this.cachedFragment&&(o=i.cloneNode(this.cachedFragment,!0))):o=this.build(i);var p=i.childAt(o,[0,1]),q=i.childAt(p,[1]),r=i.childAt(q,[1]),s=i.childAt(q,[3]),t=i.childAt(p,[5]);this.cachedFragment&&i.repairClonedNode(t,[1]);var u=i.childAt(o,[2]),v=i.createMorphAt(s,0,1),w=i.createUnsafeMorphAt(s,1,2),x=i.createMorphAt(i.childAt(p,[3]),0,1),y=i.createMorphAt(t,0,1),z=i.createMorphAt(t,1,2);return k(g,r,f,"bind-attr",[],{"class":":close allowClose::hide"}),m(g,v,f,"if",[l(g,f,"titleIconClasses")],{},a,null),n(g,w,f,"title"),m(g,x,f,"if",[l(g,f,"body")],{},b,c),k(g,t,f,"bind-attr",[],{"class":":modal-footer fullSizeButtons:modal-footer-full"}),m(g,y,f,"each",[l(g,f,"footerButtons")],{keyword:"footerButton"},d,null),m(g,z,f,"each",[l(g,f,"footerViews")],{keyword:"footerView"},e,null),k(g,u,f,"bind-attr",[],{style:l(g,f,"backdropStyle"),"class":":modal-backdrop fade:fade backdrop:in"}),o}}}()); \ No newline at end of file From 8c2e974fd0814d29e87500616ffb4945739143fe Mon Sep 17 00:00:00 2001 From: danshapir Date: Thu, 5 Mar 2015 16:22:48 +0200 Subject: [PATCH 17/24] class binding --- app/scripts/components/BsModalComponent.coffee | 4 ++-- dist/js/bs-modal.max.js | 4 ++-- dist/js/bs-modal.min.js | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/app/scripts/components/BsModalComponent.coffee b/app/scripts/components/BsModalComponent.coffee index 71d6791..4e0502d 100644 --- a/app/scripts/components/BsModalComponent.coffee +++ b/app/scripts/components/BsModalComponent.coffee @@ -49,7 +49,7 @@ Modal component. Bootstrap.BsModalComponent = Ember.Component.extend(Ember.Evented, layoutName: 'components/bs-modal' classNames: ['modal'] - classNameBindings: ['fade', 'isVis:in', 'vertical:modal-dialog-center'] + classNameBindings: ['fade', 'isVis:in', 'vertical:modal-dialog-center', 'class'] attributeBindings: ['role', 'aria-labelledby', 'isAriaHidden:aria-hidden', "ariaLabelledBy:aria-labelledby"] isAriaHidden: (-> "#{@get('isVisible')}" @@ -253,7 +253,7 @@ Bootstrap.ModalManager = Ember.Object.createWithMixins(Ember.Evented, ] @open('confirm-modal', title || 'Confirmation required!', body, buttons, controller, options) - okModal: (controller, title, message, okButtonTitle = "OK", okButtonEvent = "okModal", okButtonType = null, options) -> + okModal: (controller, title, message, options, okButtonTitle = "OK", okButtonEvent = "okModal", okButtonType = null) -> body = Ember.View.extend( template: Ember.Handlebars.compile(message || "Are you sure you would like to perform this action?") ) diff --git a/dist/js/bs-modal.max.js b/dist/js/bs-modal.max.js index 69098d5..c2fec3f 100644 --- a/dist/js/bs-modal.max.js +++ b/dist/js/bs-modal.max.js @@ -7,7 +7,7 @@ Modal component. Bootstrap.BsModalComponent = Ember.Component.extend(Ember.Evented, { layoutName: 'components/bs-modal', classNames: ['modal'], - classNameBindings: ['fade', 'isVis:in', 'vertical:modal-dialog-center'], + classNameBindings: ['fade', 'isVis:in', 'vertical:modal-dialog-center', 'class'], attributeBindings: ['role', 'aria-labelledby', 'isAriaHidden:aria-hidden', "ariaLabelledBy:aria-labelledby"], isAriaHidden: (function() { return "" + (this.get('isVisible')); @@ -232,7 +232,7 @@ Modal component. ]; return this.open('confirm-modal', title || 'Confirmation required!', body, buttons, controller, options); }, - okModal: function(controller, title, message, okButtonTitle, okButtonEvent, okButtonType, options) { + okModal: function(controller, title, message, options, okButtonTitle, okButtonEvent, okButtonType) { var body, buttons; if (okButtonTitle == null) { okButtonTitle = "OK"; diff --git a/dist/js/bs-modal.min.js b/dist/js/bs-modal.min.js index 453eda9..2672021 100644 --- a/dist/js/bs-modal.min.js +++ b/dist/js/bs-modal.min.js @@ -1 +1 @@ -(function(){Bootstrap.BsModalComponent=Ember.Component.extend(Ember.Evented,{layoutName:"components/bs-modal",classNames:["modal"],classNameBindings:["fade","isVis:in","vertical:modal-dialog-center"],attributeBindings:["role","aria-labelledby","isAriaHidden:aria-hidden","ariaLabelledBy:aria-labelledby"],isAriaHidden:function(){return""+this.get("isVisible")}.property("isVisible"),dialogStyle:function(){Ember.run.scheduleOnce("afterRender",this,function(){return this.$()?this.$().find(".modal-dialog").css("z-index",this.get("zindex")):void 0})}.observes("zindex"),backdropStyle:function(){return"z-index: "+(this.get("zindex")-2)+";"}.property("zindex"),modalBackdrop:'',role:"dialog",footerViews:[],backdrop:!0,title:null,isVisible:!1,manual:!1,isVis:!1,fullSizeButtons:!1,fade:!0,vertical:!1,zindex:1e3,keyClose:!0,didInsertElement:function(){var a;return this._super(),this.setupBinders(),a=this.get("name"),Ember.assert("Modal name is required for modal view "+this.get("elementId"),this.get("name")),null==a&&(a=this.get("elementId")),Bootstrap.ModalManager.add(a,this),this.dialogStyle(),this.manual?this.show():void 0},becameVisible:function(){return Em.$("body").addClass("modal-open")},becameHidden:function(){return Em.$("body").removeClass("modal-open")},appendBackdrop:function(){var a;return a=this.$().parent(),this._backdrop=Em.$(this.modalBackdrop).appendTo(a)},show:function(){this.set("isVisible",!0),Ember.run.later(this,function(){this.set("isVis",!0)},15)},hide:function(){return this.get("isDestroyed")||this.get("isDestroying")?void 0:(this.set("isVis",!1),this.get("fade")?Ember.run.later(this,function(){this.get("isDestroyed")||this.get("isDestroying")||this.set("isVisible",!1)},300):this.set("isVisible",!1),!1)},toggle:function(){return this.toggleProperty("isVisible")},click:function(a){var b,c;return b=a.target,c=b.getAttribute("data-dismiss"),"modal"===c?this.close():void 0},keyPressed:function(a){return 27===a.keyCode&&this.get("keyClose")&&this.get("zindex")===Bootstrap.ModalManager.get("zindex")?this.close(a):void 0},close:function(){return this.get("isDestroyed")||this.get("isDestroying")?void 0:(this.set("isVis",!1),this.get("fade")?Ember.run.later(this,function(){this.get("isDestroyed")||this.get("isDestroying")||(this.get("manual")?this.destroy():this.set("isVisible",!1),this.trigger("closed",this))},300):(this.set("isVisible",!1),this.trigger("closed",this)))},willDestroyElement:function(){var a;return Em.$("body").removeClass("modal-open"),this.removeHandlers(),a=this.get("name"),null==a&&(a=this.get("elementId")),Bootstrap.ModalManager.remove(a,this),this._backdrop?this._backdrop.remove():void 0},removeHandlers:function(){return jQuery(window.document).unbind("keyup",this._keyUpHandler)},setupBinders:function(){var a,b=this;return a=function(a){return b.keyPressed(a)},jQuery(window.document).bind("keyup",a),this._keyUpHandler=a}}),Bootstrap.ModalManager=Ember.Object.createWithMixins(Ember.Evented,{add:function(a,b){var c;return c=this.get("zindex"),this.set("zindex",c+2),b.set("zindex",c+2),b.on("closed",function(a){return c=a.get("zindex"),c===Bootstrap.ModalManager.get("zindex")&&Bootstrap.ModalManager.set("zindex",c-2),Bootstrap.ModalManager.trigger("closed",a)}),this.set(a,b)},register:function(a,b){return this.add(a,b),b.appendTo(b.get("targetObject").namespace.rootElement)},remove:function(a){return this.set(a,null)},close:function(a){return this.get(a).close()},hide:function(a){return this.get(a).hide()},show:function(a){return this.get(a).show()},toggle:function(a){return this.get(a).toggle()},confirm:function(a,b,c,d,e,f,g,h,i,j){var k,l;return null==e&&(e="Confirm"),null==f&&(f="modalConfirmed"),null==g&&(g=null),null==h&&(h="Cancel"),null==i&&(i="modalCanceled"),null==j&&(j=null),k=Ember.View.extend({template:Ember.Handlebars.compile(c||"Are you sure you would like to perform this action?")}),l=[Ember.Object.create({title:e,clicked:f,type:g,dismiss:"modal"}),Ember.Object.create({title:h,clicked:i,type:j,dismiss:"modal"})],this.open("confirm-modal",b||"Confirmation required!",k,l,a,d)},okModal:function(a,b,c,d,e,f,g){var h,i;return null==d&&(d="OK"),null==e&&(e="okModal"),null==f&&(f=null),h=Ember.View.extend({template:Ember.Handlebars.compile(c||"Are you sure you would like to perform this action?")}),i=[Ember.Object.create({title:d,clicked:e,type:f,dismiss:"modal"})],this.open("ok-modal",b||"Confirmation required!",h,i,a,g)},openModal:function(a,b){var c,d;return null==b&&(b={}),d=b.rootElement||".ember-application",c=a.create(b),c.appendTo(d)},openManual:function(a,b,c,d,e,f){var g;return g=Ember.View.extend({template:Ember.Handlebars.compile(c),controller:e}),this.open(a,b,g,d,e,f)},open:function(a,b,c,d,e,f){var g,h,i,j;return g=void 0,h=void 0,j=void 0,null==f&&(f={}),null==f.fade&&(f.fade=this.get("fade")),null==f.fullSizeButtons&&(f.fullSizeButtons=this.get("fullSizeButtons")),null==f.targetObject&&(f.targetObject=e),null==f.vertical&&(f.vertical=this.get("vertical")),g=e.container.lookup("component-lookup:main"),h=g.lookupFactory("bs-modal",e.get("container")).create(),h.setProperties({name:a,title:b,manual:!0,footerButtons:d}),h.setProperties(f),"string"===Ember.typeOf(c)?(j=e.container.lookup("template:"+c),Ember.assert("Template "+c+" was specified for Modal but template could not be found.",j),j&&h.setProperties({body:Ember.View.extend({template:j,controller:e})})):"class"===Ember.typeOf(c)&&h.setProperties({body:c,controller:e}),i=e.rootElement,"undefined"==typeof e.rootElement&&(i=e.namespace.rootElement),h.appendTo(i)},fade:!0,fullSizeButtons:!1,vertical:!1,zindex:1e3}),Ember.Application.initializer({name:"bs-modal",initialize:function(a){return a.register("component:bs-modal",Bootstrap.BsModalComponent)}})}).call(this),Ember.TEMPLATES["components/bs-modal"]=Ember.HTMLBars.template(function(){var a=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createElement("i");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.element;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.childAt(g,[1]);return f(b,h,a,"bind-attr",[],{"class":"titleIconClasses"}),g}}}(),b=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,0,1,c);return g(b,i,a,"view",[f(b,a,"view.body")],{}),h}}}(),c=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.content;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.createMorphAt(g,0,1,c);return f(b,h,a,"yield"),g}}}(),d=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,0,1,c);return g(b,i,a,"bs-button",[],{content:f(b,a,"footerButton"),targetObjectBinding:"view.targetObject"}),h}}}(),e=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,0,1,c);return g(b,i,a,"view",[f(b,a,"footerView")],{}),h}}}();return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createElement("div");a.setAttribute(c,"class","modal-dialog");var d=a.createTextNode("\n ");a.appendChild(c,d);var d=a.createElement("div");a.setAttribute(d,"class","modal-content");var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("div");a.setAttribute(e,"class","modal-header");var f=a.createTextNode("\n ");a.appendChild(e,f);var f=a.createElement("button");a.setAttribute(f,"type","button"),a.setAttribute(f,"data-dismiss","modal"),a.setAttribute(f,"aria-hidden","true");var g=a.createTextNode("×");a.appendChild(f,g),a.appendChild(e,f);var f=a.createTextNode("\n ");a.appendChild(e,f);var f=a.createElement("h4");a.setAttribute(f,"class","modal-title");var g=a.createTextNode("\n");a.appendChild(f,g);var g=a.createTextNode(" ");a.appendChild(f,g);var g=a.createTextNode("\n ");a.appendChild(f,g),a.appendChild(e,f);var f=a.createTextNode("\n ");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("div");a.setAttribute(e,"class","modal-body");var f=a.createTextNode("\n");a.appendChild(e,f);var f=a.createTextNode(" ");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("div"),f=a.createTextNode("\n");a.appendChild(e,f);var f=a.createTextNode("");a.appendChild(e,f);var f=a.createTextNode(" ");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e),a.appendChild(c,d);var d=a.createTextNode("\n");a.appendChild(c,d),a.appendChild(b,c);var c=a.createTextNode("\n\n");a.appendChild(b,c);var c=a.createElement("div");return a.appendChild(b,c),b},render:function(f,g,h){var i=g.dom,j=g.hooks,k=j.element,l=j.get,m=j.block,n=j.content;i.detectNamespace(h);var o;g.useFragmentCache&&i.canClone?(null===this.cachedFragment&&(o=this.build(i),this.hasRendered?this.cachedFragment=o:this.hasRendered=!0),this.cachedFragment&&(o=i.cloneNode(this.cachedFragment,!0))):o=this.build(i);var p=i.childAt(o,[0,1]),q=i.childAt(p,[1]),r=i.childAt(q,[1]),s=i.childAt(q,[3]),t=i.childAt(p,[5]);this.cachedFragment&&i.repairClonedNode(t,[1]);var u=i.childAt(o,[2]),v=i.createMorphAt(s,0,1),w=i.createUnsafeMorphAt(s,1,2),x=i.createMorphAt(i.childAt(p,[3]),0,1),y=i.createMorphAt(t,0,1),z=i.createMorphAt(t,1,2);return k(g,r,f,"bind-attr",[],{"class":":close allowClose::hide"}),m(g,v,f,"if",[l(g,f,"titleIconClasses")],{},a,null),n(g,w,f,"title"),m(g,x,f,"if",[l(g,f,"body")],{},b,c),k(g,t,f,"bind-attr",[],{"class":":modal-footer fullSizeButtons:modal-footer-full"}),m(g,y,f,"each",[l(g,f,"footerButtons")],{keyword:"footerButton"},d,null),m(g,z,f,"each",[l(g,f,"footerViews")],{keyword:"footerView"},e,null),k(g,u,f,"bind-attr",[],{style:l(g,f,"backdropStyle"),"class":":modal-backdrop fade:fade backdrop:in"}),o}}}()); \ No newline at end of file +(function(){Bootstrap.BsModalComponent=Ember.Component.extend(Ember.Evented,{layoutName:"components/bs-modal",classNames:["modal"],classNameBindings:["fade","isVis:in","vertical:modal-dialog-center","class"],attributeBindings:["role","aria-labelledby","isAriaHidden:aria-hidden","ariaLabelledBy:aria-labelledby"],isAriaHidden:function(){return""+this.get("isVisible")}.property("isVisible"),dialogStyle:function(){Ember.run.scheduleOnce("afterRender",this,function(){return this.$()?this.$().find(".modal-dialog").css("z-index",this.get("zindex")):void 0})}.observes("zindex"),backdropStyle:function(){return"z-index: "+(this.get("zindex")-2)+";"}.property("zindex"),modalBackdrop:'',role:"dialog",footerViews:[],backdrop:!0,title:null,isVisible:!1,manual:!1,isVis:!1,fullSizeButtons:!1,fade:!0,vertical:!1,zindex:1e3,keyClose:!0,didInsertElement:function(){var a;return this._super(),this.setupBinders(),a=this.get("name"),Ember.assert("Modal name is required for modal view "+this.get("elementId"),this.get("name")),null==a&&(a=this.get("elementId")),Bootstrap.ModalManager.add(a,this),this.dialogStyle(),this.manual?this.show():void 0},becameVisible:function(){return Em.$("body").addClass("modal-open")},becameHidden:function(){return Em.$("body").removeClass("modal-open")},appendBackdrop:function(){var a;return a=this.$().parent(),this._backdrop=Em.$(this.modalBackdrop).appendTo(a)},show:function(){this.set("isVisible",!0),Ember.run.later(this,function(){this.set("isVis",!0)},15)},hide:function(){return this.get("isDestroyed")||this.get("isDestroying")?void 0:(this.set("isVis",!1),this.get("fade")?Ember.run.later(this,function(){this.get("isDestroyed")||this.get("isDestroying")||this.set("isVisible",!1)},300):this.set("isVisible",!1),!1)},toggle:function(){return this.toggleProperty("isVisible")},click:function(a){var b,c;return b=a.target,c=b.getAttribute("data-dismiss"),"modal"===c?this.close():void 0},keyPressed:function(a){return 27===a.keyCode&&this.get("keyClose")&&this.get("zindex")===Bootstrap.ModalManager.get("zindex")?this.close(a):void 0},close:function(){return this.get("isDestroyed")||this.get("isDestroying")?void 0:(this.set("isVis",!1),this.get("fade")?Ember.run.later(this,function(){this.get("isDestroyed")||this.get("isDestroying")||(this.get("manual")?this.destroy():this.set("isVisible",!1),this.trigger("closed",this))},300):(this.set("isVisible",!1),this.trigger("closed",this)))},willDestroyElement:function(){var a;return Em.$("body").removeClass("modal-open"),this.removeHandlers(),a=this.get("name"),null==a&&(a=this.get("elementId")),Bootstrap.ModalManager.remove(a,this),this._backdrop?this._backdrop.remove():void 0},removeHandlers:function(){return jQuery(window.document).unbind("keyup",this._keyUpHandler)},setupBinders:function(){var a,b=this;return a=function(a){return b.keyPressed(a)},jQuery(window.document).bind("keyup",a),this._keyUpHandler=a}}),Bootstrap.ModalManager=Ember.Object.createWithMixins(Ember.Evented,{add:function(a,b){var c;return c=this.get("zindex"),this.set("zindex",c+2),b.set("zindex",c+2),b.on("closed",function(a){return c=a.get("zindex"),c===Bootstrap.ModalManager.get("zindex")&&Bootstrap.ModalManager.set("zindex",c-2),Bootstrap.ModalManager.trigger("closed",a)}),this.set(a,b)},register:function(a,b){return this.add(a,b),b.appendTo(b.get("targetObject").namespace.rootElement)},remove:function(a){return this.set(a,null)},close:function(a){return this.get(a).close()},hide:function(a){return this.get(a).hide()},show:function(a){return this.get(a).show()},toggle:function(a){return this.get(a).toggle()},confirm:function(a,b,c,d,e,f,g,h,i,j){var k,l;return null==e&&(e="Confirm"),null==f&&(f="modalConfirmed"),null==g&&(g=null),null==h&&(h="Cancel"),null==i&&(i="modalCanceled"),null==j&&(j=null),k=Ember.View.extend({template:Ember.Handlebars.compile(c||"Are you sure you would like to perform this action?")}),l=[Ember.Object.create({title:e,clicked:f,type:g,dismiss:"modal"}),Ember.Object.create({title:h,clicked:i,type:j,dismiss:"modal"})],this.open("confirm-modal",b||"Confirmation required!",k,l,a,d)},okModal:function(a,b,c,d,e,f,g){var h,i;return null==e&&(e="OK"),null==f&&(f="okModal"),null==g&&(g=null),h=Ember.View.extend({template:Ember.Handlebars.compile(c||"Are you sure you would like to perform this action?")}),i=[Ember.Object.create({title:e,clicked:f,type:g,dismiss:"modal"})],this.open("ok-modal",b||"Confirmation required!",h,i,a,d)},openModal:function(a,b){var c,d;return null==b&&(b={}),d=b.rootElement||".ember-application",c=a.create(b),c.appendTo(d)},openManual:function(a,b,c,d,e,f){var g;return g=Ember.View.extend({template:Ember.Handlebars.compile(c),controller:e}),this.open(a,b,g,d,e,f)},open:function(a,b,c,d,e,f){var g,h,i,j;return g=void 0,h=void 0,j=void 0,null==f&&(f={}),null==f.fade&&(f.fade=this.get("fade")),null==f.fullSizeButtons&&(f.fullSizeButtons=this.get("fullSizeButtons")),null==f.targetObject&&(f.targetObject=e),null==f.vertical&&(f.vertical=this.get("vertical")),g=e.container.lookup("component-lookup:main"),h=g.lookupFactory("bs-modal",e.get("container")).create(),h.setProperties({name:a,title:b,manual:!0,footerButtons:d}),h.setProperties(f),"string"===Ember.typeOf(c)?(j=e.container.lookup("template:"+c),Ember.assert("Template "+c+" was specified for Modal but template could not be found.",j),j&&h.setProperties({body:Ember.View.extend({template:j,controller:e})})):"class"===Ember.typeOf(c)&&h.setProperties({body:c,controller:e}),i=e.rootElement,"undefined"==typeof e.rootElement&&(i=e.namespace.rootElement),h.appendTo(i)},fade:!0,fullSizeButtons:!1,vertical:!1,zindex:1e3}),Ember.Application.initializer({name:"bs-modal",initialize:function(a){return a.register("component:bs-modal",Bootstrap.BsModalComponent)}})}).call(this),Ember.TEMPLATES["components/bs-modal"]=Ember.HTMLBars.template(function(){var a=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createElement("i");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.element;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.childAt(g,[1]);return f(b,h,a,"bind-attr",[],{"class":"titleIconClasses"}),g}}}(),b=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,0,1,c);return g(b,i,a,"view",[f(b,a,"view.body")],{}),h}}}(),c=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.content;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.createMorphAt(g,0,1,c);return f(b,h,a,"yield"),g}}}(),d=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,0,1,c);return g(b,i,a,"bs-button",[],{content:f(b,a,"footerButton"),targetObjectBinding:"view.targetObject"}),h}}}(),e=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,0,1,c);return g(b,i,a,"view",[f(b,a,"footerView")],{}),h}}}();return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createElement("div");a.setAttribute(c,"class","modal-dialog");var d=a.createTextNode("\n ");a.appendChild(c,d);var d=a.createElement("div");a.setAttribute(d,"class","modal-content");var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("div");a.setAttribute(e,"class","modal-header");var f=a.createTextNode("\n ");a.appendChild(e,f);var f=a.createElement("button");a.setAttribute(f,"type","button"),a.setAttribute(f,"data-dismiss","modal"),a.setAttribute(f,"aria-hidden","true");var g=a.createTextNode("×");a.appendChild(f,g),a.appendChild(e,f);var f=a.createTextNode("\n ");a.appendChild(e,f);var f=a.createElement("h4");a.setAttribute(f,"class","modal-title");var g=a.createTextNode("\n");a.appendChild(f,g);var g=a.createTextNode(" ");a.appendChild(f,g);var g=a.createTextNode("\n ");a.appendChild(f,g),a.appendChild(e,f);var f=a.createTextNode("\n ");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("div");a.setAttribute(e,"class","modal-body");var f=a.createTextNode("\n");a.appendChild(e,f);var f=a.createTextNode(" ");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("div"),f=a.createTextNode("\n");a.appendChild(e,f);var f=a.createTextNode("");a.appendChild(e,f);var f=a.createTextNode(" ");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e),a.appendChild(c,d);var d=a.createTextNode("\n");a.appendChild(c,d),a.appendChild(b,c);var c=a.createTextNode("\n\n");a.appendChild(b,c);var c=a.createElement("div");return a.appendChild(b,c),b},render:function(f,g,h){var i=g.dom,j=g.hooks,k=j.element,l=j.get,m=j.block,n=j.content;i.detectNamespace(h);var o;g.useFragmentCache&&i.canClone?(null===this.cachedFragment&&(o=this.build(i),this.hasRendered?this.cachedFragment=o:this.hasRendered=!0),this.cachedFragment&&(o=i.cloneNode(this.cachedFragment,!0))):o=this.build(i);var p=i.childAt(o,[0,1]),q=i.childAt(p,[1]),r=i.childAt(q,[1]),s=i.childAt(q,[3]),t=i.childAt(p,[5]);this.cachedFragment&&i.repairClonedNode(t,[1]);var u=i.childAt(o,[2]),v=i.createMorphAt(s,0,1),w=i.createUnsafeMorphAt(s,1,2),x=i.createMorphAt(i.childAt(p,[3]),0,1),y=i.createMorphAt(t,0,1),z=i.createMorphAt(t,1,2);return k(g,r,f,"bind-attr",[],{"class":":close allowClose::hide"}),m(g,v,f,"if",[l(g,f,"titleIconClasses")],{},a,null),n(g,w,f,"title"),m(g,x,f,"if",[l(g,f,"body")],{},b,c),k(g,t,f,"bind-attr",[],{"class":":modal-footer fullSizeButtons:modal-footer-full"}),m(g,y,f,"each",[l(g,f,"footerButtons")],{keyword:"footerButton"},d,null),m(g,z,f,"each",[l(g,f,"footerViews")],{keyword:"footerView"},e,null),k(g,u,f,"bind-attr",[],{style:l(g,f,"backdropStyle"),"class":":modal-backdrop fade:fade backdrop:in"}),o}}}()); \ No newline at end of file From d6fdda0a51a7834fab6a16d286a6fe147b7322b9 Mon Sep 17 00:00:00 2001 From: danshapir Date: Tue, 10 Mar 2015 16:10:16 +0200 Subject: [PATCH 18/24] Dynamic buttons from content for modal Using proxy --- .../components/BsButtonComponent.coffee | 127 ++++++++++++------ app/scripts/mixins/Type.coffee | 5 +- dist/js/bs-button.max.js | 72 +++++++--- dist/js/bs-button.min.js | 2 +- dist/js/bs-core.max.js | 7 +- dist/js/bs-core.min.js | 2 +- 6 files changed, 147 insertions(+), 68 deletions(-) diff --git a/app/scripts/components/BsButtonComponent.coffee b/app/scripts/components/BsButtonComponent.coffee index eae0453..aa9ecd8 100644 --- a/app/scripts/components/BsButtonComponent.coffee +++ b/app/scripts/components/BsButtonComponent.coffee @@ -1,45 +1,88 @@ -Bootstrap.BsButtonComponent = Ember.Component.extend(Bootstrap.TypeSupport, Bootstrap.SizeSupport, - layoutName: 'components/bs-button' - tagName: 'button' - classNames: ['btn'] - classNameBindings: ['blockClass'] - classTypePrefix: 'btn' - clickedParam: null - block: null - attributeBindings: ['disabled', 'dismiss:data-dismiss', '_type:type', 'style'] - _type: 'button' - bubbles: true - allowedProperties: ['title', 'type', 'size', 'block', 'disabled', 'clicked', 'dismiss', 'class'] - icon_active: undefined - icon_inactive: undefined - - init: -> - @_super() - # If content is an object (may happen when a button is the view class of a collectionView), then assign allowed properties to the button component. - if @get('content')? and Ember.typeOf(@get('content')) is 'instance' - c = @get('content') - @set key, c[key] for key in @get('allowedProperties') when c[key]? - else - if not @get('title')? - @set('title', @get('content')) - @attributeBindings.pushObject attr for attr of @ when attr.match(/^data-[\w-]*$/)? - - blockClass: ( -> - if @block then "#{@classTypePrefix}-block" else null - ).property('block').cacheable() - - click: (evt) -> - evt.stopPropagation() unless @get('bubbles') - @sendAction('clicked', @get('clickedParam')) - - loadingChanged: (-> - loading = if @get('loading') isnt null then @get('loading') else "reset" - Ember.$("##{@elementId}").button(loading) - ).observes('loading') - - icon: (-> - if @get('isActive') then @get('icon_active') else @get('icon_inactive') - ).property('isActive') +Bootstrap.BsButtonComponent = Ember.Component.extend(Ember._ProxyMixin, Bootstrap.TypeSupport, Bootstrap.SizeSupport, + layoutName: 'components/bs-button' + tagName: 'button' + classNames: ['btn'] + classNameBindings: ['blockClass'] + classTypePrefix: 'btn' + clickedParam: null + block: null + attributeBindings: ['disabled', 'dismiss:data-dismiss', '_type:type', 'style'] + _type: 'button' + bubbles: true + allowedProperties: ['title', 'type', 'size', 'block', 'disabled', 'clicked', 'dismiss', 'class'] + icon_active: undefined + icon_inactive: undefined + getPojoProperties: (pojo) -> + if Ember.isEmpty(pojo) + return [] + Object.keys pojo + + getProxiedProperties: (proxyObject) -> + # Three levels, first the content, then the prototype, then the properties of the instance itself + contentProperties = @getObjectProperties(proxyObject.get('content')) + prototypeProperties = Object.keys(proxyObject.constructor.prototype) + objectProperties = @getPojoProperties(proxyObject) + contentProperties.concat(prototypeProperties).concat(objectProperties).uniq() + + getEmberObjectProperties: (emberObject) -> + prototypeProperties = Object.keys(emberObject.constructor.prototype) + objectProperties = @getPojoProperties(emberObject) + prototypeProperties.concat(objectProperties).uniq() + + getEmberDataProperties: (emberDataObject) -> + attributes = Ember.get(emberDataObject.constructor, 'attributes') + keys = Ember.get(attributes, 'keys.list') + Ember.getProperties emberDataObject, keys + + getObjectProperties: (object) -> + if object instanceof DS.Model + @getEmberDataProperties object + else if object instanceof Ember.ObjectProxy or Ember._ProxyMixin.detect(object) + @getProxiedProperties object + else if object instanceof Ember.Object + @getEmberObjectProperties object + else + @getPojoProperties object + + + +init: -> + @_super() + me = @ + # If content is an object (may happen when a button is the view class of a collectionView), then assign allowed properties to the button component. + if @get('content')? and Ember.typeOf(@get('content')) is 'instance' + properties = @.getObjectProperties(@.get('content')) + @.getProperties(properties) + else + if not @get('title')? + @set('title', @get('content')) + #@attributeBindings.pushObject attr for attr of @ when attr.match(/^data-[\w-]*$/)? + + blockClass: ( -> + if @block then "#{@classTypePrefix}-block" else null + ).property('block').cacheable() + + click: (evt) -> + evt.stopPropagation() unless @get('bubbles') + @sendAction('clicked', @get('clickedParam')) + + loadingChanged: (-> + loading = if @get('loading') isnt null then @get('loading') else "reset" + if loading isnt 'reset' and Ember.isEmpty(@.get('reset')) + @.set('reset', @.$().html()) + + @set('disabled', true) + @.$().html(@.get(loading)) + + if loading is 'reset' + @set('disabled', false) + @set('reset', null) + #Ember.$("##{@elementId}").button(loading) + ).observes('loading') + + icon: (-> + if @get('isActive') then @get('icon_active') else @get('icon_inactive') + ).property('isActive') ) Ember.Handlebars.helper 'bs-button', Bootstrap.BsButtonComponent diff --git a/app/scripts/mixins/Type.coffee b/app/scripts/mixins/Type.coffee index 80f5f2f..d5fd3a5 100644 --- a/app/scripts/mixins/Type.coffee +++ b/app/scripts/mixins/Type.coffee @@ -8,10 +8,11 @@ Bootstrap.TypeSupport = Ember.Mixin.create( type: 'default' typeClass: ( -> - type = @get 'type' + type = @get 'content.type' + type = @get 'type' if not type? or typeof type is 'undefined' type = 'default' if not type? pref = @get 'classTypePrefix' "#{pref}-#{type}" - ).property('type').cacheable() + ).property('type', 'content.type').cacheable() ) \ No newline at end of file diff --git a/dist/js/bs-button.max.js b/dist/js/bs-button.max.js index 2a2f2b9..676cffc 100644 --- a/dist/js/bs-button.max.js +++ b/dist/js/bs-button.max.js @@ -109,7 +109,7 @@ }(window.jQuery); (function() { - Bootstrap.BsButtonComponent = Ember.Component.extend(Bootstrap.TypeSupport, Bootstrap.SizeSupport, { + Bootstrap.BsButtonComponent = Ember.Component.extend(Ember._ProxyMixin, Bootstrap.TypeSupport, Bootstrap.SizeSupport, { layoutName: 'components/bs-button', tagName: 'button', classNames: ['btn'], @@ -122,32 +122,56 @@ bubbles: true, allowedProperties: ['title', 'type', 'size', 'block', 'disabled', 'clicked', 'dismiss', 'class'], icon_active: void 0, - icon_inactive: void 0 + icon_inactive: void 0, + getPojoProperties: function(pojo) { + if (Ember.isEmpty(pojo)) { + return []; + } + return Object.keys(pojo); + }, + getProxiedProperties: function(proxyObject) { + var contentProperties, objectProperties, prototypeProperties; + contentProperties = this.getObjectProperties(proxyObject.get('content')); + prototypeProperties = Object.keys(proxyObject.constructor.prototype); + objectProperties = this.getPojoProperties(proxyObject); + return contentProperties.concat(prototypeProperties).concat(objectProperties).uniq(); + }, + getEmberObjectProperties: function(emberObject) { + var objectProperties, prototypeProperties; + prototypeProperties = Object.keys(emberObject.constructor.prototype); + objectProperties = this.getPojoProperties(emberObject); + return prototypeProperties.concat(objectProperties).uniq(); + }, + getEmberDataProperties: function(emberDataObject) { + var attributes, keys; + attributes = Ember.get(emberDataObject.constructor, 'attributes'); + keys = Ember.get(attributes, 'keys.list'); + return Ember.getProperties(emberDataObject, keys); + }, + getObjectProperties: function(object) { + if (object instanceof DS.Model) { + return this.getEmberDataProperties(object); + } else if (object instanceof Ember.ObjectProxy || Ember._ProxyMixin.detect(object)) { + return this.getProxiedProperties(object); + } else if (object instanceof Ember.Object) { + return this.getEmberObjectProperties(object); + } else { + return this.getPojoProperties(object); + } + } }, { init: function() { - var attr, c, key, _i, _len, _ref, _results; + var me, properties; this._super(); + me = this; if ((this.get('content') != null) && Ember.typeOf(this.get('content')) === 'instance') { - c = this.get('content'); - _ref = this.get('allowedProperties'); - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - key = _ref[_i]; - if (c[key] != null) { - this.set(key, c[key]); - } - } + properties = this.getObjectProperties(this.get('content')); + return this.getProperties(properties); } else { if (this.get('title') == null) { - this.set('title', this.get('content')); + return this.set('title', this.get('content')); } } - _results = []; - for (attr in this) { - if (attr.match(/^data-[\w-]*$/) != null) { - _results.push(this.attributeBindings.pushObject(attr)); - } - } - return _results; }, blockClass: (function() { if (this.block) { @@ -165,7 +189,15 @@ loadingChanged: (function() { var loading; loading = this.get('loading') !== null ? this.get('loading') : "reset"; - return Ember.$("#" + this.elementId).button(loading); + if (loading !== 'reset' && Ember.isEmpty(this.get('reset'))) { + this.set('reset', this.$().html()); + } + this.set('disabled', true); + this.$().html(this.get(loading)); + if (loading === 'reset') { + this.set('disabled', false); + return this.set('reset', null); + } }).observes('loading'), icon: (function() { if (this.get('isActive')) { diff --git a/dist/js/bs-button.min.js b/dist/js/bs-button.min.js index e9d78dc..8ba91c6 100644 --- a/dist/js/bs-button.min.js +++ b/dist/js/bs-button.min.js @@ -1 +1 @@ -+function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d)};b.DEFAULTS={loadingText:"loading..."},b.prototype.setState=function(a){var b="disabled",c=this.$element,d=c.is("input")?"val":"html",e=c.data();a+="Text",e.resetText||c.data("resetText",c[d]()),c[d](e[a]||this.options[a]),setTimeout(function(){"loadingText"==a?c.addClass(b).attr(b,b):c.removeClass(b).removeAttr(b)},0)},b.prototype.toggle=function(){var a=this.$element.closest('[data-toggle="buttons"]');if(a.length){var b=this.$element.find("input").prop("checked",!this.$element.hasClass("active")).trigger("change");"radio"===b.prop("type")&&a.find(".active").removeClass("active")}this.$element.toggleClass("active")};var c=a.fn.button;a.fn.button=function(c){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof c&&c;e||d.data("bs.button",e=new b(this,f)),"toggle"==c?e.toggle():c&&e.setState(c)})},a.fn.button.Constructor=b,a.fn.button.noConflict=function(){return a.fn.button=c,this},a(document).on("click.bs.button.data-api","[data-toggle^=button]",function(b){var c=a(b.target);c.hasClass("btn")||(c=c.closest(".btn")),c.button("toggle"),b.preventDefault()})}(window.jQuery),function(){Bootstrap.BsButtonComponent=Ember.Component.extend(Bootstrap.TypeSupport,Bootstrap.SizeSupport,{layoutName:"components/bs-button",tagName:"button",classNames:["btn"],classNameBindings:["blockClass"],classTypePrefix:"btn",clickedParam:null,block:null,attributeBindings:["disabled","dismiss:data-dismiss","_type:type","style"],_type:"button",bubbles:!0,allowedProperties:["title","type","size","block","disabled","clicked","dismiss","class"],icon_active:void 0,icon_inactive:void 0},{init:function(){var a,b,c,d,e,f,g;if(this._super(),null!=this.get("content")&&"instance"===Ember.typeOf(this.get("content")))for(b=this.get("content"),f=this.get("allowedProperties"),d=0,e=f.length;e>d;d++)c=f[d],null!=b[c]&&this.set(c,b[c]);else null==this.get("title")&&this.set("title",this.get("content"));g=[];for(a in this)null!=a.match(/^data-[\w-]*$/)&&g.push(this.attributeBindings.pushObject(a));return g},blockClass:function(){return this.block?""+this.classTypePrefix+"-block":null}.property("block").cacheable(),click:function(a){return this.get("bubbles")||a.stopPropagation(),this.sendAction("clicked",this.get("clickedParam"))},loadingChanged:function(){var a;return a=null!==this.get("loading")?this.get("loading"):"reset",Ember.$("#"+this.elementId).button(a)}.observes("loading"),icon:function(){return this.get(this.get("isActive")?"icon_active":"icon_inactive")}.property("isActive")}),Ember.Handlebars.helper("bs-button",Bootstrap.BsButtonComponent)}.call(this),function(){Bootstrap.BsBtnGroup=Bootstrap.ItemsView.extend(Bootstrap.SizeSupport,Bootstrap.ItemsSelection,{classTypePrefix:["btn-group"],classNames:["btn-group"],classNameBindings:["vertical:btn-group-vertical"],itemViewClass:Bootstrap.BsButtonComponent.extend(Bootstrap.ItemValue,Bootstrap.ItemSelection,{init:function(){return this._super(),this.set("icon_active",this.get("parentView.icon_active")),this.set("icon_inactive",this.get("parentView.icon_inactive"))}})}),Ember.Handlebars.helper("bs-btn-group",Bootstrap.BsBtnGroup)}.call(this),function(){Bootstrap.BsBtnToolbarComponent=Ember.Component.extend({layoutName:"components/bs-btn-toolbar",classNames:["btn-toolbar"]}),Ember.Handlebars.helper("bs-btn-toolbar",Bootstrap.BsBtnToolbarComponent)}.call(this),Ember.TEMPLATES["components/bs-button"]=Ember.HTMLBars.template(function(){var a=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createElement("i");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.element;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.childAt(g,[1]);return f(b,h,a,"bind-attr",[],{"class":"icon"}),g}}}();return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode("");a.appendChild(b,c);var c=a.createTextNode("");a.appendChild(b,c);var c=a.createTextNode("");a.appendChild(b,c);var c=a.createTextNode("");return a.appendChild(b,c),b},render:function(b,c,d){var e=c.dom,f=c.hooks,g=f.get,h=f.block,i=f.content;e.detectNamespace(d);var j;c.useFragmentCache&&e.canClone?(null===this.cachedFragment&&(j=this.build(e),this.hasRendered?this.cachedFragment=j:this.hasRendered=!0),this.cachedFragment&&(j=e.cloneNode(this.cachedFragment,!0))):j=this.build(e),this.cachedFragment&&e.repairClonedNode(j,[0,1,2,3]);var k=e.createMorphAt(j,0,1,d),l=e.createMorphAt(j,1,2,d),m=e.createMorphAt(j,2,3,d);return h(c,k,b,"if",[g(c,b,"icon")],{},a,null),i(c,l,b,"title"),i(c,m,b,"yield"),j}}}()),Ember.TEMPLATES["components/bs-btn-toolbar"]=Ember.HTMLBars.template(function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode("");a.appendChild(b,c);var c=a.createTextNode("");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.content;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d),this.cachedFragment&&d.repairClonedNode(g,[0,1]);var h=d.createMorphAt(g,0,1,c);return f(b,h,a,"yield"),g}}}()); \ No newline at end of file ++function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d)};b.DEFAULTS={loadingText:"loading..."},b.prototype.setState=function(a){var b="disabled",c=this.$element,d=c.is("input")?"val":"html",e=c.data();a+="Text",e.resetText||c.data("resetText",c[d]()),c[d](e[a]||this.options[a]),setTimeout(function(){"loadingText"==a?c.addClass(b).attr(b,b):c.removeClass(b).removeAttr(b)},0)},b.prototype.toggle=function(){var a=this.$element.closest('[data-toggle="buttons"]');if(a.length){var b=this.$element.find("input").prop("checked",!this.$element.hasClass("active")).trigger("change");"radio"===b.prop("type")&&a.find(".active").removeClass("active")}this.$element.toggleClass("active")};var c=a.fn.button;a.fn.button=function(c){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof c&&c;e||d.data("bs.button",e=new b(this,f)),"toggle"==c?e.toggle():c&&e.setState(c)})},a.fn.button.Constructor=b,a.fn.button.noConflict=function(){return a.fn.button=c,this},a(document).on("click.bs.button.data-api","[data-toggle^=button]",function(b){var c=a(b.target);c.hasClass("btn")||(c=c.closest(".btn")),c.button("toggle"),b.preventDefault()})}(window.jQuery),function(){Bootstrap.BsButtonComponent=Ember.Component.extend(Ember._ProxyMixin,Bootstrap.TypeSupport,Bootstrap.SizeSupport,{layoutName:"components/bs-button",tagName:"button",classNames:["btn"],classNameBindings:["blockClass"],classTypePrefix:"btn",clickedParam:null,block:null,attributeBindings:["disabled","dismiss:data-dismiss","_type:type","style"],_type:"button",bubbles:!0,allowedProperties:["title","type","size","block","disabled","clicked","dismiss","class"],icon_active:void 0,icon_inactive:void 0,getPojoProperties:function(a){return Ember.isEmpty(a)?[]:Object.keys(a)},getProxiedProperties:function(a){var b,c,d;return b=this.getObjectProperties(a.get("content")),d=Object.keys(a.constructor.prototype),c=this.getPojoProperties(a),b.concat(d).concat(c).uniq()},getEmberObjectProperties:function(a){var b,c;return c=Object.keys(a.constructor.prototype),b=this.getPojoProperties(a),c.concat(b).uniq()},getEmberDataProperties:function(a){var b,c;return b=Ember.get(a.constructor,"attributes"),c=Ember.get(b,"keys.list"),Ember.getProperties(a,c)},getObjectProperties:function(a){return a instanceof DS.Model?this.getEmberDataProperties(a):a instanceof Ember.ObjectProxy||Ember._ProxyMixin.detect(a)?this.getProxiedProperties(a):a instanceof Ember.Object?this.getEmberObjectProperties(a):this.getPojoProperties(a)}},{init:function(){var a,b;return this._super(),a=this,null!=this.get("content")&&"instance"===Ember.typeOf(this.get("content"))?(b=this.getObjectProperties(this.get("content")),this.getProperties(b)):null==this.get("title")?this.set("title",this.get("content")):void 0},blockClass:function(){return this.block?""+this.classTypePrefix+"-block":null}.property("block").cacheable(),click:function(a){return this.get("bubbles")||a.stopPropagation(),this.sendAction("clicked",this.get("clickedParam"))},loadingChanged:function(){var a;return a=null!==this.get("loading")?this.get("loading"):"reset","reset"!==a&&Ember.isEmpty(this.get("reset"))&&this.set("reset",this.$().html()),this.set("disabled",!0),this.$().html(this.get(a)),"reset"===a?(this.set("disabled",!1),this.set("reset",null)):void 0}.observes("loading"),icon:function(){return this.get(this.get("isActive")?"icon_active":"icon_inactive")}.property("isActive")}),Ember.Handlebars.helper("bs-button",Bootstrap.BsButtonComponent)}.call(this),function(){Bootstrap.BsBtnGroup=Bootstrap.ItemsView.extend(Bootstrap.SizeSupport,Bootstrap.ItemsSelection,{classTypePrefix:["btn-group"],classNames:["btn-group"],classNameBindings:["vertical:btn-group-vertical"],itemViewClass:Bootstrap.BsButtonComponent.extend(Bootstrap.ItemValue,Bootstrap.ItemSelection,{init:function(){return this._super(),this.set("icon_active",this.get("parentView.icon_active")),this.set("icon_inactive",this.get("parentView.icon_inactive"))}})}),Ember.Handlebars.helper("bs-btn-group",Bootstrap.BsBtnGroup)}.call(this),function(){Bootstrap.BsBtnToolbarComponent=Ember.Component.extend({layoutName:"components/bs-btn-toolbar",classNames:["btn-toolbar"]}),Ember.Handlebars.helper("bs-btn-toolbar",Bootstrap.BsBtnToolbarComponent)}.call(this),Ember.TEMPLATES["components/bs-button"]=Ember.HTMLBars.template(function(){var a=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createElement("i");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.element;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.childAt(g,[1]);return f(b,h,a,"bind-attr",[],{"class":"icon"}),g}}}();return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode("");a.appendChild(b,c);var c=a.createTextNode("");a.appendChild(b,c);var c=a.createTextNode("");a.appendChild(b,c);var c=a.createTextNode("");return a.appendChild(b,c),b},render:function(b,c,d){var e=c.dom,f=c.hooks,g=f.get,h=f.block,i=f.content;e.detectNamespace(d);var j;c.useFragmentCache&&e.canClone?(null===this.cachedFragment&&(j=this.build(e),this.hasRendered?this.cachedFragment=j:this.hasRendered=!0),this.cachedFragment&&(j=e.cloneNode(this.cachedFragment,!0))):j=this.build(e),this.cachedFragment&&e.repairClonedNode(j,[0,1,2,3]);var k=e.createMorphAt(j,0,1,d),l=e.createMorphAt(j,1,2,d),m=e.createMorphAt(j,2,3,d);return h(c,k,b,"if",[g(c,b,"icon")],{},a,null),i(c,l,b,"title"),i(c,m,b,"yield"),j}}}()),Ember.TEMPLATES["components/bs-btn-toolbar"]=Ember.HTMLBars.template(function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode("");a.appendChild(b,c);var c=a.createTextNode("");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.content;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d),this.cachedFragment&&d.repairClonedNode(g,[0,1]);var h=d.createMorphAt(g,0,1,c);return f(b,h,a,"yield"),g}}}()); \ No newline at end of file diff --git a/dist/js/bs-core.max.js b/dist/js/bs-core.max.js index 15aaf9f..910c57c 100644 --- a/dist/js/bs-core.max.js +++ b/dist/js/bs-core.max.js @@ -92,13 +92,16 @@ type: 'default', typeClass: (function() { var pref, type; - type = this.get('type'); + type = this.get('content.type'); + if ((type == null) || typeof type === 'undefined') { + type = this.get('type'); + } if (type == null) { type = 'default'; } pref = this.get('classTypePrefix'); return "" + pref + "-" + type; - }).property('type').cacheable() + }).property('type', 'content.type').cacheable() }); }).call(this); diff --git a/dist/js/bs-core.min.js b/dist/js/bs-core.min.js index 685b2f8..4eaadc0 100644 --- a/dist/js/bs-core.min.js +++ b/dist/js/bs-core.min.js @@ -1 +1 @@ -+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]}}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one(a.support.transition.end,function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b()})}(window.jQuery),function(){var a;a=window.Bootstrap=Ember.Namespace.create()}.call(this),function(){var a,b;a=window.Bootstrap,b=Ember.get,a.WithRouter=Ember.Mixin.create({router:Ember.computed(function(){return b(this,"controller").container.lookup("router:main")})})}.call(this),function(){var a,b,c;a=window.Bootstrap,b=Ember.get,c=Ember.set,a.TypeSupport=Ember.Mixin.create({classTypePrefix:Ember.required(String),classNameBindings:["typeClass"],type:"default",typeClass:function(){var a,b;return b=this.get("type"),null==b&&(b="default"),a=this.get("classTypePrefix"),""+a+"-"+b}.property("type").cacheable()})}.call(this),function(){var a,b,c;a=window.Bootstrap,b=Ember.get,c=Ember.set,a.SizeSupport=Ember.Mixin.create({classTypePrefix:Ember.required(String),classNameBindings:["sizeClass","largeSizeClass","smallSizeClass","extraSmallSizeClass"],size:null,xs:null,small:null,large:null,extraSmallSizeClass:function(){var a;return a=this.get("classTypePrefix"),this.xs?""+a+"-xs":null}.property("xs").cacheable(),smallSizeClass:function(){var a;return a=this.get("classTypePrefix"),this.small?""+a+"-sm":null}.property("small").cacheable(),largeSizeClass:function(){var a;return a=this.get("classTypePrefix"),this.large?""+a+"-lg":null}.property("large").cacheable(),sizeClass:function(){var a,b;return b=this.get("size"),a=this.get("classTypePrefix"),b?""+a+"-"+b:null}.property("size").cacheable()})}.call(this),function(){Bootstrap.ItemValue=Ember.Mixin.create({value:function(){var a,b;return a=this.get("parentView"),null!=a?b=this.get("content"):void 0}.property("content").cacheable()})}.call(this),function(){Bootstrap.ItemSelection=Ember.Mixin.create(Bootstrap.ItemValue,Bootstrap.WithRouter,{classNameBindings:["isActive:active"],init:function(){return this._super(),this.didRouteChange()},didRouteChange:function(){var a,b,c;return b=this.get("content.linkTo"),null!=b&&(a=this.get("parentView"),null!=a)&&(null!=(c=this.get("router"))?c.isActive(b):void 0)?a.set("selected",this.get("value")):void 0}.observes("router.url"),isActive:function(){var a,b,c;return a=this.get("parentView"),null==a?!1:(b=a.get("selected"),c=this.get("value"),null==c?!1:b===c)}.property("value","parentView.selected","content.linkTo").cacheable(),click:function(a){var b,c;return a.preventDefault(),c=this.get("parentView"),null==c||(b=this.get("content"),"object"==typeof b&&b.get("disabled")||null!=this.get("content.linkTo"))?void 0:c.set("selected",this.get("value"))}})}.call(this),function(){Bootstrap.ItemsSelection=Ember.Mixin.create({multiSelection:!1,selected:[]})}.call(this),function(){Bootstrap.Nav=Ember.Mixin.create({classNames:["nav"],classNameBindings:["navTypeClass"],tagName:"ul",navType:null,navTypeClass:function(){return null!=this.navType?"nav-"+this.navType:null}.property("navType").cacheable()})}.call(this),function(){Bootstrap.NavItem=Ember.Mixin.create(Bootstrap.SelectableView)}.call(this),function(){var a,b;a=function(a){var b,c;if(a&&(c=a.get("parentView")))return b=c instanceof Bootstrap.ItemsView,Ember.assert("The parent view must be an instance of Bootstrap.ItemsView or any inherited class",b),b?c:void 0},b=function(a,b,c){return"instance"===Ember.typeOf(a)||Ember.canInvoke(a,"get")?a.get(b):c},Bootstrap.ItemView=Ember.View.extend({isItem:!0,classNameBindings:["disabled"],title:function(){var c,d,e;if(e=a(this))return d=e.get("itemTitleKey")||"title",c=this.get("content"),b(c,d,c)}.property("content").cacheable(),disabled:function(){var c,d,e;if(e=a(this))return c=this.get("content"),d=!!b(c,"disabled",!1),d&&this.get("isActive")&&e.set("selected",null),d}.property("content","content.disabled").cacheable()})}.call(this),function(){Bootstrap.ItemsView=Ember.CollectionView.extend({didInsertElement:function(){var a,b,c,d,e,f;if(this.get("default")){for(a=this.get("default"),e=this._childViews,c=0,d=e.length;d>c;c++)b=e[c],(null!=(f=b.get("content"))?f.get("title"):void 0)===a&&this.set("selected",b.get("content"));return Ember.assert("Could not activate default tab "+a+" as it doesnt exist",a)}}})}.call(this),function(){Bootstrap.ItemPaneView=Ember.View.extend({templateName:"views/item-pane",corrItem:function(){var a,b,c,d;if(null!=this.get("parentView").get("corrItemsView"))for(d=this.get("parentView").get("corrItemsView")._childViews,b=0,c=d.length;c>b;b++)if(a=d[b],a.content===this.get("content"))return a}.property("parentView.corrItemsView"),isVisible:function(){var a;return null!=(a=this.get("corrItem"))?a.get("isActive"):void 0}.property("corrItem.isActive"),controller:function(){var a,b;return a=this.get("parentView.controller"),this.get("content.controller")&&(b=this.get("container").lookup("controller:"+this.get("content.controller")),b&&(a=b)),a}.property("content")}),Ember.Handlebars.helper("bsItemPanePartial",function(a,b){var c,d;return d=b.data.view,c=d.templateForName(a),Ember.assert("Unable to find template with name '"+a+"'",c),c(this,{data:b.data})})}.call(this),function(){Bootstrap.ItemsPanesView=Ember.CollectionView.extend({viewsInserted:!1,corrItemsView:function(){var a;return a=Ember.View.views[this.get("items-id")]}.property("viewsInserted"),didInsertElement:function(){return this._super(),this.set("viewsInserted",!0)}})}.call(this),Ember.TEMPLATES["app/templates/views/item-pane"]=Ember.HTMLBars.template(function(){var a=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,0,1,c);return g(b,i,a,"bsItemPanePartial",[f(b,a,"view.content.template")],{}),h}}}();return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode("");a.appendChild(b,c);var c=a.createTextNode("");return a.appendChild(b,c),b},render:function(b,c,d){var e=c.dom,f=c.hooks,g=f.get,h=f.block;e.detectNamespace(d);var i;c.useFragmentCache&&e.canClone?(null===this.cachedFragment&&(i=this.build(e),this.hasRendered?this.cachedFragment=i:this.hasRendered=!0),this.cachedFragment&&(i=e.cloneNode(this.cachedFragment,!0))):i=this.build(e),this.cachedFragment&&e.repairClonedNode(i,[0,1]);var j=e.createMorphAt(i,0,1,d);return h(c,j,b,"if",[g(c,b,"view.content.template")],{},a,null),i}}}()); \ No newline at end of file ++function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]}}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one(a.support.transition.end,function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b()})}(window.jQuery),function(){var a;a=window.Bootstrap=Ember.Namespace.create()}.call(this),function(){var a,b;a=window.Bootstrap,b=Ember.get,a.WithRouter=Ember.Mixin.create({router:Ember.computed(function(){return b(this,"controller").container.lookup("router:main")})})}.call(this),function(){var a,b,c;a=window.Bootstrap,b=Ember.get,c=Ember.set,a.TypeSupport=Ember.Mixin.create({classTypePrefix:Ember.required(String),classNameBindings:["typeClass"],type:"default",typeClass:function(){var a,b;return b=this.get("content.type"),(null==b||"undefined"==typeof b)&&(b=this.get("type")),null==b&&(b="default"),a=this.get("classTypePrefix"),""+a+"-"+b}.property("type","content.type").cacheable()})}.call(this),function(){var a,b,c;a=window.Bootstrap,b=Ember.get,c=Ember.set,a.SizeSupport=Ember.Mixin.create({classTypePrefix:Ember.required(String),classNameBindings:["sizeClass","largeSizeClass","smallSizeClass","extraSmallSizeClass"],size:null,xs:null,small:null,large:null,extraSmallSizeClass:function(){var a;return a=this.get("classTypePrefix"),this.xs?""+a+"-xs":null}.property("xs").cacheable(),smallSizeClass:function(){var a;return a=this.get("classTypePrefix"),this.small?""+a+"-sm":null}.property("small").cacheable(),largeSizeClass:function(){var a;return a=this.get("classTypePrefix"),this.large?""+a+"-lg":null}.property("large").cacheable(),sizeClass:function(){var a,b;return b=this.get("size"),a=this.get("classTypePrefix"),b?""+a+"-"+b:null}.property("size").cacheable()})}.call(this),function(){Bootstrap.ItemValue=Ember.Mixin.create({value:function(){var a,b;return a=this.get("parentView"),null!=a?b=this.get("content"):void 0}.property("content").cacheable()})}.call(this),function(){Bootstrap.ItemSelection=Ember.Mixin.create(Bootstrap.ItemValue,Bootstrap.WithRouter,{classNameBindings:["isActive:active"],init:function(){return this._super(),this.didRouteChange()},didRouteChange:function(){var a,b,c;return b=this.get("content.linkTo"),null!=b&&(a=this.get("parentView"),null!=a)&&(null!=(c=this.get("router"))?c.isActive(b):void 0)?a.set("selected",this.get("value")):void 0}.observes("router.url"),isActive:function(){var a,b,c;return a=this.get("parentView"),null==a?!1:(b=a.get("selected"),c=this.get("value"),null==c?!1:b===c)}.property("value","parentView.selected","content.linkTo").cacheable(),click:function(a){var b,c;return a.preventDefault(),c=this.get("parentView"),null==c||(b=this.get("content"),"object"==typeof b&&b.get("disabled")||null!=this.get("content.linkTo"))?void 0:c.set("selected",this.get("value"))}})}.call(this),function(){Bootstrap.ItemsSelection=Ember.Mixin.create({multiSelection:!1,selected:[]})}.call(this),function(){Bootstrap.Nav=Ember.Mixin.create({classNames:["nav"],classNameBindings:["navTypeClass"],tagName:"ul",navType:null,navTypeClass:function(){return null!=this.navType?"nav-"+this.navType:null}.property("navType").cacheable()})}.call(this),function(){Bootstrap.NavItem=Ember.Mixin.create(Bootstrap.SelectableView)}.call(this),function(){var a,b;a=function(a){var b,c;if(a&&(c=a.get("parentView")))return b=c instanceof Bootstrap.ItemsView,Ember.assert("The parent view must be an instance of Bootstrap.ItemsView or any inherited class",b),b?c:void 0},b=function(a,b,c){return"instance"===Ember.typeOf(a)||Ember.canInvoke(a,"get")?a.get(b):c},Bootstrap.ItemView=Ember.View.extend({isItem:!0,classNameBindings:["disabled"],title:function(){var c,d,e;if(e=a(this))return d=e.get("itemTitleKey")||"title",c=this.get("content"),b(c,d,c)}.property("content").cacheable(),disabled:function(){var c,d,e;if(e=a(this))return c=this.get("content"),d=!!b(c,"disabled",!1),d&&this.get("isActive")&&e.set("selected",null),d}.property("content","content.disabled").cacheable()})}.call(this),function(){Bootstrap.ItemsView=Ember.CollectionView.extend({didInsertElement:function(){var a,b,c,d,e,f;if(this.get("default")){for(a=this.get("default"),e=this._childViews,c=0,d=e.length;d>c;c++)b=e[c],(null!=(f=b.get("content"))?f.get("title"):void 0)===a&&this.set("selected",b.get("content"));return Ember.assert("Could not activate default tab "+a+" as it doesnt exist",a)}}})}.call(this),function(){Bootstrap.ItemPaneView=Ember.View.extend({templateName:"views/item-pane",corrItem:function(){var a,b,c,d;if(null!=this.get("parentView").get("corrItemsView"))for(d=this.get("parentView").get("corrItemsView")._childViews,b=0,c=d.length;c>b;b++)if(a=d[b],a.content===this.get("content"))return a}.property("parentView.corrItemsView"),isVisible:function(){var a;return null!=(a=this.get("corrItem"))?a.get("isActive"):void 0}.property("corrItem.isActive"),controller:function(){var a,b;return a=this.get("parentView.controller"),this.get("content.controller")&&(b=this.get("container").lookup("controller:"+this.get("content.controller")),b&&(a=b)),a}.property("content")}),Ember.Handlebars.helper("bsItemPanePartial",function(a,b){var c,d;return d=b.data.view,c=d.templateForName(a),Ember.assert("Unable to find template with name '"+a+"'",c),c(this,{data:b.data})})}.call(this),function(){Bootstrap.ItemsPanesView=Ember.CollectionView.extend({viewsInserted:!1,corrItemsView:function(){var a;return a=Ember.View.views[this.get("items-id")]}.property("viewsInserted"),didInsertElement:function(){return this._super(),this.set("viewsInserted",!0)}})}.call(this),Ember.TEMPLATES["app/templates/views/item-pane"]=Ember.HTMLBars.template(function(){var a=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,0,1,c);return g(b,i,a,"bsItemPanePartial",[f(b,a,"view.content.template")],{}),h}}}();return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode("");a.appendChild(b,c);var c=a.createTextNode("");return a.appendChild(b,c),b},render:function(b,c,d){var e=c.dom,f=c.hooks,g=f.get,h=f.block;e.detectNamespace(d);var i;c.useFragmentCache&&e.canClone?(null===this.cachedFragment&&(i=this.build(e),this.hasRendered?this.cachedFragment=i:this.hasRendered=!0),this.cachedFragment&&(i=e.cloneNode(this.cachedFragment,!0))):i=this.build(e),this.cachedFragment&&e.repairClonedNode(i,[0,1]);var j=e.createMorphAt(i,0,1,d);return h(c,j,b,"if",[g(c,b,"view.content.template")],{},a,null),i}}}()); \ No newline at end of file From ef20972012fc48b71e6b8ce2cdd533bfdc896f45 Mon Sep 17 00:00:00 2001 From: danshapir Date: Fri, 13 Mar 2015 23:39:24 +0200 Subject: [PATCH 19/24] dismiss from proxy --- app/scripts/components/BsButtonComponent.coffee | 12 +++++++----- dist/js/bs-button.max.js | 10 ++++++---- dist/js/bs-button.min.js | 2 +- 3 files changed, 14 insertions(+), 10 deletions(-) diff --git a/app/scripts/components/BsButtonComponent.coffee b/app/scripts/components/BsButtonComponent.coffee index aa9ecd8..288f749 100644 --- a/app/scripts/components/BsButtonComponent.coffee +++ b/app/scripts/components/BsButtonComponent.coffee @@ -6,7 +6,7 @@ Bootstrap.BsButtonComponent = Ember.Component.extend(Ember._ProxyMixin, Bootstra classTypePrefix: 'btn' clickedParam: null block: null - attributeBindings: ['disabled', 'dismiss:data-dismiss', '_type:type', 'style'] + attributeBindings: ['disabled', 'dismiss:data-dismiss', 'contentDismiss:data-dismiss', '_type:type', 'style'] _type: 'button' bubbles: true allowedProperties: ['title', 'type', 'size', 'block', 'disabled', 'clicked', 'dismiss', 'class'] @@ -44,9 +44,7 @@ Bootstrap.BsButtonComponent = Ember.Component.extend(Ember._ProxyMixin, Bootstra else @getPojoProperties object - - -init: -> + init: -> @_super() me = @ # If content is an object (may happen when a button is the view class of a collectionView), then assign allowed properties to the button component. @@ -60,7 +58,11 @@ init: -> blockClass: ( -> if @block then "#{@classTypePrefix}-block" else null - ).property('block').cacheable() + ).property('block') + + contentDismiss: ( -> + @get('content.dismiss') + ).property('content.dismiss') click: (evt) -> evt.stopPropagation() unless @get('bubbles') diff --git a/dist/js/bs-button.max.js b/dist/js/bs-button.max.js index 676cffc..e25dfca 100644 --- a/dist/js/bs-button.max.js +++ b/dist/js/bs-button.max.js @@ -117,7 +117,7 @@ classTypePrefix: 'btn', clickedParam: null, block: null, - attributeBindings: ['disabled', 'dismiss:data-dismiss', '_type:type', 'style'], + attributeBindings: ['disabled', 'dismiss:data-dismiss', 'contentDismiss:data-dismiss', '_type:type', 'style'], _type: 'button', bubbles: true, allowedProperties: ['title', 'type', 'size', 'block', 'disabled', 'clicked', 'dismiss', 'class'], @@ -158,8 +158,7 @@ } else { return this.getPojoProperties(object); } - } - }, { + }, init: function() { var me, properties; this._super(); @@ -179,7 +178,10 @@ } else { return null; } - }).property('block').cacheable(), + }).property('block'), + contentDismiss: (function() { + return this.get('content.dismiss'); + }).property('content.dismiss'), click: function(evt) { if (!this.get('bubbles')) { evt.stopPropagation(); diff --git a/dist/js/bs-button.min.js b/dist/js/bs-button.min.js index 8ba91c6..6361cd3 100644 --- a/dist/js/bs-button.min.js +++ b/dist/js/bs-button.min.js @@ -1 +1 @@ -+function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d)};b.DEFAULTS={loadingText:"loading..."},b.prototype.setState=function(a){var b="disabled",c=this.$element,d=c.is("input")?"val":"html",e=c.data();a+="Text",e.resetText||c.data("resetText",c[d]()),c[d](e[a]||this.options[a]),setTimeout(function(){"loadingText"==a?c.addClass(b).attr(b,b):c.removeClass(b).removeAttr(b)},0)},b.prototype.toggle=function(){var a=this.$element.closest('[data-toggle="buttons"]');if(a.length){var b=this.$element.find("input").prop("checked",!this.$element.hasClass("active")).trigger("change");"radio"===b.prop("type")&&a.find(".active").removeClass("active")}this.$element.toggleClass("active")};var c=a.fn.button;a.fn.button=function(c){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof c&&c;e||d.data("bs.button",e=new b(this,f)),"toggle"==c?e.toggle():c&&e.setState(c)})},a.fn.button.Constructor=b,a.fn.button.noConflict=function(){return a.fn.button=c,this},a(document).on("click.bs.button.data-api","[data-toggle^=button]",function(b){var c=a(b.target);c.hasClass("btn")||(c=c.closest(".btn")),c.button("toggle"),b.preventDefault()})}(window.jQuery),function(){Bootstrap.BsButtonComponent=Ember.Component.extend(Ember._ProxyMixin,Bootstrap.TypeSupport,Bootstrap.SizeSupport,{layoutName:"components/bs-button",tagName:"button",classNames:["btn"],classNameBindings:["blockClass"],classTypePrefix:"btn",clickedParam:null,block:null,attributeBindings:["disabled","dismiss:data-dismiss","_type:type","style"],_type:"button",bubbles:!0,allowedProperties:["title","type","size","block","disabled","clicked","dismiss","class"],icon_active:void 0,icon_inactive:void 0,getPojoProperties:function(a){return Ember.isEmpty(a)?[]:Object.keys(a)},getProxiedProperties:function(a){var b,c,d;return b=this.getObjectProperties(a.get("content")),d=Object.keys(a.constructor.prototype),c=this.getPojoProperties(a),b.concat(d).concat(c).uniq()},getEmberObjectProperties:function(a){var b,c;return c=Object.keys(a.constructor.prototype),b=this.getPojoProperties(a),c.concat(b).uniq()},getEmberDataProperties:function(a){var b,c;return b=Ember.get(a.constructor,"attributes"),c=Ember.get(b,"keys.list"),Ember.getProperties(a,c)},getObjectProperties:function(a){return a instanceof DS.Model?this.getEmberDataProperties(a):a instanceof Ember.ObjectProxy||Ember._ProxyMixin.detect(a)?this.getProxiedProperties(a):a instanceof Ember.Object?this.getEmberObjectProperties(a):this.getPojoProperties(a)}},{init:function(){var a,b;return this._super(),a=this,null!=this.get("content")&&"instance"===Ember.typeOf(this.get("content"))?(b=this.getObjectProperties(this.get("content")),this.getProperties(b)):null==this.get("title")?this.set("title",this.get("content")):void 0},blockClass:function(){return this.block?""+this.classTypePrefix+"-block":null}.property("block").cacheable(),click:function(a){return this.get("bubbles")||a.stopPropagation(),this.sendAction("clicked",this.get("clickedParam"))},loadingChanged:function(){var a;return a=null!==this.get("loading")?this.get("loading"):"reset","reset"!==a&&Ember.isEmpty(this.get("reset"))&&this.set("reset",this.$().html()),this.set("disabled",!0),this.$().html(this.get(a)),"reset"===a?(this.set("disabled",!1),this.set("reset",null)):void 0}.observes("loading"),icon:function(){return this.get(this.get("isActive")?"icon_active":"icon_inactive")}.property("isActive")}),Ember.Handlebars.helper("bs-button",Bootstrap.BsButtonComponent)}.call(this),function(){Bootstrap.BsBtnGroup=Bootstrap.ItemsView.extend(Bootstrap.SizeSupport,Bootstrap.ItemsSelection,{classTypePrefix:["btn-group"],classNames:["btn-group"],classNameBindings:["vertical:btn-group-vertical"],itemViewClass:Bootstrap.BsButtonComponent.extend(Bootstrap.ItemValue,Bootstrap.ItemSelection,{init:function(){return this._super(),this.set("icon_active",this.get("parentView.icon_active")),this.set("icon_inactive",this.get("parentView.icon_inactive"))}})}),Ember.Handlebars.helper("bs-btn-group",Bootstrap.BsBtnGroup)}.call(this),function(){Bootstrap.BsBtnToolbarComponent=Ember.Component.extend({layoutName:"components/bs-btn-toolbar",classNames:["btn-toolbar"]}),Ember.Handlebars.helper("bs-btn-toolbar",Bootstrap.BsBtnToolbarComponent)}.call(this),Ember.TEMPLATES["components/bs-button"]=Ember.HTMLBars.template(function(){var a=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createElement("i");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.element;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.childAt(g,[1]);return f(b,h,a,"bind-attr",[],{"class":"icon"}),g}}}();return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode("");a.appendChild(b,c);var c=a.createTextNode("");a.appendChild(b,c);var c=a.createTextNode("");a.appendChild(b,c);var c=a.createTextNode("");return a.appendChild(b,c),b},render:function(b,c,d){var e=c.dom,f=c.hooks,g=f.get,h=f.block,i=f.content;e.detectNamespace(d);var j;c.useFragmentCache&&e.canClone?(null===this.cachedFragment&&(j=this.build(e),this.hasRendered?this.cachedFragment=j:this.hasRendered=!0),this.cachedFragment&&(j=e.cloneNode(this.cachedFragment,!0))):j=this.build(e),this.cachedFragment&&e.repairClonedNode(j,[0,1,2,3]);var k=e.createMorphAt(j,0,1,d),l=e.createMorphAt(j,1,2,d),m=e.createMorphAt(j,2,3,d);return h(c,k,b,"if",[g(c,b,"icon")],{},a,null),i(c,l,b,"title"),i(c,m,b,"yield"),j}}}()),Ember.TEMPLATES["components/bs-btn-toolbar"]=Ember.HTMLBars.template(function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode("");a.appendChild(b,c);var c=a.createTextNode("");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.content;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d),this.cachedFragment&&d.repairClonedNode(g,[0,1]);var h=d.createMorphAt(g,0,1,c);return f(b,h,a,"yield"),g}}}()); \ No newline at end of file ++function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d)};b.DEFAULTS={loadingText:"loading..."},b.prototype.setState=function(a){var b="disabled",c=this.$element,d=c.is("input")?"val":"html",e=c.data();a+="Text",e.resetText||c.data("resetText",c[d]()),c[d](e[a]||this.options[a]),setTimeout(function(){"loadingText"==a?c.addClass(b).attr(b,b):c.removeClass(b).removeAttr(b)},0)},b.prototype.toggle=function(){var a=this.$element.closest('[data-toggle="buttons"]');if(a.length){var b=this.$element.find("input").prop("checked",!this.$element.hasClass("active")).trigger("change");"radio"===b.prop("type")&&a.find(".active").removeClass("active")}this.$element.toggleClass("active")};var c=a.fn.button;a.fn.button=function(c){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof c&&c;e||d.data("bs.button",e=new b(this,f)),"toggle"==c?e.toggle():c&&e.setState(c)})},a.fn.button.Constructor=b,a.fn.button.noConflict=function(){return a.fn.button=c,this},a(document).on("click.bs.button.data-api","[data-toggle^=button]",function(b){var c=a(b.target);c.hasClass("btn")||(c=c.closest(".btn")),c.button("toggle"),b.preventDefault()})}(window.jQuery),function(){Bootstrap.BsButtonComponent=Ember.Component.extend(Ember._ProxyMixin,Bootstrap.TypeSupport,Bootstrap.SizeSupport,{layoutName:"components/bs-button",tagName:"button",classNames:["btn"],classNameBindings:["blockClass"],classTypePrefix:"btn",clickedParam:null,block:null,attributeBindings:["disabled","dismiss:data-dismiss","contentDismiss:data-dismiss","_type:type","style"],_type:"button",bubbles:!0,allowedProperties:["title","type","size","block","disabled","clicked","dismiss","class"],icon_active:void 0,icon_inactive:void 0,getPojoProperties:function(a){return Ember.isEmpty(a)?[]:Object.keys(a)},getProxiedProperties:function(a){var b,c,d;return b=this.getObjectProperties(a.get("content")),d=Object.keys(a.constructor.prototype),c=this.getPojoProperties(a),b.concat(d).concat(c).uniq()},getEmberObjectProperties:function(a){var b,c;return c=Object.keys(a.constructor.prototype),b=this.getPojoProperties(a),c.concat(b).uniq()},getEmberDataProperties:function(a){var b,c;return b=Ember.get(a.constructor,"attributes"),c=Ember.get(b,"keys.list"),Ember.getProperties(a,c)},getObjectProperties:function(a){return a instanceof DS.Model?this.getEmberDataProperties(a):a instanceof Ember.ObjectProxy||Ember._ProxyMixin.detect(a)?this.getProxiedProperties(a):a instanceof Ember.Object?this.getEmberObjectProperties(a):this.getPojoProperties(a)},init:function(){var a,b;return this._super(),a=this,null!=this.get("content")&&"instance"===Ember.typeOf(this.get("content"))?(b=this.getObjectProperties(this.get("content")),this.getProperties(b)):null==this.get("title")?this.set("title",this.get("content")):void 0},blockClass:function(){return this.block?""+this.classTypePrefix+"-block":null}.property("block"),contentDismiss:function(){return this.get("content.dismiss")}.property("content.dismiss"),click:function(a){return this.get("bubbles")||a.stopPropagation(),this.sendAction("clicked",this.get("clickedParam"))},loadingChanged:function(){var a;return a=null!==this.get("loading")?this.get("loading"):"reset","reset"!==a&&Ember.isEmpty(this.get("reset"))&&this.set("reset",this.$().html()),this.set("disabled",!0),this.$().html(this.get(a)),"reset"===a?(this.set("disabled",!1),this.set("reset",null)):void 0}.observes("loading"),icon:function(){return this.get(this.get("isActive")?"icon_active":"icon_inactive")}.property("isActive")}),Ember.Handlebars.helper("bs-button",Bootstrap.BsButtonComponent)}.call(this),function(){Bootstrap.BsBtnGroup=Bootstrap.ItemsView.extend(Bootstrap.SizeSupport,Bootstrap.ItemsSelection,{classTypePrefix:["btn-group"],classNames:["btn-group"],classNameBindings:["vertical:btn-group-vertical"],itemViewClass:Bootstrap.BsButtonComponent.extend(Bootstrap.ItemValue,Bootstrap.ItemSelection,{init:function(){return this._super(),this.set("icon_active",this.get("parentView.icon_active")),this.set("icon_inactive",this.get("parentView.icon_inactive"))}})}),Ember.Handlebars.helper("bs-btn-group",Bootstrap.BsBtnGroup)}.call(this),function(){Bootstrap.BsBtnToolbarComponent=Ember.Component.extend({layoutName:"components/bs-btn-toolbar",classNames:["btn-toolbar"]}),Ember.Handlebars.helper("bs-btn-toolbar",Bootstrap.BsBtnToolbarComponent)}.call(this),Ember.TEMPLATES["components/bs-button"]=Ember.HTMLBars.template(function(){var a=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createElement("i");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.element;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.childAt(g,[1]);return f(b,h,a,"bind-attr",[],{"class":"icon"}),g}}}();return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode("");a.appendChild(b,c);var c=a.createTextNode("");a.appendChild(b,c);var c=a.createTextNode("");a.appendChild(b,c);var c=a.createTextNode("");return a.appendChild(b,c),b},render:function(b,c,d){var e=c.dom,f=c.hooks,g=f.get,h=f.block,i=f.content;e.detectNamespace(d);var j;c.useFragmentCache&&e.canClone?(null===this.cachedFragment&&(j=this.build(e),this.hasRendered?this.cachedFragment=j:this.hasRendered=!0),this.cachedFragment&&(j=e.cloneNode(this.cachedFragment,!0))):j=this.build(e),this.cachedFragment&&e.repairClonedNode(j,[0,1,2,3]);var k=e.createMorphAt(j,0,1,d),l=e.createMorphAt(j,1,2,d),m=e.createMorphAt(j,2,3,d);return h(c,k,b,"if",[g(c,b,"icon")],{},a,null),i(c,l,b,"title"),i(c,m,b,"yield"),j}}}()),Ember.TEMPLATES["components/bs-btn-toolbar"]=Ember.HTMLBars.template(function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode("");a.appendChild(b,c);var c=a.createTextNode("");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.content;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d),this.cachedFragment&&d.repairClonedNode(g,[0,1]);var h=d.createMorphAt(g,0,1,c);return f(b,h,a,"yield"),g}}}()); \ No newline at end of file From 5421dc2c205fe93564f9927db79db98d80984fd2 Mon Sep 17 00:00:00 2001 From: danshapir Date: Tue, 31 Mar 2015 15:21:40 +0300 Subject: [PATCH 20/24] Update ember version --- dist/js/bs-alert.max.js | 19 +++-- dist/js/bs-alert.min.js | 2 +- dist/js/bs-badge.max.js | 10 +-- dist/js/bs-badge.min.js | 2 +- dist/js/bs-basic.max.js | 87 ++++++++++++++------ dist/js/bs-basic.min.js | 2 +- dist/js/bs-breadcrumbs.min.js | 2 +- dist/js/bs-button.max.js | 29 +++---- dist/js/bs-button.min.js | 2 +- dist/js/bs-core.max.js | 15 ++-- dist/js/bs-core.min.js | 2 +- dist/js/bs-label.max.js | 10 +-- dist/js/bs-label.min.js | 2 +- dist/js/bs-modal.max.js | 43 +++++++--- dist/js/bs-modal.min.js | 2 +- dist/js/bs-progressbar.max.js | 33 +++++--- dist/js/bs-progressbar.min.js | 2 +- dist/showcase/scripts/showcase-components.js | 54 +++++++----- dist/showcase/scripts/showcase.js | 8 +- dist/showcase/scripts/vendor/modernizr.js | 2 +- 20 files changed, 205 insertions(+), 123 deletions(-) diff --git a/dist/js/bs-alert.max.js b/dist/js/bs-alert.max.js index 755ed8e..0d32063 100644 --- a/dist/js/bs-alert.max.js +++ b/dist/js/bs-alert.max.js @@ -132,6 +132,7 @@ Ember.TEMPLATES["components/bs-alert"] = Ember.HTMLBars.template((function() { var child0 = (function() { return { isHTMLBars: true, + revision: "Ember@1.11.0", blockParams: 0, cachedFragment: null, hasRendered: false, @@ -175,18 +176,17 @@ Ember.TEMPLATES["components/bs-alert"] = Ember.HTMLBars.template((function() { }()); return { isHTMLBars: true, + revision: "Ember@1.11.0", blockParams: 0, cachedFragment: null, hasRendered: false, build: function build(dom) { var el0 = dom.createDocumentFragment(); - var el1 = dom.createTextNode(""); + var el1 = dom.createComment(""); dom.appendChild(el0, el1); - var el1 = dom.createTextNode(""); + var el1 = dom.createComment(""); dom.appendChild(el0, el1); - var el1 = dom.createTextNode(""); - dom.appendChild(el0, el1); - var el1 = dom.createTextNode(""); + var el1 = dom.createComment(""); dom.appendChild(el0, el1); return el0; }, @@ -210,10 +210,11 @@ Ember.TEMPLATES["components/bs-alert"] = Ember.HTMLBars.template((function() { } else { fragment = this.build(dom); } - if (this.cachedFragment) { dom.repairClonedNode(fragment,[0,1,2,3]); } - var morph0 = dom.createMorphAt(fragment,0,1,contextualElement); - var morph1 = dom.createMorphAt(fragment,1,2,contextualElement); - var morph2 = dom.createMorphAt(fragment,2,3,contextualElement); + var morph0 = dom.createMorphAt(fragment,0,0,contextualElement); + var morph1 = dom.createMorphAt(fragment,1,1,contextualElement); + var morph2 = dom.createMorphAt(fragment,2,2,contextualElement); + dom.insertBoundary(fragment, null); + dom.insertBoundary(fragment, 0); block(env, morph0, context, "if", [get(env, context, "dismiss")], {}, child0, null); content(env, morph1, context, "message"); content(env, morph2, context, "yield"); diff --git a/dist/js/bs-alert.min.js b/dist/js/bs-alert.min.js index c60fffe..86a0ad2 100644 --- a/dist/js/bs-alert.min.js +++ b/dist/js/bs-alert.min.js @@ -1 +1 @@ -+function(a){"use strict";var b='[data-dismiss="alert"]',c=function(c){a(c).on("click",b,this.close)};c.prototype.close=function(b){function c(){f.trigger("closed.bs.alert").remove()}var d=a(this),e=d.attr("data-target");e||(e=d.attr("href"),e=e&&e.replace(/.*(?=#[^\s]*$)/,""));var f=a(e);b&&b.preventDefault(),f.length||(f=d.hasClass("alert")?d:d.parent()),f.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one(a.support.transition.end,c).emulateTransitionEnd(150):c())};var d=a.fn.alert;a.fn.alert=function(b){return this.each(function(){var d=a(this),e=d.data("bs.alert");e||d.data("bs.alert",e=new c(this)),"string"==typeof b&&e[b].call(d)})},a.fn.alert.Constructor=c,a.fn.alert.noConflict=function(){return a.fn.alert=d,this},a(document).on("click.bs.alert.data-api",b,c.prototype.close)}(window.jQuery),function(){Bootstrap.BsAlertComponent=Ember.Component.extend(Bootstrap.TypeSupport,{classNames:["alert"],classNameBindings:["fade","fade:in"],layoutName:"components/bs-alert",classTypePrefix:"alert",attributeBindings:["data-timeout"],dismissAfter:0,closedParam:null,didInsertElement:function(){var a=this;return this.dismissAfter>0&&Ember.run.later(this,"dismiss",1e3*this.dismissAfter),Ember.$("#"+this.elementId).bind("closed.bs.alert",function(){return a.sendAction("closed",a.get("closedParam")),a.destroy()}),Ember.$("#"+this.elementId).bind("close.bs.alert",function(){return a.sendAction("close",a.get("closedParam"))})},dismiss:function(){return Ember.$("#"+this.elementId).alert("close")}}),Ember.Handlebars.helper("bs-alert",Bootstrap.BsAlertComponent)}.call(this),Ember.TEMPLATES["components/bs-alert"]=Ember.HTMLBars.template(function(){var a=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createElement("a");a.setAttribute(c,"class","close"),a.setAttribute(c,"data-dismiss","alert"),a.setAttribute(c,"href","#");var d=a.createTextNode("×");a.appendChild(c,d),a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom;d.detectNamespace(c);var e;return b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(e=this.build(d),this.hasRendered?this.cachedFragment=e:this.hasRendered=!0),this.cachedFragment&&(e=d.cloneNode(this.cachedFragment,!0))):e=this.build(d),e}}}();return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode("");a.appendChild(b,c);var c=a.createTextNode("");a.appendChild(b,c);var c=a.createTextNode("");a.appendChild(b,c);var c=a.createTextNode("");return a.appendChild(b,c),b},render:function(b,c,d){var e=c.dom,f=c.hooks,g=f.get,h=f.block,i=f.content;e.detectNamespace(d);var j;c.useFragmentCache&&e.canClone?(null===this.cachedFragment&&(j=this.build(e),this.hasRendered?this.cachedFragment=j:this.hasRendered=!0),this.cachedFragment&&(j=e.cloneNode(this.cachedFragment,!0))):j=this.build(e),this.cachedFragment&&e.repairClonedNode(j,[0,1,2,3]);var k=e.createMorphAt(j,0,1,d),l=e.createMorphAt(j,1,2,d),m=e.createMorphAt(j,2,3,d);return h(c,k,b,"if",[g(c,b,"dismiss")],{},a,null),i(c,l,b,"message"),i(c,m,b,"yield"),j}}}()); \ No newline at end of file ++function(a){"use strict";var b='[data-dismiss="alert"]',c=function(c){a(c).on("click",b,this.close)};c.prototype.close=function(b){function c(){f.trigger("closed.bs.alert").remove()}var d=a(this),e=d.attr("data-target");e||(e=d.attr("href"),e=e&&e.replace(/.*(?=#[^\s]*$)/,""));var f=a(e);b&&b.preventDefault(),f.length||(f=d.hasClass("alert")?d:d.parent()),f.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one(a.support.transition.end,c).emulateTransitionEnd(150):c())};var d=a.fn.alert;a.fn.alert=function(b){return this.each(function(){var d=a(this),e=d.data("bs.alert");e||d.data("bs.alert",e=new c(this)),"string"==typeof b&&e[b].call(d)})},a.fn.alert.Constructor=c,a.fn.alert.noConflict=function(){return a.fn.alert=d,this},a(document).on("click.bs.alert.data-api",b,c.prototype.close)}(window.jQuery),function(){Bootstrap.BsAlertComponent=Ember.Component.extend(Bootstrap.TypeSupport,{classNames:["alert"],classNameBindings:["fade","fade:in"],layoutName:"components/bs-alert",classTypePrefix:"alert",attributeBindings:["data-timeout"],dismissAfter:0,closedParam:null,didInsertElement:function(){var a=this;return this.dismissAfter>0&&Ember.run.later(this,"dismiss",1e3*this.dismissAfter),Ember.$("#"+this.elementId).bind("closed.bs.alert",function(){return a.sendAction("closed",a.get("closedParam")),a.destroy()}),Ember.$("#"+this.elementId).bind("close.bs.alert",function(){return a.sendAction("close",a.get("closedParam"))})},dismiss:function(){return Ember.$("#"+this.elementId).alert("close")}}),Ember.Handlebars.helper("bs-alert",Bootstrap.BsAlertComponent)}.call(this),Ember.TEMPLATES["components/bs-alert"]=Ember.HTMLBars.template(function(){var a=function(){return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createElement("a");a.setAttribute(c,"class","close"),a.setAttribute(c,"data-dismiss","alert"),a.setAttribute(c,"href","#");var d=a.createTextNode("×");a.appendChild(c,d),a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom;d.detectNamespace(c);var e;return b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(e=this.build(d),this.hasRendered?this.cachedFragment=e:this.hasRendered=!0),this.cachedFragment&&(e=d.cloneNode(this.cachedFragment,!0))):e=this.build(d),e}}}();return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createComment("");a.appendChild(b,c);var c=a.createComment("");a.appendChild(b,c);var c=a.createComment("");return a.appendChild(b,c),b},render:function(b,c,d){var e=c.dom,f=c.hooks,g=f.get,h=f.block,i=f.content;e.detectNamespace(d);var j;c.useFragmentCache&&e.canClone?(null===this.cachedFragment&&(j=this.build(e),this.hasRendered?this.cachedFragment=j:this.hasRendered=!0),this.cachedFragment&&(j=e.cloneNode(this.cachedFragment,!0))):j=this.build(e);var k=e.createMorphAt(j,0,0,d),l=e.createMorphAt(j,1,1,d),m=e.createMorphAt(j,2,2,d);return e.insertBoundary(j,null),e.insertBoundary(j,0),h(c,k,b,"if",[g(c,b,"dismiss")],{},a,null),i(c,l,b,"message"),i(c,m,b,"yield"),j}}}()); \ No newline at end of file diff --git a/dist/js/bs-badge.max.js b/dist/js/bs-badge.max.js index e48d292..7581dbf 100644 --- a/dist/js/bs-badge.max.js +++ b/dist/js/bs-badge.max.js @@ -13,14 +13,13 @@ Ember.TEMPLATES["components/bs-badge"] = Ember.HTMLBars.template((function() { return { isHTMLBars: true, + revision: "Ember@1.11.0", blockParams: 0, cachedFragment: null, hasRendered: false, build: function build(dom) { var el0 = dom.createDocumentFragment(); - var el1 = dom.createTextNode(""); - dom.appendChild(el0, el1); - var el1 = dom.createTextNode(""); + var el1 = dom.createComment(""); dom.appendChild(el0, el1); return el0; }, @@ -44,8 +43,9 @@ Ember.TEMPLATES["components/bs-badge"] = Ember.HTMLBars.template((function() { } else { fragment = this.build(dom); } - if (this.cachedFragment) { dom.repairClonedNode(fragment,[0,1]); } - var morph0 = dom.createMorphAt(fragment,0,1,contextualElement); + var morph0 = dom.createMorphAt(fragment,0,0,contextualElement); + dom.insertBoundary(fragment, null); + dom.insertBoundary(fragment, 0); content(env, morph0, context, "content"); return fragment; } diff --git a/dist/js/bs-badge.min.js b/dist/js/bs-badge.min.js index 58b66c9..3cb0503 100644 --- a/dist/js/bs-badge.min.js +++ b/dist/js/bs-badge.min.js @@ -1 +1 @@ -(function(){Bootstrap.BsBadgeComponent=Ember.Component.extend(Bootstrap.TypeSupport,{layoutName:"components/bs-badge",tagName:"span",classNames:["badge"],classTypePrefix:"badge"}),Ember.Handlebars.helper("bs-badge",Bootstrap.BsBadgeComponent)}).call(this),Ember.TEMPLATES["components/bs-badge"]=Ember.HTMLBars.template(function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode("");a.appendChild(b,c);var c=a.createTextNode("");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.content;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d),this.cachedFragment&&d.repairClonedNode(g,[0,1]);var h=d.createMorphAt(g,0,1,c);return f(b,h,a,"content"),g}}}()); \ No newline at end of file +(function(){Bootstrap.BsBadgeComponent=Ember.Component.extend(Bootstrap.TypeSupport,{layoutName:"components/bs-badge",tagName:"span",classNames:["badge"],classTypePrefix:"badge"}),Ember.Handlebars.helper("bs-badge",Bootstrap.BsBadgeComponent)}).call(this),Ember.TEMPLATES["components/bs-badge"]=Ember.HTMLBars.template(function(){return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createComment("");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.content;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.createMorphAt(g,0,0,c);return d.insertBoundary(g,null),d.insertBoundary(g,0),f(b,h,a,"content"),g}}}()); \ No newline at end of file diff --git a/dist/js/bs-basic.max.js b/dist/js/bs-basic.max.js index f911180..7c01939 100644 --- a/dist/js/bs-basic.max.js +++ b/dist/js/bs-basic.max.js @@ -61,6 +61,7 @@ Ember.TEMPLATES["components/bs-page-header"] = Ember.HTMLBars.template((function var child0 = (function() { return { isHTMLBars: true, + revision: "Ember@1.11.0", blockParams: 0, cachedFragment: null, hasRendered: false, @@ -69,6 +70,8 @@ Ember.TEMPLATES["components/bs-page-header"] = Ember.HTMLBars.template((function var el1 = dom.createTextNode(" "); dom.appendChild(el0, el1); var el1 = dom.createElement("small"); + var el2 = dom.createComment(""); + dom.appendChild(el1, el2); dom.appendChild(el0, el1); var el1 = dom.createTextNode("\n"); dom.appendChild(el0, el1); @@ -94,7 +97,7 @@ Ember.TEMPLATES["components/bs-page-header"] = Ember.HTMLBars.template((function } else { fragment = this.build(dom); } - var morph0 = dom.createMorphAt(dom.childAt(fragment, [1]),-1,-1); + var morph0 = dom.createMorphAt(dom.childAt(fragment, [1]),0,0); content(env, morph0, context, "sub"); return fragment; } @@ -102,14 +105,21 @@ Ember.TEMPLATES["components/bs-page-header"] = Ember.HTMLBars.template((function }()); return { isHTMLBars: true, + revision: "Ember@1.11.0", blockParams: 0, cachedFragment: null, hasRendered: false, build: function build(dom) { - var el0 = dom.createElement("h1"); - var el1 = dom.createTextNode("\n "); - dom.appendChild(el0, el1); - var el1 = dom.createTextNode("\n"); + var el0 = dom.createDocumentFragment(); + var el1 = dom.createElement("h1"); + var el2 = dom.createTextNode("\n "); + dom.appendChild(el1, el2); + var el2 = dom.createComment(""); + dom.appendChild(el1, el2); + var el2 = dom.createTextNode("\n"); + dom.appendChild(el1, el2); + var el2 = dom.createComment(""); + dom.appendChild(el1, el2); dom.appendChild(el0, el1); return el0; }, @@ -133,8 +143,9 @@ Ember.TEMPLATES["components/bs-page-header"] = Ember.HTMLBars.template((function } else { fragment = this.build(dom); } - var morph0 = dom.createMorphAt(fragment,0,1); - var morph1 = dom.createMorphAt(fragment,1,-1); + var element0 = dom.childAt(fragment, [0]); + var morph0 = dom.createMorphAt(element0,1,1); + var morph1 = dom.createMorphAt(element0,3,3); content(env, morph0, context, "title"); block(env, morph1, context, "if", [get(env, context, "sub")], {}, child0, null); return fragment; @@ -145,14 +156,13 @@ Ember.TEMPLATES["components/bs-page-header"] = Ember.HTMLBars.template((function Ember.TEMPLATES["components/bs-well"] = Ember.HTMLBars.template((function() { return { isHTMLBars: true, + revision: "Ember@1.11.0", blockParams: 0, cachedFragment: null, hasRendered: false, build: function build(dom) { var el0 = dom.createDocumentFragment(); - var el1 = dom.createTextNode(""); - dom.appendChild(el0, el1); - var el1 = dom.createTextNode(""); + var el1 = dom.createComment(""); dom.appendChild(el0, el1); return el0; }, @@ -176,8 +186,9 @@ Ember.TEMPLATES["components/bs-well"] = Ember.HTMLBars.template((function() { } else { fragment = this.build(dom); } - if (this.cachedFragment) { dom.repairClonedNode(fragment,[0,1]); } - var morph0 = dom.createMorphAt(fragment,0,1,contextualElement); + var morph0 = dom.createMorphAt(fragment,0,0,contextualElement); + dom.insertBoundary(fragment, null); + dom.insertBoundary(fragment, 0); content(env, morph0, context, "yield"); return fragment; } @@ -189,6 +200,7 @@ Ember.TEMPLATES["components/bs-panel"] = Ember.HTMLBars.template((function() { var child0 = (function() { return { isHTMLBars: true, + revision: "Ember@1.11.0", blockParams: 0, cachedFragment: null, hasRendered: false, @@ -202,6 +214,8 @@ Ember.TEMPLATES["components/bs-panel"] = Ember.HTMLBars.template((function() { dom.setAttribute(el1,"data-parent","#accordion"); var el2 = dom.createTextNode("\n "); dom.appendChild(el1, el2); + var el2 = dom.createComment(""); + dom.appendChild(el1, el2); var el2 = dom.createTextNode("\n "); dom.appendChild(el1, el2); dom.appendChild(el0, el1); @@ -230,7 +244,7 @@ Ember.TEMPLATES["components/bs-panel"] = Ember.HTMLBars.template((function() { fragment = this.build(dom); } var element2 = dom.childAt(fragment, [1]); - var morph0 = dom.createMorphAt(element2,0,1); + var morph0 = dom.createMorphAt(element2,1,1); element(env, element2, context, "bind-attr", [], {"href": get(env, context, "collapsibleBodyLink")}); content(env, morph0, context, "heading"); return fragment; @@ -240,6 +254,7 @@ Ember.TEMPLATES["components/bs-panel"] = Ember.HTMLBars.template((function() { var child1 = (function() { return { isHTMLBars: true, + revision: "Ember@1.11.0", blockParams: 0, cachedFragment: null, hasRendered: false, @@ -247,6 +262,8 @@ Ember.TEMPLATES["components/bs-panel"] = Ember.HTMLBars.template((function() { var el0 = dom.createDocumentFragment(); var el1 = dom.createTextNode(" "); dom.appendChild(el0, el1); + var el1 = dom.createComment(""); + dom.appendChild(el0, el1); var el1 = dom.createTextNode("\n"); dom.appendChild(el0, el1); return el0; @@ -271,7 +288,7 @@ Ember.TEMPLATES["components/bs-panel"] = Ember.HTMLBars.template((function() { } else { fragment = this.build(dom); } - var morph0 = dom.createMorphAt(fragment,0,1,contextualElement); + var morph0 = dom.createMorphAt(fragment,1,1,contextualElement); content(env, morph0, context, "heading"); return fragment; } @@ -280,6 +297,7 @@ Ember.TEMPLATES["components/bs-panel"] = Ember.HTMLBars.template((function() { var child2 = (function() { return { isHTMLBars: true, + revision: "Ember@1.11.0", blockParams: 0, cachedFragment: null, hasRendered: false, @@ -325,6 +343,7 @@ Ember.TEMPLATES["components/bs-panel"] = Ember.HTMLBars.template((function() { }()); return { isHTMLBars: true, + revision: "Ember@1.11.0", blockParams: 0, cachedFragment: null, hasRendered: false, @@ -336,7 +355,9 @@ Ember.TEMPLATES["components/bs-panel"] = Ember.HTMLBars.template((function() { dom.setAttribute(el1,"class","panel-heading"); var el2 = dom.createTextNode("\n"); dom.appendChild(el1, el2); - var el2 = dom.createTextNode(""); + var el2 = dom.createComment(""); + dom.appendChild(el1, el2); + var el2 = dom.createComment(""); dom.appendChild(el1, el2); var el2 = dom.createTextNode(" "); dom.appendChild(el1, el2); @@ -366,9 +387,8 @@ Ember.TEMPLATES["components/bs-panel"] = Ember.HTMLBars.template((function() { fragment = this.build(dom); } var element3 = dom.childAt(fragment, [1]); - if (this.cachedFragment) { dom.repairClonedNode(element3,[1]); } - var morph0 = dom.createMorphAt(element3,0,1); - var morph1 = dom.createMorphAt(element3,1,2); + var morph0 = dom.createMorphAt(element3,1,1); + var morph1 = dom.createMorphAt(element3,2,2); block(env, morph0, context, "if", [get(env, context, "collapsible")], {}, child0, child1); block(env, morph1, context, "if", [get(env, context, "dismiss")], {}, child2, null); return fragment; @@ -378,6 +398,7 @@ Ember.TEMPLATES["components/bs-panel"] = Ember.HTMLBars.template((function() { var child1 = (function() { return { isHTMLBars: true, + revision: "Ember@1.11.0", blockParams: 0, cachedFragment: null, hasRendered: false, @@ -390,6 +411,8 @@ Ember.TEMPLATES["components/bs-panel"] = Ember.HTMLBars.template((function() { dom.appendChild(el1, el2); var el2 = dom.createElement("div"); dom.setAttribute(el2,"class","panel-body"); + var el3 = dom.createComment(""); + dom.appendChild(el2, el3); dom.appendChild(el1, el2); var el2 = dom.createTextNode("\n "); dom.appendChild(el1, el2); @@ -419,7 +442,7 @@ Ember.TEMPLATES["components/bs-panel"] = Ember.HTMLBars.template((function() { fragment = this.build(dom); } var element0 = dom.childAt(fragment, [1]); - var morph0 = dom.createMorphAt(dom.childAt(element0, [1]),-1,-1); + var morph0 = dom.createMorphAt(dom.childAt(element0, [1]),0,0); element(env, element0, context, "bind-attr", [], {"id": get(env, context, "collapsibleBodyId")}); element(env, element0, context, "bind-attr", [], {"class": ":panel-collapse :collapse open:in"}); content(env, morph0, context, "yield"); @@ -430,6 +453,7 @@ Ember.TEMPLATES["components/bs-panel"] = Ember.HTMLBars.template((function() { var child2 = (function() { return { isHTMLBars: true, + revision: "Ember@1.11.0", blockParams: 0, cachedFragment: null, hasRendered: false, @@ -440,6 +464,8 @@ Ember.TEMPLATES["components/bs-panel"] = Ember.HTMLBars.template((function() { var el1 = dom.createElement("div"); dom.setAttribute(el1,"id","collapseOne"); dom.setAttribute(el1,"class","panel-body"); + var el2 = dom.createComment(""); + dom.appendChild(el1, el2); dom.appendChild(el0, el1); var el1 = dom.createTextNode("\n"); dom.appendChild(el0, el1); @@ -465,7 +491,7 @@ Ember.TEMPLATES["components/bs-panel"] = Ember.HTMLBars.template((function() { } else { fragment = this.build(dom); } - var morph0 = dom.createMorphAt(dom.childAt(fragment, [1]),-1,-1); + var morph0 = dom.createMorphAt(dom.childAt(fragment, [1]),0,0); content(env, morph0, context, "yield"); return fragment; } @@ -474,6 +500,7 @@ Ember.TEMPLATES["components/bs-panel"] = Ember.HTMLBars.template((function() { var child3 = (function() { return { isHTMLBars: true, + revision: "Ember@1.11.0", blockParams: 0, cachedFragment: null, hasRendered: false, @@ -483,6 +510,8 @@ Ember.TEMPLATES["components/bs-panel"] = Ember.HTMLBars.template((function() { dom.appendChild(el0, el1); var el1 = dom.createElement("div"); dom.setAttribute(el1,"class","panel-footer"); + var el2 = dom.createComment(""); + dom.appendChild(el1, el2); dom.appendChild(el0, el1); var el1 = dom.createTextNode("\n"); dom.appendChild(el0, el1); @@ -508,7 +537,7 @@ Ember.TEMPLATES["components/bs-panel"] = Ember.HTMLBars.template((function() { } else { fragment = this.build(dom); } - var morph0 = dom.createMorphAt(dom.childAt(fragment, [1]),-1,-1); + var morph0 = dom.createMorphAt(dom.childAt(fragment, [1]),0,0); content(env, morph0, context, "footer"); return fragment; } @@ -516,18 +545,21 @@ Ember.TEMPLATES["components/bs-panel"] = Ember.HTMLBars.template((function() { }()); return { isHTMLBars: true, + revision: "Ember@1.11.0", blockParams: 0, cachedFragment: null, hasRendered: false, build: function build(dom) { var el0 = dom.createDocumentFragment(); - var el1 = dom.createTextNode(""); + var el1 = dom.createComment(""); dom.appendChild(el0, el1); var el1 = dom.createTextNode("\n"); dom.appendChild(el0, el1); + var el1 = dom.createComment(""); + dom.appendChild(el0, el1); var el1 = dom.createTextNode("\n"); dom.appendChild(el0, el1); - var el1 = dom.createTextNode(""); + var el1 = dom.createComment(""); dom.appendChild(el0, el1); return el0; }, @@ -551,10 +583,11 @@ Ember.TEMPLATES["components/bs-panel"] = Ember.HTMLBars.template((function() { } else { fragment = this.build(dom); } - if (this.cachedFragment) { dom.repairClonedNode(fragment,[0,3]); } - var morph0 = dom.createMorphAt(fragment,0,1,contextualElement); - var morph1 = dom.createMorphAt(fragment,1,2,contextualElement); - var morph2 = dom.createMorphAt(fragment,2,3,contextualElement); + var morph0 = dom.createMorphAt(fragment,0,0,contextualElement); + var morph1 = dom.createMorphAt(fragment,2,2,contextualElement); + var morph2 = dom.createMorphAt(fragment,4,4,contextualElement); + dom.insertBoundary(fragment, null); + dom.insertBoundary(fragment, 0); block(env, morph0, context, "if", [get(env, context, "heading")], {}, child0, null); block(env, morph1, context, "if", [get(env, context, "collapsible")], {}, child1, child2); block(env, morph2, context, "if", [get(env, context, "footer")], {}, child3, null); diff --git a/dist/js/bs-basic.min.js b/dist/js/bs-basic.min.js index f2e1681..5d4a118 100644 --- a/dist/js/bs-basic.min.js +++ b/dist/js/bs-basic.min.js @@ -1 +1 @@ -(function(){Bootstrap.BsWellComponent=Ember.Component.extend({layoutName:"components/bs-well",classNameBindings:["small:well-sm","large:well-lg"],classNames:["well"],click:function(){return this.sendAction("clicked")}}),Ember.Handlebars.helper("bs-well",Bootstrap.BsWellComponent)}).call(this),function(){Bootstrap.BsPageHeaderComponent=Ember.Component.extend({layoutName:"components/bs-page-header",classNames:["page-header"]}),Ember.Handlebars.helper("bs-page-header",Bootstrap.BsPageHeaderComponent)}.call(this),function(){Bootstrap.BsPanelComponent=Ember.Component.extend(Bootstrap.TypeSupport,{layoutName:"components/bs-panel",classNames:["panel"],classTypePrefix:["panel"],classNameBindings:["fade","fade:in"],clicked:null,onClose:null,fade:!0,collapsible:!1,open:!0,actions:{close:function(){return this.sendAction("onClose"),this.$().removeClass("in"),setTimeout(function(){return this.destroy()}.bind(this),250)}},click:function(a){return this.sendAction("clicked",a)},collapsibleBodyId:function(){return""+this.get("elementId")+"_body"}.property("collapsible"),collapsibleBodyLink:function(){return"#"+this.get("elementId")+"_body"}.property("collapsibleBodyId")}),Ember.Handlebars.helper("bs-panel",Bootstrap.BsPanelComponent)}.call(this),Ember.TEMPLATES["components/bs-page-header"]=Ember.HTMLBars.template(function(){var a=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createElement("small");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.content;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.createMorphAt(d.childAt(g,[1]),-1,-1);return f(b,h,a,"sub"),g}}}();return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createElement("h1"),c=a.createTextNode("\n ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(b,c,d){var e=c.dom,f=c.hooks,g=f.content,h=f.get,i=f.block;e.detectNamespace(d);var j;c.useFragmentCache&&e.canClone?(null===this.cachedFragment&&(j=this.build(e),this.hasRendered?this.cachedFragment=j:this.hasRendered=!0),this.cachedFragment&&(j=e.cloneNode(this.cachedFragment,!0))):j=this.build(e);var k=e.createMorphAt(j,0,1),l=e.createMorphAt(j,1,-1);return g(c,k,b,"title"),i(c,l,b,"if",[h(c,b,"sub")],{},a,null),j}}}()),Ember.TEMPLATES["components/bs-well"]=Ember.HTMLBars.template(function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode("");a.appendChild(b,c);var c=a.createTextNode("");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.content;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d),this.cachedFragment&&d.repairClonedNode(g,[0,1]);var h=d.createMorphAt(g,0,1,c);return f(b,h,a,"yield"),g}}}()),Ember.TEMPLATES["components/bs-panel"]=Ember.HTMLBars.template(function(){var a=function(){var a=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createElement("a");a.setAttribute(c,"class","accordion-toggle"),a.setAttribute(c,"data-toggle","collapse"),a.setAttribute(c,"data-parent","#accordion");var d=a.createTextNode("\n ");a.appendChild(c,d);var d=a.createTextNode("\n ");a.appendChild(c,d),a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.element,h=e.content;d.detectNamespace(c);var i;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(i=this.build(d),this.hasRendered?this.cachedFragment=i:this.hasRendered=!0),this.cachedFragment&&(i=d.cloneNode(this.cachedFragment,!0))):i=this.build(d);var j=d.childAt(i,[1]),k=d.createMorphAt(j,0,1);return g(b,j,a,"bind-attr",[],{href:f(b,a,"collapsibleBodyLink")}),h(b,k,a,"heading"),i}}}(),b=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.content;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.createMorphAt(g,0,1,c);return f(b,h,a,"heading"),g}}}(),c=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createElement("a");a.setAttribute(c,"class","close"),a.setAttribute(c,"data-dismiss","panel");var d=a.createTextNode("×");a.appendChild(c,d),a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.element;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.childAt(g,[1]);return f(b,h,a,"action",["close"],{}),g}}}();return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createElement("div");a.setAttribute(c,"class","panel-heading");var d=a.createTextNode("\n");a.appendChild(c,d);var d=a.createTextNode("");a.appendChild(c,d);var d=a.createTextNode(" ");a.appendChild(c,d),a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(d,e,f){var g=e.dom,h=e.hooks,i=h.get,j=h.block;g.detectNamespace(f);var k;e.useFragmentCache&&g.canClone?(null===this.cachedFragment&&(k=this.build(g),this.hasRendered?this.cachedFragment=k:this.hasRendered=!0),this.cachedFragment&&(k=g.cloneNode(this.cachedFragment,!0))):k=this.build(g);var l=g.childAt(k,[1]);this.cachedFragment&&g.repairClonedNode(l,[1]);var m=g.createMorphAt(l,0,1),n=g.createMorphAt(l,1,2);return j(e,m,d,"if",[i(e,d,"collapsible")],{},a,b),j(e,n,d,"if",[i(e,d,"dismiss")],{},c,null),k}}}(),b=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createElement("div"),d=a.createTextNode("\n ");a.appendChild(c,d);var d=a.createElement("div");a.setAttribute(d,"class","panel-body"),a.appendChild(c,d);var d=a.createTextNode("\n ");a.appendChild(c,d),a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.element,h=e.content;d.detectNamespace(c);var i;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(i=this.build(d),this.hasRendered?this.cachedFragment=i:this.hasRendered=!0),this.cachedFragment&&(i=d.cloneNode(this.cachedFragment,!0))):i=this.build(d);var j=d.childAt(i,[1]),k=d.createMorphAt(d.childAt(j,[1]),-1,-1);return g(b,j,a,"bind-attr",[],{id:f(b,a,"collapsibleBodyId")}),g(b,j,a,"bind-attr",[],{"class":":panel-collapse :collapse open:in"}),h(b,k,a,"yield"),i}}}(),c=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createElement("div");a.setAttribute(c,"id","collapseOne"),a.setAttribute(c,"class","panel-body"),a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.content;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.createMorphAt(d.childAt(g,[1]),-1,-1);return f(b,h,a,"yield"),g}}}(),d=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createElement("div");a.setAttribute(c,"class","panel-footer"),a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.content;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.createMorphAt(d.childAt(g,[1]),-1,-1);return f(b,h,a,"footer"),g}}}();return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode("");a.appendChild(b,c);var c=a.createTextNode("\n");a.appendChild(b,c);var c=a.createTextNode("\n");a.appendChild(b,c);var c=a.createTextNode("");return a.appendChild(b,c),b},render:function(e,f,g){var h=f.dom,i=f.hooks,j=i.get,k=i.block;h.detectNamespace(g);var l;f.useFragmentCache&&h.canClone?(null===this.cachedFragment&&(l=this.build(h),this.hasRendered?this.cachedFragment=l:this.hasRendered=!0),this.cachedFragment&&(l=h.cloneNode(this.cachedFragment,!0))):l=this.build(h),this.cachedFragment&&h.repairClonedNode(l,[0,3]);var m=h.createMorphAt(l,0,1,g),n=h.createMorphAt(l,1,2,g),o=h.createMorphAt(l,2,3,g);return k(f,m,e,"if",[j(f,e,"heading")],{},a,null),k(f,n,e,"if",[j(f,e,"collapsible")],{},b,c),k(f,o,e,"if",[j(f,e,"footer")],{},d,null),l}}}()); \ No newline at end of file +(function(){Bootstrap.BsWellComponent=Ember.Component.extend({layoutName:"components/bs-well",classNameBindings:["small:well-sm","large:well-lg"],classNames:["well"],click:function(){return this.sendAction("clicked")}}),Ember.Handlebars.helper("bs-well",Bootstrap.BsWellComponent)}).call(this),function(){Bootstrap.BsPageHeaderComponent=Ember.Component.extend({layoutName:"components/bs-page-header",classNames:["page-header"]}),Ember.Handlebars.helper("bs-page-header",Bootstrap.BsPageHeaderComponent)}.call(this),function(){Bootstrap.BsPanelComponent=Ember.Component.extend(Bootstrap.TypeSupport,{layoutName:"components/bs-panel",classNames:["panel"],classTypePrefix:["panel"],classNameBindings:["fade","fade:in"],clicked:null,onClose:null,fade:!0,collapsible:!1,open:!0,actions:{close:function(a){return this.sendAction("onClose"),this.$().removeClass("in"),setTimeout(function(){return this.destroy()}.bind(this),250)}},click:function(a){return this.sendAction("clicked",a)},collapsibleBodyId:function(){return""+this.get("elementId")+"_body"}.property("collapsible"),collapsibleBodyLink:function(){return"#"+this.get("elementId")+"_body"}.property("collapsibleBodyId")}),Ember.Handlebars.helper("bs-panel",Bootstrap.BsPanelComponent)}.call(this),Ember.TEMPLATES["components/bs-page-header"]=Ember.HTMLBars.template(function(){var a=function(){return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createElement("small"),d=a.createComment("");a.appendChild(c,d),a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.content;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.createMorphAt(d.childAt(g,[1]),0,0);return f(b,h,a,"sub"),g}}}();return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createElement("h1"),d=a.createTextNode("\n ");a.appendChild(c,d);var d=a.createComment("");a.appendChild(c,d);var d=a.createTextNode("\n");a.appendChild(c,d);var d=a.createComment("");return a.appendChild(c,d),a.appendChild(b,c),b},render:function(b,c,d){var e=c.dom,f=c.hooks,g=f.content,h=f.get,i=f.block;e.detectNamespace(d);var j;c.useFragmentCache&&e.canClone?(null===this.cachedFragment&&(j=this.build(e),this.hasRendered?this.cachedFragment=j:this.hasRendered=!0),this.cachedFragment&&(j=e.cloneNode(this.cachedFragment,!0))):j=this.build(e);var k=e.childAt(j,[0]),l=e.createMorphAt(k,1,1),m=e.createMorphAt(k,3,3);return g(c,l,b,"title"),i(c,m,b,"if",[h(c,b,"sub")],{},a,null),j}}}()),Ember.TEMPLATES["components/bs-well"]=Ember.HTMLBars.template(function(){return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createComment("");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.content;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.createMorphAt(g,0,0,c);return d.insertBoundary(g,null),d.insertBoundary(g,0),f(b,h,a,"yield"),g}}}()),Ember.TEMPLATES["components/bs-panel"]=Ember.HTMLBars.template(function(){var a=function(){var a=function(){return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createElement("a");a.setAttribute(c,"class","accordion-toggle"),a.setAttribute(c,"data-toggle","collapse"),a.setAttribute(c,"data-parent","#accordion");var d=a.createTextNode("\n ");a.appendChild(c,d);var d=a.createComment("");a.appendChild(c,d);var d=a.createTextNode("\n ");a.appendChild(c,d),a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.element,h=e.content;d.detectNamespace(c);var i;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(i=this.build(d),this.hasRendered?this.cachedFragment=i:this.hasRendered=!0),this.cachedFragment&&(i=d.cloneNode(this.cachedFragment,!0))):i=this.build(d);var j=d.childAt(i,[1]),k=d.createMorphAt(j,1,1);return g(b,j,a,"bind-attr",[],{href:f(b,a,"collapsibleBodyLink")}),h(b,k,a,"heading"),i}}}(),b=function(){return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createComment("");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.content;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.createMorphAt(g,1,1,c);return f(b,h,a,"heading"),g}}}(),c=function(){return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createElement("a");a.setAttribute(c,"class","close"),a.setAttribute(c,"data-dismiss","panel");var d=a.createTextNode("×");a.appendChild(c,d),a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.element;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.childAt(g,[1]);return f(b,h,a,"action",["close"],{}),g}}}();return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createElement("div");a.setAttribute(c,"class","panel-heading");var d=a.createTextNode("\n");a.appendChild(c,d);var d=a.createComment("");a.appendChild(c,d);var d=a.createComment("");a.appendChild(c,d);var d=a.createTextNode(" ");a.appendChild(c,d),a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(d,e,f){var g=e.dom,h=e.hooks,i=h.get,j=h.block;g.detectNamespace(f);var k;e.useFragmentCache&&g.canClone?(null===this.cachedFragment&&(k=this.build(g),this.hasRendered?this.cachedFragment=k:this.hasRendered=!0),this.cachedFragment&&(k=g.cloneNode(this.cachedFragment,!0))):k=this.build(g);var l=g.childAt(k,[1]),m=g.createMorphAt(l,1,1),n=g.createMorphAt(l,2,2);return j(e,m,d,"if",[i(e,d,"collapsible")],{},a,b),j(e,n,d,"if",[i(e,d,"dismiss")],{},c,null),k}}}(),b=function(){return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createElement("div"),d=a.createTextNode("\n ");a.appendChild(c,d);var d=a.createElement("div");a.setAttribute(d,"class","panel-body");var e=a.createComment("");a.appendChild(d,e),a.appendChild(c,d);var d=a.createTextNode("\n ");a.appendChild(c,d),a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.element,h=e.content;d.detectNamespace(c);var i;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(i=this.build(d),this.hasRendered?this.cachedFragment=i:this.hasRendered=!0),this.cachedFragment&&(i=d.cloneNode(this.cachedFragment,!0))):i=this.build(d);var j=d.childAt(i,[1]),k=d.createMorphAt(d.childAt(j,[1]),0,0);return g(b,j,a,"bind-attr",[],{id:f(b,a,"collapsibleBodyId")}),g(b,j,a,"bind-attr",[],{"class":":panel-collapse :collapse open:in"}),h(b,k,a,"yield"),i}}}(),c=function(){return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createElement("div");a.setAttribute(c,"id","collapseOne"),a.setAttribute(c,"class","panel-body");var d=a.createComment("");a.appendChild(c,d),a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.content;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.createMorphAt(d.childAt(g,[1]),0,0);return f(b,h,a,"yield"),g}}}(),d=function(){return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createElement("div");a.setAttribute(c,"class","panel-footer");var d=a.createComment("");a.appendChild(c,d),a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.content;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.createMorphAt(d.childAt(g,[1]),0,0);return f(b,h,a,"footer"),g}}}();return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createComment("");a.appendChild(b,c);var c=a.createTextNode("\n");a.appendChild(b,c);var c=a.createComment("");a.appendChild(b,c);var c=a.createTextNode("\n");a.appendChild(b,c);var c=a.createComment("");return a.appendChild(b,c),b},render:function(e,f,g){var h=f.dom,i=f.hooks,j=i.get,k=i.block;h.detectNamespace(g);var l;f.useFragmentCache&&h.canClone?(null===this.cachedFragment&&(l=this.build(h),this.hasRendered?this.cachedFragment=l:this.hasRendered=!0),this.cachedFragment&&(l=h.cloneNode(this.cachedFragment,!0))):l=this.build(h);var m=h.createMorphAt(l,0,0,g),n=h.createMorphAt(l,2,2,g),o=h.createMorphAt(l,4,4,g);return h.insertBoundary(l,null),h.insertBoundary(l,0),k(f,m,e,"if",[j(f,e,"heading")],{},a,null),k(f,n,e,"if",[j(f,e,"collapsible")],{},b,c),k(f,o,e,"if",[j(f,e,"footer")],{},d,null),l}}}()); \ No newline at end of file diff --git a/dist/js/bs-breadcrumbs.min.js b/dist/js/bs-breadcrumbs.min.js index 4a7c924..4775de5 100644 --- a/dist/js/bs-breadcrumbs.min.js +++ b/dist/js/bs-breadcrumbs.min.js @@ -1 +1 @@ -(function(){Bootstrap.BsBreadcrumbsItem=Bootstrap.ItemView.extend({tagName:["li"],classNameBindings:["isActive:active"],template:Ember.Handlebars.compile("{{#unless view.isActive}}{{#if view.content.model}}{{#link-to view.content.route model.id}}{{view.content.name}}{{/link-to}}{{else}}{{#link-to view.content.route}}{{view.content.name}}{{/link-to}}{{/if}}{{else}}{{view.content.name}}{{/unless}}"),isActive:function(){return this.get("content.active")}.property("content.active")}),Bootstrap.BsBreadcrumbs=Bootstrap.ItemsView.extend(Bootstrap.WithRouter,{tagName:["ol"],classNames:["breadcrumb"],currentPathObserver:function(){return this.get("router"),this.send("updateCrumbsByRoute")}.observes("router.url").on("init"),content:[],itemViewClass:Bootstrap.BsBreadcrumbsItem,nameDictionary:void 0,dictionaryNamePrefix:"breadcrumbs",actions:{currentPathDidChange:function(){return this.send("updateCrumbsByRoute")},updateCrumbsByRoute:function(){var a,b=this;return this.get("content").clear(),a=this.get("container").lookup("router:main"),a.get("router.currentHandlerInfos").forEach(function(a){var c,d,e,f,g,h,i;return e=a.name,-1!==e.indexOf(".index")||"application"===e||(null!=(g=a.handler.breadcrumbs)?g.hidden:0)?void 0:(f=a.handler.routeName,(null!=(h=a.handler.breadcrumbs)?h.name:void 0)?d=a.handler.breadcrumbs.name:(null!=(i=b.get("nameDictionary"))?i[""+b.dictionaryNamePrefix+"."+f]:void 0)?d=b.get("nameDictionary")[""+b.dictionaryNamePrefix+"."+f]:(d=a.handler.routeName.split(".").pop(),d=d[0].toUpperCase()+d.slice(1).toLowerCase()),c=Ember.Object.create({route:a.handler.routeName,name:d,model:null}),0===b.get("content").length&&c.set("icon","fa fa-home home-icon"),a.isDynamic&&c.setProperties({model:a.handler.context,name:a.handler.context.get("name")}),b.get("content").pushObject(c))}),this.get("content.lastObject").set("active",!0)}}}),Ember.Handlebars.helper("bs-breadcrumbs",Bootstrap.BsBreadcrumbs)}).call(this); \ No newline at end of file +(function(){Bootstrap.BsBreadcrumbsItem=Bootstrap.ItemView.extend({tagName:["li"],classNameBindings:["isActive:active"],template:Ember.Handlebars.compile("{{#unless view.isActive}}{{#if view.content.model}}{{#link-to view.content.route model.id}}{{view.content.name}}{{/link-to}}{{else}}{{#link-to view.content.route}}{{view.content.name}}{{/link-to}}{{/if}}{{else}}{{view.content.name}}{{/unless}}"),isActive:function(){return this.get("content.active")}.property("content.active")}),Bootstrap.BsBreadcrumbs=Bootstrap.ItemsView.extend(Bootstrap.WithRouter,{tagName:["ol"],classNames:["breadcrumb"],currentPathObserver:function(){return this.get("router"),this.send("updateCrumbsByRoute")}.observes("router.url").on("init"),content:[],itemViewClass:Bootstrap.BsBreadcrumbsItem,nameDictionary:void 0,dictionaryNamePrefix:"breadcrumbs",actions:{currentPathDidChange:function(){return this.send("updateCrumbsByRoute")},updateCrumbsByRoute:function(){var a,b=this;return this.get("content").clear(),a=this.get("container").lookup("router:main"),a.get("router.currentHandlerInfos").forEach(function(a,c,d){var e,f,g,h,i,j,k;return g=a.name,-1!==g.indexOf(".index")||"application"===g||(null!=(i=a.handler.breadcrumbs)?i.hidden:0)?void 0:(h=a.handler.routeName,(null!=(j=a.handler.breadcrumbs)?j.name:void 0)?f=a.handler.breadcrumbs.name:(null!=(k=b.get("nameDictionary"))?k[""+b.dictionaryNamePrefix+"."+h]:void 0)?f=b.get("nameDictionary")[""+b.dictionaryNamePrefix+"."+h]:(f=a.handler.routeName.split(".").pop(),f=f[0].toUpperCase()+f.slice(1).toLowerCase()),e=Ember.Object.create({route:a.handler.routeName,name:f,model:null}),0===b.get("content").length&&e.set("icon","fa fa-home home-icon"),a.isDynamic&&e.setProperties({model:a.handler.context,name:a.handler.context.get("name")}),b.get("content").pushObject(e))}),this.get("content.lastObject").set("active",!0)}}}),Ember.Handlebars.helper("bs-breadcrumbs",Bootstrap.BsBreadcrumbs)}).call(this); \ No newline at end of file diff --git a/dist/js/bs-button.max.js b/dist/js/bs-button.max.js index e25dfca..08f471e 100644 --- a/dist/js/bs-button.max.js +++ b/dist/js/bs-button.max.js @@ -261,6 +261,7 @@ Ember.TEMPLATES["components/bs-button"] = Ember.HTMLBars.template((function() { var child0 = (function() { return { isHTMLBars: true, + revision: "Ember@1.11.0", blockParams: 0, cachedFragment: null, hasRendered: false, @@ -302,18 +303,17 @@ Ember.TEMPLATES["components/bs-button"] = Ember.HTMLBars.template((function() { }()); return { isHTMLBars: true, + revision: "Ember@1.11.0", blockParams: 0, cachedFragment: null, hasRendered: false, build: function build(dom) { var el0 = dom.createDocumentFragment(); - var el1 = dom.createTextNode(""); + var el1 = dom.createComment(""); dom.appendChild(el0, el1); - var el1 = dom.createTextNode(""); + var el1 = dom.createComment(""); dom.appendChild(el0, el1); - var el1 = dom.createTextNode(""); - dom.appendChild(el0, el1); - var el1 = dom.createTextNode(""); + var el1 = dom.createComment(""); dom.appendChild(el0, el1); return el0; }, @@ -337,10 +337,11 @@ Ember.TEMPLATES["components/bs-button"] = Ember.HTMLBars.template((function() { } else { fragment = this.build(dom); } - if (this.cachedFragment) { dom.repairClonedNode(fragment,[0,1,2,3]); } - var morph0 = dom.createMorphAt(fragment,0,1,contextualElement); - var morph1 = dom.createMorphAt(fragment,1,2,contextualElement); - var morph2 = dom.createMorphAt(fragment,2,3,contextualElement); + var morph0 = dom.createMorphAt(fragment,0,0,contextualElement); + var morph1 = dom.createMorphAt(fragment,1,1,contextualElement); + var morph2 = dom.createMorphAt(fragment,2,2,contextualElement); + dom.insertBoundary(fragment, null); + dom.insertBoundary(fragment, 0); block(env, morph0, context, "if", [get(env, context, "icon")], {}, child0, null); content(env, morph1, context, "title"); content(env, morph2, context, "yield"); @@ -351,14 +352,13 @@ Ember.TEMPLATES["components/bs-button"] = Ember.HTMLBars.template((function() { Ember.TEMPLATES["components/bs-btn-toolbar"] = Ember.HTMLBars.template((function() { return { isHTMLBars: true, + revision: "Ember@1.11.0", blockParams: 0, cachedFragment: null, hasRendered: false, build: function build(dom) { var el0 = dom.createDocumentFragment(); - var el1 = dom.createTextNode(""); - dom.appendChild(el0, el1); - var el1 = dom.createTextNode(""); + var el1 = dom.createComment(""); dom.appendChild(el0, el1); return el0; }, @@ -382,8 +382,9 @@ Ember.TEMPLATES["components/bs-btn-toolbar"] = Ember.HTMLBars.template((function } else { fragment = this.build(dom); } - if (this.cachedFragment) { dom.repairClonedNode(fragment,[0,1]); } - var morph0 = dom.createMorphAt(fragment,0,1,contextualElement); + var morph0 = dom.createMorphAt(fragment,0,0,contextualElement); + dom.insertBoundary(fragment, null); + dom.insertBoundary(fragment, 0); content(env, morph0, context, "yield"); return fragment; } diff --git a/dist/js/bs-button.min.js b/dist/js/bs-button.min.js index 6361cd3..674c6d8 100644 --- a/dist/js/bs-button.min.js +++ b/dist/js/bs-button.min.js @@ -1 +1 @@ -+function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d)};b.DEFAULTS={loadingText:"loading..."},b.prototype.setState=function(a){var b="disabled",c=this.$element,d=c.is("input")?"val":"html",e=c.data();a+="Text",e.resetText||c.data("resetText",c[d]()),c[d](e[a]||this.options[a]),setTimeout(function(){"loadingText"==a?c.addClass(b).attr(b,b):c.removeClass(b).removeAttr(b)},0)},b.prototype.toggle=function(){var a=this.$element.closest('[data-toggle="buttons"]');if(a.length){var b=this.$element.find("input").prop("checked",!this.$element.hasClass("active")).trigger("change");"radio"===b.prop("type")&&a.find(".active").removeClass("active")}this.$element.toggleClass("active")};var c=a.fn.button;a.fn.button=function(c){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof c&&c;e||d.data("bs.button",e=new b(this,f)),"toggle"==c?e.toggle():c&&e.setState(c)})},a.fn.button.Constructor=b,a.fn.button.noConflict=function(){return a.fn.button=c,this},a(document).on("click.bs.button.data-api","[data-toggle^=button]",function(b){var c=a(b.target);c.hasClass("btn")||(c=c.closest(".btn")),c.button("toggle"),b.preventDefault()})}(window.jQuery),function(){Bootstrap.BsButtonComponent=Ember.Component.extend(Ember._ProxyMixin,Bootstrap.TypeSupport,Bootstrap.SizeSupport,{layoutName:"components/bs-button",tagName:"button",classNames:["btn"],classNameBindings:["blockClass"],classTypePrefix:"btn",clickedParam:null,block:null,attributeBindings:["disabled","dismiss:data-dismiss","contentDismiss:data-dismiss","_type:type","style"],_type:"button",bubbles:!0,allowedProperties:["title","type","size","block","disabled","clicked","dismiss","class"],icon_active:void 0,icon_inactive:void 0,getPojoProperties:function(a){return Ember.isEmpty(a)?[]:Object.keys(a)},getProxiedProperties:function(a){var b,c,d;return b=this.getObjectProperties(a.get("content")),d=Object.keys(a.constructor.prototype),c=this.getPojoProperties(a),b.concat(d).concat(c).uniq()},getEmberObjectProperties:function(a){var b,c;return c=Object.keys(a.constructor.prototype),b=this.getPojoProperties(a),c.concat(b).uniq()},getEmberDataProperties:function(a){var b,c;return b=Ember.get(a.constructor,"attributes"),c=Ember.get(b,"keys.list"),Ember.getProperties(a,c)},getObjectProperties:function(a){return a instanceof DS.Model?this.getEmberDataProperties(a):a instanceof Ember.ObjectProxy||Ember._ProxyMixin.detect(a)?this.getProxiedProperties(a):a instanceof Ember.Object?this.getEmberObjectProperties(a):this.getPojoProperties(a)},init:function(){var a,b;return this._super(),a=this,null!=this.get("content")&&"instance"===Ember.typeOf(this.get("content"))?(b=this.getObjectProperties(this.get("content")),this.getProperties(b)):null==this.get("title")?this.set("title",this.get("content")):void 0},blockClass:function(){return this.block?""+this.classTypePrefix+"-block":null}.property("block"),contentDismiss:function(){return this.get("content.dismiss")}.property("content.dismiss"),click:function(a){return this.get("bubbles")||a.stopPropagation(),this.sendAction("clicked",this.get("clickedParam"))},loadingChanged:function(){var a;return a=null!==this.get("loading")?this.get("loading"):"reset","reset"!==a&&Ember.isEmpty(this.get("reset"))&&this.set("reset",this.$().html()),this.set("disabled",!0),this.$().html(this.get(a)),"reset"===a?(this.set("disabled",!1),this.set("reset",null)):void 0}.observes("loading"),icon:function(){return this.get(this.get("isActive")?"icon_active":"icon_inactive")}.property("isActive")}),Ember.Handlebars.helper("bs-button",Bootstrap.BsButtonComponent)}.call(this),function(){Bootstrap.BsBtnGroup=Bootstrap.ItemsView.extend(Bootstrap.SizeSupport,Bootstrap.ItemsSelection,{classTypePrefix:["btn-group"],classNames:["btn-group"],classNameBindings:["vertical:btn-group-vertical"],itemViewClass:Bootstrap.BsButtonComponent.extend(Bootstrap.ItemValue,Bootstrap.ItemSelection,{init:function(){return this._super(),this.set("icon_active",this.get("parentView.icon_active")),this.set("icon_inactive",this.get("parentView.icon_inactive"))}})}),Ember.Handlebars.helper("bs-btn-group",Bootstrap.BsBtnGroup)}.call(this),function(){Bootstrap.BsBtnToolbarComponent=Ember.Component.extend({layoutName:"components/bs-btn-toolbar",classNames:["btn-toolbar"]}),Ember.Handlebars.helper("bs-btn-toolbar",Bootstrap.BsBtnToolbarComponent)}.call(this),Ember.TEMPLATES["components/bs-button"]=Ember.HTMLBars.template(function(){var a=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createElement("i");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.element;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.childAt(g,[1]);return f(b,h,a,"bind-attr",[],{"class":"icon"}),g}}}();return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode("");a.appendChild(b,c);var c=a.createTextNode("");a.appendChild(b,c);var c=a.createTextNode("");a.appendChild(b,c);var c=a.createTextNode("");return a.appendChild(b,c),b},render:function(b,c,d){var e=c.dom,f=c.hooks,g=f.get,h=f.block,i=f.content;e.detectNamespace(d);var j;c.useFragmentCache&&e.canClone?(null===this.cachedFragment&&(j=this.build(e),this.hasRendered?this.cachedFragment=j:this.hasRendered=!0),this.cachedFragment&&(j=e.cloneNode(this.cachedFragment,!0))):j=this.build(e),this.cachedFragment&&e.repairClonedNode(j,[0,1,2,3]);var k=e.createMorphAt(j,0,1,d),l=e.createMorphAt(j,1,2,d),m=e.createMorphAt(j,2,3,d);return h(c,k,b,"if",[g(c,b,"icon")],{},a,null),i(c,l,b,"title"),i(c,m,b,"yield"),j}}}()),Ember.TEMPLATES["components/bs-btn-toolbar"]=Ember.HTMLBars.template(function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode("");a.appendChild(b,c);var c=a.createTextNode("");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.content;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d),this.cachedFragment&&d.repairClonedNode(g,[0,1]);var h=d.createMorphAt(g,0,1,c);return f(b,h,a,"yield"),g}}}()); \ No newline at end of file ++function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d)};b.DEFAULTS={loadingText:"loading..."},b.prototype.setState=function(a){var b="disabled",c=this.$element,d=c.is("input")?"val":"html",e=c.data();a+="Text",e.resetText||c.data("resetText",c[d]()),c[d](e[a]||this.options[a]),setTimeout(function(){"loadingText"==a?c.addClass(b).attr(b,b):c.removeClass(b).removeAttr(b)},0)},b.prototype.toggle=function(){var a=this.$element.closest('[data-toggle="buttons"]');if(a.length){var b=this.$element.find("input").prop("checked",!this.$element.hasClass("active")).trigger("change");"radio"===b.prop("type")&&a.find(".active").removeClass("active")}this.$element.toggleClass("active")};var c=a.fn.button;a.fn.button=function(c){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof c&&c;e||d.data("bs.button",e=new b(this,f)),"toggle"==c?e.toggle():c&&e.setState(c)})},a.fn.button.Constructor=b,a.fn.button.noConflict=function(){return a.fn.button=c,this},a(document).on("click.bs.button.data-api","[data-toggle^=button]",function(b){var c=a(b.target);c.hasClass("btn")||(c=c.closest(".btn")),c.button("toggle"),b.preventDefault()})}(window.jQuery),function(){Bootstrap.BsButtonComponent=Ember.Component.extend(Ember._ProxyMixin,Bootstrap.TypeSupport,Bootstrap.SizeSupport,{layoutName:"components/bs-button",tagName:"button",classNames:["btn"],classNameBindings:["blockClass"],classTypePrefix:"btn",clickedParam:null,block:null,attributeBindings:["disabled","dismiss:data-dismiss","contentDismiss:data-dismiss","_type:type","style"],_type:"button",bubbles:!0,allowedProperties:["title","type","size","block","disabled","clicked","dismiss","class"],icon_active:void 0,icon_inactive:void 0,getPojoProperties:function(a){return Ember.isEmpty(a)?[]:Object.keys(a)},getProxiedProperties:function(a){var b,c,d;return b=this.getObjectProperties(a.get("content")),d=Object.keys(a.constructor.prototype),c=this.getPojoProperties(a),b.concat(d).concat(c).uniq()},getEmberObjectProperties:function(a){var b,c;return c=Object.keys(a.constructor.prototype),b=this.getPojoProperties(a),c.concat(b).uniq()},getEmberDataProperties:function(a){var b,c;return b=Ember.get(a.constructor,"attributes"),c=Ember.get(b,"keys.list"),Ember.getProperties(a,c)},getObjectProperties:function(a){return a instanceof DS.Model?this.getEmberDataProperties(a):a instanceof Ember.ObjectProxy||Ember._ProxyMixin.detect(a)?this.getProxiedProperties(a):a instanceof Ember.Object?this.getEmberObjectProperties(a):this.getPojoProperties(a)},init:function(){var a,b;return this._super(),a=this,null!=this.get("content")&&"instance"===Ember.typeOf(this.get("content"))?(b=this.getObjectProperties(this.get("content")),this.getProperties(b)):null==this.get("title")?this.set("title",this.get("content")):void 0},blockClass:function(){return this.block?""+this.classTypePrefix+"-block":null}.property("block"),contentDismiss:function(){return this.get("content.dismiss")}.property("content.dismiss"),click:function(a){return this.get("bubbles")||a.stopPropagation(),this.sendAction("clicked",this.get("clickedParam"))},loadingChanged:function(){var a;return a=null!==this.get("loading")?this.get("loading"):"reset","reset"!==a&&Ember.isEmpty(this.get("reset"))&&this.set("reset",this.$().html()),this.set("disabled",!0),this.$().html(this.get(a)),"reset"===a?(this.set("disabled",!1),this.set("reset",null)):void 0}.observes("loading"),icon:function(){return this.get(this.get("isActive")?"icon_active":"icon_inactive")}.property("isActive")}),Ember.Handlebars.helper("bs-button",Bootstrap.BsButtonComponent)}.call(this),function(){Bootstrap.BsBtnGroup=Bootstrap.ItemsView.extend(Bootstrap.SizeSupport,Bootstrap.ItemsSelection,{classTypePrefix:["btn-group"],classNames:["btn-group"],classNameBindings:["vertical:btn-group-vertical"],itemViewClass:Bootstrap.BsButtonComponent.extend(Bootstrap.ItemValue,Bootstrap.ItemSelection,{init:function(){return this._super(),this.set("icon_active",this.get("parentView.icon_active")),this.set("icon_inactive",this.get("parentView.icon_inactive"))}})}),Ember.Handlebars.helper("bs-btn-group",Bootstrap.BsBtnGroup)}.call(this),function(){Bootstrap.BsBtnToolbarComponent=Ember.Component.extend({layoutName:"components/bs-btn-toolbar",classNames:["btn-toolbar"]}),Ember.Handlebars.helper("bs-btn-toolbar",Bootstrap.BsBtnToolbarComponent)}.call(this),Ember.TEMPLATES["components/bs-button"]=Ember.HTMLBars.template(function(){var a=function(){return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createElement("i");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.element;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.childAt(g,[1]);return f(b,h,a,"bind-attr",[],{"class":"icon"}),g}}}();return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createComment("");a.appendChild(b,c);var c=a.createComment("");a.appendChild(b,c);var c=a.createComment("");return a.appendChild(b,c),b},render:function(b,c,d){var e=c.dom,f=c.hooks,g=f.get,h=f.block,i=f.content;e.detectNamespace(d);var j;c.useFragmentCache&&e.canClone?(null===this.cachedFragment&&(j=this.build(e),this.hasRendered?this.cachedFragment=j:this.hasRendered=!0),this.cachedFragment&&(j=e.cloneNode(this.cachedFragment,!0))):j=this.build(e);var k=e.createMorphAt(j,0,0,d),l=e.createMorphAt(j,1,1,d),m=e.createMorphAt(j,2,2,d);return e.insertBoundary(j,null),e.insertBoundary(j,0),h(c,k,b,"if",[g(c,b,"icon")],{},a,null),i(c,l,b,"title"),i(c,m,b,"yield"),j}}}()),Ember.TEMPLATES["components/bs-btn-toolbar"]=Ember.HTMLBars.template(function(){return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createComment("");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.content;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.createMorphAt(g,0,0,c);return d.insertBoundary(g,null),d.insertBoundary(g,0),f(b,h,a,"yield"),g}}}()); \ No newline at end of file diff --git a/dist/js/bs-core.max.js b/dist/js/bs-core.max.js index 910c57c..54e3dc1 100644 --- a/dist/js/bs-core.max.js +++ b/dist/js/bs-core.max.js @@ -482,6 +482,7 @@ Ember.TEMPLATES["app/templates/views/item-pane"] = Ember.HTMLBars.template((func var child0 = (function() { return { isHTMLBars: true, + revision: "Ember@1.11.0", blockParams: 0, cachedFragment: null, hasRendered: false, @@ -489,6 +490,8 @@ Ember.TEMPLATES["app/templates/views/item-pane"] = Ember.HTMLBars.template((func var el0 = dom.createDocumentFragment(); var el1 = dom.createTextNode(" "); dom.appendChild(el0, el1); + var el1 = dom.createComment(""); + dom.appendChild(el0, el1); var el1 = dom.createTextNode("\n"); dom.appendChild(el0, el1); return el0; @@ -513,7 +516,7 @@ Ember.TEMPLATES["app/templates/views/item-pane"] = Ember.HTMLBars.template((func } else { fragment = this.build(dom); } - var morph0 = dom.createMorphAt(fragment,0,1,contextualElement); + var morph0 = dom.createMorphAt(fragment,1,1,contextualElement); inline(env, morph0, context, "bsItemPanePartial", [get(env, context, "view.content.template")], {}); return fragment; } @@ -521,14 +524,13 @@ Ember.TEMPLATES["app/templates/views/item-pane"] = Ember.HTMLBars.template((func }()); return { isHTMLBars: true, + revision: "Ember@1.11.0", blockParams: 0, cachedFragment: null, hasRendered: false, build: function build(dom) { var el0 = dom.createDocumentFragment(); - var el1 = dom.createTextNode(""); - dom.appendChild(el0, el1); - var el1 = dom.createTextNode(""); + var el1 = dom.createComment(""); dom.appendChild(el0, el1); return el0; }, @@ -552,8 +554,9 @@ Ember.TEMPLATES["app/templates/views/item-pane"] = Ember.HTMLBars.template((func } else { fragment = this.build(dom); } - if (this.cachedFragment) { dom.repairClonedNode(fragment,[0,1]); } - var morph0 = dom.createMorphAt(fragment,0,1,contextualElement); + var morph0 = dom.createMorphAt(fragment,0,0,contextualElement); + dom.insertBoundary(fragment, null); + dom.insertBoundary(fragment, 0); block(env, morph0, context, "if", [get(env, context, "view.content.template")], {}, child0, null); return fragment; } diff --git a/dist/js/bs-core.min.js b/dist/js/bs-core.min.js index 4eaadc0..be7971b 100644 --- a/dist/js/bs-core.min.js +++ b/dist/js/bs-core.min.js @@ -1 +1 @@ -+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]}}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one(a.support.transition.end,function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b()})}(window.jQuery),function(){var a;a=window.Bootstrap=Ember.Namespace.create()}.call(this),function(){var a,b;a=window.Bootstrap,b=Ember.get,a.WithRouter=Ember.Mixin.create({router:Ember.computed(function(){return b(this,"controller").container.lookup("router:main")})})}.call(this),function(){var a,b,c;a=window.Bootstrap,b=Ember.get,c=Ember.set,a.TypeSupport=Ember.Mixin.create({classTypePrefix:Ember.required(String),classNameBindings:["typeClass"],type:"default",typeClass:function(){var a,b;return b=this.get("content.type"),(null==b||"undefined"==typeof b)&&(b=this.get("type")),null==b&&(b="default"),a=this.get("classTypePrefix"),""+a+"-"+b}.property("type","content.type").cacheable()})}.call(this),function(){var a,b,c;a=window.Bootstrap,b=Ember.get,c=Ember.set,a.SizeSupport=Ember.Mixin.create({classTypePrefix:Ember.required(String),classNameBindings:["sizeClass","largeSizeClass","smallSizeClass","extraSmallSizeClass"],size:null,xs:null,small:null,large:null,extraSmallSizeClass:function(){var a;return a=this.get("classTypePrefix"),this.xs?""+a+"-xs":null}.property("xs").cacheable(),smallSizeClass:function(){var a;return a=this.get("classTypePrefix"),this.small?""+a+"-sm":null}.property("small").cacheable(),largeSizeClass:function(){var a;return a=this.get("classTypePrefix"),this.large?""+a+"-lg":null}.property("large").cacheable(),sizeClass:function(){var a,b;return b=this.get("size"),a=this.get("classTypePrefix"),b?""+a+"-"+b:null}.property("size").cacheable()})}.call(this),function(){Bootstrap.ItemValue=Ember.Mixin.create({value:function(){var a,b;return a=this.get("parentView"),null!=a?b=this.get("content"):void 0}.property("content").cacheable()})}.call(this),function(){Bootstrap.ItemSelection=Ember.Mixin.create(Bootstrap.ItemValue,Bootstrap.WithRouter,{classNameBindings:["isActive:active"],init:function(){return this._super(),this.didRouteChange()},didRouteChange:function(){var a,b,c;return b=this.get("content.linkTo"),null!=b&&(a=this.get("parentView"),null!=a)&&(null!=(c=this.get("router"))?c.isActive(b):void 0)?a.set("selected",this.get("value")):void 0}.observes("router.url"),isActive:function(){var a,b,c;return a=this.get("parentView"),null==a?!1:(b=a.get("selected"),c=this.get("value"),null==c?!1:b===c)}.property("value","parentView.selected","content.linkTo").cacheable(),click:function(a){var b,c;return a.preventDefault(),c=this.get("parentView"),null==c||(b=this.get("content"),"object"==typeof b&&b.get("disabled")||null!=this.get("content.linkTo"))?void 0:c.set("selected",this.get("value"))}})}.call(this),function(){Bootstrap.ItemsSelection=Ember.Mixin.create({multiSelection:!1,selected:[]})}.call(this),function(){Bootstrap.Nav=Ember.Mixin.create({classNames:["nav"],classNameBindings:["navTypeClass"],tagName:"ul",navType:null,navTypeClass:function(){return null!=this.navType?"nav-"+this.navType:null}.property("navType").cacheable()})}.call(this),function(){Bootstrap.NavItem=Ember.Mixin.create(Bootstrap.SelectableView)}.call(this),function(){var a,b;a=function(a){var b,c;if(a&&(c=a.get("parentView")))return b=c instanceof Bootstrap.ItemsView,Ember.assert("The parent view must be an instance of Bootstrap.ItemsView or any inherited class",b),b?c:void 0},b=function(a,b,c){return"instance"===Ember.typeOf(a)||Ember.canInvoke(a,"get")?a.get(b):c},Bootstrap.ItemView=Ember.View.extend({isItem:!0,classNameBindings:["disabled"],title:function(){var c,d,e;if(e=a(this))return d=e.get("itemTitleKey")||"title",c=this.get("content"),b(c,d,c)}.property("content").cacheable(),disabled:function(){var c,d,e;if(e=a(this))return c=this.get("content"),d=!!b(c,"disabled",!1),d&&this.get("isActive")&&e.set("selected",null),d}.property("content","content.disabled").cacheable()})}.call(this),function(){Bootstrap.ItemsView=Ember.CollectionView.extend({didInsertElement:function(){var a,b,c,d,e,f;if(this.get("default")){for(a=this.get("default"),e=this._childViews,c=0,d=e.length;d>c;c++)b=e[c],(null!=(f=b.get("content"))?f.get("title"):void 0)===a&&this.set("selected",b.get("content"));return Ember.assert("Could not activate default tab "+a+" as it doesnt exist",a)}}})}.call(this),function(){Bootstrap.ItemPaneView=Ember.View.extend({templateName:"views/item-pane",corrItem:function(){var a,b,c,d;if(null!=this.get("parentView").get("corrItemsView"))for(d=this.get("parentView").get("corrItemsView")._childViews,b=0,c=d.length;c>b;b++)if(a=d[b],a.content===this.get("content"))return a}.property("parentView.corrItemsView"),isVisible:function(){var a;return null!=(a=this.get("corrItem"))?a.get("isActive"):void 0}.property("corrItem.isActive"),controller:function(){var a,b;return a=this.get("parentView.controller"),this.get("content.controller")&&(b=this.get("container").lookup("controller:"+this.get("content.controller")),b&&(a=b)),a}.property("content")}),Ember.Handlebars.helper("bsItemPanePartial",function(a,b){var c,d;return d=b.data.view,c=d.templateForName(a),Ember.assert("Unable to find template with name '"+a+"'",c),c(this,{data:b.data})})}.call(this),function(){Bootstrap.ItemsPanesView=Ember.CollectionView.extend({viewsInserted:!1,corrItemsView:function(){var a;return a=Ember.View.views[this.get("items-id")]}.property("viewsInserted"),didInsertElement:function(){return this._super(),this.set("viewsInserted",!0)}})}.call(this),Ember.TEMPLATES["app/templates/views/item-pane"]=Ember.HTMLBars.template(function(){var a=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,0,1,c);return g(b,i,a,"bsItemPanePartial",[f(b,a,"view.content.template")],{}),h}}}();return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode("");a.appendChild(b,c);var c=a.createTextNode("");return a.appendChild(b,c),b},render:function(b,c,d){var e=c.dom,f=c.hooks,g=f.get,h=f.block;e.detectNamespace(d);var i;c.useFragmentCache&&e.canClone?(null===this.cachedFragment&&(i=this.build(e),this.hasRendered?this.cachedFragment=i:this.hasRendered=!0),this.cachedFragment&&(i=e.cloneNode(this.cachedFragment,!0))):i=this.build(e),this.cachedFragment&&e.repairClonedNode(i,[0,1]);var j=e.createMorphAt(i,0,1,d);return h(c,j,b,"if",[g(c,b,"view.content.template")],{},a,null),i}}}()); \ No newline at end of file ++function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]}}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one(a.support.transition.end,function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b()})}(window.jQuery),function(){var a;a=window.Bootstrap=Ember.Namespace.create()}.call(this),function(){var a,b;a=window.Bootstrap,b=Ember.get,a.WithRouter=Ember.Mixin.create({router:Ember.computed(function(){return b(this,"controller").container.lookup("router:main")})})}.call(this),function(){var a,b,c;a=window.Bootstrap,b=Ember.get,c=Ember.set,a.TypeSupport=Ember.Mixin.create({classTypePrefix:Ember.required(String),classNameBindings:["typeClass"],type:"default",typeClass:function(){var a,b;return b=this.get("content.type"),(null==b||"undefined"==typeof b)&&(b=this.get("type")),null==b&&(b="default"),a=this.get("classTypePrefix"),""+a+"-"+b}.property("type","content.type").cacheable()})}.call(this),function(){var a,b,c;a=window.Bootstrap,b=Ember.get,c=Ember.set,a.SizeSupport=Ember.Mixin.create({classTypePrefix:Ember.required(String),classNameBindings:["sizeClass","largeSizeClass","smallSizeClass","extraSmallSizeClass"],size:null,xs:null,small:null,large:null,extraSmallSizeClass:function(){var a;return a=this.get("classTypePrefix"),this.xs?""+a+"-xs":null}.property("xs").cacheable(),smallSizeClass:function(){var a;return a=this.get("classTypePrefix"),this.small?""+a+"-sm":null}.property("small").cacheable(),largeSizeClass:function(){var a;return a=this.get("classTypePrefix"),this.large?""+a+"-lg":null}.property("large").cacheable(),sizeClass:function(){var a,b;return b=this.get("size"),a=this.get("classTypePrefix"),b?""+a+"-"+b:null}.property("size").cacheable()})}.call(this),function(){Bootstrap.ItemValue=Ember.Mixin.create({value:function(){var a,b;return a=this.get("parentView"),null!=a?b=this.get("content"):void 0}.property("content").cacheable()})}.call(this),function(){Bootstrap.ItemSelection=Ember.Mixin.create(Bootstrap.ItemValue,Bootstrap.WithRouter,{classNameBindings:["isActive:active"],init:function(){return this._super(),this.didRouteChange()},didRouteChange:function(){var a,b,c;return b=this.get("content.linkTo"),null!=b&&(a=this.get("parentView"),null!=a)&&(null!=(c=this.get("router"))?c.isActive(b):void 0)?a.set("selected",this.get("value")):void 0}.observes("router.url"),isActive:function(){var a,b,c;return a=this.get("parentView"),null==a?!1:(b=a.get("selected"),c=this.get("value"),null==c?!1:b===c)}.property("value","parentView.selected","content.linkTo").cacheable(),click:function(a){var b,c;return a.preventDefault(),c=this.get("parentView"),null==c||(b=this.get("content"),"object"==typeof b&&b.get("disabled")||null!=this.get("content.linkTo"))?void 0:c.set("selected",this.get("value"))}})}.call(this),function(){Bootstrap.ItemsSelection=Ember.Mixin.create({multiSelection:!1,selected:[]})}.call(this),function(){Bootstrap.Nav=Ember.Mixin.create({classNames:["nav"],classNameBindings:["navTypeClass"],tagName:"ul",navType:null,navTypeClass:function(){return null!=this.navType?"nav-"+this.navType:null}.property("navType").cacheable()})}.call(this),function(){Bootstrap.NavItem=Ember.Mixin.create(Bootstrap.SelectableView)}.call(this),function(){var a,b;a=function(a){var b,c;if(a&&(c=a.get("parentView")))return b=c instanceof Bootstrap.ItemsView,Ember.assert("The parent view must be an instance of Bootstrap.ItemsView or any inherited class",b),b?c:void 0},b=function(a,b,c){return"instance"===Ember.typeOf(a)||Ember.canInvoke(a,"get")?a.get(b):c},Bootstrap.ItemView=Ember.View.extend({isItem:!0,classNameBindings:["disabled"],title:function(){var c,d,e;if(e=a(this))return d=e.get("itemTitleKey")||"title",c=this.get("content"),b(c,d,c)}.property("content").cacheable(),disabled:function(){var c,d,e;if(e=a(this))return c=this.get("content"),d=!!b(c,"disabled",!1),d&&this.get("isActive")&&e.set("selected",null),d}.property("content","content.disabled").cacheable()})}.call(this),function(){Bootstrap.ItemsView=Ember.CollectionView.extend({didInsertElement:function(){var a,b,c,d,e,f;if(this.get("default")){for(a=this.get("default"),e=this._childViews,c=0,d=e.length;d>c;c++)b=e[c],(null!=(f=b.get("content"))?f.get("title"):void 0)===a&&this.set("selected",b.get("content"));return Ember.assert("Could not activate default tab "+a+" as it doesnt exist",a)}}})}.call(this),function(){Bootstrap.ItemPaneView=Ember.View.extend({templateName:"views/item-pane",corrItem:function(){var a,b,c,d;if(null!=this.get("parentView").get("corrItemsView"))for(d=this.get("parentView").get("corrItemsView")._childViews,b=0,c=d.length;c>b;b++)if(a=d[b],a.content===this.get("content"))return a}.property("parentView.corrItemsView"),isVisible:function(){var a;return null!=(a=this.get("corrItem"))?a.get("isActive"):void 0}.property("corrItem.isActive"),controller:function(){var a,b;return a=this.get("parentView.controller"),this.get("content.controller")&&(b=this.get("container").lookup("controller:"+this.get("content.controller")),b&&(a=b)),a}.property("content")}),Ember.Handlebars.helper("bsItemPanePartial",function(a,b){var c,d;return d=b.data.view,c=d.templateForName(a),Ember.assert("Unable to find template with name '"+a+"'",c),c(this,{data:b.data})})}.call(this),function(){Bootstrap.ItemsPanesView=Ember.CollectionView.extend({viewsInserted:!1,corrItemsView:function(){var a;return a=Ember.View.views[this.get("items-id")]}.property("viewsInserted"),didInsertElement:function(){return this._super(),this.set("viewsInserted",!0)}})}.call(this),Ember.TEMPLATES["app/templates/views/item-pane"]=Ember.HTMLBars.template(function(){var a=function(){return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createComment("");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,1,1,c);return g(b,i,a,"bsItemPanePartial",[f(b,a,"view.content.template")],{}),h}}}();return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createComment("");return a.appendChild(b,c),b},render:function(b,c,d){var e=c.dom,f=c.hooks,g=f.get,h=f.block;e.detectNamespace(d);var i;c.useFragmentCache&&e.canClone?(null===this.cachedFragment&&(i=this.build(e),this.hasRendered?this.cachedFragment=i:this.hasRendered=!0),this.cachedFragment&&(i=e.cloneNode(this.cachedFragment,!0))):i=this.build(e);var j=e.createMorphAt(i,0,0,d);return e.insertBoundary(i,null),e.insertBoundary(i,0),h(c,j,b,"if",[g(c,b,"view.content.template")],{},a,null),i}}}()); \ No newline at end of file diff --git a/dist/js/bs-label.max.js b/dist/js/bs-label.max.js index d0fce4f..3490c98 100644 --- a/dist/js/bs-label.max.js +++ b/dist/js/bs-label.max.js @@ -13,14 +13,13 @@ Ember.TEMPLATES["components/bs-label"] = Ember.HTMLBars.template((function() { return { isHTMLBars: true, + revision: "Ember@1.11.0", blockParams: 0, cachedFragment: null, hasRendered: false, build: function build(dom) { var el0 = dom.createDocumentFragment(); - var el1 = dom.createTextNode(""); - dom.appendChild(el0, el1); - var el1 = dom.createTextNode(""); + var el1 = dom.createComment(""); dom.appendChild(el0, el1); return el0; }, @@ -44,8 +43,9 @@ Ember.TEMPLATES["components/bs-label"] = Ember.HTMLBars.template((function() { } else { fragment = this.build(dom); } - if (this.cachedFragment) { dom.repairClonedNode(fragment,[0,1]); } - var morph0 = dom.createMorphAt(fragment,0,1,contextualElement); + var morph0 = dom.createMorphAt(fragment,0,0,contextualElement); + dom.insertBoundary(fragment, null); + dom.insertBoundary(fragment, 0); content(env, morph0, context, "content"); return fragment; } diff --git a/dist/js/bs-label.min.js b/dist/js/bs-label.min.js index d49d6b2..c20e79c 100644 --- a/dist/js/bs-label.min.js +++ b/dist/js/bs-label.min.js @@ -1 +1 @@ -(function(){Bootstrap.BsLabelComponent=Ember.Component.extend(Bootstrap.TypeSupport,{layoutName:"components/bs-label",tagName:"span",classNames:["label"],classTypePrefix:"label"}),Ember.Handlebars.helper("bs-label",Bootstrap.BsLabelComponent)}).call(this),Ember.TEMPLATES["components/bs-label"]=Ember.HTMLBars.template(function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode("");a.appendChild(b,c);var c=a.createTextNode("");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.content;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d),this.cachedFragment&&d.repairClonedNode(g,[0,1]);var h=d.createMorphAt(g,0,1,c);return f(b,h,a,"content"),g}}}()); \ No newline at end of file +(function(){Bootstrap.BsLabelComponent=Ember.Component.extend(Bootstrap.TypeSupport,{layoutName:"components/bs-label",tagName:"span",classNames:["label"],classTypePrefix:"label"}),Ember.Handlebars.helper("bs-label",Bootstrap.BsLabelComponent)}).call(this),Ember.TEMPLATES["components/bs-label"]=Ember.HTMLBars.template(function(){return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createComment("");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.content;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.createMorphAt(g,0,0,c);return d.insertBoundary(g,null),d.insertBoundary(g,0),f(b,h,a,"content"),g}}}()); \ No newline at end of file diff --git a/dist/js/bs-modal.max.js b/dist/js/bs-modal.max.js index c2fec3f..c935466 100644 --- a/dist/js/bs-modal.max.js +++ b/dist/js/bs-modal.max.js @@ -344,6 +344,7 @@ Ember.TEMPLATES["components/bs-modal"] = Ember.HTMLBars.template((function() { var child0 = (function() { return { isHTMLBars: true, + revision: "Ember@1.11.0", blockParams: 0, cachedFragment: null, hasRendered: false, @@ -386,6 +387,7 @@ Ember.TEMPLATES["components/bs-modal"] = Ember.HTMLBars.template((function() { var child1 = (function() { return { isHTMLBars: true, + revision: "Ember@1.11.0", blockParams: 0, cachedFragment: null, hasRendered: false, @@ -393,6 +395,8 @@ Ember.TEMPLATES["components/bs-modal"] = Ember.HTMLBars.template((function() { var el0 = dom.createDocumentFragment(); var el1 = dom.createTextNode(" "); dom.appendChild(el0, el1); + var el1 = dom.createComment(""); + dom.appendChild(el0, el1); var el1 = dom.createTextNode("\n"); dom.appendChild(el0, el1); return el0; @@ -417,7 +421,7 @@ Ember.TEMPLATES["components/bs-modal"] = Ember.HTMLBars.template((function() { } else { fragment = this.build(dom); } - var morph0 = dom.createMorphAt(fragment,0,1,contextualElement); + var morph0 = dom.createMorphAt(fragment,1,1,contextualElement); inline(env, morph0, context, "view", [get(env, context, "view.body")], {}); return fragment; } @@ -426,6 +430,7 @@ Ember.TEMPLATES["components/bs-modal"] = Ember.HTMLBars.template((function() { var child2 = (function() { return { isHTMLBars: true, + revision: "Ember@1.11.0", blockParams: 0, cachedFragment: null, hasRendered: false, @@ -433,6 +438,8 @@ Ember.TEMPLATES["components/bs-modal"] = Ember.HTMLBars.template((function() { var el0 = dom.createDocumentFragment(); var el1 = dom.createTextNode(" "); dom.appendChild(el0, el1); + var el1 = dom.createComment(""); + dom.appendChild(el0, el1); var el1 = dom.createTextNode("\n"); dom.appendChild(el0, el1); return el0; @@ -457,7 +464,7 @@ Ember.TEMPLATES["components/bs-modal"] = Ember.HTMLBars.template((function() { } else { fragment = this.build(dom); } - var morph0 = dom.createMorphAt(fragment,0,1,contextualElement); + var morph0 = dom.createMorphAt(fragment,1,1,contextualElement); content(env, morph0, context, "yield"); return fragment; } @@ -466,6 +473,7 @@ Ember.TEMPLATES["components/bs-modal"] = Ember.HTMLBars.template((function() { var child3 = (function() { return { isHTMLBars: true, + revision: "Ember@1.11.0", blockParams: 0, cachedFragment: null, hasRendered: false, @@ -473,6 +481,8 @@ Ember.TEMPLATES["components/bs-modal"] = Ember.HTMLBars.template((function() { var el0 = dom.createDocumentFragment(); var el1 = dom.createTextNode(" "); dom.appendChild(el0, el1); + var el1 = dom.createComment(""); + dom.appendChild(el0, el1); var el1 = dom.createTextNode("\n"); dom.appendChild(el0, el1); return el0; @@ -497,7 +507,7 @@ Ember.TEMPLATES["components/bs-modal"] = Ember.HTMLBars.template((function() { } else { fragment = this.build(dom); } - var morph0 = dom.createMorphAt(fragment,0,1,contextualElement); + var morph0 = dom.createMorphAt(fragment,1,1,contextualElement); inline(env, morph0, context, "bs-button", [], {"content": get(env, context, "footerButton"), "targetObjectBinding": "view.targetObject"}); return fragment; } @@ -506,6 +516,7 @@ Ember.TEMPLATES["components/bs-modal"] = Ember.HTMLBars.template((function() { var child4 = (function() { return { isHTMLBars: true, + revision: "Ember@1.11.0", blockParams: 0, cachedFragment: null, hasRendered: false, @@ -513,6 +524,8 @@ Ember.TEMPLATES["components/bs-modal"] = Ember.HTMLBars.template((function() { var el0 = dom.createDocumentFragment(); var el1 = dom.createTextNode(" "); dom.appendChild(el0, el1); + var el1 = dom.createComment(""); + dom.appendChild(el0, el1); var el1 = dom.createTextNode("\n"); dom.appendChild(el0, el1); return el0; @@ -537,7 +550,7 @@ Ember.TEMPLATES["components/bs-modal"] = Ember.HTMLBars.template((function() { } else { fragment = this.build(dom); } - var morph0 = dom.createMorphAt(fragment,0,1,contextualElement); + var morph0 = dom.createMorphAt(fragment,1,1,contextualElement); inline(env, morph0, context, "view", [get(env, context, "footerView")], {}); return fragment; } @@ -545,6 +558,7 @@ Ember.TEMPLATES["components/bs-modal"] = Ember.HTMLBars.template((function() { }()); return { isHTMLBars: true, + revision: "Ember@1.11.0", blockParams: 0, cachedFragment: null, hasRendered: false, @@ -575,8 +589,12 @@ Ember.TEMPLATES["components/bs-modal"] = Ember.HTMLBars.template((function() { dom.setAttribute(el4,"class","modal-title"); var el5 = dom.createTextNode("\n"); dom.appendChild(el4, el5); + var el5 = dom.createComment(""); + dom.appendChild(el4, el5); var el5 = dom.createTextNode(" "); dom.appendChild(el4, el5); + var el5 = dom.createComment(""); + dom.appendChild(el4, el5); var el5 = dom.createTextNode("\n "); dom.appendChild(el4, el5); dom.appendChild(el3, el4); @@ -589,6 +607,8 @@ Ember.TEMPLATES["components/bs-modal"] = Ember.HTMLBars.template((function() { dom.setAttribute(el3,"class","modal-body"); var el4 = dom.createTextNode("\n"); dom.appendChild(el3, el4); + var el4 = dom.createComment(""); + dom.appendChild(el3, el4); var el4 = dom.createTextNode(" "); dom.appendChild(el3, el4); dom.appendChild(el2, el3); @@ -597,7 +617,9 @@ Ember.TEMPLATES["components/bs-modal"] = Ember.HTMLBars.template((function() { var el3 = dom.createElement("div"); var el4 = dom.createTextNode("\n"); dom.appendChild(el3, el4); - var el4 = dom.createTextNode(""); + var el4 = dom.createComment(""); + dom.appendChild(el3, el4); + var el4 = dom.createComment(""); dom.appendChild(el3, el4); var el4 = dom.createTextNode(" "); dom.appendChild(el3, el4); @@ -639,13 +661,12 @@ Ember.TEMPLATES["components/bs-modal"] = Ember.HTMLBars.template((function() { var element3 = dom.childAt(element2, [1]); var element4 = dom.childAt(element2, [3]); var element5 = dom.childAt(element1, [5]); - if (this.cachedFragment) { dom.repairClonedNode(element5,[1]); } var element6 = dom.childAt(fragment, [2]); - var morph0 = dom.createMorphAt(element4,0,1); - var morph1 = dom.createUnsafeMorphAt(element4,1,2); - var morph2 = dom.createMorphAt(dom.childAt(element1, [3]),0,1); - var morph3 = dom.createMorphAt(element5,0,1); - var morph4 = dom.createMorphAt(element5,1,2); + var morph0 = dom.createMorphAt(element4,1,1); + var morph1 = dom.createUnsafeMorphAt(element4,3,3); + var morph2 = dom.createMorphAt(dom.childAt(element1, [3]),1,1); + var morph3 = dom.createMorphAt(element5,1,1); + var morph4 = dom.createMorphAt(element5,2,2); element(env, element3, context, "bind-attr", [], {"class": ":close allowClose::hide"}); block(env, morph0, context, "if", [get(env, context, "titleIconClasses")], {}, child0, null); content(env, morph1, context, "title"); diff --git a/dist/js/bs-modal.min.js b/dist/js/bs-modal.min.js index 2672021..9db14b5 100644 --- a/dist/js/bs-modal.min.js +++ b/dist/js/bs-modal.min.js @@ -1 +1 @@ -(function(){Bootstrap.BsModalComponent=Ember.Component.extend(Ember.Evented,{layoutName:"components/bs-modal",classNames:["modal"],classNameBindings:["fade","isVis:in","vertical:modal-dialog-center","class"],attributeBindings:["role","aria-labelledby","isAriaHidden:aria-hidden","ariaLabelledBy:aria-labelledby"],isAriaHidden:function(){return""+this.get("isVisible")}.property("isVisible"),dialogStyle:function(){Ember.run.scheduleOnce("afterRender",this,function(){return this.$()?this.$().find(".modal-dialog").css("z-index",this.get("zindex")):void 0})}.observes("zindex"),backdropStyle:function(){return"z-index: "+(this.get("zindex")-2)+";"}.property("zindex"),modalBackdrop:'',role:"dialog",footerViews:[],backdrop:!0,title:null,isVisible:!1,manual:!1,isVis:!1,fullSizeButtons:!1,fade:!0,vertical:!1,zindex:1e3,keyClose:!0,didInsertElement:function(){var a;return this._super(),this.setupBinders(),a=this.get("name"),Ember.assert("Modal name is required for modal view "+this.get("elementId"),this.get("name")),null==a&&(a=this.get("elementId")),Bootstrap.ModalManager.add(a,this),this.dialogStyle(),this.manual?this.show():void 0},becameVisible:function(){return Em.$("body").addClass("modal-open")},becameHidden:function(){return Em.$("body").removeClass("modal-open")},appendBackdrop:function(){var a;return a=this.$().parent(),this._backdrop=Em.$(this.modalBackdrop).appendTo(a)},show:function(){this.set("isVisible",!0),Ember.run.later(this,function(){this.set("isVis",!0)},15)},hide:function(){return this.get("isDestroyed")||this.get("isDestroying")?void 0:(this.set("isVis",!1),this.get("fade")?Ember.run.later(this,function(){this.get("isDestroyed")||this.get("isDestroying")||this.set("isVisible",!1)},300):this.set("isVisible",!1),!1)},toggle:function(){return this.toggleProperty("isVisible")},click:function(a){var b,c;return b=a.target,c=b.getAttribute("data-dismiss"),"modal"===c?this.close():void 0},keyPressed:function(a){return 27===a.keyCode&&this.get("keyClose")&&this.get("zindex")===Bootstrap.ModalManager.get("zindex")?this.close(a):void 0},close:function(){return this.get("isDestroyed")||this.get("isDestroying")?void 0:(this.set("isVis",!1),this.get("fade")?Ember.run.later(this,function(){this.get("isDestroyed")||this.get("isDestroying")||(this.get("manual")?this.destroy():this.set("isVisible",!1),this.trigger("closed",this))},300):(this.set("isVisible",!1),this.trigger("closed",this)))},willDestroyElement:function(){var a;return Em.$("body").removeClass("modal-open"),this.removeHandlers(),a=this.get("name"),null==a&&(a=this.get("elementId")),Bootstrap.ModalManager.remove(a,this),this._backdrop?this._backdrop.remove():void 0},removeHandlers:function(){return jQuery(window.document).unbind("keyup",this._keyUpHandler)},setupBinders:function(){var a,b=this;return a=function(a){return b.keyPressed(a)},jQuery(window.document).bind("keyup",a),this._keyUpHandler=a}}),Bootstrap.ModalManager=Ember.Object.createWithMixins(Ember.Evented,{add:function(a,b){var c;return c=this.get("zindex"),this.set("zindex",c+2),b.set("zindex",c+2),b.on("closed",function(a){return c=a.get("zindex"),c===Bootstrap.ModalManager.get("zindex")&&Bootstrap.ModalManager.set("zindex",c-2),Bootstrap.ModalManager.trigger("closed",a)}),this.set(a,b)},register:function(a,b){return this.add(a,b),b.appendTo(b.get("targetObject").namespace.rootElement)},remove:function(a){return this.set(a,null)},close:function(a){return this.get(a).close()},hide:function(a){return this.get(a).hide()},show:function(a){return this.get(a).show()},toggle:function(a){return this.get(a).toggle()},confirm:function(a,b,c,d,e,f,g,h,i,j){var k,l;return null==e&&(e="Confirm"),null==f&&(f="modalConfirmed"),null==g&&(g=null),null==h&&(h="Cancel"),null==i&&(i="modalCanceled"),null==j&&(j=null),k=Ember.View.extend({template:Ember.Handlebars.compile(c||"Are you sure you would like to perform this action?")}),l=[Ember.Object.create({title:e,clicked:f,type:g,dismiss:"modal"}),Ember.Object.create({title:h,clicked:i,type:j,dismiss:"modal"})],this.open("confirm-modal",b||"Confirmation required!",k,l,a,d)},okModal:function(a,b,c,d,e,f,g){var h,i;return null==e&&(e="OK"),null==f&&(f="okModal"),null==g&&(g=null),h=Ember.View.extend({template:Ember.Handlebars.compile(c||"Are you sure you would like to perform this action?")}),i=[Ember.Object.create({title:e,clicked:f,type:g,dismiss:"modal"})],this.open("ok-modal",b||"Confirmation required!",h,i,a,d)},openModal:function(a,b){var c,d;return null==b&&(b={}),d=b.rootElement||".ember-application",c=a.create(b),c.appendTo(d)},openManual:function(a,b,c,d,e,f){var g;return g=Ember.View.extend({template:Ember.Handlebars.compile(c),controller:e}),this.open(a,b,g,d,e,f)},open:function(a,b,c,d,e,f){var g,h,i,j;return g=void 0,h=void 0,j=void 0,null==f&&(f={}),null==f.fade&&(f.fade=this.get("fade")),null==f.fullSizeButtons&&(f.fullSizeButtons=this.get("fullSizeButtons")),null==f.targetObject&&(f.targetObject=e),null==f.vertical&&(f.vertical=this.get("vertical")),g=e.container.lookup("component-lookup:main"),h=g.lookupFactory("bs-modal",e.get("container")).create(),h.setProperties({name:a,title:b,manual:!0,footerButtons:d}),h.setProperties(f),"string"===Ember.typeOf(c)?(j=e.container.lookup("template:"+c),Ember.assert("Template "+c+" was specified for Modal but template could not be found.",j),j&&h.setProperties({body:Ember.View.extend({template:j,controller:e})})):"class"===Ember.typeOf(c)&&h.setProperties({body:c,controller:e}),i=e.rootElement,"undefined"==typeof e.rootElement&&(i=e.namespace.rootElement),h.appendTo(i)},fade:!0,fullSizeButtons:!1,vertical:!1,zindex:1e3}),Ember.Application.initializer({name:"bs-modal",initialize:function(a){return a.register("component:bs-modal",Bootstrap.BsModalComponent)}})}).call(this),Ember.TEMPLATES["components/bs-modal"]=Ember.HTMLBars.template(function(){var a=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createElement("i");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.element;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.childAt(g,[1]);return f(b,h,a,"bind-attr",[],{"class":"titleIconClasses"}),g}}}(),b=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,0,1,c);return g(b,i,a,"view",[f(b,a,"view.body")],{}),h}}}(),c=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.content;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.createMorphAt(g,0,1,c);return f(b,h,a,"yield"),g}}}(),d=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,0,1,c);return g(b,i,a,"bs-button",[],{content:f(b,a,"footerButton"),targetObjectBinding:"view.targetObject"}),h}}}(),e=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,0,1,c);return g(b,i,a,"view",[f(b,a,"footerView")],{}),h}}}();return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createElement("div");a.setAttribute(c,"class","modal-dialog");var d=a.createTextNode("\n ");a.appendChild(c,d);var d=a.createElement("div");a.setAttribute(d,"class","modal-content");var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("div");a.setAttribute(e,"class","modal-header");var f=a.createTextNode("\n ");a.appendChild(e,f);var f=a.createElement("button");a.setAttribute(f,"type","button"),a.setAttribute(f,"data-dismiss","modal"),a.setAttribute(f,"aria-hidden","true");var g=a.createTextNode("×");a.appendChild(f,g),a.appendChild(e,f);var f=a.createTextNode("\n ");a.appendChild(e,f);var f=a.createElement("h4");a.setAttribute(f,"class","modal-title");var g=a.createTextNode("\n");a.appendChild(f,g);var g=a.createTextNode(" ");a.appendChild(f,g);var g=a.createTextNode("\n ");a.appendChild(f,g),a.appendChild(e,f);var f=a.createTextNode("\n ");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("div");a.setAttribute(e,"class","modal-body");var f=a.createTextNode("\n");a.appendChild(e,f);var f=a.createTextNode(" ");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("div"),f=a.createTextNode("\n");a.appendChild(e,f);var f=a.createTextNode("");a.appendChild(e,f);var f=a.createTextNode(" ");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e),a.appendChild(c,d);var d=a.createTextNode("\n");a.appendChild(c,d),a.appendChild(b,c);var c=a.createTextNode("\n\n");a.appendChild(b,c);var c=a.createElement("div");return a.appendChild(b,c),b},render:function(f,g,h){var i=g.dom,j=g.hooks,k=j.element,l=j.get,m=j.block,n=j.content;i.detectNamespace(h);var o;g.useFragmentCache&&i.canClone?(null===this.cachedFragment&&(o=this.build(i),this.hasRendered?this.cachedFragment=o:this.hasRendered=!0),this.cachedFragment&&(o=i.cloneNode(this.cachedFragment,!0))):o=this.build(i);var p=i.childAt(o,[0,1]),q=i.childAt(p,[1]),r=i.childAt(q,[1]),s=i.childAt(q,[3]),t=i.childAt(p,[5]);this.cachedFragment&&i.repairClonedNode(t,[1]);var u=i.childAt(o,[2]),v=i.createMorphAt(s,0,1),w=i.createUnsafeMorphAt(s,1,2),x=i.createMorphAt(i.childAt(p,[3]),0,1),y=i.createMorphAt(t,0,1),z=i.createMorphAt(t,1,2);return k(g,r,f,"bind-attr",[],{"class":":close allowClose::hide"}),m(g,v,f,"if",[l(g,f,"titleIconClasses")],{},a,null),n(g,w,f,"title"),m(g,x,f,"if",[l(g,f,"body")],{},b,c),k(g,t,f,"bind-attr",[],{"class":":modal-footer fullSizeButtons:modal-footer-full"}),m(g,y,f,"each",[l(g,f,"footerButtons")],{keyword:"footerButton"},d,null),m(g,z,f,"each",[l(g,f,"footerViews")],{keyword:"footerView"},e,null),k(g,u,f,"bind-attr",[],{style:l(g,f,"backdropStyle"),"class":":modal-backdrop fade:fade backdrop:in"}),o}}}()); \ No newline at end of file +(function(){Bootstrap.BsModalComponent=Ember.Component.extend(Ember.Evented,{layoutName:"components/bs-modal",classNames:["modal"],classNameBindings:["fade","isVis:in","vertical:modal-dialog-center","class"],attributeBindings:["role","aria-labelledby","isAriaHidden:aria-hidden","ariaLabelledBy:aria-labelledby"],isAriaHidden:function(){return""+this.get("isVisible")}.property("isVisible"),dialogStyle:function(){Ember.run.scheduleOnce("afterRender",this,function(){return this.$()?this.$().find(".modal-dialog").css("z-index",this.get("zindex")):void 0})}.observes("zindex"),backdropStyle:function(){return"z-index: "+(this.get("zindex")-2)+";"}.property("zindex"),modalBackdrop:'',role:"dialog",footerViews:[],backdrop:!0,title:null,isVisible:!1,manual:!1,isVis:!1,fullSizeButtons:!1,fade:!0,vertical:!1,zindex:1e3,keyClose:!0,didInsertElement:function(){var a;return this._super(),this.setupBinders(),a=this.get("name"),Ember.assert("Modal name is required for modal view "+this.get("elementId"),this.get("name")),null==a&&(a=this.get("elementId")),Bootstrap.ModalManager.add(a,this),this.dialogStyle(),this.manual?this.show():void 0},becameVisible:function(){return Em.$("body").addClass("modal-open")},becameHidden:function(){return Em.$("body").removeClass("modal-open")},appendBackdrop:function(){var a;return a=this.$().parent(),this._backdrop=Em.$(this.modalBackdrop).appendTo(a)},show:function(){this.set("isVisible",!0),Ember.run.later(this,function(){this.set("isVis",!0)},15)},hide:function(){return this.get("isDestroyed")||this.get("isDestroying")?void 0:(this.set("isVis",!1),this.get("fade")?Ember.run.later(this,function(){this.get("isDestroyed")||this.get("isDestroying")||this.set("isVisible",!1)},300):this.set("isVisible",!1),!1)},toggle:function(){return this.toggleProperty("isVisible")},click:function(a){var b,c;return b=a.target,c=b.getAttribute("data-dismiss"),"modal"===c?this.close():void 0},keyPressed:function(a){return 27===a.keyCode&&this.get("keyClose")&&this.get("zindex")===Bootstrap.ModalManager.get("zindex")?this.close(a):void 0},close:function(a){return this.get("isDestroyed")||this.get("isDestroying")?void 0:(this.set("isVis",!1),this.get("fade")?Ember.run.later(this,function(){this.get("isDestroyed")||this.get("isDestroying")||(this.get("manual")?this.destroy():this.set("isVisible",!1),this.trigger("closed",this))},300):(this.set("isVisible",!1),this.trigger("closed",this)))},willDestroyElement:function(){var a;return Em.$("body").removeClass("modal-open"),this.removeHandlers(),a=this.get("name"),null==a&&(a=this.get("elementId")),Bootstrap.ModalManager.remove(a,this),this._backdrop?this._backdrop.remove():void 0},removeHandlers:function(){return jQuery(window.document).unbind("keyup",this._keyUpHandler)},setupBinders:function(){var a,b=this;return a=function(a){return b.keyPressed(a)},jQuery(window.document).bind("keyup",a),this._keyUpHandler=a}}),Bootstrap.ModalManager=Ember.Object.createWithMixins(Ember.Evented,{add:function(a,b){var c;return c=this.get("zindex"),this.set("zindex",c+2),b.set("zindex",c+2),b.on("closed",function(a){return c=a.get("zindex"),c===Bootstrap.ModalManager.get("zindex")&&Bootstrap.ModalManager.set("zindex",c-2),Bootstrap.ModalManager.trigger("closed",a)}),this.set(a,b)},register:function(a,b){return this.add(a,b),b.appendTo(b.get("targetObject").namespace.rootElement)},remove:function(a){return this.set(a,null)},close:function(a){return this.get(a).close()},hide:function(a){return this.get(a).hide()},show:function(a){return this.get(a).show()},toggle:function(a){return this.get(a).toggle()},confirm:function(a,b,c,d,e,f,g,h,i,j){var k,l;return null==e&&(e="Confirm"),null==f&&(f="modalConfirmed"),null==g&&(g=null),null==h&&(h="Cancel"),null==i&&(i="modalCanceled"),null==j&&(j=null),k=Ember.View.extend({template:Ember.Handlebars.compile(c||"Are you sure you would like to perform this action?")}),l=[Ember.Object.create({title:e,clicked:f,type:g,dismiss:"modal"}),Ember.Object.create({title:h,clicked:i,type:j,dismiss:"modal"})],this.open("confirm-modal",b||"Confirmation required!",k,l,a,d)},okModal:function(a,b,c,d,e,f,g){var h,i;return null==e&&(e="OK"),null==f&&(f="okModal"),null==g&&(g=null),h=Ember.View.extend({template:Ember.Handlebars.compile(c||"Are you sure you would like to perform this action?")}),i=[Ember.Object.create({title:e,clicked:f,type:g,dismiss:"modal"})],this.open("ok-modal",b||"Confirmation required!",h,i,a,d)},openModal:function(a,b){var c,d;return null==b&&(b={}),d=b.rootElement||".ember-application",c=a.create(b),c.appendTo(d)},openManual:function(a,b,c,d,e,f){var g;return g=Ember.View.extend({template:Ember.Handlebars.compile(c),controller:e}),this.open(a,b,g,d,e,f)},open:function(a,b,c,d,e,f){var g,h,i,j;return g=void 0,h=void 0,j=void 0,null==f&&(f={}),null==f.fade&&(f.fade=this.get("fade")),null==f.fullSizeButtons&&(f.fullSizeButtons=this.get("fullSizeButtons")),null==f.targetObject&&(f.targetObject=e),null==f.vertical&&(f.vertical=this.get("vertical")),g=e.container.lookup("component-lookup:main"),h=g.lookupFactory("bs-modal",e.get("container")).create(),h.setProperties({name:a,title:b,manual:!0,footerButtons:d}),h.setProperties(f),"string"===Ember.typeOf(c)?(j=e.container.lookup("template:"+c),Ember.assert("Template "+c+" was specified for Modal but template could not be found.",j),j&&h.setProperties({body:Ember.View.extend({template:j,controller:e})})):"class"===Ember.typeOf(c)&&h.setProperties({body:c,controller:e}),i=e.rootElement,"undefined"==typeof e.rootElement&&(i=e.namespace.rootElement),h.appendTo(i)},fade:!0,fullSizeButtons:!1,vertical:!1,zindex:1e3}),Ember.Application.initializer({name:"bs-modal",initialize:function(a,b){return a.register("component:bs-modal",Bootstrap.BsModalComponent)}})}).call(this),Ember.TEMPLATES["components/bs-modal"]=Ember.HTMLBars.template(function(){var a=function(){return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createElement("i");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.element;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.childAt(g,[1]);return f(b,h,a,"bind-attr",[],{"class":"titleIconClasses"}),g}}}(),b=function(){return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createComment("");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,1,1,c);return g(b,i,a,"view",[f(b,a,"view.body")],{}),h}}}(),c=function(){return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createComment("");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.content;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.createMorphAt(g,1,1,c);return f(b,h,a,"yield"),g}}}(),d=function(){return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createComment("");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,1,1,c);return g(b,i,a,"bs-button",[],{content:f(b,a,"footerButton"),targetObjectBinding:"view.targetObject"}),h}}}(),e=function(){return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createComment("");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,1,1,c);return g(b,i,a,"view",[f(b,a,"footerView")],{}),h}}}();return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createElement("div");a.setAttribute(c,"class","modal-dialog");var d=a.createTextNode("\n ");a.appendChild(c,d);var d=a.createElement("div");a.setAttribute(d,"class","modal-content");var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("div");a.setAttribute(e,"class","modal-header");var f=a.createTextNode("\n ");a.appendChild(e,f);var f=a.createElement("button");a.setAttribute(f,"type","button"),a.setAttribute(f,"data-dismiss","modal"),a.setAttribute(f,"aria-hidden","true");var g=a.createTextNode("×");a.appendChild(f,g),a.appendChild(e,f);var f=a.createTextNode("\n ");a.appendChild(e,f);var f=a.createElement("h4");a.setAttribute(f,"class","modal-title");var g=a.createTextNode("\n");a.appendChild(f,g);var g=a.createComment("");a.appendChild(f,g);var g=a.createTextNode(" ");a.appendChild(f,g);var g=a.createComment("");a.appendChild(f,g);var g=a.createTextNode("\n ");a.appendChild(f,g),a.appendChild(e,f);var f=a.createTextNode("\n ");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("div");a.setAttribute(e,"class","modal-body");var f=a.createTextNode("\n");a.appendChild(e,f);var f=a.createComment("");a.appendChild(e,f);var f=a.createTextNode(" ");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("div"),f=a.createTextNode("\n");a.appendChild(e,f);var f=a.createComment("");a.appendChild(e,f);var f=a.createComment("");a.appendChild(e,f);var f=a.createTextNode(" ");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e),a.appendChild(c,d);var d=a.createTextNode("\n");a.appendChild(c,d),a.appendChild(b,c);var c=a.createTextNode("\n\n");a.appendChild(b,c);var c=a.createElement("div");return a.appendChild(b,c),b},render:function(f,g,h){var i=g.dom,j=g.hooks,k=j.element,l=j.get,m=j.block,n=j.content;i.detectNamespace(h);var o;g.useFragmentCache&&i.canClone?(null===this.cachedFragment&&(o=this.build(i),this.hasRendered?this.cachedFragment=o:this.hasRendered=!0),this.cachedFragment&&(o=i.cloneNode(this.cachedFragment,!0))):o=this.build(i);var p=i.childAt(o,[0,1]),q=i.childAt(p,[1]),r=i.childAt(q,[1]),s=i.childAt(q,[3]),t=i.childAt(p,[5]),u=i.childAt(o,[2]),v=i.createMorphAt(s,1,1),w=i.createUnsafeMorphAt(s,3,3),x=i.createMorphAt(i.childAt(p,[3]),1,1),y=i.createMorphAt(t,1,1),z=i.createMorphAt(t,2,2);return k(g,r,f,"bind-attr",[],{"class":":close allowClose::hide"}),m(g,v,f,"if",[l(g,f,"titleIconClasses")],{},a,null),n(g,w,f,"title"),m(g,x,f,"if",[l(g,f,"body")],{},b,c),k(g,t,f,"bind-attr",[],{"class":":modal-footer fullSizeButtons:modal-footer-full"}),m(g,y,f,"each",[l(g,f,"footerButtons")],{keyword:"footerButton"},d,null),m(g,z,f,"each",[l(g,f,"footerViews")],{keyword:"footerView"},e,null),k(g,u,f,"bind-attr",[],{style:l(g,f,"backdropStyle"),"class":":modal-backdrop fade:fade backdrop:in"}),o}}}()); \ No newline at end of file diff --git a/dist/js/bs-progressbar.max.js b/dist/js/bs-progressbar.max.js index 5739826..a504e83 100644 --- a/dist/js/bs-progressbar.max.js +++ b/dist/js/bs-progressbar.max.js @@ -48,6 +48,7 @@ Ember.TEMPLATES["components/bs-progress"] = Ember.HTMLBars.template((function() var child0 = (function() { return { isHTMLBars: true, + revision: "Ember@1.11.0", blockParams: 0, cachedFragment: null, hasRendered: false, @@ -55,6 +56,8 @@ Ember.TEMPLATES["components/bs-progress"] = Ember.HTMLBars.template((function() var el0 = dom.createDocumentFragment(); var el1 = dom.createTextNode(" "); dom.appendChild(el0, el1); + var el1 = dom.createComment(""); + dom.appendChild(el0, el1); var el1 = dom.createTextNode("\n"); dom.appendChild(el0, el1); return el0; @@ -79,7 +82,7 @@ Ember.TEMPLATES["components/bs-progress"] = Ember.HTMLBars.template((function() } else { fragment = this.build(dom); } - var morph0 = dom.createMorphAt(fragment,0,1,contextualElement); + var morph0 = dom.createMorphAt(fragment,1,1,contextualElement); inline(env, morph0, context, "bs-progressbar", [], {"progress": get(env, context, "progress"), "type": get(env, context, "type")}); return fragment; } @@ -88,6 +91,7 @@ Ember.TEMPLATES["components/bs-progress"] = Ember.HTMLBars.template((function() var child1 = (function() { return { isHTMLBars: true, + revision: "Ember@1.11.0", blockParams: 0, cachedFragment: null, hasRendered: false, @@ -95,6 +99,8 @@ Ember.TEMPLATES["components/bs-progress"] = Ember.HTMLBars.template((function() var el0 = dom.createDocumentFragment(); var el1 = dom.createTextNode(" "); dom.appendChild(el0, el1); + var el1 = dom.createComment(""); + dom.appendChild(el0, el1); var el1 = dom.createTextNode("\n"); dom.appendChild(el0, el1); return el0; @@ -119,7 +125,7 @@ Ember.TEMPLATES["components/bs-progress"] = Ember.HTMLBars.template((function() } else { fragment = this.build(dom); } - var morph0 = dom.createMorphAt(fragment,0,1,contextualElement); + var morph0 = dom.createMorphAt(fragment,1,1,contextualElement); content(env, morph0, context, "yield"); return fragment; } @@ -127,14 +133,13 @@ Ember.TEMPLATES["components/bs-progress"] = Ember.HTMLBars.template((function() }()); return { isHTMLBars: true, + revision: "Ember@1.11.0", blockParams: 0, cachedFragment: null, hasRendered: false, build: function build(dom) { var el0 = dom.createDocumentFragment(); - var el1 = dom.createTextNode(""); - dom.appendChild(el0, el1); - var el1 = dom.createTextNode(""); + var el1 = dom.createComment(""); dom.appendChild(el0, el1); return el0; }, @@ -158,8 +163,9 @@ Ember.TEMPLATES["components/bs-progress"] = Ember.HTMLBars.template((function() } else { fragment = this.build(dom); } - if (this.cachedFragment) { dom.repairClonedNode(fragment,[0,1]); } - var morph0 = dom.createMorphAt(fragment,0,1,contextualElement); + var morph0 = dom.createMorphAt(fragment,0,0,contextualElement); + dom.insertBoundary(fragment, null); + dom.insertBoundary(fragment, 0); block(env, morph0, context, "if", [get(env, context, "default")], {}, child0, child1); return fragment; } @@ -169,13 +175,18 @@ Ember.TEMPLATES["components/bs-progress"] = Ember.HTMLBars.template((function() Ember.TEMPLATES["components/bs-progressbar"] = Ember.HTMLBars.template((function() { return { isHTMLBars: true, + revision: "Ember@1.11.0", blockParams: 0, cachedFragment: null, hasRendered: false, build: function build(dom) { - var el0 = dom.createElement("span"); - dom.setAttribute(el0,"class","sr-only"); - var el1 = dom.createTextNode("% Complete"); + var el0 = dom.createDocumentFragment(); + var el1 = dom.createElement("span"); + dom.setAttribute(el1,"class","sr-only"); + var el2 = dom.createComment(""); + dom.appendChild(el1, el2); + var el2 = dom.createTextNode("% Complete"); + dom.appendChild(el1, el2); dom.appendChild(el0, el1); return el0; }, @@ -199,7 +210,7 @@ Ember.TEMPLATES["components/bs-progressbar"] = Ember.HTMLBars.template((function } else { fragment = this.build(dom); } - var morph0 = dom.createMorphAt(fragment,-1,0); + var morph0 = dom.createMorphAt(dom.childAt(fragment, [0]),0,0); content(env, morph0, context, "progress"); return fragment; } diff --git a/dist/js/bs-progressbar.min.js b/dist/js/bs-progressbar.min.js index 7bb9fdb..3c34766 100644 --- a/dist/js/bs-progressbar.min.js +++ b/dist/js/bs-progressbar.min.js @@ -1 +1 @@ -(function(){Bootstrap.BsProgressComponent=Ember.Component.extend({layoutName:"components/bs-progress",classNames:["progress"],classNameBindings:["animated:active","stripped:progress-striped"],progress:null,stripped:!1,animated:!1,"default":function(){return this.progress}.property("progress")}),Ember.Handlebars.helper("bs-progress",Bootstrap.BsProgressComponent)}).call(this),function(){Bootstrap.BsProgressbarComponent=Ember.Component.extend(Bootstrap.TypeSupport,{layoutName:"components/bs-progressbar",classNames:["progress-bar"],attributeBindings:["style","role","aria-valuemin","ariaValueNow:aria-valuenow","aria-valuemax"],classTypePrefix:"progress-bar",role:"progressbar","aria-valuemin":0,"aria-valuemax":100,init:function(){return this._super()},style:function(){return"width:"+this.progress+"%;"}.property("progress").cacheable(),ariaValueNow:function(){return this.progress}.property("progress").cacheable()}),Ember.Handlebars.helper("bs-progressbar",Bootstrap.BsProgressbarComponent)}.call(this),Ember.TEMPLATES["components/bs-progress"]=Ember.HTMLBars.template(function(){var a=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,0,1,c);return g(b,i,a,"bs-progressbar",[],{progress:f(b,a,"progress"),type:f(b,a,"type")}),h}}}(),b=function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.content;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.createMorphAt(g,0,1,c);return f(b,h,a,"yield"),g}}}();return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode("");a.appendChild(b,c);var c=a.createTextNode("");return a.appendChild(b,c),b},render:function(c,d,e){var f=d.dom,g=d.hooks,h=g.get,i=g.block;f.detectNamespace(e);var j;d.useFragmentCache&&f.canClone?(null===this.cachedFragment&&(j=this.build(f),this.hasRendered?this.cachedFragment=j:this.hasRendered=!0),this.cachedFragment&&(j=f.cloneNode(this.cachedFragment,!0))):j=this.build(f),this.cachedFragment&&f.repairClonedNode(j,[0,1]);var k=f.createMorphAt(j,0,1,e);return i(d,k,c,"if",[h(d,c,"default")],{},a,b),j}}}()),Ember.TEMPLATES["components/bs-progressbar"]=Ember.HTMLBars.template(function(){return{isHTMLBars:!0,blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createElement("span");a.setAttribute(b,"class","sr-only");var c=a.createTextNode("% Complete");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.content;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.createMorphAt(g,-1,0);return f(b,h,a,"progress"),g}}}()); \ No newline at end of file +(function(){Bootstrap.BsProgressComponent=Ember.Component.extend({layoutName:"components/bs-progress",classNames:["progress"],classNameBindings:["animated:active","stripped:progress-striped"],progress:null,stripped:!1,animated:!1,"default":function(){return this.progress}.property("progress")}),Ember.Handlebars.helper("bs-progress",Bootstrap.BsProgressComponent)}).call(this),function(){Bootstrap.BsProgressbarComponent=Ember.Component.extend(Bootstrap.TypeSupport,{layoutName:"components/bs-progressbar",classNames:["progress-bar"],attributeBindings:["style","role","aria-valuemin","ariaValueNow:aria-valuenow","aria-valuemax"],classTypePrefix:"progress-bar",role:"progressbar","aria-valuemin":0,"aria-valuemax":100,init:function(){return this._super()},style:function(){return"width:"+this.progress+"%;"}.property("progress").cacheable(),ariaValueNow:function(){return this.progress}.property("progress").cacheable()}),Ember.Handlebars.helper("bs-progressbar",Bootstrap.BsProgressbarComponent)}.call(this),Ember.TEMPLATES["components/bs-progress"]=Ember.HTMLBars.template(function(){var a=function(){return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createComment("");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,1,1,c);return g(b,i,a,"bs-progressbar",[],{progress:f(b,a,"progress"),type:f(b,a,"type")}),h}}}(),b=function(){return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createComment("");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.content;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.createMorphAt(g,1,1,c);return f(b,h,a,"yield"),g}}}();return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createComment("");return a.appendChild(b,c),b},render:function(c,d,e){var f=d.dom,g=d.hooks,h=g.get,i=g.block;f.detectNamespace(e);var j;d.useFragmentCache&&f.canClone?(null===this.cachedFragment&&(j=this.build(f),this.hasRendered?this.cachedFragment=j:this.hasRendered=!0),this.cachedFragment&&(j=f.cloneNode(this.cachedFragment,!0))):j=this.build(f);var k=f.createMorphAt(j,0,0,e);return f.insertBoundary(j,null),f.insertBoundary(j,0),i(d,k,c,"if",[h(d,c,"default")],{},a,b),j}}}()),Ember.TEMPLATES["components/bs-progressbar"]=Ember.HTMLBars.template(function(){return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createElement("span");a.setAttribute(c,"class","sr-only");var d=a.createComment("");a.appendChild(c,d);var d=a.createTextNode("% Complete");return a.appendChild(c,d),a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.content;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.createMorphAt(d.childAt(g,[0]),0,0);return f(b,h,a,"progress"),g}}}()); \ No newline at end of file diff --git a/dist/showcase/scripts/showcase-components.js b/dist/showcase/scripts/showcase-components.js index aeda0ac..362b87f 100644 --- a/dist/showcase/scripts/showcase-components.js +++ b/dist/showcase/scripts/showcase-components.js @@ -1,21 +1,33 @@ -!function(a,b){function c(a){var b=a.length,c=ib.type(a);return ib.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||"function"!==c&&(0===b||"number"==typeof b&&b>0&&b-1 in a)}function d(a){var b=xb[a]={};return ib.each(a.match(kb)||[],function(a,c){b[c]=!0}),b}function e(a,c,d,e){if(ib.acceptData(a)){var f,g,h=ib.expando,i="string"==typeof c,j=a.nodeType,k=j?ib.cache:a,l=j?a[h]:a[h]&&h;if(l&&k[l]&&(e||k[l].data)||!i||d!==b)return l||(j?a[h]=l=_.pop()||ib.guid++:l=h),k[l]||(k[l]={},j||(k[l].toJSON=ib.noop)),("object"==typeof c||"function"==typeof c)&&(e?k[l]=ib.extend(k[l],c):k[l].data=ib.extend(k[l].data,c)),f=k[l],e||(f.data||(f.data={}),f=f.data),d!==b&&(f[ib.camelCase(c)]=d),i?(g=f[c],null==g&&(g=f[ib.camelCase(c)])):g=f,g}}function f(a,b,c){if(ib.acceptData(a)){var d,e,f,g=a.nodeType,i=g?ib.cache:a,j=g?a[ib.expando]:ib.expando;if(i[j]){if(b&&(f=c?i[j]:i[j].data)){ib.isArray(b)?b=b.concat(ib.map(b,ib.camelCase)):b in f?b=[b]:(b=ib.camelCase(b),b=b in f?[b]:b.split(" "));for(d=0,e=b.length;e>d;d++)delete f[b[d]];if(!(c?h:ib.isEmptyObject)(f))return}(c||(delete i[j].data,h(i[j])))&&(g?ib.cleanData([a],!0):ib.support.deleteExpando||i!=i.window?delete i[j]:i[j]=null)}}}function g(a,c,d){if(d===b&&1===a.nodeType){var e="data-"+c.replace(zb,"-$1").toLowerCase();if(d=a.getAttribute(e),"string"==typeof d){try{d="true"===d?!0:"false"===d?!1:"null"===d?null:+d+""===d?+d:yb.test(d)?ib.parseJSON(d):d}catch(f){}ib.data(a,c,d)}else d=b}return d}function h(a){var b;for(b in a)if(("data"!==b||!ib.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function i(){return!0}function j(){return!1}function k(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}function l(a,b,c){if(b=b||0,ib.isFunction(b))return ib.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return ib.grep(a,function(a){return a===b===c});if("string"==typeof b){var d=ib.grep(a,function(a){return 1===a.nodeType});if(Rb.test(b))return ib.filter(b,d,!c);b=ib.filter(b,d)}return ib.grep(a,function(a){return ib.inArray(a,b)>=0===c})}function m(a){var b=Ub.split("|"),c=a.createDocumentFragment();if(c.createElement)for(;b.length;)c.createElement(b.pop());return c}function n(a,b){return a.getElementsByTagName(b)[0]||a.appendChild(a.ownerDocument.createElement(b))}function o(a){var b=a.getAttributeNode("type");return a.type=(b&&b.specified)+"/"+a.type,a}function p(a){var b=ec.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function q(a,b){for(var c,d=0;null!=(c=a[d]);d++)ib._data(c,"globalEval",!b||ib._data(b[d],"globalEval"))}function r(a,b){if(1===b.nodeType&&ib.hasData(a)){var c,d,e,f=ib._data(a),g=ib._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)ib.event.add(b,c,h[c][d])}g.data&&(g.data=ib.extend({},g.data))}}function s(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!ib.support.noCloneEvent&&b[ib.expando]){e=ib._data(b);for(d in e.events)ib.removeEvent(b,d,e.handle);b.removeAttribute(ib.expando)}"script"===c&&b.text!==a.text?(o(b).text=a.text,p(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),ib.support.html5Clone&&a.innerHTML&&!ib.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&bc.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}function t(a,c){var d,e,f=0,g=typeof a.getElementsByTagName!==V?a.getElementsByTagName(c||"*"):typeof a.querySelectorAll!==V?a.querySelectorAll(c||"*"):b;if(!g)for(g=[],d=a.childNodes||a;null!=(e=d[f]);f++)!c||ib.nodeName(e,c)?g.push(e):ib.merge(g,t(e,c));return c===b||c&&ib.nodeName(a,c)?ib.merge([a],g):g}function u(a){bc.test(a.type)&&(a.defaultChecked=a.checked)}function v(a,b){if(b in a)return b;for(var c=b.charAt(0).toUpperCase()+b.slice(1),d=b,e=yc.length;e--;)if(b=yc[e]+c,b in a)return b;return d}function w(a,b){return a=b||a,"none"===ib.css(a,"display")||!ib.contains(a.ownerDocument,a)}function x(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=ib._data(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&w(d)&&(f[g]=ib._data(d,"olddisplay",B(d.nodeName)))):f[g]||(e=w(d),(c&&"none"!==c||!e)&&ib._data(d,"olddisplay",e?c:ib.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}function y(a,b,c){var d=rc.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function z(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=ib.css(a,c+xc[f],!0,e)),d?("content"===c&&(g-=ib.css(a,"padding"+xc[f],!0,e)),"margin"!==c&&(g-=ib.css(a,"border"+xc[f]+"Width",!0,e))):(g+=ib.css(a,"padding"+xc[f],!0,e),"padding"!==c&&(g+=ib.css(a,"border"+xc[f]+"Width",!0,e)));return g}function A(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=kc(a),g=ib.support.boxSizing&&"border-box"===ib.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=lc(a,b,f),(0>e||null==e)&&(e=a.style[b]),sc.test(e))return e;d=g&&(ib.support.boxSizingReliable||e===a.style[b]),e=parseFloat(e)||0}return e+z(a,b,c||(g?"border":"content"),d,f)+"px"}function B(a){var b=W,c=uc[a];return c||(c=C(a,b),"none"!==c&&c||(jc=(jc||ib("\r\n \r\n
  • \r\n \r\n
  • \r\n \r\n \r\n\r\n')},useData:!0}),Ember.TEMPLATES["tabs/bar-tabpane"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f=b.helperMissing,g=this.escapeExpression,h="";return d.buffer.push(g((b["bs-page-header"]||a&&a["bs-page-header"]||f).call(a,{name:"bs-page-header",hash:{sub:"Tab Pane Content",title:"BAR "},hashTypes:{sub:"STRING",title:"STRING"},hashContexts:{sub:a,title:a},types:[],contexts:[],data:d}))),d.buffer.push("\r\nController is: "),e=b._triageMustache.call(a,"controller",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),h},useData:!0}),Ember.TEMPLATES["tabs/baz-tabpane"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression;d.buffer.push(f((b["bs-page-header"]||a&&a["bs-page-header"]||e).call(a,{name:"bs-page-header",hash:{sub:"Tab Pane Content",title:"BAZ"},hashTypes:{sub:"STRING",title:"STRING"},hashContexts:{sub:a,title:a},types:[],contexts:[],data:d})))},useData:!0}),Ember.TEMPLATES["tabs/foo-tabpane"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f=b.helperMissing,g=this.escapeExpression,h="";return d.buffer.push(g((b["bs-page-header"]||a&&a["bs-page-header"]||f).call(a,{name:"bs-page-header",hash:{sub:"Tab Pane Content",title:"FOO"},hashTypes:{sub:"STRING",title:"STRING"},hashContexts:{sub:a,title:a},types:[],contexts:[],data:d}))),d.buffer.push("\r\nController is: "),e=b._triageMustache.call(a,"controller",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),h},useData:!0}),Ember.TEMPLATES.user=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f=b.helperMissing,g=this.escapeExpression,h="";return d.buffer.push(g((b["bs-tabs"]||a&&a["bs-tabs"]||f).call(a,{name:"bs-tabs",hash:{contentBinding:"tabsMeta"},hashTypes:{contentBinding:"STRING"},hashContexts:{contentBinding:a},types:[],contexts:[],data:d}))),d.buffer.push("\r\n\r\n"),e=b._triageMustache.call(a,"outlet",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),h},useData:!0}),Ember.TEMPLATES["user/activities"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression;d.buffer.push(f((b["bs-page-header"]||a&&a["bs-page-header"]||e).call(a,{name:"bs-page-header",hash:{sub:"User latest Activities",title:"Activities"},hashTypes:{sub:"STRING",title:"STRING"},hashContexts:{sub:a,title:a},types:[],contexts:[],data:d})))},useData:!0}),Ember.TEMPLATES["user/general"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression;d.buffer.push(f((b["bs-page-header"]||a&&a["bs-page-header"]||e).call(a,{name:"bs-page-header",hash:{sub:"User general details",title:"General"},hashTypes:{sub:"STRING",title:"STRING"},hashContexts:{sub:a,title:a},types:[],contexts:[],data:d})))},useData:!0}),Ember.TEMPLATES["user/privacy"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression;d.buffer.push(f((b["bs-page-header"]||a&&a["bs-page-header"]||e).call(a,{name:"bs-page-header",hash:{sub:"User Privacy details",title:"Privacy"},hashTypes:{sub:"STRING",title:"STRING"},hashContexts:{sub:a,title:a},types:[],contexts:[],data:d})))},useData:!0}),Ember.TEMPLATES["wizard/step1"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){d.buffer.push("

    Step1

    ")},useData:!0}),Ember.TEMPLATES["wizard/step2"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){d.buffer.push("

    Step 2

    ")},useData:!0}),Ember.TEMPLATES["wizard/step3"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){d.buffer.push("

    Step 3

    ")},useData:!0}),function(){!function(){var a,b;a=window.Bootstrap,b=window.Showcase=Ember.Application.create({LOG_TRANSITIONS:!0,LOG_VIEW_LOOKUPS:!0,LOG_ACTIVE_GENERATION:!0}),Ember.ENV={HELPER_PARAM_LOOKUPS:!0},Ember.Handlebars.registerHelper("raw",function(a){return a.fn(a)})}(),function(){(function(){Showcase.Router.map(function(){return this.resource("show_components",function(){return this.route("alert"),this.route("breadcrumbs"),this.route("modal"),this.route("label"),this.route("badge"),this.route("well"),this.route("list-group"),this.route("panel"),this.route("page-header"),this.route("button"),this.route("buttonGroup"),this.route("progressbar"),this.route("pills"),this.route("tabs"),this.route("tabs-panes"),this.route("wizard"),this.route("items_action_bar"),this.route("tabs-with-routes"),this.route("notifications"),this.route("growl-notif"),this.route("popover"),this.resource("user",function(){return this.route("general"),this.route("privacy"),this.route("activities")})})})}).call(this)}(),function(){(function(){Showcase.ApplicationRoute=Ember.Route.extend({model:function(){return[Ember.Object.create({title:"Alert",route:"show_components.alert"}),Ember.Object.create({title:"Breadcrumbs",route:"show_components.breadcrumbs","new":!0}),Ember.Object.create({title:"Modal",route:"show_components.modal"}),Ember.Object.create({title:"Label",route:"show_components.label"}),Ember.Object.create({title:"Badge",route:"show_components.badge"}),Ember.Object.create({title:"Well",route:"show_components.well"}),Ember.Object.create({title:"List Group",route:"show_components.list-group"}),Ember.Object.create({title:"Panel",route:"show_components.panel"}),Ember.Object.create({title:"Page Header",route:"show_components.page-header"}),Ember.Object.create({title:"Button",route:"show_components.button"}),Ember.Object.create({title:"Button Group",route:"show_components.buttonGroup"}),Ember.Object.create({title:"Progressbar",route:"show_components.progressbar"}),Ember.Object.create({title:"Tooltips & Popover","new":!0,route:"show_components.popover"}),Ember.Object.create({title:"Nav - Pills",route:"show_components.pills"}),Ember.Object.create({title:"Nav - Tabs",route:"show_components.tabs"}),Ember.Object.create({title:"Nav - Tabs Panes",route:"show_components.tabs-panes"}),Ember.Object.create({title:"Nav - Tabs with Routes",special:!0,route:"show_components.tabs-with-routes"}),Ember.Object.create({title:"Wizard",special:!0,route:"show_components.wizard"}),Ember.Object.create({title:"Notifications",special:!0,route:"show_components.notifications"}),Ember.Object.create({title:"Items Action Bar","new":!0,route:"show_components.items_action_bar"}),Ember.Object.create({title:"Growl Notifications",special:!0,route:"show_components.growl-notif"})]}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsPopoverRoute=Ember.Route.extend({renderTemplate:function(){var a;return this.render(),a=this.controllerFor("ShowComponentsTooltipBox"),this.render("bs-tooltip-box",{outlet:"bs-tooltip-box",controller:a,into:"application"})}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsAlertController=Ember.Controller.extend({actions:{submit:function(){return alert("Action taken by controller!")},didAlertClosed:function(){return alert("From controller: The -closed- event was triggered.")},didAlertClose:function(){return alert("From controller: The -close- event was triggered.")}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsButtonController=Ember.Controller.extend({isButtonDisabled:!1,loadingState:null,loadingState1:null,actions:{disableButton:function(){return this.set("isButtonDisabled",!0)},startLoading:function(){var a=this;return this.set("loadingState","loading"),Ember.run.later(function(){return a.set("loadingState",null)},2e3)},startLoading1:function(){var a=this;return this.set("loadingState1","loading"),Ember.run.later(function(){return a.set("loadingState1","completed")},2e3)},buttonWithParam:function(a){return alert("Passed controller as a param: "+a)}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsItemsActionBarController=Ember.Controller.extend({actionsInBar:[[{title:"To Alerts",disabled:function(a){var b;return a.size<1||"Alerts"!==(null!=a&&null!=(b=a[0])?b.title:void 0)?!0:void 0},transitionTo:"show_components.alert"},{title:"To Panels",transitionTo:"show_components.panel",disabled:function(a){var b;return a.size<1||"Panels"!==(null!=a&&null!=(b=a[0])?b.title:void 0)?!0:void 0}}],[{title:"To Wizard",disabled:function(a){var b;return a.size<1||"Wizards"!==(null!=a&&null!=(b=a[0])?b.title:void 0)?!0:void 0},clickActionName:"wizard"}]],actions:{wizard:function(){return alert("Wizard pressed!")}},items:[Ember.Object.create({title:"Alerts"}),Ember.Object.create({title:"Panels"}),Ember.Object.create({title:"Wizards"})]})}).call(this)}(),function(){(function(){Showcase.ShowComponentsPanelController=Ember.Controller.extend({actions:{panelClicked:function(){return alert("Hello from controller: A click in a panel!")},panelClosed:function(){return alert("Hello from controller: The panel was closed!")}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsPopoverController=Ember.Controller.extend({testObject:Ember.Object.createWithMixins({sticky:function(){return Ember.Object.create({user:this,content:"know this is a sticky tooltip! You can hover over it.",trigger:"hover",sticky:!0})}.property()}),user:Ember.Object.create({firstNameBinding:"content.name",title:"rename",template:'name: {{input type="text" value=content.name}}',content:{name:"John"},trigger:"hover",sticky:!0}),hoverPop:Ember.Object.create({title:"I'm a title!",content:"And i'm a content!",trigger:"hover",placement:"right",sticky:!0}),clickPop:Ember.Object.create({title:"Clickable!",content:"

    Hello

    This is a clickable popover with html content!",placement:"left",html:!0}),templPop:Ember.Object.create({firstName:"numbers",title:"Popover with Template",template:"numbers:
      {{#each val in content.numbers}}
    • {{val}}
    • {{/each}}
    ",content:{numbers:[1,2,3]}})})}).call(this)}(),function(){(function(){Showcase.ShowComponentsProgressbarController=Ember.Controller.extend({prog:0,incrementBy:20,actions:{increment:function(){return this.prog<100?this.incrementProperty("prog",this.incrementBy):this.set("prog",this.incrementBy)}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsTooltipBoxController=Bootstrap.TooltipBoxController}).call(this)}(),function(){(function(){Showcase.ShowComponentsWellController=Ember.Controller.extend({wellClick:function(){return alert("Hello from controller: A click in a well!")}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsButtonGroupController=Ember.Controller.extend({options:["Home","Profile","Messages"],options2:["Admin","Settings"],optionsWithMeta:[Ember.Object.create({title:"Create",type:"primary"}),Ember.Object.create({title:"Destroy",type:"danger"})]})}).call(this)}(),function(){(function(){Showcase.ShowComponentsPillsController=Ember.Controller.extend({content:["Home","Profile","Messages"],init:function(){return this._super(),this.set("content1",Ember.A([Ember.Object.create({title:"Home","default":!0,disabled:!1}),Ember.Object.create({title:"Admin",disabled:!0})])),this.set("selected1",this.get("content1").objectAt(0))},contentChanged:function(){return console.log("Selection has changed to: "+this.get("selected"))}.observes("selected"),actions:{disableHome:function(){return this.get("content1").objectAt(0).set("disabled",!0)}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsGrowlNotifController=Ember.Controller.extend({actions:{pushInfo:function(){return Bootstrap.GNM.push("INFO!","Hello, this is just an info message.","info")},pushSuccess:function(){return Bootstrap.GNM.push("SUCCESS!","Successfully performed operation!","success")},pushWarn:function(){return Bootstrap.GNM.push("WARN!","Could not perform operation!","warning")},pushDanger:function(){return Bootstrap.GNM.push("Danger!","System is halting!","danger")}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsListGroupController=Ember.Controller.extend({listSimple:Ember.A(["Cras justo odio","Dapibus ac facilisis in","Morbi leo risus"]),listWithBadges:Ember.A([Ember.Object.create({title:"Inbox",badge:"45"}),Ember.Object.create({title:"Sent",badge:"33"})]),listWithSub:Ember.A([Ember.Object.create({title:"Inbox",sub:"Incoming mails folder",badge:"45"}),Ember.Object.create({title:"Sent",sub:"Sent emails folder",badge:"33"})])})}).call(this)}(),function(){(function(){Showcase.ShowComponentsModalController=Ember.Controller.extend({message:"Welcome to Bootstrap for Ember..!",myModalButtons:[Ember.Object.create({title:"Submit",clicked:"submit"}),Ember.Object.create({title:"Cancel",clicked:"cancel",dismiss:"modal"})],manualButtons:[Ember.Object.create({title:"Submit",clicked:"submitManual"}),Ember.Object.create({title:"Cancel",dismiss:"modal"})],actions:{submit:function(){return Bootstrap.NM.push("Successfully submitted modal","success"),Bootstrap.ModalManager.hide("myModal")},cancel:function(){return Bootstrap.NM.push("Modal was cancelled","info")},show:function(){return Bootstrap.ModalManager.show("myModal")},submitManual:function(){return Bootstrap.NM.push("Modal destroyed!","success"),Bootstrap.ModalManager.close("manualModal")},createModalProgramatically:function(){var a;return a=Ember.View.extend({template:Ember.Handlebars.compile("This is a programatic ")}),Bootstrap.ModalManager.open("manualModal","Hello","demo-template",this.manualButtons,this)},confirm:function(){return Bootstrap.ModalManager.confirm(this)},modalConfirmed:function(){return Bootstrap.NM.push("Confirmed!","success")},modalCanceled:function(){return Bootstrap.NM.push("Cancelled!","info")}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsNotificationsController=Ember.Controller.extend({actions:{pushInfo:function(){return Bootstrap.NM.push("Hello, this is just an info message.","info")},pushWarn:function(){return Bootstrap.NM.push("Could not perform operation!","warning")},pushSuccess:function(){return Bootstrap.NM.push("Successfully performed operation!","success")},pushDanger:function(){return Bootstrap.NM.push("Danger! system is halting!","danger")}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsTabsController=Ember.Controller.extend({content:["Home","Profile","Messages"],init:function(){return this._super(),this.set("selected","Home"),this.set("tabsPanesOptions",Ember.A([Ember.Object.create({title:"Foo",template:"tabs/foo-tabpane"}),Ember.Object.create({title:"Bar",template:"tabs/bar-tabpane"})]))}})}).call(this)}(),function(){(function(){Showcase.ShowcaseComponentsTabsFooController=Ember.Controller.extend()}).call(this)}(),function(){(function(){Showcase.ShowComponentsTabsPanesController=Ember.Controller.extend({tabsMeta:Ember.A([Ember.Object.create({title:"Foo",template:"tabs/foo-tabpane",controller:"ShowcaseComponentsTabsFoo"}),Ember.Object.create({title:"Bar",template:"tabs/bar-tabpane"})])})}).call(this)}(),function(){(function(){Showcase.ShowComponentsWizardController=Ember.Controller.extend({init:function(){return this._super(),this.set("steps",Ember.A([Ember.Object.create({title:"Foo",template:"tabs/foo-tabpane"}),Ember.Object.create({title:"Bar",template:"tabs/bar-tabpane"}),Ember.Object.create({title:"Baz",template:"tabs/baz-tabpane"})])),this.set("stepsNoPrev",Ember.A([Ember.Object.create({title:"Step1",template:"tabs/foo-tabpane",disabled:!0}),Ember.Object.create({title:"Step2",template:"tabs/bar-tabpane",disabled:!0}),Ember.Object.create({title:"Step3",template:"tabs/baz-tabpane",disabled:!0})]))},actions:{createWizard:function(){var a;return a=Bootstrap.BsWizardComponent.extend({content:[Ember.Object.create({title:"Step1",template:"wizard/step1",disabled:!0}),Ember.Object.create({title:"Step2",template:"wizard/step2",disabled:!0}),Ember.Object.create({title:"Step3",template:"wizard/step3",disabled:!0})],targetObject:this,onNext:"onNext",onPrev:"onPrev",onFinish:"onFinish"}),Bootstrap.ModalManager.open("manualModal","Wizard Title...",a,null,this)},onNext:function(){return console.log("NEXT")},onPrev:function(){return console.log("PREV")},onFinish:function(){return Bootstrap.ModalManager.close("manualModal"),Bootstrap.NM.push("Wizard completed!")}}})}).call(this)}(),function(){(function(){Showcase.UserController=Ember.Controller.extend({tabsMeta:[Ember.Object.create({title:"General",linkTo:"user.general"}),Ember.Object.create({title:"Privacy",linkTo:"user.privacy"}),Ember.Object.create({title:"Activities",linkTo:"user.activities"})]})}).call(this)}(),function(){}.call(this)}(); \ No newline at end of file +Ember.TEMPLATES.ads=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){d.buffer.push("

    Bootstrap for Ember

    ")},useData:!0}),Ember.TEMPLATES.application=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f=b.helperMissing,g=this.escapeExpression,h="";return d.buffer.push('\r\n\r\n \r\n '),d.buffer.push(g((b.outlet||a&&a.outlet||f).call(a,"bs-tooltip-box",{name:"outlet",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}))),d.buffer.push("\r\n \r\n "),d.buffer.push(g((b.partial||a&&a.partial||f).call(a,"header",{name:"partial",hash:{},hashTypes:{},hashContexts:{},types:["STRING"],contexts:[a],data:d}))),d.buffer.push('\r\n \r\n \r\n \r\n Skip navigation\r\n \r\n '),d.buffer.push(g((b.partial||a&&a.partial||f).call(a,"nav-main",{name:"partial",hash:{},hashTypes:{},hashContexts:{},types:["STRING"],contexts:[a],data:d}))),d.buffer.push("\r\n "),d.buffer.push(g((b["bs-notifications"]||a&&a["bs-notifications"]||f).call(a,{name:"bs-notifications",hash:{style:"z-index: 9999; position: fixed; width: 50%; left: 0; right: 0; margin-left: auto; margin-right: auto; margin-top: 50px;"},hashTypes:{style:"STRING"},hashContexts:{style:a},types:[],contexts:[],data:d}))),d.buffer.push("\r\n "),e=b._triageMustache.call(a,"bs-growl-notifications",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push('\r\n \r\n
    \r\n
    \r\n

    '),e=b._triageMustache.call(a,"page.lead",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("

    \r\n "),d.buffer.push(g((b.partial||a&&a.partial||f).call(a,"ads",{name:"partial",hash:{},hashTypes:{},hashContexts:{},types:["STRING"],contexts:[a],data:d}))),d.buffer.push('\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n '),e=b._triageMustache.call(a,"bs-breadcrumbs",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("\r\n "),e=b._triageMustache.call(a,"outlet",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push('\r\n
    \r\n
    \r\n\r\n
    \r\n\r\n \r\n
    \r\n
    \r\n '),d.buffer.push(g((b.partial||a&&a.partial||f).call(a,"social-buttons",{name:"partial",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}))),d.buffer.push("\r\n
    \r\n
    \r\n\r\n \r\n "),d.buffer.push(g((b.partial||a&&a.partial||f).call(a,"footer",{name:"partial",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}))),d.buffer.push("\r\n \r\n\r\n"),h},useData:!0}),Ember.TEMPLATES["demo-template"]=Ember.HTMLBars.template({1:function(a,b,c,d){var e,f="";return e=b._triageMustache.call(a,"message",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("\r\n"),f},compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f,g,h=b.helperMissing,i=this.escapeExpression,j="function",k=b.blockHelperMissing,l="";return d.buffer.push(i((b["bs-page-header"]||a&&a["bs-page-header"]||h).call(a,{name:"bs-page-header",hash:{sub:"Hello world.",title:"Hello"},hashTypes:{sub:"STRING",title:"STRING"},hashContexts:{sub:a,title:a},types:[],contexts:[],data:d}))),d.buffer.push("\r\n"),f=null!=(f=b["bs-well"]||(null!=a?a["bs-well"]:a))?f:h,g={name:"bs-well",hash:{},hashTypes:{},hashContexts:{},fn:this.program(1,d),inverse:this.noop,types:[],contexts:[],data:d},e=typeof f===j?f.call(a,g):f,b["bs-well"]||(e=k.call(a,e,g)),null!=e&&d.buffer.push(e),l},useData:!0}),Ember.TEMPLATES.footer=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){return""},useData:!0}),Ember.TEMPLATES.header=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){return""},useData:!0}),Ember.TEMPLATES.index=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){d.buffer.push('
    \r\n ')},useData:!0}),Ember.TEMPLATES.leftnav=Ember.HTMLBars.template({1:function(a,b,c,d){var e,f=b.helperMissing,g="";return d.buffer.push("
  • \r\n"),e=(b["link-to"]||a&&a["link-to"]||f).call(a,"item.route",{name:"link-to",hash:{},hashTypes:{},hashContexts:{},fn:this.program(2,d),inverse:this.noop,types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("
  • \r\n"),g},2:function(a,b,c,d){var e,f="";return d.buffer.push(" "),e=b._triageMustache.call(a,"item.title",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("\r\n"),e=b["if"].call(a,"item.special",{name:"if",hash:{},hashTypes:{},hashContexts:{},fn:this.program(3,d),inverse:this.noop,types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),e=b["if"].call(a,"item.new",{name:"if",hash:{},hashTypes:{},hashContexts:{},fn:this.program(5,d),inverse:this.noop,types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),f},3:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression,g="";return d.buffer.push(" "),d.buffer.push(f((b["bs-label"]||a&&a["bs-label"]||e).call(a,{name:"bs-label",hash:{type:"danger",content:"Special"},hashTypes:{type:"STRING",content:"STRING"},hashContexts:{type:a,content:a},types:[],contexts:[],data:d}))),d.buffer.push("\r\n"),g},5:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression,g="";return d.buffer.push(" "),d.buffer.push(f((b["bs-label"]||a&&a["bs-label"]||e).call(a,{name:"bs-label",hash:{type:"info",content:"New"},hashTypes:{type:"STRING",content:"STRING"},hashContexts:{type:a,content:a},types:[],contexts:[],data:d}))),d.buffer.push("\r\n"),g},compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e;e=b.each.call(a,"item","in","controller",{name:"each",hash:{},hashTypes:{},hashContexts:{},fn:this.program(1,d),inverse:this.noop,types:["ID","ID","ID"],contexts:[a,a,a],data:d}),d.buffer.push(null!=e?e:"")},useData:!0}),Ember.TEMPLATES["nav-main"]=Ember.HTMLBars.template({1:function(a,b,c,d){d.buffer.push("Bootstrap for Ember")},3:function(a,b,c,d){d.buffer.push("Home")},5:function(a,b,c,d){d.buffer.push("Components")},compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f=b.helperMissing,g="";return d.buffer.push('\r\n"),g},useData:!0}),Ember.TEMPLATES["show_components/alert"]=Ember.HTMLBars.template({1:function(a,b,c,d){var e=this.escapeExpression,f="";return d.buffer.push('

    Oh snap! You got an error!

    \n

    Alert can also be used in a block form.

    \n

    \n Or do this\n

    \n'),f},compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f=b.helperMissing,g=this.escapeExpression,h="";return d.buffer.push('

    Alert

    \n

    Usage Examples

    \n
    \n '),d.buffer.push(g((b["bs-alert"]||a&&a["bs-alert"]||f).call(a,{name:"bs-alert",hash:{type:"warning",message:"A warning alert with simple message."},hashTypes:{type:"STRING",message:"STRING"},hashContexts:{type:a,message:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n
    {{bs-alert message="A warning alert with simple message." type="warning"}}
    \n
    \n '),d.buffer.push(g((b["bs-alert"]||a&&a["bs-alert"]||f).call(a,{name:"bs-alert",hash:{dismiss:!0,type:"warning",message:"With close button"},hashTypes:{dismiss:"BOOLEAN",type:"STRING",message:"STRING"},hashContexts:{dismiss:a,type:a,message:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n
    {{bs-alert message="With close button" type="warning" dismiss=true}}
    \n
    \n '),d.buffer.push(g((b["bs-alert"]||a&&a["bs-alert"]||f).call(a,{name:"bs-alert",hash:{fade:!0,dismiss:!0,type:"warning",message:"Close button will fade"},hashTypes:{fade:"BOOLEAN",dismiss:"BOOLEAN",type:"STRING",message:"STRING"},hashContexts:{fade:a,dismiss:a,type:a,message:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n
        {{bs-alert message="Close button will fade" type="warning" dismiss=true fade=true}}
    \n
    \n '),d.buffer.push(g((b["bs-alert"]||a&&a["bs-alert"]||f).call(a,{name:"bs-alert",hash:{dismissAfter:5,fade:!0,type:"info",message:"Dismissed after 5 seconds!!"},hashTypes:{dismissAfter:"NUMBER",fade:"BOOLEAN",type:"STRING",message:"STRING"},hashContexts:{dismissAfter:a,fade:a,type:a,message:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n
        {{bs-alert message="Dismissed after 5 seconds" type="info" dismissAfter=5}}
    \n
    \n '),d.buffer.push(g((b["bs-alert"]||a&&a["bs-alert"]||f).call(a,{name:"bs-alert",hash:{type:"success",message:"Other types such as Sucess"},hashTypes:{type:"STRING",message:"STRING"},hashContexts:{type:a,message:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n
        {{bs-alert message="Other types such as Sucess" type="success"}}
    \n
    \n'),e=(b["bs-alert"]||a&&a["bs-alert"]||f).call(a,{name:"bs-alert",hash:{type:"danger"},hashTypes:{type:"STRING"},hashContexts:{type:a},fn:this.program(1,d),inverse:this.noop,types:[],contexts:[],data:d}),null!=e&&d.buffer.push(e),d.buffer.push('
    \n\n
    {{#bs-alert type="danger"}}\n<h4 class="alert-heading">Oh snap! You got an error!</h4>\n<p>Alert can also be used in a <strong>block form</strong>.</p>\n<p>\n<button class="btn btn-danger" {{action "submit"}}>Take this action</button> <a class="btn btn-default">Or do this</a>\n</p>\n{{/bs-alert}}
    \n
    \n '),d.buffer.push(g((b["bs-alert"]||a&&a["bs-alert"]||f).call(a,{name:"bs-alert",hash:{close:"didAlertClose",closed:"didAlertClosed",dismiss:!0,type:"warning",message:"Close will trigger a function in controller"},hashTypes:{close:"STRING",closed:"STRING",dismiss:"BOOLEAN",type:"STRING",message:"STRING"},hashContexts:{close:a,closed:a,dismiss:a,type:a,message:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n
        {{bs-alert message="Close will trigger a function in controller" type="warning" dismiss=true closed="didAlertClosed" close="didAlertClose"}}
    \n

    Component Properties

    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    PropertyDescription
    messageThe string to display in the alert.
    typeAlert types: success | info | warning | danger
    dismissif true an X link is set to dismiss the alert.
    dismissAfterIf set the alert will be automatically dismissed after the specified amount of seconds
    fadeIf true, the dialog will be faded out when closed.
    closeTriggers the specified function name on the controller immediately when the close instance method is called.
    closedTriggers the specified function name on the controller when the alert has been closed (will wait for CSS transitions to complete).
    \n
    \n\n'),h},useData:!0}),Ember.TEMPLATES["show_components/badge"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression,g="";return d.buffer.push('

    Badge

    \n\n\n
    <a href="#"> Inbox{{bs-badge content="42"}} </a>
    \n

    Built-in styles

    \n

    Works well with built-in styles that are included for placing badges in active states in pill and list navigations.

    \n\n\n
    <ul class="nav nav-pills">\n    <li class="active"><a href="#">Home {{bs-badge content=42}}</a></li>\n    <li><a href="#">Profile</a></li>\n    <li><a href="#">Messages {{bs-badge content=3}}</a></li>\n</ul>\n<br>\n<ul class="nav nav-pills nav-stacked" style="max-width: 260px;">\n    <li class="active">\n        <a href="#">\n            {{bs-badge class="pull-right"content=42}}\n            Home\n        </a>\n    </li>\n    <li><a href="#">Profile</a></li>\n    <li>\n        <a href="#">\n            {{bs-badge class="pull-right"content=3}}\n            Messages\n        </a>\n    </li>\n</ul>
    \n

    Component Properties

    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    PropertyDescription
    contentstring: The content of the badge.
    \n
    \n'),g},useData:!0}),Ember.TEMPLATES["show_components/breadcrumbs"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){d.buffer.push('

    Breadcrumbs

    \n

    Indicate the current page's location within a navigational hierarchy.

    \n

    The breadcrumbs is magically constructed by interpreting the current router location,

    \n

    Move between components and look at the showcase's breadcrumbs on the top of the screen

    \n

    The only thing needed to setup breadcrumbs is add to one of your top templates (such application template):

    \n
    {{bs-breadcrumbs}}
    \n

    Breadcrumbs Names

    \n

    By default the name of the breadcrumbs is set to the route name,\nyou can change this behavior by specifying some meta info on the route:

    \n
    SomeRoute = Ember.Route.extend({\n    breadcrumbs: {name: 'Primary'}\n\n    ...\n})
    \n')},useData:!0}),Ember.TEMPLATES["show_components/button"]=Ember.HTMLBars.template({1:function(a,b,c,d){d.buffer.push("Content")},3:function(a,b,c,d){d.buffer.push("Primary")},5:function(a,b,c,d){d.buffer.push("Link")},7:function(a,b,c,d){d.buffer.push("Default Large button")},9:function(a,b,c,d){d.buffer.push("Block Button")},11:function(a,b,c,d){d.buffer.push("Disabled Button")},13:function(a,b,c,d){d.buffer.push("Button with Param")},compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f,g,h="function",i=b.helperMissing,j=b.blockHelperMissing,k=this.escapeExpression,l="";return d.buffer.push('

    Button

    \n

    Types

    \n
    \n '),f=null!=(f=b["bs-button"]||(null!=a?a["bs-button"]:a))?f:i,g={name:"bs-button",hash:{},hashTypes:{},hashContexts:{},fn:this.program(1,d),inverse:this.noop,types:[],contexts:[],data:d},e=typeof f===h?f.call(a,g):f,b["bs-button"]||(e=j.call(a,e,g)),null!=e&&d.buffer.push(e),d.buffer.push("\n "),d.buffer.push(k((b["bs-button"]||a&&a["bs-button"]||i).call(a,{name:"bs-button",hash:{title:"Inline Text"},hashTypes:{title:"STRING"},hashContexts:{title:a},types:[],contexts:[],data:d}))),d.buffer.push("\n "),e=(b["bs-button"]||a&&a["bs-button"]||i).call(a,{name:"bs-button",hash:{type:"primary"},hashTypes:{type:"STRING"},hashContexts:{type:a},fn:this.program(3,d),inverse:this.noop,types:[],contexts:[],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("\n "),e=(b["bs-button"]||a&&a["bs-button"]||i).call(a,{name:"bs-button",hash:{type:"link"},hashTypes:{type:"STRING"},hashContexts:{type:a},fn:this.program(5,d),inverse:this.noop,types:[],contexts:[],data:d}),null!=e&&d.buffer.push(e),d.buffer.push('\n\n

    All other types such as info, warning, danger are supported.

    \n
    \n\n\n
    <!-- Standard gray default button with gradient -->\n{{#bs-button}}Content{{/bs-button}}\n\n<!--Inline text as button content-->\n{{bs-button title="Inline Text"}}\n\n<!-- Provides extra visual weight and identifies the primary action in a set of buttons -->\n{{#bs-button type="primary"}}Primary{{/bs-button}}\n\n<!-- Deemphasize a button by making it look like a link while maintaining button behavior -->\n{{#bs-button type="link"}}Link{{/bs-button}}
    \n

    Sizes

    \n

    In correspondence with bootstrap css class button sizes .btn-lg, .btn-sm, or .btn-xs, size can simply defined by the size property or use one of the size properties: small=true, large=true, xs=true

    \n
    \n

    \n '),d.buffer.push(k((b["bs-button"]||a&&a["bs-button"]||i).call(a,{name:"bs-button",hash:{title:"Primary Extra Small Button",size:"xs",type:"primary"},hashTypes:{title:"STRING",size:"STRING",type:"STRING"},hashContexts:{title:a,size:a,type:a},types:[],contexts:[],data:d}))),d.buffer.push("\n "),d.buffer.push(k((b["bs-button"]||a&&a["bs-button"]||i).call(a,{name:"bs-button",hash:{title:"Info Small Button",small:!0,type:"info"},hashTypes:{title:"STRING",small:"BOOLEAN",type:"STRING"},hashContexts:{title:a,small:a,type:a},types:[],contexts:[],data:d}))),d.buffer.push("\n "),d.buffer.push(k((b["bs-button"]||a&&a["bs-button"]||i).call(a,{name:"bs-button",hash:{title:"Danger Default size button",type:"danger"},hashTypes:{title:"STRING",type:"STRING"},hashContexts:{title:a,type:a},types:[],contexts:[],data:d}))),d.buffer.push("\n "),e=(b["bs-button"]||a&&a["bs-button"]||i).call(a,{name:"bs-button",hash:{size:"lg"},hashTypes:{size:"STRING"},hashContexts:{size:a},fn:this.program(7,d),inverse:this.noop,types:[],contexts:[],data:d}),null!=e&&d.buffer.push(e),d.buffer.push('\n

    \n
    \n\n
    {{bs-button type="primary" size="xs" title="Primary Extra Small Button"}}\n{{bs-button type="info" small=true title="Info Small Button"}}\n{{bs-button type="danger" title="Danger Default size button"}}\n{{#bs-button size="lg"}}Default Large button{{/bs-button}}
    \n

    Icon

    \n
    \n

    \n '),d.buffer.push(k((b["bs-button"]||a&&a["bs-button"]||i).call(a,{name:"bs-button",hash:{title:"Button with Icon",icon:"fa fa-check"},hashTypes:{title:"STRING",icon:"STRING"},hashContexts:{title:a,icon:a},types:[],contexts:[],data:d}))),d.buffer.push('\n

    \n

    \n\n

    Simply add an icon property to the button meta data, such:

    \n
    {{bs-button icon="fa fa-check" title="Danger Default size button"}}
    \n

    Will render an <i class="fa fa-check"></i> tag within the button tag.

    \n

    Block Level

    \n

    block level buttons—those that span the full width of a parent— by adding block=true

    \n
    \n '),e=(b["bs-button"]||a&&a["bs-button"]||i).call(a,{name:"bs-button",hash:{block:!0,xs:!0,type:"primary"},hashTypes:{block:"BOOLEAN",xs:"BOOLEAN",type:"STRING"},hashContexts:{block:a,xs:a,type:a},fn:this.program(9,d),inverse:this.noop,types:[],contexts:[],data:d}),null!=e&&d.buffer.push(e),d.buffer.push('\n
    \n\n
    {{#bs-button type="primary" xs=true block=true}}Block Button{{/bs-button}}
    \n

    Disbled state

    \n

    As in Bootstrap, set disabled="disabled"/disabled=true to make the button unclickable.

    \n
    \n '),e=(b["bs-button"]||a&&a["bs-button"]||i).call(a,{name:"bs-button",hash:{disabled:!0,type:"primary"},hashTypes:{disabled:"BOOLEAN",type:"STRING"},hashContexts:{disabled:a,type:a},fn:this.program(11,d),inverse:this.noop,types:[],contexts:[],data:d}),null!=e&&d.buffer.push(e),d.buffer.push('\n
    \n\n
    {{#bs-button type="primary" disabled=true}}Disabled Button{{/bs-button}}
    \n

    Disabled state can also be hooked to a controller property

    \n
    \n '),d.buffer.push(k((b["bs-button"]||a&&a["bs-button"]||i).call(a,{name:"bs-button",hash:{clicked:"disableButton",disabled:"isButtonDisabled",title:"Click to disable",type:"primary"},hashTypes:{clicked:"STRING",disabled:"ID",title:"STRING",type:"STRING"},hashContexts:{clicked:a,disabled:a,title:a,type:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n
    {{bs-button type="primary" title="Click to disable" disabled=isButtonDisabled clicked="disableButton"}}
    \n
      \n
    • isButtonDisabled is a boolean property on the controller
    • \n
    • disableButton is a function on the controller that sets isButtonDisabled to false
    • \n
    \n

    Param

    \n

    It is possible to pass a parameter to the action in the controller that is bound to the click event by using the clickedParam property.

    \n
    \n '),e=(b["bs-button"]||a&&a["bs-button"]||i).call(a,{name:"bs-button",hash:{clickedParamBinding:"controller",clicked:"buttonWithParam",type:"primary"},hashTypes:{clickedParamBinding:"STRING",clicked:"STRING",type:"STRING"},hashContexts:{clickedParamBinding:a,clicked:a,type:a},fn:this.program(13,d),inverse:this.noop,types:[],contexts:[],data:d}),null!=e&&d.buffer.push(e),d.buffer.push('\n
    \n\n\n
    {{#bs-button type="primary" clicked="buttonWithParam" clickedParamBinding="controller"}}Button with Param{{/bs-button}}
    \n

    Action in controller:

    \n
    MyController = Ember.Controller.extend({\n    actions: {\n        buttonWithParam: function(expectedMyself) {\n            alert("Passed controller as a param: " + expectedMyself);\n        }\n    }\n)}
    \n

    State

    \n

    By Bootstrap:

    \n
    \n

    Add data-loading-text="Loading..." to use a loading state on a button.

    \n
    \n

    Then extra loading=loadingState is needed where loadingState is a property in the controller that returns a string which\ndefines the current state of the button:

    \n
      \n
    • If loadingState property equals loading then the button will be disabled and its text will change to the value of the data-loading-text button property.
    • \n
    • If its value is null then the button will be re-enabled and its text will be modified to the original value defined in the title button property.
    • \n
    \n
    \n '),d.buffer.push(k((b["bs-button"]||a&&a["bs-button"]||i).call(a,{name:"bs-button",hash:{clicked:"startLoading",title:"Submit",clicked:"disableButton",loading:"loadingState","data-loading-text":"Loading...",type:"primary"},hashTypes:{clicked:"STRING",title:"STRING",clicked:"STRING",loading:"ID","data-loading-text":"STRING",type:"STRING"},hashContexts:{clicked:a,title:a,clicked:a,loading:a,"data-loading-text":a,type:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n\n
    {{bs-button type="primary" data-loading-text="Loading..." loading=loadingState title="Submit" clicked="startLoading"}}
    \n

    In controller:

    \n\n
    startLoading: function() {\n    var _this = this;\n    this.set('loadingState', 'loading');\n    return Ember.run.later(function() {\n      return _this.set('loadingState', null);\n    }, 2000);\n}
    \n

    The loading property may also return any string that matches one of the data-foo-text button property to render other text\nbut the original text of the button when the loading state completes.

    \n
    \n '),d.buffer.push(k((b["bs-button"]||a&&a["bs-button"]||i).call(a,{name:"bs-button",hash:{clicked:"startLoading1",title:"Submit!",loading:"loadingState1","data-completed-text":"Completed!","data-loading-text":"Loading...",type:"primary"},hashTypes:{clicked:"STRING",title:"STRING",loading:"ID","data-completed-text":"STRING","data-loading-text":"STRING",type:"STRING"},hashContexts:{clicked:a,title:a,loading:a,"data-completed-text":a,"data-loading-text":a,type:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n
    startLoading1: function() {\n    var _this = this;\n    this.set('loadingState', 'loading');\n    return Ember.run.later(function() {\n      return _this.set('loadingState', 'completed');\n    }, 2000);\n}
    \n

    Pay attention that this time the loadingState is set to completed and not null.

    \n

    Component Properties

    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    PropertyDescription
    typeAlert types: success | info | warning | danger
    titleA string representing the text of the button (not required if component is used as a block component)
    clickedTriggers the specified function name on the controller immediately when the button is clicked.
    clickedParamA parameter to pass the action to be invoked immediately when the button is clicked
    sizeCan be: xs | sm | lg
    xsIf set to true it is equivalent to size=xs
    smallIf set to true it is equivalent to size=small
    largeIf set to true it is equivalent to size=large
    blockIf true the button is a block level and will span the full width of its parent
    disabledIf true the button will be disabled, can also be bound to a controller property
    loadingBound to a controller property that defines the state of the button.
    data-loading-textIf loading=foo and foo is a property in the controller and foo property returns loading, then the text of the button will be changed to the value of this property.
    data-xxx-textIf loading=foo and foo is a property in the controller and foo property returns xxx, then the text of the button will be changed to the value of this property.
    \n
    \n'), +l},useData:!0}),Ember.TEMPLATES["show_components/buttonGroup"]=Ember.HTMLBars.template({1:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression,g="";return d.buffer.push(" "),d.buffer.push(f((b["bs-btn-group"]||a&&a["bs-btn-group"]||e).call(a,{name:"bs-btn-group",hash:{selectedBinding:"selected",contentBinding:"options"},hashTypes:{selectedBinding:"STRING",contentBinding:"STRING"},hashContexts:{selectedBinding:a,contentBinding:a},types:[],contexts:[],data:d}))),d.buffer.push("\n "),d.buffer.push(f((b["bs-btn-group"]||a&&a["bs-btn-group"]||e).call(a,{name:"bs-btn-group",hash:{selectedBinding:"selected",contentBinding:"options2"},hashTypes:{selectedBinding:"STRING",contentBinding:"STRING"},hashContexts:{selectedBinding:a,contentBinding:a},types:[],contexts:[],data:d}))),d.buffer.push("\n"),g},3:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression,g="";return d.buffer.push(" "),d.buffer.push(f((b["bs-btn-group"]||a&&a["bs-btn-group"]||e).call(a,{name:"bs-btn-group",hash:{selectedBinding:"selected",contentBinding:"options",size:"lg"},hashTypes:{selectedBinding:"STRING",contentBinding:"STRING",size:"STRING"},hashContexts:{selectedBinding:a,contentBinding:a,size:a},types:[],contexts:[],data:d}))),d.buffer.push("\n"),g},5:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression,g="";return d.buffer.push(" "),d.buffer.push(f((b["bs-btn-group"]||a&&a["bs-btn-group"]||e).call(a,{name:"bs-btn-group",hash:{selectedBinding:"selected",contentBinding:"options"},hashTypes:{selectedBinding:"STRING",contentBinding:"STRING"},hashContexts:{selectedBinding:a,contentBinding:a},types:[],contexts:[],data:d}))),d.buffer.push("\n"),g},7:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression,g="";return d.buffer.push(" "),d.buffer.push(f((b["bs-btn-group"]||a&&a["bs-btn-group"]||e).call(a,{name:"bs-btn-group",hash:{selectedBinding:"selected",contentBinding:"options",small:!0},hashTypes:{selectedBinding:"STRING",contentBinding:"STRING",small:"BOOLEAN"},hashContexts:{selectedBinding:a,contentBinding:a,small:a},types:[],contexts:[],data:d}))),d.buffer.push("\n"),g},9:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression,g="";return d.buffer.push(" "),d.buffer.push(f((b["bs-btn-group"]||a&&a["bs-btn-group"]||e).call(a,{name:"bs-btn-group",hash:{selectedBinding:"selected",contentBinding:"options",size:"xs"},hashTypes:{selectedBinding:"STRING",contentBinding:"STRING",size:"STRING"},hashContexts:{selectedBinding:a,contentBinding:a,size:a},types:[],contexts:[],data:d}))),d.buffer.push("\n"),g},11:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression,g="";return d.buffer.push(" "),d.buffer.push(f((b["bs-btn-group"]||a&&a["bs-btn-group"]||e).call(a,{name:"bs-btn-group",hash:{selectedBinding:"selected",contentBinding:"optionsWithMeta",size:"lg"},hashTypes:{selectedBinding:"STRING",contentBinding:"STRING",size:"STRING"},hashContexts:{selectedBinding:a,contentBinding:a,size:a},types:[],contexts:[],data:d}))),d.buffer.push("\n"),g},compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f,g,h=b.helperMissing,i=this.escapeExpression,j="function",k=b.blockHelperMissing,l="";return d.buffer.push('

    Button Group

    \n

    To wrap a series of buttons, use the bs-btn-group component.

    \n

    Standard

    \n
    \n '),d.buffer.push(i((b["bs-btn-group"]||a&&a["bs-btn-group"]||h).call(a,{name:"bs-btn-group",hash:{selectedBinding:"selected",contentBinding:"options"},hashTypes:{selectedBinding:"STRING",contentBinding:"STRING"},hashContexts:{selectedBinding:a,contentBinding:a},types:[],contexts:[],data:d}))),d.buffer.push("\n
    \n Controller say selected item is: "),e=b._triageMustache.call(a,"selected",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push('\n
    \n\n

    content is an array of options, each option is rendered as a button tag.

    \n

    TODO: SHOW CODE

    \n

    Icons

    \n

    It is possible to set an icon for the selected button in a group or/and an icon for the in-active buttons by\nsetting the icon_active and/or icon_inactive properties to the icon class name.

    \n
    \n '),d.buffer.push(i((b["bs-btn-group"]||a&&a["bs-btn-group"]||h).call(a,{name:"bs-btn-group",hash:{selectedBinding:"selected",contentBinding:"options",icon_active:"fa fa-check-square-o",icon_inactive:"fa fa-square-o"},hashTypes:{selectedBinding:"STRING",contentBinding:"STRING",icon_active:"STRING",icon_inactive:"STRING"},hashContexts:{selectedBinding:a,contentBinding:a,icon_active:a,icon_inactive:a},types:[],contexts:[],data:d}))),d.buffer.push("\n
    \n Controller say selected item is: "),e=b._triageMustache.call(a,"selected",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push('\n
    \n\n
    <div class="bs-example">\n    {{bs-btn-group icon_inactive="fa fa-square-o" icon_active="fa fa-check-square-o" contentBinding="options" selectedBinding="selected"}}\n    <br/>\n    Controller say selected item is: {{selected}}\n</div>
    \n

    Button Toolbar

    \n

    Combine sets of bs-btn-groups into a bs-btn-toolbar for more complex components.

    \n
    \n'),f=null!=(f=b["bs-btn-toolbar"]||(null!=a?a["bs-btn-toolbar"]:a))?f:h,g={name:"bs-btn-toolbar",hash:{},hashTypes:{},hashContexts:{},fn:this.program(1,d),inverse:this.noop,types:[],contexts:[],data:d},e=typeof f===j?f.call(a,g):f,b["bs-btn-toolbar"]||(e=k.call(a,e,g)),null!=e&&d.buffer.push(e),d.buffer.push('
    \n\n

    Sizing

    \n

    You can set size in the group level instead of setting size per button.

    \n
    \n'),f=null!=(f=b["bs-btn-toolbar"]||(null!=a?a["bs-btn-toolbar"]:a))?f:h,g={name:"bs-btn-toolbar",hash:{},hashTypes:{},hashContexts:{},fn:this.program(3,d),inverse:this.noop,types:[],contexts:[],data:d},e=typeof f===j?f.call(a,g):f,b["bs-btn-toolbar"]||(e=k.call(a,e,g)),null!=e&&d.buffer.push(e),f=null!=(f=b["bs-btn-toolbar"]||(null!=a?a["bs-btn-toolbar"]:a))?f:h,g={name:"bs-btn-toolbar",hash:{},hashTypes:{},hashContexts:{},fn:this.program(5,d),inverse:this.noop,types:[],contexts:[],data:d},e=typeof f===j?f.call(a,g):f,b["bs-btn-toolbar"]||(e=k.call(a,e,g)),null!=e&&d.buffer.push(e),f=null!=(f=b["bs-btn-toolbar"]||(null!=a?a["bs-btn-toolbar"]:a))?f:h,g={name:"bs-btn-toolbar",hash:{},hashTypes:{},hashContexts:{},fn:this.program(7,d),inverse:this.noop,types:[],contexts:[],data:d},e=typeof f===j?f.call(a,g):f,b["bs-btn-toolbar"]||(e=k.call(a,e,g)),null!=e&&d.buffer.push(e),f=null!=(f=b["bs-btn-toolbar"]||(null!=a?a["bs-btn-toolbar"]:a))?f:h,g={name:"bs-btn-toolbar",hash:{},hashTypes:{},hashContexts:{},fn:this.program(9,d),inverse:this.noop,types:[],contexts:[],data:d},e=typeof f===j?f.call(a,g):f,b["bs-btn-toolbar"]||(e=k.call(a,e,g)),null!=e&&d.buffer.push(e),d.buffer.push('
    \n\n\n

    Vertical variation

    \n

    Make a set of buttons appear vertically stacked rather than horizontally by adding vertical=true.

    \n
    \n '),d.buffer.push(i((b["bs-btn-group"]||a&&a["bs-btn-group"]||h).call(a,{name:"bs-btn-group",hash:{vertical:!0,selectedBinding:"selected",contentBinding:"options"},hashTypes:{vertical:"BOOLEAN",selectedBinding:"STRING",contentBinding:"STRING"},hashContexts:{vertical:a,selectedBinding:a,contentBinding:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n

    Buttons with Metadata

    \n

    It is possible to provide extra metadata per button in the group.

    \n
    \n'),f=null!=(f=b["bs-btn-toolbar"]||(null!=a?a["bs-btn-toolbar"]:a))?f:h,g={name:"bs-btn-toolbar",hash:{},hashTypes:{},hashContexts:{},fn:this.program(11,d),inverse:this.noop,types:[],contexts:[],data:d},e=typeof f===j?f.call(a,g):f,b["bs-btn-toolbar"]||(e=k.call(a,e,g)),null!=e&&d.buffer.push(e),d.buffer.push('
    \n\n
    {{bs-btn-group size="lg" contentBinding="optionsWithMeta" selectedBinding="selected"}}
    \n

    Controller's code:

    \n
    \nShowcase.ShowComponentsButtonGroupController = Ember.Controller.extend({\n  optionsWithMeta: [\n    Ember.Object.create({title: 'Create', type: 'primary'}),\n    Ember.Object.create(({title: 'Destroy', type: 'danger'})\n  ]\n});
    \n'),l},useData:!0}),Ember.TEMPLATES["show_components/growl-notif"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression,g="";return d.buffer.push('

    Growl like Notifications

    \n

    Growl Notifications is not a Bootstrap component but is mandatory for almost every web application.

    \n

    Growl Notifications are just like the Notification component but messages that are rendered as small boxes on the right top of the screen, they fade in for a short period of time with a title, sub text and icon and then fade out.

    \n

    To use growl notifications, put somewhere in your application template the bs-growl-notifications component.

    \n
    {{bs-growl-notifications}}
    \n

    Then use the GrowlNotificationManager / GNM to push new notifications with a message and type.

    \n
    \n '),d.buffer.push(f((b["bs-button"]||a&&a["bs-button"]||e).call(a,{name:"bs-button",hash:{title:"Push Info",clicked:"pushInfo"},hashTypes:{title:"STRING",clicked:"STRING"},hashContexts:{title:a,clicked:a},types:[],contexts:[],data:d}))),d.buffer.push("\n "),d.buffer.push(f((b["bs-button"]||a&&a["bs-button"]||e).call(a,{name:"bs-button",hash:{title:"Push Warning",clicked:"pushWarn"},hashTypes:{title:"STRING",clicked:"STRING"},hashContexts:{title:a,clicked:a},types:[],contexts:[],data:d}))),d.buffer.push("\n "),d.buffer.push(f((b["bs-button"]||a&&a["bs-button"]||e).call(a,{name:"bs-button",hash:{title:"Push Success",clicked:"pushSuccess"},hashTypes:{title:"STRING",clicked:"STRING"},hashContexts:{title:a,clicked:a},types:[],contexts:[],data:d}))),d.buffer.push("\n "),d.buffer.push(f((b["bs-button"]||a&&a["bs-button"]||e).call(a,{name:"bs-button",hash:{title:"Push Danger",clicked:"pushDanger"},hashTypes:{title:"STRING",clicked:"STRING"},hashContexts:{title:a,clicked:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n

    Controller code:

    \n
    Showcase.ShowComponentsGrowlNotifController = Ember.Controller.extend({\n  pushInfo: function() {\n    Bootstrap.GNM.push('INFO!', 'Hello, this is just an info message.', 'info');\n  },\n  pushSuccess: function() {\n    Bootstrap.GNM.push('SUCCESS!', 'Successfully performed operation!', 'success');\n  },\n  pushWarn: function() {\n    Bootstrap.GNM.push('WARN!', 'Could not perform operation!', 'warning');\n  },\n  pushDanger: function() {\n    Bootstrap.GNM.push('Danger!', 'System is halting!', 'danger');\n  }\n});
    \n

    You can control the visibility duration of each message by specifying the showTime property.

    \n

    Component Files

    \n
      \n
    • css/bs-growl-notifications.min.css
    • \n
    • js/bs-growl-notifications.min.js
    • \n
    \n

    Component Properties

    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    PropertyDescriptionDefault
    showTimeA number in ms that defines how long the notification is displayed before it starts to fade out.10 seconds
    \n
    \n'),g},useData:!0}),Ember.TEMPLATES["show_components/items_action_bar"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression,g="";return d.buffer.push('

    Item action bar

    \n

    When listing items that support selection, it usually make sense to perform some actions on the selected item(s).

    \n

    The Items action bar component make it possible to build an bar of buttons where each button visibility may behave differently according to the selection,

    \n

    For example an 'Edit' button may be disabled unless 1 item is selected, or a 'Delete' button may be enabled only\nwhen there is 1 or more items selected.

    \n

    In the template, only 1 expression is needed, the content property is expected to be an array of array, where each array represents a section in the action bar and contains objects that represent a button defintion in the bar, the selectedItems property is expected to be an array of the currently selected items on a list.

    \n
    \n '),d.buffer.push(f((b["bs-items-action-bar"]||a&&a["bs-items-action-bar"]||e).call(a,{name:"bs-items-action-bar",hash:{selectedItemsBinding:"selection",contentBinding:"actionsInBar"},hashTypes:{selectedItemsBinding:"STRING",contentBinding:"STRING"},hashContexts:{selectedItemsBinding:a,contentBinding:a},types:[],contexts:[],data:d}))),d.buffer.push("\n
    \n "),d.buffer.push(f((b["bs-pills"]||a&&a["bs-pills"]||e).call(a,{name:"bs-pills",hash:{selectedBinding:"selection",contentBinding:"items"},hashTypes:{selectedBinding:"STRING",contentBinding:"STRING"},hashContexts:{selectedBinding:a,contentBinding:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n

    For the sake of simplicity in this example we use the bs-pills component to list items with signle itemselection support,\nbut this can be replaced with a table or any other visual form that supports selection.

    \n
    {{bs-items-action-bar contentBinding="actionsInBar" selectedItemsBinding="selection"}}\n{{bs-pills contentBinding="items" selectedBinding="selection"}}
    \n

    Per action defined in the controller (see below), it is possible to define whether the action should be disabled or not\nand what should happen when an enabled action is clicked,

    \n
      \n
    • Implement the disabled function per action and return true if the action should be disabled, the method recieve the current selection so logic may take the selection into consideration whether the action should be disabled or not.
    • \n
    • Define transitionTo property with a route name if you want the action to transition to another route when pressed.
    • \n
    • Define the clickActionName property with an action name to be invoked on the controller when action is clicked.
    • \n
    \n

    Controller's code:

    \n
    Showcase.ShowComponentsItemsActionBarController = Ember.Controller.extend({\n  actionsInBar: [\n    [\n      {\n        title: 'To Alerts',\n        disabled: function(selection) {\n          var _ref;\n          if (selection.size < 1 || (selection != null ? (_ref = selection[0]) != null ? _ref.title : void 0 : void 0) !== 'Alerts') {\n            return true;\n          }\n        },\n        transitionTo: 'show_components.alert'\n      }, {\n        title: 'To Panels',\n        transitionTo: 'show_components.panel',\n        disabled: function(selection) {\n          var _ref;\n          if (selection.size < 1 || (selection != null ? (_ref = selection[0]) != null ? _ref.title : void 0 : void 0) !== 'Panels') {\n            return true;\n          }\n        }\n      }\n    ], [\n      {\n        title: 'To Wizard',\n        disabled: function(selection) {\n          var _ref;\n          if (selection.size < 1 || (selection != null ? (_ref = selection[0]) != null ? _ref.title : void 0 : void 0) !== 'Wizards') {\n            return true;\n          }\n        },\n        clickActionName: 'wizard'\n      }\n    ]\n  ],\n  actions: {\n    wizard: function(selection) {\n      return alert("Wizard pressed!");\n    }\n  },\n  items: [\n    Ember.Object.create({\n      title: 'Alerts'\n    }), Ember.Object.create({\n      title: 'Panels'\n    }), Ember.Object.create({\n      title: 'Wizards'\n    })\n  ]\n});
    \n'),g},useData:!0}),Ember.TEMPLATES["show_components/label"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression,g="";return d.buffer.push('

    Label

    \n

    Basic

    \n
    \n

    Heading with label '),d.buffer.push(f((b["bs-label"]||a&&a["bs-label"]||e).call(a,{name:"bs-label",hash:{content:"Label"},hashTypes:{content:"STRING"},hashContexts:{content:a},types:[],contexts:[],data:d}))),d.buffer.push('

    \n
    \n\n
        <h3>Heading with label {{bs-label content="Label"}}</h3>
    \n

    With Type

    \n
    \n

    Heading with danger '),d.buffer.push(f((b["bs-label"]||a&&a["bs-label"]||e).call(a,{name:"bs-label",hash:{type:"danger",content:"Careful!"},hashTypes:{type:"STRING",content:"STRING"},hashContexts:{type:a,content:a},types:[],contexts:[],data:d}))),d.buffer.push('

    \n
    \n\n
        <h3>Heading with <strong>danger</strong> {{bs-label content="Careful!" type="danger"}}</h3>
    \n

    Component Properties

    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    PropertyDescription
    contentstring: the label content.
    typeLabel types: success | info | warning | danger
    \n
    \n'),g},useData:!0}),Ember.TEMPLATES["show_components/list-group"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f=b.helperMissing,g=this.escapeExpression,h="";return d.buffer.push('

    List Group

    \n
    \n

    List groups are a flexible and powerful component for displaying not only simple lists of elements, but complex ones with custom content.\nBy Bootstrap

    \n
    \n

    All list items are linkable and selection can easily be observed

    \n

    Simple

    \n

    The most basic list group is simply an unordered list with list items.

    \n
    \n'),d.buffer.push(g((b["bs-list-group"]||a&&a["bs-list-group"]||f).call(a,{name:"bs-list-group",hash:{selectedBinding:"selected",contentBinding:"listSimple"},hashTypes:{selectedBinding:"STRING",contentBinding:"STRING"},hashContexts:{selectedBinding:a,contentBinding:a},types:[],contexts:[],data:d}))),d.buffer.push("\n\nSelected: "),e=b._triageMustache.call(a,"selected",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push('\n
    \n\n
    {{bs-list-group contentBinding="listSimple"}}
    \n

    Controller's code:

    \n
    Showcase.ShowComponentsListGroupController = Ember.Controller.extend({\n    listSimple: Ember.A(['Cras justo odio', 'Dapibus ac facilisis in', 'Morbi leo risus'])\n})
    \n

    Badges

    \n

    Each item in the list can have badge component that will automatically be positioned on the right.

    \n
    \n '),d.buffer.push(g((b["bs-list-group"]||a&&a["bs-list-group"]||f).call(a,{name:"bs-list-group",hash:{contentBinding:"listWithBadges"},hashTypes:{contentBinding:"STRING"},hashContexts:{contentBinding:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n
    {{bs-list-group contentBinding="listWithBadges"}}
    \n

    Controller's code:

    \n
    Showcase.ShowComponentsListGroupController = Ember.Controller.extend({\n  listWithBadges: Ember.A([\n    Ember.Object.create({title: 'Inbox', badge: '45'}),\n    Ember.Object.create({ title: 'Sent', badge: '33'})\n  ])\n});
    \n

    List with Sub Text

    \n

    Items can have a sub text enabled if an item metadata has the 'sub' property.

    \n
    \n '),d.buffer.push(g((b["bs-list-group"]||a&&a["bs-list-group"]||f).call(a,{name:"bs-list-group",hash:{contentBinding:"listWithSub"},hashTypes:{contentBinding:"STRING"},hashContexts:{contentBinding:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n
    {{bs-list-group contentBinding="listWithSub"}}
    \n

    Controller's code:

    \n
    Showcase.ShowComponentsListGroupController = Ember.Controller.extend({\n  listWithSub: Ember.A([\n    Ember.Object.create({title: 'Inbox', badge: '45'}),\n    Ember.Object.create({ title: 'Sent', badge: '33'})\n  ])\n});
    \n'),h},useData:!0}),Ember.TEMPLATES["show_components/modal"]=Ember.HTMLBars.template({1:function(a,b,c,d){d.buffer.push("

    Modal content!

    \n")},compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f=b.helperMissing,g=this.escapeExpression,h="";return d.buffer.push('

    Modal

    \n
    \n

    Modals are streamlined, but flexible, dialog prompts with the minimum required functionality and smart defaults.\nby Bootstrap

    \n
    \n

    Blocked Modal

    \n

    A rendered modal with header, body, and set of actions in the footer.

    \n
    \n '),d.buffer.push(g((b["bs-button"]||a&&a["bs-button"]||f).call(a,{name:"bs-button",hash:{clicked:"show",title:"Show Modal"},hashTypes:{clicked:"STRING",title:"STRING"},hashContexts:{clicked:a,title:a},types:[],contexts:[],data:d}))),d.buffer.push("\n"),e=(b["bs-modal"]||a&&a["bs-modal"]||f).call(a,{name:"bs-modal",hash:{title:"My Modal",footerButtonsBinding:"myModalButtons",fade:!0,name:"myModal"},hashTypes:{title:"STRING",footerButtonsBinding:"STRING",fade:"BOOLEAN",name:"STRING"},hashContexts:{title:a,footerButtonsBinding:a,fade:a,name:a},fn:this.program(1,d),inverse:this.noop,types:[],contexts:[],data:d}),null!=e&&d.buffer.push(e),d.buffer.push('
    \n\n
        {{bs-button title="Show Modal" clicked="show"}}\n    {{#bs-modal name="myModal" fade=true footerButtonsBinding="myModalButtons" title="My Modal"}}\n        <p>Modal content!</p>\n    {{/bs-modal}}
    \n

    Controller's code:

    \n
    Showcase.ShowComponentsModalController = Ember.Controller.extend({\n  myModalButtons: [\n      Ember.Object.create({title: 'Submit', clicked:"submit"})\n      Ember.Object.create({title: 'Cancel', clicked:"cancel", dismiss: 'modal'})\n  ],\n\n  actions: {\n    //Submit the modal\n    submit: function() {\n      Bootstrap.NM.push('Successfully submitted modal', 'success');\n      return Bootstrap.ModalManager.hide('myModal');\n    },\n\n    //Cancel the modal, we don't need to hide the model manually because we set {..., dismiss: 'modal'} on the button meta data\n    cancel: function() {\n      return Bootstrap.NM.push('Modal was cancelled', 'info');\n    },\n\n    //Show the modal\n    show: function() {\n      return Bootstrap.ModalManager.show('myModal');\n    }\n  }\n});
    \n

    NOTE: The buttons defined in the array object can contain the same attributes as the button component. For example: for a 'danger' button, add "type='danger'" to the object defining the button.

    \n

    Confirmation Modal

    \n

    For a simple confirmation modal, you can simply invoke Bootstrap.ModalManager.confirm(this);

    \n
    \n '),d.buffer.push(g((b["bs-button"]||a&&a["bs-button"]||f).call(a,{name:"bs-button",hash:{clicked:"confirm",title:"Delete"},hashTypes:{clicked:"STRING",title:"STRING"},hashContexts:{clicked:a,title:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n
    {{bs-button title="Delete" clicked="confirm"}}
    \n

    Controller's code:

    \n
    Showcase.ShowComponentsModalController = Ember.Controller.extend({\n    confirm: {\n        confirm: {\n            Bootstrap.ModalManager.confirm(@);\n        },\n        //invoked when user press "confirm"\n        modalConfirmed: {\n            Bootstrap.NM.push('Confirmed!', 'success')\n        },\n        //invoked when user press "cancel"\n        modalCanceled: {\n            Bootstrap.NM.push('Cancelled!', 'info')\n        }\n    }\n})
    \n

    The Bootstrap.ModalManager.confirm method accept the following parameters:

    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    PropertyDescriptionOptional?
    controllerA reference to the controller that the confirm/cancel actions will be triggered onno
    titleThe title of the modal that.yes
    messageThe body text of the modal.yes
    confirmButtonTitleThe title of the confirm buttonyes
    cancelButtonTitleThe title of the cancel buttonyes
    \n
    \n\n\n

    Programatically Modal Creation

    \n

    It is also possible to programatically create a modal, this approach is useful if the modal contains a lot of elements and it makes sense to push the modal elements into the DOM programatically and totally destroy the modal when it is closed.

    \n
    \n '),d.buffer.push(g((b["bs-button"]||a&&a["bs-button"]||f).call(a,{name:"bs-button",hash:{clicked:"createModalProgramatically",title:"Create Modal"},hashTypes:{clicked:"STRING",title:"STRING"},hashContexts:{clicked:a,title:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n
    //we only render a button which will programatically create the modal\n{{bs-button title="Create Modal" clicked="createModalProgramatically"}}
    \n

    Controller's code:

    \n
    Showcase.ShowComponentsModalController = Ember.Controller.extend({\n  manualButtons: [\n      Ember.Object.create({title: 'Submit', clicked:"submitManual"})\n      Ember.Object.create({title: 'Cancel', dismiss: 'modal'})\n  ],\n\n  actions: {\n    submitManual: function() {\n      Bootstrap.NM.push('Modal destroyed!', 'success');\n      return Bootstrap.ModalManager.close('manualModal');\n    },\n    createModalProgramatically: function() {\n      //@property {string} The name of the modal, required later to close the modal (see submitManual function above)\n      //@property {string} The title of the modal.\n      //@property {string} The template name to render within the modal body, a View class may also be specified.\n      //@property {array} Array of Button meta data\n      //@property {object} The controller instance that instantiate the modal.\n      Bootstrap.ModalManager.open('manualModal', 'Hello', 'demo-template', this.manualButtons, this);\n    }\n  }\n});
    \n'),h},useData:!0}),Ember.TEMPLATES["show_components/notifications"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression,g="";return d.buffer.push('

    Notifications

    \n

    Notifications is not a Bootstrap component but is mandatory for almost every web application.

    \n

    Notifications are messages that are rendered as Alerts, they fade in for a short period of time with some message and type and then they fade out.

    \n

    Notifications are pushed into an array, so different parts of the application may push notifications to the user\nand each will be displayed one after another.

    \n

    To use notifications, put somewhere in your application template the bs-notifications component.

    \n
    {{bs-notifications style="z-index: 1000; position: fixed; width: 50%; left: 0; right: 0; margin-left: auto; margin-right: auto; margin-top: 50px;"}}
    \n

    How you style the component is up to you, this is just an example for centralizing the notifications on the screen.

    \n

    Then use the NotificationManager / NM to push new notifications with a message and type.

    \n
    \n '),d.buffer.push(f((b["bs-button"]||a&&a["bs-button"]||e).call(a,{name:"bs-button",hash:{title:"Push Info",clicked:"pushInfo",type:"info"},hashTypes:{title:"STRING",clicked:"STRING",type:"STRING"},hashContexts:{title:a,clicked:a,type:a},types:[],contexts:[],data:d}))),d.buffer.push("\n "),d.buffer.push(f((b["bs-button"]||a&&a["bs-button"]||e).call(a,{name:"bs-button",hash:{title:"Push Warning",clicked:"pushWarn",type:"warning"},hashTypes:{title:"STRING",clicked:"STRING",type:"STRING"},hashContexts:{title:a,clicked:a,type:a},types:[],contexts:[],data:d}))),d.buffer.push("\n "),d.buffer.push(f((b["bs-button"]||a&&a["bs-button"]||e).call(a,{name:"bs-button",hash:{title:"Push Success",clicked:"pushSuccess",type:"success"},hashTypes:{title:"STRING",clicked:"STRING",type:"STRING"},hashContexts:{title:a,clicked:a,type:a},types:[],contexts:[],data:d}))),d.buffer.push("\n "),d.buffer.push(f((b["bs-button"]||a&&a["bs-button"]||e).call(a,{name:"bs-button",hash:{title:"Push Danger",clicked:"pushDanger",type:"danger"},hashTypes:{title:"STRING",clicked:"STRING",type:"STRING"},hashContexts:{title:a,clicked:a,type:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n

    Controller code:

    \n
    Showcase.ShowComponentsNotificationsController = Ember.Controller.extend({\n  pushInfo: function() {\n    return Bootstrap.NM.push('Hello, this is just an info message.', 'info');\n  },\n  pushWarn: function() {\n    return Bootstrap.NM.push('Could not perform operation!', 'warning');\n  },\n  pushSuccess: function() {\n    return Bootstrap.NM.push('Successfully performed operation!', 'success');\n  },\n  pushDanger: function() {\n    return Bootstrap.NM.push('Danger! system is halting!', 'danger');\n  }\n});
    \n

    During fade out, If user hover with the mouse in the notification area, it will cancel the fade in animation so the user can have more time to read the message, moving the mouse out will retrigger the fade out.

    \n

    You can control the duration messages are displayed, the fade out and fade in time by providing properties for each, for more info see the properties options below.

    \n

    Component Properties

    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    PropertyDescription
    showTimeA number in ms that defines how long the notification is displayed before it starts to fade out.
    fadeInTimeA number in ms that defines how long it takes a notification to fades in.
    fadeOutTimeA number in ms that defines how long it takes a notification to fade out.
    \n
    \n'), +g},useData:!0}),Ember.TEMPLATES["show_components/page-header"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression,g="";return d.buffer.push('

    Page Header

    \n


    \n
    \n

    A simple shell for an h1 to appropriately space out and segment sections of content on a page. It can utilize the h1's default small element, as well as most other components (with additional styles).\nBy Bootstrap

    \n
    \n
    \n '),d.buffer.push(f((b["bs-page-header"]||a&&a["bs-page-header"]||e).call(a,{name:"bs-page-header",hash:{sub:"Subtext for header",title:"Example page header"},hashTypes:{sub:"STRING",title:"STRING"},hashContexts:{sub:a,title:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n
        {{bs-page-header title="Example page header" sub="Subtext for header"}}
    \n'),g},useData:!0}),Ember.TEMPLATES["show_components/panel"]=Ember.HTMLBars.template({1:function(a,b,c,d){d.buffer.push("

    Panel content goes here...!

    \n")},3:function(a,b,c,d){d.buffer.push("

    Panel content.

    \n")},5:function(a,b,c,d){d.buffer.push("

    Panel content goes here...!

    \n")},7:function(a,b,c,d){d.buffer.push("

    IM OPEN NOW!

    \n")},compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f=b.helperMissing,g="";return d.buffer.push('

    Panel

    \n
    \n

    While not always necessary, sometimes you need to put your DOM in a box. For those situations, try the panel component.\nBy Bootstrap

    \n
    \n

    Basic

    \n
    \n'),e=(b["bs-panel"]||a&&a["bs-panel"]||f).call(a,{name:"bs-panel",hash:{footer:"Panel Footer",heading:"Simple Panel"},hashTypes:{footer:"STRING",heading:"STRING"},hashContexts:{footer:a,heading:a},fn:this.program(1,d),inverse:this.noop,types:[],contexts:[],data:d}),null!=e&&d.buffer.push(e),d.buffer.push('
    \n\n
    {{#bs-panel heading="Simple Panel" footer="Panel Footer"}}\n    <p>Panel content goes here...!</p>\n{{/bs-panel}}
    \n

    Contextual alternatives

    \n
    \n

    Like other components, easily make a panel more meaningful to a particular context by adding any of the contextual state classes.\nBy Bootstrap

    \n
    \n
    \n'),e=(b["bs-panel"]||a&&a["bs-panel"]||f).call(a,{name:"bs-panel",hash:{type:"primary",heading:"Primary Panel"},hashTypes:{type:"STRING",heading:"STRING"},hashContexts:{type:a,heading:a},fn:this.program(3,d),inverse:this.noop,types:[],contexts:[],data:d}),null!=e&&d.buffer.push(e),e=(b["bs-panel"]||a&&a["bs-panel"]||f).call(a,{name:"bs-panel",hash:{type:"success",heading:"Success Panel"},hashTypes:{type:"STRING",heading:"STRING"},hashContexts:{type:a,heading:a},fn:this.program(3,d),inverse:this.noop,types:[],contexts:[],data:d}),null!=e&&d.buffer.push(e),e=(b["bs-panel"]||a&&a["bs-panel"]||f).call(a,{name:"bs-panel",hash:{type:"info",heading:"Info Panel"},hashTypes:{type:"STRING",heading:"STRING"},hashContexts:{type:a,heading:a},fn:this.program(3,d),inverse:this.noop,types:[],contexts:[],data:d}),null!=e&&d.buffer.push(e),e=(b["bs-panel"]||a&&a["bs-panel"]||f).call(a,{name:"bs-panel",hash:{type:"warning",heading:"Warning Panel"},hashTypes:{type:"STRING",heading:"STRING"},hashContexts:{type:a,heading:a},fn:this.program(3,d),inverse:this.noop,types:[],contexts:[],data:d}),null!=e&&d.buffer.push(e),e=(b["bs-panel"]||a&&a["bs-panel"]||f).call(a,{name:"bs-panel",hash:{type:"danger",heading:"Danger Panel"},hashTypes:{type:"STRING",heading:"STRING"},hashContexts:{type:a,heading:a},fn:this.program(3,d),inverse:this.noop,types:[],contexts:[],data:d}),null!=e&&d.buffer.push(e),d.buffer.push('
    \n\n
        {{#bs-panel heading="Primary Panel" type="primary"}}\n        <p>Panel content.</p>\n    {{/bs-panel}}\n    {{#bs-panel heading="Success Panel" type="success"}}\n        <p>Panel content.</p>\n    {{/bs-panel}}\n    {{#bs-panel heading="Info Panel" type="info"}}\n        <p>Panel content.</p>\n    {{/bs-panel}}\n    {{#bs-panel heading="Warning Panel" type="warning"}}\n        <p>Panel content.</p>\n    {{/bs-panel}}\n    {{#bs-panel heading="Danger Panel" type="danger"}}\n        <p>Panel content.</p>\n    {{/bs-panel}}
    \n

    Dismissable Panels

    \n

    This goes beyond what Bootstrap offers and let you create a closable panels by adding the dismiss=true property

    \n
    \n'),e=(b["bs-panel"]||a&&a["bs-panel"]||f).call(a,{name:"bs-panel",hash:{onClose:"panelClosed",dismiss:!0,type:"primary",heading:"Primary Panel"},hashTypes:{onClose:"STRING",dismiss:"BOOLEAN",type:"STRING",heading:"STRING"},hashContexts:{onClose:a,dismiss:a,type:a,heading:a},fn:this.program(3,d),inverse:this.noop,types:[],contexts:[],data:d}),null!=e&&d.buffer.push(e),d.buffer.push('
    \n\n\n
    {{#bs-panel heading="Primary Panel" type="primary" dismiss=true onClose="panelClosed"}}\n    <p>Panel content.</p>\n{{/bs-panel}}
    \n

    Clickable Panels

    \n

    Panels can also be clickable, the click is propagated to the current controller via the clicked property

    \n
    \n'),e=(b["bs-panel"]||a&&a["bs-panel"]||f).call(a,{name:"bs-panel",hash:{clicked:"panelClicked",type:"primary",heading:"Primary Panel"},hashTypes:{clicked:"STRING",type:"STRING",heading:"STRING"},hashContexts:{clicked:a,type:a,heading:a},fn:this.program(3,d),inverse:this.noop,types:[],contexts:[],data:d}),null!=e&&d.buffer.push(e),d.buffer.push('
    \n\n
    {{#bs-panel heading="Primary Panel" type="primary" clicked="panelClicked"}}\n    <p>Panel content.</p>\n{{/bs-panel}}
    \n

    Collapsible Panels

    \n

    Panels can be collapsible, to enable collapsible support set collapsible=true on the component tag:

    \n
    \n'),e=(b["bs-panel"]||a&&a["bs-panel"]||f).call(a,{name:"bs-panel",hash:{footer:"Panel Footer",dismiss:!0,collapsible:!0,heading:"Simple Panel"},hashTypes:{footer:"STRING",dismiss:"BOOLEAN",collapsible:"BOOLEAN",heading:"STRING"},hashContexts:{footer:a,dismiss:a,collapsible:a,heading:a},fn:this.program(5,d),inverse:this.noop,types:[],contexts:[],data:d}),null!=e&&d.buffer.push(e),d.buffer.push('
    \n\n
    {{#bs-panel heading="Simple Panel" collapsible=true dismiss=true footer="Panel Footer"}}\n    <p>Panel content goes here...!</p>\n{{/bs-panel}}
    \n

    Collapsible panels can also be closed by default by setting open=false.

    \n
    \n'),e=(b["bs-panel"]||a&&a["bs-panel"]||f).call(a,{name:"bs-panel",hash:{open:!1,dismiss:!0,collapsible:!0,heading:"Open me!"},hashTypes:{open:"BOOLEAN",dismiss:"BOOLEAN",collapsible:"BOOLEAN",heading:"STRING"},hashContexts:{open:a,dismiss:a,collapsible:a,heading:a},fn:this.program(7,d),inverse:this.noop,types:[],contexts:[],data:d}),null!=e&&d.buffer.push(e),d.buffer.push('
    \n\n
    {{#bs-panel heading="Simple Panel" collapsible=true dismiss=true footer="Panel Footer"}}\n    <p>Panel content goes here...!</p>\n{{/bs-panel}}
    \n'),g},useData:!0}),Ember.TEMPLATES["show_components/pills"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f=b.helperMissing,g=this.escapeExpression,h="";return d.buffer.push('

    Pills

    \n

    Pills are a button-like navigation style,

    \n

    Bootstrap doesn't dictate nor assist with how you respond when an item is selected in the Pills navigation,\nBut using bs-pills helps by making the navigation more interactive by providing selection bindings and styling the\nactive element, see examples below.

    \n
    \n '),d.buffer.push(g((b["bs-pills"]||a&&a["bs-pills"]||f).call(a,{name:"bs-pills",hash:{selectedBinding:"selected",contentBinding:"content"},hashTypes:{selectedBinding:"STRING",contentBinding:"STRING"},hashContexts:{selectedBinding:a,contentBinding:a},types:[],contexts:[],data:d}))),d.buffer.push("\n Selected: "),e=b._triageMustache.call(a,"selected",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push('\n
    \n\n
    \n{{bs-pills contentBinding="content" selectedBinding="selected"}}\n\nSelected: {{selected}}
    \n

    content and selected are properties in the current controller

    \n
      \n
    • The content controller property is an array of strings where each string is rendered as a possible item selection.
    • \n
    • When an item selection is changed, the selected property in the current controller will be set with the value of the selected item.
    • \n
    \n

    Here's the controller sample code:

    \n
    Showcase.ShowComponentsPillsController = Ember.Controller.extend({\n  content: ['Home', 'Profile', 'Messages'],\n  contentChanged: (function() {\n    return console.log("Selection has changed to: " + (this.get('selected')));\n  }).observes('selected')\n});
    \n

    Stacked

    \n
    \n

    Pills are also vertically stackable. Just add `stacked=true``

    \n
    \n
    \n '),d.buffer.push(g((b["bs-pills"]||a&&a["bs-pills"]||f).call(a,{name:"bs-pills",hash:{style:"max-width: 300px;",stacked:!0,selectedBinding:"selected",contentBinding:"content"},hashTypes:{style:"STRING",stacked:"BOOLEAN",selectedBinding:"STRING",contentBinding:"STRING"},hashContexts:{style:a,stacked:a,selectedBinding:a,contentBinding:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n
        {{bs-pills contentBinding="content" selectedBinding="selected" stacked=true style="max-width: 300px;"}}
    \n

    Justified

    \n
    \n

    Easily make tabs or pills equal widths of their parent with setting justified=true

    \n
    \n
    \n '),d.buffer.push(g((b["bs-pills"]||a&&a["bs-pills"]||f).call(a,{name:"bs-pills",hash:{justified:!0,selectedBinding:"selected",contentBinding:"content"},hashTypes:{justified:"BOOLEAN",selectedBinding:"STRING",contentBinding:"STRING"},hashContexts:{justified:a,selectedBinding:a,contentBinding:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n
        {{bs-pills contentBinding="content" selectedBinding="selected" justified=true}}
    \n

    Disabled links

    \n

    Bootstrap doesn't stop the propagation of the redirection of disabled links for you:

    \n
    \n

    This class will only change the anchor's appearance, not its functionality. Use custom JavaScript to disable links here.\nBy Bootstrap

    \n
    \n

    But using bs-pills ease your pain by giving you the opportunity to bind the disable state of each item by providing extra metadata per item, clicking a disabled item disables the links too.

    \n

    To define links (items) as disabed, you need to provide extra metadata per defined item in the contentBinding property.

    \n
    \n '),d.buffer.push(g((b["bs-pills"]||a&&a["bs-pills"]||f).call(a,{name:"bs-pills",hash:{selectedBinding:"selected1",contentBinding:"content1"},hashTypes:{selectedBinding:"STRING",contentBinding:"STRING"},hashContexts:{selectedBinding:a,contentBinding:a},types:[],contexts:[],data:d}))),d.buffer.push("\n "),d.buffer.push(g((b["bs-button"]||a&&a["bs-button"]||f).call(a,{name:"bs-button",hash:{title:"Disable Home",clicked:"disableHome"},hashTypes:{title:"STRING",clicked:"STRING"},hashContexts:{title:a,clicked:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n
    {{bs-pills contentBinding="content" selectedBinding="selected"}}\n{{bs-button clicked="disableHome" content="Disable Home"}}
    \n

    Controller sample code:

    \n
    \nShowcase.ShowComponentsPillsController = Ember.Controller.extend({\n  init: function() {\n    this._super();\n    this.set('content', Ember.A([\n      Ember.Object.create({title: 'Home',disabled: false}),\n      Ember.Object.create({title: 'Admin',disabled: true})\n    ]));\n    this.set('selected', this.get('content').objectAt(0));\n  },\n\n  disableHome: function() {\n    this.get('content').objectAt(0).set('disabled', true);\n  }\n});
    \n'),h},useData:!0}),Ember.TEMPLATES["show_components/popover"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression,g="";return d.buffer.push('

    Popover & Tooltips

    \n

    Setup

    \n

    For Popover support, it is required to adapt the application route and add a named outlet to your main template and reference a controller that extends from Bootstrap.TooltipBoxController

    \n
    //Create some controller in your app that references _Bootstrap.TooltipBoxController_\nApp.TooltipBoxController = Bootstrap.TooltipBoxController\n\n//Application route\nApp.ApplicationRoute = Ember.Route.extend({\n    renderTemplate: function() {\n        // Render default outlet\n        this.render();\n        // render extra outlets\n        var controller = this.controllerFor('tooltip-box');\n        this.render("bs-tooltip-box", {\n            outlet: "bs-tooltip-box",\n            controller: controller,\n            into: "application" // important when using at root level\n        });\n    }\n});
    \n

    Tooltips

    \n

    Simple content

    \n
    \n

    Here is a very link with a tooltip,.\n You can mix as many tooltips as you wish.\n

    \n
    \n\n
    <p class="muted" style="margin-bottom: 0;">\n    Here is <a href="#" {{bs-bind-tooltip content="A tooltip!"}}>a very</a> link with a tooltip,.\n    You can mix as many <a href="#" {{bs-bind-tooltip title="Another tooltip!"}}>tooltips</a> as you wish.\n</p>
    \n

    Bindings & Sticky

    \n

    You can bind the value of the tooltip to an object and make the tooltip sticky by:

    \n\n\n

    In template:

    \n
    <a href="#" {{bs-bind-tooltip testObject.sticky}}>Hover me for a sticky tooltip!</a>
    \n

    In controller:

    \n
        stickyTooltip: Ember.Object.createWithMixins({\n        popover: (function() {\n          return Ember.Object.create({\n            user: this,\n            content: 'know this is a sticky tooltip! You can hover over it.',\n            trigger: 'hover',\n            sticky: true\n          });\n        }).property()\n      })
    \n

    Popovers

    \n

    Examples

    \n

    Here are some examples for popovers:

    \n
    \n
      \n
    • \n Hover for a sticky popup\n
    • \n
    • \n Click for a popup\n
    • \n
    • \n Click for a popup with template\n
    • \n
    \n
    \n\n

    In template:

    \n
    <ul class="list-group" style="width:250px">\n    <li class="list-group-item" {{bs-bind-popover hoverPop}}>\n             Hover for a sticky popup\n    </li>\n    <li class="list-group-item" {{bs-bind-popover clickPop}}>\n             Click for a popup\n    </li>\n    <li class="list-group-item" {{bs-bind-popover templPop}}>\n             Click for a popup with template\n    </li>\n</ul>
    \n

    In controller:

    \n
      hoverPop: Ember.Object.create({\n    title: "I'm a title!",\n    content: "And i'm a content!",\n    trigger: "hover",\n    placement: "right",\n    sticky: true\n  }),\n\n  clickPop: Ember.Object.create({\n    title: "Clickable!",\n    content: "This is a clickable popover",\n    placement: "left"\n  }),\n\n  templPop: Ember.Object.create({\n      firstName: 'numbers',\n      title: 'Popover with Template',\n      template: 'numbers:<ul>' +\n              '{{#each val in content.numbers}}' +\n              '   <li>{{val}}</li>' + '{{/each}}' +\n              '</ul>',\n      content: {\n        numbers: [1, 2, 3]\n      }\n  })
    \n

    Object Options

    \n

    Following are the options that back a tooltip/popover entry:

    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    Property NameTypeDefaultDescription
    htmlbooleanfalseInsert HTML into the popover.
    placementstring | function'right'how to position the popover - top | bottom | left | right | auto.
    When "auto" is specified, it will dynamically reorient the popover. For example, if placement is "auto left", the popover will display to the left when possible, otherwise it will display right.
    triggerstring'click' for popover| 'hover' for tooltiphow popover is triggered - click | hover | focus | manual
    stickybooleanfalseTo be used when trigger is 'hover'.\n When the tooltip appears you have 100ms to hover over it and only after you leave the popover/tooltip it will disappear
    showbooleanfalseTo be used when trigger is 'manual'.\n Will show the tip when true, hide when false.\n The property will be observed for changes with "addObserver"\n
    titlestring''
    contentstring | function''
    templatestringnullUse this template to display. The context will be the popover/tooltip. The data is available in content.*
    \n
    \n\n\n\n'),g},useData:!0}),Ember.TEMPLATES["show_components/progressbar"]=Ember.HTMLBars.template({1:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression,g="";return d.buffer.push(" "),d.buffer.push(f((b["bs-progressbar"]||a&&a["bs-progressbar"]||e).call(a,{name:"bs-progressbar",hash:{progress:"35",type:"success"},hashTypes:{progress:"STRING",type:"STRING"},hashContexts:{progress:a,type:a},types:[],contexts:[],data:d}))),d.buffer.push("\n "),d.buffer.push(f((b["bs-progressbar"]||a&&a["bs-progressbar"]||e).call(a,{name:"bs-progressbar",hash:{progress:"20",type:"warning"},hashTypes:{progress:"STRING",type:"STRING"},hashContexts:{progress:a,type:a},types:[],contexts:[],data:d}))),d.buffer.push("\n "),d.buffer.push(f((b["bs-progressbar"]||a&&a["bs-progressbar"]||e).call(a,{name:"bs-progressbar",hash:{progress:"10",type:"danger"},hashTypes:{progress:"STRING",type:"STRING"},hashContexts:{progress:a,type:a},types:[],contexts:[],data:d}))),d.buffer.push("\n"),g},compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f,g,h=b.helperMissing,i=this.escapeExpression,j="function",k=b.blockHelperMissing,l="";return d.buffer.push('

    Progress Bar

    \n
    \n

    Provide up-to-date feedback on the progress of a workflow or action with simple yet flexible progress bars.\nBy Bootstrap

    \n
    \n

    Basic usage

    \n
    \n '),d.buffer.push(i((b["bs-progress"]||a&&a["bs-progress"]||h).call(a,{name:"bs-progress",hash:{progress:60},hashTypes:{progress:"NUMBER"},hashContexts:{progress:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n
        {{bs-progress progress=60}}
    \n

    Simple as that! a single short line, compared to Bootstarp Tags 5 long lines that\nproduces the same result.

    \n

    The progress component respects all aria tags mentioned in Bootstrap documentation.

    \n
    \n
    \n

    Progress bars use some of the same button and alert classes for consistent styles\nBy Bootstrap

    \n
    \n
    \n '),d.buffer.push(i((b["bs-progress"]||a&&a["bs-progress"]||h).call(a,{name:"bs-progress",hash:{type:"success",progress:40},hashTypes:{type:"STRING",progress:"NUMBER"},hashContexts:{type:a,progress:a},types:[],contexts:[],data:d}))),d.buffer.push("\n "),d.buffer.push(i((b["bs-progress"]||a&&a["bs-progress"]||h).call(a,{name:"bs-progress",hash:{type:"info",progress:20},hashTypes:{type:"STRING",progress:"NUMBER"},hashContexts:{type:a,progress:a},types:[],contexts:[],data:d}))),d.buffer.push("\n "),d.buffer.push(i((b["bs-progress"]||a&&a["bs-progress"]||h).call(a,{name:"bs-progress",hash:{type:"warning",progress:60},hashTypes:{type:"STRING",progress:"NUMBER"},hashContexts:{type:a,progress:a},types:[],contexts:[],data:d}))),d.buffer.push("\n "),d.buffer.push(i((b["bs-progress"]||a&&a["bs-progress"]||h).call(a,{name:"bs-progress",hash:{type:"danger",progress:80},hashTypes:{type:"STRING",progress:"NUMBER"},hashContexts:{type:a,progress:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n\n
        {{bs-progress progress=40 type="success"}}\n    {{bs-progress progress=20 type="info"}}\n    {{bs-progress progress=60 type="warning"}}\n    {{bs-progress progress=80 type="danger"}}
    \n
    \n

    The progress property can be bound to a controller property:

    \n
    \n '),d.buffer.push(i((b["bs-progress"]||a&&a["bs-progress"]||h).call(a,{name:"bs-progress",hash:{progressBinding:"prog"},hashTypes:{progressBinding:"STRING"},hashContexts:{progressBinding:a},types:[],contexts:[],data:d}))),d.buffer.push("\n "),d.buffer.push(i((b["bs-button"]||a&&a["bs-button"]||h).call(a,{name:"bs-button",hash:{title:"Increment!",clicked:"increment"},hashTypes:{title:"STRING",clicked:"STRING"},hashContexts:{title:a,clicked:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n
        {{bs-progress progressBinding="prog"}}\n    {{bs-button clicked="increment" content="Increment!"}}
    \n

    Controller sample code:

    \n
    Showcase.ShowComponentsProgressbarController = Ember.Controller.extend({\n  prog: 0,\n  incrementBy: 20,\n  increment: function() {\n    if (this.prog < 100) {\n      return this.incrementProperty("prog", this.incrementBy);\n    } else {\n      return this.set("prog", this.incrementBy);\n    }\n  }\n});
    \n

    Striped

    \n
    \n

    Uses a gradient to create a striped effect. Not available in IE8.\nBy Bootstrap

    \n
    \n

    This is simply done by setting the stripped=true property.

    \n
    \n '),d.buffer.push(i((b["bs-progress"]||a&&a["bs-progress"]||h).call(a,{name:"bs-progress",hash:{stripped:!0,type:"success",progress:40},hashTypes:{stripped:"BOOLEAN",type:"STRING",progress:"NUMBER"},hashContexts:{stripped:a,type:a,progress:a},types:[],contexts:[],data:d}))),d.buffer.push("\n "),d.buffer.push(i((b["bs-progress"]||a&&a["bs-progress"]||h).call(a,{name:"bs-progress",hash:{stripped:!0,type:"info",progress:20},hashTypes:{stripped:"BOOLEAN",type:"STRING",progress:"NUMBER"},hashContexts:{stripped:a,type:a,progress:a},types:[],contexts:[],data:d}))),d.buffer.push("\n "),d.buffer.push(i((b["bs-progress"]||a&&a["bs-progress"]||h).call(a,{name:"bs-progress",hash:{stripped:!0,type:"warning",progress:60},hashTypes:{stripped:"BOOLEAN",type:"STRING",progress:"NUMBER"},hashContexts:{stripped:a,type:a,progress:a},types:[],contexts:[],data:d}))),d.buffer.push("\n "),d.buffer.push(i((b["bs-progress"]||a&&a["bs-progress"]||h).call(a,{name:"bs-progress",hash:{stripped:!0,type:"danger",progress:80},hashTypes:{stripped:"BOOLEAN",type:"STRING",progress:"NUMBER"},hashContexts:{stripped:a,type:a,progress:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n\n

    Animated

    \n

    In addition to stripped=true, add animated=true property to animate the stripes right to left.

    \n
    \n '),d.buffer.push(i((b["bs-progress"]||a&&a["bs-progress"]||h).call(a,{name:"bs-progress",hash:{animated:!0,stripped:!0,progress:45},hashTypes:{animated:"BOOLEAN",stripped:"BOOLEAN",progress:"NUMBER"},hashContexts:{animated:a,stripped:a,progress:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n
        {{bs-progress progress=45 stripped=true animated=true}}
    \n

    Stacked

    \n

    Multiple bars can be placed into the same bs-progress to stack them:

    \n
    \n'),f=null!=(f=b["bs-progress"]||(null!=a?a["bs-progress"]:a))?f:h,g={name:"bs-progress",hash:{},hashTypes:{},hashContexts:{},fn:this.program(1,d),inverse:this.noop,types:[],contexts:[],data:d},e=typeof f===j?f.call(a,g):f,b["bs-progress"]||(e=k.call(a,e,g)),null!=e&&d.buffer.push(e),d.buffer.push('
    \n\n
        {{#bs-progress}}\n        {{bs-progressbar type="success" progress="35"}}\n        {{bs-progressbar type="warning" progress="20"}}\n        {{bs-progressbar type="danger" progress="10"}}\n    {{/bs-progress}}
    \n'),l},useData:!0}),Ember.TEMPLATES["show_components/tabs-panes"]=Ember.HTMLBars.template({1:function(a,b,c,d){d.buffer.push("Tab Component")},compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f=b.helperMissing,g=this.escapeExpression,h="";return d.buffer.push('

    Tab Panes

    \n

    Defining '),e=(b["link-to"]||a&&a["link-to"]||f).call(a,"show_components.tabs",{name:"link-to",hash:{},hashTypes:{},hashContexts:{},fn:this.program(1,d),inverse:this.noop,types:["STRING"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push(' covers the Tabs rendering and help you to interact with the selected tab. But usually some content should be rendered as a response for a tab click right?

    \n

    This is where Tab Panes come into play, a tab pane is the content area of each rendered tab, when a tab is selected, the corresponding tab pane becomes visible, see below for the possible options.

    \n

    Tab Panes expects a contentBinding property just like the bs-tabs component, the Tabs Panes component also must be aware of the bs-tabs component it is bound to by specifying the items-id property set to the id of the corresponding bs-tabs

    \n
    \n '),d.buffer.push(g((b["bs-tabs"]||a&&a["bs-tabs"]||f).call(a,{name:"bs-tabs",hash:{"default":"Foo",contentBinding:"tabsMeta",id:"tabs1"},hashTypes:{"default":"STRING",contentBinding:"STRING",id:"STRING"},hashContexts:{"default":a,contentBinding:a,id:a},types:[],contexts:[],data:d}))),d.buffer.push("\n "),d.buffer.push(g((b["bs-tabs-panes"]||a&&a["bs-tabs-panes"]||f).call(a,{name:"bs-tabs-panes",hash:{contentBinding:"tabsMeta","items-id":"tabs1"},hashTypes:{contentBinding:"STRING","items-id":"STRING"},hashContexts:{contentBinding:a,"items-id":a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n
    {{bs-tabs id="tabs1" contentBinding="tabsMeta" default="Foo"}}\n{{bs-tabs-panes items-id="tabs1" contentBinding="tabsMeta"}}
    \n
      \n
    • An id property is required for the bs-tabs.
    • \n
    • The bs-tabs-panes generates a tab pane per element in the content array.
    • \n
    • The items-id property must refer to the id of the bs-tabs component.
    • \n
    • If you like one tab to be activated by default, set the default property of the bs-tabs component to a title of the tab you would like to be activated by default.
    • \n
    \n

    Here is the controller tabsPanesOptions property:

    \n
    SomeController = Ember.Controller.extend({\n    tabsMeta: Ember.A([\n            Ember.Object.create({ title: 'Foo', template: 'tabs/foo-tabpane', controller: 'ShowcaseComponentsTabsFoo'}),\n            Ember.Object.create({ title: 'Bar', template: 'tabs/bar-tabpane'})\n    ]);\n});\n\nThe `template: 'some-template'` defines what template to render in the corresponding _Tab Pane_ when the Tab is selected.
    \n

    Note that for the Foo tab, a controller property was defined, calling {{controller}} within the tab pane template tabs/foo-tabpane will point to the specified ShowcaseComponentsTabsFoo controller instead of the default controller\nwhich is the controller of the template the {{bs-tabs-panes}} was called from.

    \n

    Thats all needed! awesome isn't it?

    \n'), +h},useData:!0}),Ember.TEMPLATES["show_components/tabs-with-routes"]=Ember.HTMLBars.template({1:function(a,b,c,d){d.buffer.push("User Profile")},compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f=b.helperMissing,g="";return d.buffer.push('

    Tabs in conjuction with Routes

    \n

    Rendering tab content can be simply done by providing a template per tab using the bs-tabs-panes component,\nAnother possiblity is to have a route per tab for rendering tabs contents, Choose this approach if:

    \n
      \n
    • You need your tabs to be bookmarkable, this is possible because each route is bound to some URL path.
    • \n
    • Your tabs are complicated and have a lot of logic and you need a controller per tab.
    • \n
    \n

    If one or more of the reasons above makes sense to you, read on, otherwise use bs-tabs-panes because its setup is much simpler.

    \n

    Users Profile Example

    \n

    This is much easier to explain by example, so for the sake of example, we'll build a User profile with 3 tabs.

    \n

    Defining routes

    \n

    First, lets define the routes of the User profile:

    \n
    this.resource('user', function() {\n  this.route('general');\n  this.route('privacy');\n  return this.route('activities');\n});
    \n

    A resource is required per tabs component, here we define the resource as user because tabs deals with managing a User and a @route is required per tab.

    \n

    Putting the Tabs component in the Resource template.

    \n

    In Ember.js, every resource page has its own main template, nested routes are rendered within the resource page, with such hierarchy, it makes sense to put the tabs component in the resource page so it will be available for any nested route that the user visits.

    \n

    Content goes into the user template.

    \n
        {{bs-tabs contentBinding="tabsMeta"}}\n    {{outlet}}
    \n

    The tabsMeta is an array of the Tabs metadata in the UserController:

    \n
    \nApp.UserController = Ember.Controller.extend({\n  tabsMeta: [\n    Ember.Object.create({title: 'General', linkTo: 'user.general'}),\n    Ember.Object.create({title: 'Privacy', linkTo: 'user.privacy'}),\n    Ember.Object.create({title: 'Activities', linkTo: 'user.activities'})\n  ]\n});\n`
    \n

    The outlet is important so the content of each tab will be rendered beneath the tabs component.

    \n

    Defining Templates

    \n

    Simply define a template per nested route, just like you would do if each nested route wouldnt be apart of the tab component.

    \n

    Live example

    \n

    Want to see it alive? take a look here: '),e=(b["link-to"]||a&&a["link-to"]||f).call(a,"user.general",{name:"link-to",hash:{},hashTypes:{},hashContexts:{},fn:this.program(1,d),inverse:this.noop,types:["STRING"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push("

    \n"),g},useData:!0}),Ember.TEMPLATES["show_components/tabs"]=Ember.HTMLBars.template({1:function(a,b,c,d){d.buffer.push("Tab Panes")},compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f=b.helperMissing,g=this.escapeExpression,h="";return d.buffer.push('

    Tabs

    \n

    Tabs are like Pills but styled differently,\nThe share exactly the same concepts, so this page doesn't repeat everything, visit Pills for the complete details.

    \n

    Simple Tabs

    \n
    \n '),d.buffer.push(g((b["bs-tabs"]||a&&a["bs-tabs"]||f).call(a,{name:"bs-tabs",hash:{selectedBinding:"selected",contentBinding:"content"},hashTypes:{selectedBinding:"STRING",contentBinding:"STRING"},hashContexts:{selectedBinding:a,contentBinding:a},types:[],contexts:[],data:d}))),d.buffer.push("\n\n
    \n Selected: "),e=b._triageMustache.call(a,"selected",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push('\n
    \n\n\n
        {{bs-tabs contentBinding="content" selectedBinding="selected"}}
    \n

    Controller's code:

    \n
    Showcase.ShowComponentsTabsController = Ember.Controller.extend({\n  content: ['Home', 'Profile', 'Messages']\n});
    \n

    Panes

    \n

    Please see '),e=(b["link-to"]||a&&a["link-to"]||f).call(a,"show_components.tabs-panes",{name:"link-to",hash:{},hashTypes:{},hashContexts:{},fn:this.program(1,d),inverse:this.noop,types:["STRING"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),d.buffer.push(" for more info about Tab Panes.

    \n"),h},useData:!0}),Ember.TEMPLATES["show_components/well"]=Ember.HTMLBars.template({1:function(a,b,c,d){d.buffer.push(" I am in a well, click me!\n")},3:function(a,b,c,d){d.buffer.push(" Look, I'm in a large well!\n")},5:function(a,b,c,d){d.buffer.push(" Look, I'm in a small well!\n")},compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f=b.helperMissing,g="";return d.buffer.push('

    Well

    \n

    Default Well

    \n

    Here is a default well, but pay attention that it is clickable, the click will be propagated to the controller.

    \n\n
    \n'),e=(b["bs-well"]||a&&a["bs-well"]||f).call(a,{name:"bs-well",hash:{clicked:"wellClick"},hashTypes:{clicked:"STRING"},hashContexts:{clicked:a},fn:this.program(1,d),inverse:this.noop,types:[],contexts:[],data:d}),null!=e&&d.buffer.push(e),d.buffer.push('
    \n\n
    {{#bs-well clicked="wellClick"}}\nI am in a well!\n{{/bs-well}}
    \n

    wellClick is the function name in the controller.

    \n

    Optional classes

    \n

    As explained by Bootstrap:

    \n
    \n

    Control padding and rounded corners with two optional modifier classes.

    \n
    \n

    Large Well

    \n
    \n'),e=(b["bs-well"]||a&&a["bs-well"]||f).call(a,{name:"bs-well",hash:{large:!0},hashTypes:{large:"BOOLEAN"},hashContexts:{large:a},fn:this.program(3,d),inverse:this.noop,types:[],contexts:[],data:d}),null!=e&&d.buffer.push(e),d.buffer.push('
    \n\n
    {{#bs-well large=true}}\nLook, I'm in a large well!\n{{/bs-well}}
    \n

    You can set large well by adding class="well-lg" or just set the large property to true

    \n

    Small Well

    \n
    \n'),e=(b["bs-well"]||a&&a["bs-well"]||f).call(a,{name:"bs-well",hash:{small:!0},hashTypes:{small:"BOOLEAN"},hashContexts:{small:a},fn:this.program(5,d),inverse:this.noop,types:[],contexts:[],data:d}),null!=e&&d.buffer.push(e),d.buffer.push('
    \n\n
    {{#bs-well small=true}}\nLook, I'm in a small well!\n{{/bs-well}}
    \n

    You can set large well by adding class="well-sm" or just set the small property to true

    \n

    Component Properties

    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    PropertyDescription
    largeIf true, a large well will be rendered by adding the well-lg class.
    smallIf true, a small well will be rendered by adding the well-sm class.
    clickedTriggers the specified function name on the controller immediately when user clicks the area of the well.
    \n
    \n'),g},useData:!0}),Ember.TEMPLATES["show_components/wizard"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression,g="";return d.buffer.push('

    Wizard

    \n

    Wizard is a multi step view component with transitioning workflow,\nWizard has a lot in common with the Tabs component as you can think about each Wizard step as a tab & pane, the main different is that with the Wizard component the transitioning order of the steps is defined a head.

    \n

    Wizard Sample

    \n

    Defining an inline content Wizard with blocks is the simplest form of using the wizard component.

    \n
    \n '),d.buffer.push(f((b["bs-wizard"]||a&&a["bs-wizard"]||e).call(a,{name:"bs-wizard",hash:{contentBinding:"steps"},hashTypes:{contentBinding:"STRING"},hashContexts:{contentBinding:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n\n
    {{bs-wizard contentBinding="steps"}}
    \n

    contentBinding="steps" defines a property named steps in the current controll that defines the wizard steps,\nHere is the current controll of this example:

    \n
    Showcase.ShowComponentsWizardController = Ember.Controller.extend({\n  init: function() {\n    this._super();\n    this.set('steps', Ember.A([\n      Ember.Object.create({title: 'Foo', template: 'tabs/foo-tabpane'}),\n      Ember.Object.create({title: 'Bar', template: 'tabs/bar-tabpane'}),\n      Ember.Object.create({title: 'Baz', template: 'tabs/baz-tabpane'})\n    ]));\n  }\n});
    \n

    Disable Step Selection

    \n

    Sometimes it makes sense to create a wizard with fixed step flow, this can be done by disabling the steps by providing disabled=true per step.

    \n

    It is also possible to disallow moving to previous step if needed.

    \n
    \n '),d.buffer.push(f((b["bs-wizard"]||a&&a["bs-wizard"]||e).call(a,{name:"bs-wizard",hash:{contentBinding:"stepsNoPrev",prevAllowed:!1},hashTypes:{contentBinding:"STRING",prevAllowed:"BOOLEAN"},hashContexts:{contentBinding:a,prevAllowed:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n
    {{bs-wizard prevAllowed=false contentBinding="stepsNoPrev"}}
    \n
    Showcase.ShowComponentsWizardController = Ember.Controller.extend({\n  init: function() {\n    this._super();\n    this.set('steps', Ember.A([\n      Ember.Object.create({title: 'Step1', template: 'tabs/foo-tabpane', disabled="true"}),\n      Ember.Object.create({title: 'Step2', template: 'tabs/bar-tabpane', disabled="true"}),\n      Ember.Object.create({title: 'Step3', template: 'tabs/baz-tabpane', disabled="true"})\n    ]));\n  }\n});
    \n

    Programatically Created Wizard

    \n

    Creating a wizard programatically should be used if rendering a Wizard is based on some action such as a button click, for example, a modal can be rendered by pressing a button that will render a Wizard within a modal as the example shown below:

    \n
    \n '),d.buffer.push(f((b["bs-button"]||a&&a["bs-button"]||e).call(a,{name:"bs-button",hash:{clicked:"createWizard",type:"primary",title:"Start Wizard"},hashTypes:{clicked:"STRING",type:"STRING",title:"STRING"},hashContexts:{clicked:a,type:a,title:a},types:[],contexts:[],data:d}))),d.buffer.push('\n
    \n\n\n
    {{bs-button title="Start Wizard" type="primary" clicked="createWizard"}}
    \n

    Controller's code:

    \n
    Showcase.ShowComponentsWizardController = Ember.Controller.extend({\n  actions: {\n    createWizard: function() {\n      var body;\n      body = Bootstrap.BsWizardComponent.extend({\n        content: [\n          Ember.Object.create({title: 'Step1', template: 'wizard/step1', disabled: true}),\n          Ember.Object.create({title: 'Step2', template: 'wizard/step2', disabled: true}),\n          Ember.Object.create({title: 'Step3', template: 'wizard/step3', disabled: true})\n        ],\n        targetObject: this,\n        onNext: "onNext",\n        onPrev: "onPrev",\n        onFinish: 'onFinish'\n      });\n      Bootstrap.ModalManager.open('manualModal', 'Wizard Title...', body, null, this);\n    },\n    onNext: function() {\n      return console.log('NEXT');\n    },\n    onPrev: function() {\n      return console.log('PREV');\n    },\n    onFinish: function() {\n      Bootstrap.ModalManager.close('manualModal');\n      return Bootstrap.NM.push('Wizard completed!');\n    }\n  }\n});
    \n

    The controller is responsible for creating the Modal and the Wizard components, our controller listens to the Wizard onFinish event and close the modal as a response plus send an application notification.

    \n'),g},useData:!0}),Ember.TEMPLATES["social-buttons"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){d.buffer.push('
    \r\n \r\n
    \r\n')},useData:!0}),Ember.TEMPLATES["tabs/bar-tabpane"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f=b.helperMissing,g=this.escapeExpression,h="";return d.buffer.push(g((b["bs-page-header"]||a&&a["bs-page-header"]||f).call(a,{name:"bs-page-header",hash:{sub:"Tab Pane Content",title:"BAR "},hashTypes:{sub:"STRING",title:"STRING"},hashContexts:{sub:a,title:a},types:[],contexts:[],data:d}))),d.buffer.push("\r\nController is: "),e=b._triageMustache.call(a,"controller",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),h},useData:!0}),Ember.TEMPLATES["tabs/baz-tabpane"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression;d.buffer.push(f((b["bs-page-header"]||a&&a["bs-page-header"]||e).call(a,{name:"bs-page-header",hash:{sub:"Tab Pane Content",title:"BAZ"},hashTypes:{sub:"STRING",title:"STRING"},hashContexts:{sub:a,title:a},types:[],contexts:[],data:d})))},useData:!0}),Ember.TEMPLATES["tabs/foo-tabpane"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f=b.helperMissing,g=this.escapeExpression,h="";return d.buffer.push(g((b["bs-page-header"]||a&&a["bs-page-header"]||f).call(a,{name:"bs-page-header",hash:{sub:"Tab Pane Content",title:"FOO"},hashTypes:{sub:"STRING",title:"STRING"},hashContexts:{sub:a,title:a},types:[],contexts:[],data:d}))),d.buffer.push("\r\nController is: "),e=b._triageMustache.call(a,"controller",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),h},useData:!0}),Ember.TEMPLATES.user=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e,f=b.helperMissing,g=this.escapeExpression,h="";return d.buffer.push(g((b["bs-tabs"]||a&&a["bs-tabs"]||f).call(a,{name:"bs-tabs",hash:{contentBinding:"tabsMeta"},hashTypes:{contentBinding:"STRING"},hashContexts:{contentBinding:a},types:[],contexts:[],data:d}))),d.buffer.push("\r\n\r\n"),e=b._triageMustache.call(a,"outlet",{name:"_triageMustache",hash:{},hashTypes:{},hashContexts:{},types:["ID"],contexts:[a],data:d}),null!=e&&d.buffer.push(e),h},useData:!0}),Ember.TEMPLATES["user/activities"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression;d.buffer.push(f((b["bs-page-header"]||a&&a["bs-page-header"]||e).call(a,{name:"bs-page-header",hash:{sub:"User latest Activities",title:"Activities"},hashTypes:{sub:"STRING",title:"STRING"},hashContexts:{sub:a,title:a},types:[],contexts:[],data:d})))},useData:!0}),Ember.TEMPLATES["user/general"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression;d.buffer.push(f((b["bs-page-header"]||a&&a["bs-page-header"]||e).call(a,{name:"bs-page-header",hash:{sub:"User general details",title:"General"},hashTypes:{sub:"STRING",title:"STRING"},hashContexts:{sub:a,title:a},types:[],contexts:[],data:d})))},useData:!0}),Ember.TEMPLATES["user/privacy"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){var e=b.helperMissing,f=this.escapeExpression;d.buffer.push(f((b["bs-page-header"]||a&&a["bs-page-header"]||e).call(a,{name:"bs-page-header",hash:{sub:"User Privacy details",title:"Privacy"},hashTypes:{sub:"STRING",title:"STRING"},hashContexts:{sub:a,title:a},types:[],contexts:[],data:d})))},useData:!0}),Ember.TEMPLATES["wizard/step1"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){d.buffer.push("

    Step1

    ")},useData:!0}),Ember.TEMPLATES["wizard/step2"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){d.buffer.push("

    Step 2

    ")},useData:!0}),Ember.TEMPLATES["wizard/step3"]=Ember.HTMLBars.template({compiler:[6,">= 2.0.0-beta.1"],main:function(a,b,c,d){d.buffer.push("

    Step 3

    ")},useData:!0}),function(){!function(){var a,b;a=window.Bootstrap,b=window.Showcase=Ember.Application.create({LOG_TRANSITIONS:!0,LOG_VIEW_LOOKUPS:!0,LOG_ACTIVE_GENERATION:!0}),Ember.ENV={HELPER_PARAM_LOOKUPS:!0},Ember.Handlebars.registerHelper("raw",function(a){return a.fn(a)})}(),function(){(function(){Showcase.Router.map(function(){return this.resource("show_components",function(){return this.route("alert"),this.route("breadcrumbs"),this.route("modal"),this.route("label"),this.route("badge"),this.route("well"),this.route("list-group"),this.route("panel"),this.route("page-header"),this.route("button"),this.route("buttonGroup"),this.route("progressbar"),this.route("pills"),this.route("tabs"),this.route("tabs-panes"),this.route("wizard"),this.route("items_action_bar"),this.route("tabs-with-routes"),this.route("notifications"),this.route("growl-notif"),this.route("popover"),this.resource("user",function(){return this.route("general"),this.route("privacy"),this.route("activities")})})})}).call(this)}(),function(){(function(){Showcase.ApplicationRoute=Ember.Route.extend({model:function(){return[Ember.Object.create({title:"Alert",route:"show_components.alert"}),Ember.Object.create({title:"Breadcrumbs",route:"show_components.breadcrumbs","new":!0}),Ember.Object.create({title:"Modal",route:"show_components.modal"}),Ember.Object.create({title:"Label",route:"show_components.label"}),Ember.Object.create({title:"Badge",route:"show_components.badge"}),Ember.Object.create({title:"Well",route:"show_components.well"}),Ember.Object.create({title:"List Group",route:"show_components.list-group"}),Ember.Object.create({title:"Panel",route:"show_components.panel"}),Ember.Object.create({title:"Page Header",route:"show_components.page-header"}),Ember.Object.create({title:"Button",route:"show_components.button"}),Ember.Object.create({title:"Button Group",route:"show_components.buttonGroup"}),Ember.Object.create({title:"Progressbar",route:"show_components.progressbar"}),Ember.Object.create({title:"Tooltips & Popover","new":!0,route:"show_components.popover"}),Ember.Object.create({title:"Nav - Pills",route:"show_components.pills"}),Ember.Object.create({title:"Nav - Tabs",route:"show_components.tabs"}),Ember.Object.create({title:"Nav - Tabs Panes",route:"show_components.tabs-panes"}),Ember.Object.create({title:"Nav - Tabs with Routes",special:!0,route:"show_components.tabs-with-routes"}),Ember.Object.create({title:"Wizard",special:!0,route:"show_components.wizard"}),Ember.Object.create({title:"Notifications",special:!0,route:"show_components.notifications"}),Ember.Object.create({title:"Items Action Bar","new":!0,route:"show_components.items_action_bar"}),Ember.Object.create({title:"Growl Notifications",special:!0,route:"show_components.growl-notif"})]}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsPopoverRoute=Ember.Route.extend({renderTemplate:function(){var a;return this.render(),a=this.controllerFor("ShowComponentsTooltipBox"),this.render("bs-tooltip-box",{outlet:"bs-tooltip-box",controller:a,into:"application"})}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsAlertController=Ember.Controller.extend({actions:{submit:function(){return alert("Action taken by controller!")},didAlertClosed:function(){return alert("From controller: The -closed- event was triggered.")},didAlertClose:function(){return alert("From controller: The -close- event was triggered.")}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsButtonController=Ember.Controller.extend({isButtonDisabled:!1,loadingState:null,loadingState1:null,actions:{disableButton:function(){return this.set("isButtonDisabled",!0)},startLoading:function(){var a=this;return this.set("loadingState","loading"),Ember.run.later(function(){return a.set("loadingState",null)},2e3)},startLoading1:function(){var a=this;return this.set("loadingState1","loading"),Ember.run.later(function(){return a.set("loadingState1","completed")},2e3)},buttonWithParam:function(a){return alert("Passed controller as a param: "+a)}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsItemsActionBarController=Ember.Controller.extend({actionsInBar:[[{title:"To Alerts",disabled:function(a){var b;return a.size<1||"Alerts"!==(null!=a&&null!=(b=a[0])?b.title:void 0)?!0:void 0},transitionTo:"show_components.alert"},{title:"To Panels",transitionTo:"show_components.panel",disabled:function(a){var b;return a.size<1||"Panels"!==(null!=a&&null!=(b=a[0])?b.title:void 0)?!0:void 0}}],[{title:"To Wizard",disabled:function(a){var b;return a.size<1||"Wizards"!==(null!=a&&null!=(b=a[0])?b.title:void 0)?!0:void 0},clickActionName:"wizard"}]],actions:{wizard:function(a){return alert("Wizard pressed!")}},items:[Ember.Object.create({title:"Alerts"}),Ember.Object.create({title:"Panels"}),Ember.Object.create({title:"Wizards"})]})}).call(this)}(),function(){(function(){Showcase.ShowComponentsPanelController=Ember.Controller.extend({actions:{panelClicked:function(){return alert("Hello from controller: A click in a panel!")},panelClosed:function(){return alert("Hello from controller: The panel was closed!")}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsPopoverController=Ember.Controller.extend({testObject:Ember.Object.createWithMixins({sticky:function(){return Ember.Object.create({user:this,content:"know this is a sticky tooltip! You can hover over it.",trigger:"hover",sticky:!0})}.property()}),user:Ember.Object.create({firstNameBinding:"content.name",title:"rename",template:'name: {{input type="text" value=content.name}}',content:{name:"John"},trigger:"hover",sticky:!0}),hoverPop:Ember.Object.create({title:"I'm a title!",content:"And i'm a content!",trigger:"hover",placement:"right",sticky:!0}),clickPop:Ember.Object.create({title:"Clickable!",content:"

    Hello

    This is a clickable popover with html content!",placement:"left",html:!0}),templPop:Ember.Object.create({firstName:"numbers",title:"Popover with Template",template:"numbers:
      {{#each val in content.numbers}}
    • {{val}}
    • {{/each}}
    ",content:{numbers:[1,2,3]}})})}).call(this)}(),function(){(function(){Showcase.ShowComponentsProgressbarController=Ember.Controller.extend({prog:0,incrementBy:20,actions:{increment:function(){return this.prog<100?this.incrementProperty("prog",this.incrementBy):this.set("prog",this.incrementBy)}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsTooltipBoxController=Bootstrap.TooltipBoxController}).call(this)}(),function(){(function(){Showcase.ShowComponentsWellController=Ember.Controller.extend({wellClick:function(){return alert("Hello from controller: A click in a well!")}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsButtonGroupController=Ember.Controller.extend({options:["Home","Profile","Messages"],options2:["Admin","Settings"],optionsWithMeta:[Ember.Object.create({title:"Create",type:"primary"}),Ember.Object.create({title:"Destroy",type:"danger"})]})}).call(this)}(),function(){(function(){Showcase.ShowComponentsPillsController=Ember.Controller.extend({content:["Home","Profile","Messages"],init:function(){return this._super(),this.set("content1",Ember.A([Ember.Object.create({title:"Home","default":!0,disabled:!1}),Ember.Object.create({title:"Admin",disabled:!0})])),this.set("selected1",this.get("content1").objectAt(0))},contentChanged:function(){return console.log("Selection has changed to: "+this.get("selected"))}.observes("selected"),actions:{disableHome:function(){return this.get("content1").objectAt(0).set("disabled",!0)}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsGrowlNotifController=Ember.Controller.extend({actions:{pushInfo:function(){return Bootstrap.GNM.push("INFO!","Hello, this is just an info message.","info")},pushSuccess:function(){return Bootstrap.GNM.push("SUCCESS!","Successfully performed operation!","success")},pushWarn:function(){return Bootstrap.GNM.push("WARN!","Could not perform operation!","warning")},pushDanger:function(){return Bootstrap.GNM.push("Danger!","System is halting!","danger")}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsListGroupController=Ember.Controller.extend({listSimple:Ember.A(["Cras justo odio","Dapibus ac facilisis in","Morbi leo risus"]),listWithBadges:Ember.A([Ember.Object.create({title:"Inbox",badge:"45"}),Ember.Object.create({title:"Sent",badge:"33"})]),listWithSub:Ember.A([Ember.Object.create({title:"Inbox",sub:"Incoming mails folder",badge:"45"}),Ember.Object.create({title:"Sent",sub:"Sent emails folder",badge:"33"})])})}).call(this)}(),function(){(function(){Showcase.ShowComponentsModalController=Ember.Controller.extend({message:"Welcome to Bootstrap for Ember..!",myModalButtons:[Ember.Object.create({title:"Submit",clicked:"submit"}),Ember.Object.create({title:"Cancel",clicked:"cancel",dismiss:"modal"})],manualButtons:[Ember.Object.create({title:"Submit",clicked:"submitManual"}),Ember.Object.create({title:"Cancel",dismiss:"modal"})],actions:{submit:function(){return Bootstrap.NM.push("Successfully submitted modal","success"),Bootstrap.ModalManager.hide("myModal")},cancel:function(){return Bootstrap.NM.push("Modal was cancelled","info")},show:function(){return Bootstrap.ModalManager.show("myModal")},submitManual:function(){return Bootstrap.NM.push("Modal destroyed!","success"),Bootstrap.ModalManager.close("manualModal")},createModalProgramatically:function(){var a;return a=Ember.View.extend({template:Ember.Handlebars.compile("This is a programatic ")}),Bootstrap.ModalManager.open("manualModal","Hello","demo-template",this.manualButtons,this)},confirm:function(){return Bootstrap.ModalManager.confirm(this)},modalConfirmed:function(){return Bootstrap.NM.push("Confirmed!","success")},modalCanceled:function(){return Bootstrap.NM.push("Cancelled!","info")}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsNotificationsController=Ember.Controller.extend({actions:{pushInfo:function(){return Bootstrap.NM.push("Hello, this is just an info message.","info")},pushWarn:function(){return Bootstrap.NM.push("Could not perform operation!","warning")},pushSuccess:function(){return Bootstrap.NM.push("Successfully performed operation!","success")},pushDanger:function(){return Bootstrap.NM.push("Danger! system is halting!","danger")}}})}).call(this)}(),function(){(function(){Showcase.ShowComponentsTabsController=Ember.Controller.extend({content:["Home","Profile","Messages"],init:function(){return this._super(),this.set("selected","Home"),this.set("tabsPanesOptions",Ember.A([Ember.Object.create({title:"Foo",template:"tabs/foo-tabpane"}),Ember.Object.create({title:"Bar",template:"tabs/bar-tabpane"})]))}})}).call(this)}(),function(){(function(){Showcase.ShowcaseComponentsTabsFooController=Ember.Controller.extend()}).call(this)}(),function(){(function(){Showcase.ShowComponentsTabsPanesController=Ember.Controller.extend({tabsMeta:Ember.A([Ember.Object.create({title:"Foo",template:"tabs/foo-tabpane",controller:"ShowcaseComponentsTabsFoo"}),Ember.Object.create({title:"Bar",template:"tabs/bar-tabpane"})])})}).call(this)}(),function(){(function(){Showcase.ShowComponentsWizardController=Ember.Controller.extend({init:function(){return this._super(),this.set("steps",Ember.A([Ember.Object.create({title:"Foo",template:"tabs/foo-tabpane"}),Ember.Object.create({title:"Bar",template:"tabs/bar-tabpane"}),Ember.Object.create({title:"Baz",template:"tabs/baz-tabpane"})])),this.set("stepsNoPrev",Ember.A([Ember.Object.create({title:"Step1",template:"tabs/foo-tabpane",disabled:!0}),Ember.Object.create({title:"Step2",template:"tabs/bar-tabpane",disabled:!0}),Ember.Object.create({title:"Step3",template:"tabs/baz-tabpane",disabled:!0})]))},actions:{createWizard:function(){var a;return a=Bootstrap.BsWizardComponent.extend({content:[Ember.Object.create({title:"Step1",template:"wizard/step1",disabled:!0}),Ember.Object.create({title:"Step2",template:"wizard/step2",disabled:!0}),Ember.Object.create({title:"Step3",template:"wizard/step3",disabled:!0})],targetObject:this,onNext:"onNext",onPrev:"onPrev",onFinish:"onFinish"}),Bootstrap.ModalManager.open("manualModal","Wizard Title...",a,null,this)},onNext:function(){return console.log("NEXT")},onPrev:function(){return console.log("PREV")},onFinish:function(){return Bootstrap.ModalManager.close("manualModal"),Bootstrap.NM.push("Wizard completed!")}}})}).call(this)}(),function(){(function(){Showcase.UserController=Ember.Controller.extend({tabsMeta:[Ember.Object.create({title:"General",linkTo:"user.general"}),Ember.Object.create({title:"Privacy",linkTo:"user.privacy"}),Ember.Object.create({title:"Activities",linkTo:"user.activities"})]})}).call(this)}(),function(){}.call(this)}(); \ No newline at end of file diff --git a/dist/showcase/scripts/vendor/modernizr.js b/dist/showcase/scripts/vendor/modernizr.js index 903f5fa..421f8b9 100644 --- a/dist/showcase/scripts/vendor/modernizr.js +++ b/dist/showcase/scripts/vendor/modernizr.js @@ -1 +1 @@ -window.Modernizr=function(a,b,c){function d(a){t.cssText=a}function e(a,b){return d(x.join(a+";")+(b||""))}function f(a,b){return typeof a===b}function g(a,b){return!!~(""+a).indexOf(b)}function h(a,b){for(var d in a){var e=a[d];if(!g(e,"-")&&t[e]!==c)return"pfx"==b?e:!0}return!1}function i(a,b,d){for(var e in a){var g=b[a[e]];if(g!==c)return d===!1?a[e]:f(g,"function")?g.bind(d||b):g}return!1}function j(a,b,c){var d=a.charAt(0).toUpperCase()+a.slice(1),e=(a+" "+z.join(d+" ")+d).split(" ");return f(b,"string")||f(b,"undefined")?h(e,b):(e=(a+" "+A.join(d+" ")+d).split(" "),i(e,b,c))}function k(){o.input=function(c){for(var d=0,e=c.length;e>d;d++)E[c[d]]=!!(c[d]in u);return E.list&&(E.list=!(!b.createElement("datalist")||!a.HTMLDataListElement)),E}("autocomplete autofocus list placeholder max min multiple pattern required step".split(" ")),o.inputtypes=function(a){for(var d,e,f,g=0,h=a.length;h>g;g++)u.setAttribute("type",e=a[g]),d="text"!==u.type,d&&(u.value=v,u.style.cssText="position:absolute;visibility:hidden;",/^range$/.test(e)&&u.style.WebkitAppearance!==c?(q.appendChild(u),f=b.defaultView,d=f.getComputedStyle&&"textfield"!==f.getComputedStyle(u,null).WebkitAppearance&&0!==u.offsetHeight,q.removeChild(u)):/^(search|tel)$/.test(e)||(d=/^(url|email)$/.test(e)?u.checkValidity&&u.checkValidity()===!1:u.value!=v)),D[a[g]]=!!d;return D}("search tel url email datetime date month week time datetime-local number range color".split(" "))}var l,m,n="2.6.3",o={},p=!0,q=b.documentElement,r="modernizr",s=b.createElement(r),t=s.style,u=b.createElement("input"),v=":)",w={}.toString,x=" -webkit- -moz- -o- -ms- ".split(" "),y="Webkit Moz O ms",z=y.split(" "),A=y.toLowerCase().split(" "),B={svg:"http://www.w3.org/2000/svg"},C={},D={},E={},F=[],G=F.slice,H=function(a,c,d,e){var f,g,h,i,j=b.createElement("div"),k=b.body,l=k||b.createElement("body");if(parseInt(d,10))for(;d--;)h=b.createElement("div"),h.id=e?e[d]:r+(d+1),j.appendChild(h);return f=["­",'"].join(""),j.id=r,(k?j:l).innerHTML+=f,l.appendChild(j),k||(l.style.background="",l.style.overflow="hidden",i=q.style.overflow,q.style.overflow="hidden",q.appendChild(l)),g=c(j,a),k?j.parentNode.removeChild(j):(l.parentNode.removeChild(l),q.style.overflow=i),!!g},I=function(b){var c=a.matchMedia||a.msMatchMedia;if(c)return c(b).matches;var d;return H("@media "+b+" { #"+r+" { position: absolute; } }",function(b){d="absolute"==(a.getComputedStyle?getComputedStyle(b,null):b.currentStyle).position}),d},J=function(){function a(a,e){e=e||b.createElement(d[a]||"div"),a="on"+a;var g=a in e;return g||(e.setAttribute||(e=b.createElement("div")),e.setAttribute&&e.removeAttribute&&(e.setAttribute(a,""),g=f(e[a],"function"),f(e[a],"undefined")||(e[a]=c),e.removeAttribute(a))),e=null,g}var d={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return a}(),K={}.hasOwnProperty;m=f(K,"undefined")||f(K.call,"undefined")?function(a,b){return b in a&&f(a.constructor.prototype[b],"undefined")}:function(a,b){return K.call(a,b)},Function.prototype.bind||(Function.prototype.bind=function(a){var b=this;if("function"!=typeof b)throw new TypeError;var c=G.call(arguments,1),d=function(){if(this instanceof d){var e=function(){};e.prototype=b.prototype;var f=new e,g=b.apply(f,c.concat(G.call(arguments)));return Object(g)===g?g:f}return b.apply(a,c.concat(G.call(arguments)))};return d}),C.flexbox=function(){return j("flexWrap")},C.flexboxlegacy=function(){return j("boxDirection")},C.canvas=function(){var a=b.createElement("canvas");return!(!a.getContext||!a.getContext("2d"))},C.canvastext=function(){return!(!o.canvas||!f(b.createElement("canvas").getContext("2d").fillText,"function"))},C.webgl=function(){return!!a.WebGLRenderingContext},C.touch=function(){var c;return"ontouchstart"in a||a.DocumentTouch&&b instanceof DocumentTouch?c=!0:H(["@media (",x.join("touch-enabled),("),r,")","{#modernizr{top:9px;position:absolute}}"].join(""),function(a){c=9===a.offsetTop}),c},C.geolocation=function(){return"geolocation"in navigator},C.postmessage=function(){return!!a.postMessage},C.websqldatabase=function(){return!!a.openDatabase},C.indexedDB=function(){return!!j("indexedDB",a)},C.hashchange=function(){return J("hashchange",a)&&(b.documentMode===c||b.documentMode>7)},C.history=function(){return!(!a.history||!history.pushState)},C.draganddrop=function(){var a=b.createElement("div");return"draggable"in a||"ondragstart"in a&&"ondrop"in a},C.websockets=function(){return"WebSocket"in a||"MozWebSocket"in a},C.rgba=function(){return d("background-color:rgba(150,255,150,.5)"),g(t.backgroundColor,"rgba")},C.hsla=function(){return d("background-color:hsla(120,40%,100%,.5)"),g(t.backgroundColor,"rgba")||g(t.backgroundColor,"hsla")},C.multiplebgs=function(){return d("background:url(https://),url(https://),red url(https://)"),/(url\s*\(.*?){3}/.test(t.background)},C.backgroundsize=function(){return j("backgroundSize")},C.borderimage=function(){return j("borderImage")},C.borderradius=function(){return j("borderRadius")},C.boxshadow=function(){return j("boxShadow")},C.textshadow=function(){return""===b.createElement("div").style.textShadow},C.opacity=function(){return e("opacity:.55"),/^0.55$/.test(t.opacity)},C.cssanimations=function(){return j("animationName")},C.csscolumns=function(){return j("columnCount")},C.cssgradients=function(){var a="background-image:",b="gradient(linear,left top,right bottom,from(#9f9),to(white));",c="linear-gradient(left top,#9f9, white);";return d((a+"-webkit- ".split(" ").join(b+a)+x.join(c+a)).slice(0,-a.length)),g(t.backgroundImage,"gradient")},C.cssreflections=function(){return j("boxReflect")},C.csstransforms=function(){return!!j("transform")},C.csstransforms3d=function(){var a=!!j("perspective");return a&&"webkitPerspective"in q.style&&H("@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}",function(b){a=9===b.offsetLeft&&3===b.offsetHeight}),a},C.csstransitions=function(){return j("transition")},C.fontface=function(){var a;return H('@font-face {font-family:"font";src:url("https://")}',function(c,d){var e=b.getElementById("smodernizr"),f=e.sheet||e.styleSheet,g=f?f.cssRules&&f.cssRules[0]?f.cssRules[0].cssText:f.cssText||"":"";a=/src/i.test(g)&&0===g.indexOf(d.split(" ")[0])}),a},C.generatedcontent=function(){var a;return H(["#",r,"{font:0/0 a}#",r,':after{content:"',v,'";visibility:hidden;font:3px/1 a}'].join(""),function(b){a=b.offsetHeight>=3}),a},C.video=function(){var a=b.createElement("video"),c=!1;try{(c=!!a.canPlayType)&&(c=new Boolean(c),c.ogg=a.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,""),c.h264=a.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,""),c.webm=a.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,""))}catch(d){}return c},C.audio=function(){var a=b.createElement("audio"),c=!1;try{(c=!!a.canPlayType)&&(c=new Boolean(c),c.ogg=a.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),c.mp3=a.canPlayType("audio/mpeg;").replace(/^no$/,""),c.wav=a.canPlayType('audio/wav; codecs="1"').replace(/^no$/,""),c.m4a=(a.canPlayType("audio/x-m4a;")||a.canPlayType("audio/aac;")).replace(/^no$/,""))}catch(d){}return c},C.localstorage=function(){try{return localStorage.setItem(r,r),localStorage.removeItem(r),!0}catch(a){return!1}},C.sessionstorage=function(){try{return sessionStorage.setItem(r,r),sessionStorage.removeItem(r),!0}catch(a){return!1}},C.webworkers=function(){return!!a.Worker},C.applicationcache=function(){return!!a.applicationCache},C.svg=function(){return!!b.createElementNS&&!!b.createElementNS(B.svg,"svg").createSVGRect},C.inlinesvg=function(){var a=b.createElement("div");return a.innerHTML="",(a.firstChild&&a.firstChild.namespaceURI)==B.svg},C.smil=function(){return!!b.createElementNS&&/SVGAnimate/.test(w.call(b.createElementNS(B.svg,"animate")))},C.svgclippaths=function(){return!!b.createElementNS&&/SVGClipPath/.test(w.call(b.createElementNS(B.svg,"clipPath")))};for(var L in C)m(C,L)&&(l=L.toLowerCase(),o[l]=C[L](),F.push((o[l]?"":"no-")+l));return o.input||k(),o.addTest=function(a,b){if("object"==typeof a)for(var d in a)m(a,d)&&o.addTest(d,a[d]);else{if(a=a.toLowerCase(),o[a]!==c)return o;b="function"==typeof b?b():b,"undefined"!=typeof p&&p&&(q.className+=" "+(b?"":"no-")+a),o[a]=b}return o},d(""),s=u=null,function(a,b){function c(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=r.elements;return"string"==typeof a?a.split(" "):a}function e(a){var b=q[a[o]];return b||(b={},p++,a[o]=p,q[p]=b),b}function f(a,c,d){if(c||(c=b),k)return c.createElement(a);d||(d=e(c));var f;return f=d.cache[a]?d.cache[a].cloneNode():n.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),f.canHaveChildren&&!m.test(a)?d.frag.appendChild(f):f}function g(a,c){if(a||(a=b),k)return a.createDocumentFragment();c=c||e(a);for(var f=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)f.createElement(h[g]);return f}function h(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return r.shivMethods?f(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/\w+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(r,b.frag)}function i(a){a||(a=b);var d=e(a);return!r.shivCSS||j||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,figcaption,figure,footer,header,hgroup,nav,section{display:block}mark{background:#FF0;color:#000}")),k||h(a,d),a}var j,k,l=a.html5||{},m=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,n=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,o="_html5shiv",p=0,q={};!function(){try{var a=b.createElement("a");a.innerHTML="",j="hidden"in a,k=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){j=!0,k=!0}}();var r={elements:l.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",shivCSS:l.shivCSS!==!1,supportsUnknownElements:k,shivMethods:l.shivMethods!==!1,type:"default",shivDocument:i,createElement:f,createDocumentFragment:g};a.html5=r,i(b)}(this,b),o._version=n,o._prefixes=x,o._domPrefixes=A,o._cssomPrefixes=z,o.mq=I,o.hasEvent=J,o.testProp=function(a){return h([a])},o.testAllProps=j,o.testStyles=H,o.prefixed=function(a,b,c){return b?j(a,b,c):j(a,"pfx")},q.className=q.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(p?" js "+F.join(" "):""),o}(this,this.document); \ No newline at end of file +window.Modernizr=function(a,b,c){function d(a){t.cssText=a}function e(a,b){return d(x.join(a+";")+(b||""))}function f(a,b){return typeof a===b}function g(a,b){return!!~(""+a).indexOf(b)}function h(a,b){for(var d in a){var e=a[d];if(!g(e,"-")&&t[e]!==c)return"pfx"==b?e:!0}return!1}function i(a,b,d){for(var e in a){var g=b[a[e]];if(g!==c)return d===!1?a[e]:f(g,"function")?g.bind(d||b):g}return!1}function j(a,b,c){var d=a.charAt(0).toUpperCase()+a.slice(1),e=(a+" "+z.join(d+" ")+d).split(" ");return f(b,"string")||f(b,"undefined")?h(e,b):(e=(a+" "+A.join(d+" ")+d).split(" "),i(e,b,c))}function k(){o.input=function(c){for(var d=0,e=c.length;e>d;d++)E[c[d]]=!!(c[d]in u);return E.list&&(E.list=!(!b.createElement("datalist")||!a.HTMLDataListElement)),E}("autocomplete autofocus list placeholder max min multiple pattern required step".split(" ")),o.inputtypes=function(a){for(var d,e,f,g=0,h=a.length;h>g;g++)u.setAttribute("type",e=a[g]),d="text"!==u.type,d&&(u.value=v,u.style.cssText="position:absolute;visibility:hidden;",/^range$/.test(e)&&u.style.WebkitAppearance!==c?(q.appendChild(u),f=b.defaultView,d=f.getComputedStyle&&"textfield"!==f.getComputedStyle(u,null).WebkitAppearance&&0!==u.offsetHeight,q.removeChild(u)):/^(search|tel)$/.test(e)||(d=/^(url|email)$/.test(e)?u.checkValidity&&u.checkValidity()===!1:u.value!=v)),D[a[g]]=!!d;return D}("search tel url email datetime date month week time datetime-local number range color".split(" "))}var l,m,n="2.6.3",o={},p=!0,q=b.documentElement,r="modernizr",s=b.createElement(r),t=s.style,u=b.createElement("input"),v=":)",w={}.toString,x=" -webkit- -moz- -o- -ms- ".split(" "),y="Webkit Moz O ms",z=y.split(" "),A=y.toLowerCase().split(" "),B={svg:"http://www.w3.org/2000/svg"},C={},D={},E={},F=[],G=F.slice,H=function(a,c,d,e){var f,g,h,i,j=b.createElement("div"),k=b.body,l=k||b.createElement("body");if(parseInt(d,10))for(;d--;)h=b.createElement("div"),h.id=e?e[d]:r+(d+1),j.appendChild(h);return f=["­",'"].join(""),j.id=r,(k?j:l).innerHTML+=f,l.appendChild(j),k||(l.style.background="",l.style.overflow="hidden",i=q.style.overflow,q.style.overflow="hidden",q.appendChild(l)),g=c(j,a),k?j.parentNode.removeChild(j):(l.parentNode.removeChild(l),q.style.overflow=i),!!g},I=function(b){var c=a.matchMedia||a.msMatchMedia;if(c)return c(b).matches;var d;return H("@media "+b+" { #"+r+" { position: absolute; } }",function(b){d="absolute"==(a.getComputedStyle?getComputedStyle(b,null):b.currentStyle).position}),d},J=function(){function a(a,e){e=e||b.createElement(d[a]||"div"),a="on"+a;var g=a in e;return g||(e.setAttribute||(e=b.createElement("div")),e.setAttribute&&e.removeAttribute&&(e.setAttribute(a,""),g=f(e[a],"function"),f(e[a],"undefined")||(e[a]=c),e.removeAttribute(a))),e=null,g}var d={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return a}(),K={}.hasOwnProperty;m=f(K,"undefined")||f(K.call,"undefined")?function(a,b){return b in a&&f(a.constructor.prototype[b],"undefined")}:function(a,b){return K.call(a,b)},Function.prototype.bind||(Function.prototype.bind=function(a){var b=this;if("function"!=typeof b)throw new TypeError;var c=G.call(arguments,1),d=function(){if(this instanceof d){var e=function(){};e.prototype=b.prototype;var f=new e,g=b.apply(f,c.concat(G.call(arguments)));return Object(g)===g?g:f}return b.apply(a,c.concat(G.call(arguments)))};return d}),C.flexbox=function(){return j("flexWrap")},C.flexboxlegacy=function(){return j("boxDirection")},C.canvas=function(){var a=b.createElement("canvas");return!(!a.getContext||!a.getContext("2d"))},C.canvastext=function(){return!(!o.canvas||!f(b.createElement("canvas").getContext("2d").fillText,"function"))},C.webgl=function(){return!!a.WebGLRenderingContext},C.touch=function(){var c;return"ontouchstart"in a||a.DocumentTouch&&b instanceof DocumentTouch?c=!0:H(["@media (",x.join("touch-enabled),("),r,")","{#modernizr{top:9px;position:absolute}}"].join(""),function(a){c=9===a.offsetTop}),c},C.geolocation=function(){return"geolocation"in navigator},C.postmessage=function(){return!!a.postMessage},C.websqldatabase=function(){return!!a.openDatabase},C.indexedDB=function(){return!!j("indexedDB",a)},C.hashchange=function(){return J("hashchange",a)&&(b.documentMode===c||b.documentMode>7)},C.history=function(){return!(!a.history||!history.pushState)},C.draganddrop=function(){var a=b.createElement("div");return"draggable"in a||"ondragstart"in a&&"ondrop"in a},C.websockets=function(){return"WebSocket"in a||"MozWebSocket"in a},C.rgba=function(){return d("background-color:rgba(150,255,150,.5)"),g(t.backgroundColor,"rgba")},C.hsla=function(){return d("background-color:hsla(120,40%,100%,.5)"),g(t.backgroundColor,"rgba")||g(t.backgroundColor,"hsla")},C.multiplebgs=function(){return d("background:url(https://),url(https://),red url(https://)"),/(url\s*\(.*?){3}/.test(t.background)},C.backgroundsize=function(){return j("backgroundSize")},C.borderimage=function(){return j("borderImage")},C.borderradius=function(){return j("borderRadius")},C.boxshadow=function(){return j("boxShadow")},C.textshadow=function(){return""===b.createElement("div").style.textShadow},C.opacity=function(){return e("opacity:.55"),/^0.55$/.test(t.opacity)},C.cssanimations=function(){return j("animationName")},C.csscolumns=function(){return j("columnCount")},C.cssgradients=function(){var a="background-image:",b="gradient(linear,left top,right bottom,from(#9f9),to(white));",c="linear-gradient(left top,#9f9, white);";return d((a+"-webkit- ".split(" ").join(b+a)+x.join(c+a)).slice(0,-a.length)),g(t.backgroundImage,"gradient")},C.cssreflections=function(){return j("boxReflect")},C.csstransforms=function(){return!!j("transform")},C.csstransforms3d=function(){var a=!!j("perspective");return a&&"webkitPerspective"in q.style&&H("@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}",function(b,c){a=9===b.offsetLeft&&3===b.offsetHeight}),a},C.csstransitions=function(){return j("transition")},C.fontface=function(){var a;return H('@font-face {font-family:"font";src:url("https://")}',function(c,d){var e=b.getElementById("smodernizr"),f=e.sheet||e.styleSheet,g=f?f.cssRules&&f.cssRules[0]?f.cssRules[0].cssText:f.cssText||"":"";a=/src/i.test(g)&&0===g.indexOf(d.split(" ")[0])}),a},C.generatedcontent=function(){var a;return H(["#",r,"{font:0/0 a}#",r,':after{content:"',v,'";visibility:hidden;font:3px/1 a}'].join(""),function(b){a=b.offsetHeight>=3}),a},C.video=function(){var a=b.createElement("video"),c=!1;try{(c=!!a.canPlayType)&&(c=new Boolean(c),c.ogg=a.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,""),c.h264=a.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,""),c.webm=a.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,""))}catch(d){}return c},C.audio=function(){var a=b.createElement("audio"),c=!1;try{(c=!!a.canPlayType)&&(c=new Boolean(c),c.ogg=a.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),c.mp3=a.canPlayType("audio/mpeg;").replace(/^no$/,""),c.wav=a.canPlayType('audio/wav; codecs="1"').replace(/^no$/,""),c.m4a=(a.canPlayType("audio/x-m4a;")||a.canPlayType("audio/aac;")).replace(/^no$/,""))}catch(d){}return c},C.localstorage=function(){try{return localStorage.setItem(r,r),localStorage.removeItem(r),!0}catch(a){return!1}},C.sessionstorage=function(){try{return sessionStorage.setItem(r,r),sessionStorage.removeItem(r),!0}catch(a){return!1}},C.webworkers=function(){return!!a.Worker},C.applicationcache=function(){return!!a.applicationCache},C.svg=function(){return!!b.createElementNS&&!!b.createElementNS(B.svg,"svg").createSVGRect},C.inlinesvg=function(){var a=b.createElement("div");return a.innerHTML="",(a.firstChild&&a.firstChild.namespaceURI)==B.svg},C.smil=function(){return!!b.createElementNS&&/SVGAnimate/.test(w.call(b.createElementNS(B.svg,"animate")))},C.svgclippaths=function(){return!!b.createElementNS&&/SVGClipPath/.test(w.call(b.createElementNS(B.svg,"clipPath")))};for(var L in C)m(C,L)&&(l=L.toLowerCase(),o[l]=C[L](),F.push((o[l]?"":"no-")+l));return o.input||k(),o.addTest=function(a,b){if("object"==typeof a)for(var d in a)m(a,d)&&o.addTest(d,a[d]);else{if(a=a.toLowerCase(),o[a]!==c)return o;b="function"==typeof b?b():b,"undefined"!=typeof p&&p&&(q.className+=" "+(b?"":"no-")+a),o[a]=b}return o},d(""),s=u=null,function(a,b){function c(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=r.elements;return"string"==typeof a?a.split(" "):a}function e(a){var b=q[a[o]];return b||(b={},p++,a[o]=p,q[p]=b),b}function f(a,c,d){if(c||(c=b),k)return c.createElement(a);d||(d=e(c));var f;return f=d.cache[a]?d.cache[a].cloneNode():n.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),f.canHaveChildren&&!m.test(a)?d.frag.appendChild(f):f}function g(a,c){if(a||(a=b),k)return a.createDocumentFragment();c=c||e(a);for(var f=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)f.createElement(h[g]);return f}function h(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return r.shivMethods?f(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/\w+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(r,b.frag)}function i(a){a||(a=b);var d=e(a);return!r.shivCSS||j||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,figcaption,figure,footer,header,hgroup,nav,section{display:block}mark{background:#FF0;color:#000}")),k||h(a,d),a}var j,k,l=a.html5||{},m=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,n=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,o="_html5shiv",p=0,q={};!function(){try{var a=b.createElement("a");a.innerHTML="",j="hidden"in a,k=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){j=!0,k=!0}}();var r={elements:l.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",shivCSS:l.shivCSS!==!1,supportsUnknownElements:k,shivMethods:l.shivMethods!==!1,type:"default",shivDocument:i,createElement:f,createDocumentFragment:g};a.html5=r,i(b)}(this,b),o._version=n,o._prefixes=x,o._domPrefixes=A,o._cssomPrefixes=z,o.mq=I,o.hasEvent=J,o.testProp=function(a){return h([a])},o.testAllProps=j,o.testStyles=H,o.prefixed=function(a,b,c){return b?j(a,b,c):j(a,"pfx")},q.className=q.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(p?" js "+F.join(" "):""),o}(this,this.document); \ No newline at end of file From b55ecaa869052d57325fd9eeb5117d0caa098645 Mon Sep 17 00:00:00 2001 From: danshapir Date: Sun, 5 Apr 2015 16:58:13 +0300 Subject: [PATCH 21/24] Vertical fixed --- .idea/.name | 1 + .idea/bootstrap-for-ember-Dan.iml | 9 + .idea/jsLibraryMappings.xml | 6 + .../bootstrap_for_ember_Dan_node_modules.xml | 14 ++ .idea/misc.xml | 14 ++ .idea/modules.xml | 8 + .idea/vcs.xml | 6 + .idea/workspace.xml | 223 ++++++++++++++++++ .../components/BsModalComponent.coffee | 14 +- bower.json | 2 +- dist/js/bs-modal.max.js | 11 + dist/js/bs-modal.min.js | 2 +- 12 files changed, 305 insertions(+), 5 deletions(-) create mode 100644 .idea/.name create mode 100644 .idea/bootstrap-for-ember-Dan.iml create mode 100644 .idea/jsLibraryMappings.xml create mode 100644 .idea/libraries/bootstrap_for_ember_Dan_node_modules.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml create mode 100644 .idea/workspace.xml diff --git a/.idea/.name b/.idea/.name new file mode 100644 index 0000000..cf8fa21 --- /dev/null +++ b/.idea/.name @@ -0,0 +1 @@ +bootstrap-for-ember-Dan \ No newline at end of file diff --git a/.idea/bootstrap-for-ember-Dan.iml b/.idea/bootstrap-for-ember-Dan.iml new file mode 100644 index 0000000..8bc2a5c --- /dev/null +++ b/.idea/bootstrap-for-ember-Dan.iml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/jsLibraryMappings.xml b/.idea/jsLibraryMappings.xml new file mode 100644 index 0000000..c68813d --- /dev/null +++ b/.idea/jsLibraryMappings.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/libraries/bootstrap_for_ember_Dan_node_modules.xml b/.idea/libraries/bootstrap_for_ember_Dan_node_modules.xml new file mode 100644 index 0000000..4c70e1f --- /dev/null +++ b/.idea/libraries/bootstrap_for_ember_Dan_node_modules.xml @@ -0,0 +1,14 @@ + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..19f74da --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..0b2da67 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml new file mode 100644 index 0000000..eea88c2 --- /dev/null +++ b/.idea/workspace.xml @@ -0,0 +1,223 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1428235339358 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/scripts/components/BsModalComponent.coffee b/app/scripts/components/BsModalComponent.coffee index 4e0502d..bf19c4a 100644 --- a/app/scripts/components/BsModalComponent.coffee +++ b/app/scripts/components/BsModalComponent.coffee @@ -1,7 +1,7 @@ ### Modal component. ### - +# #Bootstrap.ResizeMixin = Ember.Mixin.create( # resizing: false # resizeDelay: 200 @@ -60,6 +60,14 @@ Bootstrap.BsModalComponent = Ember.Component.extend(Ember.Evented, return @$().find('.modal-dialog').css('z-index', @get('zindex')) return ).observes('zindex') + dialogVerticalStyle: (-> + if @get('vertical') + Ember.run.scheduleOnce 'afterRender', this, -> + if @$() + marginHeight = @$('.modal-dialog').height() / 2 + return @$().find('.modal-dialog').css('margin-top', '-' + marginHeight + 'px'); + return + ).observes('vertical').on('didInsertElement') backdropStyle: (-> "z-index: #{@get('zindex') - 2};" ).property('zindex') @@ -79,7 +87,7 @@ Bootstrap.BsModalComponent = Ember.Component.extend(Ember.Evented, vertical: false zindex: 1000 keyClose: true -# + # onResize: (-> # # do what you want when resize is triggered # if @get('vertical') @@ -318,5 +326,5 @@ Bootstrap.ModalManager = Ember.Object.createWithMixins(Ember.Evented, Ember.Application.initializer name: 'bs-modal' initialize: (container, application) -> - #Ember.$(window).resize(Bootstrap.adjustModalMaxHeightAndPosition).trigger "resize" if Ember.$(window).height() >= 320 +# Ember.$(window).resize(Bootstrap.adjustModalMaxHeightAndPosition).trigger "resize" if Ember.$(window).height() >= 320 container.register "component:bs-modal", Bootstrap.BsModalComponent \ No newline at end of file diff --git a/bower.json b/bower.json index dff0cb0..c3cfd5f 100644 --- a/bower.json +++ b/bower.json @@ -42,7 +42,7 @@ "bootstrap": "3.0.0", "highlightjs": "~7.3.0", "font-awesome": "~4.0.3", - "ember": "~1.10.0", + "ember": "~1.11.0", "handlebars": "2.0.0" }, "license": "Apache2", diff --git a/dist/js/bs-modal.max.js b/dist/js/bs-modal.max.js index c935466..d4e7848 100644 --- a/dist/js/bs-modal.max.js +++ b/dist/js/bs-modal.max.js @@ -19,6 +19,17 @@ Modal component. } }); }).observes('zindex'), + dialogVerticalStyle: (function() { + if (this.get('vertical')) { + Ember.run.scheduleOnce('afterRender', this, function() { + var marginHeight; + if (this.$()) { + marginHeight = this.$('.modal-dialog').height() / 2; + return this.$().find('.modal-dialog').css('margin-top', '-' + marginHeight + 'px'); + } + }); + } + }).observes('vertical').on('didInsertElement'), backdropStyle: (function() { return "z-index: " + (this.get('zindex') - 2) + ";"; }).property('zindex'), diff --git a/dist/js/bs-modal.min.js b/dist/js/bs-modal.min.js index 9db14b5..939b094 100644 --- a/dist/js/bs-modal.min.js +++ b/dist/js/bs-modal.min.js @@ -1 +1 @@ -(function(){Bootstrap.BsModalComponent=Ember.Component.extend(Ember.Evented,{layoutName:"components/bs-modal",classNames:["modal"],classNameBindings:["fade","isVis:in","vertical:modal-dialog-center","class"],attributeBindings:["role","aria-labelledby","isAriaHidden:aria-hidden","ariaLabelledBy:aria-labelledby"],isAriaHidden:function(){return""+this.get("isVisible")}.property("isVisible"),dialogStyle:function(){Ember.run.scheduleOnce("afterRender",this,function(){return this.$()?this.$().find(".modal-dialog").css("z-index",this.get("zindex")):void 0})}.observes("zindex"),backdropStyle:function(){return"z-index: "+(this.get("zindex")-2)+";"}.property("zindex"),modalBackdrop:'',role:"dialog",footerViews:[],backdrop:!0,title:null,isVisible:!1,manual:!1,isVis:!1,fullSizeButtons:!1,fade:!0,vertical:!1,zindex:1e3,keyClose:!0,didInsertElement:function(){var a;return this._super(),this.setupBinders(),a=this.get("name"),Ember.assert("Modal name is required for modal view "+this.get("elementId"),this.get("name")),null==a&&(a=this.get("elementId")),Bootstrap.ModalManager.add(a,this),this.dialogStyle(),this.manual?this.show():void 0},becameVisible:function(){return Em.$("body").addClass("modal-open")},becameHidden:function(){return Em.$("body").removeClass("modal-open")},appendBackdrop:function(){var a;return a=this.$().parent(),this._backdrop=Em.$(this.modalBackdrop).appendTo(a)},show:function(){this.set("isVisible",!0),Ember.run.later(this,function(){this.set("isVis",!0)},15)},hide:function(){return this.get("isDestroyed")||this.get("isDestroying")?void 0:(this.set("isVis",!1),this.get("fade")?Ember.run.later(this,function(){this.get("isDestroyed")||this.get("isDestroying")||this.set("isVisible",!1)},300):this.set("isVisible",!1),!1)},toggle:function(){return this.toggleProperty("isVisible")},click:function(a){var b,c;return b=a.target,c=b.getAttribute("data-dismiss"),"modal"===c?this.close():void 0},keyPressed:function(a){return 27===a.keyCode&&this.get("keyClose")&&this.get("zindex")===Bootstrap.ModalManager.get("zindex")?this.close(a):void 0},close:function(a){return this.get("isDestroyed")||this.get("isDestroying")?void 0:(this.set("isVis",!1),this.get("fade")?Ember.run.later(this,function(){this.get("isDestroyed")||this.get("isDestroying")||(this.get("manual")?this.destroy():this.set("isVisible",!1),this.trigger("closed",this))},300):(this.set("isVisible",!1),this.trigger("closed",this)))},willDestroyElement:function(){var a;return Em.$("body").removeClass("modal-open"),this.removeHandlers(),a=this.get("name"),null==a&&(a=this.get("elementId")),Bootstrap.ModalManager.remove(a,this),this._backdrop?this._backdrop.remove():void 0},removeHandlers:function(){return jQuery(window.document).unbind("keyup",this._keyUpHandler)},setupBinders:function(){var a,b=this;return a=function(a){return b.keyPressed(a)},jQuery(window.document).bind("keyup",a),this._keyUpHandler=a}}),Bootstrap.ModalManager=Ember.Object.createWithMixins(Ember.Evented,{add:function(a,b){var c;return c=this.get("zindex"),this.set("zindex",c+2),b.set("zindex",c+2),b.on("closed",function(a){return c=a.get("zindex"),c===Bootstrap.ModalManager.get("zindex")&&Bootstrap.ModalManager.set("zindex",c-2),Bootstrap.ModalManager.trigger("closed",a)}),this.set(a,b)},register:function(a,b){return this.add(a,b),b.appendTo(b.get("targetObject").namespace.rootElement)},remove:function(a){return this.set(a,null)},close:function(a){return this.get(a).close()},hide:function(a){return this.get(a).hide()},show:function(a){return this.get(a).show()},toggle:function(a){return this.get(a).toggle()},confirm:function(a,b,c,d,e,f,g,h,i,j){var k,l;return null==e&&(e="Confirm"),null==f&&(f="modalConfirmed"),null==g&&(g=null),null==h&&(h="Cancel"),null==i&&(i="modalCanceled"),null==j&&(j=null),k=Ember.View.extend({template:Ember.Handlebars.compile(c||"Are you sure you would like to perform this action?")}),l=[Ember.Object.create({title:e,clicked:f,type:g,dismiss:"modal"}),Ember.Object.create({title:h,clicked:i,type:j,dismiss:"modal"})],this.open("confirm-modal",b||"Confirmation required!",k,l,a,d)},okModal:function(a,b,c,d,e,f,g){var h,i;return null==e&&(e="OK"),null==f&&(f="okModal"),null==g&&(g=null),h=Ember.View.extend({template:Ember.Handlebars.compile(c||"Are you sure you would like to perform this action?")}),i=[Ember.Object.create({title:e,clicked:f,type:g,dismiss:"modal"})],this.open("ok-modal",b||"Confirmation required!",h,i,a,d)},openModal:function(a,b){var c,d;return null==b&&(b={}),d=b.rootElement||".ember-application",c=a.create(b),c.appendTo(d)},openManual:function(a,b,c,d,e,f){var g;return g=Ember.View.extend({template:Ember.Handlebars.compile(c),controller:e}),this.open(a,b,g,d,e,f)},open:function(a,b,c,d,e,f){var g,h,i,j;return g=void 0,h=void 0,j=void 0,null==f&&(f={}),null==f.fade&&(f.fade=this.get("fade")),null==f.fullSizeButtons&&(f.fullSizeButtons=this.get("fullSizeButtons")),null==f.targetObject&&(f.targetObject=e),null==f.vertical&&(f.vertical=this.get("vertical")),g=e.container.lookup("component-lookup:main"),h=g.lookupFactory("bs-modal",e.get("container")).create(),h.setProperties({name:a,title:b,manual:!0,footerButtons:d}),h.setProperties(f),"string"===Ember.typeOf(c)?(j=e.container.lookup("template:"+c),Ember.assert("Template "+c+" was specified for Modal but template could not be found.",j),j&&h.setProperties({body:Ember.View.extend({template:j,controller:e})})):"class"===Ember.typeOf(c)&&h.setProperties({body:c,controller:e}),i=e.rootElement,"undefined"==typeof e.rootElement&&(i=e.namespace.rootElement),h.appendTo(i)},fade:!0,fullSizeButtons:!1,vertical:!1,zindex:1e3}),Ember.Application.initializer({name:"bs-modal",initialize:function(a,b){return a.register("component:bs-modal",Bootstrap.BsModalComponent)}})}).call(this),Ember.TEMPLATES["components/bs-modal"]=Ember.HTMLBars.template(function(){var a=function(){return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createElement("i");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.element;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.childAt(g,[1]);return f(b,h,a,"bind-attr",[],{"class":"titleIconClasses"}),g}}}(),b=function(){return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createComment("");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,1,1,c);return g(b,i,a,"view",[f(b,a,"view.body")],{}),h}}}(),c=function(){return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createComment("");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.content;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.createMorphAt(g,1,1,c);return f(b,h,a,"yield"),g}}}(),d=function(){return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createComment("");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,1,1,c);return g(b,i,a,"bs-button",[],{content:f(b,a,"footerButton"),targetObjectBinding:"view.targetObject"}),h}}}(),e=function(){return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createComment("");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,1,1,c);return g(b,i,a,"view",[f(b,a,"footerView")],{}),h}}}();return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createElement("div");a.setAttribute(c,"class","modal-dialog");var d=a.createTextNode("\n ");a.appendChild(c,d);var d=a.createElement("div");a.setAttribute(d,"class","modal-content");var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("div");a.setAttribute(e,"class","modal-header");var f=a.createTextNode("\n ");a.appendChild(e,f);var f=a.createElement("button");a.setAttribute(f,"type","button"),a.setAttribute(f,"data-dismiss","modal"),a.setAttribute(f,"aria-hidden","true");var g=a.createTextNode("×");a.appendChild(f,g),a.appendChild(e,f);var f=a.createTextNode("\n ");a.appendChild(e,f);var f=a.createElement("h4");a.setAttribute(f,"class","modal-title");var g=a.createTextNode("\n");a.appendChild(f,g);var g=a.createComment("");a.appendChild(f,g);var g=a.createTextNode(" ");a.appendChild(f,g);var g=a.createComment("");a.appendChild(f,g);var g=a.createTextNode("\n ");a.appendChild(f,g),a.appendChild(e,f);var f=a.createTextNode("\n ");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("div");a.setAttribute(e,"class","modal-body");var f=a.createTextNode("\n");a.appendChild(e,f);var f=a.createComment("");a.appendChild(e,f);var f=a.createTextNode(" ");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("div"),f=a.createTextNode("\n");a.appendChild(e,f);var f=a.createComment("");a.appendChild(e,f);var f=a.createComment("");a.appendChild(e,f);var f=a.createTextNode(" ");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e),a.appendChild(c,d);var d=a.createTextNode("\n");a.appendChild(c,d),a.appendChild(b,c);var c=a.createTextNode("\n\n");a.appendChild(b,c);var c=a.createElement("div");return a.appendChild(b,c),b},render:function(f,g,h){var i=g.dom,j=g.hooks,k=j.element,l=j.get,m=j.block,n=j.content;i.detectNamespace(h);var o;g.useFragmentCache&&i.canClone?(null===this.cachedFragment&&(o=this.build(i),this.hasRendered?this.cachedFragment=o:this.hasRendered=!0),this.cachedFragment&&(o=i.cloneNode(this.cachedFragment,!0))):o=this.build(i);var p=i.childAt(o,[0,1]),q=i.childAt(p,[1]),r=i.childAt(q,[1]),s=i.childAt(q,[3]),t=i.childAt(p,[5]),u=i.childAt(o,[2]),v=i.createMorphAt(s,1,1),w=i.createUnsafeMorphAt(s,3,3),x=i.createMorphAt(i.childAt(p,[3]),1,1),y=i.createMorphAt(t,1,1),z=i.createMorphAt(t,2,2);return k(g,r,f,"bind-attr",[],{"class":":close allowClose::hide"}),m(g,v,f,"if",[l(g,f,"titleIconClasses")],{},a,null),n(g,w,f,"title"),m(g,x,f,"if",[l(g,f,"body")],{},b,c),k(g,t,f,"bind-attr",[],{"class":":modal-footer fullSizeButtons:modal-footer-full"}),m(g,y,f,"each",[l(g,f,"footerButtons")],{keyword:"footerButton"},d,null),m(g,z,f,"each",[l(g,f,"footerViews")],{keyword:"footerView"},e,null),k(g,u,f,"bind-attr",[],{style:l(g,f,"backdropStyle"),"class":":modal-backdrop fade:fade backdrop:in"}),o}}}()); \ No newline at end of file +(function(){Bootstrap.BsModalComponent=Ember.Component.extend(Ember.Evented,{layoutName:"components/bs-modal",classNames:["modal"],classNameBindings:["fade","isVis:in","vertical:modal-dialog-center","class"],attributeBindings:["role","aria-labelledby","isAriaHidden:aria-hidden","ariaLabelledBy:aria-labelledby"],isAriaHidden:function(){return""+this.get("isVisible")}.property("isVisible"),dialogStyle:function(){Ember.run.scheduleOnce("afterRender",this,function(){return this.$()?this.$().find(".modal-dialog").css("z-index",this.get("zindex")):void 0})}.observes("zindex"),dialogVerticalStyle:function(){this.get("vertical")&&Ember.run.scheduleOnce("afterRender",this,function(){var a;return this.$()?(a=this.$(".modal-dialog").height()/2,this.$().find(".modal-dialog").css("margin-top","-"+a+"px")):void 0})}.observes("vertical").on("didInsertElement"),backdropStyle:function(){return"z-index: "+(this.get("zindex")-2)+";"}.property("zindex"),modalBackdrop:'',role:"dialog",footerViews:[],backdrop:!0,title:null,isVisible:!1,manual:!1,isVis:!1,fullSizeButtons:!1,fade:!0,vertical:!1,zindex:1e3,keyClose:!0,didInsertElement:function(){var a;return this._super(),this.setupBinders(),a=this.get("name"),Ember.assert("Modal name is required for modal view "+this.get("elementId"),this.get("name")),null==a&&(a=this.get("elementId")),Bootstrap.ModalManager.add(a,this),this.dialogStyle(),this.manual?this.show():void 0},becameVisible:function(){return Em.$("body").addClass("modal-open")},becameHidden:function(){return Em.$("body").removeClass("modal-open")},appendBackdrop:function(){var a;return a=this.$().parent(),this._backdrop=Em.$(this.modalBackdrop).appendTo(a)},show:function(){this.set("isVisible",!0),Ember.run.later(this,function(){this.set("isVis",!0)},15)},hide:function(){return this.get("isDestroyed")||this.get("isDestroying")?void 0:(this.set("isVis",!1),this.get("fade")?Ember.run.later(this,function(){this.get("isDestroyed")||this.get("isDestroying")||this.set("isVisible",!1)},300):this.set("isVisible",!1),!1)},toggle:function(){return this.toggleProperty("isVisible")},click:function(a){var b,c;return b=a.target,c=b.getAttribute("data-dismiss"),"modal"===c?this.close():void 0},keyPressed:function(a){return 27===a.keyCode&&this.get("keyClose")&&this.get("zindex")===Bootstrap.ModalManager.get("zindex")?this.close(a):void 0},close:function(a){return this.get("isDestroyed")||this.get("isDestroying")?void 0:(this.set("isVis",!1),this.get("fade")?Ember.run.later(this,function(){this.get("isDestroyed")||this.get("isDestroying")||(this.get("manual")?this.destroy():this.set("isVisible",!1),this.trigger("closed",this))},300):(this.set("isVisible",!1),this.trigger("closed",this)))},willDestroyElement:function(){var a;return Em.$("body").removeClass("modal-open"),this.removeHandlers(),a=this.get("name"),null==a&&(a=this.get("elementId")),Bootstrap.ModalManager.remove(a,this),this._backdrop?this._backdrop.remove():void 0},removeHandlers:function(){return jQuery(window.document).unbind("keyup",this._keyUpHandler)},setupBinders:function(){var a,b=this;return a=function(a){return b.keyPressed(a)},jQuery(window.document).bind("keyup",a),this._keyUpHandler=a}}),Bootstrap.ModalManager=Ember.Object.createWithMixins(Ember.Evented,{add:function(a,b){var c;return c=this.get("zindex"),this.set("zindex",c+2),b.set("zindex",c+2),b.on("closed",function(a){return c=a.get("zindex"),c===Bootstrap.ModalManager.get("zindex")&&Bootstrap.ModalManager.set("zindex",c-2),Bootstrap.ModalManager.trigger("closed",a)}),this.set(a,b)},register:function(a,b){return this.add(a,b),b.appendTo(b.get("targetObject").namespace.rootElement)},remove:function(a){return this.set(a,null)},close:function(a){return this.get(a).close()},hide:function(a){return this.get(a).hide()},show:function(a){return this.get(a).show()},toggle:function(a){return this.get(a).toggle()},confirm:function(a,b,c,d,e,f,g,h,i,j){var k,l;return null==e&&(e="Confirm"),null==f&&(f="modalConfirmed"),null==g&&(g=null),null==h&&(h="Cancel"),null==i&&(i="modalCanceled"),null==j&&(j=null),k=Ember.View.extend({template:Ember.Handlebars.compile(c||"Are you sure you would like to perform this action?")}),l=[Ember.Object.create({title:e,clicked:f,type:g,dismiss:"modal"}),Ember.Object.create({title:h,clicked:i,type:j,dismiss:"modal"})],this.open("confirm-modal",b||"Confirmation required!",k,l,a,d)},okModal:function(a,b,c,d,e,f,g){var h,i;return null==e&&(e="OK"),null==f&&(f="okModal"),null==g&&(g=null),h=Ember.View.extend({template:Ember.Handlebars.compile(c||"Are you sure you would like to perform this action?")}),i=[Ember.Object.create({title:e,clicked:f,type:g,dismiss:"modal"})],this.open("ok-modal",b||"Confirmation required!",h,i,a,d)},openModal:function(a,b){var c,d;return null==b&&(b={}),d=b.rootElement||".ember-application",c=a.create(b),c.appendTo(d)},openManual:function(a,b,c,d,e,f){var g;return g=Ember.View.extend({template:Ember.Handlebars.compile(c),controller:e}),this.open(a,b,g,d,e,f)},open:function(a,b,c,d,e,f){var g,h,i,j;return g=void 0,h=void 0,j=void 0,null==f&&(f={}),null==f.fade&&(f.fade=this.get("fade")),null==f.fullSizeButtons&&(f.fullSizeButtons=this.get("fullSizeButtons")),null==f.targetObject&&(f.targetObject=e),null==f.vertical&&(f.vertical=this.get("vertical")),g=e.container.lookup("component-lookup:main"),h=g.lookupFactory("bs-modal",e.get("container")).create(),h.setProperties({name:a,title:b,manual:!0,footerButtons:d}),h.setProperties(f),"string"===Ember.typeOf(c)?(j=e.container.lookup("template:"+c),Ember.assert("Template "+c+" was specified for Modal but template could not be found.",j),j&&h.setProperties({body:Ember.View.extend({template:j,controller:e})})):"class"===Ember.typeOf(c)&&h.setProperties({body:c,controller:e}),i=e.rootElement,"undefined"==typeof e.rootElement&&(i=e.namespace.rootElement),h.appendTo(i)},fade:!0,fullSizeButtons:!1,vertical:!1,zindex:1e3}),Ember.Application.initializer({name:"bs-modal",initialize:function(a,b){return a.register("component:bs-modal",Bootstrap.BsModalComponent)}})}).call(this),Ember.TEMPLATES["components/bs-modal"]=Ember.HTMLBars.template(function(){var a=function(){return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createElement("i");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.element;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.childAt(g,[1]);return f(b,h,a,"bind-attr",[],{"class":"titleIconClasses"}),g}}}(),b=function(){return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createComment("");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,1,1,c);return g(b,i,a,"view",[f(b,a,"view.body")],{}),h}}}(),c=function(){return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createComment("");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.content;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.createMorphAt(g,1,1,c);return f(b,h,a,"yield"),g}}}(),d=function(){return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createComment("");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,1,1,c);return g(b,i,a,"bs-button",[],{content:f(b,a,"footerButton"),targetObjectBinding:"view.targetObject"}),h}}}(),e=function(){return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createComment("");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,1,1,c);return g(b,i,a,"view",[f(b,a,"footerView")],{}),h}}}();return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createElement("div");a.setAttribute(c,"class","modal-dialog");var d=a.createTextNode("\n ");a.appendChild(c,d);var d=a.createElement("div");a.setAttribute(d,"class","modal-content");var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("div");a.setAttribute(e,"class","modal-header");var f=a.createTextNode("\n ");a.appendChild(e,f);var f=a.createElement("button");a.setAttribute(f,"type","button"),a.setAttribute(f,"data-dismiss","modal"),a.setAttribute(f,"aria-hidden","true");var g=a.createTextNode("×");a.appendChild(f,g),a.appendChild(e,f);var f=a.createTextNode("\n ");a.appendChild(e,f);var f=a.createElement("h4");a.setAttribute(f,"class","modal-title");var g=a.createTextNode("\n");a.appendChild(f,g);var g=a.createComment("");a.appendChild(f,g);var g=a.createTextNode(" ");a.appendChild(f,g);var g=a.createComment("");a.appendChild(f,g);var g=a.createTextNode("\n ");a.appendChild(f,g),a.appendChild(e,f);var f=a.createTextNode("\n ");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("div");a.setAttribute(e,"class","modal-body");var f=a.createTextNode("\n");a.appendChild(e,f);var f=a.createComment("");a.appendChild(e,f);var f=a.createTextNode(" ");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("div"),f=a.createTextNode("\n");a.appendChild(e,f);var f=a.createComment("");a.appendChild(e,f);var f=a.createComment("");a.appendChild(e,f);var f=a.createTextNode(" ");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e),a.appendChild(c,d);var d=a.createTextNode("\n");a.appendChild(c,d),a.appendChild(b,c);var c=a.createTextNode("\n\n");a.appendChild(b,c);var c=a.createElement("div");return a.appendChild(b,c),b},render:function(f,g,h){var i=g.dom,j=g.hooks,k=j.element,l=j.get,m=j.block,n=j.content;i.detectNamespace(h);var o;g.useFragmentCache&&i.canClone?(null===this.cachedFragment&&(o=this.build(i),this.hasRendered?this.cachedFragment=o:this.hasRendered=!0),this.cachedFragment&&(o=i.cloneNode(this.cachedFragment,!0))):o=this.build(i);var p=i.childAt(o,[0,1]),q=i.childAt(p,[1]),r=i.childAt(q,[1]),s=i.childAt(q,[3]),t=i.childAt(p,[5]),u=i.childAt(o,[2]),v=i.createMorphAt(s,1,1),w=i.createUnsafeMorphAt(s,3,3),x=i.createMorphAt(i.childAt(p,[3]),1,1),y=i.createMorphAt(t,1,1),z=i.createMorphAt(t,2,2);return k(g,r,f,"bind-attr",[],{"class":":close allowClose::hide"}),m(g,v,f,"if",[l(g,f,"titleIconClasses")],{},a,null),n(g,w,f,"title"),m(g,x,f,"if",[l(g,f,"body")],{},b,c),k(g,t,f,"bind-attr",[],{"class":":modal-footer fullSizeButtons:modal-footer-full"}),m(g,y,f,"each",[l(g,f,"footerButtons")],{keyword:"footerButton"},d,null),m(g,z,f,"each",[l(g,f,"footerViews")],{keyword:"footerView"},e,null),k(g,u,f,"bind-attr",[],{style:l(g,f,"backdropStyle"),"class":":modal-backdrop fade:fade backdrop:in"}),o}}}()); \ No newline at end of file From a7feedc0978c3d6fb0de18c06a820ab483e333e6 Mon Sep 17 00:00:00 2001 From: danshapir Date: Tue, 28 Apr 2015 17:11:45 +0300 Subject: [PATCH 22/24] Destroy manual modal --- app/scripts/components/BsModalComponent.coffee | 2 +- dist/js/bs-modal.max.js | 6 +++++- dist/js/bs-modal.min.js | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/app/scripts/components/BsModalComponent.coffee b/app/scripts/components/BsModalComponent.coffee index bf19c4a..229f68e 100644 --- a/app/scripts/components/BsModalComponent.coffee +++ b/app/scripts/components/BsModalComponent.coffee @@ -186,7 +186,7 @@ Bootstrap.BsModalComponent = Ember.Component.extend(Ember.Evented, return ), 300 else - @set 'isVisible', false + if @get('manual') then @destroy() else @set 'isVisible', false @trigger 'closed', this diff --git a/dist/js/bs-modal.max.js b/dist/js/bs-modal.max.js index d4e7848..98c982b 100644 --- a/dist/js/bs-modal.max.js +++ b/dist/js/bs-modal.max.js @@ -129,7 +129,11 @@ Modal component. this.trigger('closed', this); }), 300); } else { - this.set('isVisible', false); + if (this.get('manual')) { + this.destroy(); + } else { + this.set('isVisible', false); + } return this.trigger('closed', this); } }, diff --git a/dist/js/bs-modal.min.js b/dist/js/bs-modal.min.js index 939b094..f84c880 100644 --- a/dist/js/bs-modal.min.js +++ b/dist/js/bs-modal.min.js @@ -1 +1 @@ -(function(){Bootstrap.BsModalComponent=Ember.Component.extend(Ember.Evented,{layoutName:"components/bs-modal",classNames:["modal"],classNameBindings:["fade","isVis:in","vertical:modal-dialog-center","class"],attributeBindings:["role","aria-labelledby","isAriaHidden:aria-hidden","ariaLabelledBy:aria-labelledby"],isAriaHidden:function(){return""+this.get("isVisible")}.property("isVisible"),dialogStyle:function(){Ember.run.scheduleOnce("afterRender",this,function(){return this.$()?this.$().find(".modal-dialog").css("z-index",this.get("zindex")):void 0})}.observes("zindex"),dialogVerticalStyle:function(){this.get("vertical")&&Ember.run.scheduleOnce("afterRender",this,function(){var a;return this.$()?(a=this.$(".modal-dialog").height()/2,this.$().find(".modal-dialog").css("margin-top","-"+a+"px")):void 0})}.observes("vertical").on("didInsertElement"),backdropStyle:function(){return"z-index: "+(this.get("zindex")-2)+";"}.property("zindex"),modalBackdrop:'',role:"dialog",footerViews:[],backdrop:!0,title:null,isVisible:!1,manual:!1,isVis:!1,fullSizeButtons:!1,fade:!0,vertical:!1,zindex:1e3,keyClose:!0,didInsertElement:function(){var a;return this._super(),this.setupBinders(),a=this.get("name"),Ember.assert("Modal name is required for modal view "+this.get("elementId"),this.get("name")),null==a&&(a=this.get("elementId")),Bootstrap.ModalManager.add(a,this),this.dialogStyle(),this.manual?this.show():void 0},becameVisible:function(){return Em.$("body").addClass("modal-open")},becameHidden:function(){return Em.$("body").removeClass("modal-open")},appendBackdrop:function(){var a;return a=this.$().parent(),this._backdrop=Em.$(this.modalBackdrop).appendTo(a)},show:function(){this.set("isVisible",!0),Ember.run.later(this,function(){this.set("isVis",!0)},15)},hide:function(){return this.get("isDestroyed")||this.get("isDestroying")?void 0:(this.set("isVis",!1),this.get("fade")?Ember.run.later(this,function(){this.get("isDestroyed")||this.get("isDestroying")||this.set("isVisible",!1)},300):this.set("isVisible",!1),!1)},toggle:function(){return this.toggleProperty("isVisible")},click:function(a){var b,c;return b=a.target,c=b.getAttribute("data-dismiss"),"modal"===c?this.close():void 0},keyPressed:function(a){return 27===a.keyCode&&this.get("keyClose")&&this.get("zindex")===Bootstrap.ModalManager.get("zindex")?this.close(a):void 0},close:function(a){return this.get("isDestroyed")||this.get("isDestroying")?void 0:(this.set("isVis",!1),this.get("fade")?Ember.run.later(this,function(){this.get("isDestroyed")||this.get("isDestroying")||(this.get("manual")?this.destroy():this.set("isVisible",!1),this.trigger("closed",this))},300):(this.set("isVisible",!1),this.trigger("closed",this)))},willDestroyElement:function(){var a;return Em.$("body").removeClass("modal-open"),this.removeHandlers(),a=this.get("name"),null==a&&(a=this.get("elementId")),Bootstrap.ModalManager.remove(a,this),this._backdrop?this._backdrop.remove():void 0},removeHandlers:function(){return jQuery(window.document).unbind("keyup",this._keyUpHandler)},setupBinders:function(){var a,b=this;return a=function(a){return b.keyPressed(a)},jQuery(window.document).bind("keyup",a),this._keyUpHandler=a}}),Bootstrap.ModalManager=Ember.Object.createWithMixins(Ember.Evented,{add:function(a,b){var c;return c=this.get("zindex"),this.set("zindex",c+2),b.set("zindex",c+2),b.on("closed",function(a){return c=a.get("zindex"),c===Bootstrap.ModalManager.get("zindex")&&Bootstrap.ModalManager.set("zindex",c-2),Bootstrap.ModalManager.trigger("closed",a)}),this.set(a,b)},register:function(a,b){return this.add(a,b),b.appendTo(b.get("targetObject").namespace.rootElement)},remove:function(a){return this.set(a,null)},close:function(a){return this.get(a).close()},hide:function(a){return this.get(a).hide()},show:function(a){return this.get(a).show()},toggle:function(a){return this.get(a).toggle()},confirm:function(a,b,c,d,e,f,g,h,i,j){var k,l;return null==e&&(e="Confirm"),null==f&&(f="modalConfirmed"),null==g&&(g=null),null==h&&(h="Cancel"),null==i&&(i="modalCanceled"),null==j&&(j=null),k=Ember.View.extend({template:Ember.Handlebars.compile(c||"Are you sure you would like to perform this action?")}),l=[Ember.Object.create({title:e,clicked:f,type:g,dismiss:"modal"}),Ember.Object.create({title:h,clicked:i,type:j,dismiss:"modal"})],this.open("confirm-modal",b||"Confirmation required!",k,l,a,d)},okModal:function(a,b,c,d,e,f,g){var h,i;return null==e&&(e="OK"),null==f&&(f="okModal"),null==g&&(g=null),h=Ember.View.extend({template:Ember.Handlebars.compile(c||"Are you sure you would like to perform this action?")}),i=[Ember.Object.create({title:e,clicked:f,type:g,dismiss:"modal"})],this.open("ok-modal",b||"Confirmation required!",h,i,a,d)},openModal:function(a,b){var c,d;return null==b&&(b={}),d=b.rootElement||".ember-application",c=a.create(b),c.appendTo(d)},openManual:function(a,b,c,d,e,f){var g;return g=Ember.View.extend({template:Ember.Handlebars.compile(c),controller:e}),this.open(a,b,g,d,e,f)},open:function(a,b,c,d,e,f){var g,h,i,j;return g=void 0,h=void 0,j=void 0,null==f&&(f={}),null==f.fade&&(f.fade=this.get("fade")),null==f.fullSizeButtons&&(f.fullSizeButtons=this.get("fullSizeButtons")),null==f.targetObject&&(f.targetObject=e),null==f.vertical&&(f.vertical=this.get("vertical")),g=e.container.lookup("component-lookup:main"),h=g.lookupFactory("bs-modal",e.get("container")).create(),h.setProperties({name:a,title:b,manual:!0,footerButtons:d}),h.setProperties(f),"string"===Ember.typeOf(c)?(j=e.container.lookup("template:"+c),Ember.assert("Template "+c+" was specified for Modal but template could not be found.",j),j&&h.setProperties({body:Ember.View.extend({template:j,controller:e})})):"class"===Ember.typeOf(c)&&h.setProperties({body:c,controller:e}),i=e.rootElement,"undefined"==typeof e.rootElement&&(i=e.namespace.rootElement),h.appendTo(i)},fade:!0,fullSizeButtons:!1,vertical:!1,zindex:1e3}),Ember.Application.initializer({name:"bs-modal",initialize:function(a,b){return a.register("component:bs-modal",Bootstrap.BsModalComponent)}})}).call(this),Ember.TEMPLATES["components/bs-modal"]=Ember.HTMLBars.template(function(){var a=function(){return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createElement("i");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.element;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.childAt(g,[1]);return f(b,h,a,"bind-attr",[],{"class":"titleIconClasses"}),g}}}(),b=function(){return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createComment("");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,1,1,c);return g(b,i,a,"view",[f(b,a,"view.body")],{}),h}}}(),c=function(){return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createComment("");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.content;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.createMorphAt(g,1,1,c);return f(b,h,a,"yield"),g}}}(),d=function(){return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createComment("");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,1,1,c);return g(b,i,a,"bs-button",[],{content:f(b,a,"footerButton"),targetObjectBinding:"view.targetObject"}),h}}}(),e=function(){return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createComment("");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,1,1,c);return g(b,i,a,"view",[f(b,a,"footerView")],{}),h}}}();return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createElement("div");a.setAttribute(c,"class","modal-dialog");var d=a.createTextNode("\n ");a.appendChild(c,d);var d=a.createElement("div");a.setAttribute(d,"class","modal-content");var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("div");a.setAttribute(e,"class","modal-header");var f=a.createTextNode("\n ");a.appendChild(e,f);var f=a.createElement("button");a.setAttribute(f,"type","button"),a.setAttribute(f,"data-dismiss","modal"),a.setAttribute(f,"aria-hidden","true");var g=a.createTextNode("×");a.appendChild(f,g),a.appendChild(e,f);var f=a.createTextNode("\n ");a.appendChild(e,f);var f=a.createElement("h4");a.setAttribute(f,"class","modal-title");var g=a.createTextNode("\n");a.appendChild(f,g);var g=a.createComment("");a.appendChild(f,g);var g=a.createTextNode(" ");a.appendChild(f,g);var g=a.createComment("");a.appendChild(f,g);var g=a.createTextNode("\n ");a.appendChild(f,g),a.appendChild(e,f);var f=a.createTextNode("\n ");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("div");a.setAttribute(e,"class","modal-body");var f=a.createTextNode("\n");a.appendChild(e,f);var f=a.createComment("");a.appendChild(e,f);var f=a.createTextNode(" ");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("div"),f=a.createTextNode("\n");a.appendChild(e,f);var f=a.createComment("");a.appendChild(e,f);var f=a.createComment("");a.appendChild(e,f);var f=a.createTextNode(" ");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e),a.appendChild(c,d);var d=a.createTextNode("\n");a.appendChild(c,d),a.appendChild(b,c);var c=a.createTextNode("\n\n");a.appendChild(b,c);var c=a.createElement("div");return a.appendChild(b,c),b},render:function(f,g,h){var i=g.dom,j=g.hooks,k=j.element,l=j.get,m=j.block,n=j.content;i.detectNamespace(h);var o;g.useFragmentCache&&i.canClone?(null===this.cachedFragment&&(o=this.build(i),this.hasRendered?this.cachedFragment=o:this.hasRendered=!0),this.cachedFragment&&(o=i.cloneNode(this.cachedFragment,!0))):o=this.build(i);var p=i.childAt(o,[0,1]),q=i.childAt(p,[1]),r=i.childAt(q,[1]),s=i.childAt(q,[3]),t=i.childAt(p,[5]),u=i.childAt(o,[2]),v=i.createMorphAt(s,1,1),w=i.createUnsafeMorphAt(s,3,3),x=i.createMorphAt(i.childAt(p,[3]),1,1),y=i.createMorphAt(t,1,1),z=i.createMorphAt(t,2,2);return k(g,r,f,"bind-attr",[],{"class":":close allowClose::hide"}),m(g,v,f,"if",[l(g,f,"titleIconClasses")],{},a,null),n(g,w,f,"title"),m(g,x,f,"if",[l(g,f,"body")],{},b,c),k(g,t,f,"bind-attr",[],{"class":":modal-footer fullSizeButtons:modal-footer-full"}),m(g,y,f,"each",[l(g,f,"footerButtons")],{keyword:"footerButton"},d,null),m(g,z,f,"each",[l(g,f,"footerViews")],{keyword:"footerView"},e,null),k(g,u,f,"bind-attr",[],{style:l(g,f,"backdropStyle"),"class":":modal-backdrop fade:fade backdrop:in"}),o}}}()); \ No newline at end of file +(function(){Bootstrap.BsModalComponent=Ember.Component.extend(Ember.Evented,{layoutName:"components/bs-modal",classNames:["modal"],classNameBindings:["fade","isVis:in","vertical:modal-dialog-center","class"],attributeBindings:["role","aria-labelledby","isAriaHidden:aria-hidden","ariaLabelledBy:aria-labelledby"],isAriaHidden:function(){return""+this.get("isVisible")}.property("isVisible"),dialogStyle:function(){Ember.run.scheduleOnce("afterRender",this,function(){return this.$()?this.$().find(".modal-dialog").css("z-index",this.get("zindex")):void 0})}.observes("zindex"),dialogVerticalStyle:function(){this.get("vertical")&&Ember.run.scheduleOnce("afterRender",this,function(){var a;return this.$()?(a=this.$(".modal-dialog").height()/2,this.$().find(".modal-dialog").css("margin-top","-"+a+"px")):void 0})}.observes("vertical").on("didInsertElement"),backdropStyle:function(){return"z-index: "+(this.get("zindex")-2)+";"}.property("zindex"),modalBackdrop:'',role:"dialog",footerViews:[],backdrop:!0,title:null,isVisible:!1,manual:!1,isVis:!1,fullSizeButtons:!1,fade:!0,vertical:!1,zindex:1e3,keyClose:!0,didInsertElement:function(){var a;return this._super(),this.setupBinders(),a=this.get("name"),Ember.assert("Modal name is required for modal view "+this.get("elementId"),this.get("name")),null==a&&(a=this.get("elementId")),Bootstrap.ModalManager.add(a,this),this.dialogStyle(),this.manual?this.show():void 0},becameVisible:function(){return Em.$("body").addClass("modal-open")},becameHidden:function(){return Em.$("body").removeClass("modal-open")},appendBackdrop:function(){var a;return a=this.$().parent(),this._backdrop=Em.$(this.modalBackdrop).appendTo(a)},show:function(){this.set("isVisible",!0),Ember.run.later(this,function(){this.set("isVis",!0)},15)},hide:function(){return this.get("isDestroyed")||this.get("isDestroying")?void 0:(this.set("isVis",!1),this.get("fade")?Ember.run.later(this,function(){this.get("isDestroyed")||this.get("isDestroying")||this.set("isVisible",!1)},300):this.set("isVisible",!1),!1)},toggle:function(){return this.toggleProperty("isVisible")},click:function(a){var b,c;return b=a.target,c=b.getAttribute("data-dismiss"),"modal"===c?this.close():void 0},keyPressed:function(a){return 27===a.keyCode&&this.get("keyClose")&&this.get("zindex")===Bootstrap.ModalManager.get("zindex")?this.close(a):void 0},close:function(a){return this.get("isDestroyed")||this.get("isDestroying")?void 0:(this.set("isVis",!1),this.get("fade")?Ember.run.later(this,function(){this.get("isDestroyed")||this.get("isDestroying")||(this.get("manual")?this.destroy():this.set("isVisible",!1),this.trigger("closed",this))},300):(this.get("manual")?this.destroy():this.set("isVisible",!1),this.trigger("closed",this)))},willDestroyElement:function(){var a;return Em.$("body").removeClass("modal-open"),this.removeHandlers(),a=this.get("name"),null==a&&(a=this.get("elementId")),Bootstrap.ModalManager.remove(a,this),this._backdrop?this._backdrop.remove():void 0},removeHandlers:function(){return jQuery(window.document).unbind("keyup",this._keyUpHandler)},setupBinders:function(){var a,b=this;return a=function(a){return b.keyPressed(a)},jQuery(window.document).bind("keyup",a),this._keyUpHandler=a}}),Bootstrap.ModalManager=Ember.Object.createWithMixins(Ember.Evented,{add:function(a,b){var c;return c=this.get("zindex"),this.set("zindex",c+2),b.set("zindex",c+2),b.on("closed",function(a){return c=a.get("zindex"),c===Bootstrap.ModalManager.get("zindex")&&Bootstrap.ModalManager.set("zindex",c-2),Bootstrap.ModalManager.trigger("closed",a)}),this.set(a,b)},register:function(a,b){return this.add(a,b),b.appendTo(b.get("targetObject").namespace.rootElement)},remove:function(a){return this.set(a,null)},close:function(a){return this.get(a).close()},hide:function(a){return this.get(a).hide()},show:function(a){return this.get(a).show()},toggle:function(a){return this.get(a).toggle()},confirm:function(a,b,c,d,e,f,g,h,i,j){var k,l;return null==e&&(e="Confirm"),null==f&&(f="modalConfirmed"),null==g&&(g=null),null==h&&(h="Cancel"),null==i&&(i="modalCanceled"),null==j&&(j=null),k=Ember.View.extend({template:Ember.Handlebars.compile(c||"Are you sure you would like to perform this action?")}),l=[Ember.Object.create({title:e,clicked:f,type:g,dismiss:"modal"}),Ember.Object.create({title:h,clicked:i,type:j,dismiss:"modal"})],this.open("confirm-modal",b||"Confirmation required!",k,l,a,d)},okModal:function(a,b,c,d,e,f,g){var h,i;return null==e&&(e="OK"),null==f&&(f="okModal"),null==g&&(g=null),h=Ember.View.extend({template:Ember.Handlebars.compile(c||"Are you sure you would like to perform this action?")}),i=[Ember.Object.create({title:e,clicked:f,type:g,dismiss:"modal"})],this.open("ok-modal",b||"Confirmation required!",h,i,a,d)},openModal:function(a,b){var c,d;return null==b&&(b={}),d=b.rootElement||".ember-application",c=a.create(b),c.appendTo(d)},openManual:function(a,b,c,d,e,f){var g;return g=Ember.View.extend({template:Ember.Handlebars.compile(c),controller:e}),this.open(a,b,g,d,e,f)},open:function(a,b,c,d,e,f){var g,h,i,j;return g=void 0,h=void 0,j=void 0,null==f&&(f={}),null==f.fade&&(f.fade=this.get("fade")),null==f.fullSizeButtons&&(f.fullSizeButtons=this.get("fullSizeButtons")),null==f.targetObject&&(f.targetObject=e),null==f.vertical&&(f.vertical=this.get("vertical")),g=e.container.lookup("component-lookup:main"),h=g.lookupFactory("bs-modal",e.get("container")).create(),h.setProperties({name:a,title:b,manual:!0,footerButtons:d}),h.setProperties(f),"string"===Ember.typeOf(c)?(j=e.container.lookup("template:"+c),Ember.assert("Template "+c+" was specified for Modal but template could not be found.",j),j&&h.setProperties({body:Ember.View.extend({template:j,controller:e})})):"class"===Ember.typeOf(c)&&h.setProperties({body:c,controller:e}),i=e.rootElement,"undefined"==typeof e.rootElement&&(i=e.namespace.rootElement),h.appendTo(i)},fade:!0,fullSizeButtons:!1,vertical:!1,zindex:1e3}),Ember.Application.initializer({name:"bs-modal",initialize:function(a,b){return a.register("component:bs-modal",Bootstrap.BsModalComponent)}})}).call(this),Ember.TEMPLATES["components/bs-modal"]=Ember.HTMLBars.template(function(){var a=function(){return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createElement("i");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.element;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.childAt(g,[1]);return f(b,h,a,"bind-attr",[],{"class":"titleIconClasses"}),g}}}(),b=function(){return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createComment("");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,1,1,c);return g(b,i,a,"view",[f(b,a,"view.body")],{}),h}}}(),c=function(){return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createComment("");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.content;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.createMorphAt(g,1,1,c);return f(b,h,a,"yield"),g}}}(),d=function(){return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createComment("");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,1,1,c);return g(b,i,a,"bs-button",[],{content:f(b,a,"footerButton"),targetObjectBinding:"view.targetObject"}),h}}}(),e=function(){return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createComment("");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,1,1,c);return g(b,i,a,"view",[f(b,a,"footerView")],{}),h}}}();return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createElement("div");a.setAttribute(c,"class","modal-dialog");var d=a.createTextNode("\n ");a.appendChild(c,d);var d=a.createElement("div");a.setAttribute(d,"class","modal-content");var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("div");a.setAttribute(e,"class","modal-header");var f=a.createTextNode("\n ");a.appendChild(e,f);var f=a.createElement("button");a.setAttribute(f,"type","button"),a.setAttribute(f,"data-dismiss","modal"),a.setAttribute(f,"aria-hidden","true");var g=a.createTextNode("×");a.appendChild(f,g),a.appendChild(e,f);var f=a.createTextNode("\n ");a.appendChild(e,f);var f=a.createElement("h4");a.setAttribute(f,"class","modal-title");var g=a.createTextNode("\n");a.appendChild(f,g);var g=a.createComment("");a.appendChild(f,g);var g=a.createTextNode(" ");a.appendChild(f,g);var g=a.createComment("");a.appendChild(f,g);var g=a.createTextNode("\n ");a.appendChild(f,g),a.appendChild(e,f);var f=a.createTextNode("\n ");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("div");a.setAttribute(e,"class","modal-body");var f=a.createTextNode("\n");a.appendChild(e,f);var f=a.createComment("");a.appendChild(e,f);var f=a.createTextNode(" ");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("div"),f=a.createTextNode("\n");a.appendChild(e,f);var f=a.createComment("");a.appendChild(e,f);var f=a.createComment("");a.appendChild(e,f);var f=a.createTextNode(" ");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e),a.appendChild(c,d);var d=a.createTextNode("\n");a.appendChild(c,d),a.appendChild(b,c);var c=a.createTextNode("\n\n");a.appendChild(b,c);var c=a.createElement("div");return a.appendChild(b,c),b},render:function(f,g,h){var i=g.dom,j=g.hooks,k=j.element,l=j.get,m=j.block,n=j.content;i.detectNamespace(h);var o;g.useFragmentCache&&i.canClone?(null===this.cachedFragment&&(o=this.build(i),this.hasRendered?this.cachedFragment=o:this.hasRendered=!0),this.cachedFragment&&(o=i.cloneNode(this.cachedFragment,!0))):o=this.build(i);var p=i.childAt(o,[0,1]),q=i.childAt(p,[1]),r=i.childAt(q,[1]),s=i.childAt(q,[3]),t=i.childAt(p,[5]),u=i.childAt(o,[2]),v=i.createMorphAt(s,1,1),w=i.createUnsafeMorphAt(s,3,3),x=i.createMorphAt(i.childAt(p,[3]),1,1),y=i.createMorphAt(t,1,1),z=i.createMorphAt(t,2,2);return k(g,r,f,"bind-attr",[],{"class":":close allowClose::hide"}),m(g,v,f,"if",[l(g,f,"titleIconClasses")],{},a,null),n(g,w,f,"title"),m(g,x,f,"if",[l(g,f,"body")],{},b,c),k(g,t,f,"bind-attr",[],{"class":":modal-footer fullSizeButtons:modal-footer-full"}),m(g,y,f,"each",[l(g,f,"footerButtons")],{keyword:"footerButton"},d,null),m(g,z,f,"each",[l(g,f,"footerViews")],{keyword:"footerView"},e,null),k(g,u,f,"bind-attr",[],{style:l(g,f,"backdropStyle"),"class":":modal-backdrop fade:fade backdrop:in"}),o}}}()); \ No newline at end of file From 4bf06ca63154a1b18dddac97f4caaa1521137c73 Mon Sep 17 00:00:00 2001 From: danshapir Date: Mon, 18 May 2015 12:02:45 +0300 Subject: [PATCH 23/24] Style htmlSafe --- .idea/encodings.xml | 6 + .idea/workspace.xml | 120 +++++++++++++----- .../components/BsModalComponent.coffee | 2 +- 3 files changed, 98 insertions(+), 30 deletions(-) create mode 100644 .idea/encodings.xml diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 0000000..0e08232 --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml index eea88c2..464a5f1 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -2,10 +2,7 @@ - - - - + @@ -26,16 +23,28 @@ - + - - + + + + + + + + + + + + + + @@ -58,10 +67,10 @@ - @@ -86,6 +95,7 @@ + @@ -104,6 +114,20 @@ + + + + + + + + - @@ -150,17 +174,16 @@ - @@ -170,6 +193,9 @@ + + + @@ -180,29 +206,37 @@ - - + + - + - - - - - + + + + - - - + + - - + + + + + + + + @@ -213,11 +247,39 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/scripts/components/BsModalComponent.coffee b/app/scripts/components/BsModalComponent.coffee index 229f68e..d2ec2af 100644 --- a/app/scripts/components/BsModalComponent.coffee +++ b/app/scripts/components/BsModalComponent.coffee @@ -69,7 +69,7 @@ Bootstrap.BsModalComponent = Ember.Component.extend(Ember.Evented, return ).observes('vertical').on('didInsertElement') backdropStyle: (-> - "z-index: #{@get('zindex') - 2};" + ("z-index: #{@get('zindex') - 2};").htmlSafe() ).property('zindex') modalBackdrop: '' From 8e575e886d94ac51da70a7d6c209b698d0904e02 Mon Sep 17 00:00:00 2001 From: danshapir Date: Mon, 18 May 2015 12:05:04 +0300 Subject: [PATCH 24/24] style htmlSafe dep --- dist/js/bs-modal.max.js | 2 +- dist/js/bs-modal.min.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dist/js/bs-modal.max.js b/dist/js/bs-modal.max.js index 98c982b..71a1c15 100644 --- a/dist/js/bs-modal.max.js +++ b/dist/js/bs-modal.max.js @@ -31,7 +31,7 @@ Modal component. } }).observes('vertical').on('didInsertElement'), backdropStyle: (function() { - return "z-index: " + (this.get('zindex') - 2) + ";"; + return ("z-index: " + (this.get('zindex') - 2) + ";").htmlSafe(); }).property('zindex'), modalBackdrop: '', role: 'dialog', diff --git a/dist/js/bs-modal.min.js b/dist/js/bs-modal.min.js index f84c880..8ce8ee9 100644 --- a/dist/js/bs-modal.min.js +++ b/dist/js/bs-modal.min.js @@ -1 +1 @@ -(function(){Bootstrap.BsModalComponent=Ember.Component.extend(Ember.Evented,{layoutName:"components/bs-modal",classNames:["modal"],classNameBindings:["fade","isVis:in","vertical:modal-dialog-center","class"],attributeBindings:["role","aria-labelledby","isAriaHidden:aria-hidden","ariaLabelledBy:aria-labelledby"],isAriaHidden:function(){return""+this.get("isVisible")}.property("isVisible"),dialogStyle:function(){Ember.run.scheduleOnce("afterRender",this,function(){return this.$()?this.$().find(".modal-dialog").css("z-index",this.get("zindex")):void 0})}.observes("zindex"),dialogVerticalStyle:function(){this.get("vertical")&&Ember.run.scheduleOnce("afterRender",this,function(){var a;return this.$()?(a=this.$(".modal-dialog").height()/2,this.$().find(".modal-dialog").css("margin-top","-"+a+"px")):void 0})}.observes("vertical").on("didInsertElement"),backdropStyle:function(){return"z-index: "+(this.get("zindex")-2)+";"}.property("zindex"),modalBackdrop:'',role:"dialog",footerViews:[],backdrop:!0,title:null,isVisible:!1,manual:!1,isVis:!1,fullSizeButtons:!1,fade:!0,vertical:!1,zindex:1e3,keyClose:!0,didInsertElement:function(){var a;return this._super(),this.setupBinders(),a=this.get("name"),Ember.assert("Modal name is required for modal view "+this.get("elementId"),this.get("name")),null==a&&(a=this.get("elementId")),Bootstrap.ModalManager.add(a,this),this.dialogStyle(),this.manual?this.show():void 0},becameVisible:function(){return Em.$("body").addClass("modal-open")},becameHidden:function(){return Em.$("body").removeClass("modal-open")},appendBackdrop:function(){var a;return a=this.$().parent(),this._backdrop=Em.$(this.modalBackdrop).appendTo(a)},show:function(){this.set("isVisible",!0),Ember.run.later(this,function(){this.set("isVis",!0)},15)},hide:function(){return this.get("isDestroyed")||this.get("isDestroying")?void 0:(this.set("isVis",!1),this.get("fade")?Ember.run.later(this,function(){this.get("isDestroyed")||this.get("isDestroying")||this.set("isVisible",!1)},300):this.set("isVisible",!1),!1)},toggle:function(){return this.toggleProperty("isVisible")},click:function(a){var b,c;return b=a.target,c=b.getAttribute("data-dismiss"),"modal"===c?this.close():void 0},keyPressed:function(a){return 27===a.keyCode&&this.get("keyClose")&&this.get("zindex")===Bootstrap.ModalManager.get("zindex")?this.close(a):void 0},close:function(a){return this.get("isDestroyed")||this.get("isDestroying")?void 0:(this.set("isVis",!1),this.get("fade")?Ember.run.later(this,function(){this.get("isDestroyed")||this.get("isDestroying")||(this.get("manual")?this.destroy():this.set("isVisible",!1),this.trigger("closed",this))},300):(this.get("manual")?this.destroy():this.set("isVisible",!1),this.trigger("closed",this)))},willDestroyElement:function(){var a;return Em.$("body").removeClass("modal-open"),this.removeHandlers(),a=this.get("name"),null==a&&(a=this.get("elementId")),Bootstrap.ModalManager.remove(a,this),this._backdrop?this._backdrop.remove():void 0},removeHandlers:function(){return jQuery(window.document).unbind("keyup",this._keyUpHandler)},setupBinders:function(){var a,b=this;return a=function(a){return b.keyPressed(a)},jQuery(window.document).bind("keyup",a),this._keyUpHandler=a}}),Bootstrap.ModalManager=Ember.Object.createWithMixins(Ember.Evented,{add:function(a,b){var c;return c=this.get("zindex"),this.set("zindex",c+2),b.set("zindex",c+2),b.on("closed",function(a){return c=a.get("zindex"),c===Bootstrap.ModalManager.get("zindex")&&Bootstrap.ModalManager.set("zindex",c-2),Bootstrap.ModalManager.trigger("closed",a)}),this.set(a,b)},register:function(a,b){return this.add(a,b),b.appendTo(b.get("targetObject").namespace.rootElement)},remove:function(a){return this.set(a,null)},close:function(a){return this.get(a).close()},hide:function(a){return this.get(a).hide()},show:function(a){return this.get(a).show()},toggle:function(a){return this.get(a).toggle()},confirm:function(a,b,c,d,e,f,g,h,i,j){var k,l;return null==e&&(e="Confirm"),null==f&&(f="modalConfirmed"),null==g&&(g=null),null==h&&(h="Cancel"),null==i&&(i="modalCanceled"),null==j&&(j=null),k=Ember.View.extend({template:Ember.Handlebars.compile(c||"Are you sure you would like to perform this action?")}),l=[Ember.Object.create({title:e,clicked:f,type:g,dismiss:"modal"}),Ember.Object.create({title:h,clicked:i,type:j,dismiss:"modal"})],this.open("confirm-modal",b||"Confirmation required!",k,l,a,d)},okModal:function(a,b,c,d,e,f,g){var h,i;return null==e&&(e="OK"),null==f&&(f="okModal"),null==g&&(g=null),h=Ember.View.extend({template:Ember.Handlebars.compile(c||"Are you sure you would like to perform this action?")}),i=[Ember.Object.create({title:e,clicked:f,type:g,dismiss:"modal"})],this.open("ok-modal",b||"Confirmation required!",h,i,a,d)},openModal:function(a,b){var c,d;return null==b&&(b={}),d=b.rootElement||".ember-application",c=a.create(b),c.appendTo(d)},openManual:function(a,b,c,d,e,f){var g;return g=Ember.View.extend({template:Ember.Handlebars.compile(c),controller:e}),this.open(a,b,g,d,e,f)},open:function(a,b,c,d,e,f){var g,h,i,j;return g=void 0,h=void 0,j=void 0,null==f&&(f={}),null==f.fade&&(f.fade=this.get("fade")),null==f.fullSizeButtons&&(f.fullSizeButtons=this.get("fullSizeButtons")),null==f.targetObject&&(f.targetObject=e),null==f.vertical&&(f.vertical=this.get("vertical")),g=e.container.lookup("component-lookup:main"),h=g.lookupFactory("bs-modal",e.get("container")).create(),h.setProperties({name:a,title:b,manual:!0,footerButtons:d}),h.setProperties(f),"string"===Ember.typeOf(c)?(j=e.container.lookup("template:"+c),Ember.assert("Template "+c+" was specified for Modal but template could not be found.",j),j&&h.setProperties({body:Ember.View.extend({template:j,controller:e})})):"class"===Ember.typeOf(c)&&h.setProperties({body:c,controller:e}),i=e.rootElement,"undefined"==typeof e.rootElement&&(i=e.namespace.rootElement),h.appendTo(i)},fade:!0,fullSizeButtons:!1,vertical:!1,zindex:1e3}),Ember.Application.initializer({name:"bs-modal",initialize:function(a,b){return a.register("component:bs-modal",Bootstrap.BsModalComponent)}})}).call(this),Ember.TEMPLATES["components/bs-modal"]=Ember.HTMLBars.template(function(){var a=function(){return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createElement("i");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.element;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.childAt(g,[1]);return f(b,h,a,"bind-attr",[],{"class":"titleIconClasses"}),g}}}(),b=function(){return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createComment("");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,1,1,c);return g(b,i,a,"view",[f(b,a,"view.body")],{}),h}}}(),c=function(){return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createComment("");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.content;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.createMorphAt(g,1,1,c);return f(b,h,a,"yield"),g}}}(),d=function(){return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createComment("");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,1,1,c);return g(b,i,a,"bs-button",[],{content:f(b,a,"footerButton"),targetObjectBinding:"view.targetObject"}),h}}}(),e=function(){return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createComment("");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,1,1,c);return g(b,i,a,"view",[f(b,a,"footerView")],{}),h}}}();return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createElement("div");a.setAttribute(c,"class","modal-dialog");var d=a.createTextNode("\n ");a.appendChild(c,d);var d=a.createElement("div");a.setAttribute(d,"class","modal-content");var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("div");a.setAttribute(e,"class","modal-header");var f=a.createTextNode("\n ");a.appendChild(e,f);var f=a.createElement("button");a.setAttribute(f,"type","button"),a.setAttribute(f,"data-dismiss","modal"),a.setAttribute(f,"aria-hidden","true");var g=a.createTextNode("×");a.appendChild(f,g),a.appendChild(e,f);var f=a.createTextNode("\n ");a.appendChild(e,f);var f=a.createElement("h4");a.setAttribute(f,"class","modal-title");var g=a.createTextNode("\n");a.appendChild(f,g);var g=a.createComment("");a.appendChild(f,g);var g=a.createTextNode(" ");a.appendChild(f,g);var g=a.createComment("");a.appendChild(f,g);var g=a.createTextNode("\n ");a.appendChild(f,g),a.appendChild(e,f);var f=a.createTextNode("\n ");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("div");a.setAttribute(e,"class","modal-body");var f=a.createTextNode("\n");a.appendChild(e,f);var f=a.createComment("");a.appendChild(e,f);var f=a.createTextNode(" ");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("div"),f=a.createTextNode("\n");a.appendChild(e,f);var f=a.createComment("");a.appendChild(e,f);var f=a.createComment("");a.appendChild(e,f);var f=a.createTextNode(" ");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e),a.appendChild(c,d);var d=a.createTextNode("\n");a.appendChild(c,d),a.appendChild(b,c);var c=a.createTextNode("\n\n");a.appendChild(b,c);var c=a.createElement("div");return a.appendChild(b,c),b},render:function(f,g,h){var i=g.dom,j=g.hooks,k=j.element,l=j.get,m=j.block,n=j.content;i.detectNamespace(h);var o;g.useFragmentCache&&i.canClone?(null===this.cachedFragment&&(o=this.build(i),this.hasRendered?this.cachedFragment=o:this.hasRendered=!0),this.cachedFragment&&(o=i.cloneNode(this.cachedFragment,!0))):o=this.build(i);var p=i.childAt(o,[0,1]),q=i.childAt(p,[1]),r=i.childAt(q,[1]),s=i.childAt(q,[3]),t=i.childAt(p,[5]),u=i.childAt(o,[2]),v=i.createMorphAt(s,1,1),w=i.createUnsafeMorphAt(s,3,3),x=i.createMorphAt(i.childAt(p,[3]),1,1),y=i.createMorphAt(t,1,1),z=i.createMorphAt(t,2,2);return k(g,r,f,"bind-attr",[],{"class":":close allowClose::hide"}),m(g,v,f,"if",[l(g,f,"titleIconClasses")],{},a,null),n(g,w,f,"title"),m(g,x,f,"if",[l(g,f,"body")],{},b,c),k(g,t,f,"bind-attr",[],{"class":":modal-footer fullSizeButtons:modal-footer-full"}),m(g,y,f,"each",[l(g,f,"footerButtons")],{keyword:"footerButton"},d,null),m(g,z,f,"each",[l(g,f,"footerViews")],{keyword:"footerView"},e,null),k(g,u,f,"bind-attr",[],{style:l(g,f,"backdropStyle"),"class":":modal-backdrop fade:fade backdrop:in"}),o}}}()); \ No newline at end of file +(function(){Bootstrap.BsModalComponent=Ember.Component.extend(Ember.Evented,{layoutName:"components/bs-modal",classNames:["modal"],classNameBindings:["fade","isVis:in","vertical:modal-dialog-center","class"],attributeBindings:["role","aria-labelledby","isAriaHidden:aria-hidden","ariaLabelledBy:aria-labelledby"],isAriaHidden:function(){return""+this.get("isVisible")}.property("isVisible"),dialogStyle:function(){Ember.run.scheduleOnce("afterRender",this,function(){return this.$()?this.$().find(".modal-dialog").css("z-index",this.get("zindex")):void 0})}.observes("zindex"),dialogVerticalStyle:function(){this.get("vertical")&&Ember.run.scheduleOnce("afterRender",this,function(){var a;return this.$()?(a=this.$(".modal-dialog").height()/2,this.$().find(".modal-dialog").css("margin-top","-"+a+"px")):void 0})}.observes("vertical").on("didInsertElement"),backdropStyle:function(){return("z-index: "+(this.get("zindex")-2)+";").htmlSafe()}.property("zindex"),modalBackdrop:'',role:"dialog",footerViews:[],backdrop:!0,title:null,isVisible:!1,manual:!1,isVis:!1,fullSizeButtons:!1,fade:!0,vertical:!1,zindex:1e3,keyClose:!0,didInsertElement:function(){var a;return this._super(),this.setupBinders(),a=this.get("name"),Ember.assert("Modal name is required for modal view "+this.get("elementId"),this.get("name")),null==a&&(a=this.get("elementId")),Bootstrap.ModalManager.add(a,this),this.dialogStyle(),this.manual?this.show():void 0},becameVisible:function(){return Em.$("body").addClass("modal-open")},becameHidden:function(){return Em.$("body").removeClass("modal-open")},appendBackdrop:function(){var a;return a=this.$().parent(),this._backdrop=Em.$(this.modalBackdrop).appendTo(a)},show:function(){this.set("isVisible",!0),Ember.run.later(this,function(){this.set("isVis",!0)},15)},hide:function(){return this.get("isDestroyed")||this.get("isDestroying")?void 0:(this.set("isVis",!1),this.get("fade")?Ember.run.later(this,function(){this.get("isDestroyed")||this.get("isDestroying")||this.set("isVisible",!1)},300):this.set("isVisible",!1),!1)},toggle:function(){return this.toggleProperty("isVisible")},click:function(a){var b,c;return b=a.target,c=b.getAttribute("data-dismiss"),"modal"===c?this.close():void 0},keyPressed:function(a){return 27===a.keyCode&&this.get("keyClose")&&this.get("zindex")===Bootstrap.ModalManager.get("zindex")?this.close(a):void 0},close:function(a){return this.get("isDestroyed")||this.get("isDestroying")?void 0:(this.set("isVis",!1),this.get("fade")?Ember.run.later(this,function(){this.get("isDestroyed")||this.get("isDestroying")||(this.get("manual")?this.destroy():this.set("isVisible",!1),this.trigger("closed",this))},300):(this.get("manual")?this.destroy():this.set("isVisible",!1),this.trigger("closed",this)))},willDestroyElement:function(){var a;return Em.$("body").removeClass("modal-open"),this.removeHandlers(),a=this.get("name"),null==a&&(a=this.get("elementId")),Bootstrap.ModalManager.remove(a,this),this._backdrop?this._backdrop.remove():void 0},removeHandlers:function(){return jQuery(window.document).unbind("keyup",this._keyUpHandler)},setupBinders:function(){var a,b=this;return a=function(a){return b.keyPressed(a)},jQuery(window.document).bind("keyup",a),this._keyUpHandler=a}}),Bootstrap.ModalManager=Ember.Object.createWithMixins(Ember.Evented,{add:function(a,b){var c;return c=this.get("zindex"),this.set("zindex",c+2),b.set("zindex",c+2),b.on("closed",function(a){return c=a.get("zindex"),c===Bootstrap.ModalManager.get("zindex")&&Bootstrap.ModalManager.set("zindex",c-2),Bootstrap.ModalManager.trigger("closed",a)}),this.set(a,b)},register:function(a,b){return this.add(a,b),b.appendTo(b.get("targetObject").namespace.rootElement)},remove:function(a){return this.set(a,null)},close:function(a){return this.get(a).close()},hide:function(a){return this.get(a).hide()},show:function(a){return this.get(a).show()},toggle:function(a){return this.get(a).toggle()},confirm:function(a,b,c,d,e,f,g,h,i,j){var k,l;return null==e&&(e="Confirm"),null==f&&(f="modalConfirmed"),null==g&&(g=null),null==h&&(h="Cancel"),null==i&&(i="modalCanceled"),null==j&&(j=null),k=Ember.View.extend({template:Ember.Handlebars.compile(c||"Are you sure you would like to perform this action?")}),l=[Ember.Object.create({title:e,clicked:f,type:g,dismiss:"modal"}),Ember.Object.create({title:h,clicked:i,type:j,dismiss:"modal"})],this.open("confirm-modal",b||"Confirmation required!",k,l,a,d)},okModal:function(a,b,c,d,e,f,g){var h,i;return null==e&&(e="OK"),null==f&&(f="okModal"),null==g&&(g=null),h=Ember.View.extend({template:Ember.Handlebars.compile(c||"Are you sure you would like to perform this action?")}),i=[Ember.Object.create({title:e,clicked:f,type:g,dismiss:"modal"})],this.open("ok-modal",b||"Confirmation required!",h,i,a,d)},openModal:function(a,b){var c,d;return null==b&&(b={}),d=b.rootElement||".ember-application",c=a.create(b),c.appendTo(d)},openManual:function(a,b,c,d,e,f){var g;return g=Ember.View.extend({template:Ember.Handlebars.compile(c),controller:e}),this.open(a,b,g,d,e,f)},open:function(a,b,c,d,e,f){var g,h,i,j;return g=void 0,h=void 0,j=void 0,null==f&&(f={}),null==f.fade&&(f.fade=this.get("fade")),null==f.fullSizeButtons&&(f.fullSizeButtons=this.get("fullSizeButtons")),null==f.targetObject&&(f.targetObject=e),null==f.vertical&&(f.vertical=this.get("vertical")),g=e.container.lookup("component-lookup:main"),h=g.lookupFactory("bs-modal",e.get("container")).create(),h.setProperties({name:a,title:b,manual:!0,footerButtons:d}),h.setProperties(f),"string"===Ember.typeOf(c)?(j=e.container.lookup("template:"+c),Ember.assert("Template "+c+" was specified for Modal but template could not be found.",j),j&&h.setProperties({body:Ember.View.extend({template:j,controller:e})})):"class"===Ember.typeOf(c)&&h.setProperties({body:c,controller:e}),i=e.rootElement,"undefined"==typeof e.rootElement&&(i=e.namespace.rootElement),h.appendTo(i)},fade:!0,fullSizeButtons:!1,vertical:!1,zindex:1e3}),Ember.Application.initializer({name:"bs-modal",initialize:function(a,b){return a.register("component:bs-modal",Bootstrap.BsModalComponent)}})}).call(this),Ember.TEMPLATES["components/bs-modal"]=Ember.HTMLBars.template(function(){var a=function(){return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createElement("i");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.element;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.childAt(g,[1]);return f(b,h,a,"bind-attr",[],{"class":"titleIconClasses"}),g}}}(),b=function(){return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createComment("");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,1,1,c);return g(b,i,a,"view",[f(b,a,"view.body")],{}),h}}}(),c=function(){return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createComment("");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.content;d.detectNamespace(c);var g;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(g=this.build(d),this.hasRendered?this.cachedFragment=g:this.hasRendered=!0),this.cachedFragment&&(g=d.cloneNode(this.cachedFragment,!0))):g=this.build(d);var h=d.createMorphAt(g,1,1,c);return f(b,h,a,"yield"),g}}}(),d=function(){return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createComment("");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,1,1,c);return g(b,i,a,"bs-button",[],{content:f(b,a,"footerButton"),targetObjectBinding:"view.targetObject"}),h}}}(),e=function(){return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createTextNode(" ");a.appendChild(b,c);var c=a.createComment("");a.appendChild(b,c);var c=a.createTextNode("\n");return a.appendChild(b,c),b},render:function(a,b,c){var d=b.dom,e=b.hooks,f=e.get,g=e.inline;d.detectNamespace(c);var h;b.useFragmentCache&&d.canClone?(null===this.cachedFragment&&(h=this.build(d),this.hasRendered?this.cachedFragment=h:this.hasRendered=!0),this.cachedFragment&&(h=d.cloneNode(this.cachedFragment,!0))):h=this.build(d);var i=d.createMorphAt(h,1,1,c);return g(b,i,a,"view",[f(b,a,"footerView")],{}),h}}}();return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(a){var b=a.createDocumentFragment(),c=a.createElement("div");a.setAttribute(c,"class","modal-dialog");var d=a.createTextNode("\n ");a.appendChild(c,d);var d=a.createElement("div");a.setAttribute(d,"class","modal-content");var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("div");a.setAttribute(e,"class","modal-header");var f=a.createTextNode("\n ");a.appendChild(e,f);var f=a.createElement("button");a.setAttribute(f,"type","button"),a.setAttribute(f,"data-dismiss","modal"),a.setAttribute(f,"aria-hidden","true");var g=a.createTextNode("×");a.appendChild(f,g),a.appendChild(e,f);var f=a.createTextNode("\n ");a.appendChild(e,f);var f=a.createElement("h4");a.setAttribute(f,"class","modal-title");var g=a.createTextNode("\n");a.appendChild(f,g);var g=a.createComment("");a.appendChild(f,g);var g=a.createTextNode(" ");a.appendChild(f,g);var g=a.createComment("");a.appendChild(f,g);var g=a.createTextNode("\n ");a.appendChild(f,g),a.appendChild(e,f);var f=a.createTextNode("\n ");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("div");a.setAttribute(e,"class","modal-body");var f=a.createTextNode("\n");a.appendChild(e,f);var f=a.createComment("");a.appendChild(e,f);var f=a.createTextNode(" ");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e);var e=a.createElement("div"),f=a.createTextNode("\n");a.appendChild(e,f);var f=a.createComment("");a.appendChild(e,f);var f=a.createComment("");a.appendChild(e,f);var f=a.createTextNode(" ");a.appendChild(e,f),a.appendChild(d,e);var e=a.createTextNode("\n ");a.appendChild(d,e),a.appendChild(c,d);var d=a.createTextNode("\n");a.appendChild(c,d),a.appendChild(b,c);var c=a.createTextNode("\n\n");a.appendChild(b,c);var c=a.createElement("div");return a.appendChild(b,c),b},render:function(f,g,h){var i=g.dom,j=g.hooks,k=j.element,l=j.get,m=j.block,n=j.content;i.detectNamespace(h);var o;g.useFragmentCache&&i.canClone?(null===this.cachedFragment&&(o=this.build(i),this.hasRendered?this.cachedFragment=o:this.hasRendered=!0),this.cachedFragment&&(o=i.cloneNode(this.cachedFragment,!0))):o=this.build(i);var p=i.childAt(o,[0,1]),q=i.childAt(p,[1]),r=i.childAt(q,[1]),s=i.childAt(q,[3]),t=i.childAt(p,[5]),u=i.childAt(o,[2]),v=i.createMorphAt(s,1,1),w=i.createUnsafeMorphAt(s,3,3),x=i.createMorphAt(i.childAt(p,[3]),1,1),y=i.createMorphAt(t,1,1),z=i.createMorphAt(t,2,2);return k(g,r,f,"bind-attr",[],{"class":":close allowClose::hide"}),m(g,v,f,"if",[l(g,f,"titleIconClasses")],{},a,null),n(g,w,f,"title"),m(g,x,f,"if",[l(g,f,"body")],{},b,c),k(g,t,f,"bind-attr",[],{"class":":modal-footer fullSizeButtons:modal-footer-full"}),m(g,y,f,"each",[l(g,f,"footerButtons")],{keyword:"footerButton"},d,null),m(g,z,f,"each",[l(g,f,"footerViews")],{keyword:"footerView"},e,null),k(g,u,f,"bind-attr",[],{style:l(g,f,"backdropStyle"),"class":":modal-backdrop fade:fade backdrop:in"}),o}}}()); \ No newline at end of file