Holy crap. Working on add.
parent
cba3c1b0d5
commit
9b5bbe730a
|
@ -416,6 +416,7 @@ article.snipt div.container div.bottom-x {
|
|||
}
|
||||
article.snipt div.container header {
|
||||
border-bottom: 1px solid #F1F1EE;
|
||||
min-height: 58px;
|
||||
-webkit-box-shadow: inset 0 -1px 0 white;
|
||||
-moz-box-shadow: inset 0 -1px 0 white;
|
||||
box-shadow: inset 0 -1px 0 white;
|
||||
|
|
|
@ -492,6 +492,7 @@ article.snipt {
|
|||
}
|
||||
header {
|
||||
border-bottom: 1px solid #F1F1EE;
|
||||
min-height: 58px;
|
||||
@include inset-box-shadow(0, -1px, 0, #FFF);
|
||||
@include vertical-gradient(#FFF, #FFFAF2);
|
||||
|
||||
|
|
|
@ -24,6 +24,12 @@
|
|||
}
|
||||
}
|
||||
url = url && addSlash(url);
|
||||
|
||||
if (typeof url === 'undefined') {
|
||||
url = '/api/private/snipt/';
|
||||
this.unset('id', {'silent': true});
|
||||
this.unset('user', {'silent': true});
|
||||
}
|
||||
return url || null;
|
||||
};
|
||||
|
||||
|
|
|
@ -242,16 +242,24 @@
|
|||
$('script#disqus').remove();
|
||||
window.site.$body.append('<script id="disqus" type="text/javascript">' + $('script#disqus-template').text() + '</script>');
|
||||
|
||||
// For new snipts.
|
||||
if (this.$el.attr('id') === 'new-snipt') {
|
||||
this.$el.fadeIn('fast');
|
||||
this.$el.attr('id', 'snipt-' + this.model.get('id'));
|
||||
}
|
||||
|
||||
return this;
|
||||
},
|
||||
save: function() {
|
||||
that.model.set('title', $('input#snipt_title').val());
|
||||
that.model.set('tags', $('label.tags textarea').val());
|
||||
that.model.set('tags_list', $('label.tags textarea').val());
|
||||
that.model.set('lexer', $('select[name="lexer"]').val());
|
||||
that.model.set('lexer_name', $('select[name="lexer"] option:selected').text());
|
||||
that.model.set('code', window.editor.getSession().getValue());
|
||||
that.model.set('public', $('label.public input').is(':checked'));
|
||||
that.model.set({
|
||||
'title': $('input#snipt_title').val(),
|
||||
'tags': $('label.tags textarea').val(),
|
||||
'tags_list': $('label.tags textarea').val(),
|
||||
'lexer': $('select[name="lexer"]').val(),
|
||||
'lexer_name': $('select[name="lexer"] option:selected').text(),
|
||||
'code': window.editor.getSession().getValue(),
|
||||
'public': $('label.public input').is(':checked')
|
||||
}, {'silent': true});
|
||||
|
||||
that.model.save();
|
||||
},
|
||||
|
@ -354,6 +362,36 @@
|
|||
});
|
||||
},
|
||||
addNewSnipt: function() {
|
||||
|
||||
var $articleNewSnipt = $('article#new-snipt');
|
||||
|
||||
if ($articleNewSnipt.length === 0) {
|
||||
window.site.snipt_list.$el.prepend('<article id="new-snipt" class="hidden snipt"></article>');
|
||||
|
||||
var data = {
|
||||
id: '',
|
||||
code: '',
|
||||
tags: [],
|
||||
tags_list: '',
|
||||
title: '',
|
||||
lexer: 'text',
|
||||
lexer_name: 'Text only',
|
||||
user: {
|
||||
username: ''
|
||||
}
|
||||
};
|
||||
data['public'] = false;
|
||||
|
||||
var newSniptView = new Snipt.SniptView({
|
||||
el: $('article#new-snipt'),
|
||||
model: new Snipt.SniptModel(data)
|
||||
});
|
||||
|
||||
newSniptView.edit();
|
||||
} else {
|
||||
$articleNewSnipt.trigger('edit');
|
||||
}
|
||||
|
||||
return false;
|
||||
},
|
||||
escapeUI: function(destroyed) {
|
||||
|
|
|
@ -133,7 +133,7 @@ class PrivateSniptResource(ModelResource):
|
|||
class Meta:
|
||||
queryset = Snipt.objects.all().order_by('-created')
|
||||
resource_name = 'snipt'
|
||||
fields = ['title', 'slug', 'lexer', 'code', 'line_count',
|
||||
fields = ['id', 'title', 'slug', 'lexer', 'code', 'line_count',
|
||||
'stylized', 'key', 'public', 'created', 'modified',]
|
||||
validation = Validation()
|
||||
include_absolute_url = True
|
||||
|
|
|
@ -36,8 +36,8 @@ class Snipt(models.Model):
|
|||
public = models.BooleanField(default=False)
|
||||
|
||||
# TODO: Change back auto
|
||||
created = models.DateTimeField(auto_now_add=False, editable=False)
|
||||
modified = models.DateTimeField(auto_now=False, editable=False)
|
||||
created = models.DateTimeField(auto_now_add=True, editable=False)
|
||||
modified = models.DateTimeField(auto_now=True, editable=False)
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
|
||||
|
@ -118,8 +118,8 @@ class Favorite(models.Model):
|
|||
user = models.ForeignKey(User)
|
||||
|
||||
# TODO: Change back auto
|
||||
created = models.DateTimeField(auto_now_add=False, editable=False)
|
||||
modified = models.DateTimeField(auto_now=False, editable=False)
|
||||
created = models.DateTimeField(auto_now_add=True, editable=False)
|
||||
modified = models.DateTimeField(auto_now=True, editable=False)
|
||||
|
||||
def __unicode__(self):
|
||||
return u'{} favorited by {}'.format(self.snipt.title, self.user.username)
|
||||
|
|
|
@ -4,7 +4,9 @@
|
|||
<script id="edit" type="text/html">
|
||||
<header class="fixed-save">
|
||||
<div class="inner group">
|
||||
<button class="delete btn btn-secondary">Delete</button>
|
||||
<% if (snipt.id) { %>
|
||||
<button class="delete btn btn-secondary">Delete</button>
|
||||
<% } %>
|
||||
<button class="save btn btn-success">Save</button>
|
||||
<button class="cancel btn btn-secondary">Cancel</button>
|
||||
</div>
|
||||
|
@ -12,7 +14,9 @@
|
|||
<div class="inner">
|
||||
<section class="snipts" id="snipts">
|
||||
<article id="snipt-<%= snipt.id %>" class="snipt editing">
|
||||
<div class="number">#<%= snipt.id %></div>
|
||||
<% if (snipt.id) { %>
|
||||
<div class="number">#<%= snipt.id %></div>
|
||||
<% } %>
|
||||
<div class="group">
|
||||
<div class="container">
|
||||
<header>
|
||||
|
|
Loading…
Reference in New Issue