jive-sdk
Version:
Node.js SDK for Jive Software to assist with the development of add-ons
84 lines (74 loc) • 2.92 kB
HTML
<link rel="stylesheet" href="stylesheets/main.css" type="text/css" media="screen" />
<script src="scripts/shared.js"></script>
<script type="text/javascript" charset="utf-8">
var project = undefined,
username = undefined;
gadgets.util.registerOnLoadHandler(function() {
var updateDisplay = function( ) {
var queryString = "?source=app";
if( project ) {
queryString += "&project=" + encodeURIComponent(project);
} else if ( username ) {
queryString += "&assignee=" + username;
}
var url = baseRESTUrl + queryString;
var params = {
'href': url,
'authz': "signed",
'format': 'json',
"noCache": DEV_MODE
};
osapi.http.get(params).execute(function (response) {
if(response.error) {
defaultErrorHandler(response);
return;
}
var todos = response.content.todos,
todo, i;
$( "#todoBody" ).empty();
for( i = 0; i < todos.length; i++) {
todo = todos[i];
$( "#todoBody" ).append("<tr>" +
"<td><a class='todoDetail' data-id='" + todo.id +"' href='#'>" + todo.name + "</a></td>" +
"<td>" + (todo.status ? todo.status : "Open") + "</td>" +
"<td>" + (todo.project ? todo.project : " ") + "</td>" +
"<td>" + (todo.assignee ? todo.assignee : " ") + "</td>" +
"</tr>");
}
});
};
// Register update actions event, that will exectute when the app loads
$("#createTodo" ).click(function() {
gadgets.views.requestNavigateTo("createTodo", {project: project});
});
$(".todoList" ).delegate(".todoDetail", "click", function() {
gadgets.views.requestNavigateTo("todoDetail", {id: this.getAttribute("data-id")});
});
osapi.jive.core.container.getLaunchContext(function(resp){
if(resp) {
osapi.jive.corev3.resolveContext(resp, function(result){
if( result && result.content ) {
if( result.content.type === "person" ) {
if( result.content.jive ) {
username = result.content.jive.username;
}
} else {
project = result.content.name;
}
}
updateDisplay();
});
} else {
updateDisplay();
}
});
});
</script>
<body>
<div id="status"></div>
<table class="todoList">
<thead><tr><th>Todo</th><th>Status</th><th>Project</th><th>Assignee</th></tr></thead>
<tbody id="todoBody"></tbody>
</table>
<button id="createTodo" title="Create Todo">Create</button>
</body>