[ 
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]

Reply via email to