front_end_builds 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b76de17ea5a85d7b6e1c9ca8d26e7a0b55d16399
4
- data.tar.gz: 1e0730650a1db2545efd83710b9d6471dfab7786
3
+ metadata.gz: 8872d8397eb2f6a5f1422449fa91f1218c31b6ec
4
+ data.tar.gz: 95167445cfcaca2c998a2a393ac24b0a282e6c89
5
5
  SHA512:
6
- metadata.gz: 9068e3c19df8ade4559bec36fd41bdc0d0543c567773142ed9ead4561dfab6c08bd6379110294c84e6294cace0f45921a0b7176ba2779253cd6388966691576f
7
- data.tar.gz: e51b645290dd483bd68c2d65291056fa093c7e9188e451b96aa868773d8493330327f31e9a643e28d32679c0868c32a4cc5f1a76067e84f12af7ca69ad702700
6
+ metadata.gz: 90fe489019fc73a9d3519c1baa90c259d55bccdd1c54c8f32b6f1bfab4be80df8f68a9cb6002feb3bdccd1ab8ccd057f248ff2640deb04ed95ece6fcd4438493
7
+ data.tar.gz: 4ee5c713900496644c48f1b0e5112f03d8771645070278a357971c876ccea1f5aea4c3424d7fbffbd9e723fda5e47a084560008a6c27b05968f8f86b5aab1638
@@ -14,7 +14,7 @@ module FrontEndBuilds
14
14
  has_many :recent_builds,
15
15
  class_name: "FrontEndBuilds::Build",
16
16
  limit: 10,
17
- order: 'created_at'
17
+ order: 'created_at desc'
18
18
  else
19
19
  # Rails 4
20
20
  has_many :recent_builds, -> { recent },
@@ -125,6 +125,8 @@ module FrontEndBuilds
125
125
  app_id: app_id,
126
126
  sha: sha,
127
127
  branch: branch,
128
+ job: job,
129
+ created_at: created_at
128
130
  }
129
131
  end
130
132
 
@@ -8,14 +8,14 @@
8
8
  <meta name="viewport" content="width=device-width, initial-scale=1">
9
9
 
10
10
  <base href="/BASEURL/" />
11
- <meta name="admin/config/environment" content="%7B%22modulePrefix%22%3A%22admin%22%2C%22environment%22%3A%22production%22%2C%22baseURL%22%3A%22BASEURL%22%2C%22locationType%22%3A%22auto%22%2C%22usePodsByDefault%22%3Atrue%2C%22podModulePrefix%22%3A%22admin/pods%22%2C%22EmberENV%22%3A%7B%22FEATURES%22%3A%7B%7D%7D%2C%22APP%22%3A%7B%7D%2C%22contentSecurityPolicyHeader%22%3A%22Content-Security-Policy-Report-Only%22%2C%22contentSecurityPolicy%22%3A%7B%22default-src%22%3A%22%27none%27%22%2C%22script-src%22%3A%22%27self%27%22%2C%22font-src%22%3A%22%27self%27%22%2C%22connect-src%22%3A%22%27self%27%22%2C%22img-src%22%3A%22%27self%27%22%2C%22style-src%22%3A%22%27self%27%22%2C%22media-src%22%3A%22%27self%27%22%7D%2C%22ember-pretenderify%22%3A%7B%22usingProxy%22%3Afalse%7D%2C%22exportApplicationGlobal%22%3Afalse%7D" />
11
+ <meta name="admin/config/environment" content="%7B%22modulePrefix%22%3A%22admin%22%2C%22environment%22%3A%22production%22%2C%22baseURL%22%3A%22BASEURL%22%2C%22locationType%22%3A%22auto%22%2C%22usePodsByDefault%22%3Atrue%2C%22podModulePrefix%22%3A%22admin/pods%22%2C%22EmberENV%22%3A%7B%22FEATURES%22%3A%7B%7D%7D%2C%22APP%22%3A%7B%7D%2C%22contentSecurityPolicyHeader%22%3A%22Content-Security-Policy-Report-Only%22%2C%22contentSecurityPolicy%22%3A%7B%22default-src%22%3A%22%27none%27%22%2C%22script-src%22%3A%22%27self%27%22%2C%22font-src%22%3A%22%27self%27%22%2C%22connect-src%22%3A%22%27self%27%22%2C%22img-src%22%3A%22%27self%27%22%2C%22style-src%22%3A%22%27self%27%22%2C%22media-src%22%3A%22%27self%27%22%7D%2C%22ember-cli-mirage%22%3A%7B%22usingProxy%22%3Afalse%7D%2C%22exportApplicationGlobal%22%3Afalse%7D" />
12
12
 
13
13
  <script>
14
14
  window.RAILS_ENV = {
15
15
  baseURL: ''
16
16
  }
17
17
  </script>
18
- <link rel="stylesheet" href="/front_end_builds/assets/vendor-a8105f0efcfa2b3ff559e3a06333c43e.css">
18
+ <link rel="stylesheet" href="/front_end_builds/assets/vendor-e66cf83d2197d2c219004cc3d956f051.css">
19
19
  <link rel="stylesheet" href="/front_end_builds/assets/admin-e75b37fa41fedcd7e63427d0d395331a.css">
20
20
 
21
21
 
@@ -23,8 +23,8 @@
23
23
  <body>
24
24
 
25
25
 
26
- <script src="/front_end_builds/assets/vendor-04e7c54f17406375028018e3cb9433af.js"></script>
27
- <script src="/front_end_builds/assets/admin-8ff31b44f8d2b836f2f6a419fb1d4766.js"></script>
26
+ <script src="/front_end_builds/assets/vendor-94558a8d639a54bcc84f994399fe3cfc.js"></script>
27
+ <script src="/front_end_builds/assets/admin-de082285d1a15da1d2afcc4fbb29bc2f.js"></script>
28
28
 
29
29
 
30
30
  </body>
