Skip to content

Commit

Permalink
Add 'call' Function for displaying Tel on iPhone
Browse files Browse the repository at this point in the history
  • Loading branch information
ishimoto committed Jul 14, 2012
1 parent 805fcf9 commit 1375d7a
Show file tree
Hide file tree
Showing 3 changed files with 53 additions and 2 deletions.
1 change: 1 addition & 0 deletions Frameworks/Ajax/ERJQueryMobile/Components/ERQMInputTel.api
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,6 @@
</validation>
<binding name="name"/>
<binding defaults="Boolean" name="mini"/>
<binding name="countryNumber"/>
</wo>
</wodefinitions>
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<wo:genericContainer elementName="div" otherTagString="$inset" class="$elementClass">
<wo:genericContainer elementName="label" for="$javaScriptElementID"><wo:str value="$^string" /></wo:genericContainer>
<wo:textfield type="tel" id="$javaScriptElementID" value="$^value" placeholder="$^placeholder" data-theme="$^theme" disabled="$^disabled" otherTagString="$miniVersion" name="$^name" />
<wo:genericContainer elementName="label" for="$javaScriptElementID"><wo:hyperlink string="$^string" disabled="$disabledInvert" href="$href" data-role="button" data-inline="true" data-mini="true" /></wo:genericContainer>
<wo:textfield type="tel" id="$javaScriptElementID" value="$value" placeholder="$^placeholder" data-theme="$^theme" disabled="$^disabled" otherTagString="$miniVersion" name="$^name" />
</wo:genericContainer>
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@

import com.webobjects.appserver.WOContext;

import er.extensions.appserver.ERXSession;
import er.extensions.foundation.ERXStringUtilities;

@SuppressWarnings("serial")
public class ERQMInputTel extends ERQMInputBaseComponent {

Expand All @@ -17,4 +20,51 @@ public ERQMInputTel(WOContext aContext) {
super(aContext);
}

//********************************************************************
// Methods
//********************************************************************

public String value() {
return stringValueForBinding("value");
}

public boolean disabledInvert() {
// No Tel no Link
if(ERXStringUtilities.stringIsNullOrEmpty(value())) {
return true;
}

// iPhone ? Link works only on iPhone anyway
if(ERXSession.session().browser().isIPhone()) {
return !valueForBooleanBinding("disabled", false);
}

return true;
}

public String href() {
StringBuilder sb = new StringBuilder();
sb.append("tel:");

String s = countryNumber();
if(!ERXStringUtilities.stringIsNullOrEmpty(s)) {
sb.append('+');
sb.append(s);

String number = value();
if(number.startsWith("0")) {
number = number.substring(1);
}
number = ERXStringUtilities.removeCharacters(number, "-/");
sb.append(number);
} else {
sb.append(value());
}

return sb.toString();
}

public String countryNumber() {
return stringValueForBinding("countryNumber");
}
}

0 comments on commit 1375d7a

Please sign in to comment.