test parse role
by rowntreerob
HTML
<script src="http://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.4.1/underscore-min.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/backbone.js/0.9.2/backbone-min.js"></script>
<script src="http://www.parsecdn.com/js/parse-1.2.7.min.js"></script>
<ul id="post-list">
</ul>
<script type="text/template" id="user-template">
<div class="user">
<label class="user-content"><%= username %></label>
</div>
</li>
</script>
CSS
html, body {
margin: 0;
padding: 0;
}
button {
margin: 0;
padding: 0;
border: 0;
background: none;
font-size: 100%;
vertical-align: baseline;
font-family: inherit;
color: inherit;
-webkit-appearance: none;
-ms-appearance: none;
-o-appearance: none;
appearance: none;
}
body {
font: 14px'Helvetica Neue', Helvetica, Arial, sans-serif;
line-height: 1.4em;
background: #eeeeee url('https://lh4.ggpht.com/hFCvdGaw1A5TkVUPMnkl3huGRipYGQwWcXQxxtr6ZmqQUr8YkaSVHyDOpB87Ibd3Qw=w300-rw');
color: #4d4d4d;
width: 550px;
margin: 0 auto;
-webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
-o-font-smoothing: antialiased;
font-smoothing: antialiased;
}
#postapp {
background: #fff;
background: rgba(255, 255, 255, 0.9);
margin: 130px 0 40px 0;
border: 1px solid #ccc;
position: relative;
border-top-left-radius: 2px;
border-top-right-radius: 2px;
box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.2), 0 25px 50px 0 rgba(0, 0, 0, 0.15);
}
#postapp:before {
content:'';
border-left: 1px solid #f5d6d6;
border-right: 1px solid #f5d6d6;
width: 2px;
position: absolute;
top: 45px;
top: 0px;
left: 40px;
height: 100%;
}
#postapp input::-webkit-input-placeholder {
font-style: italic;
}
#postapp input:-moz-placeholder {
font-style: italic;
color: #a9a9a9;
}
#postapp h1 {
position: absolute;
top: -120px;
width: 100%;
font-size: 70px;
font-weight: bold;
text-align: center;
color: #888;
-webkit-text-rendering: optimizeLegibility;
-moz-text-rendering: optimizeLegibility;
-ms-text-rendering: optimizeLegibility;
-o-text-rendering: optimizeLegibility;
text-rendering: optimizeLegibility;
}
.section {
position: relative;
}
#header {
padding-top: 15px;
border-radius: inherit;
}
#header:before {
content:'';
position: absolute;
...
JavaScript
Parse.$ = jQuery;
var view;
var results =
[{"username":"robr","createdAt":"2013-09-23T15:51:58.151Z","updatedAt":"2013-09-23T15:51:58.151Z","objectId":"x6l5Tl3srJ","sessionToken":"xldipsyn0phfv6rkpuy98zplx"},{"username":"jimmyP","createdAt":"2013-09-27T18:03:02.007Z","updatedAt":"2013-09-27T18:03:02.007Z","objectId":"vU3dH52HUq","sessionToken":"9wrxj72entydxor12xohy3obq"}];
//POST MODEL
var User = Parse.User.extend({});
// POST COLLECTION
var UserList = Parse.Collection.extend({
model: User});
// USER ITEM VIEW
var UserView = Parse.View.extend({
tagName: "li",
template: _.template($('#user-template').html()),
initialize: function() {
},
render: function() {
$(this.el).html(this.template(this.model));
}
});
UserList.collection = results;
_.each(UserList.collection ,function(model){
view = new UserView({model:model});
console.log(model);
this.$("#post-list").prepend(view.render());
});
return this.el;