Group Slack Interactive Message Menus as a Form [duplicate] - slack

I want to develop a feature such a way that user can select multiple options from message menu. Is it possible to select multiple options from the interactive menu at the same time ??

You can currently only select one option. Slack does not support choosing more than one option in a message.
But there are 2 alternatives:
Dialogs
Dialogs are modal and allow you to use up to 10 elements each including select menus. And they have a "submit" and "cancel" button.
This allows you to implement exactly what you are asking, but your selects would be shown in a separate Dialog window and not directly as part of your message. You also need some extra functionality to connect the Dialog with your message, e.g. by having a button in the message that opens the Dialog.
Check out this answer on how to combine slash commands, buttons and dialogs.
Chaining message with selects
Another alternative is to chain selects in multiple messages one after the other for the user. This can be done by replacing the original posted message with a new message after each user interactions.
So after the user selected the first drop down your app shows him the 2nd menu and so on. Finally you would show the user a submit or cancel button. You can of course also add some functionality to the workflow, e.g. have a cancel button for every step.
Check out this post on how to replace the current message after the user clicked on a select.

Related

Run automation script from a Action?

I have Maximo 7.6.1.1.
I would like to run an automation script from a custom Action button (in WO List View).
I've created an automation script with an action as a launch point. And I think I need to somehow reference the action in Application Builder >> Select Action.
But I've been unsuccessful in doing this--I've just been making random guesses at which options to choose, and of course, it hasn't worked.
How can I run automation script from a Action in WO List View?
You first create a SIGOPTION for the application (in the Application Builder app), but with the description that you want to appear in the menu. Then, create an entry in the "select action" menu that references your sigoption (again, in the Application Builder app). You do not have to fill in any description or details in the menu entry, that will be inherited from the sigoption (which is why you created that first). Give yourself the permissions for this sigoption. This is the usual way to get a menu entry into the system to do something.
I skipped the key information to tie the sigoption/menu entry to a script for ease of explaining adding the menu entry, but there are two key things to do to make this entry run an automation script. The first is the sigoption must be named exactly the same as your action that you created for your automation script. The second is that you must select the radio button at the very bottom of the sigoption dialog, in the "Advanced Signature Options" section, labeled "This is an action that must be invoked by user in the UI".
With those things in place, your menu should now be configured to run your automation script when selected in the application.

Extract Path From File Dialog

My app uses a 3rd party DLL for image processing, which opens a file dialog to choose an image file. For continuity and usability reasons, I use a separate thread to change the dialog after it appears (change the icon and title, and remove the system menu and context help button). I also introduce my own WNDPROC to capture the button clicks, which I can re-route to my app if I choose.
I want to do some specific processing of certain image types, but I need to know when one of these has been picked. Is there a way to get hold of the full file path and pass it back to my app? (The third party file dialog is not the default Windows dialog, but seems to be based on it).
In my WNDPROC, after catching the IDOK WM_COMMAND message, I used SendMessage and CDM_GETFILEPATH to get what I'm after!
Edit:
Actually, it seems I'm better off catching the WM_DESTROY message - in case the user double-clicks or presses enter instead of the 'OK' button.

Call event in Excel VBA when switching to another app

I'm looking for an event which gets called when the user switches to another app (without closing Excel) and when he switches back to Excel again. I need to know this to stop a timer triggered event which isn't necessary when app isn't active or nothing is changed.
I would use it to implement an autosave-method which shouldn't save the file if its in the background and therefore not been changed.
There's an excellent article on how to find what events are available here
http://www.cpearson.com/excel/Events.aspx
"Open the Object Browser in the VBA Editor (press F2 or choose Object Browser from the View menu. In the Classes list, scroll down and select Worksheet. Right-click anywhere in the primary window and choose Group Members on the pop up menu. Then scroll down in the Members Of "Worksheet" list until you see items with yellow lightening bolts next to them. These are the events for the Worksheet objects. Do the same for the Workbook and Application objects."
I am not sure whether you will be able to find EXCEL events that capture your needs, as jumping to another application is not an EXCEL mechanism, but a general Windows mechanism. In fact you try to capture a kind of "LostFocus" event of the Excel application itself. Excel however gives you only event triggers for events that are "local to the Excel application".
What about calling your external program by pressing an Excel Button which contains code to
set a global status variable to "I JUMPED OFF"
stop the timer
start the external application (Shell or similar), minimize the window or whatever
plus a global Selection_Change trigger that
examines the status variable, and if it was set to "I JUMPED OFF"
set it back to "I AM HERE"
restart the timer
Of course this is a bit weak and the user can trick you out by simply manoevering with the mouse or Alt-TAB, but if you maximize the window on Startup you can motivate the user to use the Buttons.

