UNPKG

jive-sdk

Version:

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

111 lines (97 loc) 3.73 kB
/* * Copyright 2013 Jive Software * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /**************************************************** * This file should load AFTER view/configuration/container.js, or whichever .js file that defines the onReady, onContainer and onViewer * * Note: This implmentation has been provided for convenience, developers are not required to use this pattern. * * SEE: Tile API & Development FAQ - https://community.jivesoftware.com/docs/DOC-185776 ****************************************************/ function alertBox(type, message) { if(!type) { type = 'success'; } var alertBox = $(".alert-area").removeClass().addClass('alert-' + type).text(message).fadeIn(); gadgets.window.adjustHeight(); setTimeout(function(){ alertBox.fadeOut(); alertBox.removeClass().addClass('alert-area'); jive.tile.close({"message": "The discussion has been created."}); }, 2000); } //************************************************************************ //NOTE: CALLED AS SOON AS THE FULL CONTEXT IS RESOLVED //************************************************************************ function onReady(tileConfig,tileOptions,viewer,container) { console.log('onReady',tileConfig,tileOptions,viewer,container); if ( typeof tileConfig === "string" ) { tileConfig = JSON.parse(tileConfig); } $("#create-discussion").click( function() { var message = $("#message").val(); var obj = { "content": { "type": "text/html", "text": '<p>'+message+'</p><p>Last Updated at </p>'+config.date }, "subject": $("#subject").val(), "visibility": "place", "parent": container }; osapi.jive.corev3.discussions.create(obj).execute( function(result) { console.log("result:", result); } ); $("#message").val(''); $("#subject").val(''); alertBox('success', "The discussion has been posted."); setTimeout( function() { jive.tile.close(config, {} ); }, 1000 ); }); window.setTimeout( function() { app.resize(); }, 1000 ); app.resize(); } // end function // //************************************************************************ // //NOTE: CALLED AS SOON AS THE CONFIG IS RESOLVED // //************************************************************************ // function onConfig(tileConfig,tileOptions) { // console.log('onConfig',tileConfig,tileOptions); // } // end function // // //************************************************************************ // //NOTE: CALLED AS SOON AS THE CONTAINER IS RESOLVED // //************************************************************************ // function onContainer(container) { // console.log('onContainer',container); // } // end function // // //************************************************************************ // //NOTE: CALLED AS SOON AS THE VIEWER IS RESOLVED // //************************************************************************ // function onViewer(viewer) { // console.log('onViewer',viewer); // } // end function