[
https://issues.apache.org/jira/browse/CB-9449?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14654310#comment-14654310
]
ASF GitHub Bot commented on CB-9449:
------------------------------------
GitHub user idpaterson opened a pull request:
https://github.com/apache/cordova-plugin-dialogs/pull/55
CB-9449 - Allow a blank string for dialog titles and messages.
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.
### 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 ''; }});`
### 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.
### 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.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/Newstex/cordova-plugin-dialogs
pull-requests/blank-titles
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/cordova-plugin-dialogs/pull/55.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #55
----
commit 03444fcfe204d0576313702b5fe5ac2c6732798d
Author: ipaterson <[email protected]>
Date: 2015-08-04T19:33:40Z
Allow a blank string for dialog titles and messages.
----
> 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
> Labels: dialog, patch
>
> 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]