Ian Paterson created CB-9449:
--------------------------------
Summary: Impossible to use blank strings as dialog titles
Key: CB-9449
URL: https://issues.apache.org/jira/browse/CB-9449
Project: Apache Cordova
Issue Type: Bug
Components: Plugin Dialogs
Affects Versions: 3.5.0
Reporter: Ian Paterson
Priority: Minor
Currently there is no way to create a dialog in the Cordova Dialogs plugin
without a title. Providing an empty string as the title for any of {{alert}},
{{confirm}}, or {{prompt}} results in a non-localized default title. This makes
it impossible to show message-only dialogs on platforms that support such a
thing, like iOS. Currently, all dialogs must have a title and additionally
prompts must have a message, whether they are provided by the developer or
forced by the plugin.
h4. No workarounds
There are no known workarounds. One that came to mind was passing a space
character {{navigator.notification.alert('message', null, ' ');}} but on iOS
this results in a blank space for the title at the top of the alert. Sending an
object that will evaluate to true but return a blank string when stringified
causes the app to crash {{navigator.notification.alert('message', null,
{toString: function() { return ''; }});}}
h4. Solution
Rather than testing whether {{title}} is falsy to set the default, test whether
it is a string, regardless of whether it is a falsy empty string.
h4. Breaking change?
Requiring the title to be a string prevents numeric and other values from being
used, while previously they were passed through to the native plugin. This is a
_good thing_ because sending anything other than a string causes the plugin to
crash the app (at least on iOS), so despite being more restrictive about the
data type, I do not consider it a breaking change.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]