master
Nick Sergeant 2011-11-06 18:04:31 -05:00
parent 84796f0ee4
commit ea1bc7255c
3 changed files with 118 additions and 75 deletions

View File

@ -364,7 +364,7 @@ article.snipt div.container section.code {
height: 200px; height: 200px;
overflow: hidden; overflow: hidden;
position: relative; position: relative;
z-index: 49; z-index: 51;
} }
article.snipt div.container section.code div.highlight pre { article.snipt div.container section.code div.highlight pre {
font: normal 14px/18px 'InconsolataMedium', Consolas, Menlo, "Courier New", monospace; font: normal 14px/18px 'InconsolataMedium', Consolas, Menlo, "Courier New", monospace;
@ -389,6 +389,9 @@ article.snipt div.container section.code a.expand {
-moz-box-shadow: 0 -25px 25px #ffffff; -moz-box-shadow: 0 -25px 25px #ffffff;
box-shadow: 0 -25px 25px #ffffff; box-shadow: 0 -25px 25px #ffffff;
} }
article.snipt div.container section.code a.expand span.collapse {
display: none;
}
article.snipt div.container section.code a.expand:hover { article.snipt div.container section.code a.expand:hover {
color: #3BAAF3; color: #3BAAF3;
font-weight: bold; font-weight: bold;
@ -433,15 +436,6 @@ article.snipt div.container section.tango a.expand {
-moz-box-shadow: 0 -25px 25px #f8f8f8; -moz-box-shadow: 0 -25px 25px #f8f8f8;
box-shadow: 0 -25px 25px #f8f8f8; box-shadow: 0 -25px 25px #f8f8f8;
} }
article.snipt div.container section.expanded div.highlight pre {
padding-bottom: 60px;
}
article.snipt div.container section.expanded a.expand {
background-image: url('https://snipt.s3.amazonaws.com/images/collapse.png');
-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none;
}
article.snipt div.container:after { article.snipt div.container:after {
bottom: 8px; bottom: 8px;
content: ""; content: "";
@ -485,6 +479,24 @@ article.snipt footer ul.attrs li a:hover {
article.snipt footer ul.attrs li.comments { article.snipt footer ul.attrs li.comments {
background: transparent url('https://snipt.s3.amazonaws.com/images/comments-icon.png') 0 2px no-repeat; background: transparent url('https://snipt.s3.amazonaws.com/images/comments-icon.png') 0 2px no-repeat;
} }
article.snipt.expanded div.container section.code {
height: auto;
}
article.snipt.expanded div.container section.code div.highlight pre {
padding-bottom: 60px;
}
article.snipt.expanded div.container section.code a.expand {
background-image: url('https://snipt.s3.amazonaws.com/images/collapse.png');
-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none;
}
article.snipt.expanded div.container section.code a.expand span.expand {
display: none;
}
article.snipt.expanded div.container section.code a.expand span.collapse {
display: inline;
}
.group:after { .group:after {
content: "."; content: ".";
display: block; display: block;

View File

@ -97,12 +97,11 @@ if(special){possible[modif+special]=true;}else{possible[modif+character]=true;po
for(var i=0,l=keys.length;i<l;i++){if(possible[keys[i]]){return origHandler.apply(this,arguments);}}};} for(var i=0,l=keys.length;i<l;i++){if(possible[keys[i]]){return origHandler.apply(this,arguments);}}};}
jQuery.each(["keydown","keyup","keypress"],function(){jQuery.event.special[this]={add:keyHandler};});})(jQuery); jQuery.each(["keydown","keyup","keypress"],function(){jQuery.event.special[this]={add:keyHandler};});})(jQuery);
(function($){$.InFieldLabels=function(label,field,options){var base=this;base.$label=$(label);base.label=label;base.$field=$(field);base.field=field;base.$label.data("InFieldLabels",base);base.showing=true;base.init=function(){base.options=$.extend({},$.InFieldLabels.defaultOptions,options);if(base.$field.val()!==""){base.$label.hide();base.showing=false;} (function($){$.InFieldLabels=function(label,field,options){var base=this;base.$label=$(label);base.label=label;base.$field=$(field);base.field=field;base.$label.data("InFieldLabels",base);base.showing=true;base.init=function(){base.options=$.extend({},$.InFieldLabels.defaultOptions,options);if(base.$field.val()!==""){base.$label.hide();base.showing=false;}
base.$field.focus(function(){base.fadeOnFocus();}).blur(function(){base.checkForEmpty(true);}).bind('keydown.infieldlabel',function(e){base.hideOnChange(e);}).bind('paste',function(e){base.setOpacity(0.0);}).change(function(e){base.checkForEmpty();}).bind('onPropertyChange',function(){base.checkForEmpty();});};base.fadeOnFocus=function(){if(base.showing){base.setOpacity(base.options.fadeOpacity);}};base.setOpacity=function(opacity){base.$label.stop().animate({opacity:opacity},base.options.fadeDuration);base.showing=(opacity>0.0);};base.checkForEmpty=function(blur){if(base.$field.val()===""){base.prepForShow();base.setOpacity(blur?1.0:base.options.fadeOpacity);}else{base.setOpacity(0.0);}};base.prepForShow=function(e){if(!base.showing){base.$label.css({opacity:0.0}).show();base.$field.bind('keydown.infieldlabel',function(e){base.hideOnChange(e);});}};base.hideOnChange=function(e){if((e.keyCode===16)||(e.keyCode===9)){return;} base.$field.focus(function(){base.fadeOnFocus();}).blur(function(){base.checkForEmpty(true);}).bind('keydown.infieldlabel',function(e){base.hideOnChange(e);}).bind('paste',function(e){base.setOpacity(0.0);}).change(function(e){base.checkForEmpty();}).bind('onPropertyChange',function(){base.checkForEmpty();});};base.fadeOnFocus=function(){if(base.showing){base.setOpacity(base.options.fadeOpacity);}};base.setOpacity=function(opacity){base.$label.stop().animate({opacity:opacity},base.options.fadeDuration);base.showing=(opacity>0.0);};base.checkForEmpty=function(blur){if(base.$field.val()===""){base.prepForShow();base.setOpacity(blur?1.0:base.options.fadeOpacity);}else{base.setOpacity(0.0);}};base.prepForShow=function(e){if(!base.showing){base.$label.css({opacity:0.0}).show();base.$field.bind('keydown.infieldlabel',function(e){base.hideOnChange(e);});}};base.hideOnChange=function(e){if((e.keyCode===16)||(e.keyCode===9)||(e.keyCode===27)){return;}
if(base.showing){base.$label.hide();base.showing=false;} if(base.showing){base.$label.hide();base.showing=false;}
base.$field.unbind('keydown.infieldlabel');};base.init();};$.InFieldLabels.defaultOptions={fadeOpacity:0.5,fadeDuration:300};$.fn.inFieldLabels=function(options){return this.each(function(){var for_attr=$(this).attr('for'),$field;if(!for_attr){return;} base.$field.unbind('keydown.infieldlabel');};base.init();};$.InFieldLabels.defaultOptions={fadeOpacity:0.5,fadeDuration:300};$.fn.inFieldLabels=function(options){return this.each(function(){var for_attr=$(this).attr('for'),$field;if(!for_attr){return;}
$field=$("input#"+for_attr+"[type='text'],"+"input#"+for_attr+"[type='search'],"+"input#"+for_attr+"[type='tel'],"+"input#"+for_attr+"[type='url'],"+"input#"+for_attr+"[type='email'],"+"input#"+for_attr+"[type='password'],"+"textarea#"+for_attr);if($field.length===0){return;} $field=$("input#"+for_attr+"[type='text'],"+"input#"+for_attr+"[type='search'],"+"input#"+for_attr+"[type='tel'],"+"input#"+for_attr+"[type='url'],"+"input#"+for_attr+"[type='email'],"+"input#"+for_attr+"[type='password'],"+"textarea#"+for_attr);if($field.length===0){return;}
(new $.InFieldLabels(this,$field[0],options));});};}(jQuery)); (new $.InFieldLabels(this,$field[0],options));});};}(jQuery));
// Memoizing technique from http://weblog.bocoup.com/organizing-your-backbone-js-application-with-modules
var snipt = { var snipt = {
module: function() { module: function() {
var modules = {}; var modules = {};
@ -117,71 +116,91 @@ var snipt = {
}() }()
}; };
// Init application
jQuery(function($) { jQuery(function($) {
//if ($('body').hasClass('apply')) { var SiteView = snipt.module('site').Views.SiteView;
//AppView = sidepros.module('apply').Views.AppView; var Site = new SiteView();
//App = new AppView();
//}
}); });
(function(Apply) { (function(Site) {
Apply.FieldModel = Backbone.Model.extend({ var Snipt = snipt.module('snipt');
group: null
});
FieldView = Backbone.View.extend({
initialize: function() {
this.model = new Apply.FieldModel({
group: $(this.el).parents('div.group').attr('id')
});
this.model.view = this;
this.$tooltip = $('div.tooltip', $('#' + this.model.get('group'))); SiteView = Backbone.View.extend({
}, el: 'body',
events: {
'focus': 'focused',
'blur' : 'blurred',
'keyup': 'updateTooltip'
},
focused: function() {
App.$tooltips.hide();
this.$tooltip.show();
},
blurred: function() {
App.$tooltips.hide();
},
updateTooltip: function() {
if (this.model.get('group') == 'name') {
short_name = $.trim(App.$first_name.val() + ' ' + App.$last_name.val().charAt(0));
if (short_name !== '') {
short_name = ': ' + short_name;
}
App.$name_preview.text($.trim(short_name));
}
}
});
AppView = Backbone.View.extend({
el: '#app',
initialize: function(opts) { initialize: function(opts) {
$('input, select, textarea', this.el).each(this.addField);
this.$first_name = $('input#id_first_name', this.el); $search_query = $('input#search-query', this.el);
this.$last_name = $('input#id_last_name', this.el); $snipts = $('section#snipts article.snipt', this.el);
this.$name_preview = $('strong#name-preview', this.el);
this.$tooltips = $('div.tooltip', this.el); this.keyboardShortcuts();
this.inFieldLabels();
if ($snipts.length) {
SniptListView = Snipt.Views.SniptListView;
Snipts = new SniptListView({ 'snipts': $snipts });
}
}, },
addField: function() { keyboardShortcuts: function() {
model = new FieldView({ el: this });
// Search
$(document).bind('keydown', '/', function(e) {
e.preventDefault();
$search_query.focus();
});
// Escape
$('input').bind('keydown', 'esc', function(e) {
e.preventDefault();
this.blur();
});
},
inFieldLabels: function () {
$('div.infield label', this.el).inFieldLabels();
} }
}); });
Apply.Views = { Site.Views = {
'AppView': AppView, 'SiteView': SiteView
'FieldView': FieldView
}; };
})(sidepros.module('apply')); })(snipt.module('site'));
(function(Snipt) {
Snipt.SniptModel = Backbone.Model.extend({
});
SniptView = Backbone.View.extend({
initialize: function() {
this.model = new Snipt.SniptModel();
this.model.view = this;
this.$el = $(this.el);
this.$expand_button = $('a.expand', this.$el);
},
events: {
'click a.expand': 'expand'
},
expand: function() {
this.$el.toggleClass('expanded');
return false;
}
});
SniptListView = Backbone.View.extend({
el: 'section#snipts',
initialize: function(opts) {
opts.snipts.each(this.addSnipt);
},
addSnipt: function() {
model = new SniptView({ el: this });
}
});
Snipt.Views = {
'SniptListView': SniptListView
};
})(snipt.module('snipt'));

View File

@ -316,7 +316,7 @@ article.snipt div.container section.code {
height: 200px; height: 200px;
overflow: hidden; overflow: hidden;
position: relative; position: relative;
z-index: 49; z-index: 51;
} }
article.snipt div.container section.code div.highlight pre { article.snipt div.container section.code div.highlight pre {
font: normal 14px/18px 'InconsolataMedium', Consolas, Menlo, "Courier New", monospace; font: normal 14px/18px 'InconsolataMedium', Consolas, Menlo, "Courier New", monospace;
@ -341,6 +341,9 @@ article.snipt div.container section.code a.expand {
-moz-box-shadow: 0 -25px 25px #ffffff; -moz-box-shadow: 0 -25px 25px #ffffff;
box-shadow: 0 -25px 25px #ffffff; box-shadow: 0 -25px 25px #ffffff;
} }
article.snipt div.container section.code a.expand span.collapse {
display: none;
}
article.snipt div.container section.code a.expand:hover { article.snipt div.container section.code a.expand:hover {
color: #3BAAF3; color: #3BAAF3;
font-weight: bold; font-weight: bold;
@ -385,15 +388,6 @@ article.snipt div.container section.tango a.expand {
-moz-box-shadow: 0 -25px 25px #f8f8f8; -moz-box-shadow: 0 -25px 25px #f8f8f8;
box-shadow: 0 -25px 25px #f8f8f8; box-shadow: 0 -25px 25px #f8f8f8;
} }
article.snipt div.container section.expanded div.highlight pre {
padding-bottom: 60px;
}
article.snipt div.container section.expanded a.expand {
background-image: url('https://snipt.s3.amazonaws.com/images/collapse.png');
-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none;
}
article.snipt div.container:after { article.snipt div.container:after {
bottom: 8px; bottom: 8px;
content: ""; content: "";
@ -437,6 +431,24 @@ article.snipt footer ul.attrs li a:hover {
article.snipt footer ul.attrs li.comments { article.snipt footer ul.attrs li.comments {
background: transparent url('https://snipt.s3.amazonaws.com/images/comments-icon.png') 0 2px no-repeat; background: transparent url('https://snipt.s3.amazonaws.com/images/comments-icon.png') 0 2px no-repeat;
} }
article.snipt.expanded div.container section.code {
height: auto;
}
article.snipt.expanded div.container section.code div.highlight pre {
padding-bottom: 60px;
}
article.snipt.expanded div.container section.code a.expand {
background-image: url('https://snipt.s3.amazonaws.com/images/collapse.png');
-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none;
}
article.snipt.expanded div.container section.code a.expand span.expand {
display: none;
}
article.snipt.expanded div.container section.code a.expand span.collapse {
display: inline;
}
.group:after { .group:after {
content: "."; content: ".";
display: block; display: block;