Packages
altworx_runbox
24.0.0
25.0.0
24.0.0
23.1.0
23.0.0
22.2.0
22.1.0
22.0.0
21.2.0
21.1.2
21.1.1
21.1.0
21.0.0
20.0.0
19.0.0
18.0.0
17.2.0
17.1.0
17.0.1
17.0.0
16.2.0
16.1.0
16.0.0
15.0.0
14.1.0
14.0.1
14.0.0
13.0.3
13.0.2
13.0.1
13.0.0
12.1.0
12.0.0
11.0.1
11.0.0
10.0.0
9.0.0
8.0.0
7.0.1
7.0.0
6.0.0
5.0.0
4.0.0
3.0.0
2.1.0
2.0.0
1.4.1
1.4.0
1.3.0
1.2.0
1.1.0
1.0.0
0.1.3
0.1.2
0.1.1
0.1.0
Runbox is a library for running Altworx scenarios.
Current section
Files
Jump to
Current section
Files
lib/runbox/ui.ex
defmodule Runbox.Ui do
@moduledoc """
Set of utility functions for working with UI.
"""
@doc """
Returns a URL path to the specific asset in the Network tab.
## Examples
iex> network_asset_path("/assets/cameras", "main")
"/network/asset/%2Fassets%2Fcameras/main"
iex> network_asset_path("/assets/strange type", "strange#id")
"/network/asset/%2Fassets%2Fstrange%20type/strange%23id"
"""
def network_asset_path(type, id) do
"/network/asset/#{uri_encode(type)}/#{uri_encode(id)}"
end
@doc """
Returns a URL path to the specific incident in the Network tab.
## Examples
iex> network_incident_path("fire", "big")
"/network/incident/fire/big"
iex> network_incident_path("bad fire&", "strange#/id")
"/network/incident/bad%20fire%26/strange%23%2Fid"
"""
def network_incident_path(type, id) do
"/network/incident/#{uri_encode(type)}/#{uri_encode(id)}"
end
# Note that `URI.encode_www_form/1` is NOT compatible with JS `decodeURIComponent`.
defp uri_encode(segment), do: URI.encode(segment, &URI.char_unreserved?/1)
end