From d53823736036c7d7e68d25fcda18e55332fbbd32 Mon Sep 17 00:00:00 2001 From: Ashraf Hasson Date: Fri, 14 Nov 2014 12:13:55 -0500 Subject: [PATCH] added support for translating breadcrumbs via ember-i18n --- app/index.html | 3 + app/scripts/components/BsBreadcrumbs.coffee | 3 + .../showcase/show_components/breadcrumbs.md | 14 +- dist/js/bs-badge.min.js | 2 +- dist/js/bs-basic.max.js | 2 +- dist/js/bs-basic.min.js | 2 +- dist/js/bs-breadcrumbs.max.js | 8 +- dist/js/bs-breadcrumbs.min.js | 2 +- dist/js/bs-button.min.js | 2 +- dist/js/bs-core.max.js | 30 +++- 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 | 154 +++++++++++++++--- 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.max.js | 24 ++- dist/js/bs-popover.min.js | 2 +- dist/js/bs-progressbar.min.js | 2 +- dist/js/bs-wizard.min.js | 2 +- 23 files changed, 219 insertions(+), 49 deletions(-) diff --git a/app/index.html b/app/index.html index f7f00fe..6a4b328 100644 --- a/app/index.html +++ b/app/index.html @@ -25,6 +25,9 @@ + + + diff --git a/app/scripts/components/BsBreadcrumbs.coffee b/app/scripts/components/BsBreadcrumbs.coffee index a62eda3..3647d46 100644 --- a/app/scripts/components/BsBreadcrumbs.coffee +++ b/app/scripts/components/BsBreadcrumbs.coffee @@ -32,6 +32,7 @@ Bootstrap.BsBreadcrumbs = Bootstrap.ItemsView.extend(Bootstrap.WithRouter, @get('content').clear() routes = @get('container').lookup 'router:main' + translation = /(.*)Translation$/; routes.get('router.currentHandlerInfos').forEach (route, i, arr) => name = route.name return if name.indexOf('.index') isnt -1 || name is 'application' @@ -40,6 +41,8 @@ Bootstrap.BsBreadcrumbs = Bootstrap.ItemsView.extend(Bootstrap.WithRouter, routeName = route.handler.routeName if route.handler.breadcrumbs?.name displayName = route.handler.breadcrumbs.name + if translation.test(displayName) + displayName = route.handler[displayName.match(translation)[1]] else if @get('nameDictionary')?["#{@dictionaryNamePrefix}.#{routeName}"] displayName = @get('nameDictionary')["#{@dictionaryNamePrefix}.#{routeName}"] else diff --git a/app/templates/showcase/show_components/breadcrumbs.md b/app/templates/showcase/show_components/breadcrumbs.md index acc7cf6..1e21573 100644 --- a/app/templates/showcase/show_components/breadcrumbs.md +++ b/app/templates/showcase/show_components/breadcrumbs.md @@ -24,5 +24,17 @@ SomeRoute = Ember.Route.extend({ breadcrumbs: {name: 'Primary'} ... -}) +}); ``` + + +If you're using [ember-i18n](https://github.com/jamesarosen/ember-i18n) translation library, you can also translate your breadcrumbs with relative ease. You'll have to enable [ember-i18n's properties translation](https://github.com/jamesarosen/ember-i18n#translate-properties-on-any-object) feature for the routes you'd like their names translated and setup breadcrumbs to refernce the translated property's name, like so: + +```javascript +SomeRoute = Ember.Route.extend(Ember.I18n.TranslateableProperties, { + primaryTranslation: "generic.primary", + breadcrumbs: {name: 'primaryTranslation'} + + ... +}); +``` \ 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..03dcb02 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"; diff --git a/dist/js/bs-basic.min.js b/dist/js/bs-basic.min.js index 5e4d6c2..dac028d 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(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),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 diff --git a/dist/js/bs-breadcrumbs.max.js b/dist/js/bs-breadcrumbs.max.js index b028938..58f0c71 100644 --- a/dist/js/bs-breadcrumbs.max.js +++ b/dist/js/bs-breadcrumbs.max.js @@ -1,5 +1,5 @@ /* -Breadcrumbs compponent. +Breadcrumbs component. */ @@ -29,10 +29,11 @@ Breadcrumbs compponent. return this.send('updateCrumbsByRoute'); }, updateCrumbsByRoute: function() { - var routes, + var routes, translation, _this = this; this.get('content').clear(); routes = this.get('container').lookup('router:main'); + translation = /(.*)Translation$/; routes.get('router.currentHandlerInfos').forEach(function(route, i, arr) { var crumb, displayName, name, routeName, _ref, _ref1, _ref2; name = route.name; @@ -45,6 +46,9 @@ Breadcrumbs compponent. routeName = route.handler.routeName; if ((_ref1 = route.handler.breadcrumbs) != null ? _ref1.name : void 0) { displayName = route.handler.breadcrumbs.name; + if (translation.test(displayName)) { + displayName = route.handler[displayName.match(translation)[1]]; + } } else if ((_ref2 = _this.get('nameDictionary')) != null ? _ref2["" + _this.dictionaryNamePrefix + "." + routeName] : void 0) { displayName = _this.get('nameDictionary')["" + _this.dictionaryNamePrefix + "." + routeName]; } else { diff --git a/dist/js/bs-breadcrumbs.min.js b/dist/js/bs-breadcrumbs.min.js index c5b5d23..701d539 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,c=this;return this.get("content").clear(),a=this.get("container").lookup("router:main"),b=/(.*)Translation$/,a.get("router.currentHandlerInfos").forEach(function(a){var d,e,f,g,h,i,j;return f=a.name,-1!==f.indexOf(".index")||"application"===f||(null!=(h=a.handler.breadcrumbs)?h.hidden:0)?void 0:(g=a.handler.routeName,(null!=(i=a.handler.breadcrumbs)?i.name:void 0)?(e=a.handler.breadcrumbs.name,b.test(e)&&(e=a.handler[e.match(b)[1]])):(null!=(j=c.get("nameDictionary"))?j[""+c.dictionaryNamePrefix+"."+g]:void 0)?e=c.get("nameDictionary")[""+c.dictionaryNamePrefix+"."+g]:(e=a.handler.routeName.split(".").pop(),e=e[0].toUpperCase()+e.slice(1).toLowerCase()),d=Ember.Object.create({route:a.handler.routeName,name:e,model:null}),0===c.get("content").length&&d.set("icon","fa fa-home home-icon"),a.isDynamic&&d.setProperties({model:a.handler.context,name:a.handler.context.get("name")}),c.get("content").pushObject(d))}),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.min.js b/dist/js/bs-button.min.js index 795af74..8b0fd9b 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(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),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 diff --git a/dist/js/bs-core.max.js b/dist/js/bs-core.max.js index 6dbb9fe..718c705 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,31 @@ Views that inherits from this view can be enhanced with: }); }).call(this); + +this["Ember"] = this["Ember"] || {}; +this["Ember"]["TEMPLATES"] = this["Ember"]["TEMPLATES"] || {}; + +this["Ember"]["TEMPLATES"]["app/templates/views/item-pane"] = 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, hashTypes, hashContexts, options; + data.buffer.push("\n "); + hashTypes = {}; + hashContexts = {}; + options = {hash:{},contexts:[depth0],types:["ID"],hashContexts:hashContexts,hashTypes:hashTypes,data:data}; + data.buffer.push(escapeExpression(((stack1 = helpers.bsItemPanePartial || depth0.bsItemPanePartial),stack1 ? stack1.call(depth0, "view.content.template", options) : helperMissing.call(depth0, "bsItemPanePartial", "view.content.template", options)))); + data.buffer.push("\n"); + return buffer; + } + + hashTypes = {}; + hashContexts = {}; + stack1 = helpers['if'].call(depth0, "view.content.template", {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); } + else { data.buffer.push(''); } + +}); \ No newline at end of file diff --git a/dist/js/bs-core.min.js b/dist/js/bs-core.min.js index 37d145d..27ec497 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(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),this.Ember=this.Ember||{},this.Ember.TEMPLATES=this.Ember.TEMPLATES||{},this.Ember.TEMPLATES["app/templates/views/item-pane"]=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={},f={},g={hash:{},contexts:[a],types:["ID"],hashContexts:f,hashTypes:e,data:b},b.buffer.push(k((d=c.bsItemPanePartial||a.bsItemPanePartial,d?d.call(a,"view.content.template",g):j.call(a,"bsItemPanePartial","view.content.template",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=c.helperMissing,k=this.escapeExpression,l=this;h={},i={},g=c["if"].call(b,"view.content.template",{hash:{},inverse:l.noop,fn:l.program(1,f,e),contexts:[b],types:["ID"],hashContexts:i,hashTypes:h,data:e}),e.buffer.push(g||0===g?g:"")}); \ 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..5fac158 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,14 @@ Modal component. instance = modalView.create(options); return instance.appendTo(rootElement); }, - open: function(name, title, view, footerButtons, controller) { + 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 +265,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,7 +305,7 @@ 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) { @@ -281,33 +369,47 @@ function program9(depth0,data) { return buffer; } - data.buffer.push("
\n
\n
\n \n

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

\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); } + 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("\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); } + if(stack2 || stack2 === 0) { data.buffer.push(stack2); } data.buffer.push("\n

\n
\n
\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("\n
\n
\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); } + 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("\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); } + 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("\n
\n
\n
"); return buffer; diff --git a/dist/js/bs-modal.min.js b/dist/js/bs-modal.min.js index 7ff65cf..ce61532 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)},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("\n \n "),h}function g(a,b){var d,e,f="";return b.buffer.push("\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("\n "),f}function h(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 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(r((d=c["bs-button"]||a["bs-button"],d?d.call(a,g):q.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(r(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,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.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 d56d925..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= 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("\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("\n"),h}function g(a,b){var d,e,f="";return b.buffer.push("\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("\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