In Flutter, when using showDatePicker, why is the pressed date value not immediately accepted (without having to press OK)?
For example, if the widget initially opens at September 10th, 2019 and I want to select October 5th, 2019, I would expect switch the month to October and press 5 from the calendar display which would then automatically accept the date as October 5th, 2019 without having to press the OK button.
Is there a way to avoid needing to press the OK button?
This doesn't really sound like a code issue, but I'll answer anyway.
The reasoning you have to press OK is mainly to optimize the user experience. Essentially, some people just have either bigger fingers or smaller screens, so they may bump the wrong date by mistake, and some may not even realize it if the dialog disappears after they select the date. Adding the OK button prevents users from running into this problem.
Related
On iOS Safari, the time picker sliders from the sap.m namespace behave unexpectedly. When you select a value at a slider, you have to tap on a different one in order to "really select" the previous value. This even applies to the example in the Demo Kit.
E.g. if you want to select 9:41am, I would usually select 9 at the hours slider, tap on the minutes slider in order to confirm the hour selection and change the minutes to 41. Then I would (w/o tapping a different slider) press the OK button to close the dialog and display the output on the page. On iOS Safari, however, you have to tap another slider (e.g. the am/pm one) after the last selection in order to confirm the minutes selection. Otherwise it will apparently not detect that the minutes slider has been changed and only update the hours on the page.
If you have any idea on how to fix this, I would love to hear your answer :)
For the time being, this is a Material-UI question.
I have a situation where the tab key ceases to move the text cursor between TextFields. At the moment, I have no idea where in my code this is happening, and I am hoping someone can point me in the right direction so I can start looking.
Here’s the setup:
A mouse click causes a Dialog to be displayed. The Dialog has
several TextFields as well as 2 FlatButtons, “cancel & “submit”
At this state, tabbing between fields works as expected.
If I hit the “cancel” button, an event is fired which updates state (including the display of the Dialog) and the Dialog is closed. I can repeat the process from the top with no issues.
If I hit the “submit” button, an event is fired which does some async stuff (using rxjs epics).
On success, the epic fires an event which updates the state (including the display of the Dialog)
If I now try to repeat the process from the top, the tab key does not respond.
I am in the process of migrating to v1, and checked some of the v0.* components – they have the same problem – I don’t recall that being an issue before… Possible conflict between the two versions of the library?
Figured it out. Yes, there is a conflict between the v0.20 and v1.0 of the Dialog component. At least when you have one opening on top of another. Having changed all Dialogs to v1.0, the problem disappeared.
By the way, its not that the tab key wasn't responding - it was responding in the lower Dialog component and not in the top (latest to be created) one. This problem disappeared once the same version was used for both.
I have experience in Android and currently started to learn iOS. I created a mechanism to Pick data in an Android App. When I click on Date button, a DatePicker pops up:
As you see It has Cancel and Set button.
My question is about my iphone App. I want to have the same mechanism. When I click on the button, Date picker pops up (that can have Set and cancel button like Android Date picker). How can I do that? I'm not sure that it is a good way in iPhone, Can you help me if we can design a better mechanism?
Here's a UX comparison between Android and iOS standard widgets, with links to the documentation on the relevant Apple / Android websites. It's a nice way to get started learning all the technical terms.
http://kintek.com.au/blog/portkit-ux-metaphor-equivalents-for-ios-6-and-android-4/
Hopefully that gets you started.
Apple has a sample project that demonstrates this. You'll have to adapt it slightly: instead of showing/hiding the date picker itself, you'll want to show/hide a view containing a date picker and a dismissal button.
It's called DateCell.
Basically, it treats the date picker as if it were the keyboard for a cell containing the date. You'll need to manage hiding it when the user enters a text field (and thus, needs the real keyboard) and scrolling to keep the date row in view, but all the bits you need are in this project one way or the other.
One way to do it would be add a custom buttons to the same view containing date picker and then pop it up when the users wants. Instead of using the date picker delegate use the buttons action to get the date picker value.
I've been digging all over Jasper documentation and can't find the answer.
Currently for our reports, we have a simple input control, Date. When this launches, I am given a date control and at the bottom, I get series of useless button choices...
Apply, OK, Reset, Cancel, Save
Can anyone help me get these removed? Just want OK and Cancel. I looked at DefaultParametersForm.jsp but am having a hard time finding anything useful there. I'm an amateur jsp programmer.
We removed the Cancel button from the input control popup, we found it in the file inputControls.jsp in the jsp/templates directory.
You should find the apply, ok, reset and save button here also.
I do not know off-hand how to remove the buttons, but these buttons are not all useless. Reset clears your fields back to their defaults (blank if no default).
When you are using the Control Layout 1, you may think the Apply and OK button do the same thing but they don't. Apply will run the report with the set parameters, but will not get rid of the dialog box. OK runs apply and removes the dialog as well. (Note that the dialog can be dragged out of the way.)
If you switch to one of the other Control Layouts (I like 4), then the OK button goes away b/c there is no longer a dialog. You will only get Apply, Reset, and Cancel.
I'm unable to change the price of an in-app purchase. I added initially for testing purposes, but now that I'm submitting the app, I'd like to change it. Unfortunately, it doesn't seem to accept the change. It is showing me the same price tier not the updated one.what should i do ?
I had this problem too. Here's how I solved it.
When you change the tier in iTunes Connect, it's not enough to then click 'done'. You need to set the schedule to 'Now' and 'None' (for start and end date) and then click the 'Add to schedule' button. Then save.
Cheers,
S
I found this especially confusing as the "Add to Schedule" button is disabled in my browser, even after selecting "Now" and "None". The button only becomes clickable after clicking on the background of the page to deselect the dropdown, which is probably firing some Javascript event that understands to enable the button.
Just to make it painfully clear (because I was still doing it incorrectly, even after reading Stew's answer above), here's a screenshot.
You need to:
Select a tier.
Select options from the 'Price Effective Date' and 'Price End Date' menus (use Now and None for a price that's effective immediately and indefinitely).
Click 'Add to Schedule' (it's easy to miss this step).
Click 'Save'.
This is now much simpler than it was when the question was asked originally. The Features page for your app at App Store Connect has a Plan a Price Change button under your in-app purchase, and when you press that, it’s very clear how to schedule a price change and make it take effect.
Not sure if anyone is here in 2020, but this is now in the "In-App Purchases" side menu. I tried twice scheduling a price change, and it didn't happen both times. I came here and saw there was something to do after you click "done", which is obviously much different now, but there is something else you need to do after you click "done". You need to also click "save" in the top right.