@@ -1,3 +1,3 @@
1
1
  module FrontEndBuilds
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
@@ -0,0 +1,2 @@
1
+ define("admin/adapters/application",["ember-data","exports"],function(e,t){"use strict";var s=e["default"];t["default"]=s.ActiveModelAdapter.extend({namespace:window.RAILS_ENV.baseURL+(window.RAILS_ENV.baseURL?"/":"")+"api"})}),define("admin/app",["ember","ember/resolver","ember/load-initializers","admin/config/environment","exports"],function(e,t,s,a,n){"use strict";var i=e["default"],r=t["default"],o=s["default"],l=a["default"];i.MODEL_FACTORY_INJECTIONS=!0;var u=i.Application.extend({modulePrefix:l.modulePrefix,podModulePrefix:l.podModulePrefix,Resolver:r});o(u,l.modulePrefix),n["default"]=u}),define("admin/components/async-button",["ember","exports"],function(e,t){"use strict";var s=e["default"];t["default"]=s.Component.extend({tagName:"button",textState:"default",reset:!1,classNames:["async-button"],classNameBindings:["textState"],attributeBindings:["disabled","type"],type:"submit",disabled:s.computed.equal("textState","pending"),click:function(){var e=this;return this.sendAction("action",function(t){e.set("promise",t)}),this.set("textState","pending"),!1},text:s.computed("textState","default","pending","resolved","fulfilled","rejected",function(){return this.getWithDefault(this.textState,this.get("default"))}),resetObserver:s.observer("textState","reset",function(){this.get("reset")&&["resolved","rejected","fulfilled"].contains(this.get("textState"))&&this.set("textState","default")}),handleActionPromise:s.observer("promise",function(){var e=this;this.get("promise").then(function(){e.isDestroyed||e.set("textState","fulfilled")})["catch"](function(){e.isDestroyed||e.set("textState","rejected")})}),setUnknownProperty:function(e,t){"resolved"===e&&(s.deprecate("The 'resolved' property is deprecated. Please use 'fulfilled'",!1),e="fulfilled"),this[e]=null,this.set(e,t)}})}),define("admin/components/lf-overlay",["ember","exports"],function(e,t){"use strict";var s=e["default"];t["default"]=s.Component.extend({tagName:"span",classNames:["lf-overlay"],didInsertElement:function(){s.$("body").addClass("lf-modal-open")},willDestroy:function(){s.$("body").removeClass("lf-modal-open")},click:function(){this.sendAction("clickAway")}})}),define("admin/components/liquid-modal",["ember","exports"],function(e,t){"use strict";function s(e,t){var s=e.get("innerViewInstance");s&&s.send(t)}var a=e["default"];t["default"]=a.Component.extend({classNames:["liquid-modal"],currentContext:a.computed.oneWay("owner.modalContexts.lastObject"),owner:null,innerView:a.computed("currentContext",function(){var e=this,t=this.get("currentContext"),s=t.get("name"),n=this.get("container"),i=n.lookup("component-lookup:main").lookupFactory(s);a.assert("Tried to render a modal using component '"+s+"', but couldn't find it.",!!i);var r=a.copy(t.get("params"));r.registerMyself=a.on("init",function(){e.set("innerViewInstance",this)}),r._source=a.computed(function(){return t.get("source")});var o,l,u=t.get("options.otherParams");for(o in u)l=u[o],r[l]=a.computed.alias("_source."+o);var p=t.get("options.actions")||{};return r.sendAction=function(e){var s=p[e];if(!s)return void this._super.apply(this,Array.prototype.slice.call(arguments));var a=t.get("source"),n=Array.prototype.slice.call(arguments,1);n.unshift(s),a.send.apply(a,n)},i.extend(r)}),actions:{outsideClick:function(){this.get("currentContext.options.dismissWithOutsideClick")?this.send("dismiss"):s(this,"outsideClick")},escape:function(){this.get("currentContext.options.dismissWithEscape")?this.send("dismiss"):s(this,"escape")},dismiss:function(){var e=this.get("currentContext.source"),t=e.constructor.proto(),s=this.get("currentContext.options.withParams"),a={};for(var n in s)a[n]=t[n];e.setProperties(a)}}})}),define("admin/components/lm-container",["ember","liquid-fire/tabbable","exports"],function(e,t,s){"use strict";function a(){i&&i.focus()}var n=e["default"],i=null;n.$(document).on("focusin",a),s["default"]=n.Component.extend({classNames:["lm-container"],attributeBindings:["tabindex"],tabindex:0,keyUp:function(e){27===e.keyCode&&this.sendAction()},keyDown:function(e){9===e.keyCode&&this.constrainTabNavigation(e)},didInsertElement:function(){this.focus(),i=this},willDestroy:function(){i=null},focus:function(){if(!this.get("element").contains(document.activeElement)){var e=this.$("[autofocus]");e.length||(e=this.$(":tabbable")),e.length||(e=this.$()),e[0].focus()}},constrainTabNavigation:function(e){var t=this.$(":tabbable"),s=t[e.shiftKey?"first":"last"]()[0],a=s===document.activeElement||this.get("element")===document.activeElement;a&&(e.preventDefault(),t[e.shiftKey?"last":"first"]()[0].focus())}})}),define("admin/helpers/fa-icon",["ember","exports"],function(e,t){"use strict";var s=e["default"],a=/^fa\-.+/,n=s.Logger.warn,i=function(e,t){if("string"!==s.typeOf(e)){var i="fa-icon: no icon specified";return n(i),new s.Handlebars.SafeString(i)}var r=t.hash,o=[],l="";return o.push("fa"),e.match(a)||(e="fa-"+e),o.push(e),r.spin&&o.push("fa-spin"),r.flip&&o.push("fa-flip-"+r.flip),r.rotate&&o.push("fa-rotate-"+r.rotate),r.lg&&(n("fa-icon: the 'lg' parameter is deprecated. Use 'size' instead. I.e. {{fa-icon size=\"lg\"}}"),o.push("fa-lg")),r.x&&(n("fa-icon: the 'x' parameter is deprecated. Use 'size' instead. I.e. {{fa-icon size=\""+r.x+'"}}'),o.push("fa-"+r.x+"x")),r.size&&o.push("number"===s.typeOf(r.size)?"fa-"+r.size+"x":"fa-"+r.size),r.fixedWidth&&o.push("fa-fw"),r.listItem&&o.push("fa-li"),r.pull&&o.push("pull-"+r.pull),r.border&&o.push("fa-border"),r.classNames&&!s.isArray(r.classNames)&&(r.classNames=[r.classNames]),s.isEmpty(r.classNames)||Array.prototype.push.apply(o,r.classNames),l+="<i",l+=" class='"+o.join(" ")+"'",r.title&&(l+=" title='"+r.title+"'"),l+="></i>",new s.Handlebars.SafeString(l)};t.faIcon=i,t["default"]=s.Handlebars.makeBoundHelper(i)}),define("admin/helpers/liquid-bind",["exports"],function(e){"use strict";function t(){var e,t;s?(e=arguments[2],t=this.container):(e=arguments[arguments.length-1],t=e.data.view.container);var a=t.lookupFactory("template:liquid-with-self"),n=t.lookupFactory("helper:liquid-with");return s?e.template=a:e.fn=a,s?void n.helperFunction.apply(this,arguments):n.apply(this,arguments)}var s=!!Ember.HTMLBars,a=t;Ember.HTMLBars&&(a={isHTMLBars:!0,helperFunction:t,preprocessArguments:function(){}}),e["default"]=a}),define("admin/helpers/liquid-box",["ember","exports"],function(e,t){"use strict";var s=e["default"];t["default"]=function(){s.assert("liquid-box is deprecated, see CHANGELOG.md",!1)}}),define("admin/helpers/liquid-if",["ember","exports"],function(e,t){"use strict";function s(e){var t=function(){var t,s,i,r,o;n?(t=arguments[0][0],s=arguments[1],i=arguments[2],r=arguments[3],o=this.container):(t=arguments[0],i=arguments[1],s=i.hash,o=i.data.view.container);var l=o.lookupFactory("view:liquid-if"),u=[i.fn||i.template,i.inverse];return e&&u.reverse(),delete i.fn,delete i.template,delete i.inverse,s.containerless&&(l=l.extend(a._Metamorph)),s.templates=u,n?(s.showFirst=t,void r.helpers.view.helperFunction.call(this,[l],s,i,r)):(s.showFirstBinding=t,a.Handlebars.helpers.view.call(this,l,i))};return a.HTMLBars?{isHTMLBars:!0,helperFunction:t,preprocessArguments:function(){}}:t}var a=e["default"],n=!!a.HTMLBars;t.factory=s,t["default"]=s(!1)}),define("admin/helpers/liquid-measure",["ember","exports"],function(e,t){"use strict";var s=e["default"];t["default"]=function(){s.assert("liquid-measure is deprecated, see CHANGELOG.md",!1)}}),define("admin/helpers/liquid-outlet",["ember","exports"],function(e,t){"use strict";function s(e,t){var e,t,s,i,r;n?(e=arguments[0][0],i=arguments[1],t=arguments[2],r=arguments[3],s=this.container,e||(e="main",t.paramTypes=["string"])):(e=arguments[0],e&&e.data&&e.data.isRenderData&&(t=e,e="main",t.types.push("STRING")),s=t.data.view.container,i=t.hash);var o=s.lookupFactory("view:liquid-outlet");return i.containerless&&(o=o.extend(a._Metamorph)),i.viewClass=o,n?void r.helpers.outlet.helperFunction.call(this,[e],i,t,r):a.Handlebars.helpers.outlet.call(this,e,t)}var a=e["default"],n=!!a.HTMLBars,i=s;a.HTMLBars&&(i={isHTMLBars:!0,helperFunction:s,preprocessArguments:function(){}}),t["default"]=i}),define("admin/helpers/liquid-unless",["admin/helpers/liquid-if","exports"],function(e,t){"use strict";var s=e.factory;t["default"]=s(!0)}),define("admin/helpers/liquid-with",["ember","exports"],function(e,t){"use strict";function s(){var e,t,s,i,r,o,l,u,r={hashTypes:{}},p={};n?(e=arguments[0],l=arguments[1],s=arguments[2],u=arguments[3],t=e[0],i=this.container,o=arguments[3].data,r.morph=s.morph,3===e.length&&(l.keywordName=e[2]._label,e=[t])):(e=Array.prototype.slice.apply(arguments,[0,-1]),t=arguments[0],s=arguments[arguments.length-1],o=s.data,l=s.hash,i=o.view.container,r.data=o,r.hash=p);var h=i.lookupFactory("view:liquid-with");return h=h.extend({originalArgs:e,originalHash:l,originalHashTypes:s.hashTypes,innerTemplate:s.fn||s.template}),l.containerless&&(h=h.extend(a._Metamorph)),p.boundContextBinding=t,["class","classNames","classNameBindings","use","id","growDuration","growPixelsPerSecond","growEasing","enableGrowth","containerless"].forEach(function(e){l.hasOwnProperty(e)&&(p[e]=l[e],r.hashTypes[e]=s.hashTypes?s.hashTypes[e]:void 0)}),n?void u.helpers.view.helperFunction.call(this,[h],p,r,u):a.Handlebars.helpers.view.call(this,h,r)}var a=e["default"],n=!!a.HTMLBars,i=s;n&&(i={isHTMLBars:!0,helperFunction:s,preprocessArguments:function(){}}),t["default"]=i}),define("admin/helpers/with-apply",["ember","exports"],function(e,t){"use strict";function s(){var e,t,s,i;n?(e=arguments[1],t=arguments[2],s=arguments[3],i=this):(t=arguments[0],e=t.hash,i=t.data.view);var r=i.get("liquidWithParent"),o=r.get("originalArgs").slice();return o[0]="lwith-view.boundContext",t=a.copy(t),i._keywords||(i._keywords={}),i._keywords["lwith-view"]=i,n||(t.data.keywords||(t.data.keywords={}),t.data.keywords["lwith-view"]=i),n?t.template=r.get("innerTemplate"):t.fn=r.get("innerTemplate"),e=r.get("originalHash"),t.hashTypes=r.get("originalHashTypes"),n?void s.helpers["with"].helperFunction.call(this,[i.getStream(o[0])],e,t,s):(t.hash=e,o.push(t),a.Handlebars.helpers["with"].apply(this,o))}var a=e["default"],n=!!a.HTMLBars,i=s;a.HTMLBars&&(i={isHTMLBars:!0,helperFunction:s,preprocessArguments:function(){}}),t["default"]=i}),define("admin/initializers/ember-moment",["ember-moment/helpers/moment","ember-moment/helpers/ago","ember","exports"],function(e,t,s,a){"use strict";var n=e.moment,i=t.ago,r=s["default"],o=function(){r.Handlebars.helper("moment",n),r.Handlebars.helper("ago",i)};a.initialize=o,a["default"]={name:"ember-moment",initialize:o}}),define("admin/initializers/export-application-global",["ember","admin/config/environment","exports"],function(e,t,s){"use strict";function a(e,t){var s=n.String.classify(i.modulePrefix);i.exportApplicationGlobal&&!window[s]&&(window[s]=t)}var n=e["default"],i=t["default"];s.initialize=a,s["default"]={name:"export-application-global",initialize:a}}),define("admin/initializers/liquid-fire",["liquid-fire","ember","exports"],function(e,t,s){"use strict";var a=e.initialize,n=t["default"];s["default"]={name:"liquid-fire",initialize:function(e){if(n.$.Velocity){var t=n.$.Velocity.version,s=[0,11,8];1===n.compare(s,[t.major,t.minor,t.patch])&&n.warn("You should probably upgrade Velocity.js, recommended minimum is "+s.join("."))}else n.warn("Velocity.js is missing");a(e)}}}),define("admin/models/app",["ember-data","ember","exports"],function(e,t,s){"use strict";var a=e["default"],n=t["default"];s["default"]=a.Model.extend({builds:a.hasMany("build"),liveBuild:a.belongsTo("build"),name:a.attr("string",{defaultValue:""}),apiKey:a.attr("string"),location:a.attr("string"),requireManualActivation:a.attr("boolean"),buildsSorting:["createdAt:desc"],orderedBuilds:n.computed.sort("builds","buildsSorting")})}),define("admin/models/build",["ember-data","exports"],function(e,t){"use strict";var s=e["default"];t["default"]=s.Model.extend({app:s.belongsTo("app",{inverse:"builds"}),sha:s.attr("string"),job:s.attr("string"),branch:s.attr("string"),createdAt:s.attr("date"),isLive:function(){return this===this.get("app.liveBuild")}.property("app.liveBuild"),activate:function(){return this.get("app").set("liveBuild",this).save()},shortSha:function(){return this.get("sha").slice(0,6)}.property("sha"),location:function(){var e=this.get("app.location"),t=this.get("isLive"),s=this.get("id");return t?e:""+e+"?id="+s}.property("app.location","isLive","id")})}),define("admin/models/host-app",["ember-data","exports"],function(e,t){"use strict";var s=e["default"];t["default"]=s.Model.extend({name:s.attr("string"),friendlyName:function(){return this.get("name").replace("_"," ").capitalize()}.property("name")})}),define("admin/pods/app/controller",["ember","exports"],function(e,t){"use strict";var s=e["default"];t["default"]=s.Controller.extend({actions:{willRenameApp:function(){this.set("willRename",!0)},willDeleteApp:function(){this.set("willDelete",!0)}}})}),define("admin/pods/app/route",["ember","exports"],function(e,t){"use strict";var s=e["default"];t["default"]=s.Route.extend({actions:{appDeleted:function(){this.set("controller.willDelete",void 0),this.transitionTo("apps")}}})}),define("admin/pods/app/template",["ember","exports"],function(e,t){"use strict";var s=e["default"];t["default"]=s.Handlebars.template(function(e,t,a,n,i){function r(e,t){var s,n,i,r="";return t.buffer.push("\n <div class=\"panel panel-default\">\n <div class=\"panel-heading\">\n <h3 class='panel-title'>\n Current live build\n <a class='App-detail__link' "),t.buffer.push(f(a["bind-attr"].call(e,{hash:{href:"model.location"},hashTypes:{href:"ID"},hashContexts:{href:e},contexts:[],types:[],data:t}))),t.buffer.push(">\n "),t.buffer.push(f((n=a["fa-icon"]||e&&e["fa-icon"],i={hash:{},hashTypes:{},hashContexts:{},contexts:[e],types:["STRING"],data:t},n?n.call(e,"external-link",i):m.call(e,"fa-icon","external-link",i)))),t.buffer.push('\n </a>\n </h3>\n </div>\n <div class="panel-body">\n <p>Branch: <strong>'),s=a._triageMustache.call(e,"model.liveBuild.branch",{hash:{},hashTypes:{},hashContexts:{},contexts:[e],types:["ID"],data:t}),(s||0===s)&&t.buffer.push(s),t.buffer.push("</strong></p>\n <p>Sha: <strong>"),s=a._triageMustache.call(e,"model.liveBuild.sha",{hash:{},hashTypes:{},hashContexts:{},contexts:[e],types:["ID"],data:t}),(s||0===s)&&t.buffer.push(s),t.buffer.push("</strong></p>\n <p>Job: <strong>"),s=a._triageMustache.call(e,"model.liveBuild.job",{hash:{},hashTypes:{},hashContexts:{},contexts:[e],types:["ID"],data:t}),(s||0===s)&&t.buffer.push(s),t.buffer.push("</strong></p>\n </div>\n </div>\n "),r}function o(e,t){t.buffer.push('\n <div class="text-muted">\n <p class=\'lead\'>No active build.</p>\n\n <p>\n To start pushing builds, install <a href="https://github.com/tedconf/ember-cli-front-end-builds" target="_blank">Ember CLI FrontEndBuilds</a> and deploy with <code>ember deploy</code>.\n </p>\n </div>\n ')}function l(e,t){var s,n,i,r="";return t.buffer.push("\n <h3 class='appDetail-buildListTitle'>All builds</h3>\n "),s=a["if"].call(e,"model.requireManualActivation",{hash:{},hashTypes:{},hashContexts:{},inverse:b.noop,fn:b.program(6,u,t),contexts:[e],types:["ID"],data:t}),(s||0===s)&&t.buffer.push(s),t.buffer.push("\n "),t.buffer.push(f((n=a["build-list"]||e&&e["build-list"],i={hash:{builds:"model.orderedBuilds"},hashTypes:{builds:"ID"},hashContexts:{builds:e},contexts:[],types:[],data:t},n?n.call(e,i):m.call(e,"build-list",i)))),t.buffer.push("\n"),r}function u(e,t){t.buffer.push("\n <p class='text-muted'>This app <strong>requires</strong> new builds to be activated manually.</p>\n ")}this.compilerInfo=[4,">= 1.0.0"],a=this.merge(a,s.Handlebars.helpers),i=i||{};var p,h,c,d="",f=this.escapeExpression,m=a.helperMissing,b=this;return i.buffer.push(f((h=a["page-title"]||t&&t["page-title"],c={hash:{name:"model.name"},hashTypes:{name:"ID"},hashContexts:{name:t},contexts:[],types:[],data:i},h?h.call(t,c):m.call(t,"page-title",c)))),i.buffer.push('\n\n<div class="row">\n <div class="col-sm-8">\n '),p=a["if"].call(t,"model.liveBuild",{hash:{},hashTypes:{},hashContexts:{},inverse:b.program(3,o,i),fn:b.program(1,r,i),contexts:[t],types:["ID"],data:i}),(p||0===p)&&i.buffer.push(p),i.buffer.push('\n\n </div>\n\n <div class="col-sm-4">\n <div class="panel panel-default">\n <div class="panel-heading">Options</div>\n <div class="list-group">\n <a '),i.buffer.push(f(a.action.call(t,"willRenameApp",{hash:{},hashTypes:{},hashContexts:{},contexts:[t],types:["STRING"],data:i}))),i.buffer.push(" href='#' class=\"list-group-item\">Rename<a>\n <a "),i.buffer.push(f(a.action.call(t,"willDeleteApp",{hash:{},hashTypes:{},hashContexts:{},contexts:[t],types:["STRING"],data:i}))),i.buffer.push(" href='#' class=\"list-group-item\">Delete</a>\n </div>\n </div>\n </div>\n</div>\n\n"),p=a["if"].call(t,"model.orderedBuilds",{hash:{},hashTypes:{},hashContexts:{},inverse:b.noop,fn:b.program(5,l,i),contexts:[t],types:["ID"],data:i}),(p||0===p)&&i.buffer.push(p),i.buffer.push("\n"),d})}),define("admin/pods/application/route",["ember","exports"],function(e,t){"use strict";var s=e["default"];t["default"]=s.Route.extend({model:function(){return this.store.find("host-app","current")}})}),define("admin/pods/application/template",["ember","exports"],function(e,t){"use strict";var s=e["default"];t["default"]=s.Handlebars.template(function(e,t,a,n,i){function r(e,t){var s,n="";return t.buffer.push("\n <strong>"),s=a._triageMustache.call(e,"model.friendlyName",{hash:{},hashTypes:{},hashContexts:{},contexts:[e],types:["ID"],data:t}),(s||0===s)&&t.buffer.push(s),t.buffer.push("'s</strong> frontend apps\n "),n}this.compilerInfo=[4,">= 1.0.0"],a=this.merge(a,s.Handlebars.helpers),i=i||{};var o,l,u,p="",h=this,c=a.helperMissing,d=this.escapeExpression;return i.buffer.push('<nav class="navbar navbar-inverse navbar-static-top" role="navigation">\n <div class="container-fluid">\n <div class="navbar-header">\n '),l=a["link-to"]||t&&t["link-to"],u={hash:{"class":"navbar-brand"},hashTypes:{"class":"STRING"},hashContexts:{"class":t},inverse:h.noop,fn:h.program(1,r,i),contexts:[t],types:["STRING"],data:i},o=l?l.call(t,"apps",u):c.call(t,"link-to","apps",u),(o||0===o)&&i.buffer.push(o),i.buffer.push('\n </div>\n\n <ul class="Navigation-links nav navbar-nav navbar-right">\n <li>\n '),i.buffer.push(d((l=a["link-to"]||t&&t["link-to"],u={hash:{classNames:"Navigation-links__apps"},hashTypes:{classNames:"STRING"},hashContexts:{classNames:t},contexts:[t,t],types:["STRING","STRING"],data:i},l?l.call(t,"Apps","apps",u):c.call(t,"link-to","Apps","apps",u)))),i.buffer.push("\n </li>\n <li>\n "),i.buffer.push(d((l=a["link-to"]||t&&t["link-to"],u={hash:{classNames:"Navigation-links__pubkeys"},hashTypes:{classNames:"STRING"},hashContexts:{classNames:t},contexts:[t,t],types:["STRING","STRING"],data:i},l?l.call(t,"SSH keys","pubkeys",u):c.call(t,"link-to","SSH keys","pubkeys",u)))),i.buffer.push('\n </li>\n <li>\n <a href="https://github.com/tedconf/front_end_builds/issues" target="_blank">\n Support\n </a>\n </li>\n </ul>\n\n </div>\n</nav>\n\n<div class="container-fluid">\n '),o=a._triageMustache.call(t,"outlet",{hash:{},hashTypes:{},hashContexts:{},contexts:[t],types:["ID"],data:i}),(o||0===o)&&i.buffer.push(o),i.buffer.push("\n</div>\n\n"),o=a._triageMustache.call(t,"liquid-modal",{hash:{},hashTypes:{},hashContexts:{},contexts:[t],types:["ID"],data:i}),(o||0===o)&&i.buffer.push(o),i.buffer.push("\n"),p})}),define("admin/pods/apps/controller",["ember","exports"],function(e,t){"use strict";var s=e["default"];t["default"]=s.Controller.extend({savedApps:s.computed.filterBy("model","isNew",!1),newApp:function(){return this.get("model").filterBy("isNew",!0).get("firstObject")}.property("model.@each.isNew"),actions:{createApp:function(){this.get("newApp")||this.store.createRecord("app")}}})}),define("admin/pods/apps/route",["ember","exports"],function(e,t){"use strict";var s=e["default"];t["default"]=s.Route.extend({model:function(){return this.store.find("app")}})}),define("admin/pods/apps/template",["ember","exports"],function(e,t){"use strict";var s=e["default"];t["default"]=s.Handlebars.template(function(e,t,a,n,i){function r(e,t){var s,n,i="";return t.buffer.push("\n <button "),t.buffer.push(d(a.action.call(e,"createApp",{hash:{},hashTypes:{},hashContexts:{},contexts:[e],types:["STRING"],data:t}))),t.buffer.push(' class="btn btn-default btn-sm">\n '),t.buffer.push(d((s=a["fa-icon"]||e&&e["fa-icon"],n={hash:{},hashTypes:{},hashContexts:{},contexts:[e],types:["STRING"],data:t},s?s.call(e,"plus",n):f.call(e,"fa-icon","plus",n)))),t.buffer.push("\n New app\n </button>\n"),i}function o(e,t){var s,n,i="";return t.buffer.push('\n <div class="col-sm-4">\n '),t.buffer.push(d((s=a["app-card"]||e&&e["app-card"],n={hash:{app:"app"},hashTypes:{app:"ID"},hashContexts:{app:e},contexts:[],types:[],data:t},s?s.call(e,n):f.call(e,"app-card",n)))),t.buffer.push("\n </div>\n "),i}function l(e,t){var s,n,i="";return t.buffer.push('\n <div class="col-sm-4">\n '),t.buffer.push(d((s=a["new-app-card"]||e&&e["new-app-card"],n={hash:{app:"newApp"},hashTypes:{app:"ID"},hashContexts:{app:e},contexts:[],types:[],data:t},s?s.call(e,n):f.call(e,"new-app-card",n)))),t.buffer.push("\n </div>\n "),i}this.compilerInfo=[4,">= 1.0.0"],a=this.merge(a,s.Handlebars.helpers),i=i||{};var u,p,h,c="",d=this.escapeExpression,f=a.helperMissing,m=this;return p=a["page-title"]||t&&t["page-title"],h={hash:{name:"Apps"},hashTypes:{name:"STRING"},hashContexts:{name:t},inverse:m.noop,fn:m.program(1,r,i),contexts:[],types:[],data:i},u=p?p.call(t,h):f.call(t,"page-title",h),(u||0===u)&&i.buffer.push(u),i.buffer.push('\n\n<div class="row">\n '),u=a.each.call(t,"app","in","savedApps",{hash:{},hashTypes:{},hashContexts:{},inverse:m.noop,fn:m.program(3,o,i),contexts:[t,t,t],types:["ID","ID","ID"],data:i}),(u||0===u)&&i.buffer.push(u),i.buffer.push("\n\n "),u=a["if"].call(t,"newApp",{hash:{},hashTypes:{},hashContexts:{},inverse:m.noop,fn:m.program(5,l,i),contexts:[t],types:["ID"],data:i}),(u||0===u)&&i.buffer.push(u),i.buffer.push("\n</div>\n\n"),u=a._triageMustache.call(t,"liquid-modal",{hash:{},hashTypes:{},hashContexts:{},contexts:[t],types:["ID"],data:i}),(u||0===u)&&i.buffer.push(u),i.buffer.push("\n"),c})}),define("admin/pods/components/app-card/component",["ember","exports"],function(e,t){"use strict";var s=e["default"];t["default"]=s.Component.extend({})}),define("admin/pods/components/app-card/template",["ember","exports"],function(e,t){"use strict";var s=e["default"];t["default"]=s.Handlebars.template(function(e,t,a,n,i){function r(e,t){var s,n="";return t.buffer.push('\n <div class="row">\n <div class="col-xs-4">\n <p class=\'App-card__info-label\'>Branch</p>\n <p>'),s=a._triageMustache.call(e,"app.liveBuild.branch",{hash:{},hashTypes:{},hashContexts:{},contexts:[e],types:["ID"],data:t}),(s||0===s)&&t.buffer.push(s),t.buffer.push("</p>\n </div>\n <div class=\"col-xs-4\">\n <p class='App-card__info-label'>Sha</p>\n <p>"),s=a._triageMustache.call(e,"app.liveBuild.shortSha",{hash:{},hashTypes:{},hashContexts:{},contexts:[e],types:["ID"],data:t}),(s||0===s)&&t.buffer.push(s),t.buffer.push("</p>\n </div>\n <div class=\"col-xs-4\">\n <p class='App-card__info-label'>Job</p>\n <p>"),s=a._triageMustache.call(e,"app.liveBuild.job",{hash:{},hashTypes:{},hashContexts:{},contexts:[e],types:["ID"],data:t}),(s||0===s)&&t.buffer.push(s),t.buffer.push("</p>\n </div>\n </div>\n\n "),n}function o(e,t){t.buffer.push("\n\n <div class=\"text-muted\">\n <p class='text-center'>No active build.</p>\n <hr class='short-divider'>\n <p class='App-card__instructions'>\n To start pushing builds, install <a href=\"https://github.com/tedconf/ember-cli-front-end-builds\" target=\"_blank\">Ember CLI FrontEndBuilds</a> and deploy with <code>ember deploy</code>.\n </p>\n </div>\n\n ")}this.compilerInfo=[4,">= 1.0.0"],a=this.merge(a,s.Handlebars.helpers),i=i||{};var l,u,p,h="",c=a.helperMissing,d=this.escapeExpression,f=this;return i.buffer.push('<div class="App-card panel panel-primary">\n <div class="panel-heading">\n <h3 class="panel-title">\n '),i.buffer.push(d((u=a["link-to"]||t&&t["link-to"],p={hash:{},hashTypes:{},hashContexts:{},contexts:[t,t,t],types:["ID","STRING","ID"],data:i},u?u.call(t,"app.name","app","app",p):c.call(t,"link-to","app.name","app","app",p)))),i.buffer.push('\n </h3>\n </div>\n <div class="panel-body">\n\n '),l=a["if"].call(t,"app.liveBuild",{hash:{},hashTypes:{},hashContexts:{},inverse:f.program(3,o,i),fn:f.program(1,r,i),contexts:[t],types:["ID"],data:i}),(l||0===l)&&i.buffer.push(l),i.buffer.push("\n\n </div>\n</div>\n"),h})}),define("admin/pods/components/build-list/component",["ember","exports"],function(e,t){"use strict";var s=e["default"];t["default"]=s.Component.extend({actions:{activate:function(e){return e.activate().then(null,function(e){console.error(e)})}}})}),define("admin/pods/components/build-list/template",["ember","exports"],function(e,t){"use strict";var s=e["default"];t["default"]=s.Handlebars.template(function(e,t,a,n,i){function r(e,t){var s,n,i,r="";return t.buffer.push("\n <tr "),t.buffer.push(h(a["bind-attr"].call(e,{hash:{"class":"build.isLive:success :appDetail-buildListItem"},hashTypes:{"class":"STRING"},hashContexts:{"class":e},contexts:[],types:[],data:t}))),t.buffer.push(">\n <td class='appDetail-buildListItemCell__id'>#"),s=a._triageMustache.call(e,"build.id",{hash:{},hashTypes:{},hashContexts:{},contexts:[e],types:["ID"],data:t}),(s||0===s)&&t.buffer.push(s),t.buffer.push("</td>\n <td class='appDetail-buildListItemCell__live'>\n "),s=a["if"].call(e,"build.isLive",{hash:{},hashTypes:{},hashContexts:{},inverse:c.noop,fn:c.program(2,o,t),contexts:[e],types:["ID"],data:t}),(s||0===s)&&t.buffer.push(s),t.buffer.push("\n </td>\n <td class='appDetail-buildListItemCell__link'>\n <a "),t.buffer.push(h(a["bind-attr"].call(e,{hash:{href:"build.location"},hashTypes:{href:"ID"},hashContexts:{href:e},contexts:[],types:[],data:t}))),t.buffer.push(">\n "),t.buffer.push(h((n=a["fa-icon"]||e&&e["fa-icon"],i={hash:{},hashTypes:{},hashContexts:{},contexts:[e],types:["STRING"],data:t},n?n.call(e,"external-link",i):d.call(e,"fa-icon","external-link",i)))),t.buffer.push("\n </a>\n </td>\n <td class='appDetail-buildListItemCell'>\n <p>"),t.buffer.push(h((n=a.ago||e&&e.ago,i={hash:{},hashTypes:{},hashContexts:{},contexts:[e],types:["ID"],data:t},n?n.call(e,"build.createdAt",i):d.call(e,"ago","build.createdAt",i)))),t.buffer.push("</p>\n </td>\n <td class='appDetail-buildListItemCell'>"),s=a._triageMustache.call(e,"build.branch",{hash:{},hashTypes:{},hashContexts:{},contexts:[e],types:["ID"],data:t}),(s||0===s)&&t.buffer.push(s),t.buffer.push("</td>\n <td class='appDetail-buildListItemCell'>#"),s=a._triageMustache.call(e,"build.shortSha",{hash:{},hashTypes:{},hashContexts:{},contexts:[e],types:["ID"],data:t}),(s||0===s)&&t.buffer.push(s),t.buffer.push("</td>\n <td class='appDetail-buildListItemCell text-right'>\n "),s=a.unless.call(e,"build.isLive",{hash:{},hashTypes:{},hashContexts:{},inverse:c.noop,fn:c.program(4,l,t),contexts:[e],types:["ID"],data:t}),(s||0===s)&&t.buffer.push(s),t.buffer.push("\n </td>\n </tr>\n "),r}function o(e,t){t.buffer.push("\n <span class='pull-right'>\n <span class='label label-success'>Live</span>\n </span>\n ")}function l(e,t){var s="";return t.buffer.push("\n <button "),t.buffer.push(h(a.action.call(e,"activate","build",{hash:{},hashTypes:{},hashContexts:{},contexts:[e,e],types:["STRING","ID"],data:t}))),t.buffer.push(' class="btn btn-warning btn-xs">Make live</button>\n '),s}this.compilerInfo=[4,">= 1.0.0"],a=this.merge(a,s.Handlebars.helpers),i=i||{};var u,p="",h=this.escapeExpression,c=this,d=a.helperMissing;return i.buffer.push("<table class='table table-hover appDetail-buildList'>\n <thead>\n <tr>\n <th class='appDetail-buildListItemCell__id'>ID</th>\n <th class='appDetail-buildListItemCell__live'></th>\n <th class='appDetail-buildListItemCell__link'></th>\n <th class='appDetail-buildListItemCell__built'>Built</th>\n <th class='appDetail-buildListItemCell'>Branch</th>\n <th class='appDetail-buildListItemCell'>Commit</th>\n <th class='appDetail-buildListItemCell'></th>\n </tr>\n </thead>\n <tbody>\n "),u=a.each.call(t,"build","in","builds",{hash:{},hashTypes:{},hashContexts:{},inverse:c.noop,fn:c.program(1,r,i),contexts:[t,t,t],types:["ID","ID","ID"],data:i}),(u||0===u)&&i.buffer.push(u),i.buffer.push("\n </tbody>\n</table>\n"),p})}),define("admin/pods/components/delete-app-form/component",["ember","exports"],function(e,t){"use strict";var s=e["default"];t["default"]=s.Component.extend({canDelete:function(){return this.get("app.name")===this.get("confirmedName")}.property("app.name","confirmedName"),actions:{dismiss:function(){this.sendAction("dismiss")},deleteApp:function(){var e=this;this.get("app").destroyRecord().then(function(){e.sendAction("deleted")})}}})}),define("admin/pods/components/delete-app-form/template",["ember","exports"],function(e,t){"use strict";var s=e["default"];t["default"]=s.Handlebars.template(function(e,t,a,n,i){this.compilerInfo=[4,">= 1.0.0"],a=this.merge(a,s.Handlebars.helpers),i=i||{};var r,o,l,u="",p=this.escapeExpression,h=a.helperMissing;return i.buffer.push('<div class="modal-header">\n <button '),i.buffer.push(p(a.action.call(t,"dismiss",{hash:{},hashTypes:{},hashContexts:{},contexts:[t],types:["STRING"],data:i}))),i.buffer.push(' type="button" class="close"><span aria-hidden="true">&times;</span></button>\n <h4 class="modal-title">Are you sure?</h4>\n</div>\n<div class="modal-body">\n <p>This action <strong>CANNOT</strong> be undone. If you delete the <strong>'),r=a._triageMustache.call(t,"app.name",{hash:{},hashTypes:{},hashContexts:{},contexts:[t],types:["ID"],data:i}),(r||0===r)&&i.buffer.push(r),i.buffer.push("</strong> app, users will no longer be able to view it when they visit <a "),i.buffer.push(p(a["bind-attr"].call(t,{hash:{href:"app.location"},hashTypes:{href:"STRING"},hashContexts:{href:t},contexts:[],types:[],data:i}))),i.buffer.push(" target='_blank'>"),r=a._triageMustache.call(t,"app.location",{hash:{},hashTypes:{},hashContexts:{},contexts:[t],types:["ID"],data:i}),(r||0===r)&&i.buffer.push(r),i.buffer.push('</a>.</p>\n <p>Please type in the name of this app to confirm.</p>\n\n <div class="form-group">\n '),i.buffer.push(p((o=a.input||t&&t.input,l={hash:{"class":"form-control",value:"confirmedName"},hashTypes:{"class":"STRING",value:"ID"},hashContexts:{"class":t,value:t},contexts:[],types:[],data:i},o?o.call(t,l):h.call(t,"input",l)))),i.buffer.push("\n </div>\n\n <button "),i.buffer.push(p(a.action.call(t,"deleteApp",{hash:{},hashTypes:{},hashContexts:{},contexts:[t],types:["STRING"],data:i}))),i.buffer.push(" "),i.buffer.push(p(a["bind-attr"].call(t,{hash:{"class":"canDelete::disabled :btn :btn-block :btn-danger"},hashTypes:{"class":"STRING"},hashContexts:{"class":t},contexts:[],types:[],data:i}))),i.buffer.push(">I understand, delete the app</button>\n\n</div>\n"),u})}),define("admin/pods/components/delete-pubkey-modal/component",["ember","exports"],function(e,t){"use strict";var s=e["default"];t["default"]=s.Component.extend({pubkey:null,removeAction:"remove",classNames:["Delete-pubkey-modal"],actions:{remove:function(){this.sendAction("removeAction",this.get("pubkey"))
2
+ },dismiss:function(){this.sendAction("dismiss")}}})}),define("admin/pods/components/delete-pubkey-modal/template",["ember","exports"],function(e,t){"use strict";var s=e["default"];t["default"]=s.Handlebars.template(function(e,t,a,n,i){this.compilerInfo=[4,">= 1.0.0"],a=this.merge(a,s.Handlebars.helpers),i=i||{};var r,o="",l=this.escapeExpression;return i.buffer.push('<div class="modal-header">\n <a href="#" '),i.buffer.push(l(a.action.call(t,"dismiss",{hash:{},hashTypes:{},hashContexts:{},contexts:[t],types:["STRING"],data:i}))),i.buffer.push(' class="close">\n <span aria-hidden="true">&times;</span>\n </a>\n\n <h4 class="modal-title">Delete SSH key?</h4>\n</div>\n\n<div class="modal-body">\n <p>\n Are you sure you want to remove the\n <strong>'),r=a._triageMustache.call(t,"pubkey.name",{hash:{},hashTypes:{},hashContexts:{},contexts:[t],types:["ID"],data:i}),(r||0===r)&&i.buffer.push(r),i.buffer.push('</strong> SSH key?\n </p>\n\n <div>\n <a class="Delete-pubkey-modal__cancel btn btn-default"\n href="#" '),i.buffer.push(l(a.action.call(t,"dismiss",{hash:{},hashTypes:{},hashContexts:{},contexts:[t],types:["STRING"],data:i}))),i.buffer.push('>Cancel</a>\n\n <a class="Delete-pubkey-modal__confirm-delete pull-right btn btn-danger"\n href="#" '),i.buffer.push(l(a.action.call(t,"remove",{hash:{},hashTypes:{},hashContexts:{},contexts:[t],types:["STRING"],data:i}))),i.buffer.push(">Yes, delete SSH key</a>\n </div>\n</div>\n"),o})}),define("admin/pods/components/new-app-card/component",["ember","exports"],function(e,t){"use strict";var s=e["default"];t["default"]=s.Component.extend({didInsertElement:function(){var e=this;this.$("input").focus().on("keyup",function(t){27===t.keyCode&&e.send("discardNewApp")})},actions:{createApp:function(){return this.get("app").save()},discardNewApp:function(){this.get("app").deleteRecord()}}})}),define("admin/pods/components/new-app-card/template",["ember","exports"],function(e,t){"use strict";var s=e["default"];t["default"]=s.Handlebars.template(function(e,t,a,n,i){this.compilerInfo=[4,">= 1.0.0"],a=this.merge(a,s.Handlebars.helpers),i=i||{};var r,o,l="",u=this.escapeExpression,p=a.helperMissing;return i.buffer.push("<form "),i.buffer.push(u(a.action.call(t,"createApp",{hash:{on:"submit"},hashTypes:{on:"STRING"},hashContexts:{on:t},contexts:[t],types:["STRING"],data:i}))),i.buffer.push('>\n <div class="App-card panel panel-primary">\n <div class="panel-heading">\n <h3 class="panel-title">\n '),i.buffer.push(u((r=a.input||t&&t.input,o={hash:{value:"app.name","class":"App-card__new-input",placeholder:"Enter an app name"},hashTypes:{value:"ID","class":"STRING",placeholder:"STRING"},hashContexts:{value:t,"class":t,placeholder:t},contexts:[],types:[],data:i},r?r.call(t,o):p.call(t,"input",o)))),i.buffer.push("\n </h3>\n </div>\n <div class='panel-body'>\n <p class='text-muted'><small>Once your app is created, you'll receive an API key you can use to push out new builds.</small></p>\n\n "),i.buffer.push(u((r=a["async-button"]||t&&t["async-button"],o={hash:{action:"createApp",type:"submit","class":"btn btn-sm btn-success","default":"Create",pending:"Creating..."},hashTypes:{action:"STRING",type:"STRING","class":"STRING","default":"STRING",pending:"STRING"},hashContexts:{action:t,type:t,"class":t,"default":t,pending:t},contexts:[],types:[],data:i},r?r.call(t,o):p.call(t,"async-button",o)))),i.buffer.push("\n\n <button "),i.buffer.push(u(a.action.call(t,"discardNewApp",{hash:{},hashTypes:{},hashContexts:{},contexts:[t],types:["STRING"],data:i}))),i.buffer.push(" class='btn btn-link btn-default'>\n "),i.buffer.push(u((r=a["fa-icon"]||t&&t["fa-icon"],o={hash:{},hashTypes:{},hashContexts:{},contexts:[t],types:["STRING"],data:i},r?r.call(t,"remove",o):p.call(t,"fa-icon","remove",o)))),i.buffer.push("\n </button>\n\n </div>\n </div>\n</form>\n"),l})}),define("admin/pods/components/page-title/component",["ember","exports"],function(e,t){"use strict";var s=e["default"];t["default"]=s.Component.extend({classNames:["Page-title","clearfix"]})}),define("admin/pods/components/page-title/template",["ember","exports"],function(e,t){"use strict";var s=e["default"];t["default"]=s.Handlebars.template(function(e,t,a,n,i){this.compilerInfo=[4,">= 1.0.0"],a=this.merge(a,s.Handlebars.helpers),i=i||{};var r,o="";return i.buffer.push('<h1 class="Page-title__name pull-left">\n '),r=a._triageMustache.call(t,"name",{hash:{},hashTypes:{},hashContexts:{},contexts:[t],types:["ID"],data:i}),(r||0===r)&&i.buffer.push(r),i.buffer.push('\n</h1>\n\n<div class="Page-title__misc pull-right">\n '),r=a._triageMustache.call(t,"yield",{hash:{},hashTypes:{},hashContexts:{},contexts:[t],types:["ID"],data:i}),(r||0===r)&&i.buffer.push(r),i.buffer.push("\n</div>\n"),o})}),define("admin/pods/components/pubkey-form/component",["ember","ember-validations","exports"],function(e,t,s){"use strict";var a=e["default"],n=t["default"];s["default"]=a.Component.extend(n.Mixin,{pubkey:null,saveAction:"save",cancelAction:"cancel",classNames:["Pubkey-form"],isValidating:!1,validations:{"pubkey.name":{presence:!0},"pubkey.pubkey":{presence:!0}},hasNoNameError:a.computed.empty("errors.pubkey.name"),hasNameError:a.computed.not("hasNoNameError"),showNameError:a.computed.and("hasNameError","isValidating"),hasNoPubkeyError:a.computed.empty("errors.pubkey.pubkey"),hasPubkeyError:a.computed.not("hasNoPubkeyError"),showPubkeyError:a.computed.and("hasPubkeyError","isValidating"),actions:{save:function(){var e=this,t=this.get("pubkey");this.set("isValidating",!0),this.validate().then(function(){e.set("isValidating",!1),e.sendAction("saveAction",t)})},cancel:function(){this.sendAction("cancelAction")}}})}),define("admin/pods/components/pubkey-form/template",["ember","exports"],function(e,t){"use strict";var s=e["default"];t["default"]=s.Handlebars.template(function(e,t,a,n,i){function r(e,t){var s,n,i="";return t.buffer.push("\n "),t.buffer.push(d((s=a["link-to"]||e&&e["link-to"],n={hash:{classNames:"btn btn-default Pubkey-form__cancel"},hashTypes:{classNames:"STRING"},hashContexts:{classNames:e},contexts:[e,e],types:["STRING","ID"],data:t},s?s.call(e,"Cancel","cancelRoute",n):c.call(e,"link-to","Cancel","cancelRoute",n)))),t.buffer.push("\n "),i}function o(e,t){var s="";return t.buffer.push('\n <a href="#" '),t.buffer.push(d(a.action.call(e,"cancel",{hash:{},hashTypes:{},hashContexts:{},contexts:[e],types:["STRING"],data:t}))),t.buffer.push('\n class="btn btn-default Pubkey-form__cancel">Cancel</a>\n '),s}this.compilerInfo=[4,">= 1.0.0"],a=this.merge(a,s.Handlebars.helpers),i=i||{};var l,u,p,h="",c=a.helperMissing,d=this.escapeExpression,f=this;return i.buffer.push("<form "),i.buffer.push(d(a.action.call(t,"save",{hash:{on:"submit"},hashTypes:{on:"STRING"},hashContexts:{on:t},contexts:[t],types:["STRING"],data:i}))),i.buffer.push(">\n\n <div "),i.buffer.push(d(a["bind-attr"].call(t,{hash:{"class":"showNameError:has-error :form-group"},hashTypes:{"class":"STRING"},hashContexts:{"class":t},contexts:[],types:[],data:i}))),i.buffer.push('>\n <label class="control-label">Name</label>\n <p class="help-block">\n Name your key, could be something like "Jenkins" or "Ryan\'s laptop key".\n </p>\n '),i.buffer.push(d((u=a.input||t&&t.input,p={hash:{value:"pubkey.name",classNames:"form-control Pubkey-form__name"},hashTypes:{value:"ID",classNames:"STRING"},hashContexts:{value:t,classNames:t},contexts:[],types:[],data:i},u?u.call(t,p):c.call(t,"input",p)))),i.buffer.push("\n </div>\n\n <div "),i.buffer.push(d(a["bind-attr"].call(t,{hash:{"class":"showPubkeyError:has-error :form-group"},hashTypes:{"class":"STRING"},hashContexts:{"class":t},contexts:[],types:[],data:i}))),i.buffer.push('>\n <label class="control-label">Public key</label>\n <p class="help-block">\n Copy and paste your public key here. This is usually in your home folder\n under <em>~/.ssh/id_rsa.pub</em>.\n </p>\n '),i.buffer.push(d((u=a.textarea||t&&t.textarea,p={hash:{value:"pubkey.pubkey",rows:"10",classNames:"form-control Pubkey-form__pubkey"},hashTypes:{value:"ID",rows:"STRING",classNames:"STRING"},hashContexts:{value:t,rows:t,classNames:t},contexts:[],types:[],data:i},u?u.call(t,p):c.call(t,"textarea",p)))),i.buffer.push('\n </div>\n\n <div class="clearfix">\n <div class="pull-left">\n '),l=a["if"].call(t,"cancelRoute",{hash:{},hashTypes:{},hashContexts:{},inverse:f.program(3,o,i),fn:f.program(1,r,i),contexts:[t],types:["ID"],data:i}),(l||0===l)&&i.buffer.push(l),i.buffer.push('\n </div>\n\n <div class="pull-right">\n <input type="submit" value="Add"\n class="btn btn-primary Pubkey-form__save" />\n </div>\n </div>\n\n</form>\n'),h})}),define("admin/pods/components/pubkey-table/component",["ember","exports"],function(e,t){"use strict";var s=e["default"];t["default"]=s.Component.extend({tagName:"table",classNames:"Pubkey-table table".w(),removeAction:"remove",actions:{remove:function(e){this.sendAction("removeAction",e)}},displayKeys:s.computed.filterBy("pubkeys","id")})}),define("admin/pods/components/pubkey-table/template",["ember","exports"],function(e,t){"use strict";var s=e["default"];t["default"]=s.Handlebars.template(function(e,t,a,n,i){function r(e,t){var s,n="";return t.buffer.push('\n <tr class="Pubkey-table__pubkey">\n <td>\n <div>\n '),s=a._triageMustache.call(e,"pubkey.name",{hash:{},hashTypes:{},hashContexts:{},contexts:[e],types:["ID"],data:t}),(s||0===s)&&t.buffer.push(s),t.buffer.push("\n </div>\n <div>\n <small>"),s=a._triageMustache.call(e,"pubkey.fingerprint",{hash:{},hashTypes:{},hashContexts:{},contexts:[e],types:["ID"],data:t}),(s||0===s)&&t.buffer.push(s),t.buffer.push("</small>\n </div>\n </td>\n <td>\n "),s=a["if"].call(e,"pubkey.lastUsedAt",{hash:{},hashTypes:{},hashContexts:{},inverse:d.program(4,l,t),fn:d.program(2,o,t),contexts:[e],types:["ID"],data:t}),(s||0===s)&&t.buffer.push(s),t.buffer.push('\n </td>\n <td>\n <div class="pull-right">\n <a '),t.buffer.push(c(a.action.call(e,"remove","pubkey",{hash:{},hashTypes:{},hashContexts:{},contexts:[e,e],types:["STRING","ID"],data:t}))),t.buffer.push('\n class="Pubkey-table__delete btn btn-danger btn-xs">Delete</a>\n </div>\n </td>\n </tr>\n '),n}function o(e,t){var s,n,i="";return t.buffer.push("\n "),t.buffer.push(c((s=a.moment||e&&e.moment,n={hash:{},hashTypes:{},hashContexts:{},contexts:[e,e],types:["ID","STRING"],data:t},s?s.call(e,"pubkey.lastUsedAt","MMM D YYYY",n):h.call(e,"moment","pubkey.lastUsedAt","MMM D YYYY",n)))),t.buffer.push("\n "),i}function l(e,t){t.buffer.push("\n This key has never been used\n ")}this.compilerInfo=[4,">= 1.0.0"],a=this.merge(a,s.Handlebars.helpers),i=i||{};var u,p="",h=a.helperMissing,c=this.escapeExpression,d=this;return i.buffer.push("<thead>\n <tr>\n <th>Name</th>\n <th>Last used</th>\n <th>&nbsp;</td>\n </tr>\n</thead>\n<tbody>\n "),u=a.each.call(t,"pubkey","in","displayKeys",{hash:{},hashTypes:{},hashContexts:{},inverse:d.noop,fn:d.program(1,r,i),contexts:[t,t,t],types:["ID","ID","ID"],data:i}),(u||0===u)&&i.buffer.push(u),i.buffer.push("\n</tbody>\n"),p})}),define("admin/pods/components/rename-app-form/component",["ember","ember-buffered-proxy/proxy","exports"],function(e,t,s){"use strict";var a=e["default"],n=t["default"];s["default"]=a.Component.extend({proxy:function(){return n.create({content:this.get("app")})}.property("app"),nameHasChanged:function(){return this.get("app.name")!==this.get("proxy.name")}.property("app.name","proxy.name"),actions:{dismiss:function(){this.sendAction("dismiss")},renameApp:function(){var e=this;this.get("proxy").applyChanges(),this.get("app").save().then(function(){e.sendAction("dismiss")},function(){console.error("something happened")})}}})}),define("admin/pods/components/rename-app-form/template",["ember","exports"],function(e,t){"use strict";var s=e["default"];t["default"]=s.Handlebars.template(function(e,t,a,n,i){this.compilerInfo=[4,">= 1.0.0"],a=this.merge(a,s.Handlebars.helpers),i=i||{};var r,o,l,u="",p=this.escapeExpression,h=a.helperMissing;return i.buffer.push('<div class="modal-header">\n <button '),i.buffer.push(p(a.action.call(t,"dismiss",{hash:{},hashTypes:{},hashContexts:{},contexts:[t],types:["STRING"],data:i}))),i.buffer.push(' type="button" class="close"><span aria-hidden="true">&times;</span></button>\n <h4 class="modal-title">Rename this app?</h4>\n</div>\n<div class="modal-body">\n <p>If you rename your <strong>'),r=a._triageMustache.call(t,"app.name",{hash:{},hashTypes:{},hashContexts:{},contexts:[t],types:["ID"],data:i}),(r||0===r)&&i.buffer.push(r),i.buffer.push("</strong> app, you'll need to update the <code>routes.rb</code> file in your Rails app. Currently it probably looks something like this:</p>\n\n<pre>\nRails.application.routes.draw do\n front_end '"),r=a._triageMustache.call(t,"app.name",{hash:{},hashTypes:{},hashContexts:{},contexts:[t],types:["ID"],data:i}),(r||0===r)&&i.buffer.push(r),i.buffer.push("', '/some-url'\nend\n</pre>\n\n <p>You'll need to change the <code>'"),r=a._triageMustache.call(t,"app.name",{hash:{},hashTypes:{},hashContexts:{},contexts:[t],types:["ID"],data:i}),(r||0===r)&&i.buffer.push(r),i.buffer.push('\'</code> portion to match the updated app name.</p>\n\n <hr>\n\n <div class="clearfix">\n <label for="">App name</label>\n <div class="row">\n <div class="col-sm-8">\n '),i.buffer.push(p((o=a.input||t&&t.input,l={hash:{"class":"form-control",value:"proxy.name"},hashTypes:{"class":"STRING",value:"ID"},hashContexts:{"class":t,value:t},contexts:[],types:[],data:i},o?o.call(t,l):h.call(t,"input",l)))),i.buffer.push('\n </div>\n <div class="col-sm-4">\n <button '),i.buffer.push(p(a.action.call(t,"renameApp",{hash:{},hashTypes:{},hashContexts:{},contexts:[t],types:["STRING"],data:i}))),i.buffer.push(" "),i.buffer.push(p(a["bind-attr"].call(t,{hash:{"class":"nameHasChanged::disabled :btn :btn-block :btn-default"},hashTypes:{"class":"STRING"},hashContexts:{"class":t},contexts:[],types:[],data:i}))),i.buffer.push(">Rename</button>\n </div>\n </div>\n </div>\n</div>\n"),u})}),define("admin/pods/pubkey/model",["ember-data","exports"],function(e,t){"use strict";var s=e["default"];t["default"]=s.Model.extend({name:s.attr("string"),pubkey:s.attr("string"),fingerprint:s.attr("string"),lastUsedAt:s.attr("date")})}),define("admin/pods/pubkeys/index/controller",["ember","exports"],function(e,t){"use strict";var s=e["default"];t["default"]=s.Controller.extend({pubkeys:null,newPubkey:null,displayableKeys:s.computed.filterBy("pubkeys","id"),hasKeys:s.computed.gt("displayableKeys.length",0)})}),define("admin/pods/pubkeys/index/route",["ember","exports"],function(e,t){"use strict";var s=e["default"];t["default"]=s.Route.extend({actions:{openPubkeyModal:function(){this.controllerFor("pubkeys").setProperties({isAdding:!0,newPubkey:this.store.createRecord("pubkey")})},save:function(e){var t=this;e.save().then(function(){t.refresh(),t.send("hideAddModal")})},hideAddModal:function(){this.controllerFor("pubkeys").set("isAdding",void 0)},openRemoveModal:function(e){this.controllerFor("pubkeys").setProperties({willDelete:!0,pubkey:e})},remove:function(e){var t=this;e.destroyRecord().then(function(){t.send("hideRemoveModal")})},hideRemoveModal:function(){this.controllerFor("pubkeys").set("willDelete",void 0)}},model:function(){return this.store.find("pubkey")},setupController:function(e,t){e.set("pubkeys",t),t.get("length")<1&&e.set("newPubkey",this.store.createRecord("pubkey"))}})}),define("admin/pods/pubkeys/index/template",["ember","exports"],function(e,t){"use strict";var s=e["default"];t["default"]=s.Handlebars.template(function(e,t,a,n,i){function r(e,t){var s,n="";return t.buffer.push("\n \n "),s=a["if"].call(e,"hasKeys",{hash:{},hashTypes:{},hashContexts:{},inverse:b.noop,fn:b.program(2,o,t),contexts:[e],types:["ID"],data:t}),(s||0===s)&&t.buffer.push(s),t.buffer.push("\n"),n}function o(e,t){var s,n,i="";return t.buffer.push("\n <button "),t.buffer.push(f(a.action.call(e,"openPubkeyModal",{hash:{},hashTypes:{},hashContexts:{},contexts:[e],types:["STRING"],data:t}))),t.buffer.push("\n class='btn btn-default btn-sm new-pubkey'>\n "),t.buffer.push(f((s=a["fa-icon"]||e&&e["fa-icon"],n={hash:{},hashTypes:{},hashContexts:{},contexts:[e],types:["STRING"],data:t},s?s.call(e,"plus",n):m.call(e,"fa-icon","plus",n)))),t.buffer.push(" Add SSH key\n </button>\n "),i}function l(e,t){var s,n,i="";return t.buffer.push("\n <p>\n SSH keys are used to grant deployment access. Simply add your SSH\n public key here to start deploying.\n <p>\n\n "),t.buffer.push(f((s=a["pubkey-table"]||e&&e["pubkey-table"],n={hash:{pubkeys:"displayableKeys",removeAction:"openRemoveModal"},hashTypes:{pubkeys:"ID",removeAction:"STRING"},hashContexts:{pubkeys:e,removeAction:e},contexts:[],types:[],data:t},s?s.call(e,n):m.call(e,"pubkey-table",n)))),t.buffer.push("\n"),i}function u(e,t){var s,n,i="";return t.buffer.push("\n\n <h4>Add an SSH public key</h4>\n <p>\n Front end builds uses SSH keys to control which machines can\n deploy new builds. To get started we'll need to first add\n an SSH key.\n </p>\n\n "),t.buffer.push(f((s=a["pubkey-form"]||e&&e["pubkey-form"],n={hash:{pubkey:"newPubkey",saveAction:"save",cancelRoute:"apps"},hashTypes:{pubkey:"ID",saveAction:"STRING",cancelRoute:"STRING"},hashContexts:{pubkey:e,saveAction:e,cancelRoute:e},contexts:[],types:[],data:t},s?s.call(e,n):m.call(e,"pubkey-form",n)))),t.buffer.push("\n"),i}this.compilerInfo=[4,">= 1.0.0"],a=this.merge(a,s.Handlebars.helpers),i=i||{};var p,h,c,d="",f=this.escapeExpression,m=a.helperMissing,b=this;return h=a["page-title"]||t&&t["page-title"],c={hash:{name:"SSH keys"},hashTypes:{name:"STRING"},hashContexts:{name:t},inverse:b.noop,fn:b.program(1,r,i),contexts:[],types:[],data:i},p=h?h.call(t,c):m.call(t,"page-title",c),(p||0===p)&&i.buffer.push(p),i.buffer.push("\n\n\n"),p=a["if"].call(t,"hasKeys",{hash:{},hashTypes:{},hashContexts:{},inverse:b.program(6,u,i),fn:b.program(4,l,i),contexts:[t],types:["ID"],data:i}),(p||0===p)&&i.buffer.push(p),i.buffer.push("\n\n<table>\n"),d})}),define("admin/pods/pubkeys/route",["ember","exports"],function(e,t){"use strict";var s=e["default"];t["default"]=s.Route.extend({})}),define("admin/pods/pubkeys/template",["ember","exports"],function(e,t){"use strict";var s=e["default"];t["default"]=s.Handlebars.template(function(e,t,a,n,i){this.compilerInfo=[4,">= 1.0.0"],a=this.merge(a,s.Handlebars.helpers),i=i||{};var r,o="";return r=a._triageMustache.call(t,"outlet",{hash:{},hashTypes:{},hashContexts:{},contexts:[t],types:["ID"],data:i}),(r||0===r)&&i.buffer.push(r),i.buffer.push("\n"),o})}),define("admin/router",["ember","admin/config/environment","exports"],function(e,t,s){"use strict";var a=e["default"],n=t["default"],i=a.Router.extend({location:n.locationType});i.map(function(){this.resource("apps",{path:"/"}),this.resource("app",{path:"/apps/:app_id"},function(){this.modal("delete-app-form",{withParams:["willDelete"],otherParams:{model:"app"},actions:{deleted:"appDeleted"}}),this.modal("rename-app-form",{withParams:["willRename"],otherParams:{model:"app"}})}),this.resource("pubkeys",{path:"/ssh-keys"},function(){this.modal("pubkey-form",{withParams:["isAdding"],otherParams:{newPubkey:"pubkey"},actions:{saveAction:"save",cancelAction:"hideAddModal"}}),this.modal("delete-pubkey-modal",{withParams:["willDelete"],otherParams:{pubkey:"pubkey"},actions:{removeAction:"remove"}})})}),s["default"]=i}),define("admin/serializers/application",["ember-data","exports"],function(e,t){"use strict";var s=e["default"];t["default"]=s.ActiveModelSerializer.extend({})}),define("admin/services/validations",["ember","exports"],function(e,t){"use strict";var s=e["default"],a=s.set;t["default"]=s.Object.extend({init:function(){a(this,"cache",{})}})}),define("admin/templates/components/async-button",["ember","exports"],function(e,t){"use strict";var s=e["default"];t["default"]=s.Handlebars.template(function(e,t,a,n,i){function r(e,t){var s,n="";return t.buffer.push("\n "),s=a._triageMustache.call(e,"yield",{hash:{},hashTypes:{},hashContexts:{},contexts:[e],types:["ID"],data:t}),(s||0===s)&&t.buffer.push(s),t.buffer.push("\n"),n}function o(e,t){var s,n="";return t.buffer.push("\n "),s=a._triageMustache.call(e,"view.text",{hash:{},hashTypes:{},hashContexts:{},contexts:[e],types:["ID"],data:t}),(s||0===s)&&t.buffer.push(s),t.buffer.push("\n"),n}this.compilerInfo=[4,">= 1.0.0"],a=this.merge(a,s.Handlebars.helpers),i=i||{};var l,u="",p=this;return l=a["if"].call(t,"template",{hash:{},hashTypes:{},hashContexts:{},inverse:p.program(3,o,i),fn:p.program(1,r,i),contexts:[t],types:["ID"],data:i}),(l||0===l)&&i.buffer.push(l),i.buffer.push("\n"),u})}),define("admin/templates/components/liquid-modal",["ember","exports"],function(e,t){"use strict";var s=e["default"];t["default"]=s.Handlebars.template(function(e,t,a,n,i){function r(e,t){var s,n,i,r="";return t.buffer.push("\n "),n=a["lm-container"]||e&&e["lm-container"],i={hash:{action:"escape"},hashTypes:{action:"STRING"},hashContexts:{action:e},inverse:f.noop,fn:f.program(2,o,t),contexts:[],types:[],data:t},s=n?n.call(e,i):d.call(e,"lm-container",i),(s||0===s)&&t.buffer.push(s),t.buffer.push("\n"),r}function o(e,t){var s,n,i="";return t.buffer.push("\n <div "),t.buffer.push(c(a["bind-attr"].call(e,{hash:{"class":":lf-dialog cc.options.dialogClass"},hashTypes:{"class":"STRING"},hashContexts:{"class":e},contexts:[],types:[],data:t}))),t.buffer.push(' role="dialog" '),t.buffer.push(c(a["bind-attr"].call(e,{hash:{"aria-labelledby":"cc.options.ariaLabelledBy","aria-label":"cc.options.ariaLabel"},hashTypes:{"aria-labelledby":"STRING","aria-label":"STRING"},hashContexts:{"aria-labelledby":e,"aria-label":e},contexts:[],types:[],data:t}))),t.buffer.push(">\n "),t.buffer.push(c(a.view.call(e,"innerView",{hash:{dismiss:"dismiss"},hashTypes:{dismiss:"STRING"},hashContexts:{dismiss:e},contexts:[e],types:["ID"],data:t}))),t.buffer.push("\n </div>\n "),t.buffer.push(c((s=a["lf-overlay"]||e&&e["lf-overlay"],n={hash:{clickAway:"outsideClick"},hashTypes:{clickAway:"STRING"},hashContexts:{clickAway:e},contexts:[],types:[],data:t},s?s.call(e,n):d.call(e,"lf-overlay",n)))),t.buffer.push("\n "),i}this.compilerInfo=[4,">= 1.0.0"],a=this.merge(a,s.Handlebars.helpers),i=i||{};var l,u,p,h="",c=this.escapeExpression,d=a.helperMissing,f=this;return u=a["liquid-with"]||t&&t["liquid-with"],p={hash:{"class":"lm-with",containerless:!0},hashTypes:{"class":"STRING",containerless:"BOOLEAN"},hashContexts:{"class":t,containerless:t},inverse:f.noop,fn:f.program(1,r,i),contexts:[t,t,t],types:["ID","ID","ID"],data:i},l=u?u.call(t,"currentContext","as","cc",p):d.call(t,"liquid-with","currentContext","as","cc",p),(l||0===l)&&i.buffer.push(l),i.buffer.push("\n"),h})}),define("admin/templates/liquid-with-self",["ember","exports"],function(e,t){"use strict";var s=e["default"];t["default"]=s.Handlebars.template(function(e,t,a,n,i){this.compilerInfo=[4,">= 1.0.0"],a=this.merge(a,s.Handlebars.helpers),i=i||{};var r,o="";return r=a._triageMustache.call(t,"",{hash:{},hashTypes:{},hashContexts:{},contexts:[t],types:["ID"],data:i}),(r||0===r)&&i.buffer.push(r),i.buffer.push("\n"),o})}),define("admin/templates/liquid-with",["ember","exports"],function(e,t){"use strict";var s=e["default"];t["default"]=s.Handlebars.template(function(e,t,a,n,i){this.compilerInfo=[4,">= 1.0.0"],a=this.merge(a,s.Handlebars.helpers),i=i||{};var r,o="";return r=a._triageMustache.call(t,"with-apply",{hash:{},hashTypes:{},hashContexts:{},contexts:[t],types:["ID"],data:i}),(r||0===r)&&i.buffer.push(r),i.buffer.push("\n\n\n"),o})}),define("admin/transitions/cross-fade",["liquid-fire","exports"],function(e,t){"use strict";var s=e.animate,a=e.stop,n=e.Promise;t["default"]=function(e,t,i){return a(e),t().then(function(t){return n.all([s(e,{opacity:0},i),s(t,{opacity:[1,0]},i)])})}}),define("admin/transitions/fade",["liquid-fire","exports"],function(e,t){"use strict";var s=e.isAnimating,a=e.finish,n=e.timeSpent,i=e.animate,r=e.stop;t["default"]=function(e,t,o){var l,u=o;return s(e,"fade-out")?l=a(e,"fade-out"):(s(e,"fade-in")&&(u={duration:n(e,"fade-in")}),r(e),l=i(e,{opacity:0},u,"fade-out")),l.then(t).then(function(e){return i(e,{opacity:[1,0]},o,"fade-in")})}}),define("admin/transitions/flex-grow",["liquid-fire","exports"],function(e,t){"use strict";var s=e.animate,a=e.stop,n=e.Promise;t["default"]=function(e,t,i){return a(e),t().then(function(t){return n.all([s(e,{"flex-grow":0},i),s(t,{"flex-grow":[1,0]},i)])})}}),define("admin/transitions/modal-popup",["exports"],function(e){"use strict";e["default"]=function(e,t){return t().then(function(e){e&&e.$().css({display:"",visibility:""})})}}),define("admin/transitions/move-over",["liquid-fire","exports"],function(e,t){"use strict";var s=e.stop,a=e.animate,n=e.Promise,i=e.isAnimating,r=e.finish;t["default"]=function(e,t,o,l,u){var p,h,c,d={},f={};return"x"===o.toLowerCase()?(h="translateX",c="width"):(h="translateY",c="height"),i(e,"moving-in")?p=r(e,"moving-in"):(s(e),p=n.resolve()),p.then(t).then(function(t){if(t&&t.$()&&e&&e.$()){var s=[parseInt(t.$().css(c),10),parseInt(e.$().css(c),10)],i=Math.max.apply(null,s);d[h]=i*l+"px",f[h]=["0px",-1*i*l+"px"]}else d[h]=100*l+"%",f[h]=["0%",-100*l+"%"];return n.all([a(e,d,u),a(t,f,u,"moving-in")])})}}),define("admin/transitions/scroll-then",["ember","exports"],function(e,t){"use strict";var s=e["default"];t["default"]=function(){s.assert("You must provide a transition name as the first argument to scrollThen. Example: this.use('scrollThen', 'toLeft')","string"==typeof arguments[2]);var e=document.getElementsByTagName("html"),t=Array.prototype.slice.call(arguments,0,2),a=this.lookup(arguments[2]),n=this,i=arguments[3]||{};return s.assert("The second argument to scrollThen is passed to Velocity's scroll function and must be an object","object"==typeof i),i=s.merge({duration:500,offset:0},i),t.push.apply(t,Array.prototype.slice.call(arguments,4)),window.$.Velocity(e,"scroll",i).then(function(){a.apply(n,t)})}}),define("admin/transitions/to-down",["liquid-fire","exports"],function(e,t){"use strict";var s=e.curryTransition;t["default"]=s("move-over","y",1)}),define("admin/transitions/to-left",["liquid-fire","exports"],function(e,t){"use strict";var s=e.curryTransition;t["default"]=s("move-over","x",-1)}),define("admin/transitions/to-right",["liquid-fire","exports"],function(e,t){"use strict";var s=e.curryTransition;t["default"]=s("move-over","x",1)}),define("admin/transitions/to-up",["liquid-fire","exports"],function(e,t){"use strict";var s=e.curryTransition;t["default"]=s("move-over","y",-1)}),define("admin/views/liquid-child",["ember","exports"],function(e,t){"use strict";var s=e["default"];t["default"]=s.ContainerView.extend({classNames:["liquid-child"],resolveInsertionPromise:s.on("didInsertElement",function(){this.$().css({visibility:"hidden"}).hide(),this._resolveInsertion&&this._resolveInsertion(this)})})}),define("admin/views/liquid-if",["admin/views/liquid-outlet","ember","exports"],function(e,t,s){"use strict";var a=e["default"],n=t["default"],i=!!n.HTMLBars;s["default"]=a.extend({liquidUpdate:n.on("init",n.observer("showFirst",function(){var e=this.get("templates")[this.get("showFirst")?0:1];if(!e||!i&&e===n.Handlebars.VM.noop)return void this.set("currentView",null);var t=n._MetamorphView.create({container:this.container,template:e,liquidParent:this,contextBinding:"liquidParent.context",liquidContext:this.get("showFirst"),hasLiquidContext:!0});this.set("currentView",t)}))})}),define("admin/views/liquid-outlet",["ember","liquid-fire","exports"],function(e,t,s){"use strict";function a(e){return{width:e.width(),literalWidth:parseInt(e.css("width"),10),height:e.height(),literalHeight:parseInt(e.css("height"),10)}}var n=e["default"],i=t.Promise,r=t.animate,o=t.stop,l=n.String.capitalize;s["default"]=n.ContainerView.extend({classNames:["liquid-container"],growDuration:250,growPixelsPerSecond:200,growEasing:"slide",enableGrowth:!0,init:function(){this._super(),n.A(this._childViews).clear(),this.get("containerless")&&(this.set("innerClassNameBindings",this.get("classNameBindings")),this.set("classNameBindings",n.A()))},_currentViewWillChange:n.beforeObserver("currentView",function(){}),_currentViewDidChange:n.on("init",n.observer("currentView",function(){var e,t=this.get("childViews.lastObject"),s=this.get("currentView");if(e=!this._hasTransitioned,this._hasTransitioned=!0,!(!t&&!s||t&&t.get("currentView")===s||this._runningTransition&&this._runningTransition.oldView===t&&this._runningTransition.newContent===s)){var a=this.get("transitions").transitionFor(this,t,s,this.get("use"),e);this._runningTransition&&this._runningTransition.interrupt(),this._runningTransition=a,a.run()["catch"](function(e){n.RSVP.Promise.resolve()._onerror(e)})}})),_liquidChildFor:function(e){e&&!e.get("hasLiquidContext")&&e.set("liquidContext",e.get("context"));var t=this.container.lookupFactory("view:liquid-child"),s={currentView:e};return this.get("containerless")&&(s.classNames=this.get("classNames").without("liquid-container"),s.classNameBindings=this.get("innerClassNameBindings")),t.create(s)},_pushNewView:function(e){if(!e)return i.resolve();var t=this._liquidChildFor(e),s=new i(function(e){t._resolveInsertion=e});return this.pushObject(t),s},cacheSize:function(){var e=this.$();e&&(this._cachedSize=a(e))},unlockSize:function(){var e=function(){var e=t.$();e&&e.css({width:"",height:""})},t=this;this._scaling?this._scaling.then(e):e()},_durationFor:function(e,t){return Math.min(this.get("growDuration"),1e3*Math.abs(e-t)/this.get("growPixelsPerSecond"))},_adaptDimension:function(e,t,s){if(t[e]!==s[e]&&this.get("enableGrowth")){var a={};return a[e]=[s["literal"+l(e)],t["literal"+l(e)]],r(this,a,{duration:this._durationFor(t[e],s[e]),queue:!1,easing:this.get("growEasing")})}var n=this.$();return n&&n[e](s[e]),i.resolve()},adaptSize:function(){o(this);var e=this.$();if(e){var t=a(e);"undefined"==typeof this._cachedSize&&(this._cachedSize=t),e.width(this._cachedSize.width),e.height(this._cachedSize.height),this._scaling=i.all([this._adaptDimension("width",this._cachedSize,t),this._adaptDimension("height",this._cachedSize,t)])}}})}),define("admin/views/liquid-with",["admin/views/liquid-outlet","ember","exports"],function(e,t,s){"use strict";var a=e["default"],n=t["default"];s["default"]=a.extend({liquidUpdate:n.on("init",n.observer("boundContext",function(){var e=this.get("boundContext");if(n.isEmpty(e))return void this.set("currentView",null);var t=n._MetamorphView.create({container:this.container,templateName:"liquid-with",boundContext:e,liquidWithParent:this,liquidContext:e,hasLiquidContext:!0});this.set("currentView",t)}))})}),define("admin/config/environment",["ember"],function(e){var t="admin";try{var s=t+"/config/environment",a=e["default"].$('meta[name="'+s+'"]').attr("content"),n=JSON.parse(unescape(a));return{"default":n}}catch(i){throw new Error('Could not read config from meta tag with name "'+s+'".')}}),runningTests?require("admin/tests/test-helper"):require("admin/app")["default"].create({});