Permalink
Browse files

better style

  • Loading branch information...
1 parent 8f1494a commit 15a9821fcabea89e5ca06d4a84c68c18d31f56cd @danieleguido committed Mar 28, 2013
View
@@ -50,7 +50,8 @@ def json( self ):
'id': self.id,
'slug':self.slug,
'name':self.name,
- 'type':self.get_type_display()
+ 'type':self.type,
+ 'type_label':self.get_type_display()
}
class Pin( models.Model ):
PUBLISHED='P'
@@ -0,0 +1,74 @@
+"""
+jQuery templates use constructs like:
+
+ {{if condition}} print something{{/if}}
+
+This, of course, completely screws up Django templates,
+because Django thinks {{ and }} means something.
+
+Wrap {% verbatim %} and {% endverbatim %} around those
+blocks of jQuery templates and this will try its best
+to output the contents with no changes.
+
+This version of verbatim template tag allows you to use tags
+like url {% url name %} or {% csrf_token %} within.
+"""
+
+from django import template
+
+register = template.Library()
+
+
+class VerbatimNode(template.Node):
+ def __init__(self, text_and_nodes):
+ self.text_and_nodes = text_and_nodes
+
+ def render(self, context):
+ output = ""
+
+ # If its text we concatenate it, otherwise it's a node and we render it
+ for bit in self.text_and_nodes:
+ if isinstance(bit, basestring):
+ output += bit
+ else:
+ output += bit.render(context)
+
+ return output
+
+@register.tag
+def verbatim(parser, token):
+ text_and_nodes = []
+ while 1:
+ token = parser.tokens.pop(0)
+ if token.contents == 'endverbatim':
+ break
+
+ if token.token_type == template.TOKEN_VAR:
+ text_and_nodes.append('{{')
+ text_and_nodes.append(token.contents)
+
+ elif token.token_type == template.TOKEN_TEXT:
+ text_and_nodes.append(token.contents)
+
+ elif token.token_type == template.TOKEN_BLOCK:
+ try:
+ command = token.contents.split()[0]
+ except IndexError:
+ parser.empty_block_tag(token)
+
+ try:
+ compile_func = parser.tags[command]
+ except KeyError:
+ parser.invalid_block_tag(token, command, None)
+ try:
+ node = compile_func(parser, token)
+ except template.TemplateSyntaxError, e:
+ if not parser.compile_function_error(token, e):
+ raise
+
+ text_and_nodes.append(node)
+
+ if token.token_type == template.TOKEN_VAR:
+ text_and_nodes.append('}}')
+
+ return VerbatimNode(text_and_nodes)
Oops, something went wrong.
Oops, something went wrong.
View
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
@@ -69,7 +69,7 @@ oo.glue.resize = function(){
var fh = $("footer").height();
- $(".modal-body").height( h - 160 );
+ $(".modal-body.resizable").height( h - 160 );
//$(".items").height(
// h - hh - fh
@@ -97,6 +97,7 @@ oo.glue.pin.listeners.edit = function( event ){
};
oo.glue.pin.listeners.open_attach_tag = function( event ){
+ event.preventDefault();
var el = $(this);
var pin_slug = el.attr( "data-pin-slug" );
var auto_id = el.attr( "data-auto-id" );
@@ -218,13 +219,13 @@ oo.glue.init = function(){ oo.log("[oo.glue.init]");
$(document).on('keyup', 'input.repeatable', function(event){ var $this = $(this); $( '#' + $this.attr('data-target') ).val( oo.fn.slug( $this.val() ) );});
+
$(document).on('keyup', 'textarea.embeddable', oo.glue.embed.keyup );
// remove invalid elements
$(document).click( function(event){ $(".invalid").removeClass('invalid');});
$(document).on('shown', function () {
- oo.log( "ehi" );
$('input:text:visible:first', this).focus();
});
@@ -367,3 +368,48 @@ oo.glue.upload.init = function(){
};
+oo.glue.typeahead = {}
+oo.glue.typeahead.source = function( query, process ){
+ oo.api.tag.list({ filters:'{"name__icontains":"' + query + '"}'}, function( result ){
+ oo.glue.tag.map = {}
+ var data = []
+ for (var i in result.objects ){
+ var label = result.objects[i].name + " - <i>" + result.objects[i].type_label.toLowerCase() + "</i>"; // label is index as well
+ data.push( label );
+ oo.glue.tag.map[ label ] = result.objects[i];
+ }
+
+ if( data.length == 0){
+ oo.log( data);
+ $("#id_attach_tag_slug").val( oo.fn.slug( query ) );
+ }
+
+ return process( data );
+ })
+};
+oo.glue.typeahead.updater = function( item ){
+ $("#id_attach_tag_slug").val(oo.glue.tag.map[ item ].slug);
+ $("#id_attach_tag_type").val(oo.glue.tag.map[ item ].type);
+ return oo.glue.tag.map[ item ].name;
+}
+oo.glue.typeahead.change = function(){
+ oo.log( arguments );
+}
+
+oo.glue.tag ={}
+
+oo.glue.tag.init = function(){oo.log("[oo.glue.tag.init]");
+ $('.typeahead').typeahead({
+ source:oo.glue.typeahead.source,
+ updater: oo.glue.typeahead.updater
+ }).on('change', oo.glue.typeahead.change );
+}
+oo.glue.tag.typeahead = function( query, process ){
+ oo.log( arguments);
+
+
+
+ return [ query ]
+}
+
+
Oops, something went wrong.
Oops, something went wrong.

0 comments on commit 15a9821

Please sign in to comment.