Skip to content

Instantly share code, notes, and snippets.

@alagiz
Last active July 10, 2016 06:31
Show Gist options
  • Save alagiz/c9ea34b2fda66ec120d6d47b7f689b81 to your computer and use it in GitHub Desktop.
Save alagiz/c9ea34b2fda66ec120d6d47b7f689b81 to your computer and use it in GitHub Desktop.
zoom-out
import Ember from 'ember';
export default Ember.Controller.extend({
actions: {
zoomOut(targetRouteName){
var page = Ember.$("#page").get(0);
var screenWidth = Ember.$(window).width();
var screenHeight = Ember.$(window).height();
var transformLeft = screenWidth / 4;
var transformTop = screenHeight / 4;
page.style.transformOrigin = "0 0";
page.style.transition = "transform " + 1000 + "ms ease";
page.style.transform = "matrix(" + 0.3 + ",0,0," + 0.3 + ",+" + transformLeft + ",+" + transformTop + ")";
Ember.run.later(() => {
this.transitionToRoute(targetRouteName);
}, 1000);
}
}
});
import Ember from 'ember';
export default Ember.Route.extend({
redirect: function() {
this.transitionTo('foo.bar');
}
});
{{#click-me targetRoute='foo' zoomOut=(action 'zoomOut')}} Foo -------- click here {{/click-me}}
{{#click-me targetRoute='foo.bar' zoomOut=(action 'zoomOut')}} Foo Bar {{/click-me}}
<hr>
{{outlet}}
import Ember from 'ember';
export default Ember.Component.extend({
actions: {
zoomOut(){
this.sendAction('zoomOut', this.get('targetRoute'));
}
}
});
<div id="page">
<div class="square">
<div class="text">foo bar route!</div>
</div>
{{outlet}}
</div>
<div id="page">
<div class="square">
<div class="text">foo bar2 route!</div>
</div>
{{outlet}}
</div>
<div class="square">
<div class="text">{{#link-to 'foo.bar'}}foo bar{{/link-to}}</div></div>
<div class="square">
<div class="text">{{#link-to 'foo.bar2'}}foo bar2{{/link-to}}</div>
</div>
<div id="page">
{{outlet}}
</div>
import Ember from 'ember';
import config from './config/environment';
var Router = Ember.Router.extend({
location: config.locationType
});
Router.map(function() {
this.route('foo', function() {
this.route('bar', function() {});
this.route('bar2', function() {});
});
});
export default Router;
body {
margin: 12px 16px;
font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
font-size: 12pt;
}
.square{
border-radius: 0;
border:solid 11px #f00;
width:150px;
height:150px;
line-height:120px;
display:inline-block;
}
.text {
margin-left:30px;
}
<div {{action 'zoomOut'}}> {{yield}} </div>
{
"version": "0.10.1",
"EmberENV": {
"FEATURES": {}
},
"options": {
"use_pods": false,
"enable-testing": false
},
"dependencies": {
"jquery": "https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.js",
"ember": "2.6.0",
"ember-data": "2.6.1",
"ember-template-compiler": "2.6.0"
},
"addons": {}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment