standalone
standalone class has methods to work with Standalone App Dashboard to build sharable urls to modify standalone url params
How to use
import { Plugin } from '@root'
const { standalone } = Plugin
const MyCustomComponent = props => {
return (
<div>
<p>Current Standalone AppID: ${standalone.id}`</p>
</div>
)
}
export default MyCustomComponent
Available methods
id
string
Current standalone id
string
params
object
Current standalone url params
object
isApp
function
Check if Dashboard is running in standalone app
boolean
isStandalone
function
Check if Dashboard is running in any standalone
boolean
buildPath
function
Helper function to build a sharable url with custom params
string
getShareablePath
function
Current standalone url with the current params
string
addParams
function
Add custom params to current standalone url
void
removeParams
function
Remove params from current url standalone
void
hasPermission
function
Check if the loggedIn user has permission to run StandaloneApp
boolean
id
The current standalone id
/* Current url:
https://naviga.dashboard.navigacloud.com/app/writer
*/
import { Plugin } from '@root'
const { standalone } = Plugin
console.log(standalone.id) // 'writer'
params
The current standalone url params
/* Current url:
https://naviga.dashboard.navigacloud.com/app/writer?article=123-321-1-2-3
*/
import { Plugin } from '@root'
const { standalone } = Plugin
console.log(standalone.params) // {article: '123-321-1-2-3'}
isApp
Check if Dashboard is running in Standalone App mode
import { Plugin } from '@root'
const { standalone } = Plugin
/* Current url:
https://naviga.dashboard.navigacloud.com/app/writer
*/
console.log(Standalone.isApp()) // true
/* Current url:
https://naviga.dashboard.navigacloud.com
*/
console.log(standalone.isApp()) // false
isStandalone
Check if Dashboard is running in any Standalone mode
import { Plugin } from '@root'
const { standalone } = Plugin
/* Current url:
https://naviga.dashboard.navigacloud.com/app/writer
*/
console.log(standalone.isStandalone()) // true
/* Current url:
https://naviga.dashboard.navigacloud.com
*/
console.log(standalone.isStandalone()) // false
buildPath
Build standalone url for plugin with custom params
/* Current url:
https://naviga.dashboard.navigacloud.com/app/writer
*/
import { Plugin } from '@root'
const { standalone } = Plugin
const params = {
article: '123-321-1-2-3'
}
const standalonePath = standalone.buildPath(params)
console.log(standalonePath) // https://naviga.dashboard.navigacloud.com/app/writer?article=123-321-1-2-3
getShareablePath
Get a sharable url for the current standalone app
/* Current url:
https://naviga.dashboard.navigacloud.com/app/writer?article=123-321-1-2-3&tabs=false
*/
import { Plugin } from '@root'
const { standalone } = Plugin
const standalonePath = standalone.getShareablePath()
console.log(standalonePath) // https://naviga.dashboard.navigacloud.com/app/writer?article=123-321-1-2-3&tabs=false
addParams
Add custom params to the current standalone url
/* Current url:
https://naviga.dashboard.navigacloud.com/app/writer
*/
import { Plugin } from '@root'
const { standalone } = Plugin
const newParams = {
article: '123-321-1-2-3'
}
standalone.addParams(newParams)
/* url:
https://naviga.dashboard.navigacloud.com/app/writer?article=123-321-1-2-3
*/
removeParams
Remove params from the current standalone url
/* Current url:
https://naviga.dashboard.navigacloud.com/app/writer?article=123-321-1-2-3
*/
import { Plugin } from '@root'
const { standalone } = Plugin
const paramsToRemove = ['article']
standalone.removeParams(paramsToRemove)
/* url:
https://naviga.dashboard.navigacloud.com/app/writer
*/
hasPermission
Check if loggedIn user has permission to run StandaloneApp
/* Current permission roles:
admin ✅
powerUser ✅
user ❌
readonly ❌
*/
import { Plugin } from '@root'
const { standalone } = Plugin
// User logged as an admin:
standalone.hasPermission() // return true
// User logged as a powerUser:
standalone.hasPermission() // return true
// User logged as a user:
standalone.hasPermission() // return false
// User logged as a readonly:
standalone.hasPermission() // return false
Last updated
Was this helpful?