Skip to content
DataMiner DoJo

More results...

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors
Search in posts
Search in pages
Search in posts
Search in pages
Log in
Menu
  • Blog
  • Questions
  • Learning
    • Courses
    • Certification
      • DataMiner Operator
      • DataMiner Administrator
      • DataMiner Automation
      • Scripts & Connectors Developer: HTTP Basics
      • Scripts & Connectors Developer: SNMP Basics
      • Visual Overview – Level 1
    • Video Library
    • Books We Like
    • Third-party Courses
    • DevOps Enablement Services
    • Quizzes
  • RESOURCES
  • Agile
    • Agile Webspace
    • Everything Agile
      • The Agile Manifesto
      • Best Practices
      • Retro Recipes
    • Methodologies
      • The Scrum Framework
      • Kanban
      • Extreme Programming
    • Roles
      • The Product Owner
      • The Agile Coach
      • The Quality & UX Coach (QX)
  • Expert Hubs
    • DataMiner DevOps Professional Program
    • DataMiner
      • DataMiner Releases & Updates
      • System Architecture
      • Integration Studio
      • Visual Overview
      • Security
    • Technologies
      • CI/CD
      • Converged Interconnect Networks
      • DOCSIS 3.1 / DAA
      • Elasticsearch
      • Kubernetes
      • Telemetry / Flow Monitoring
      • PTP
      • SDN / ST2110 / NMOS
    • Business
      • Software Business models
      • Perpetual Use or Usage-based Services
  • Discover
    • Markets
      • Media production
      • Government & defense
      • Content distribution
      • Service providers
      • Partners
      • OSS/BSS
    • Solutions
    • Use Case Library
    • DataMiner Dashboards
    • DataMiner Downloads
    • DataMiner Modules
      • Core features
      • SRM features
    • DataMiner Apps
    • Professional Services
  • PARTNERS
    • All Partners
    • Technology Partners
    • Strategic Partner Program
    • Deal Registration
  • Pricing
  • More
    • Feature Suggestions
    • Online DataMiner Systems
    • Leaderboard
    • Swag Shop
    • Contact
      • General Inquiries
      • DataMiner DevOps Support
      • Commercial Requests
    • Global Feedback Survey
    • Verify a certificate
  • >> Go to dataminer.services

Interactive Script – How can I show dropdown values depending of what value the user select before ?

Solved109 views6th July 2023
5
Gina Parrado Douglas [DevOps Member]92 30th June 2023 0 Comments

I would like to display different values ​​in the Input Channel dropdown depending on the value the user selects in the Input Type dropdown. So far I am able to get the data the user selects after clicking EDIT, but the idea is to be able to select the Input Type selection and Input channel changes without clicking the button.

Thank you.

Marieke Goethals [SLC] [DevOps Enabler] Selected answer as best 5th July 2023

1 Answer

  • Active
  • Voted
  • Newest
  • Oldest
5
Michiel Clepkens [SLC] [DevOps Advocate]515 Posted 3rd July 2023 2 Comments

Hi Gina

Would it be an option to implement something like this in the event handler of the Input Type dropdown?

The following pieces of code use the InteractiveAutomationScriptToolkit NuGet package version 6.1.0 (NuGet Gallery | Skyline.DataMiner.Utils.InteractiveAutomationScriptToolkit 6.1.0).

Note that the InteractiveAutomationScriptToolkit package has a dependency on the DataMiner Automation Development NuGet package version >= 10.3.1 (NuGet Gallery | Skyline.DataMiner.Dev.Automation 10.3.1.1).

// To make this script interactive "engine.ShowUI()" must be mentioned somewhere (in code or in comment) in this file.
// Be aware, removing this indication will break the script!.

Skyline.DataMiner.Utils.InteractiveAutomationScript.InteractiveController interactiveController = new InteractiveController(engine);
ChannelDialog channelDialog = new ChannelDialog(engine);
channelDialog.BuildDialog();

// Uses the channelDialog as the first dialog.
interactiveController.Run(channelDialog);
// Uses the channelDialog as the second, third,... dialog.
// interactiveController.ShowDialog(channelDialog);

public class ChannelDialog : Skyline.DataMiner.Utils.InteractiveAutomationScript.Dialog
{
private Skyline.DataMiner.Utils.InteractiveAutomationScript.DropDown inputChannelDropDown;
private Skyline.DataMiner.Utils.InteractiveAutomationScript.DropDown inputTypeDropDown;

private List<string> inputChannelOptions = new List<string>();

public ChannelDialog(IEngine engine) : base(engine)
{
}

public void BuildDialog()
{
inputChannelDropDown = new DropDown
{
MinWidth = 200,
};

inputTypeDropDown = new DropDown
{
MinWidth = 200,
};

inputTypeDropDown.Changed += OnInputTypeChange;

AddWidget(inputTypeDropDown, 6, 1);
AddWidget(inputChannelDropDown, 7, 1);
}

private void OnInputTypeChange(object sender, DropDown.DropDownChangedEventArgs e)
{
inputChannelOptions.Clear();
switch (inputTypeDropDown.Selected)
{
case "APIN":
inputChannelOptions.Add("A-3-1 Upmix (L)");
break;
}

inputChannelDropDown.SetOptions(inputChannelOptions);
if (inputChannelOptions.Count > 0)
{
inputChannelDropDown.Selected = inputChannelOptions.First();
}
}
}

Michiel Clepkens [SLC] [DevOps Advocate] Edited answer 6th July 2023
Gina Parrado Douglas [DevOps Member] commented 3rd July 2023

Hi Michiel, thank you for your answer. Can you show me how would you create the dropdowns variables ?

I’m using UIBlockDefinition to create them but I can’t find the methods Selected or SetOptions how you have in your example.

var inputTypeDropDown = new UIBlockDefinition { Type = UIBlockType.DropDown, InitialValue = “AAP”, DestVar = “1”, Row = 1, Column = 1, Width = 350 };

Thank you.

Michiel Clepkens [SLC] [DevOps Advocate] commented 4th July 2023

Hi Gina, the code uses the InteractiveAutomationScriptToolkit NuGet package. This package was built to quickly develop interactive automation scripts for DataMiner. I’ve updated my answer with some more details. Kind regards.

Please login to be able to comment or post an answer.

My Dojo Points

0 Credits
0 Reputation

Question Tag Cloud

adl2099 (54) Alarm Console (53) alarms (70) alarm template (58) API (35) Automation (144) automation scipt (65) Automation script (95) backup (54) Cassandra (142) cloud (37) Connector (44) Correlation (42) Cube (114) Dashboard (134) Dashboards (136) database (64) DataMiner Cube (37) DIS (53) DMS (48) DOM (68) driver (48) DVE (43) Elastic (73) Elasticsearch (99) elements (49) Failover (90) GQI (51) HTTP (45) IDP (55) low code app (70) low code apps (43) MySQL (50) protocol (145) QAction (58) resources (35) security (71) SNMP (56) SRM (267) SRM resources (39) timeout (35) trending (66) upgrade (44) Visio (373) Visual Overview (290)
Privacy Policy • Terms & Conditions • Contact

© 2023 Skyline Communications. All rights reserved.

[ Placeholder content for popup link ] WordPress Download Manager - Best Download Management Plugin