Files
phonegap-plugins/iOS/ChildBrowser/ChildBrowserExample/ChildBrowserExample/ChildBrowserCommand.m
Drew Dahlman 4915b76b64 Added new method getPage
This new method will allow for a single instance of the ChildBrowser to
be directed to a new URL via JS.
2012-04-19 11:58:36 -06:00

82 lines
2.1 KiB
Objective-C

// Created by Jesse MacFadyen on 10-05-29.
// Copyright 2010 Nitobi. All rights reserved.
// Copyright 2012, Randy McMillan
#import "ChildBrowserCommand.h"
#ifdef CORDOVA_FRAMEWORK
#import <Cordova/CDVViewController.h>
#else
#import "Cordova/CDVViewController.h"
#endif
@implementation ChildBrowserCommand
@synthesize childBrowser;
- (void) showWebPage:(NSMutableArray*)arguments withDict:(NSMutableDictionary*)options // args: url
{
if(childBrowser == NULL)
{
childBrowser = [[ ChildBrowserViewController alloc ] initWithScale:FALSE ];
childBrowser.delegate = self;
}
/* // TODO: Work in progress
NSString* strOrientations = [ options objectForKey:@"supportedOrientations"];
NSArray* supportedOrientations = [strOrientations componentsSeparatedByString:@","];
*/
#ifdef CORDOVA_FRAMEWORK
CDVViewController* cont = (CDVViewController*)[ super viewController ];
childBrowser.supportedOrientations = cont.supportedOrientations;
[ cont presentModalViewController:childBrowser animated:YES ];
#endif
NSString *url = (NSString*) [arguments objectAtIndex:0];
[childBrowser loadURL:url ];
}
- (void) getPage:(NSMutableArray*)arguments withDict:(NSMutableDictionary*)options {
NSString *url = (NSString*) [arguments objectAtIndex:0];
[childBrowser loadURL:url ];
}
-(void) close:(NSMutableArray*)arguments withDict:(NSMutableDictionary*)options // args: url
{
[ childBrowser closeBrowser];
}
-(void) onClose
{
NSString* jsCallback = [NSString stringWithFormat:@"ChildBrowser._onClose();",@""];
[self.webView stringByEvaluatingJavaScriptFromString:jsCallback];
}
-(void) onOpenInSafari
{
NSString* jsCallback = [NSString stringWithFormat:@"ChildBrowser._onOpenExternal();",@""];
[self.webView stringByEvaluatingJavaScriptFromString:jsCallback];
}
-(void) onChildLocationChange:(NSString*)newLoc
{
NSString* tempLoc = [NSString stringWithFormat:@"%@",newLoc];
NSString* encUrl = [tempLoc stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSString* jsCallback = [NSString stringWithFormat:@"ChildBrowser._onLocationChange('%@');",encUrl];
[self.webView stringByEvaluatingJavaScriptFromString:jsCallback];
}
@end