Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
PhoneGap plugin for creating/showing/hiding/messaging/animating additional views outside of the main window.
Java Objective-C JavaScript Shell Other

README.md

phonegap-plugin-wizViewManager

  • PhoneGap Version : 2.6 and above

Description

PhoneGap plugin for

  • creating
  • removing
  • showing
  • hiding
  • messaging (cross communication of strings to each and every view)
  • animating
  • resizing
  • loading source into views.

Install (with Plugman - example iOS)

cordova plugin add https://github.com/Wizcorp/phonegap-plugin-wizViewManager
cordova build ios

< or >

phonegap local plugin add https://github.com/Wizcorp/phonegap-plugin-wizViewManager
phonegap build ios

APIs

Create

There is no limit to the amount of views you can create, but you cannot re-use the same name.

wizViewManager.create(String viewName, JSONObject options, Function success, Function fail);

Options list;

{
    src: "http://google.com", [local or remote http, for valid URI paths see Load API]
    height: 300, [accepts "300px", "30%" - default : fills height]
    width: 300, [accepts "300px", "30%" - default : fills width]
    x: 0,
    y: 0,
    top: 0, [string, pixels or percent - default : 0]
    bottom: 0, [string, pixels or percent - default : 0]
    left: 0, [pixels or percent - default : 0]
    right: 0, [string, pixels or percent - default : 0]
    scalesPageToFit: true [Boolean (iOS only) - default: false]
    bounces: true [Boolean (iOS only) - default: false]
};

NOTE:- Android only accepts ints

Load

wizViewManager.load(String viewName, String URI or URL, Function success, Function fail);

Valid URI and URLs : URIs are first resolved to cache, secondly bundle, then loaded exactly as passed.

URIs

  • Relative to /www eg. A file at <my app assets>/www/image/file.png should be loaded as src: "image/file.png"

  • Relative to root of cache folder eg. A cached file at (Android example) data/data/<my app package>/cache/image/file.png (iOS example) /user/var/..long path../293303D0-2009-4451-A4F8-1FADAEE67250/Library/Caches/<bundle id>/image/file.png should be loaded as src: "image/file.png"

  • Full path to file. Alternatively any other full system file path can be loaded eg. A file in the cache or other folder could be loaded as (Android example) src: "data/data/<my app package>/cache/image/file.png"

URIs

  • Loading files other than; .html .htm is subject to a file whitelist per platform to ensure the browser can load the file. If the file cannot be loaded, the error callback is invoked.

Set Layout

wizViewManager.setLayout(String viewName, JSONObject options, Function success, Function fail);

See Create API for a list of options.

Show

wizViewManager.show(String viewName, JSONObject options, Function success, Function fail);

NOTE:- Animations not currently supported on Android, they are ignored

A list of animations;

  • slideInFromLeft
  • slideInFromRight
  • slideInFromTop
  • slideInFromBottom
  • fadeIn

Example options Object;

options : {
    animation: {
        type: "fadeIn",
        duration: "300"
    }
};

Hide

wizViewManager.hide(String viewName, JSONObject options, Function success, Function fail);

NOTE:- Animations not currently supported on Android, they are ignored

A list of animations;

  • slideOutToLeft
  • slideOutToRight
  • slideOutToTop
  • slideOutToBottom
  • fadeOut

Example options Object;

options : {
    animation : {
        type: "fadeOut",
        duration: "300"
    }
};

Messaging

To send a messsage to a view based on W3C post message API... for more information on the MessageEvent API, see: http://www.w3.org/TR/2008/WD-html5-20080610/comms.HTMLElement

wizViewMessenger.postMessage(Data message, String targetView);
  • message is Data as Array, String, Number, Object
  • targetView is the string name of the target view.
  • to reach Cordova window, targetView = "mainView"

Add an event listener in the html that wishes to receive the message...

window.addEventListener('message', wizMessageReceiver);

Example receiver;

function wizMessageReceiver (event) {
    // Event data object comes in here
}
Something went wrong with that request. Please try again.