Skip to main content
Version: V2 (Ignition 8.1)

tamaki.mes.utils

General-purpose helpers used throughout the TamakiMES Perspective project: opening popups and docks, formatting dates, durations and unit ratios, building Perspective dropdown options, encoding values, and a few logging and diagnostic utilities.

Note: session scope: The popup, dock, and session helpers (openModal, openNonModal, openEmbeddedSidebar, closeEmbeddedSidebar, the showError* / showValidationsPopup helpers, and forceRefreshSessionCustomVariables) only work inside a Perspective session: call them from a component event script, not the Designer script console.

Conversion & formatting​

stripNulls​

Returns a copy of a dictionary with all None-valued keys removed.

getJsonElement​

Safely reads a key from a dictionary, returning a default if it is missing.

snakeToCamel​

Converts a snake_case string to camelCase.

camelToTitle​

Converts a camelCase string to Title Case.

formatUnitRatio​

Formats a quantity unit and a time unit into a readable ratio such as bottles/minute.

colorClassToVar​

Converts a colour CSS class name into a CSS var(--...) expression.

getReadableTextColor​

Returns black or white (whichever is more readable) for a given hex background colour.

listToDropdown​

Converts a plain list into the {value, label} format used by Perspective dropdowns.

enumListToDropdown​

Converts a list of Java enums into Perspective dropdown options.

objListToDropdown​

Converts a list of objects into dropdown options using chosen label and value keys.

Dates & durations​

formatDuration​

Formats a numeric duration into HH:MM:SS.mmm.

formatDate​

Formats milliseconds or a Date into a string using a Java date pattern and timezone.

convertTimezone​

Converts a date to another timezone, returning a Date.

isoInstantStringToDate​

Parses an ISO-8601 instant string (e.g. 2024-05-21T17:13:00Z) into a Date.

calculateOverlappingDuration​

Returns the overlapping duration between two time intervals.

Encoding​

base64_encode​

Base64-encodes a byte string.

base64_decode_as_string​

Decodes a base64 byte string back into a normal string.

Popups & docks​

openModal​

Opens a modal Perspective popup with a generated popupId.

openNonModal​

Opens a non-modal Perspective popup that stays open until closed.

openEmbeddedSidebar​

Opens the right-side dock with an embedded view.

closeEmbeddedSidebar​

Closes the embedded-sidebar docks and reopens the top-navigation header.

showErrorPopup​

Opens the standard Error popup showing the current traceback and exception.

showErrorPopupMessage​

Opens the Error popup with a custom message and no traceback.

showErrorPopupWithMessage​

Opens the Error popup with the current traceback and a custom message.

showValidationsPopup​

Opens the Validation popup with markdown-formatted validation failures.

forceRefreshSessionCustomVariables​

Resets the sidebar-selection custom session variables to empty dictionaries.

Datasets & files​

excelFileToDS​

Converts a sheet of an uploaded Excel file into a Dataset.

datasetsToZip​

Zips multiple datasets into a byte array, one CSV file per dataset.

Diagnostics​

printCurrentScope​

Prints the current execution scope (Client, Designer, Gateway, or Perspective).

logString​

Logs a string at INFO level under the DBFunctionCalled logger.

logDebCallingFunction​

Decorator that logs a function's entry and exit.