How to distinguish [Null] and "[Null]" with JsEvent("GetInputData")?
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Mute
- Printer Friendly Page
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
I'm creating a custom Browse tool similar to the built in In/Out -> Browse tool. Initially I had it behave similar to the Browse tool and pushed data to the UI with the following workflow:
1. Collect data in on_record_batch().
2. In on_complete(), compress the data and save it with self.provider.save_tool_config().
3. In the UI, check for data in the Configuration and decompress and display it.
This worked fine, but I wanted to switch over to using JsEvent("GetInputData") instead. (It allows connections to the custom browse tool to be freely modified, added, or removed, and have the UI update accordingly without needing to rerun the workflow).
The problem is that I have to parse the data myself now, and I can't figure out how to distinguish [Null] values from string values that are literally "[Null]".
For example, consider a Text Input tool with the following data:
When I use JsEvent("GetInputData") to receive the data, I get:
// console.log(await JsEvent('GetInputData', { anchorIndex: 0, connectionName: '' }))
{
fields: [
{ strName: 'Field1', strType: 'V_String', nSize: '2147483647', strSource: 'TextInput:', strDescription: '' },
{ strName: 'Field2', strType: 'V_String', nSize: '2147483647', strSource: 'TextInput:', strDescription: '' }
],
numRecs: 2,
data: [
['foo', 'bar'],
['[Null]', '[Null]']
]
}
With non-String types, it's easy to check that "[Null]" means null, but how do I check for String types?
- Labels:
-
Custom Tools
-
Developer
-
JavaScript
-
SDK
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
Well it seems like JsEvent("GetInputData") is the wrong tool for this. I can't get it to return all results, and it will truncate results in the same manner as the Results Window does.