Closing ASPxPopupControl and Reset Login Dialogs

I am creating a login usercontrol. I have added the following buttons: Recover Password, Change Password & Edit Profile.
I am using DevExpress's ASPxPopupControl to host the functions associated with those three buttons.
There are two problems
When the popup is opened I need to be able to close/hide it using a command button
When a user starts using one of the login controls and chooses to close the dialog the next time the dialog is opened it does not start at the beginning.
(e.g. Start the change password dialog, enter some information, close the popup; the information you started with is not cleared)
Any ideas?
Here is a link to help you with closing the popup on a keypress. You can use the Escape key as in this example or code your own.
http://www.devexpress.com/Support/Center/p/Q209168.aspx
For resetting the values, it appears this is manual.
http://www.devexpress.com/Support/Center/p/Q252942.aspx

When are modal dialogs truly necessary?

Modal dialogs are evil, but I keep reading "You should remove modal dialogs when possible"
When isn't it possible to remove modal dialogs? I mean, what are some truly modal tasks that force us to use evil modal dialogs?
The most common given example is the "Do you want to Save?" I think this is the problem of the concept of having the user hit Save instead of remembering that user input is sacred. If you just saved automatically with the ability to "undo" or have revisions, then you don't ever need ask the user if they want to save.
"Are you sure you want to delete?" Undelete
"Are you sure you want to quit?" Why would you ask that? Are you that vain?
Why do we ever need modal dialogs?
EDIT
Webs app don't count in my books, unless they write their own UI windowing system within the browser. Web apps don't have the same tools set as desktop apps.
EDIT 2
My question is slightly different than the one labeled as duplicate. I feel that there is no case that modal dialogs are the best solution. The referred question assumes there is such a case.
Duplicate of: When Is Modal UI acceptable?
Use Cases for Modal Dialogs
blocking the application flow until information required to continue is entered, as for example a password in a login process.
collecting application configuration options in a centralized dialog. In such cases, typically the changes are applied upon closing the dialog, and access to the application is disabled while the edits are being made.
warning that the effects of the current action are not reversible. This is a frequent interaction pattern for modal dialogs, but it is also criticised by usability experts as being ineffective for its intended use (protection against errors in destructive actions) and for which better alternatives exist.
(Source: Wikipedia)
When I use them
In instances where stopping them from doing something stupid is absolutely mandatory. My company has a web app where Users sometimes leave the page before finishing their work. We prompt them with a Modal (the standard onbeforeunload JavaScript function) if they haven't saved their work.
Otherwise, I don't use Modals if I can help it, I hate it when an app steals focus from what I'm doing.
Edit: We don't save their work automatically for them when they leave the page. We do at other times, but not when they leave the page, hence the Modal. I did write could that could go in and save their work when they left the page, but it wouldn't be a 'great' idea to implement it, especially if they accidentally deleted their work and didn't want it to automatically save.
The only thing more sacred than user input is any file I known about. You should never modify any file that an implementation detail unless I have told you to. Thus boxes like "do you want to save?" at exit are a must because I may want to not save.
Imagine an application which needs to open a dialog for some actions. Now imagine that these would be non-modal dialogs: while one dialog is open, you could change the selection or even worse - invoke a different command which itself opens another dialog. Now imagine the these dialogs would be modal: then you would have to close the dialog to proceed - you can't get in the state where the selection changes under a dialog or where two commands are waiting for input.

Resources