UNPKG

jive-sdk

Version:

Node.js SDK for Jive Software to assist with the development of add-ons

84 lines (74 loc) 2.92 kB
<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 : "&nbsp;") + "</td>" + "<td>" + (todo.assignee ? todo.assignee : "&nbsp;") + "</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>