Custom web apps are web apps that are written in the JavaScript language. The code you write is executed in the portion of the front end html as javascript.

To be able to write custom reports in Deputy, we assume you have extensive knowledge of:

  • HTML
  • CSS Styling
  • JavaScript
  • jQuery

The following libraries can be used when building custom apps within Deputy:

  • jQuery
  • jQuery UI
  • Table Sorter
  • Flot
  • Underscore.js
  • Google JavaScript API

🚧

Coding

You should only write your content to a DIV element called "content" - jQuery selection $("#content")).

Server side communication

You cannot query data like reports in custom web apps. You either need to call the API's or run DeXML methods. Calling APIs from the custom web app is quite simple. For example to find the currently logged in users rosters you can use:

$.get("/api/v1/my/roster" , function(rosters){ console.log("My Rosters" , rosters);})

Due to the fact the user is already logged into the web app when using your application, you do not need to send an Authorization header or get an Oauth 2 token for this to work.

DeXML

It is possible to call your own custom DeXML from a custom web application as well. This is done using DP.CAPP.Transact

DP.CAPP.Transact({
    dexml1: {
    },
    second_question.....,
    third_question......

}, your_function_to_execute_on_data_return(data_server_returned));

Other utility functions

  • DP.CAPP.showLoading - Show loading icon. Pass a $element to show loading on that element.
  • DP.CAPP.hideLoading - Hide loading icon. Pass a $element to hide loading on that element.
  • DP.CAPP.GetCurrentEmployee - Return a current employee
  • DP.CAPP.GetCurrentCompany - Return current employee's workplace