From 660b4e1b529ebefeee3a01fad7a6d7b7604d1114 Mon Sep 17 00:00:00 2001 From: markhealey Date: Sun, 9 Jun 2013 22:40:39 -0600 Subject: [PATCH 01/36] Fixed example zip file (broken on Windows) --- Gruntfile.js | 3 +-- package.json | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/Gruntfile.js b/Gruntfile.js index ca8c6e74..16debe05 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -81,8 +81,7 @@ module.exports = function(grunt) { { expand: true, cwd: 'examples/', - src: ['**'], - dest: '../F2-examples' + src: ['**'] } ] } diff --git a/package.json b/package.json index beccefac..d6904776 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ "grunt": "~0.4.1", "grunt-contrib-clean": "~0.4.1", "grunt-contrib-concat": "~0.3.0", - "grunt-contrib-compress": "~0.5.1", + "grunt-contrib-compress": "0.4.8", "grunt-contrib-copy": "~0.4.1", "grunt-contrib-jasmine": "~0.4.2", "grunt-contrib-jshint": "~0.4.3", From dbc90b5c6ac414364e324828da8a9d5ba83782e4 Mon Sep 17 00:00:00 2001 From: markhealey Date: Mon, 10 Jun 2013 09:15:21 -0600 Subject: [PATCH 02/36] Revised upgrade notes --- README.md | 10 ++++++++-- docs/src/f2js-sdk.md | 19 ++++++++++--------- 2 files changed, 18 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 3ad40d4f..50b84c41 100644 --- a/README.md +++ b/README.md @@ -27,13 +27,19 @@ You can run this command to check the version of your local copy of F2 (if you'v `$> grunt version` +## Upgrading + +It is a goal of ours to make upgrading to the latest version of F2 a minor effort for development teams. The details from each release of F2, minor and major, are tracked in the [changelog](https://github.com/OpenF2/F2/wiki/Changelog). As of version 1.2, no breaking changes have been introduced and therefore upgrading should be as simple as [downloading the latest copy of F2.js](https://raw.github.com/OpenF2/F2/master/sdk/f2.min.js) and updating your website. + +For more notes on upgrading your container or app to the latest version of F2, [read more in the Docs](http://docs.openf2.org/f2js-sdk.html#upgrading). + ## Talk Have a question? Want to chat? Open an [Issue on GitHub](https://github.com/OpenF2/F2/issues), ask it on our [Google Group](https://groups.google.com/forum/#!forum/OpenF2) or send an email to . -## Bug Tracking +## Issues, Enhancements, Bugs -To track bugs and issues, we are using [Issues on GitHub](https://github.com/OpenF2/F2/issues). +To track bugs, issues and enhancement requests, we are using [Issues on GitHub](https://github.com/OpenF2/F2/issues). ## Developers diff --git a/docs/src/f2js-sdk.md b/docs/src/f2js-sdk.md index 04534e3e..6ee5a3dc 100644 --- a/docs/src/f2js-sdk.md +++ b/docs/src/f2js-sdk.md @@ -44,13 +44,7 @@ For more information on SemVer, please visit [SemVer.org](http://semver.org/). ## Upgrading -It is a goal of ours to make upgrading to the latest version of F2 a minor effort for development teams. Releasing feature enhancements, addressing bugs or security patches, and working hard to maintain backward compatibility for F2.js APIs—while constantly pushing the boundaries—are all part of evolving a web framework for the financial services industry. - -The details from each release of F2, minor and major, are tracked in the [changelog](https://github.com/OpenF2/F2/wiki/Changelog). - -### The Latest - -For developers, getting the latest F2.js SDK is as simple as going to the [project repository on GitHub](https://github.com/OpenF2/F2). A download ([zip](https://github.com/OpenF2/F2/zipball/master)) of the current version ({{version}}) of F2 is always available along with [tags of previous releases](https://github.com/OpenF2/F2/tags). +It is a goal of ours to make upgrading to the latest version of F2 a minor effort for development teams. The details from each release of F2, minor and major, are tracked in the [changelog](https://github.com/OpenF2/F2/wiki/Changelog). As of version 1.2, no breaking changes have been introduced and therefore upgrading should be as simple as [downloading the latest copy of F2.js](https://raw.github.com/OpenF2/F2/master/sdk/f2.min.js) and updating your website. Developers can quick-link to the latest copy of F2.js: @@ -58,9 +52,16 @@ Developers can quick-link to the latest copy of F2.js: Note GitHub is [not a CDN](http://stackoverflow.com/questions/5502540/should-github-be-used-as-a-cdn-for-javascript-libraries). -### Deprecated Features or APIs +A download ([zip](https://github.com/OpenF2/F2/zipball/master)) of the current version ({{version}}) of F2 is always available along with [tags of previous releases](https://github.com/OpenF2/F2/tags). + +### Deprecated Features + +There is a page on the wiki [tracking deprecated features in F2](https://github.com/OpenF2/F2/wiki/F2.js-Deprecated) and, starting with version 1.2, three `ContainerConfig` properties have been retired. As F2 features and/or F2.js APIs are deprecated, advance notice will be provided on any or all of the F2 [communication channels](https://github.com/OpenF2/F2/blob/master/CONTRIBUTING.md#keep-in-touch). In addition, backward compatibility will be maintained for at least one minor version of F2. For example, if `Feature X` is deprecated in `1.0`, backward compatibility will be maintained until at least version `1.1`. F2 documentation will be updated accordingly to reflect any changes, and the conversation behind deprecated features will be publicly [available on GitHub](https://github.com/OpenF2/F2/issues). + + +### Third Party Libraries -As F2 features and/or F2.js APIs are deprecated, advance notice will be provided on any or all of the F2 [communication channels](https://github.com/OpenF2/F2/blob/master/CONTRIBUTING.md#keep-in-touch). In addition, backward compatibility will be maintained for at least one minor version of F2. For example, if `Feature X` is deprecated in `1.0`, backward compatibility will be maintained until at least version `1.1`. F2 documentation will be updated accordingly to reflect any changes, and the conversation behind deprecated features will be publicly [available on GitHub](https://github.com/OpenF2/F2/issues). +F2 uses third party libraries inside F2.js (see [Framework: Choices](http://docs.openf2.org/#choices)). These open-source libraries are all on different release schedules and when an update (or important security patch) is made available, the F2 team will take action to ensure F2.js uses the latest, most stable and most secure version of the third party software. These updates to F2 will be made through the normal release process on GitHub and comments will be open. ## Forum From ec15a9861f3d8a5632be38cb3b871520cb967c27 Mon Sep 17 00:00:00 2001 From: markhealey Date: Mon, 10 Jun 2013 09:50:29 -0600 Subject: [PATCH 03/36] SemVerifying upgrade notes --- docs/src/f2js-sdk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/src/f2js-sdk.md b/docs/src/f2js-sdk.md index 6ee5a3dc..ffb0d9f2 100644 --- a/docs/src/f2js-sdk.md +++ b/docs/src/f2js-sdk.md @@ -56,7 +56,7 @@ A download ([zip](https://github.com/OpenF2/F2/zipball/master)) of the current v ### Deprecated Features -There is a page on the wiki [tracking deprecated features in F2](https://github.com/OpenF2/F2/wiki/F2.js-Deprecated) and, starting with version 1.2, three `ContainerConfig` properties have been retired. As F2 features and/or F2.js APIs are deprecated, advance notice will be provided on any or all of the F2 [communication channels](https://github.com/OpenF2/F2/blob/master/CONTRIBUTING.md#keep-in-touch). In addition, backward compatibility will be maintained for at least one minor version of F2. For example, if `Feature X` is deprecated in `1.0`, backward compatibility will be maintained until at least version `1.1`. F2 documentation will be updated accordingly to reflect any changes, and the conversation behind deprecated features will be publicly [available on GitHub](https://github.com/OpenF2/F2/issues). +There is a page on the wiki [tracking deprecated features in F2](https://github.com/OpenF2/F2/wiki/F2.js-Deprecated) and, starting with version 1.2, three `ContainerConfig` properties have been retired. As F2 features and/or F2.js APIs are deprecated, advance notice will be provided on any or all of the F2 [communication channels](https://github.com/OpenF2/F2/blob/master/CONTRIBUTING.md#keep-in-touch). In addition, backward compatibility will be maintained for at least one minor version of F2. For example, if `Feature X` is deprecated in version `1.0`, backward compatibility will be maintained until the next major release (version `2.0`). F2 documentation will be updated accordingly to reflect any changes, and the conversation behind deprecated features will be publicly [available on GitHub](https://github.com/OpenF2/F2/issues). ### Third Party Libraries From 8b6ca5752889a58bb8b29d5571873e760f9e85b5 Mon Sep 17 00:00:00 2001 From: markhealey Date: Tue, 11 Jun 2013 08:22:34 -0600 Subject: [PATCH 04/36] Lead change, version bump --- docs/src/app-development.md | 2 +- package.json | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/src/app-development.md b/docs/src/app-development.md index 3df8e9b2..f28b82d8 100644 --- a/docs/src/app-development.md +++ b/docs/src/app-development.md @@ -1,6 +1,6 @@ % App Development -

Apps are the building blocks of any F2-enabled solution. F2 apps are web-based, are built with HTML5, CSS3, and JavaScript, and contain entitled data. F2 enables App Developers to build once and deploy to any [container](#container-development.html) with a simple and modern API. You can [read more about the framework](index.html#framework), [download the project on GitHub](https://github.com/OpenF2/F2#quick-start) or [get started](#get-started) below. The latest version of F2 is {{version}}.

+

Apps are the building blocks of any F2-enabled solution. F2 apps are web-based, built with HTML5, CSS3, and JavaScript, and contain entitled data. F2 enables App Developers to build once and deploy to any [container](#container-development.html) with a simple and modern API. You can [read more about the framework](index.html#framework), [download the project on GitHub](https://github.com/OpenF2/F2#quick-start) or [get started](#get-started) below. The latest version of F2 is {{version}}.

F2 apps are synonymous with modules, widgets and portlets. Think charts, portfolios, trade tickets, and screeners. F2 apps only need to be programmed once, no matter where they will be used. To start, F2 Apps are either: diff --git a/package.json b/package.json index d6904776..55098bea 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "F2", "description": "An open framework for the financial services industry.", - "version": "1.2.0", + "version": "1.2.1", "keywords": [ "openf2" ], @@ -45,6 +45,6 @@ "engines": { "node": ">=0.10" }, - "_releaseDate": "2013-06-07T21:34:58.500Z", - "_releaseDateFormatted": "7 June 2013" + "_releaseDate": "2013-06-11T14:22:10.412Z", + "_releaseDateFormatted": "11 June 2013" } \ No newline at end of file From 28a0b124b627683c87ca60f097eb6120cd562cfc Mon Sep 17 00:00:00 2001 From: markhealey Date: Wed, 12 Jun 2013 13:09:59 -0600 Subject: [PATCH 05/36] timestamp --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 55098bea..682710a4 100644 --- a/package.json +++ b/package.json @@ -45,6 +45,6 @@ "engines": { "node": ">=0.10" }, - "_releaseDate": "2013-06-11T14:22:10.412Z", - "_releaseDateFormatted": "11 June 2013" + "_releaseDate": "2013-06-12T19:09:30.946Z", + "_releaseDateFormatted": "12 June 2013" } \ No newline at end of file From 3d6960046ab9e5a48dee0d48de7b5dc19cefa8ff Mon Sep 17 00:00:00 2001 From: markhealey Date: Thu, 13 Jun 2013 20:26:32 -0600 Subject: [PATCH 06/36] Docs --- README.md | 67 +++++++++++++++++++------------------------ ThirdPartyMaterial.md | 2 +- docs/src/f2js-sdk.md | 28 +++++++----------- 3 files changed, 42 insertions(+), 55 deletions(-) diff --git a/README.md b/README.md index 50b84c41..cef314fc 100644 --- a/README.md +++ b/README.md @@ -1,77 +1,70 @@ # F2 - An open web framework for the financial services industry. -F2 is an open and free web integration framework designed to help you and other financial industry participants develop custom solutions that combine the best tools and content from multiple providers into one, privately-labeled, seamlessly integrated front-end. The [essential components](http://docs.openf2.org/index.html#framework) defined by the F2 specification are the Container, Apps, Context and Store—all supported under the hood by **[F2.js](http://docs.openf2.org/f2js-sdk.html)**, a JavaScript SDK which provides an extensible foundation powering all F2-based web applications. +F2 is an open and free web integration framework designed to help you and other financial industry participants develop custom solutions that combine the best tools and content from multiple providers into one, privately-labeled, seamlessly integrated front-end. The [essential components](http://docs.openf2.org/index.html#framework) defined in the F2 documentation are the Container, Apps, Context and Registry—all supported under the hood by **[F2.js](http://docs.openf2.org/f2js-sdk.html)**, a JavaScript SDK which provides an extensible foundation powering all F2-enabled web applications. -F2 is currently maintained by [Markit On Demand](http://www.markitondemand.com) and you're encouraged to read [more details about the management of the F2 spec](http://docs.openf2.org/#spec-management). Visit [OpenF2.org](http://www.openf2.org) for more information and follow [@OpenF2](http://twitter.com/OpenF2) on Twitter. +F2 is currently maintained by [Markit On Demand](http://www.markitondemand.com). Visit [OpenF2.org](http://www.openf2.org) for more information and follow [@OpenF2](http://twitter.com/OpenF2) on Twitter. ## Quick Start Clone the repo, `git clone https://github.com/OpenF2/F2.git`, or [download the latest version](https://github.com/OpenF2/F2/zipball/master). -Now you've got F2, you are ready to start building F2 containers or apps. Read the [Get Started documentation](http://docs.openf2.org/app-development.html) for F2 apps to begin. If you simply want to see examples, point your browser at `http://path/to/your/F2/examples/`. +Browse to the **Get Started** documentation for [containers](http://docs.openf2.org/container-development.html#get-started) or [apps](http://docs.openf2.org/app-development.html#get-started). -**Important**: If you simply want to build F2 [containers](http://docs.openf2.org/container-development.html) or [apps](http://docs.openf2.org/app-development.html), you can **skip** the [Build F2](#build-f2-) section below. You do not need the command line to work with F2. -## Versioning +## Developers [![Build Status](https://travis-ci.org/OpenF2/F2.png?branch=master)](https://travis-ci.org/OpenF2/F2) -To adhere to industry standards, F2 will be maintained under the Semantic Versioning guidelines as much as possible. +**Important**: If you just want to develop F2 containers or apps, you can skip the section below. _You do not need the command line, Node.js or Grunt to develop with F2_. -Releases will be numbered with the following format: - -`..` +### Build F2 -For more information on SemVer, please visit . +For those [contributing to F2](CONTRIBUTING.md), you'll need to setup your dev environment. To configure it, be sure you have [Node.js](http://nodejs.org/) installed, then run the following command from the project root directory: -You can run this command to check the version of your local copy of F2 (if you've [setup the build](#developers)): - -`$> grunt version` - -## Upgrading +`$> npm install` -It is a goal of ours to make upgrading to the latest version of F2 a minor effort for development teams. The details from each release of F2, minor and major, are tracked in the [changelog](https://github.com/OpenF2/F2/wiki/Changelog). As of version 1.2, no breaking changes have been introduced and therefore upgrading should be as simple as [downloading the latest copy of F2.js](https://raw.github.com/OpenF2/F2/master/sdk/f2.min.js) and updating your website. +This command will install the [Grunt CLI](http://gruntjs.com/getting-started#installing-the-cli) in addition to all dependencies needed to build F2. Depending on your configuration, you may need to be an admin to install some of these Node packages. Additionally, some packages may need to be [installed globally](http://blog.nodejs.org/2011/03/23/npm-1-0-global-vs-local-installation/) using the `-g` switch. If the installation fails due to directory permissions, use: -For more notes on upgrading your container or app to the latest version of F2, [read more in the Docs](http://docs.openf2.org/f2js-sdk.html#upgrading). +`$> sudo npm install` -## Talk +We are using [markitdown](https://github.com/markitondemand/markitdown), a lightweight pandoc wrapper, for converting markdown files to HTML for the [F2 docs](http://docs.openf2.org). [Pandoc](http://johnmacfarlane.net/pandoc/index.html) is required for markitdown and there are [installation packages available](http://johnmacfarlane.net/pandoc/installing.html) for Windows and Mac OS. -Have a question? Want to chat? Open an [Issue on GitHub](https://github.com/OpenF2/F2/issues), ask it on our [Google Group](https://groups.google.com/forum/#!forum/OpenF2) or send an email to . +To **build F2**, run: -## Issues, Enhancements, Bugs +`$> grunt` -To track bugs, issues and enhancement requests, we are using [Issues on GitHub](https://github.com/OpenF2/F2/issues). +For help and a list of available tasks, run: -## Developers +`$> grunt --help` -If you just want to build F2 [containers](http://docs.openf2.org/container-development.html) and/or [apps](http://docs.openf2.org/app-development.html), you can **skip the [Build F2](#build-f2)** section below. You do not need the command line to work with F2. +_Some Mac users have run into a Grunt "cannot run in wd" error when using `grunt` and/or `npm install`. If you're getting that error in your shell, try using `--unsafe-perm` [as discussed here](https://github.com/isaacs/npm/issues/2984)._ -### Build F2 [![Build Status](https://travis-ci.org/OpenF2/F2.png?branch=master)](https://travis-ci.org/OpenF2/F2) +### Versioning -For those wishing to [contribute back to F2](CONTRIBUTING.md), we've included a `Gruntfile` for use with [Grunt](http://gruntjs.com/) which contains the logic for compiling and testing F2.js and the specification docs. Grunt is built on top of [Node.js](http://nodejs.org/) and is installed via [npm](https://npmjs.org/). +The latest version of F2.js will always be in `master` and the version number/release date is available on the command line by using: -To configure your environment, be sure you have Node installed and run the following command from the project root directory: +`$> grunt version`. -`$> npm install` +In accordance with industry standards, F2 is currently maintained, in as far as reasonably possible, under the Semantic Versioning guidelines. -This command will install the [Grunt CLI](http://gruntjs.com/getting-started#installing-the-cli) in addition to all dependencies needed to run the `Gruntfile`. Depending on your configuration, you may need to be an admin to install some of these Node packages. Additionally, some packages may need to be [installed globally](http://blog.nodejs.org/2011/03/23/npm-1-0-global-vs-local-installation/) using the `-g` switch. If the installation fails due to directory permissions, use: +Releases will be numbered with the following format: -`$> sudo npm install` +`..` -We are using [markitdown](https://github.com/markitondemand/markitdown), a lightweight pandoc wrapper, for converting markdown files to HTML for the [F2 docs](http://docs.openf2.org). [Pandoc](http://johnmacfarlane.net/pandoc/index.html) is required for markitdown and there are [installation packages available](http://johnmacfarlane.net/pandoc/installing.html) for Windows and Mac OS. +For more information on SemVer, please visit [SemVer.org](http://semver.org/). -To **build F2**, run: +### Upgrading -`$> grunt` +It is our goal to make upgrading to the latest version of F2 a minor effort for development teams. For more notes on upgrading your container or app to the latest version of F2, [read more in the Docs](http://docs.openf2.org/f2js-sdk.html#upgrading). -For help, run: +### Issues, Enhancements, Bugs -`$> grunt --help` +Have a question? Want to chat? Open an [Issue on GitHub](https://github.com/OpenF2/F2/issues), ask it on our [Google Group](https://groups.google.com/forum/#!forum/OpenF2) or send an email to . -Some Mac users have run into a Grunt "cannot run in wd" error when using `grunt` and/or `npm install`. If you're getting that error in your shell, try using `--unsafe-perm` [as discussed here](https://github.com/isaacs/npm/issues/2984). +To track bugs, issues and enhancement requests, we are using [Issues on GitHub](https://github.com/OpenF2/F2/issues). -#### NuGet Package +### NuGet Package -Good news if you're using C#! We have an [F2 NuGet package available](https://nuget.org/packages/F2/). In the Package Manager Console run: +Good news if you're using C#! We have an [F2 NuGet package available](https://nuget.org/packages/F2/). In your Package Manager Console run: `PM> Install-Package F2` diff --git a/ThirdPartyMaterial.md b/ThirdPartyMaterial.md index 9fd611ed..697992ab 100644 --- a/ThirdPartyMaterial.md +++ b/ThirdPartyMaterial.md @@ -1,6 +1,6 @@ # F2 - Third Party Material -The following are the terms and conditions governing your use of the third party material that Markit On Demand Inc. has a license to use and include within F2: +The following are the terms and conditions governing your use of the third party material that Markit On Demand Inc. has a license to use and include within [F2](http://www.openf2.org): ## json2 diff --git a/docs/src/f2js-sdk.md b/docs/src/f2js-sdk.md index ffb0d9f2..31a80087 100644 --- a/docs/src/f2js-sdk.md +++ b/docs/src/f2js-sdk.md @@ -1,8 +1,8 @@ % F2.js SDK -

F2 enables all of us to build exactly the financial solutions that our customers want. Using the F2 Framework, you can efficiently create fully-integrated, multi-vendor, multi-asset class and multi-channel apps and deploy them in as many app ecosystems as you want.

+

F2 enables you to efficiently create fully-integrated, multi-vendor, multi-asset class and multi-channel apps and deploy them in as many app ecosystems as you want.

-Developers who adhere to the F2 standard will make it possible for multiple apps, developed independently by different organizations, to function together creating a seamless and integrated experience. +Developers who adhere to the F2 standard will make it possible for multiple apps, developed independently by different organizations or individuals, to function together creating a seamless and integrated experience. * * * * @@ -22,17 +22,17 @@ Anyone is free to download F2.js from the [F2 project repository on GitHub](http The latest version of F2.js is **{{version}}**. -

Download F2.js {{version}} View on GitHub

+

Download F2.js {{version}} View on GitHub

* * * * ## Versioning -The latest version of F2.js will always be in the project root, and the version number is in the top of file. The version number is also available on the command line by using: +The latest version of F2.js will always be in the root of the project, and the version number can be found embedded in the code. The version number is also available on the command line by using: `$> grunt version`. -To adhere to industry standards, F2 will be maintained under the Semantic Versioning guidelines as much as possible. +In accordance with industry standards, F2 is currently maintained, in as far as reasonably possible, under the Semantic Versioning guidelines. Releases will be numbered with the following format: @@ -44,7 +44,7 @@ For more information on SemVer, please visit [SemVer.org](http://semver.org/). ## Upgrading -It is a goal of ours to make upgrading to the latest version of F2 a minor effort for development teams. The details from each release of F2, minor and major, are tracked in the [changelog](https://github.com/OpenF2/F2/wiki/Changelog). As of version 1.2, no breaking changes have been introduced and therefore upgrading should be as simple as [downloading the latest copy of F2.js](https://raw.github.com/OpenF2/F2/master/sdk/f2.min.js) and updating your website. +It is our goal to make upgrading to the latest version of F2 a minor effort for development teams. The details from each release of F2, minor and major, are tracked in the [changelog](https://github.com/OpenF2/F2/wiki/Changelog). As of version 1.2, no breaking changes have been introduced and therefore upgrading should be as simple as [downloading the latest copy of F2.js](https://raw.github.com/OpenF2/F2/master/sdk/f2.min.js) and updating your website. Developers can quick-link to the latest copy of F2.js: @@ -56,24 +56,18 @@ A download ([zip](https://github.com/OpenF2/F2/zipball/master)) of the current v ### Deprecated Features -There is a page on the wiki [tracking deprecated features in F2](https://github.com/OpenF2/F2/wiki/F2.js-Deprecated) and, starting with version 1.2, three `ContainerConfig` properties have been retired. As F2 features and/or F2.js APIs are deprecated, advance notice will be provided on any or all of the F2 [communication channels](https://github.com/OpenF2/F2/blob/master/CONTRIBUTING.md#keep-in-touch). In addition, backward compatibility will be maintained for at least one minor version of F2. For example, if `Feature X` is deprecated in version `1.0`, backward compatibility will be maintained until the next major release (version `2.0`). F2 documentation will be updated accordingly to reflect any changes, and the conversation behind deprecated features will be publicly [available on GitHub](https://github.com/OpenF2/F2/issues). +There is a page on the wiki [tracking deprecated features in F2](https://github.com/OpenF2/F2/wiki/F2.js-Deprecated). Starting with version 1.2, three `ContainerConfig` properties have been retired. As F2 features and/or F2.js APIs are deprecated, we will attempt to give reasonable advance notice via any or all of the F2 [communication channels](https://github.com/OpenF2/F2/blob/master/CONTRIBUTING.md#keep-in-touch). In addition, we will strive to ensure that backward compatibility will be maintained for at least one major version of F2. For example, if `Feature X` is deprecated in version `1.3`, we will attempt to maintain backward compatibility until the next major release (version `2.0`). F2 documentation will be updated accordingly to reflect any changes, and the conversation behind deprecated features will be publicly [available on GitHub](https://github.com/OpenF2/F2/issues). ### Third Party Libraries -F2 uses third party libraries inside F2.js (see [Framework: Choices](http://docs.openf2.org/#choices)). These open-source libraries are all on different release schedules and when an update (or important security patch) is made available, the F2 team will take action to ensure F2.js uses the latest, most stable and most secure version of the third party software. These updates to F2 will be made through the normal release process on GitHub and comments will be open. +F2 uses third party libraries inside F2.js (see [Framework: Choices](http://docs.openf2.org/#choices)). These open-source libraries are all on their own release schedules. We cannot guarantee that we will always stay abreast and in tune with such latest releases, but in an effort to improve the F2 framework, we will attempt to update F2.js so that it uses the latest, most stable and most secure version of the third party software. These updates to F2 will be made through the normal release process on GitHub and comments will be open. -## Forum +## Issues, Enhancements, Bugs -Have a question? Ask it on the [F2 Google Group](https://groups.google.com/forum/#!forum/OpenF2) or start a discussion using [Issues on GitHub](https://github.com/OpenF2/F2/issues). +Have a question? Ask it on the [F2 Google Group](https://groups.google.com/forum/#!forum/OpenF2) (or send an email to ) or start a discussion using [Issues on GitHub](https://github.com/OpenF2/F2/issues). - - -* * * * - -## Bug Tracking - -To track bugs or issues, F2 is using [Issues on GitHub](https://github.com/OpenF2/F2/issues). +To track bugs, enhancements or other issues, F2 is using [Issues on GitHub](https://github.com/OpenF2/F2/issues). * * * * From 6577cab7da802b56bf87be5ae1966f33cd3bd1c7 Mon Sep 17 00:00:00 2001 From: markhealey Date: Fri, 14 Jun 2013 08:47:55 -0600 Subject: [PATCH 07/36] possession --- docs/src/app-development.md | 6 +++--- docs/src/container-development.md | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/src/app-development.md b/docs/src/app-development.md index f28b82d8..62273d44 100644 --- a/docs/src/app-development.md +++ b/docs/src/app-development.md @@ -440,7 +440,7 @@ We recommend—and have samples below for—two different patterns for w #### Arguments -When F2's `registerApps()` method is called by the container, F2 passes three arguments to your App Class: `appConfig`, `appContent` and `root`. The SDK documentation details the contents of each arg and these should be familiar because [appConfig](./sdk/classes/F2.App.html) contains your apps' meta, [appContent](./sdk/classes/F2.AppManifest.AppContent.html) contains your `html`, `data` and `status` properties, and [root](./sdk/classes/F2.AppConfig.html#properties-root) is the outermost DOM element in which your app exists on the container. The `root` argument provides your App Class code your apps' parent element for faster DOM traversal. +When F2's `registerApps()` method is called by the container, F2 passes three arguments to your App Class: `appConfig`, `appContent` and `root`. The SDK documentation details the contents of each arg and these should be familiar because [appConfig](./sdk/classes/F2.App.html) contains your app's meta, [appContent](./sdk/classes/F2.AppManifest.AppContent.html) contains your `html`, `data` and `status` properties, and [root](./sdk/classes/F2.AppConfig.html#properties-root) is the outermost DOM element in which your app exists on the container. The `root` argument provides your App Class code your app's parent (root) element for faster DOM traversal. Example: @@ -665,7 +665,7 @@ F2.Events.emit( ); ``` -The container would need to listen to your apps' broadcasted `F2.Constants.Events.APP_SYMBOL_CHANGE` event using code like this: +The container would need to listen to your app's broadcasted `F2.Constants.Events.APP_SYMBOL_CHANGE` event using code like this: ```javascript F2.Events.on( @@ -849,7 +849,7 @@ There are some utility methods provided within F2.js in the `UI` namespace. Thes ### Basics -While there are [numerous utility methods in F2.UI](./sdk/classes/F2.UI.html), we will focus on a couple important ones here such as `updateHeight()` and `showMask()`. The `F2.UI` methods are passed as an instance to each F2 apps' App Class on the `appConfig` argument. The instance of `F2.UI` gets added to the `appConfig` object at runtime, and is available in `appclass.js` as `appConfig.ui`. +While there are [numerous utility methods in F2.UI](./sdk/classes/F2.UI.html), we will focus on a couple important ones here such as `updateHeight()` and `showMask()`. The `F2.UI` methods are passed as an instance to each F2 app's App Class on the `appConfig` argument. The instance of `F2.UI` gets added to the `appConfig` object at runtime, and is available in `appclass.js` as `appConfig.ui`. Example: diff --git a/docs/src/container-development.md b/docs/src/container-development.md index 8ddc62e9..7356dcb7 100644 --- a/docs/src/container-development.md +++ b/docs/src/container-development.md @@ -359,7 +359,7 @@ As an alternative to static app configuration shown above, the `_appConfig` vari ### Registering Pre-Loaded Apps -Incorporating apps which have been pre-loaded or are otherwise already on the container when it loads is an alternative method to integrating F2 apps. This method is useful when the container is being constructed on the server-side (at run-time or on a schedule) and F2 functionality is desired. To use pre-loaded apps, the Container Developer is required to make a request to each apps' `AppManifest` and its dependencies _before_ the page is rendered. +Incorporating apps which have been pre-loaded or are otherwise already on the container when it loads is an alternative method to integrating F2 apps. This method is useful when the container is being constructed on the server-side (at run-time or on a schedule) and F2 functionality is desired. To use pre-loaded apps, the Container Developer is required to make a request to each app's `AppManifest` and its dependencies _before_ the page is rendered. For the following example, let's assume you have a web page composed on the server and all of its HTML is delivered to the browser in one payload. This page also has at least one widget (or component) you'd like to register with F2.js. @@ -388,7 +388,7 @@ To use pre-loaded apps, a web page with a placeholder element for the apps is re #### 2. Request AppManifest -Next, make a server-side request to the news apps' `AppManifest`—the URL is found in `manifestUrl`—and capture the resulting JSON. Each `AppManifest` contains scripts, style sheets and HTML ([more about the `AppManifest`](app-development.html#app-manifest)). The market news apps' `AppManifest` looks like this: +Next, make a server-side request to the news app's `AppManifest`—the URL is found in `manifestUrl`—and capture the resulting JSON. Each `AppManifest` contains scripts, style sheets and HTML ([more about the `AppManifest`](app-development.html#app-manifest)). The market news app's `AppManifest` looks like this: ```javascript { @@ -606,7 +606,7 @@ F2.AppHandlers.on(_token, 'appRender', document.getElementById('my_sidebar')); F2.registerApps(_appConfig); ``` -F2 will insert `html` from the `AppManifest` inside the specified DOM element. The resulting HTML will look like this after `registerApps` is called. Take note F2.js adds three class names to the apps' outermost element (`f2-app`, `f2-app-container`, and `com_example_app` for the `appId`). +F2 will insert `html` from the `AppManifest` inside the specified DOM element. The resulting HTML will look like this after `registerApps` is called. Take note F2.js adds three class names to the app's outermost element (`f2-app`, `f2-app-container`, and `com_example_app` for the `appId`). ```html
@@ -794,7 +794,7 @@ F2.Events.emit( ); ``` -The container would need to listen to your apps' broadcasted `F2.Constants.Events.APP_SYMBOL_CHANGE` event using code like this: +The container would need to listen to your app's broadcasted `F2.Constants.Events.APP_SYMBOL_CHANGE` event using code like this: ```javascript F2.Events.on( From 7ab06e18140a54e1d2f6345171e85bb0a5168929 Mon Sep 17 00:00:00 2001 From: markhealey Date: Mon, 17 Jun 2013 21:54:38 -0600 Subject: [PATCH 08/36] AppID lowercasing, fixing #103 --- docs/src/app-development.md | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/docs/src/app-development.md b/docs/src/app-development.md index 62273d44..d7f92dd3 100644 --- a/docs/src/app-development.md +++ b/docs/src/app-development.md @@ -185,6 +185,8 @@ F2_jsonpCallback_com_companyname_appname({ Let's break the App Manifest object down and look at each property (in reverse order to keep it fun). +Note The `AppID` created in the Developer Center and specified in the AppManifest will get automatically **lowercased** by F2 when [integrated on a container](container-development.html#app-integration). + ### Apps The `apps` property is an array of `AppContent` objects. Each `AppContent` object contains three properties: @@ -327,12 +329,11 @@ F2_jsonpCallback_com_companyname_appname({ }) ``` -Note You may have noticed the presence of the function name `F2_jsonpCallback_com_companyname_appname` on the first line of the example above. That function name is the callback and is explained in [App Manifest Response](#app-manifest-response). - +Note You may have noticed the presence of the function name `F2_jsonpCallback_com_companyname_appname` on the first line of the example above. That function name is the callback and is explained in [App Manifest Response](#app-manifest-response). ### App Manifest Response -OK, so you know about F2 apps and you're ready to write your own App Manifest. To go from zero to _something_, [download the F2 app starter zip](https://github.com/downloads/OpenF2/F2/Basic-F2-App-Template-1.0.4.zip). Once you have your `AppManifest` defined (or at least stubbed out), there's one important detail you need to know now—the App Manifest response format. +OK, so you know about F2 apps and you're ready to write your own App Manifest. To go from zero to _something_, [download the F2 app starter zip](http://docs.openf2.org/F2-examples.zip). Once you have your `AppManifest` defined (or at least stubbed out), there's one important detail you need to know now—the App Manifest response format. As part of F2, containers register apps—typically hosted on different domains—using JSONP. **This means F2 App Manifest files must provide a JSONP callback function.** (If you don't know what JSONP is or how it works, we recommend [reading what Remy Sharp has to say](http://remysharp.com/2007/10/08/what-is-jsonp/) about it.) @@ -357,9 +358,9 @@ F2_jsonpCallback_com_companyname_appname({ }) ``` -Note the JSONP callback function name will _not_ be passed from the container using a traditional querystring parameter (HTTP GET), so you must configure this correctly for your app to appear on a container. This means you have to hard-code it in your `appmanifest.js`. +Note The JSONP callback function name will _not_ be passed from the container using a traditional querystring parameter (HTTP GET), so you must configure this correctly for your app to appear on a container. This means you have to hard-code it in your `AppManifest`. -Required Don't forget you need an AppID before you can run your app on a container. [Get your AppID now »](https://developer.openf2.org/GetAppID) +Note The `AppID` created in the Developer Center will get automatically **lowercased** by F2 when [integrated on a container](container-development.html#app-integration). ### App HTML @@ -494,7 +495,7 @@ Of course, you don't have to use either one of these patterns in your `appclass.

In the absence of a function in your `appclass.js`, F2 will be unable to load your app on a container.

-If you don't want to think about any of this and would rather just start coding, [download the F2 app starter zip](https://github.com/downloads/OpenF2/F2/Basic-F2-App-Template-1.0.4.zip). +If you don't want to think about any of this and would rather just start coding, [download the F2 app starter zip](http://docs.openf2.org/F2-examples.zip). * * * * From e7a40f191ffb098269178da1e628c26989de0e74 Mon Sep 17 00:00:00 2001 From: markhealey Date: Mon, 17 Jun 2013 21:56:23 -0600 Subject: [PATCH 09/36] 1.2.1 --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 682710a4..83b182fe 100644 --- a/package.json +++ b/package.json @@ -45,6 +45,6 @@ "engines": { "node": ">=0.10" }, - "_releaseDate": "2013-06-12T19:09:30.946Z", - "_releaseDateFormatted": "12 June 2013" + "_releaseDate": "2013-06-18T03:56:01.910Z", + "_releaseDateFormatted": "17 June 2013" } \ No newline at end of file From 98979a7e1f5bf2778a996d9c46b8defadf21d31f Mon Sep 17 00:00:00 2001 From: markhealey Date: Thu, 20 Jun 2013 16:36:11 -0600 Subject: [PATCH 10/36] link fixes, minor docs changes --- docs/src/app-development.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/docs/src/app-development.md b/docs/src/app-development.md index d7f92dd3..101c6cb0 100644 --- a/docs/src/app-development.md +++ b/docs/src/app-development.md @@ -333,7 +333,7 @@ F2_jsonpCallback_com_companyname_appname({ ### App Manifest Response -OK, so you know about F2 apps and you're ready to write your own App Manifest. To go from zero to _something_, [download the F2 app starter zip](http://docs.openf2.org/F2-examples.zip). Once you have your `AppManifest` defined (or at least stubbed out), there's one important detail you need to know now—the App Manifest response format. +OK, so you know about F2 apps and you're ready to write your own App Manifest. To go from zero to _something_, [download the F2 examples](http://docs.openf2.org/F2-examples.zip). Once you have your `AppManifest` defined (or at least stubbed out), there's one important detail you need to know now—the App Manifest response format. As part of F2, containers register apps—typically hosted on different domains—using JSONP. **This means F2 App Manifest files must provide a JSONP callback function.** (If you don't know what JSONP is or how it works, we recommend [reading what Remy Sharp has to say](http://remysharp.com/2007/10/08/what-is-jsonp/) about it.) @@ -364,13 +364,13 @@ F2_jsonpCallback_com_companyname_appname({ ### App HTML -Every F2 app has HTML. The only catch is that the HTML isn't provided by the app itself but rather _passed to the container_ via the app's `AppManifest`. But that's not a problem because F2 has [provided examples](https://github.com/OpenF2/F2/tree/master/examples/apps) to show you the way. Here are the steps for getting your app HTML into your `AppContent.html` property: +While it isn't required, it's expected every F2 app has HTML. The only catch is that the HTML isn't provided by the app itself but rather passed to the container via the app's `AppManifest`. Here are the steps for getting your app HTML into your `AppContent.html` property: 1. Develop the web page or module or widget or component or portlet that will be your app. 2. Take all the contents of it—that is, the HTML—and encode it. _(This step is optional.)_ 3. Put the (optionally encoded) result in the `html` property of your `AppContent` object within your App Manifest file's `App` object. -**Huh?** Check out this example: +Wait, what? Check out this example below or [browse to example apps on GitHub](https://github.com/OpenF2/F2/tree/master/examples/apps): Step 1. @@ -400,9 +400,9 @@ Step 3. App Manifest file. #### Automatic Consistency -F2 uses and recommends [Twitter Bootstrap](http://twitter.github.com/bootstrap/) for Container and App Developers to benefit from a consistent HTML and CSS structure regardless of who developed the F2 component. This way, Container Developers can write CSS they _know_ will style F2 apps without engaging with the app developer to ensure compatability. +F2 uses and recommends [Bootstrap](http://twitter.github.io/bootstrap/) for Container and App Developers to benefit from a consistent HTML and CSS structure regardless of who developed the F2 component. This way, Container Developers can write CSS they _know_ will style F2 apps without engaging with the app developer to ensure compatability. -This also means App Developers must adhere to [Bootstrap's scaffolding guidelines](http://twitter.github.com/bootstrap/scaffolding.html) as defined on their website. +This also means App Developers must adhere to [Bootstrap's scaffolding guidelines](http://twitter.github.io/bootstrap/scaffolding.html) as defined on their website. An example two-column layout using Bootstrap-specifed markup: @@ -413,7 +413,7 @@ An example two-column layout using Bootstrap-specifed markup: ``` -The `.span4` and `.span8` provide two columns in the [12-column grid](http://twitter.github.com/bootstrap/scaffolding.html#gridSystem). +The `.span4` and `.span8` provide two columns in the [12-column grid](http://twitter.github.io/bootstrap/scaffolding.html#gridSystem). Note Read more about [Creating a Common Look and Feel with F2](index.html#container). @@ -488,14 +488,14 @@ F2.Apps["com_companyname_appname"] = function(appConfig, appContent, root) { #### Patterns, Eh -Of course, you don't have to use either one of these patterns in your `appclass.js` file. What you _do_ have to use is a `function`. That is to say the value assigned to `F2.Apps["com_companyname_appname"]` by your App Class code _must be a function_. Within F2's `registerApps()` method, the `new` operator is used which produces an object ([check out the code](https://github.com/OpenF2/F2/blob/master/sdk/f2.debug.js#L2893)). +Of course, you don't have to use either one of these patterns in your `appclass.js` file. What you _do_ have to use is a `function`. That is to say the value assigned to `F2.Apps["com_companyname_appname"]` by your App Class code _must be a function_. Within F2's `registerApps()` method, the `new` operator is used which produces an object and new instance of your app.
Important!

In the absence of a function in your `appclass.js`, F2 will be unable to load your app on a container.

-If you don't want to think about any of this and would rather just start coding, [download the F2 app starter zip](http://docs.openf2.org/F2-examples.zip). +If you don't want to think about any of this and would rather just start coding, [download the F2 examples](http://docs.openf2.org/F2-examples.zip). * * * * @@ -931,7 +931,7 @@ To update the title of an app in the app's chrome ([as defined by the container ### F2.UI.Modals -F2.js provides two methods in `F2.UI` for modal dialogs. F2 uses and recommends [Twitter Bootstrap](http://twitter.github.com/bootstrap/) for many reasons, and taking advantage of [Bootstrap's modals](http://twitter.github.com/bootstrap/javascript.html#modals) was an easy choice. +F2.js provides two methods in `F2.UI` for modal dialogs. F2 uses and recommends [Bootstrap](http://twitter.github.io/bootstrap/) for many reasons, and taking advantage of [Bootstrap's modals](http://twitter.github.io/bootstrap/javascript.html#modals) was an easy choice. For full details on F2.UI.Modals and the two types of modals (`alert` and `confirm`), [read the SDK docs](./sdk/classes/F2.UI.Modals.html). @@ -982,7 +982,7 @@ F2 apps can have one or more views. Every app will have at least one "home" view #### Setting Up Views -Once you've determined the views you'd like to include in your app, the view should be specified by applying the `F2.Constants.Css.APPVIEW` classname to the containing DOM Element. A `data-` attribute should be added to the element as well which defines what view type is represented. Twitter Bootstrap's `hide` class should be applied to views that are hidden on startup. +Once you've determined the views you'd like to include in your app, the view should be specified by applying the `F2.Constants.Css.APPVIEW` classname to the containing DOM Element. A `data-` attribute should be added to the element as well which defines what view type is represented. Bootstrap's `hide` class should be applied to views that are hidden on startup. To setup a single view in your app, use this HTML on your app's outermost element noting the use of the `f2-app-view` classname and the `data-f2-view` attribute. From c2c22fc44d12e960728e6c58076a5177d31121ce Mon Sep 17 00:00:00 2001 From: markhealey Date: Fri, 21 Jun 2013 12:03:51 -0600 Subject: [PATCH 11/36] createStyleSheet usage fixing #101 --- sdk/f2.debug.js | 17 +++++++++++++---- sdk/f2.min.js | 2 +- sdk/f2.min.map | 2 +- sdk/f2.no-third-party.js | 17 +++++++++++++---- sdk/src/container.js | 17 +++++++++++++---- 5 files changed, 41 insertions(+), 14 deletions(-) diff --git a/sdk/f2.debug.js b/sdk/f2.debug.js index 39119582..18092ed1 100644 --- a/sdk/f2.debug.js +++ b/sdk/f2.debug.js @@ -16026,12 +16026,21 @@ F2.extend('', (function(){ }); }; - // load styles - var stylesFragment = []; + // load styles, see #101 + var stylesFragment = null, + useCreateStyleSheet = !!document.createStyleSheet; jQuery.each(styles, function(i, e) { - stylesFragment.push(''); + if (useCreateStyleSheet) { + document.createStyleSheet(e); + } else { + stylesFragment = stylesFragment || []; + stylesFragment.push(''); + } }); - jQuery('head').append(stylesFragment.join('')); + + if (stylesFragment){ + jQuery('head').append(stylesFragment.join('')); + } // load html jQuery.each(appManifest.apps, function(i, a) { diff --git a/sdk/f2.min.js b/sdk/f2.min.js index 8eca7923..126a134d 100644 --- a/sdk/f2.min.js +++ b/sdk/f2.min.js @@ -116,5 +116,5 @@ function(e,t,n,r,o,i){function a(e,t){var n=typeof e[t];return"function"==n||!(" * in the terms and conditions related to the specific Third Party Material, if any. * */ -var F2;F2=function(){var e=function(e,n){function r(e){var t=[];return e.replace(/^(\.\.?(\/|$))+/,"").replace(/\/(\.(\/|$))+/g,"/").replace(/\/\.\.$/,"/../").replace(/\/?[^\/]*/g,function(e){"/.."===e?t.pop():t.push(e)}),t.join("").replace(/^\//,"/"===e.charAt(0)?"/":"")}return n=t(n||""),e=t(e||""),n&&e?(n.protocol||e.protocol)+(n.protocol||n.authority?n.authority:e.authority)+r(n.protocol||n.authority||"/"===n.pathname.charAt(0)?n.pathname:n.pathname?(e.authority&&!e.pathname?"/":"")+e.pathname.slice(0,e.pathname.lastIndexOf("/")+1)+n.pathname:e.pathname)+(n.protocol||n.authority||n.pathname?n.search:n.search||e.search)+n.hash:null},t=function(e){var t=(e+"").replace(/^\s+|\s+$/g,"").match(/^([^:\/?#]+:)?(\/\/(?:[^:@]*(?::[^:@]*)?@)?(([^:\/?#]*)(?::(\d*))?))?([^?#]*)(\?[^#]*)?(#[\s\S]*)?/);return t?{href:t[0]||"",protocol:t[1]||"",authority:t[2]||"",host:t[3]||"",hostname:t[4]||"",port:t[5]||"",pathname:t[6]||"",search:t[7]||"",hash:t[8]||""}:null};return{appConfigReplacer:function(e,t){return"root"==e||"ui"==e||"height"==e?void 0:t},Apps:{},extend:function(e,t,n){var r="function"==typeof t,o=e?e.split("."):[],i=this;t=t||{},"F2"===o[0]&&(o=o.slice(1));for(var a=0,s=o.length;s>a;a++)i[o[a]]||(i[o[a]]=r&&a+1==s?t:{}),i=i[o[a]];if(!r)for(var l in t)(i[l]===void 0||n)&&(i[l]=t[l]);return i},guid:function(){var e=function(){return(0|65536*(1+Math.random())).toString(16).substring(1)};return e()+e()+"-"+e()+"-"+e()+"-"+e()+"-"+e()+e()+e()},inArray:function(e,t){return jQuery.inArray(e,t)>-1},isLocalRequest:function(t){var n,r,o=/^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,i=t.toLowerCase(),a=o.exec(i);try{n=location.href}catch(s){n=document.createElement("a"),n.href="",n=n.href}n=n.toLowerCase(),a||(i=e(n,i).toLowerCase(),a=o.exec(i)),r=o.exec(n)||[];var l=!(a&&(a[1]!==r[1]||a[2]!==r[2]||(a[3]||("http:"===a[1]?"80":"443"))!==(r[3]||("http:"===r[1]?"80":"443"))));return l},isNativeDOMNode:function(e){var t="object"==typeof Node?e instanceof Node:e&&"object"==typeof e&&"number"==typeof e.nodeType&&"string"==typeof e.nodeName,n="object"==typeof HTMLElement?e instanceof HTMLElement:e&&"object"==typeof e&&1===e.nodeType&&"string"==typeof e.nodeName;return t||n},log:function(){window.console&&window.console.log&&console.log([].slice.call(arguments))},parse:function(e){return JSON.parse(e)},stringify:function(e,t,n){return JSON.stringify(e,t,n)},version:function(){return"{{sdk.version}}"}}}(),F2.extend("AppHandlers",function(){var e=F2.guid(),t=F2.guid(),n={appCreateRoot:[],appRenderBefore:[],appDestroyBefore:[],appRenderAfter:[],appDestroyAfter:[],appRender:[],appDestroy:[]},r={appRender:function(e,t){var n=null;F2.isNativeDOMNode(e.root)?(n=jQuery(e.root),n.append(t)):(e.root=jQuery(t).get(0),n=jQuery(e.root)),jQuery("body").append(n)},appDestroy:function(e){e&&e.app&&e.app.destroy&&"function"==typeof e.app.destroy?e.app.destroy():e&&e.app&&e.app.destroy&&F2.log(e.config.appId+" has a destroy property, but destroy is not of type function and as such will not be executed."),jQuery(e.config.root).fadeOut(500,function(){jQuery(this).remove()})}},o=function(e,t,n,r){i(e);var o={func:n,namespace:t,domNode:F2.isNativeDOMNode(n)?n:null};if(!o.func&&!o.domNode)throw"Invalid or null argument passed. Handler will not be added to collection. A valid dom element or callback function is required.";if(o.domNode&&!r)throw"Invalid argument passed. Handler will not be added to collection. A callback function is required for this event type.";return o},i=function(n){if(e!=n&&t!=n)throw"Invalid token passed. Please verify that you have correctly received and stored token from F2.AppHandlers.getToken()."},a=function(e,t,r){if(i(e),r||t)if(!r&&t)n[t]=[];else if(r&&!t){r=r.toLowerCase();for(var o in n){for(var a=n[o],s=[],l=0,c=a.length;c>l;l++){var u=a[l];u&&(u.namespace&&u.namespace.toLowerCase()==r||s.push(u))}a=s}}else if(r&&n[t]){r=r.toLowerCase();for(var p=[],f=0,d=n[t].length;d>f;f++){var h=n[t][f];h&&(h.namespace&&h.namespace.toLowerCase()==r||p.push(h))}n[t]=p}};return{getToken:function(){return delete this.getToken,e},__f2GetToken:function(){return delete this.__f2GetToken,t},__trigger:function(e,o){if(e!=t)throw"Token passed is invalid. Only F2 is allowed to call F2.AppHandlers.__trigger().";if(!n||!n[o])throw"Invalid EventKey passed. Check your inputs and try again.";for(var i=[],a=2,s=arguments.length;s>a;a++)i.push(arguments[a]);if(0===n[o].length&&r[o])return r[o].apply(F2,i),this;if(0===n[o].length&&!n[o])return this;for(var l=0,c=n[o].length;c>l;l++){var u=n[o][l];if(u.domNode&&arguments[2]&&arguments[2].root&&arguments[3]){var p=jQuery(arguments[2].root).append(arguments[3]);jQuery(u.domNode).append(p)}else u.domNode&&arguments[2]&&!arguments[2].root&&arguments[3]?(arguments[2].root=jQuery(arguments[3]).get(0),jQuery(u.domNode).append(arguments[2].root)):u.func.apply(F2,i)}return this},on:function(e,t,r){var i=null;if(!t)throw"eventKey must be of type string and not null. For available appHandlers check F2.Constants.AppHandlers.";if(t.indexOf(".")>-1){var a=t.split(".");t=a[0],i=a[1]}if(!n||!n[t])throw"Invalid EventKey passed. Check your inputs and try again.";return n[t].push(o(e,i,r,"appRender"==t)),this},off:function(e,t){var r=null;if(!t)throw"eventKey must be of type string and not null. For available appHandlers check F2.Constants.AppHandlers.";if(t.indexOf(".")>-1){var o=t.split(".");t=o[0],r=o[1]}if(!n||!n[t])throw"Invalid EventKey passed. Check your inputs and try again.";return a(e,t,r),this}}}()),F2.extend("Constants",{AppHandlers:function(){return{APP_CREATE_ROOT:"appCreateRoot",APP_RENDER_BEFORE:"appRenderBefore",APP_RENDER:"appRender",APP_RENDER_AFTER:"appRenderAfter",APP_DESTROY_BEFORE:"appDestroyBefore",APP_DESTROY:"appDestroy",APP_DESTROY_AFTER:"appDestroyAfter"}}()}),F2.extend("",{App:function(){return{init:function(){}}},AppConfig:{appId:"",context:{},enableBatchRequests:!1,height:0,instanceId:"",isSecure:!1,manifestUrl:"",maxWidth:0,minGridSize:4,minWidth:300,name:"",root:void 0,ui:void 0,views:[]},AppManifest:{apps:[],inlineScripts:[],scripts:[],styles:[]},AppContent:{data:{},html:"",status:""},ContainerConfig:{afterAppRender:function(){},appRender:function(){},beforeAppRender:function(){},isSecureAppPage:!1,secureAppPagePath:"",supportedViews:[],UI:{Mask:{backgroundColor:"#FFF",loadingIcon:"",opacity:.6,useClasses:!1,zIndex:2}},xhr:{dataType:function(){},type:function(){},url:function(){}}}}),F2.extend("Constants",{Css:function(){var e="f2-";return{APP:e+"app",APP_CONTAINER:e+"app-container",APP_TITLE:e+"app-title",APP_VIEW:e+"app-view",APP_VIEW_TRIGGER:e+"app-view-trigger",MASK:e+"mask",MASK_CONTAINER:e+"mask-container"}}(),Events:function(){var e="App.",t="Container.";return{APP_SYMBOL_CHANGE:e+"symbolChange",APP_WIDTH_CHANGE:e+"widthChange.",CONTAINER_SYMBOL_CHANGE:t+"symbolChange",CONTAINER_WIDTH_CHANGE:t+"widthChange"}}(),JSONP_CALLBACK:"F2_jsonpCallback_",Sockets:{EVENT:"__event__",LOAD:"__socketLoad__",RPC:"__rpc__",RPC_CALLBACK:"__rpcCallback__",UI_RPC:"__uiRpc__"},Views:{DATA_ATTRIBUTE:"data-f2-view",ABOUT:"about",HELP:"help",HOME:"home",REMOVE:"remove",SETTINGS:"settings"}}),F2.extend("Events",function(){var e=new EventEmitter2({wildcard:!0});return e.setMaxListeners(0),{_socketEmit:function(){return EventEmitter2.prototype.emit.apply(e,[].slice.call(arguments))},emit:function(){return F2.Rpc.broadcast(F2.Constants.Sockets.EVENT,[].slice.call(arguments)),EventEmitter2.prototype.emit.apply(e,[].slice.call(arguments))},many:function(t,n,r){return e.many(t,n,r)},off:function(t,n){return e.off(t,n)},on:function(t,n){return e.on(t,n)},once:function(t,n){return e.once(t,n)}}}()),F2.extend("Rpc",function(){var e={},t="",n={},r=RegExp("^"+F2.Constants.Sockets.EVENT),o=RegExp("^"+F2.Constants.Sockets.RPC),i=RegExp("^"+F2.Constants.Sockets.RPC_CALLBACK),a=RegExp("^"+F2.Constants.Sockets.LOAD),s=RegExp("^"+F2.Constants.Sockets.UI_RPC),l=function(){var e,t=!1,r=[],o=new easyXDM.Socket({onMessage:function(i,s){if(!t&&a.test(i)){i=i.replace(a,"");var l=F2.parse(i);2==l.length&&(e=l[0],n[e.instanceId]={config:e,socket:o},F2.registerApps([e],[l[1]]),jQuery.each(r,function(){p(e,i,s)}),t=!0)}else t?p(e,i,s):r.push(i)}})},c=function(e,n){var r=jQuery(e.root);if(r.is("."+F2.Constants.Css.APP_CONTAINER)||r.find("."+F2.Constants.Css.APP_CONTAINER),!r.length)return F2.log("Unable to locate app in order to establish secure connection."),void 0;var o={scrolling:"no",style:{width:"100%"}};e.height&&(o.style.height=e.height+"px");var i=new easyXDM.Socket({remote:t,container:r.get(0),props:o,onMessage:function(t,n){p(e,t,n)},onReady:function(){i.postMessage(F2.Constants.Sockets.LOAD+F2.stringify([e,n],F2.appConfigReplacer))}});return i},u=function(e,t){return function(){F2.Rpc.call(e,F2.Constants.Sockets.RPC_CALLBACK,t,[].slice.call(arguments).slice(2))}},p=function(t,n){function a(e,t){for(var n=(t+"").split("."),r=0;n.length>r;r++){if(void 0===e[n[r]]){e=void 0;break}e=e[n[r]]}return e}function l(e,t,n){var r=F2.parse(t.replace(e,""));return r.params&&r.params.length&&r.callbacks&&r.callbacks.length&&jQuery.each(r.callbacks,function(e,t){jQuery.each(r.params,function(e,o){t==o&&(r.params[e]=u(n,t))})}),r}var c,p;s.test(n)?(c=l(s,n,t.instanceId),p=a(t.ui,c.functionName),void 0!==p?p.apply(t.ui,c.params):F2.log("Unable to locate UI RPC function: "+c.functionName)):o.test(n)?(c=l(o,n,t.instanceId),p=a(window,c.functionName),void 0!==p?p.apply(p,c.params):F2.log("Unable to locate RPC function: "+c.functionName)):i.test(n)?(c=l(i,n,t.instanceId),void 0!==e[c.functionName]&&(e[c.functionName].apply(e[c.functionName],c.params),delete e[c.functionName])):r.test(n)&&(c=l(r,n,t.instanceId),F2.Events._socketEmit.apply(F2.Events,c))},f=function(t){var n=F2.guid();return e[n]=t,n};return{broadcast:function(e,t){var r=e+F2.stringify(t);jQuery.each(n,function(e,t){t.socket.postMessage(r)})},call:function(e,t,r,o){var i=[];jQuery.each(o,function(e,t){if("function"==typeof t){var n=f(t);o[e]=n,i.push(n)}}),n[e].socket.postMessage(t+F2.stringify({functionName:r,params:o,callbacks:i}))},init:function(e){t=e,t||l()},isRemote:function(e){return void 0!==n[e]&&n[e].config.isSecure&&0===jQuery(n[e].config.root).find("iframe").length},register:function(e,t){e&&t?n[e.instanceId]={config:e,socket:c(e,t)}:F2.log("Unable to register socket connection. Please check container configuration.")}}}()),F2.extend("UI",function(){var e,t=function(e){var t=e,n=jQuery(e.root),r=function(e){e=e||jQuery(t.root).outerHeight(),F2.Rpc.isRemote(t.instanceId)?F2.Rpc.call(t.instanceId,F2.Constants.Sockets.UI_RPC,"updateHeight",[e]):(t.height=e,n.find("iframe").height(t.height))};return{hideMask:function(e){F2.UI.hideMask(t.instanceId,e)},Modals:function(){var e=function(e){return['"].join("")},n=function(e){return['"].join("")};return{alert:function(n,r){return F2.isInit()?(F2.Rpc.isRemote(t.instanceId)?F2.Rpc.call(t.instanceId,F2.Constants.Sockets.UI_RPC,"Modals.alert",[].slice.call(arguments)):jQuery(e(n)).on("show",function(){var e=this;jQuery(e).find(".btn-primary").on("click",function(){jQuery(e).modal("hide").remove(),(r||jQuery.noop)()})}).modal({backdrop:!0}),void 0):(F2.log("F2.init() must be called before F2.UI.Modals.alert()"),void 0)},confirm:function(e,r,o){return F2.isInit()?(F2.Rpc.isRemote(t.instanceId)?F2.Rpc.call(t.instanceId,F2.Constants.Sockets.UI_RPC,"Modals.confirm",[].slice.call(arguments)):jQuery(n(e)).on("show",function(){var e=this;jQuery(e).find(".btn-ok").on("click",function(){jQuery(e).modal("hide").remove(),(r||jQuery.noop)()}),jQuery(e).find(".btn-cancel").on("click",function(){jQuery(e).modal("hide").remove(),(o||jQuery.noop)()})}).modal({backdrop:!0}),void 0):(F2.log("F2.init() must be called before F2.UI.Modals.confirm()"),void 0)}}}(),setTitle:function(e){F2.Rpc.isRemote(t.instanceId)?F2.Rpc.call(t.instanceId,F2.Constants.Sockets.UI_RPC,"setTitle",[e]):jQuery(t.root).find("."+F2.Constants.Css.APP_TITLE).text(e)},showMask:function(e,n){F2.UI.showMask(t.instanceId,e,n)},updateHeight:r,Views:function(){var e=new EventEmitter2,o=/change/i;e.setMaxListeners(0);var i=function(e){return o.test(e)?!0:(F2.log('"'+e+'" is not a valid F2.UI.Views event name'),!1)};return{change:function(o){"function"==typeof o?this.on("change",o):"string"==typeof o&&(t.isSecure&&!F2.Rpc.isRemote(t.instanceId)?F2.Rpc.call(t.instanceId,F2.Constants.Sockets.UI_RPC,"Views.change",[].slice.call(arguments)):F2.inArray(o,t.views)&&(jQuery("."+F2.Constants.Css.APP_VIEW,n).addClass("hide").filter('[data-f2-view="'+o+'"]',n).removeClass("hide"),r(),e.emit("change",o)))},off:function(t,n){i(t)&&e.off(t,n)},on:function(t,n){i(t)&&e.on(t,n)}}}()}};return t.hideMask=function(e,t){if(!F2.isInit())return F2.log("F2.init() must be called before F2.UI.hideMask()"),void 0;if(F2.Rpc.isRemote(e)&&!jQuery(t).is("."+F2.Constants.Css.APP))F2.Rpc.call(e,F2.Constants.Sockets.RPC,"F2.UI.hideMask",[e,jQuery(t).selector]);else{var n=jQuery(t);n.find("> ."+F2.Constants.Css.MASK).remove(),n.removeClass(F2.Constants.Css.MASK_CONTAINER),n.data(F2.Constants.Css.MASK_CONTAINER)&&n.css({position:"static"})}},t.init=function(t){e=t,e.UI=jQuery.extend(!0,{},F2.ContainerConfig.UI,e.UI||{})},t.showMask=function(t,n,r){if(!F2.isInit())return F2.log("F2.init() must be called before F2.UI.showMask()"),void 0;if(F2.Rpc.isRemote(t)&&jQuery(n).is("."+F2.Constants.Css.APP))F2.Rpc.call(t,F2.Constants.Sockets.RPC,"F2.UI.showMask",[t,jQuery(n).selector,r]);else{r&&!e.UI.Mask.loadingIcon&&F2.log("Unable to display loading icon. Please set F2.ContainerConfig.UI.Mask.loadingIcon when calling F2.init();");var o=jQuery(n).addClass(F2.Constants.Css.MASK_CONTAINER),i=jQuery("
").height("100%").width("100%").addClass(F2.Constants.Css.MASK);e.UI.Mask.useClasses||i.css({"background-color":e.UI.Mask.backgroundColor,"background-image":e.UI.Mask.loadingIcon?"url("+e.UI.Mask.loadingIcon+")":"","background-position":"50% 50%","background-repeat":"no-repeat",display:"block",left:0,"min-height":30,padding:0,position:"absolute",top:0,"z-index":e.UI.Mask.zIndex,filter:"alpha(opacity="+100*e.UI.Mask.opacity+")",opacity:e.UI.Mask.opacity}),"static"===o.css("position")&&(o.css({position:"relative"}),o.data(F2.Constants.Css.MASK_CONTAINER,!0)),o.append(i)}},t}()),F2.extend("",function(){var _apps={},_config=!1,_bUsesAppHandlers=!1,_sAppHandlerToken=F2.AppHandlers.__f2GetToken(),_afterAppRender=function(e,t){var n=_config.afterAppRender||function(e,t){return jQuery(t).appendTo("body")},r=n(e,t);return _config.afterAppRender&&!r?(F2.log("F2.ContainerConfig.afterAppRender() must return the DOM Element that contains the app"),void 0):(jQuery(r).addClass(F2.Constants.Css.APP),r.get(0))},_appRender=function(e,t){return t=_outerHtml(jQuery(t).addClass(F2.Constants.Css.APP_CONTAINER+" "+e.appId)),_config.appRender&&(t=_config.appRender(e,t)),_outerHtml(t)},_beforeAppRender=function(e){var t=_config.beforeAppRender||jQuery.noop;return t(e)},_hydrateAppConfig=function(e){e.instanceId=e.instanceId||F2.guid(),e.views=e.views||[],F2.inArray(F2.Constants.Views.HOME,e.views)||e.views.push(F2.Constants.Views.HOME)},_initAppEvents=function(e){jQuery(e.root).on("click","."+F2.Constants.Css.APP_VIEW_TRIGGER+"["+F2.Constants.Views.DATA_ATTRIBUTE+"]",function(t){t.preventDefault();var n=jQuery(this).attr(F2.Constants.Views.DATA_ATTRIBUTE).toLowerCase();n==F2.Constants.Views.REMOVE?F2.removeApp(e.instanceId):e.ui.Views.change(n)})},_initContainerEvents=function(){var e,t=function(){F2.Events.emit(F2.Constants.Events.CONTAINER_WIDTH_CHANGE)};jQuery(window).on("resize",function(){clearTimeout(e),e=setTimeout(t,100)})},_isInit=function(){return!!_config},_createAppInstance=function(e,t){e.ui=new F2.UI(e),void 0!==F2.Apps[e.appId]&&("function"==typeof F2.Apps[e.appId]?setTimeout(function(){_apps[e.instanceId].app=new F2.Apps[e.appId](e,t,e.root),void 0!==_apps[e.instanceId].app.init&&_apps[e.instanceId].app.init()},0):F2.log("app initialization class is defined but not a function. ("+e.appId+")"))},_loadApps=function(appConfigs,appManifest){if(appConfigs=[].concat(appConfigs),1==appConfigs.length&&appConfigs[0].isSecure&&!_config.isSecureAppPage)return _loadSecureApp(appConfigs[0],appManifest),void 0;if(appConfigs.length!=appManifest.apps.length)return F2.log("The number of apps defined in the AppManifest do not match the number requested.",appManifest),void 0;var scripts=appManifest.scripts||[],styles=appManifest.styles||[],inlines=appManifest.inlineScripts||[],scriptCount=scripts.length,scriptsLoaded=0,appInit=function(){jQuery.each(appConfigs,function(e,t){_createAppInstance(t,appManifest.apps[e])})},evalInlines=function(){jQuery.each(inlines,function(i,e){try{eval(e)}catch(exception){F2.log("Error loading inline script: "+exception+"\n\n"+e)}})},stylesFragment=[];jQuery.each(styles,function(e,t){stylesFragment.push('')}),jQuery("head").append(stylesFragment.join("")),jQuery.each(appManifest.apps,function(e,t){if(_bUsesAppHandlers){F2.AppHandlers.__trigger(_sAppHandlerToken,F2.Constants.AppHandlers.APP_RENDER,appConfigs[e],_outerHtml(t.html));var n=appConfigs[e].appId;if(!appConfigs[e].root)throw"Root for "+n+" must be a native DOM element and cannot be null or undefined. Check your AppHandler callbacks to ensure you have set App root to a native DOM element.";var r=jQuery(appConfigs[e].root);if(0===r.parents("body:first").length)throw"App root for "+n+" was not appended to the DOM. Check your AppHandler callbacks to ensure you have rendered the app root to the DOM.";if(F2.AppHandlers.__trigger(_sAppHandlerToken,F2.Constants.AppHandlers.APP_RENDER_AFTER,appConfigs[e]),!F2.isNativeDOMNode(appConfigs[e].root))throw"App root for "+n+" must be a native DOM element. Check your AppHandler callbacks to ensure you have set app root to a native DOM element.";r.addClass(F2.Constants.Css.APP_CONTAINER+" "+n)}else appConfigs[e].root=_afterAppRender(appConfigs[e],_appRender(appConfigs[e],t.html));_initAppEvents(appConfigs[e])}),jQuery.each(scripts,function(e,t){jQuery.ajax({url:t,cache:!0,async:!1,dataType:"script",type:"GET",success:function(){++scriptsLoaded==scriptCount&&(evalInlines(),appInit())},error:function(e,n,r){F2.log(["Failed to load script ("+t+")",""+r])}})}),scriptCount||(evalInlines(),appInit())},_loadSecureApp=function(e,t){if(_config.secureAppPagePath){if(_bUsesAppHandlers){var n=jQuery(e.root);if(F2.AppHandlers.__trigger(_sAppHandlerToken,F2.Constants.AppHandlers.APP_RENDER,e,t.html),0===n.parents("body:first").length)throw"App was never rendered on the page. Please check your AppHandler callbacks to ensure you have rendered the app root to the DOM.";if(F2.AppHandlers.__trigger(_sAppHandlerToken,F2.Constants.AppHandlers.APP_RENDER_AFTER,e),!e.root)throw"App Root must be a native dom node and can not be null or undefined. Please check your AppHandler callbacks to ensure you have set App Root to a native dom node.";if(!F2.isNativeDOMNode(e.root))throw"App Root must be a native dom node. Please check your AppHandler callbacks to ensure you have set App Root to a native dom node.";jQuery(e.root).addClass(F2.Constants.Css.APP_CONTAINER+" "+e.appId)}else e.root=_afterAppRender(e,_appRender(e,"
"));e.ui=new F2.UI(e),_initAppEvents(e),F2.Rpc.register(e,t)}else F2.log('Unable to load secure app: "secureAppPagePath" is not defined in F2.ContainerConfig.')},_outerHtml=function(e){return jQuery("
").append(e).html()},_validateApp=function(e){return e.appId?e.root||e.manifestUrl?!0:(F2.log('"manifestUrl" missing from app object'),!1):(F2.log('"appId" missing from app object'),!1)},_validateContainerConfig=function(){if(_config&&_config.xhr){if("function"!=typeof _config.xhr&&"object"!=typeof _config.xhr)throw"ContainerConfig.xhr should be a function or an object";if(_config.xhr.dataType&&"function"!=typeof _config.xhr.dataType)throw"ContainerConfig.xhr.dataType should be a function";if(_config.xhr.type&&"function"!=typeof _config.xhr.type)throw"ContainerConfig.xhr.type should be a function";if(_config.xhr.url&&"function"!=typeof _config.xhr.url)throw"ContainerConfig.xhr.url should be a function"}return!0};return{getContainerState:function(){return _isInit()?jQuery.map(_apps,function(e){return{appId:e.config.appId}}):(F2.log("F2.init() must be called before F2.getContainerState()"),void 0)},init:function(e){_config=e||{},_validateContainerConfig(),_bUsesAppHandlers=!_config.beforeAppRender&&!_config.appRender&&!_config.afterAppRender,(_config.secureAppPagePath||_config.isSecureAppPage)&&F2.Rpc.init(_config.secureAppPagePath?_config.secureAppPagePath:!1),F2.UI.init(_config),_config.isSecureAppPage||_initContainerEvents()},isInit:_isInit,registerApps:function(e,t){if(!_isInit())return F2.log("F2.init() must be called before F2.registerApps()"),void 0;if(!e)return F2.log("At least one AppConfig must be passed when calling F2.registerApps()"),void 0;var n=[],r={},o={},i=!1;return e=[].concat(e),t=[].concat(t||[]),i=!!t.length,e.length?e.length&&i&&e.length!=t.length?(F2.log('The length of "apps" does not equal the length of "appManifests"'),void 0):(jQuery.each(e,function(e,o){if(_hydrateAppConfig(o),o.root=o.root||null,_validateApp(o)){if(_apps[o.instanceId]={config:o},o.root){if(!o.root&&"string"!=typeof o.root&&!F2.isNativeDOMNode(o.root))throw F2.log("AppConfig invalid for pre-load, not a valid string and not dom node"),F2.log("AppConfig instance:",o),"Preloaded appConfig.root property must be a native dom node or a string representing a sizzle selector. Please check your inputs and try again.";if(1!=jQuery(o.root).length)throw F2.log("AppConfig invalid for pre-load, root not unique"),F2.log("AppConfig instance:",o),F2.log("Number of dom node instances:",jQuery(o.root).length),"Preloaded appConfig.root property must map to a unique dom node. Please check your inputs and try again.";return _createAppInstance(o),_initAppEvents(o),void 0}_bUsesAppHandlers?(F2.AppHandlers.__trigger(_sAppHandlerToken,F2.Constants.AppHandlers.APP_CREATE_ROOT,o),F2.AppHandlers.__trigger(_sAppHandlerToken,F2.Constants.AppHandlers.APP_RENDER_BEFORE,o)):o.root=_beforeAppRender(o),i?_loadApps(o,t[e]):o.enableBatchRequests&&!o.isSecure?(r[o.manifestUrl.toLowerCase()]=r[o.manifestUrl.toLowerCase()]||[],r[o.manifestUrl.toLowerCase()].push(o)):n.push({apps:[o],url:o.manifestUrl})}}),i||(jQuery.each(r,function(e,t){n.push({url:e,apps:t})}),jQuery.each(n,function(e,t){var n=F2.Constants.JSONP_CALLBACK+t.apps[0].appId;o[n]=o[n]||[],o[n].push(t)}),jQuery.each(o,function(e,t){var n=function(r,o){if(o){var i=o.url,a="GET",s="jsonp",l=function(){n(e,t.pop())},c=function(){jQuery.each(o.apps,function(e,t){F2.log("Removed failed "+t.name+" app",t),F2.removeApp(t.instanceId)})},u=function(e){_loadApps(o.apps,e)};if(_config.xhr&&_config.xhr.dataType&&(s=_config.xhr.dataType(o.url,o.apps),"string"!=typeof s))throw"ContainerConfig.xhr.dataType should return a string";if(_config.xhr&&_config.xhr.type&&(a=_config.xhr.type(o.url,o.apps),"string"!=typeof a))throw"ContainerConfig.xhr.type should return a string";if(_config.xhr&&_config.xhr.url&&(i=_config.xhr.url(o.url,o.apps),"string"!=typeof i))throw"ContainerConfig.xhr.url should return a string";var p=_config.xhr;"function"!=typeof p&&(p=function(e,t,n,i,l){jQuery.ajax({url:e,type:a,data:{params:F2.stringify(o.apps,F2.appConfigReplacer)},jsonp:!1,jsonpCallback:r,dataType:s,success:n,error:function(e,t,n){F2.log("Failed to load app(s)",""+n,o.apps),i()},complete:l})}),p(i,o.apps,u,c,l)}};n(e,t.pop())})),void 0):(F2.log("At least one AppConfig must be passed when calling F2.registerApps()"),void 0)},removeAllApps:function(){return _isInit()?(jQuery.each(_apps,function(e,t){F2.removeApp(t.config.instanceId)}),void 0):(F2.log("F2.init() must be called before F2.removeAllApps()"),void 0)},removeApp:function(e){return _isInit()?(_apps[e]&&(F2.AppHandlers.__trigger(_sAppHandlerToken,F2.Constants.AppHandlers.APP_DESTROY_BEFORE,_apps[e]),F2.AppHandlers.__trigger(_sAppHandlerToken,F2.Constants.AppHandlers.APP_DESTROY,_apps[e]),F2.AppHandlers.__trigger(_sAppHandlerToken,F2.Constants.AppHandlers.APP_DESTROY_AFTER,_apps[e]),delete _apps[e]),void 0):(F2.log("F2.init() must be called before F2.removeApp()"),void 0)}}}()),exports.F2=F2,"undefined"!=typeof define&&define.amd&&define(function(){return F2})}})("undefined"!=typeof exports?exports:window); +var F2;F2=function(){var e=function(e,n){function r(e){var t=[];return e.replace(/^(\.\.?(\/|$))+/,"").replace(/\/(\.(\/|$))+/g,"/").replace(/\/\.\.$/,"/../").replace(/\/?[^\/]*/g,function(e){"/.."===e?t.pop():t.push(e)}),t.join("").replace(/^\//,"/"===e.charAt(0)?"/":"")}return n=t(n||""),e=t(e||""),n&&e?(n.protocol||e.protocol)+(n.protocol||n.authority?n.authority:e.authority)+r(n.protocol||n.authority||"/"===n.pathname.charAt(0)?n.pathname:n.pathname?(e.authority&&!e.pathname?"/":"")+e.pathname.slice(0,e.pathname.lastIndexOf("/")+1)+n.pathname:e.pathname)+(n.protocol||n.authority||n.pathname?n.search:n.search||e.search)+n.hash:null},t=function(e){var t=(e+"").replace(/^\s+|\s+$/g,"").match(/^([^:\/?#]+:)?(\/\/(?:[^:@]*(?::[^:@]*)?@)?(([^:\/?#]*)(?::(\d*))?))?([^?#]*)(\?[^#]*)?(#[\s\S]*)?/);return t?{href:t[0]||"",protocol:t[1]||"",authority:t[2]||"",host:t[3]||"",hostname:t[4]||"",port:t[5]||"",pathname:t[6]||"",search:t[7]||"",hash:t[8]||""}:null};return{appConfigReplacer:function(e,t){return"root"==e||"ui"==e||"height"==e?void 0:t},Apps:{},extend:function(e,t,n){var r="function"==typeof t,o=e?e.split("."):[],i=this;t=t||{},"F2"===o[0]&&(o=o.slice(1));for(var a=0,s=o.length;s>a;a++)i[o[a]]||(i[o[a]]=r&&a+1==s?t:{}),i=i[o[a]];if(!r)for(var l in t)(i[l]===void 0||n)&&(i[l]=t[l]);return i},guid:function(){var e=function(){return(0|65536*(1+Math.random())).toString(16).substring(1)};return e()+e()+"-"+e()+"-"+e()+"-"+e()+"-"+e()+e()+e()},inArray:function(e,t){return jQuery.inArray(e,t)>-1},isLocalRequest:function(t){var n,r,o=/^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,i=t.toLowerCase(),a=o.exec(i);try{n=location.href}catch(s){n=document.createElement("a"),n.href="",n=n.href}n=n.toLowerCase(),a||(i=e(n,i).toLowerCase(),a=o.exec(i)),r=o.exec(n)||[];var l=!(a&&(a[1]!==r[1]||a[2]!==r[2]||(a[3]||("http:"===a[1]?"80":"443"))!==(r[3]||("http:"===r[1]?"80":"443"))));return l},isNativeDOMNode:function(e){var t="object"==typeof Node?e instanceof Node:e&&"object"==typeof e&&"number"==typeof e.nodeType&&"string"==typeof e.nodeName,n="object"==typeof HTMLElement?e instanceof HTMLElement:e&&"object"==typeof e&&1===e.nodeType&&"string"==typeof e.nodeName;return t||n},log:function(){window.console&&window.console.log&&console.log([].slice.call(arguments))},parse:function(e){return JSON.parse(e)},stringify:function(e,t,n){return JSON.stringify(e,t,n)},version:function(){return"{{sdk.version}}"}}}(),F2.extend("AppHandlers",function(){var e=F2.guid(),t=F2.guid(),n={appCreateRoot:[],appRenderBefore:[],appDestroyBefore:[],appRenderAfter:[],appDestroyAfter:[],appRender:[],appDestroy:[]},r={appRender:function(e,t){var n=null;F2.isNativeDOMNode(e.root)?(n=jQuery(e.root),n.append(t)):(e.root=jQuery(t).get(0),n=jQuery(e.root)),jQuery("body").append(n)},appDestroy:function(e){e&&e.app&&e.app.destroy&&"function"==typeof e.app.destroy?e.app.destroy():e&&e.app&&e.app.destroy&&F2.log(e.config.appId+" has a destroy property, but destroy is not of type function and as such will not be executed."),jQuery(e.config.root).fadeOut(500,function(){jQuery(this).remove()})}},o=function(e,t,n,r){i(e);var o={func:n,namespace:t,domNode:F2.isNativeDOMNode(n)?n:null};if(!o.func&&!o.domNode)throw"Invalid or null argument passed. Handler will not be added to collection. A valid dom element or callback function is required.";if(o.domNode&&!r)throw"Invalid argument passed. Handler will not be added to collection. A callback function is required for this event type.";return o},i=function(n){if(e!=n&&t!=n)throw"Invalid token passed. Please verify that you have correctly received and stored token from F2.AppHandlers.getToken()."},a=function(e,t,r){if(i(e),r||t)if(!r&&t)n[t]=[];else if(r&&!t){r=r.toLowerCase();for(var o in n){for(var a=n[o],s=[],l=0,c=a.length;c>l;l++){var u=a[l];u&&(u.namespace&&u.namespace.toLowerCase()==r||s.push(u))}a=s}}else if(r&&n[t]){r=r.toLowerCase();for(var p=[],f=0,d=n[t].length;d>f;f++){var h=n[t][f];h&&(h.namespace&&h.namespace.toLowerCase()==r||p.push(h))}n[t]=p}};return{getToken:function(){return delete this.getToken,e},__f2GetToken:function(){return delete this.__f2GetToken,t},__trigger:function(e,o){if(e!=t)throw"Token passed is invalid. Only F2 is allowed to call F2.AppHandlers.__trigger().";if(!n||!n[o])throw"Invalid EventKey passed. Check your inputs and try again.";for(var i=[],a=2,s=arguments.length;s>a;a++)i.push(arguments[a]);if(0===n[o].length&&r[o])return r[o].apply(F2,i),this;if(0===n[o].length&&!n[o])return this;for(var l=0,c=n[o].length;c>l;l++){var u=n[o][l];if(u.domNode&&arguments[2]&&arguments[2].root&&arguments[3]){var p=jQuery(arguments[2].root).append(arguments[3]);jQuery(u.domNode).append(p)}else u.domNode&&arguments[2]&&!arguments[2].root&&arguments[3]?(arguments[2].root=jQuery(arguments[3]).get(0),jQuery(u.domNode).append(arguments[2].root)):u.func.apply(F2,i)}return this},on:function(e,t,r){var i=null;if(!t)throw"eventKey must be of type string and not null. For available appHandlers check F2.Constants.AppHandlers.";if(t.indexOf(".")>-1){var a=t.split(".");t=a[0],i=a[1]}if(!n||!n[t])throw"Invalid EventKey passed. Check your inputs and try again.";return n[t].push(o(e,i,r,"appRender"==t)),this},off:function(e,t){var r=null;if(!t)throw"eventKey must be of type string and not null. For available appHandlers check F2.Constants.AppHandlers.";if(t.indexOf(".")>-1){var o=t.split(".");t=o[0],r=o[1]}if(!n||!n[t])throw"Invalid EventKey passed. Check your inputs and try again.";return a(e,t,r),this}}}()),F2.extend("Constants",{AppHandlers:function(){return{APP_CREATE_ROOT:"appCreateRoot",APP_RENDER_BEFORE:"appRenderBefore",APP_RENDER:"appRender",APP_RENDER_AFTER:"appRenderAfter",APP_DESTROY_BEFORE:"appDestroyBefore",APP_DESTROY:"appDestroy",APP_DESTROY_AFTER:"appDestroyAfter"}}()}),F2.extend("",{App:function(){return{init:function(){}}},AppConfig:{appId:"",context:{},enableBatchRequests:!1,height:0,instanceId:"",isSecure:!1,manifestUrl:"",maxWidth:0,minGridSize:4,minWidth:300,name:"",root:void 0,ui:void 0,views:[]},AppManifest:{apps:[],inlineScripts:[],scripts:[],styles:[]},AppContent:{data:{},html:"",status:""},ContainerConfig:{afterAppRender:function(){},appRender:function(){},beforeAppRender:function(){},isSecureAppPage:!1,secureAppPagePath:"",supportedViews:[],UI:{Mask:{backgroundColor:"#FFF",loadingIcon:"",opacity:.6,useClasses:!1,zIndex:2}},xhr:{dataType:function(){},type:function(){},url:function(){}}}}),F2.extend("Constants",{Css:function(){var e="f2-";return{APP:e+"app",APP_CONTAINER:e+"app-container",APP_TITLE:e+"app-title",APP_VIEW:e+"app-view",APP_VIEW_TRIGGER:e+"app-view-trigger",MASK:e+"mask",MASK_CONTAINER:e+"mask-container"}}(),Events:function(){var e="App.",t="Container.";return{APP_SYMBOL_CHANGE:e+"symbolChange",APP_WIDTH_CHANGE:e+"widthChange.",CONTAINER_SYMBOL_CHANGE:t+"symbolChange",CONTAINER_WIDTH_CHANGE:t+"widthChange"}}(),JSONP_CALLBACK:"F2_jsonpCallback_",Sockets:{EVENT:"__event__",LOAD:"__socketLoad__",RPC:"__rpc__",RPC_CALLBACK:"__rpcCallback__",UI_RPC:"__uiRpc__"},Views:{DATA_ATTRIBUTE:"data-f2-view",ABOUT:"about",HELP:"help",HOME:"home",REMOVE:"remove",SETTINGS:"settings"}}),F2.extend("Events",function(){var e=new EventEmitter2({wildcard:!0});return e.setMaxListeners(0),{_socketEmit:function(){return EventEmitter2.prototype.emit.apply(e,[].slice.call(arguments))},emit:function(){return F2.Rpc.broadcast(F2.Constants.Sockets.EVENT,[].slice.call(arguments)),EventEmitter2.prototype.emit.apply(e,[].slice.call(arguments))},many:function(t,n,r){return e.many(t,n,r)},off:function(t,n){return e.off(t,n)},on:function(t,n){return e.on(t,n)},once:function(t,n){return e.once(t,n)}}}()),F2.extend("Rpc",function(){var e={},t="",n={},r=RegExp("^"+F2.Constants.Sockets.EVENT),o=RegExp("^"+F2.Constants.Sockets.RPC),i=RegExp("^"+F2.Constants.Sockets.RPC_CALLBACK),a=RegExp("^"+F2.Constants.Sockets.LOAD),s=RegExp("^"+F2.Constants.Sockets.UI_RPC),l=function(){var e,t=!1,r=[],o=new easyXDM.Socket({onMessage:function(i,s){if(!t&&a.test(i)){i=i.replace(a,"");var l=F2.parse(i);2==l.length&&(e=l[0],n[e.instanceId]={config:e,socket:o},F2.registerApps([e],[l[1]]),jQuery.each(r,function(){p(e,i,s)}),t=!0)}else t?p(e,i,s):r.push(i)}})},c=function(e,n){var r=jQuery(e.root);if(r.is("."+F2.Constants.Css.APP_CONTAINER)||r.find("."+F2.Constants.Css.APP_CONTAINER),!r.length)return F2.log("Unable to locate app in order to establish secure connection."),void 0;var o={scrolling:"no",style:{width:"100%"}};e.height&&(o.style.height=e.height+"px");var i=new easyXDM.Socket({remote:t,container:r.get(0),props:o,onMessage:function(t,n){p(e,t,n)},onReady:function(){i.postMessage(F2.Constants.Sockets.LOAD+F2.stringify([e,n],F2.appConfigReplacer))}});return i},u=function(e,t){return function(){F2.Rpc.call(e,F2.Constants.Sockets.RPC_CALLBACK,t,[].slice.call(arguments).slice(2))}},p=function(t,n){function a(e,t){for(var n=(t+"").split("."),r=0;n.length>r;r++){if(void 0===e[n[r]]){e=void 0;break}e=e[n[r]]}return e}function l(e,t,n){var r=F2.parse(t.replace(e,""));return r.params&&r.params.length&&r.callbacks&&r.callbacks.length&&jQuery.each(r.callbacks,function(e,t){jQuery.each(r.params,function(e,o){t==o&&(r.params[e]=u(n,t))})}),r}var c,p;s.test(n)?(c=l(s,n,t.instanceId),p=a(t.ui,c.functionName),void 0!==p?p.apply(t.ui,c.params):F2.log("Unable to locate UI RPC function: "+c.functionName)):o.test(n)?(c=l(o,n,t.instanceId),p=a(window,c.functionName),void 0!==p?p.apply(p,c.params):F2.log("Unable to locate RPC function: "+c.functionName)):i.test(n)?(c=l(i,n,t.instanceId),void 0!==e[c.functionName]&&(e[c.functionName].apply(e[c.functionName],c.params),delete e[c.functionName])):r.test(n)&&(c=l(r,n,t.instanceId),F2.Events._socketEmit.apply(F2.Events,c))},f=function(t){var n=F2.guid();return e[n]=t,n};return{broadcast:function(e,t){var r=e+F2.stringify(t);jQuery.each(n,function(e,t){t.socket.postMessage(r)})},call:function(e,t,r,o){var i=[];jQuery.each(o,function(e,t){if("function"==typeof t){var n=f(t);o[e]=n,i.push(n)}}),n[e].socket.postMessage(t+F2.stringify({functionName:r,params:o,callbacks:i}))},init:function(e){t=e,t||l()},isRemote:function(e){return void 0!==n[e]&&n[e].config.isSecure&&0===jQuery(n[e].config.root).find("iframe").length},register:function(e,t){e&&t?n[e.instanceId]={config:e,socket:c(e,t)}:F2.log("Unable to register socket connection. Please check container configuration.")}}}()),F2.extend("UI",function(){var e,t=function(e){var t=e,n=jQuery(e.root),r=function(e){e=e||jQuery(t.root).outerHeight(),F2.Rpc.isRemote(t.instanceId)?F2.Rpc.call(t.instanceId,F2.Constants.Sockets.UI_RPC,"updateHeight",[e]):(t.height=e,n.find("iframe").height(t.height))};return{hideMask:function(e){F2.UI.hideMask(t.instanceId,e)},Modals:function(){var e=function(e){return['"].join("")},n=function(e){return['"].join("")};return{alert:function(n,r){return F2.isInit()?(F2.Rpc.isRemote(t.instanceId)?F2.Rpc.call(t.instanceId,F2.Constants.Sockets.UI_RPC,"Modals.alert",[].slice.call(arguments)):jQuery(e(n)).on("show",function(){var e=this;jQuery(e).find(".btn-primary").on("click",function(){jQuery(e).modal("hide").remove(),(r||jQuery.noop)()})}).modal({backdrop:!0}),void 0):(F2.log("F2.init() must be called before F2.UI.Modals.alert()"),void 0)},confirm:function(e,r,o){return F2.isInit()?(F2.Rpc.isRemote(t.instanceId)?F2.Rpc.call(t.instanceId,F2.Constants.Sockets.UI_RPC,"Modals.confirm",[].slice.call(arguments)):jQuery(n(e)).on("show",function(){var e=this;jQuery(e).find(".btn-ok").on("click",function(){jQuery(e).modal("hide").remove(),(r||jQuery.noop)()}),jQuery(e).find(".btn-cancel").on("click",function(){jQuery(e).modal("hide").remove(),(o||jQuery.noop)()})}).modal({backdrop:!0}),void 0):(F2.log("F2.init() must be called before F2.UI.Modals.confirm()"),void 0)}}}(),setTitle:function(e){F2.Rpc.isRemote(t.instanceId)?F2.Rpc.call(t.instanceId,F2.Constants.Sockets.UI_RPC,"setTitle",[e]):jQuery(t.root).find("."+F2.Constants.Css.APP_TITLE).text(e)},showMask:function(e,n){F2.UI.showMask(t.instanceId,e,n)},updateHeight:r,Views:function(){var e=new EventEmitter2,o=/change/i;e.setMaxListeners(0);var i=function(e){return o.test(e)?!0:(F2.log('"'+e+'" is not a valid F2.UI.Views event name'),!1)};return{change:function(o){"function"==typeof o?this.on("change",o):"string"==typeof o&&(t.isSecure&&!F2.Rpc.isRemote(t.instanceId)?F2.Rpc.call(t.instanceId,F2.Constants.Sockets.UI_RPC,"Views.change",[].slice.call(arguments)):F2.inArray(o,t.views)&&(jQuery("."+F2.Constants.Css.APP_VIEW,n).addClass("hide").filter('[data-f2-view="'+o+'"]',n).removeClass("hide"),r(),e.emit("change",o)))},off:function(t,n){i(t)&&e.off(t,n)},on:function(t,n){i(t)&&e.on(t,n)}}}()}};return t.hideMask=function(e,t){if(!F2.isInit())return F2.log("F2.init() must be called before F2.UI.hideMask()"),void 0;if(F2.Rpc.isRemote(e)&&!jQuery(t).is("."+F2.Constants.Css.APP))F2.Rpc.call(e,F2.Constants.Sockets.RPC,"F2.UI.hideMask",[e,jQuery(t).selector]);else{var n=jQuery(t);n.find("> ."+F2.Constants.Css.MASK).remove(),n.removeClass(F2.Constants.Css.MASK_CONTAINER),n.data(F2.Constants.Css.MASK_CONTAINER)&&n.css({position:"static"})}},t.init=function(t){e=t,e.UI=jQuery.extend(!0,{},F2.ContainerConfig.UI,e.UI||{})},t.showMask=function(t,n,r){if(!F2.isInit())return F2.log("F2.init() must be called before F2.UI.showMask()"),void 0;if(F2.Rpc.isRemote(t)&&jQuery(n).is("."+F2.Constants.Css.APP))F2.Rpc.call(t,F2.Constants.Sockets.RPC,"F2.UI.showMask",[t,jQuery(n).selector,r]);else{r&&!e.UI.Mask.loadingIcon&&F2.log("Unable to display loading icon. Please set F2.ContainerConfig.UI.Mask.loadingIcon when calling F2.init();");var o=jQuery(n).addClass(F2.Constants.Css.MASK_CONTAINER),i=jQuery("
").height("100%").width("100%").addClass(F2.Constants.Css.MASK);e.UI.Mask.useClasses||i.css({"background-color":e.UI.Mask.backgroundColor,"background-image":e.UI.Mask.loadingIcon?"url("+e.UI.Mask.loadingIcon+")":"","background-position":"50% 50%","background-repeat":"no-repeat",display:"block",left:0,"min-height":30,padding:0,position:"absolute",top:0,"z-index":e.UI.Mask.zIndex,filter:"alpha(opacity="+100*e.UI.Mask.opacity+")",opacity:e.UI.Mask.opacity}),"static"===o.css("position")&&(o.css({position:"relative"}),o.data(F2.Constants.Css.MASK_CONTAINER,!0)),o.append(i)}},t}()),F2.extend("",function(){var _apps={},_config=!1,_bUsesAppHandlers=!1,_sAppHandlerToken=F2.AppHandlers.__f2GetToken(),_afterAppRender=function(e,t){var n=_config.afterAppRender||function(e,t){return jQuery(t).appendTo("body")},r=n(e,t);return _config.afterAppRender&&!r?(F2.log("F2.ContainerConfig.afterAppRender() must return the DOM Element that contains the app"),void 0):(jQuery(r).addClass(F2.Constants.Css.APP),r.get(0))},_appRender=function(e,t){return t=_outerHtml(jQuery(t).addClass(F2.Constants.Css.APP_CONTAINER+" "+e.appId)),_config.appRender&&(t=_config.appRender(e,t)),_outerHtml(t)},_beforeAppRender=function(e){var t=_config.beforeAppRender||jQuery.noop;return t(e)},_hydrateAppConfig=function(e){e.instanceId=e.instanceId||F2.guid(),e.views=e.views||[],F2.inArray(F2.Constants.Views.HOME,e.views)||e.views.push(F2.Constants.Views.HOME)},_initAppEvents=function(e){jQuery(e.root).on("click","."+F2.Constants.Css.APP_VIEW_TRIGGER+"["+F2.Constants.Views.DATA_ATTRIBUTE+"]",function(t){t.preventDefault();var n=jQuery(this).attr(F2.Constants.Views.DATA_ATTRIBUTE).toLowerCase();n==F2.Constants.Views.REMOVE?F2.removeApp(e.instanceId):e.ui.Views.change(n)})},_initContainerEvents=function(){var e,t=function(){F2.Events.emit(F2.Constants.Events.CONTAINER_WIDTH_CHANGE)};jQuery(window).on("resize",function(){clearTimeout(e),e=setTimeout(t,100)})},_isInit=function(){return!!_config},_createAppInstance=function(e,t){e.ui=new F2.UI(e),void 0!==F2.Apps[e.appId]&&("function"==typeof F2.Apps[e.appId]?setTimeout(function(){_apps[e.instanceId].app=new F2.Apps[e.appId](e,t,e.root),void 0!==_apps[e.instanceId].app.init&&_apps[e.instanceId].app.init()},0):F2.log("app initialization class is defined but not a function. ("+e.appId+")"))},_loadApps=function(appConfigs,appManifest){if(appConfigs=[].concat(appConfigs),1==appConfigs.length&&appConfigs[0].isSecure&&!_config.isSecureAppPage)return _loadSecureApp(appConfigs[0],appManifest),void 0;if(appConfigs.length!=appManifest.apps.length)return F2.log("The number of apps defined in the AppManifest do not match the number requested.",appManifest),void 0;var scripts=appManifest.scripts||[],styles=appManifest.styles||[],inlines=appManifest.inlineScripts||[],scriptCount=scripts.length,scriptsLoaded=0,appInit=function(){jQuery.each(appConfigs,function(e,t){_createAppInstance(t,appManifest.apps[e])})},evalInlines=function(){jQuery.each(inlines,function(i,e){try{eval(e)}catch(exception){F2.log("Error loading inline script: "+exception+"\n\n"+e)}})},stylesFragment=null,useCreateStyleSheet=!!document.createStyleSheet;jQuery.each(styles,function(e,t){useCreateStyleSheet?document.createStyleSheet(t):(stylesFragment=stylesFragment||[],stylesFragment.push(''))}),stylesFragment&&jQuery("head").append(stylesFragment.join("")),jQuery.each(appManifest.apps,function(e,t){if(_bUsesAppHandlers){F2.AppHandlers.__trigger(_sAppHandlerToken,F2.Constants.AppHandlers.APP_RENDER,appConfigs[e],_outerHtml(t.html));var n=appConfigs[e].appId;if(!appConfigs[e].root)throw"Root for "+n+" must be a native DOM element and cannot be null or undefined. Check your AppHandler callbacks to ensure you have set App root to a native DOM element.";var r=jQuery(appConfigs[e].root);if(0===r.parents("body:first").length)throw"App root for "+n+" was not appended to the DOM. Check your AppHandler callbacks to ensure you have rendered the app root to the DOM.";if(F2.AppHandlers.__trigger(_sAppHandlerToken,F2.Constants.AppHandlers.APP_RENDER_AFTER,appConfigs[e]),!F2.isNativeDOMNode(appConfigs[e].root))throw"App root for "+n+" must be a native DOM element. Check your AppHandler callbacks to ensure you have set app root to a native DOM element.";r.addClass(F2.Constants.Css.APP_CONTAINER+" "+n)}else appConfigs[e].root=_afterAppRender(appConfigs[e],_appRender(appConfigs[e],t.html));_initAppEvents(appConfigs[e])}),jQuery.each(scripts,function(e,t){jQuery.ajax({url:t,cache:!0,async:!1,dataType:"script",type:"GET",success:function(){++scriptsLoaded==scriptCount&&(evalInlines(),appInit())},error:function(e,n,r){F2.log(["Failed to load script ("+t+")",""+r])}})}),scriptCount||(evalInlines(),appInit())},_loadSecureApp=function(e,t){if(_config.secureAppPagePath){if(_bUsesAppHandlers){var n=jQuery(e.root);if(F2.AppHandlers.__trigger(_sAppHandlerToken,F2.Constants.AppHandlers.APP_RENDER,e,t.html),0===n.parents("body:first").length)throw"App was never rendered on the page. Please check your AppHandler callbacks to ensure you have rendered the app root to the DOM.";if(F2.AppHandlers.__trigger(_sAppHandlerToken,F2.Constants.AppHandlers.APP_RENDER_AFTER,e),!e.root)throw"App Root must be a native dom node and can not be null or undefined. Please check your AppHandler callbacks to ensure you have set App Root to a native dom node.";if(!F2.isNativeDOMNode(e.root))throw"App Root must be a native dom node. Please check your AppHandler callbacks to ensure you have set App Root to a native dom node.";jQuery(e.root).addClass(F2.Constants.Css.APP_CONTAINER+" "+e.appId)}else e.root=_afterAppRender(e,_appRender(e,"
"));e.ui=new F2.UI(e),_initAppEvents(e),F2.Rpc.register(e,t)}else F2.log('Unable to load secure app: "secureAppPagePath" is not defined in F2.ContainerConfig.')},_outerHtml=function(e){return jQuery("
").append(e).html()},_validateApp=function(e){return e.appId?e.root||e.manifestUrl?!0:(F2.log('"manifestUrl" missing from app object'),!1):(F2.log('"appId" missing from app object'),!1)},_validateContainerConfig=function(){if(_config&&_config.xhr){if("function"!=typeof _config.xhr&&"object"!=typeof _config.xhr)throw"ContainerConfig.xhr should be a function or an object";if(_config.xhr.dataType&&"function"!=typeof _config.xhr.dataType)throw"ContainerConfig.xhr.dataType should be a function";if(_config.xhr.type&&"function"!=typeof _config.xhr.type)throw"ContainerConfig.xhr.type should be a function";if(_config.xhr.url&&"function"!=typeof _config.xhr.url)throw"ContainerConfig.xhr.url should be a function"}return!0};return{getContainerState:function(){return _isInit()?jQuery.map(_apps,function(e){return{appId:e.config.appId}}):(F2.log("F2.init() must be called before F2.getContainerState()"),void 0)},init:function(e){_config=e||{},_validateContainerConfig(),_bUsesAppHandlers=!_config.beforeAppRender&&!_config.appRender&&!_config.afterAppRender,(_config.secureAppPagePath||_config.isSecureAppPage)&&F2.Rpc.init(_config.secureAppPagePath?_config.secureAppPagePath:!1),F2.UI.init(_config),_config.isSecureAppPage||_initContainerEvents()},isInit:_isInit,registerApps:function(e,t){if(!_isInit())return F2.log("F2.init() must be called before F2.registerApps()"),void 0;if(!e)return F2.log("At least one AppConfig must be passed when calling F2.registerApps()"),void 0;var n=[],r={},o={},i=!1;return e=[].concat(e),t=[].concat(t||[]),i=!!t.length,e.length?e.length&&i&&e.length!=t.length?(F2.log('The length of "apps" does not equal the length of "appManifests"'),void 0):(jQuery.each(e,function(e,o){if(_hydrateAppConfig(o),o.root=o.root||null,_validateApp(o)){if(_apps[o.instanceId]={config:o},o.root){if(!o.root&&"string"!=typeof o.root&&!F2.isNativeDOMNode(o.root))throw F2.log("AppConfig invalid for pre-load, not a valid string and not dom node"),F2.log("AppConfig instance:",o),"Preloaded appConfig.root property must be a native dom node or a string representing a sizzle selector. Please check your inputs and try again.";if(1!=jQuery(o.root).length)throw F2.log("AppConfig invalid for pre-load, root not unique"),F2.log("AppConfig instance:",o),F2.log("Number of dom node instances:",jQuery(o.root).length),"Preloaded appConfig.root property must map to a unique dom node. Please check your inputs and try again.";return _createAppInstance(o),_initAppEvents(o),void 0}_bUsesAppHandlers?(F2.AppHandlers.__trigger(_sAppHandlerToken,F2.Constants.AppHandlers.APP_CREATE_ROOT,o),F2.AppHandlers.__trigger(_sAppHandlerToken,F2.Constants.AppHandlers.APP_RENDER_BEFORE,o)):o.root=_beforeAppRender(o),i?_loadApps(o,t[e]):o.enableBatchRequests&&!o.isSecure?(r[o.manifestUrl.toLowerCase()]=r[o.manifestUrl.toLowerCase()]||[],r[o.manifestUrl.toLowerCase()].push(o)):n.push({apps:[o],url:o.manifestUrl})}}),i||(jQuery.each(r,function(e,t){n.push({url:e,apps:t})}),jQuery.each(n,function(e,t){var n=F2.Constants.JSONP_CALLBACK+t.apps[0].appId;o[n]=o[n]||[],o[n].push(t)}),jQuery.each(o,function(e,t){var n=function(r,o){if(o){var i=o.url,a="GET",s="jsonp",l=function(){n(e,t.pop())},c=function(){jQuery.each(o.apps,function(e,t){F2.log("Removed failed "+t.name+" app",t),F2.removeApp(t.instanceId)})},u=function(e){_loadApps(o.apps,e)};if(_config.xhr&&_config.xhr.dataType&&(s=_config.xhr.dataType(o.url,o.apps),"string"!=typeof s))throw"ContainerConfig.xhr.dataType should return a string";if(_config.xhr&&_config.xhr.type&&(a=_config.xhr.type(o.url,o.apps),"string"!=typeof a))throw"ContainerConfig.xhr.type should return a string";if(_config.xhr&&_config.xhr.url&&(i=_config.xhr.url(o.url,o.apps),"string"!=typeof i))throw"ContainerConfig.xhr.url should return a string";var p=_config.xhr;"function"!=typeof p&&(p=function(e,t,n,i,l){jQuery.ajax({url:e,type:a,data:{params:F2.stringify(o.apps,F2.appConfigReplacer)},jsonp:!1,jsonpCallback:r,dataType:s,success:n,error:function(e,t,n){F2.log("Failed to load app(s)",""+n,o.apps),i()},complete:l})}),p(i,o.apps,u,c,l)}};n(e,t.pop())})),void 0):(F2.log("At least one AppConfig must be passed when calling F2.registerApps()"),void 0)},removeAllApps:function(){return _isInit()?(jQuery.each(_apps,function(e,t){F2.removeApp(t.config.instanceId)}),void 0):(F2.log("F2.init() must be called before F2.removeAllApps()"),void 0)},removeApp:function(e){return _isInit()?(_apps[e]&&(F2.AppHandlers.__trigger(_sAppHandlerToken,F2.Constants.AppHandlers.APP_DESTROY_BEFORE,_apps[e]),F2.AppHandlers.__trigger(_sAppHandlerToken,F2.Constants.AppHandlers.APP_DESTROY,_apps[e]),F2.AppHandlers.__trigger(_sAppHandlerToken,F2.Constants.AppHandlers.APP_DESTROY_AFTER,_apps[e]),delete _apps[e]),void 0):(F2.log("F2.init() must be called before F2.removeApp()"),void 0)}}}()),exports.F2=F2,"undefined"!=typeof define&&define.amd&&define(function(){return F2})}})("undefined"!=typeof exports?exports:window); //@ sourceMappingURL=f2.min.map \ No newline at end of file diff --git a/sdk/f2.min.map b/sdk/f2.min.map index 5f63d709..7892d041 100644 --- a/sdk/f2.min.map +++ b/sdk/f2.min.map @@ -1 +1 @@ -{"version":3,"file":"f2.min.js","sources":["f2.debug.js"],"names":["exports","F2","F2_TESTING_MODE","JSON","f","n","quote","string","escapable","lastIndex","test","replace","a","c","meta","charCodeAt","toString","slice","str","key","holder","i","k","v","length","partial","mind","gap","value","toJSON","rep","call","isFinite","String","indent","Object","prototype","apply","join","push","hasOwnProperty","Date","this","valueOf","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","Number","Boolean","cx","\b","\t","\n","\f","\r","\"","\\","stringify","replacer","space","Error","parse","text","reviver","walk","undefined","j","eval","SyntaxError","window","createOptions","options","object","optionsCache","jQuery","each","split","core_rspace","_","flag","dataAttr","elem","data","nodeType","name","rmultiDash","toLowerCase","getAttribute","rbrace","parseJSON","e","isEmptyDataObject","obj","isEmptyObject","returnFalse","returnTrue","isDisconnected","node","parentNode","sibling","cur","dir","winnow","elements","qualifier","keep","isFunction","grep","retVal","filtered","isSimple","filter","inArray","createSafeFragment","document","list","nodeNames","safeFrag","createDocumentFragment","createElement","pop","findOrAppend","tag","getElementsByTagName","appendChild","ownerDocument","cloneCopyEvent","src","dest","hasData","type","l","oldData","_data","curData","events","handle","event","add","extend","cloneFixAttributes","nodeName","clearAttributes","mergeAttributes","outerHTML","support","html5Clone","innerHTML","trim","rcheckableType","defaultChecked","checked","selected","defaultSelected","defaultValue","removeAttribute","expando","getAll","querySelectorAll","fixDefaultChecked","vendorPropName","style","capName","charAt","toUpperCase","origName","cssPrefixes","isHidden","el","css","contains","showHide","show","display","values","index","css_defaultDisplay","curCSS","setPositiveNumber","subtract","matches","rnumsplit","exec","Math","max","augmentWidthOrHeight","extra","isBorderBox","val","cssExpand","parseFloat","getWidthOrHeight","offsetWidth","offsetHeight","valueIsBorderBox","boxSizing","rnumnonpx","boxSizingReliable","elemdisplay","appendTo","body","remove","iframe","frameBorder","width","height","iframeDoc","contentWindow","contentDocument","write","close","removeChild","buildParams","prefix","traditional","isArray","rbracket","addToPrefiltersOrTransports","structure","dataTypeExpression","func","dataType","placeBefore","dataTypes","substr","inspectPrefiltersOrTransports","originalOptions","jqXHR","inspected","selection","executeOnly","prefilters","unshift","ajaxExtend","target","deep","flatOptions","ajaxSettings","ajaxHandleResponses","s","responses","ct","finalDataType","firstDataType","contents","responseFields","shift","mimeType","getResponseHeader","converters","ajaxConvert","response","conv","conv2","current","tmp","prev","dataFilter","splice","state","error","createStandardXHR","XMLHttpRequest","createActiveXHR","ActiveXObject","createFxNow","setTimeout","fxNow","now","createTweens","animation","props","prop","collection","tweeners","concat","Animation","properties","result","animationPrefilters","deferred","Deferred","always","tick","currentTime","remaining","startTime","duration","temp","percent","tweens","run","notifyWith","resolveWith","promise","opts","specialEasing","originalProperties","createTween","end","tween","Tween","easing","stop","gotoEnd","rejectWith","propFilter","start","fx","timer","anim","queue","progress","done","complete","fail","hooks","camelCase","cssHooks","expand","defaultPrefilter","dataShow","toggle","oldfire","orig","handled","hidden","_queueHooks","unqueued","empty","fire","overflow","overflowX","overflowY","inlineBlockNeedsLayout","zoom","shrinkWrapBlocks","rfxtypes","hide","removeData","init","genFx","includeWidth","which","attrs","opacity","getWindow","isWindow","defaultView","parentWindow","rootjQuery","readyList","location","navigator","_jQuery","_$","$","core_push","Array","core_slice","core_indexOf","indexOf","core_toString","core_hasOwn","core_trim","selector","context","fn","core_pnum","source","core_rnotwhite","rtrim","rquickExpr","rsingleTag","rvalidchars","rvalidbraces","rvalidescape","rvalidtokens","rmsPrefix","rdashAlpha","fcamelCase","all","letter","DOMContentLoaded","addEventListener","removeEventListener","ready","readyState","detachEvent","class2type","constructor","match","doc","jquery","find","parseHTML","isPlainObject","attr","merge","getElementById","id","makeArray","size","toArray","get","num","pushStack","elems","ret","prevObject","callback","args","eq","first","last","arguments","map","sort","copy","copyIsArray","clone","noConflict","isReady","readyWait","holdReady","hold","wait","trigger","off","isNumeric","isNaN","msg","scripts","parsed","buildFragment","cacheable","fragment","childNodes","Function","parseXML","xml","DOMParser","parseFromString","async","loadXML","documentElement","noop","globalEval","execScript","isObj","arr","results","len","second","inv","arg","guid","proxy","access","chainable","emptyGet","pass","bulk","getTime","attachEvent","top","frameElement","doScroll","doScrollCheck","Callbacks","memory","fired","firing","firingStart","firingLength","firingIndex","stack","once","stopOnFalse","self","disable","unique","has","disabled","lock","locked","fireWith","tuples","then","fns","newDefer","tuple","action","returned","resolve","reject","notify","pipe","stateString","when","subordinate","progressValues","progressContexts","resolveContexts","resolveValues","updateFunc","contexts","select","opt","input","eventName","isSupported","clickFn","div","setAttribute","cssText","leadingWhitespace","firstChild","tbody","htmlSerialize","hrefNormalized","cssFloat","checkOn","optSelected","getSetAttribute","className","enctype","cloneNode","boxModel","compatMode","submitBubbles","changeBubbles","focusinBubbles","deleteExpando","noCloneEvent","reliableMarginRight","pixelPosition","noCloneChecked","optDisabled","fireEvent","radioValue","lastChild","checkClone","appendChecked","submit","change","focusin","container","tds","marginDiv","divReset","insertBefore","reliableHiddenOffsets","doesNotIncludeMarginInBodyOffset","offsetTop","getComputedStyle","marginRight","cache","deletedIds","uuid","random","noData","embed","applet","pvt","acceptData","thisCache","internalKey","getByName","isNode","cleanData","parts","part","attributes","substring","triggerHandler","dequeue","startLength","next","setter","delay","time","speeds","timeout","clearTimeout","clearQueue","count","defer","nodeHook","boolHook","fixSpecified","rclass","rreturn","rtype","rfocusable","rclickable","rboolean","removeAttr","removeProp","propFix","addClass","classNames","setClass","cl","removeClass","removes","toggleClass","stateVal","isBool","hasClass","valHooks","set","option","specified","selectedIndex","one","attrFn","notxml","nType","isXMLDoc","attrHooks","propName","attrNames","tabindex","readonly","for","class","maxlength","cellspacing","cellpadding","rowspan","colspan","usemap","frameborder","contenteditable","propHooks","tabIndex","attributeNode","getAttributeNode","parseInt","href","attrNode","property","nodeValue","coords","button","createAttribute","setAttributeNode","parent","rformElems","rtypenamespace","rhoverHack","rkeyEvent","rmouseEvent","rfocusMorph","hoverHack","special","hover","types","handler","elemData","eventHandle","t","tns","namespaces","handleObj","handleObjIn","handlers","triggered","dispatch","delegateType","bindType","origType","needsContext","expr","namespace","delegateCount","setup","global","mappedTypes","origCount","eventType","RegExp","teardown","removeEvent","customEvent","getData","setData","changeData","onlyHandlers","exclusive","old","ontype","eventPath","bubbleType","Event","isTrigger","namespace_re","noBubble","isPropagationStopped","preventDefault","isDefaultPrevented","_default","fix","selMatch","matched","sel","run_all","handlerQueue","delegateTarget","preDispatch","currentTarget","isImmediatePropagationStopped","stopPropagation","postDispatch","fixHooks","keyHooks","original","charCode","keyCode","mouseHooks","eventDoc","fromElement","pageX","clientX","scrollLeft","clientLeft","pageY","clientY","scrollTop","clientTop","relatedTarget","toElement","originalEvent","fixHook","srcElement","metaKey","load","focus","blur","beforeunload","onbeforeunload","simulate","bubble","isSimulated","defaultPrevented","returnValue","getPreventDefault","timeStamp","cancelBubble","stopImmediatePropagation","mouseenter","mouseleave","related","form","_submit_bubble","propertyName","_just_changed","attaches","on","origFn","bind","unbind","live","die","delegate","undelegate","toggler","lastToggle","click","fnOver","fnOut","Sizzle","seed","m","isXML","assertUsableClassName","getElementsByClassName","createInputPseudo","createButtonPseudo","createPositionalPseudo","markFunction","argument","matchIndexes","siblingCheck","b","nextSibling","tokenize","parseOnly","tokens","soFar","groups","preFilters","cached","tokenCache","Expr","preFilter","rcomma","rcombinators","Token","matchExpr","addCombinator","matcher","combinator","base","checkNonElements","doneName","dirkey","dirruns","cachedkey","cachedruns","sizset","elementMatcher","matchers","condense","unmatched","newUnmatched","mapped","setMatcher","postFilter","postFinder","postSelector","preMap","postMap","preexisting","multipleContexts","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","relative","implicitRelative","matchContext","matchAnyContext","outermostContext","matcherFromGroupMatchers","elementMatchers","setMatchers","bySet","byElement","superMatcher","expandContext","setMatched","matchedCount","outermost","contextBackup","dirrunsUnique","E","uniqueSort","token","rbackslash","rsibling","compile","setFilters","assertGetIdNotName","getText","sortOrder","hasDuplicate","baseHasDuplicate","strundefined","docElem","createCache","keys","cacheLength","classCache","compilerCache","whitespace","characterEncoding","identifier","operators","pseudos","pos","rpseudo","rheader","rinputs","ID","CLASS","NAME","TAG","ATTR","PSEUDO","POS","CHILD","assert","assertTagNameNoComments","createComment","assertHrefNotNormalized","assertAttributes","assertUsableName","getElementsByName","matchesSelector","textContent","adown","bup","compareDocumentPosition","attrHandle","selectors","createPseudo",">"," ","+","~","unquoted","excess","pattern","operator","check","diff","previousSibling","pseudo","idx","not","innerText","enabled","header","radio","checkbox","file","password","image","reset","activeElement","hasFocus","active","even","odd","lt","gt","sourceIndex","al","bl","ap","bp","aup","duplicates","group","disconnectedMatch","oldSelect","rescape","rattributeQuotes","rbuggyQSA","rbuggyMatches","mozMatchesSelector","webkitMatchesSelector","oMatchesSelector","msMatchesSelector","nid","newContext","newSelector","qsaError","filters","runtil","rparentsprev","rneedsContext","guaranteedUnique","children","r","targets","is","closest","prevAll","addBack","andSelf","parents","parentsUntil","until","nextAll","nextUntil","prevUntil","siblings","reverse","rinlinejQuery","rleadingWhitespace","rxhtmlTag","rtagName","rtbody","rhtml","rnoInnerhtml","rnocache","rnoshimcache","rchecked","rscriptType","rcleanScript","wrapMap","legend","thead","tr","td","col","area","safeFragment","fragmentDiv","optgroup","tfoot","colgroup","caption","th","append","createTextNode","wrapAll","html","wrap","wrapInner","unwrap","replaceWith","domManip","prepend","before","clean","after","keepData","dataAndEvents","deepDataAndEvents","detach","table","iNoClone","ajax","url","throws","cachehit","fragments","prependTo","insertAfter","replaceAll","insert","srcElements","destElements","depth","hasBody","handleScript","jsTags","safe","browser","uaMatch","ua","version","userAgent","chrome","webkit","safari","sub","jQuerySub","superclass","rootjQuerySub","ralpha","ropacity","rposition","rdisplayswap","rmargin","rrelNum","BODY","cssShow","position","visibility","cssNormalTransform","letterSpacing","fontWeight","eventsToggle","fn2","bool","computed","cssNumber","fillOpacity","lineHeight","orphans","widows","zIndex","cssProps","float","numeric","swap","minWidth","maxWidth","getPropertyValue","currentStyle","left","rsLeft","runtimeStyle","pixelLeft","$1","visible","margin","padding","border","suffix","expanded","r20","rCRLF","rinput","rselectTextarea","serialize","param","serializeArray","encodeURIComponent","ajaxLocParts","ajaxLocation","rhash","rheaders","rlocalProtocol","rnoContent","rprotocol","rquery","rscript","rts","rurl","_load","transports","allTypes","params","status","responseText","o","method","success","getScript","getJSON","ajaxSetup","settings","isLocal","contentType","processData","accepts","json","*","* text","text html","text json","text xml","ajaxPrefilter","ajaxTransport","nativeStatusText","headers","isSuccess","modified","statusText","timeoutTimer","transport","responseHeadersString","ifModified","lastModified","ifModifiedKey","etag","callbackContext","statusCode","fireGlobals","globalEventContext","completeDeferred","responseHeaders","requestHeaders","requestHeadersNames","strAbort","setRequestHeader","lname","getAllResponseHeaders","overrideMimeType","abort","crossDomain","hasContent","ts","beforeSend","send","oldCallbacks","rquestion","rjsonp","nonce","jsonp","jsonpCallback","originalSettings","callbackName","overwritten","responseContainer","hasCallback","replaceInUrl","replaceInData","script","text script","head","scriptCharset","charset","onload","onreadystatechange","isAbort","xhrCallbacks","xhrOnUnloadAbort","xhrId","xhr","cors","username","open","xhrFields","responseXML","firefoxAccessException","unload","timerId","rfxnum","rrun","unit","scale","maxIterations","tweener","prefilter","eased","step","cssFn","speed","animate","fadeTo","to","optall","doAnimation","stopQueue","timers","slideDown","slideUp","slideToggle","fadeIn","fadeOut","fadeToggle","linear","p","swing","cos","PI","setInterval","interval","clearInterval","slow","fast","animated","rroot","offset","setOffset","win","box","bodyOffset","getBoundingClientRect","pageYOffset","pageXOffset","offsetLeft","curTop","curLeft","curElem","curOffset","curCSSTop","curCSSLeft","calculatePosition","curPosition","using","offsetParent","parentOffset","scrollTo","Height","Width","content","defaultExtra","funcName","define","amd","Modal","element","$element","remote","isShown","that","escape","backdrop","transition","enforceFocus","hideWithTransition","hideModal","keyboard","removeBackdrop","$backdrop","doAnimate","modal","$this","defaults","Constructor","$target","_events","configure","conf","delimiter","wildcard","listenerTree","EventEmitter","searchListenerTree","tree","leaf","branch","xTree","xxTree","isolatedBranch","endReached","listeners","typeLength","currentType","nextType","_listeners","**","growListenerTree","listener","warned","defaultMaxListeners","maxListeners","console","trace","setMaxListeners","many","ttl","_origin","emit","newListener","_all","ns","onAny","addListener","leafs","iLeaf","offAny","removeListener","removeAllListeners","listenersAny","EventEmitter2","process","title","decodeURIComponent","isHostMethod","isHostObject","hasFlash","activeX","flashVersion","GetVariable","HAS_FLASH_THROTTLED_BUG","notSupportedException","dom_onReady","domIsReady","domReadyQueue","whenReady","scope","getParentObject","ii","easyXDM","_easyXDM","IFRAME_PREFIX","getDomainName","reURI","getPort","getLocation","proto","domain","port","resolveUrl","reDoubleSlash","path","pathname","lastIndexOf","protocol","host","reParent","appendQueryParameters","parameters","hash","q","useHash","undef","destination","noOverwrite","member","testForNamePropertyBug","channelId","HAS_NAME_PROPERTY_BUG","createFrame","config","frame","onLoad","allowTransparency","checkAcl","acl","re","prepareTransportStack","stackEls","isHost","query","xdm_p","channel","secret","swf","product","remoteHelper","xdm_c","xdm_s","xdm_e","useResize","useParent","usePolling","local","images","search","xdm_pa","xdm_po","HashTransport","ReliableBehavior","QueueBehavior","encode","maxLength","VerifyBehavior","initiate","PostMessageTransport","NameTransport","NixTransport","SameOriginTransport","FrameElementTransport","FlashTransport","lazy","chainStack","stackElements","stackEl","incoming","message","origin","up","outgoing","recipient","down","destroy","removeFromStack","un","floor","emptyFn","sEvent","fpNotify","pair","evalJSON","getJSONObject","DomHelper","requiresJSON","_map","Fn","del","Socket","onMessage","onReady","postMessage","Rpc","jsonRpcConfig","RpcBehavior","pub","targetOrigin","onDOMReady","sendFn","addSwf","swfContainer","swfNoThrottle","right","flashVars","destroyChannel","swfdomain","createChannel","_getOrigin","uri","_window_onMessage","callerWindow","waitForReady","referrer","_sendMessage","sendMessage","_onReady","readyCount","_onMessage","remoteOrigin","_onLoad","remoteWindow","remoteUrl","w","_callerWindow","_msgNr","_handleHash","_lastMsg","_remoteOrigin","_pollHash","_listenerWindow","_attachListeners","_timer","pollInterval","tries","getRef","frames","ex","idOut","idIn","currentMessage","ack","waiting","destroying","doFragment","seq","startVerification","mySecret","theirSecret","_send","jsonrpc","serializer","_createMethod","definition","_callbacks","_callbackCounter","namedParams","_executeMethod","code","ex1","_absolutizeURI","removeDotSegments","output","_parseURI","authority","hostname","appConfigReplacer","Apps","overwrite","isFunc","S4","array","isLocalRequest","urlLower","isNativeDOMNode","testObject","bIsNode","Node","bIsElement","HTMLElement","log","_ct","_f2t","_handlerCollection","appCreateRoot","appRenderBefore","appDestroyBefore","appRenderAfter","appDestroyAfter","appRender","appDestroy","_defaultMethods","appConfig","appHtml","$root","root","appInstance","app","appId","_createHandler","sNamespace","func_or_element","bDomNodeAppropriate","_validateToken","domNode","sToken","_removeHandler","eventKey","currentEventKey","eventCollection","newEvents","ec","currentEventHandler","newHandlerCollection","iCounter","hc","currentHandler","getToken","__f2GetToken","__trigger","passableArgs","hcl","$appRoot","arData","AppHandlers","APP_CREATE_ROOT","APP_RENDER_BEFORE","APP_RENDER","APP_RENDER_AFTER","APP_DESTROY_BEFORE","APP_DESTROY","APP_DESTROY_AFTER","App","AppConfig","enableBatchRequests","instanceId","isSecure","manifestUrl","minGridSize","ui","views","AppManifest","apps","inlineScripts","styles","AppContent","ContainerConfig","afterAppRender","beforeAppRender","isSecureAppPage","secureAppPagePath","supportedViews","UI","Mask","backgroundColor","loadingIcon","useClasses","Css","_PREFIX","APP","APP_CONTAINER","APP_TITLE","APP_VIEW","APP_VIEW_TRIGGER","MASK","MASK_CONTAINER","Events","_APP_EVENT_PREFIX","_CONTAINER_EVENT_PREFIX","APP_SYMBOL_CHANGE","APP_WIDTH_CHANGE","CONTAINER_SYMBOL_CHANGE","CONTAINER_WIDTH_CHANGE","JSONP_CALLBACK","Sockets","EVENT","LOAD","RPC","RPC_CALLBACK","UI_RPC","Views","DATA_ATTRIBUTE","ABOUT","HELP","HOME","REMOVE","SETTINGS","_socketEmit","broadcast","Constants","timesToListen","_secureAppPagePath","_apps","_rEvents","_rRpc","_rRpcCallback","_rSocketLoad","_rUiCall","_createAppToContainerSocket","isLoaded","messagePlayback","socket","appParts","registerApps","_createContainerToAppSocket","appManifest","iframeProps","scrolling","_createRpcCallback","callbackId","parseFunction","functionName","parseMessage","regEx","callbacks","_registerCallback","messageType","cid","isRemote","register","_containerConfig","UI_Class","_appConfig","_updateHeight","outerHeight","hideMask","Modals","_renderAlert","_renderConfirm","alert","isInit","confirm","okCallback","cancelCallback","setTitle","showMask","showLoader","updateHeight","_rValidEvents","_isValid","containerConfig","showLoading","mask","background-color","background-image","background-position","background-repeat","min-height","z-index","_config","_bUsesAppHandlers","_sAppHandlerToken","_afterAppRender","appContainer","_appRender","_outerHtml","_beforeAppRender","_hydrateAppConfig","_initAppEvents","view","removeApp","_initContainerEvents","resizeTimeout","resizeHandler","_isInit","_createAppInstance","appContent","_loadApps","appConfigs","_loadSecureApp","inlines","scriptCount","scriptsLoaded","appInit","evalInlines","exception","stylesFragment","jqxhr","_validateApp","_validateContainerConfig","getContainerState","appManifests","appStack","batches","callbackStack","haveManifests","req","requests","manifestRequest","completeFunc","errorFunc","item","successFunc","requestFunc","successCallback","errorCallback","completeCallback","removeAllApps"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"f2.min.js","sources":["f2.debug.js"],"names":["exports","F2","F2_TESTING_MODE","JSON","f","n","quote","string","escapable","lastIndex","test","replace","a","c","meta","charCodeAt","toString","slice","str","key","holder","i","k","v","length","partial","mind","gap","value","toJSON","rep","call","isFinite","String","indent","Object","prototype","apply","join","push","hasOwnProperty","Date","this","valueOf","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","Number","Boolean","cx","\b","\t","\n","\f","\r","\"","\\","stringify","replacer","space","Error","parse","text","reviver","walk","undefined","j","eval","SyntaxError","window","createOptions","options","object","optionsCache","jQuery","each","split","core_rspace","_","flag","dataAttr","elem","data","nodeType","name","rmultiDash","toLowerCase","getAttribute","rbrace","parseJSON","e","isEmptyDataObject","obj","isEmptyObject","returnFalse","returnTrue","isDisconnected","node","parentNode","sibling","cur","dir","winnow","elements","qualifier","keep","isFunction","grep","retVal","filtered","isSimple","filter","inArray","createSafeFragment","document","list","nodeNames","safeFrag","createDocumentFragment","createElement","pop","findOrAppend","tag","getElementsByTagName","appendChild","ownerDocument","cloneCopyEvent","src","dest","hasData","type","l","oldData","_data","curData","events","handle","event","add","extend","cloneFixAttributes","nodeName","clearAttributes","mergeAttributes","outerHTML","support","html5Clone","innerHTML","trim","rcheckableType","defaultChecked","checked","selected","defaultSelected","defaultValue","removeAttribute","expando","getAll","querySelectorAll","fixDefaultChecked","vendorPropName","style","capName","charAt","toUpperCase","origName","cssPrefixes","isHidden","el","css","contains","showHide","show","display","values","index","css_defaultDisplay","curCSS","setPositiveNumber","subtract","matches","rnumsplit","exec","Math","max","augmentWidthOrHeight","extra","isBorderBox","val","cssExpand","parseFloat","getWidthOrHeight","offsetWidth","offsetHeight","valueIsBorderBox","boxSizing","rnumnonpx","boxSizingReliable","elemdisplay","appendTo","body","remove","iframe","frameBorder","width","height","iframeDoc","contentWindow","contentDocument","write","close","removeChild","buildParams","prefix","traditional","isArray","rbracket","addToPrefiltersOrTransports","structure","dataTypeExpression","func","dataType","placeBefore","dataTypes","substr","inspectPrefiltersOrTransports","originalOptions","jqXHR","inspected","selection","executeOnly","prefilters","unshift","ajaxExtend","target","deep","flatOptions","ajaxSettings","ajaxHandleResponses","s","responses","ct","finalDataType","firstDataType","contents","responseFields","shift","mimeType","getResponseHeader","converters","ajaxConvert","response","conv","conv2","current","tmp","prev","dataFilter","splice","state","error","createStandardXHR","XMLHttpRequest","createActiveXHR","ActiveXObject","createFxNow","setTimeout","fxNow","now","createTweens","animation","props","prop","collection","tweeners","concat","Animation","properties","result","animationPrefilters","deferred","Deferred","always","tick","currentTime","remaining","startTime","duration","temp","percent","tweens","run","notifyWith","resolveWith","promise","opts","specialEasing","originalProperties","createTween","end","tween","Tween","easing","stop","gotoEnd","rejectWith","propFilter","start","fx","timer","anim","queue","progress","done","complete","fail","hooks","camelCase","cssHooks","expand","defaultPrefilter","dataShow","toggle","oldfire","orig","handled","hidden","_queueHooks","unqueued","empty","fire","overflow","overflowX","overflowY","inlineBlockNeedsLayout","zoom","shrinkWrapBlocks","rfxtypes","hide","removeData","init","genFx","includeWidth","which","attrs","opacity","getWindow","isWindow","defaultView","parentWindow","rootjQuery","readyList","location","navigator","_jQuery","_$","$","core_push","Array","core_slice","core_indexOf","indexOf","core_toString","core_hasOwn","core_trim","selector","context","fn","core_pnum","source","core_rnotwhite","rtrim","rquickExpr","rsingleTag","rvalidchars","rvalidbraces","rvalidescape","rvalidtokens","rmsPrefix","rdashAlpha","fcamelCase","all","letter","DOMContentLoaded","addEventListener","removeEventListener","ready","readyState","detachEvent","class2type","constructor","match","doc","jquery","find","parseHTML","isPlainObject","attr","merge","getElementById","id","makeArray","size","toArray","get","num","pushStack","elems","ret","prevObject","callback","args","eq","first","last","arguments","map","sort","copy","copyIsArray","clone","noConflict","isReady","readyWait","holdReady","hold","wait","trigger","off","isNumeric","isNaN","msg","scripts","parsed","buildFragment","cacheable","fragment","childNodes","Function","parseXML","xml","DOMParser","parseFromString","async","loadXML","documentElement","noop","globalEval","execScript","isObj","arr","results","len","second","inv","arg","guid","proxy","access","chainable","emptyGet","pass","bulk","getTime","attachEvent","top","frameElement","doScroll","doScrollCheck","Callbacks","memory","fired","firing","firingStart","firingLength","firingIndex","stack","once","stopOnFalse","self","disable","unique","has","disabled","lock","locked","fireWith","tuples","then","fns","newDefer","tuple","action","returned","resolve","reject","notify","pipe","stateString","when","subordinate","progressValues","progressContexts","resolveContexts","resolveValues","updateFunc","contexts","select","opt","input","eventName","isSupported","clickFn","div","setAttribute","cssText","leadingWhitespace","firstChild","tbody","htmlSerialize","hrefNormalized","cssFloat","checkOn","optSelected","getSetAttribute","className","enctype","cloneNode","boxModel","compatMode","submitBubbles","changeBubbles","focusinBubbles","deleteExpando","noCloneEvent","reliableMarginRight","pixelPosition","noCloneChecked","optDisabled","fireEvent","radioValue","lastChild","checkClone","appendChecked","submit","change","focusin","container","tds","marginDiv","divReset","insertBefore","reliableHiddenOffsets","doesNotIncludeMarginInBodyOffset","offsetTop","getComputedStyle","marginRight","cache","deletedIds","uuid","random","noData","embed","applet","pvt","acceptData","thisCache","internalKey","getByName","isNode","cleanData","parts","part","attributes","substring","triggerHandler","dequeue","startLength","next","setter","delay","time","speeds","timeout","clearTimeout","clearQueue","count","defer","nodeHook","boolHook","fixSpecified","rclass","rreturn","rtype","rfocusable","rclickable","rboolean","removeAttr","removeProp","propFix","addClass","classNames","setClass","cl","removeClass","removes","toggleClass","stateVal","isBool","hasClass","valHooks","set","option","specified","selectedIndex","one","attrFn","notxml","nType","isXMLDoc","attrHooks","propName","attrNames","tabindex","readonly","for","class","maxlength","cellspacing","cellpadding","rowspan","colspan","usemap","frameborder","contenteditable","propHooks","tabIndex","attributeNode","getAttributeNode","parseInt","href","attrNode","property","nodeValue","coords","button","createAttribute","setAttributeNode","parent","rformElems","rtypenamespace","rhoverHack","rkeyEvent","rmouseEvent","rfocusMorph","hoverHack","special","hover","types","handler","elemData","eventHandle","t","tns","namespaces","handleObj","handleObjIn","handlers","triggered","dispatch","delegateType","bindType","origType","needsContext","expr","namespace","delegateCount","setup","global","mappedTypes","origCount","eventType","RegExp","teardown","removeEvent","customEvent","getData","setData","changeData","onlyHandlers","exclusive","old","ontype","eventPath","bubbleType","Event","isTrigger","namespace_re","noBubble","isPropagationStopped","preventDefault","isDefaultPrevented","_default","fix","selMatch","matched","sel","run_all","handlerQueue","delegateTarget","preDispatch","currentTarget","isImmediatePropagationStopped","stopPropagation","postDispatch","fixHooks","keyHooks","original","charCode","keyCode","mouseHooks","eventDoc","fromElement","pageX","clientX","scrollLeft","clientLeft","pageY","clientY","scrollTop","clientTop","relatedTarget","toElement","originalEvent","fixHook","srcElement","metaKey","load","focus","blur","beforeunload","onbeforeunload","simulate","bubble","isSimulated","defaultPrevented","returnValue","getPreventDefault","timeStamp","cancelBubble","stopImmediatePropagation","mouseenter","mouseleave","related","form","_submit_bubble","propertyName","_just_changed","attaches","on","origFn","bind","unbind","live","die","delegate","undelegate","toggler","lastToggle","click","fnOver","fnOut","Sizzle","seed","m","isXML","assertUsableClassName","getElementsByClassName","createInputPseudo","createButtonPseudo","createPositionalPseudo","markFunction","argument","matchIndexes","siblingCheck","b","nextSibling","tokenize","parseOnly","tokens","soFar","groups","preFilters","cached","tokenCache","Expr","preFilter","rcomma","rcombinators","Token","matchExpr","addCombinator","matcher","combinator","base","checkNonElements","doneName","dirkey","dirruns","cachedkey","cachedruns","sizset","elementMatcher","matchers","condense","unmatched","newUnmatched","mapped","setMatcher","postFilter","postFinder","postSelector","preMap","postMap","preexisting","multipleContexts","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","relative","implicitRelative","matchContext","matchAnyContext","outermostContext","matcherFromGroupMatchers","elementMatchers","setMatchers","bySet","byElement","superMatcher","expandContext","setMatched","matchedCount","outermost","contextBackup","dirrunsUnique","E","uniqueSort","token","rbackslash","rsibling","compile","setFilters","assertGetIdNotName","getText","sortOrder","hasDuplicate","baseHasDuplicate","strundefined","docElem","createCache","keys","cacheLength","classCache","compilerCache","whitespace","characterEncoding","identifier","operators","pseudos","pos","rpseudo","rheader","rinputs","ID","CLASS","NAME","TAG","ATTR","PSEUDO","POS","CHILD","assert","assertTagNameNoComments","createComment","assertHrefNotNormalized","assertAttributes","assertUsableName","getElementsByName","matchesSelector","textContent","adown","bup","compareDocumentPosition","attrHandle","selectors","createPseudo",">"," ","+","~","unquoted","excess","pattern","operator","check","diff","previousSibling","pseudo","idx","not","innerText","enabled","header","radio","checkbox","file","password","image","reset","activeElement","hasFocus","active","even","odd","lt","gt","sourceIndex","al","bl","ap","bp","aup","duplicates","group","disconnectedMatch","oldSelect","rescape","rattributeQuotes","rbuggyQSA","rbuggyMatches","mozMatchesSelector","webkitMatchesSelector","oMatchesSelector","msMatchesSelector","nid","newContext","newSelector","qsaError","filters","runtil","rparentsprev","rneedsContext","guaranteedUnique","children","r","targets","is","closest","prevAll","addBack","andSelf","parents","parentsUntil","until","nextAll","nextUntil","prevUntil","siblings","reverse","rinlinejQuery","rleadingWhitespace","rxhtmlTag","rtagName","rtbody","rhtml","rnoInnerhtml","rnocache","rnoshimcache","rchecked","rscriptType","rcleanScript","wrapMap","legend","thead","tr","td","col","area","safeFragment","fragmentDiv","optgroup","tfoot","colgroup","caption","th","append","createTextNode","wrapAll","html","wrap","wrapInner","unwrap","replaceWith","domManip","prepend","before","clean","after","keepData","dataAndEvents","deepDataAndEvents","detach","table","iNoClone","ajax","url","throws","cachehit","fragments","prependTo","insertAfter","replaceAll","insert","srcElements","destElements","depth","hasBody","handleScript","jsTags","safe","browser","uaMatch","ua","version","userAgent","chrome","webkit","safari","sub","jQuerySub","superclass","rootjQuerySub","ralpha","ropacity","rposition","rdisplayswap","rmargin","rrelNum","BODY","cssShow","position","visibility","cssNormalTransform","letterSpacing","fontWeight","eventsToggle","fn2","bool","computed","cssNumber","fillOpacity","lineHeight","orphans","widows","zIndex","cssProps","float","numeric","swap","minWidth","maxWidth","getPropertyValue","currentStyle","left","rsLeft","runtimeStyle","pixelLeft","$1","visible","margin","padding","border","suffix","expanded","r20","rCRLF","rinput","rselectTextarea","serialize","param","serializeArray","encodeURIComponent","ajaxLocParts","ajaxLocation","rhash","rheaders","rlocalProtocol","rnoContent","rprotocol","rquery","rscript","rts","rurl","_load","transports","allTypes","params","status","responseText","o","method","success","getScript","getJSON","ajaxSetup","settings","isLocal","contentType","processData","accepts","json","*","* text","text html","text json","text xml","ajaxPrefilter","ajaxTransport","nativeStatusText","headers","isSuccess","modified","statusText","timeoutTimer","transport","responseHeadersString","ifModified","lastModified","ifModifiedKey","etag","callbackContext","statusCode","fireGlobals","globalEventContext","completeDeferred","responseHeaders","requestHeaders","requestHeadersNames","strAbort","setRequestHeader","lname","getAllResponseHeaders","overrideMimeType","abort","crossDomain","hasContent","ts","beforeSend","send","oldCallbacks","rquestion","rjsonp","nonce","jsonp","jsonpCallback","originalSettings","callbackName","overwritten","responseContainer","hasCallback","replaceInUrl","replaceInData","script","text script","head","scriptCharset","charset","onload","onreadystatechange","isAbort","xhrCallbacks","xhrOnUnloadAbort","xhrId","xhr","cors","username","open","xhrFields","responseXML","firefoxAccessException","unload","timerId","rfxnum","rrun","unit","scale","maxIterations","tweener","prefilter","eased","step","cssFn","speed","animate","fadeTo","to","optall","doAnimation","stopQueue","timers","slideDown","slideUp","slideToggle","fadeIn","fadeOut","fadeToggle","linear","p","swing","cos","PI","setInterval","interval","clearInterval","slow","fast","animated","rroot","offset","setOffset","win","box","bodyOffset","getBoundingClientRect","pageYOffset","pageXOffset","offsetLeft","curTop","curLeft","curElem","curOffset","curCSSTop","curCSSLeft","calculatePosition","curPosition","using","offsetParent","parentOffset","scrollTo","Height","Width","content","defaultExtra","funcName","define","amd","Modal","element","$element","remote","isShown","that","escape","backdrop","transition","enforceFocus","hideWithTransition","hideModal","keyboard","removeBackdrop","$backdrop","doAnimate","modal","$this","defaults","Constructor","$target","_events","configure","conf","delimiter","wildcard","listenerTree","EventEmitter","searchListenerTree","tree","leaf","branch","xTree","xxTree","isolatedBranch","endReached","listeners","typeLength","currentType","nextType","_listeners","**","growListenerTree","listener","warned","defaultMaxListeners","maxListeners","console","trace","setMaxListeners","many","ttl","_origin","emit","newListener","_all","ns","onAny","addListener","leafs","iLeaf","offAny","removeListener","removeAllListeners","listenersAny","EventEmitter2","process","title","decodeURIComponent","isHostMethod","isHostObject","hasFlash","activeX","flashVersion","GetVariable","HAS_FLASH_THROTTLED_BUG","notSupportedException","dom_onReady","domIsReady","domReadyQueue","whenReady","scope","getParentObject","ii","easyXDM","_easyXDM","IFRAME_PREFIX","getDomainName","reURI","getPort","getLocation","proto","domain","port","resolveUrl","reDoubleSlash","path","pathname","lastIndexOf","protocol","host","reParent","appendQueryParameters","parameters","hash","q","useHash","undef","destination","noOverwrite","member","testForNamePropertyBug","channelId","HAS_NAME_PROPERTY_BUG","createFrame","config","frame","onLoad","allowTransparency","checkAcl","acl","re","prepareTransportStack","stackEls","isHost","query","xdm_p","channel","secret","swf","product","remoteHelper","xdm_c","xdm_s","xdm_e","useResize","useParent","usePolling","local","images","search","xdm_pa","xdm_po","HashTransport","ReliableBehavior","QueueBehavior","encode","maxLength","VerifyBehavior","initiate","PostMessageTransport","NameTransport","NixTransport","SameOriginTransport","FrameElementTransport","FlashTransport","lazy","chainStack","stackElements","stackEl","incoming","message","origin","up","outgoing","recipient","down","destroy","removeFromStack","un","floor","emptyFn","sEvent","fpNotify","pair","evalJSON","getJSONObject","DomHelper","requiresJSON","_map","Fn","del","Socket","onMessage","onReady","postMessage","Rpc","jsonRpcConfig","RpcBehavior","pub","targetOrigin","onDOMReady","sendFn","addSwf","swfContainer","swfNoThrottle","right","flashVars","destroyChannel","swfdomain","createChannel","_getOrigin","uri","_window_onMessage","callerWindow","waitForReady","referrer","_sendMessage","sendMessage","_onReady","readyCount","_onMessage","remoteOrigin","_onLoad","remoteWindow","remoteUrl","w","_callerWindow","_msgNr","_handleHash","_lastMsg","_remoteOrigin","_pollHash","_listenerWindow","_attachListeners","_timer","pollInterval","tries","getRef","frames","ex","idOut","idIn","currentMessage","ack","waiting","destroying","doFragment","seq","startVerification","mySecret","theirSecret","_send","jsonrpc","serializer","_createMethod","definition","_callbacks","_callbackCounter","namedParams","_executeMethod","code","ex1","_absolutizeURI","removeDotSegments","output","_parseURI","authority","hostname","appConfigReplacer","Apps","overwrite","isFunc","S4","array","isLocalRequest","urlLower","isNativeDOMNode","testObject","bIsNode","Node","bIsElement","HTMLElement","log","_ct","_f2t","_handlerCollection","appCreateRoot","appRenderBefore","appDestroyBefore","appRenderAfter","appDestroyAfter","appRender","appDestroy","_defaultMethods","appConfig","appHtml","$root","root","appInstance","app","appId","_createHandler","sNamespace","func_or_element","bDomNodeAppropriate","_validateToken","domNode","sToken","_removeHandler","eventKey","currentEventKey","eventCollection","newEvents","ec","currentEventHandler","newHandlerCollection","iCounter","hc","currentHandler","getToken","__f2GetToken","__trigger","passableArgs","hcl","$appRoot","arData","AppHandlers","APP_CREATE_ROOT","APP_RENDER_BEFORE","APP_RENDER","APP_RENDER_AFTER","APP_DESTROY_BEFORE","APP_DESTROY","APP_DESTROY_AFTER","App","AppConfig","enableBatchRequests","instanceId","isSecure","manifestUrl","minGridSize","ui","views","AppManifest","apps","inlineScripts","styles","AppContent","ContainerConfig","afterAppRender","beforeAppRender","isSecureAppPage","secureAppPagePath","supportedViews","UI","Mask","backgroundColor","loadingIcon","useClasses","Css","_PREFIX","APP","APP_CONTAINER","APP_TITLE","APP_VIEW","APP_VIEW_TRIGGER","MASK","MASK_CONTAINER","Events","_APP_EVENT_PREFIX","_CONTAINER_EVENT_PREFIX","APP_SYMBOL_CHANGE","APP_WIDTH_CHANGE","CONTAINER_SYMBOL_CHANGE","CONTAINER_WIDTH_CHANGE","JSONP_CALLBACK","Sockets","EVENT","LOAD","RPC","RPC_CALLBACK","UI_RPC","Views","DATA_ATTRIBUTE","ABOUT","HELP","HOME","REMOVE","SETTINGS","_socketEmit","broadcast","Constants","timesToListen","_secureAppPagePath","_apps","_rEvents","_rRpc","_rRpcCallback","_rSocketLoad","_rUiCall","_createAppToContainerSocket","isLoaded","messagePlayback","socket","appParts","registerApps","_createContainerToAppSocket","appManifest","iframeProps","scrolling","_createRpcCallback","callbackId","parseFunction","functionName","parseMessage","regEx","callbacks","_registerCallback","messageType","cid","isRemote","register","_containerConfig","UI_Class","_appConfig","_updateHeight","outerHeight","hideMask","Modals","_renderAlert","_renderConfirm","alert","isInit","confirm","okCallback","cancelCallback","setTitle","showMask","showLoader","updateHeight","_rValidEvents","_isValid","containerConfig","showLoading","mask","background-color","background-image","background-position","background-repeat","min-height","z-index","_config","_bUsesAppHandlers","_sAppHandlerToken","_afterAppRender","appContainer","_appRender","_outerHtml","_beforeAppRender","_hydrateAppConfig","_initAppEvents","view","removeApp","_initContainerEvents","resizeTimeout","resizeHandler","_isInit","_createAppInstance","appContent","_loadApps","appConfigs","_loadSecureApp","inlines","scriptCount","scriptsLoaded","appInit","evalInlines","exception","stylesFragment","useCreateStyleSheet","createStyleSheet","jqxhr","_validateApp","_validateContainerConfig","getContainerState","appManifests","appStack","batches","callbackStack","haveManifests","req","requests","manifestRequest","completeFunc","errorFunc","item","successFunc","requestFunc","successCallback","errorCallback","completeCallback","removeAllApps"],"mappings":"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"} \ No newline at end of file diff --git a/sdk/f2.no-third-party.js b/sdk/f2.no-third-party.js index 8cb41908..9d28d239 100644 --- a/sdk/f2.no-third-party.js +++ b/sdk/f2.no-third-party.js @@ -2723,12 +2723,21 @@ F2.extend('', (function(){ }); }; - // load styles - var stylesFragment = []; + // load styles, see #101 + var stylesFragment = null, + useCreateStyleSheet = !!document.createStyleSheet; jQuery.each(styles, function(i, e) { - stylesFragment.push(''); + if (useCreateStyleSheet) { + document.createStyleSheet(e); + } else { + stylesFragment = stylesFragment || []; + stylesFragment.push(''); + } }); - jQuery('head').append(stylesFragment.join('')); + + if (stylesFragment){ + jQuery('head').append(stylesFragment.join('')); + } // load html jQuery.each(appManifest.apps, function(i, a) { diff --git a/sdk/src/container.js b/sdk/src/container.js index c16262b4..00180221 100644 --- a/sdk/src/container.js +++ b/sdk/src/container.js @@ -213,12 +213,21 @@ F2.extend('', (function(){ }); }; - // load styles - var stylesFragment = []; + // load styles, see #101 + var stylesFragment = null, + useCreateStyleSheet = !!document.createStyleSheet; jQuery.each(styles, function(i, e) { - stylesFragment.push(''); + if (useCreateStyleSheet) { + document.createStyleSheet(e); + } else { + stylesFragment = stylesFragment || []; + stylesFragment.push(''); + } }); - jQuery('head').append(stylesFragment.join('')); + + if (stylesFragment){ + jQuery('head').append(stylesFragment.join('')); + } // load html jQuery.each(appManifest.apps, function(i, a) { From 84fa71a7b9a83407988d3c68d848a1cb0a25b004 Mon Sep 17 00:00:00 2001 From: markhealey Date: Mon, 24 Jun 2013 10:21:13 -0600 Subject: [PATCH 12/36] Minor app comment --- examples/apps/JavaScript/Chart/appclass.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/apps/JavaScript/Chart/appclass.js b/examples/apps/JavaScript/Chart/appclass.js index 2cf91fa4..5bb3c7d0 100644 --- a/examples/apps/JavaScript/Chart/appclass.js +++ b/examples/apps/JavaScript/Chart/appclass.js @@ -30,7 +30,7 @@ F2.Apps["com_openf2_examples_javascript_chart"] = (function(){ /** for example purposes*/ console.group('Chart app'); - console.info('The chart app (com_openf2_examples_javascript_chart) has configuration options which can be override by using Context. Set a "style" property in the AppConfig\'s Context property. The current AppConfig is on the next line.'); + console.info('The chart app (com_openf2_examples_javascript_chart) has configuration options which can be overriden by using Context. Set a "style" property in the AppConfig\'s Context property. The current AppConfig is on the next line.'); console.info(this.appConfig); console.info('The chart\'s configuration parameters (defaults) are found in the following hash'); console.info(defaults); From 25985de42fbbc3b909da765f7b6427fb8e6f3c32 Mon Sep 17 00:00:00 2001 From: markhealey Date: Mon, 24 Jun 2013 12:10:44 -0600 Subject: [PATCH 13/36] Adding task to copy f2.js to root during build --- Gruntfile.js | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/Gruntfile.js b/Gruntfile.js index 16debe05..e7d3ea84 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -50,6 +50,19 @@ module.exports = function(grunt) { } } }, + 'f2ToRoot': { + files: [ + { + expand: true, + cwd: 'sdk/', + src: 'f2.min.js', + dest: './', + rename: function(dest,src){ + return './f2.js'; + } + } + ] + }, 'github-pages': { files: [ { @@ -383,7 +396,7 @@ module.exports = function(grunt) { grunt.registerTask('docs', ['less', 'yuidoc', 'copy:docs', 'markitdown', 'clean:docs']); grunt.registerTask('github-pages', ['copy:github-pages', 'clean:github-pages']); grunt.registerTask('zip', ['compress', 'copy:F2-examples', 'clean:F2-examples']); - grunt.registerTask('js', ['jshint', 'concat', 'uglify:dist', 'sourcemap']); + grunt.registerTask('js', ['jshint', 'concat', 'uglify:dist', 'sourcemap', 'copy:f2ToRoot']); grunt.registerTask('sourcemap', ['uglify:sourcemap', 'fix-sourcemap']); grunt.registerTask('test', ['jshint', 'express', 'jasmine'/*, 'express-keepalive'*/]); grunt.registerTask('travis', ['test']); From 97211ca4a9cfb3b9d63c327b7736e6e3f7728c8e Mon Sep 17 00:00:00 2001 From: markhealey Date: Mon, 24 Jun 2013 14:40:53 -0600 Subject: [PATCH 14/36] Fine-tuning build: F2 version # in src, new basic packages --- F2-1.2.1.js | 126 + Gruntfile.js | 48 +- f2.js | 122 - package.json | 4 +- sdk/f2.debug.js | 6 +- sdk/f2.min.js | 28 +- sdk/f2.min.map | 2 +- sdk/f2.no-third-party.js | 2 +- sdk/packages/f2.no-bootstrap.js | 16408 ++++++++++++++++ sdk/packages/f2.no-bootstrap.min.js | 108 + sdk/packages/f2.no-jquery-or-bootstrap.js | 6922 +++++++ sdk/packages/f2.no-jquery-or-bootstrap.min.js | 74 + sdk/src/F2.js | 2 +- sdk/src/third-party/eventemitter2.js | 2 +- sdk/src/third-party/jquery.noconflict.js | 2 +- 15 files changed, 23707 insertions(+), 149 deletions(-) create mode 100644 F2-1.2.1.js delete mode 100644 f2.js create mode 100644 sdk/packages/f2.no-bootstrap.js create mode 100644 sdk/packages/f2.no-bootstrap.min.js create mode 100644 sdk/packages/f2.no-jquery-or-bootstrap.js create mode 100644 sdk/packages/f2.no-jquery-or-bootstrap.min.js diff --git a/F2-1.2.1.js b/F2-1.2.1.js new file mode 100644 index 00000000..72c0a5ad --- /dev/null +++ b/F2-1.2.1.js @@ -0,0 +1,126 @@ +/*! F2 - v1.2.1 - 06-24-2013 - See below for copyright and license */ +!function(exports){if(!exports.F2||exports.F2_TESTING_MODE){/*! + JSON.org requires the following notice to accompany json2: + + Copyright (c) 2002 JSON.org + + http://json.org + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + + The Software shall be used for Good, not Evil. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + IN THE SOFTWARE. +*/ +"object"!=typeof JSON&&(JSON={}),function(){"use strict";function f(a){return 10>a?"0"+a:a}function quote(a){return escapable.lastIndex=0,escapable.test(a)?'"'+a.replace(escapable,function(a){var b=meta[a];return"string"==typeof b?b:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+a+'"'}function str(a,b){var c,d,e,f,g,h=gap,i=b[a];switch(i&&"object"==typeof i&&"function"==typeof i.toJSON&&(i=i.toJSON(a)),"function"==typeof rep&&(i=rep.call(b,a,i)),typeof i){case"string":return quote(i);case"number":return isFinite(i)?String(i):"null";case"boolean":case"null":return String(i);case"object":if(!i)return"null";if(gap+=indent,g=[],"[object Array]"===Object.prototype.toString.apply(i)){for(f=i.length,c=0;f>c;c+=1)g[c]=str(c,i)||"null";return e=0===g.length?"[]":gap?"[\n"+gap+g.join(",\n"+gap)+"\n"+h+"]":"["+g.join(",")+"]",gap=h,e}if(rep&&"object"==typeof rep)for(f=rep.length,c=0;f>c;c+=1)"string"==typeof rep[c]&&(d=rep[c],e=str(d,i),e&&g.push(quote(d)+(gap?": ":":")+e));else for(d in i)Object.prototype.hasOwnProperty.call(i,d)&&(e=str(d,i),e&&g.push(quote(d)+(gap?": ":":")+e));return e=0===g.length?"{}":gap?"{\n"+gap+g.join(",\n"+gap)+"\n"+h+"}":"{"+g.join(",")+"}",gap=h,e}}"function"!=typeof Date.prototype.toJSON&&(Date.prototype.toJSON=function(){return isFinite(this.valueOf())?this.getUTCFullYear()+"-"+f(this.getUTCMonth()+1)+"-"+f(this.getUTCDate())+"T"+f(this.getUTCHours())+":"+f(this.getUTCMinutes())+":"+f(this.getUTCSeconds())+"Z":null},String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(){return this.valueOf()});var cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,escapable=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,gap,indent,meta={"\b":"\\b"," ":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},rep;"function"!=typeof JSON.stringify&&(JSON.stringify=function(a,b,c){var d;if(gap="",indent="","number"==typeof c)for(d=0;c>d;d+=1)indent+=" ";else"string"==typeof c&&(indent=c);if(rep=b,b&&"function"!=typeof b&&("object"!=typeof b||"number"!=typeof b.length))throw new Error("JSON.stringify");return str("",{"":a})}),"function"!=typeof JSON.parse&&(JSON.parse=function(text,reviver){function walk(a,b){var c,d,e=a[b];if(e&&"object"==typeof e)for(c in e)Object.prototype.hasOwnProperty.call(e,c)&&(d=walk(e,c),void 0!==d?e[c]=d:delete e[c]);return reviver.call(a,b,e)}var j;if(text=String(text),cx.lastIndex=0,cx.test(text)&&(text=text.replace(cx,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})),/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return j=eval("("+text+")"),"function"==typeof reviver?walk({"":j},""):j;throw new SyntaxError("JSON.parse")})}(),/*! + * jQuery JavaScript Library v1.8.3 + * The jQuery Foundation and other contributors require the following notice to accompany jQuery: + * + * Copyright (c) 2013 jQuery Foundation and other contributors + * + * http://jquery.com + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation + * files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, + * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software + * is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR + * IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +function(a,b){function c(a){var b=ob[a]={};return $.each(a.split(bb),function(a,c){b[c]=!0}),b}function d(a,c,d){if(d===b&&1===a.nodeType){var e="data-"+c.replace(qb,"-$1").toLowerCase();if(d=a.getAttribute(e),"string"==typeof d){try{d="true"===d?!0:"false"===d?!1:"null"===d?null:+d+""===d?+d:pb.test(d)?$.parseJSON(d):d}catch(f){}$.data(a,c,d)}else d=b}return d}function e(a){var b;for(b in a)if(("data"!==b||!$.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function f(){return!1}function g(){return!0}function h(a){return!a||!a.parentNode||11===a.parentNode.nodeType}function i(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}function j(a,b,c){if(b=b||0,$.isFunction(b))return $.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return $.grep(a,function(a){return a===b===c});if("string"==typeof b){var d=$.grep(a,function(a){return 1===a.nodeType});if(Kb.test(b))return $.filter(b,d,!c);b=$.filter(b,d)}return $.grep(a,function(a){return $.inArray(a,b)>=0===c})}function k(a){var b=Nb.split("|"),c=a.createDocumentFragment();if(c.createElement)for(;b.length;)c.createElement(b.pop());return c}function l(a,b){return a.getElementsByTagName(b)[0]||a.appendChild(a.ownerDocument.createElement(b))}function m(a,b){if(1===b.nodeType&&$.hasData(a)){var c,d,e,f=$._data(a),g=$._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)$.event.add(b,c,h[c][d])}g.data&&(g.data=$.extend({},g.data))}}function n(a,b){var c;1===b.nodeType&&(b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase(),"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),$.support.html5Clone&&a.innerHTML&&!$.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&Xb.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.selected=a.defaultSelected:"input"===c||"textarea"===c?b.defaultValue=a.defaultValue:"script"===c&&b.text!==a.text&&(b.text=a.text),b.removeAttribute($.expando))}function o(a){return"undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName("*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll("*"):[]}function p(a){Xb.test(a.type)&&(a.defaultChecked=a.checked)}function q(a,b){if(b in a)return b;for(var c=b.charAt(0).toUpperCase()+b.slice(1),d=b,e=rc.length;e--;)if(b=rc[e]+c,b in a)return b;return d}function r(a,b){return a=b||a,"none"===$.css(a,"display")||!$.contains(a.ownerDocument,a)}function s(a,b){for(var c,d,e=[],f=0,g=a.length;g>f;f++)c=a[f],c.style&&(e[f]=$._data(c,"olddisplay"),b?(e[f]||"none"!==c.style.display||(c.style.display=""),""===c.style.display&&r(c)&&(e[f]=$._data(c,"olddisplay",w(c.nodeName)))):(d=cc(c,"display"),e[f]||"none"===d||$._data(c,"olddisplay",d)));for(f=0;g>f;f++)c=a[f],c.style&&(b&&"none"!==c.style.display&&""!==c.style.display||(c.style.display=b?e[f]||"":"none"));return a}function t(a,b,c){var d=kc.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function u(a,b,c,d){for(var e=c===(d?"border":"content")?4:"width"===b?1:0,f=0;4>e;e+=2)"margin"===c&&(f+=$.css(a,c+qc[e],!0)),d?("content"===c&&(f-=parseFloat(cc(a,"padding"+qc[e]))||0),"margin"!==c&&(f-=parseFloat(cc(a,"border"+qc[e]+"Width"))||0)):(f+=parseFloat(cc(a,"padding"+qc[e]))||0,"padding"!==c&&(f+=parseFloat(cc(a,"border"+qc[e]+"Width"))||0));return f}function v(a,b,c){var d="width"===b?a.offsetWidth:a.offsetHeight,e=!0,f=$.support.boxSizing&&"border-box"===$.css(a,"boxSizing");if(0>=d||null==d){if(d=cc(a,b),(0>d||null==d)&&(d=a.style[b]),lc.test(d))return d;e=f&&($.support.boxSizingReliable||d===a.style[b]),d=parseFloat(d)||0}return d+u(a,b,c||(f?"border":"content"),e)+"px"}function w(a){if(nc[a])return nc[a];var b=$("<"+a+">").appendTo(P.body),c=b.css("display");return b.remove(),("none"===c||""===c)&&(dc=P.body.appendChild(dc||$.extend(P.createElement("iframe"),{frameBorder:0,width:0,height:0})),ec&&dc.createElement||(ec=(dc.contentWindow||dc.contentDocument).document,ec.write(""),ec.close()),b=ec.body.appendChild(ec.createElement(a)),c=cc(b,"display"),P.body.removeChild(dc)),nc[a]=c,c}function x(a,b,c,d){var e;if($.isArray(b))$.each(b,function(b,e){c||uc.test(a)?d(a,e):x(a+"["+("object"==typeof e?b:"")+"]",e,c,d)});else if(c||"object"!==$.type(b))d(a,b);else for(e in b)x(a+"["+e+"]",b[e],c,d)}function y(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e,f,g=b.toLowerCase().split(bb),h=0,i=g.length;if($.isFunction(c))for(;i>h;h++)d=g[h],f=/^\+/.test(d),f&&(d=d.substr(1)||"*"),e=a[d]=a[d]||[],e[f?"unshift":"push"](c)}}function z(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;for(var h,i=a[f],j=0,k=i?i.length:0,l=a===Kc;k>j&&(l||!h);j++)h=i[j](c,d,e),"string"==typeof h&&(!l||g[h]?h=b:(c.dataTypes.unshift(h),h=z(a,c,d,e,h,g)));return!l&&h||g["*"]||(h=z(a,c,d,e,"*",g)),h}function A(a,c){var d,e,f=$.ajaxSettings.flatOptions||{};for(d in c)c[d]!==b&&((f[d]?a:e||(e={}))[d]=c[d]);e&&$.extend(!0,a,e)}function B(a,c,d){var e,f,g,h,i=a.contents,j=a.dataTypes,k=a.responseFields;for(f in k)f in d&&(c[k[f]]=d[f]);for(;"*"===j[0];)j.shift(),e===b&&(e=a.mimeType||c.getResponseHeader("content-type"));if(e)for(f in i)if(i[f]&&i[f].test(e)){j.unshift(f);break}if(j[0]in d)g=j[0];else{for(f in d){if(!j[0]||a.converters[f+" "+j[0]]){g=f;break}h||(h=f)}g=g||h}return g?(g!==j[0]&&j.unshift(g),d[g]):void 0}function C(a,b){var c,d,e,f,g=a.dataTypes.slice(),h=g[0],i={},j=0;if(a.dataFilter&&(b=a.dataFilter(b,a.dataType)),g[1])for(c in a.converters)i[c.toLowerCase()]=a.converters[c];for(;e=g[++j];)if("*"!==e){if("*"!==h&&h!==e){if(c=i[h+" "+e]||i["* "+e],!c)for(d in i)if(f=d.split(" "),f[1]===e&&(c=i[h+" "+f[0]]||i["* "+f[0]])){c===!0?c=i[d]:i[d]!==!0&&(e=f[0],g.splice(j--,0,e));break}if(c!==!0)if(c&&a["throws"])b=c(b);else try{b=c(b)}catch(k){return{state:"parsererror",error:c?k:"No conversion from "+h+" to "+e}}}h=e}return{state:"success",data:b}}function D(){try{return new a.XMLHttpRequest}catch(b){}}function E(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function F(){return setTimeout(function(){Vc=b},0),Vc=$.now()}function G(a,b){$.each(b,function(b,c){for(var d=(_c[b]||[]).concat(_c["*"]),e=0,f=d.length;f>e;e++)if(d[e].call(a,b,c))return})}function H(a,b,c){var d,e=0,f=$c.length,g=$.Deferred().always(function(){delete h.elem}),h=function(){for(var b=Vc||F(),c=Math.max(0,i.startTime+i.duration-b),d=c/i.duration||0,e=1-d,f=0,h=i.tweens.length;h>f;f++)i.tweens[f].run(e);return g.notifyWith(a,[i,e,c]),1>e&&h?c:(g.resolveWith(a,[i]),!1)},i=g.promise({elem:a,props:$.extend({},b),opts:$.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:Vc||F(),duration:c.duration,tweens:[],createTween:function(b,c){var d=$.Tween(a,i.opts,b,c,i.opts.specialEasing[b]||i.opts.easing);return i.tweens.push(d),d},stop:function(b){for(var c=0,d=b?i.tweens.length:0;d>c;c++)i.tweens[c].run(1);return b?g.resolveWith(a,[i,b]):g.rejectWith(a,[i,b]),this}}),j=i.props;for(I(j,i.opts.specialEasing);f>e;e++)if(d=$c[e].call(i,a,j,i.opts))return d;return G(i,j),$.isFunction(i.opts.start)&&i.opts.start.call(a,i),$.fx.timer($.extend(h,{anim:i,queue:i.opts.queue,elem:a})),i.progress(i.opts.progress).done(i.opts.done,i.opts.complete).fail(i.opts.fail).always(i.opts.always)}function I(a,b){var c,d,e,f,g;for(c in a)if(d=$.camelCase(c),e=b[d],f=a[c],$.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=$.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function J(a,b,c){var d,e,f,g,h,i,j,k,l,m=this,n=a.style,o={},p=[],q=a.nodeType&&r(a);c.queue||(k=$._queueHooks(a,"fx"),null==k.unqueued&&(k.unqueued=0,l=k.empty.fire,k.empty.fire=function(){k.unqueued||l()}),k.unqueued++,m.always(function(){m.always(function(){k.unqueued--,$.queue(a,"fx").length||k.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[n.overflow,n.overflowX,n.overflowY],"inline"===$.css(a,"display")&&"none"===$.css(a,"float")&&($.support.inlineBlockNeedsLayout&&"inline"!==w(a.nodeName)?n.zoom=1:n.display="inline-block")),c.overflow&&(n.overflow="hidden",$.support.shrinkWrapBlocks||m.done(function(){n.overflow=c.overflow[0],n.overflowX=c.overflow[1],n.overflowY=c.overflow[2]}));for(d in b)if(f=b[d],Xc.exec(f)){if(delete b[d],i=i||"toggle"===f,f===(q?"hide":"show"))continue;p.push(d)}if(g=p.length){h=$._data(a,"fxshow")||$._data(a,"fxshow",{}),"hidden"in h&&(q=h.hidden),i&&(h.hidden=!q),q?$(a).show():m.done(function(){$(a).hide()}),m.done(function(){var b;$.removeData(a,"fxshow",!0);for(b in o)$.style(a,b,o[b])});for(d=0;g>d;d++)e=p[d],j=m.createTween(e,q?h[e]:0),o[e]=h[e]||$.style(a,e),e in h||(h[e]=j.start,q&&(j.end=j.start,j.start="width"===e||"height"===e?1:0))}}function K(a,b,c,d,e){return new K.prototype.init(a,b,c,d,e)}function L(a,b){var c,d={height:a},e=0;for(b=b?1:0;4>e;e+=2-b)c=qc[e],d["margin"+c]=d["padding"+c]=a;return b&&(d.opacity=d.width=a),d}function M(a){return $.isWindow(a)?a:9===a.nodeType?a.defaultView||a.parentWindow:!1}var N,O,P=a.document,Q=a.location,R=a.navigator,S=a.jQuery,T=a.$,U=Array.prototype.push,V=Array.prototype.slice,W=Array.prototype.indexOf,X=Object.prototype.toString,Y=Object.prototype.hasOwnProperty,Z=String.prototype.trim,$=function(a,b){return new $.fn.init(a,b,N)},_=/[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source,ab=/\S/,bb=/\s+/,cb=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,db=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,eb=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,fb=/^[\],:{}\s]*$/,gb=/(?:^|:|,)(?:\s*\[)+/g,hb=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,ib=/"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g,jb=/^-ms-/,kb=/-([\da-z])/gi,lb=function(a,b){return(b+"").toUpperCase()},mb=function(){P.addEventListener?(P.removeEventListener("DOMContentLoaded",mb,!1),$.ready()):"complete"===P.readyState&&(P.detachEvent("onreadystatechange",mb),$.ready())},nb={};$.fn=$.prototype={constructor:$,init:function(a,c,d){var e,f,g;if(!a)return this;if(a.nodeType)return this.context=this[0]=a,this.length=1,this;if("string"==typeof a){if(e="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:db.exec(a),!e||!e[1]&&c)return!c||c.jquery?(c||d).find(a):this.constructor(c).find(a);if(e[1])return c=c instanceof $?c[0]:c,g=c&&c.nodeType?c.ownerDocument||c:P,a=$.parseHTML(e[1],g,!0),eb.test(e[1])&&$.isPlainObject(c)&&this.attr.call(a,c,!0),$.merge(this,a);if(f=P.getElementById(e[2]),f&&f.parentNode){if(f.id!==e[2])return d.find(a);this.length=1,this[0]=f}return this.context=P,this.selector=a,this}return $.isFunction(a)?d.ready(a):(a.selector!==b&&(this.selector=a.selector,this.context=a.context),$.makeArray(a,this))},selector:"",jquery:"1.8.3",length:0,size:function(){return this.length},toArray:function(){return V.call(this)},get:function(a){return null==a?this.toArray():0>a?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=$.merge(this.constructor(),a);return d.prevObject=this,d.context=this.context,"find"===b?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")"),d},each:function(a,b){return $.each(this,a,b)},ready:function(a){return $.ready.promise().done(a),this},eq:function(a){return a=+a,-1===a?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(V.apply(this,arguments),"slice",V.call(arguments).join(","))},map:function(a){return this.pushStack($.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:U,sort:[].sort,splice:[].splice},$.fn.init.prototype=$.fn,$.extend=$.fn.extend=function(){var a,c,d,e,f,g,h=arguments[0]||{},i=1,j=arguments.length,k=!1;for("boolean"==typeof h&&(k=h,h=arguments[1]||{},i=2),"object"==typeof h||$.isFunction(h)||(h={}),j===i&&(h=this,--i);j>i;i++)if(null!=(a=arguments[i]))for(c in a)d=h[c],e=a[c],h!==e&&(k&&e&&($.isPlainObject(e)||(f=$.isArray(e)))?(f?(f=!1,g=d&&$.isArray(d)?d:[]):g=d&&$.isPlainObject(d)?d:{},h[c]=$.extend(k,g,e)):e!==b&&(h[c]=e));return h},$.extend({noConflict:function(b){return a.$===$&&(a.$=T),b&&a.jQuery===$&&(a.jQuery=S),$},isReady:!1,readyWait:1,holdReady:function(a){a?$.readyWait++:$.ready(!0)},ready:function(a){if(a===!0?!--$.readyWait:!$.isReady){if(!P.body)return setTimeout($.ready,1);$.isReady=!0,a!==!0&&--$.readyWait>0||(O.resolveWith(P,[$]),$.fn.trigger&&$(P).trigger("ready").off("ready"))}},isFunction:function(a){return"function"===$.type(a)},isArray:Array.isArray||function(a){return"array"===$.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return null==a?String(a):nb[X.call(a)]||"object"},isPlainObject:function(a){if(!a||"object"!==$.type(a)||a.nodeType||$.isWindow(a))return!1;try{if(a.constructor&&!Y.call(a,"constructor")&&!Y.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||Y.call(a,d)},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},error:function(a){throw new Error(a)},parseHTML:function(a,b,c){var d;return a&&"string"==typeof a?("boolean"==typeof b&&(c=b,b=0),b=b||P,(d=eb.exec(a))?[b.createElement(d[1])]:(d=$.buildFragment([a],b,c?null:[]),$.merge([],(d.cacheable?$.clone(d.fragment):d.fragment).childNodes))):null},parseJSON:function(b){return b&&"string"==typeof b?(b=$.trim(b),a.JSON&&a.JSON.parse?a.JSON.parse(b):fb.test(b.replace(hb,"@").replace(ib,"]").replace(gb,""))?new Function("return "+b)():($.error("Invalid JSON: "+b),void 0)):null},parseXML:function(c){var d,e;if(!c||"string"!=typeof c)return null;try{a.DOMParser?(e=new DOMParser,d=e.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(f){d=b}return d&&d.documentElement&&!d.getElementsByTagName("parsererror").length||$.error("Invalid XML: "+c),d},noop:function(){},globalEval:function(b){b&&ab.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(jb,"ms-").replace(kb,lb)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,c,d){var e,f=0,g=a.length,h=g===b||$.isFunction(a);if(d)if(h){for(e in a)if(c.apply(a[e],d)===!1)break}else for(;g>f&&c.apply(a[f++],d)!==!1;);else if(h){for(e in a)if(c.call(a[e],e,a[e])===!1)break}else for(;g>f&&c.call(a[f],f,a[f++])!==!1;);return a},trim:Z&&!Z.call(" ")?function(a){return null==a?"":Z.call(a)}:function(a){return null==a?"":(a+"").replace(cb,"")},makeArray:function(a,b){var c,d=b||[];return null!=a&&(c=$.type(a),null==a.length||"string"===c||"function"===c||"regexp"===c||$.isWindow(a)?U.call(d,a):$.merge(d,a)),d},inArray:function(a,b,c){var d;if(b){if(W)return W.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,c){var d=c.length,e=a.length,f=0;if("number"==typeof d)for(;d>f;f++)a[e++]=c[f];else for(;c[f]!==b;)a[e++]=c[f++];return a.length=e,a},grep:function(a,b,c){var d,e=[],f=0,g=a.length;for(c=!!c;g>f;f++)d=!!b(a[f],f),c!==d&&e.push(a[f]);return e},map:function(a,c,d){var e,f,g=[],h=0,i=a.length,j=a instanceof $||i!==b&&"number"==typeof i&&(i>0&&a[0]&&a[i-1]||0===i||$.isArray(a));if(j)for(;i>h;h++)e=c(a[h],h,d),null!=e&&(g[g.length]=e);else for(f in a)e=c(a[f],f,d),null!=e&&(g[g.length]=e);return g.concat.apply([],g)},guid:1,proxy:function(a,c){var d,e,f;return"string"==typeof c&&(d=a[c],c=a,a=d),$.isFunction(a)?(e=V.call(arguments,2),f=function(){return a.apply(c,e.concat(V.call(arguments)))},f.guid=a.guid=a.guid||$.guid++,f):b},access:function(a,c,d,e,f,g,h){var i,j=null==d,k=0,l=a.length;if(d&&"object"==typeof d){for(k in d)$.access(a,c,k,d[k],1,g,e);f=1}else if(e!==b){if(i=h===b&&$.isFunction(e),j&&(i?(i=c,c=function(a,b,c){return i.call($(a),c)}):(c.call(a,e),c=null)),c)for(;l>k;k++)c(a[k],d,i?e.call(a[k],k,c(a[k],d)):e,h);f=1}return f?a:j?c.call(a):l?c(a[0],d):g},now:function(){return(new Date).getTime()}}),$.ready.promise=function(b){if(!O)if(O=$.Deferred(),"complete"===P.readyState)setTimeout($.ready,1);else if(P.addEventListener)P.addEventListener("DOMContentLoaded",mb,!1),a.addEventListener("load",$.ready,!1);else{P.attachEvent("onreadystatechange",mb),a.attachEvent("onload",$.ready);var c=!1;try{c=null==a.frameElement&&P.documentElement}catch(d){}c&&c.doScroll&&function e(){if(!$.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}$.ready()}}()}return O.promise(b)},$.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){nb["[object "+b+"]"]=b.toLowerCase()}),N=$(P);var ob={};$.Callbacks=function(a){a="string"==typeof a?ob[a]||c(a):$.extend({},a);var d,e,f,g,h,i,j=[],k=!a.once&&[],l=function(b){for(d=a.memory&&b,e=!0,i=g||0,g=0,h=j.length,f=!0;j&&h>i;i++)if(j[i].apply(b[0],b[1])===!1&&a.stopOnFalse){d=!1;break}f=!1,j&&(k?k.length&&l(k.shift()):d?j=[]:m.disable())},m={add:function(){if(j){var b=j.length;!function c(b){$.each(b,function(b,d){var e=$.type(d);"function"===e?a.unique&&m.has(d)||j.push(d):d&&d.length&&"string"!==e&&c(d)})}(arguments),f?h=j.length:d&&(g=b,l(d))}return this},remove:function(){return j&&$.each(arguments,function(a,b){for(var c;(c=$.inArray(b,j,c))>-1;)j.splice(c,1),f&&(h>=c&&h--,i>=c&&i--)}),this},has:function(a){return $.inArray(a,j)>-1},empty:function(){return j=[],this},disable:function(){return j=k=d=b,this},disabled:function(){return!j},lock:function(){return k=b,d||m.disable(),this},locked:function(){return!k},fireWith:function(a,b){return b=b||[],b=[a,b.slice?b.slice():b],!j||e&&!k||(f?k.push(b):l(b)),this},fire:function(){return m.fireWith(this,arguments),this},fired:function(){return!!e}};return m},$.extend({Deferred:function(a){var b=[["resolve","done",$.Callbacks("once memory"),"resolved"],["reject","fail",$.Callbacks("once memory"),"rejected"],["notify","progress",$.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return $.Deferred(function(c){$.each(b,function(b,d){var f=d[0],g=a[b];e[d[1]]($.isFunction(g)?function(){var a=g.apply(this,arguments);a&&$.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f+"With"](this===e?c:this,[a])}:c[f])}),a=null}).promise()},promise:function(a){return null!=a?$.extend(a,d):d}},e={};return d.pipe=d.then,$.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=g.fire,e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b,c,d,e=0,f=V.call(arguments),g=f.length,h=1!==g||a&&$.isFunction(a.promise)?g:0,i=1===h?a:$.Deferred(),j=function(a,c,d){return function(e){c[a]=this,d[a]=arguments.length>1?V.call(arguments):e,d===b?i.notifyWith(c,d):--h||i.resolveWith(c,d)}};if(g>1)for(b=new Array(g),c=new Array(g),d=new Array(g);g>e;e++)f[e]&&$.isFunction(f[e].promise)?f[e].promise().done(j(e,d,f)).fail(i.reject).progress(j(e,c,b)):--h;return h||i.resolveWith(d,f),i.promise()}}),$.support=function(){var b,c,d,e,f,g,h,i,j,k,l,m=P.createElement("div");if(m.setAttribute("className","t"),m.innerHTML="
a",c=m.getElementsByTagName("*"),d=m.getElementsByTagName("a")[0],!c||!d||!c.length)return{};e=P.createElement("select"),f=e.appendChild(P.createElement("option")),g=m.getElementsByTagName("input")[0],d.style.cssText="top:1px;float:left;opacity:.5",b={leadingWhitespace:3===m.firstChild.nodeType,tbody:!m.getElementsByTagName("tbody").length,htmlSerialize:!!m.getElementsByTagName("link").length,style:/top/.test(d.getAttribute("style")),hrefNormalized:"/a"===d.getAttribute("href"),opacity:/^0.5/.test(d.style.opacity),cssFloat:!!d.style.cssFloat,checkOn:"on"===g.value,optSelected:f.selected,getSetAttribute:"t"!==m.className,enctype:!!P.createElement("form").enctype,html5Clone:"<:nav>"!==P.createElement("nav").cloneNode(!0).outerHTML,boxModel:"CSS1Compat"===P.compatMode,submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},g.checked=!0,b.noCloneChecked=g.cloneNode(!0).checked,e.disabled=!0,b.optDisabled=!f.disabled;try{delete m.test}catch(n){b.deleteExpando=!1}if(!m.addEventListener&&m.attachEvent&&m.fireEvent&&(m.attachEvent("onclick",l=function(){b.noCloneEvent=!1}),m.cloneNode(!0).fireEvent("onclick"),m.detachEvent("onclick",l)),g=P.createElement("input"),g.value="t",g.setAttribute("type","radio"),b.radioValue="t"===g.value,g.setAttribute("checked","checked"),g.setAttribute("name","t"),m.appendChild(g),h=P.createDocumentFragment(),h.appendChild(m.lastChild),b.checkClone=h.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=g.checked,h.removeChild(g),h.appendChild(m),m.attachEvent)for(j in{submit:!0,change:!0,focusin:!0})i="on"+j,k=i in m,k||(m.setAttribute(i,"return;"),k="function"==typeof m[i]),b[j+"Bubbles"]=k;return $(function(){var c,d,e,f,g="padding:0;margin:0;border:0;display:block;overflow:hidden;",h=P.getElementsByTagName("body")[0];h&&(c=P.createElement("div"),c.style.cssText="visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px",h.insertBefore(c,h.firstChild),d=P.createElement("div"),c.appendChild(d),d.innerHTML="
t
",e=d.getElementsByTagName("td"),e[0].style.cssText="padding:0;margin:0;border:0;display:none",k=0===e[0].offsetHeight,e[0].style.display="",e[1].style.display="none",b.reliableHiddenOffsets=k&&0===e[0].offsetHeight,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",b.boxSizing=4===d.offsetWidth,b.doesNotIncludeMarginInBodyOffset=1!==h.offsetTop,a.getComputedStyle&&(b.pixelPosition="1%"!==(a.getComputedStyle(d,null)||{}).top,b.boxSizingReliable="4px"===(a.getComputedStyle(d,null)||{width:"4px"}).width,f=P.createElement("div"),f.style.cssText=d.style.cssText=g,f.style.marginRight=f.style.width="0",d.style.width="1px",d.appendChild(f),b.reliableMarginRight=!parseFloat((a.getComputedStyle(f,null)||{}).marginRight)),"undefined"!=typeof d.style.zoom&&(d.innerHTML="",d.style.cssText=g+"width:1px;padding:1px;display:inline;zoom:1",b.inlineBlockNeedsLayout=3===d.offsetWidth,d.style.display="block",d.style.overflow="visible",d.innerHTML="
",d.firstChild.style.width="5px",b.shrinkWrapBlocks=3!==d.offsetWidth,c.style.zoom=1),h.removeChild(c),c=d=e=f=null)}),h.removeChild(m),c=d=e=f=g=h=m=null,b}();var pb=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,qb=/([A-Z])/g;$.extend({cache:{},deletedIds:[],uuid:0,expando:"jQuery"+($.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){return a=a.nodeType?$.cache[a[$.expando]]:a[$.expando],!!a&&!e(a)},data:function(a,c,d,e){if($.acceptData(a)){var f,g,h=$.expando,i="string"==typeof c,j=a.nodeType,k=j?$.cache:a,l=j?a[h]:a[h]&&h;if(l&&k[l]&&(e||k[l].data)||!i||d!==b)return l||(j?a[h]=l=$.deletedIds.pop()||$.guid++:l=h),k[l]||(k[l]={},j||(k[l].toJSON=$.noop)),("object"==typeof c||"function"==typeof c)&&(e?k[l]=$.extend(k[l],c):k[l].data=$.extend(k[l].data,c)),f=k[l],e||(f.data||(f.data={}),f=f.data),d!==b&&(f[$.camelCase(c)]=d),i?(g=f[c],null==g&&(g=f[$.camelCase(c)])):g=f,g}},removeData:function(a,b,c){if($.acceptData(a)){var d,f,g,h=a.nodeType,i=h?$.cache:a,j=h?a[$.expando]:$.expando;if(i[j]){if(b&&(d=c?i[j]:i[j].data)){$.isArray(b)||(b in d?b=[b]:(b=$.camelCase(b),b=b in d?[b]:b.split(" ")));for(f=0,g=b.length;g>f;f++)delete d[b[f]];if(!(c?e:$.isEmptyObject)(d))return}(c||(delete i[j].data,e(i[j])))&&(h?$.cleanData([a],!0):$.support.deleteExpando||i!=i.window?delete i[j]:i[j]=null)}}},_data:function(a,b,c){return $.data(a,b,c,!0)},acceptData:function(a){var b=a.nodeName&&$.noData[a.nodeName.toLowerCase()];return!b||b!==!0&&a.getAttribute("classid")===b}}),$.fn.extend({data:function(a,c){var e,f,g,h,i,j=this[0],k=0,l=null;if(a===b){if(this.length&&(l=$.data(j),1===j.nodeType&&!$._data(j,"parsedAttrs"))){for(g=j.attributes,i=g.length;i>k;k++)h=g[k].name,h.indexOf("data-")||(h=$.camelCase(h.substring(5)),d(j,h,l[h]));$._data(j,"parsedAttrs",!0)}return l}return"object"==typeof a?this.each(function(){$.data(this,a)}):(e=a.split(".",2),e[1]=e[1]?"."+e[1]:"",f=e[1]+"!",$.access(this,function(c){return c===b?(l=this.triggerHandler("getData"+f,[e[0]]),l===b&&j&&(l=$.data(j,a),l=d(j,a,l)),l===b&&e[1]?this.data(e[0]):l):(e[1]=c,this.each(function(){var b=$(this);b.triggerHandler("setData"+f,e),$.data(this,a,c),b.triggerHandler("changeData"+f,e)}),void 0)},null,c,arguments.length>1,null,!1))},removeData:function(a){return this.each(function(){$.removeData(this,a)})}}),$.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=$._data(a,b),c&&(!d||$.isArray(c)?d=$._data(a,b,$.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=$.queue(a,b),d=c.length,e=c.shift(),f=$._queueHooks(a,b),g=function(){$.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return $._data(a,c)||$._data(a,c,{empty:$.Callbacks("once memory").add(function(){$.removeData(a,b+"queue",!0),$.removeData(a,c,!0)})})}}),$.fn.extend({queue:function(a,c){var d=2;return"string"!=typeof a&&(c=a,a="fx",d--),arguments.length1)},removeAttr:function(a){return this.each(function(){$.removeAttr(this,a)})},prop:function(a,b){return $.access(this,$.prop,a,b,arguments.length>1)},removeProp:function(a){return a=$.propFix[a]||a,this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,f,g,h;if($.isFunction(a))return this.each(function(b){$(this).addClass(a.call(this,b,this.className))});if(a&&"string"==typeof a)for(b=a.split(bb),c=0,d=this.length;d>c;c++)if(e=this[c],1===e.nodeType)if(e.className||1!==b.length){for(f=" "+e.className+" ",g=0,h=b.length;h>g;g++)f.indexOf(" "+b[g]+" ")<0&&(f+=b[g]+" ");e.className=$.trim(f)}else e.className=a;return this},removeClass:function(a){var c,d,e,f,g,h,i;if($.isFunction(a))return this.each(function(b){$(this).removeClass(a.call(this,b,this.className))});if(a&&"string"==typeof a||a===b)for(c=(a||"").split(bb),h=0,i=this.length;i>h;h++)if(e=this[h],1===e.nodeType&&e.className){for(d=(" "+e.className+" ").replace(ub," "),f=0,g=c.length;g>f;f++)for(;d.indexOf(" "+c[f]+" ")>=0;)d=d.replace(" "+c[f]+" "," ");e.className=a?$.trim(d):""}return this},toggleClass:function(a,b){var c=typeof a,d="boolean"==typeof b;return $.isFunction(a)?this.each(function(c){$(this).toggleClass(a.call(this,c,this.className,b),b)}):this.each(function(){if("string"===c)for(var e,f=0,g=$(this),h=b,i=a.split(bb);e=i[f++];)h=d?h:!g.hasClass(e),g[h?"addClass":"removeClass"](e);else("undefined"===c||"boolean"===c)&&(this.className&&$._data(this,"__className__",this.className),this.className=this.className||a===!1?"":$._data(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(ub," ").indexOf(b)>=0)return!0;return!1},val:function(a){var c,d,e,f=this[0];{if(arguments.length)return e=$.isFunction(a),this.each(function(d){var f,g=$(this);1===this.nodeType&&(f=e?a.call(this,d,g.val()):a,null==f?f="":"number"==typeof f?f+="":$.isArray(f)&&(f=$.map(f,function(a){return null==a?"":a+""})),c=$.valHooks[this.type]||$.valHooks[this.nodeName.toLowerCase()],c&&"set"in c&&c.set(this,f,"value")!==b||(this.value=f))});if(f)return c=$.valHooks[f.type]||$.valHooks[f.nodeName.toLowerCase()],c&&"get"in c&&(d=c.get(f,"value"))!==b?d:(d=f.value,"string"==typeof d?d.replace(vb,""):null==d?"":d)}}}),$.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],!(!c.selected&&i!==e||($.support.optDisabled?c.disabled:null!==c.getAttribute("disabled"))||c.parentNode.disabled&&$.nodeName(c.parentNode,"optgroup"))){if(b=$(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c=$.makeArray(b);return $(a).find("option").each(function(){this.selected=$.inArray($(this).val(),c)>=0}),c.length||(a.selectedIndex=-1),c}}},attrFn:{},attr:function(a,c,d,e){var f,g,h,i=a.nodeType;if(a&&3!==i&&8!==i&&2!==i)return e&&$.isFunction($.fn[c])?$(a)[c](d):"undefined"==typeof a.getAttribute?$.prop(a,c,d):(h=1!==i||!$.isXMLDoc(a),h&&(c=c.toLowerCase(),g=$.attrHooks[c]||(zb.test(c)?sb:rb)),d!==b?null===d?($.removeAttr(a,c),void 0):g&&"set"in g&&h&&(f=g.set(a,d,c))!==b?f:(a.setAttribute(c,d+""),d):g&&"get"in g&&h&&null!==(f=g.get(a,c))?f:(f=a.getAttribute(c),null===f?b:f))},removeAttr:function(a,b){var c,d,e,f,g=0;if(b&&1===a.nodeType)for(d=b.split(bb);g=0:void 0}})});var Bb=/^(?:textarea|input|select)$/i,Cb=/^([^\.]*|)(?:\.(.+)|)$/,Db=/(?:^|\s)hover(\.\S+|)\b/,Eb=/^key/,Fb=/^(?:mouse|contextmenu)|click/,Gb=/^(?:focusinfocus|focusoutblur)$/,Hb=function(a){return $.event.special.hover?a:a.replace(Db,"mouseenter$1 mouseleave$1")};$.event={add:function(a,c,d,e,f){var g,h,i,j,k,l,m,n,o,p,q;if(3!==a.nodeType&&8!==a.nodeType&&c&&d&&(g=$._data(a))){for(d.handler&&(o=d,d=o.handler,f=o.selector),d.guid||(d.guid=$.guid++),i=g.events,i||(g.events=i={}),h=g.handle,h||(g.handle=h=function(a){return"undefined"==typeof $||a&&$.event.triggered===a.type?b:$.event.dispatch.apply(h.elem,arguments)},h.elem=a),c=$.trim(Hb(c)).split(" "),j=0;j=0&&(q=q.slice(0,-1),h=!0),q.indexOf(".")>=0&&(r=q.split("."),q=r.shift(),r.sort()),e&&!$.event.customEvent[q]||$.event.global[q]))if(c="object"==typeof c?c[$.expando]?c:new $.Event(q,c):new $.Event(q),c.type=q,c.isTrigger=!0,c.exclusive=h,c.namespace=r.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,l=q.indexOf(":")<0?"on"+q:"",e){if(c.result=b,c.target||(c.target=e),d=null!=d?$.makeArray(d):[],d.unshift(c),m=$.event.special[q]||{},!m.trigger||m.trigger.apply(e,d)!==!1){if(o=[[e,m.bindType||q]],!f&&!m.noBubble&&!$.isWindow(e)){for(p=m.delegateType||q,j=Gb.test(p+q)?e:e.parentNode,k=e;j;j=j.parentNode)o.push([j,p]),k=j;k===(e.ownerDocument||P)&&o.push([k.defaultView||k.parentWindow||a,p])}for(i=0;id;d++)k=m[d],l=k.selector,h[l]===b&&(h[l]=k.needsContext?$(l,this).index(f)>=0:$.find(l,this,null,[f]).length),h[l]&&j.push(k);j.length&&r.push({elem:f,matches:j})}for(m.length>n&&r.push({elem:this,matches:m.slice(n)}),d=0;d0?this.on(b,null,a,c):this.trigger(b)},Eb.test(b)&&($.event.fixHooks[b]=$.event.keyHooks),Fb.test(b)&&($.event.fixHooks[b]=$.event.mouseHooks)}),/*! + * Sizzle CSS Selector Engine + * Copyright 2012 jQuery Foundation and other contributors + * Released under the MIT license + * http://sizzlejs.com/ + */ +function(a,b){function c(a,b,c,d){c=c||[],b=b||F;var e,f,g,h,i=b.nodeType;if(!a||"string"!=typeof a)return c;if(1!==i&&9!==i)return[];if(g=v(b),!g&&!d&&(e=cb.exec(a)))if(h=e[1]){if(9===i){if(f=b.getElementById(h),!f||!f.parentNode)return c;if(f.id===h)return c.push(f),c}else if(b.ownerDocument&&(f=b.ownerDocument.getElementById(h))&&w(b,f)&&f.id===h)return c.push(f),c}else{if(e[2])return K.apply(c,L.call(b.getElementsByTagName(a),0)),c;if((h=e[3])&&mb&&b.getElementsByClassName)return K.apply(c,L.call(b.getElementsByClassName(h),0)),c}return p(a.replace(Z,"$1"),b,c,d,g)}function d(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function e(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function f(a){return N(function(b){return b=+b,N(function(c,d){for(var e,f=a([],c.length,b),g=f.length;g--;)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function g(a,b,c){if(a===b)return c;for(var d=a.nextSibling;d;){if(d===b)return-1;d=d.nextSibling}return 1}function h(a,b){var d,e,f,g,h,i,j,k=Q[D][a+" "];if(k)return b?0:k.slice(0);for(h=a,i=[],j=t.preFilter;h;){(!d||(e=_.exec(h)))&&(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),d=!1,(e=ab.exec(h))&&(f.push(d=new E(e.shift())),h=h.slice(d.length),d.type=e[0].replace(Z," "));for(g in t.filter)!(e=hb[g].exec(h))||j[g]&&!(e=j[g](e))||(f.push(d=new E(e.shift())),h=h.slice(d.length),d.type=g,d.matches=e);if(!d)break}return b?h.length:h?c.error(a):Q(a,i).slice(0)}function i(a,b,c){var d=b.dir,e=c&&"parentNode"===b.dir,f=I++;return b.first?function(b,c,f){for(;b=b[d];)if(e||1===b.nodeType)return a(b,c,f)}:function(b,c,g){if(g){for(;b=b[d];)if((e||1===b.nodeType)&&a(b,c,g))return b}else for(var h,i=H+" "+f+" ",j=i+r;b=b[d];)if(e||1===b.nodeType){if((h=b[D])===j)return b.sizset;if("string"==typeof h&&0===h.indexOf(i)){if(b.sizset)return b}else{if(b[D]=j,a(b,c,g))return b.sizset=!0,b;b.sizset=!1}}}}function j(a){return a.length>1?function(b,c,d){for(var e=a.length;e--;)if(!a[e](b,c,d))return!1;return!0}:a[0]}function k(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function l(a,b,c,d,e,f){return d&&!d[D]&&(d=l(d)),e&&!e[D]&&(e=l(e,f)),N(function(f,g,h,i){var j,l,m,n=[],p=[],q=g.length,r=f||o(b||"*",h.nodeType?[h]:h,[]),s=!a||!f&&b?r:k(r,n,a,h,i),t=c?e||(f?a:q||d)?[]:g:s;if(c&&c(s,t,h,i),d)for(j=k(t,p),d(j,[],h,i),l=j.length;l--;)(m=j[l])&&(t[p[l]]=!(s[p[l]]=m));if(f){if(e||a){if(e){for(j=[],l=t.length;l--;)(m=t[l])&&j.push(s[l]=m);e(null,t=[],j,i)}for(l=t.length;l--;)(m=t[l])&&(j=e?M.call(f,m):n[l])>-1&&(f[j]=!(g[j]=m))}}else t=k(t===g?t.splice(q,t.length):t),e?e(null,g,t,i):K.apply(g,t)})}function m(a){for(var b,c,d,e=a.length,f=t.relative[a[0].type],g=f||t.relative[" "],h=f?1:0,k=i(function(a){return a===b},g,!0),n=i(function(a){return M.call(b,a)>-1},g,!0),o=[function(a,c,d){return!f&&(d||c!==A)||((b=c).nodeType?k(a,c,d):n(a,c,d))}];e>h;h++)if(c=t.relative[a[h].type])o=[i(j(o),c)];else{if(c=t.filter[a[h].type].apply(null,a[h].matches),c[D]){for(d=++h;e>d&&!t.relative[a[d].type];d++);return l(h>1&&j(o),h>1&&a.slice(0,h-1).join("").replace(Z,"$1"),c,d>h&&m(a.slice(h,d)),e>d&&m(a=a.slice(d)),e>d&&a.join(""))}o.push(c)}return j(o)}function n(a,b){var d=b.length>0,e=a.length>0,f=function(g,h,i,j,l){var m,n,o,p=[],q=0,s="0",u=g&&[],v=null!=l,w=A,x=g||e&&t.find.TAG("*",l&&h.parentNode||h),y=H+=null==w?1:Math.E;for(v&&(A=h!==F&&h,r=f.el);null!=(m=x[s]);s++){if(e&&m){for(n=0;o=a[n];n++)if(o(m,h,i)){j.push(m);break}v&&(H=y,r=++f.el)}d&&((m=!o&&m)&&q--,g&&u.push(m))}if(q+=s,d&&s!==q){for(n=0;o=b[n];n++)o(u,p,h,i);if(g){if(q>0)for(;s--;)u[s]||p[s]||(p[s]=J.call(j));p=k(p)}K.apply(j,p),v&&!g&&p.length>0&&q+b.length>1&&c.uniqueSort(j)}return v&&(H=y,A=w),u};return f.el=0,d?N(f):f}function o(a,b,d){for(var e=0,f=b.length;f>e;e++)c(a,b[e],d);return d}function p(a,b,c,d,e){var f,g,i,j,k,l=h(a);if(l.length,!d&&1===l.length){if(g=l[0]=l[0].slice(0),g.length>2&&"ID"===(i=g[0]).type&&9===b.nodeType&&!e&&t.relative[g[1].type]){if(b=t.find.ID(i.matches[0].replace(gb,""),b,e)[0],!b)return c;a=a.slice(g.shift().length)}for(f=hb.POS.test(a)?-1:g.length-1;f>=0&&(i=g[f],!t.relative[j=i.type]);f--)if((k=t.find[j])&&(d=k(i.matches[0].replace(gb,""),db.test(g[0].type)&&b.parentNode||b,e))){if(g.splice(f,1),a=d.length&&g.join(""),!a)return K.apply(c,L.call(d,0)),c;break}}return x(a,l)(d,b,e,c,db.test(a)),c}function q(){}var r,s,t,u,v,w,x,y,z,A,B=!0,C="undefined",D=("sizcache"+Math.random()).replace(".",""),E=String,F=a.document,G=F.documentElement,H=0,I=0,J=[].pop,K=[].push,L=[].slice,M=[].indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;return-1},N=function(a,b){return a[D]=null==b||b,a},O=function(){var a={},b=[];return N(function(c,d){return b.push(c)>t.cacheLength&&delete a[b.shift()],a[c+" "]=d},a)},P=O(),Q=O(),R=O(),S="[\\x20\\t\\r\\n\\f]",T="(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+",U=T.replace("w","w#"),V="([*^$|!~]?=)",W="\\["+S+"*("+T+")"+S+"*(?:"+V+S+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+U+")|)|)"+S+"*\\]",X=":("+T+")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|([^()[\\]]*|(?:(?:"+W+")|[^:]|\\\\.)*|.*))\\)|)",Y=":(even|odd|eq|gt|lt|nth|first|last)(?:\\("+S+"*((?:-\\d)?\\d*)"+S+"*\\)|)(?=[^-]|$)",Z=new RegExp("^"+S+"+|((?:^|[^\\\\])(?:\\\\.)*)"+S+"+$","g"),_=new RegExp("^"+S+"*,"+S+"*"),ab=new RegExp("^"+S+"*([\\x20\\t\\r\\n\\f>+~])"+S+"*"),bb=new RegExp(X),cb=/^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/,db=/[\x20\t\r\n\f]*[+~]/,eb=/h\d/i,fb=/input|select|textarea|button/i,gb=/\\(?!\\)/g,hb={ID:new RegExp("^#("+T+")"),CLASS:new RegExp("^\\.("+T+")"),NAME:new RegExp("^\\[name=['\"]?("+T+")['\"]?\\]"),TAG:new RegExp("^("+T.replace("w","w*")+")"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+X),POS:new RegExp(Y,"i"),CHILD:new RegExp("^:(only|nth|first|last)-child(?:\\("+S+"*(even|odd|(([+-]|)(\\d*)n|)"+S+"*(?:([+-]|)"+S+"*(\\d+)|))"+S+"*\\)|)","i"),needsContext:new RegExp("^"+S+"*[>+~]|"+Y,"i")},ib=function(a){var b=F.createElement("div");try{return a(b)}catch(c){return!1}finally{b=null}},jb=ib(function(a){return a.appendChild(F.createComment("")),!a.getElementsByTagName("*").length}),kb=ib(function(a){return a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!==C&&"#"===a.firstChild.getAttribute("href")}),lb=ib(function(a){a.innerHTML="";var b=typeof a.lastChild.getAttribute("multiple");return"boolean"!==b&&"string"!==b}),mb=ib(function(a){return a.innerHTML="",a.getElementsByClassName&&a.getElementsByClassName("e").length?(a.lastChild.className="e",2===a.getElementsByClassName("e").length):!1}),nb=ib(function(a){a.id=D+0,a.innerHTML="
",G.insertBefore(a,G.firstChild);var b=F.getElementsByName&&F.getElementsByName(D).length===2+F.getElementsByName(D+0).length;return s=!F.getElementById(D),G.removeChild(a),b});try{L.call(G.childNodes,0)[0].nodeType}catch(ob){L=function(a){for(var b,c=[];b=this[a];a++)c.push(b);return c}}c.matches=function(a,b){return c(a,null,null,b)},c.matchesSelector=function(a,b){return c(b,null,null,[a]).length>0},u=c.getText=function(a){var b,c="",d=0,e=a.nodeType;if(e){if(1===e||9===e||11===e){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=u(a)}else if(3===e||4===e)return a.nodeValue}else for(;b=a[d];d++)c+=u(b);return c},v=c.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},w=c.contains=G.contains?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!!(d&&1===d.nodeType&&c.contains&&c.contains(d))}:G.compareDocumentPosition?function(a,b){return b&&!!(16&a.compareDocumentPosition(b))}:function(a,b){for(;b=b.parentNode;)if(b===a)return!0;return!1},c.attr=function(a,b){var c,d=v(a);return d||(b=b.toLowerCase()),(c=t.attrHandle[b])?c(a):d||lb?a.getAttribute(b):(c=a.getAttributeNode(b),c?"boolean"==typeof a[b]?a[b]?b:null:c.specified?c.value:null:null)},t=c.selectors={cacheLength:50,createPseudo:N,match:hb,attrHandle:kb?{}:{href:function(a){return a.getAttribute("href",2)},type:function(a){return a.getAttribute("type")}},find:{ID:s?function(a,b,c){if(typeof b.getElementById!==C&&!c){var d=b.getElementById(a);return d&&d.parentNode?[d]:[]}}:function(a,c,d){if(typeof c.getElementById!==C&&!d){var e=c.getElementById(a);return e?e.id===a||typeof e.getAttributeNode!==C&&e.getAttributeNode("id").value===a?[e]:b:[]}},TAG:jb?function(a,b){return typeof b.getElementsByTagName!==C?b.getElementsByTagName(a):void 0}:function(a,b){var c=b.getElementsByTagName(a);if("*"===a){for(var d,e=[],f=0;d=c[f];f++)1===d.nodeType&&e.push(d);return e}return c},NAME:nb&&function(a,b){return typeof b.getElementsByName!==C?b.getElementsByName(name):void 0},CLASS:mb&&function(a,b,c){return typeof b.getElementsByClassName===C||c?void 0:b.getElementsByClassName(a)}},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(gb,""),a[3]=(a[4]||a[5]||"").replace(gb,""),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1]?(a[2]||c.error(a[0]),a[3]=+(a[3]?a[4]+(a[5]||1):2*("even"===a[2]||"odd"===a[2])),a[4]=+(a[6]+a[7]||"odd"===a[2])):a[2]&&c.error(a[0]),a},PSEUDO:function(a){var b,c;return hb.CHILD.test(a[0])?null:(a[3]?a[2]=a[3]:(b=a[4])&&(bb.test(b)&&(c=h(b,!0))&&(c=b.indexOf(")",b.length-c)-b.length)&&(b=b.slice(0,c),a[0]=a[0].slice(0,c)),a[2]=b),a.slice(0,3))}},filter:{ID:s?function(a){return a=a.replace(gb,""),function(b){return b.getAttribute("id")===a}}:function(a){return a=a.replace(gb,""),function(b){var c=typeof b.getAttributeNode!==C&&b.getAttributeNode("id");return c&&c.value===a}},TAG:function(a){return"*"===a?function(){return!0}:(a=a.replace(gb,"").toLowerCase(),function(b){return b.nodeName&&b.nodeName.toLowerCase()===a})},CLASS:function(a){var b=P[D][a+" "];return b||(b=new RegExp("(^|"+S+")"+a+"("+S+"|$)"))&&P(a,function(a){return b.test(a.className||typeof a.getAttribute!==C&&a.getAttribute("class")||"")})},ATTR:function(a,b,d){return function(e){var f=c.attr(e,a);return null==f?"!="===b:b?(f+="","="===b?f===d:"!="===b?f!==d:"^="===b?d&&0===f.indexOf(d):"*="===b?d&&f.indexOf(d)>-1:"$="===b?d&&f.substr(f.length-d.length)===d:"~="===b?(" "+f+" ").indexOf(d)>-1:"|="===b?f===d||f.substr(0,d.length+1)===d+"-":!1):!0}},CHILD:function(a,b,c,d){return"nth"===a?function(a){var b,e,f=a.parentNode;if(1===c&&0===d)return!0;if(f)for(e=0,b=f.firstChild;b&&(1!==b.nodeType||(e++,a!==b));b=b.nextSibling);return e-=d,e===c||0===e%c&&e/c>=0}:function(b){var c=b;switch(a){case"only":case"first":for(;c=c.previousSibling;)if(1===c.nodeType)return!1;if("first"===a)return!0;c=b;case"last":for(;c=c.nextSibling;)if(1===c.nodeType)return!1;return!0}}},PSEUDO:function(a,b){var d,e=t.pseudos[a]||t.setFilters[a.toLowerCase()]||c.error("unsupported pseudo: "+a);return e[D]?e(b):e.length>1?(d=[a,a,"",b],t.setFilters.hasOwnProperty(a.toLowerCase())?N(function(a,c){for(var d,f=e(a,b),g=f.length;g--;)d=M.call(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,d)}):e}},pseudos:{not:N(function(a){var b=[],c=[],d=x(a.replace(Z,"$1"));return d[D]?N(function(a,b,c,e){for(var f,g=d(a,null,e,[]),h=a.length;h--;)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:N(function(a){return function(b){return c(a,b).length>0}}),contains:N(function(a){return function(b){return(b.textContent||b.innerText||u(b)).indexOf(a)>-1}}),enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},parent:function(a){return!t.pseudos.empty(a)},empty:function(a){var b;for(a=a.firstChild;a;){if(a.nodeName>"@"||3===(b=a.nodeType)||4===b)return!1;a=a.nextSibling}return!0},header:function(a){return eb.test(a.nodeName)},text:function(a){var b,c;return"input"===a.nodeName.toLowerCase()&&"text"===(b=a.type)&&(null==(c=a.getAttribute("type"))||c.toLowerCase()===b)},radio:d("radio"),checkbox:d("checkbox"),file:d("file"),password:d("password"),image:d("image"),submit:e("submit"),reset:e("reset"),button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},input:function(a){return fb.test(a.nodeName)},focus:function(a){var b=a.ownerDocument;return a===b.activeElement&&(!b.hasFocus||b.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},active:function(a){return a===a.ownerDocument.activeElement},first:f(function(){return[0]}),last:f(function(a,b){return[b-1]}),eq:f(function(a,b,c){return[0>c?c+b:c]}),even:f(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:f(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:f(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:f(function(a,b,c){for(var d=0>c?c+b:c;++dk&&d>k;k++)if(e[k]!==f[k])return g(e[k],f[k]);return k===c?g(a,f[k],-1):g(e[k],b,1)},[0,0].sort(y),B=!z,c.uniqueSort=function(a){var b,c=[],d=1,e=0;if(z=B,a.sort(y),z){for(;b=a[d];d++)b===a[d-1]&&(e=c.push(d));for(;e--;)a.splice(c[e],1)}return a},c.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},x=c.compile=function(a,b){var c,d=[],e=[],f=R[D][a+" "];if(!f){for(b||(b=h(a)),c=b.length;c--;)f=m(b[c]),f[D]?d.push(f):e.push(f);f=R(a,n(e,d))}return f},F.querySelectorAll&&function(){var a,b=p,d=/'|\\/g,e=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,f=[":focus"],g=[":active"],i=G.matchesSelector||G.mozMatchesSelector||G.webkitMatchesSelector||G.oMatchesSelector||G.msMatchesSelector;ib(function(a){a.innerHTML="",a.querySelectorAll("[selected]").length||f.push("\\["+S+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),a.querySelectorAll(":checked").length||f.push(":checked")}),ib(function(a){a.innerHTML="

",a.querySelectorAll("[test^='']").length&&f.push("[*^$]="+S+"*(?:\"\"|'')"),a.innerHTML="",a.querySelectorAll(":enabled").length||f.push(":enabled",":disabled")}),f=new RegExp(f.join("|")),p=function(a,c,e,g,i){if(!g&&!i&&!f.test(a)){var j,k,l=!0,m=D,n=c,o=9===c.nodeType&&a;if(1===c.nodeType&&"object"!==c.nodeName.toLowerCase()){for(j=h(a),(l=c.getAttribute("id"))?m=l.replace(d,"\\$&"):c.setAttribute("id",m),m="[id='"+m+"'] ",k=j.length;k--;)j[k]=m+j[k].join("");n=db.test(a)&&c.parentNode||c,o=j.join(",")}if(o)try{return K.apply(e,L.call(n.querySelectorAll(o),0)),e}catch(p){}finally{l||c.removeAttribute("id")}}return b(a,c,e,g,i)},i&&(ib(function(b){a=i.call(b,"div");try{i.call(b,"[test!='']:sizzle"),g.push("!=",X)}catch(c){}}),g=new RegExp(g.join("|")),c.matchesSelector=function(b,d){if(d=d.replace(e,"='$1']"),!v(b)&&!g.test(d)&&!f.test(d))try{var h=i.call(b,d);if(h||a||b.document&&11!==b.document.nodeType)return h}catch(j){}return c(d,null,null,[b]).length>0})}(),t.pseudos.nth=t.pseudos.eq,t.filters=q.prototype=t.pseudos,t.setFilters=new q,c.attr=$.attr,$.find=c,$.expr=c.selectors,$.expr[":"]=$.expr.pseudos,$.unique=c.uniqueSort,$.text=c.getText,$.isXMLDoc=c.isXML,$.contains=c.contains}(a);var Ib=/Until$/,Jb=/^(?:parents|prev(?:Until|All))/,Kb=/^.[^:#\[\.,]*$/,Lb=$.expr.match.needsContext,Mb={children:!0,contents:!0,next:!0,prev:!0};$.fn.extend({find:function(a){var b,c,d,e,f,g,h=this;if("string"!=typeof a)return $(a).filter(function(){for(b=0,c=h.length;c>b;b++)if($.contains(h[b],this))return!0});for(g=this.pushStack("","find",a),b=0,c=this.length;c>b;b++)if(d=g.length,$.find(a,this[b],g),b>0)for(e=d;ef;f++)if(g[f]===g[e]){g.splice(e--,1);break}return g},has:function(a){var b,c=$(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if($.contains(this,c[b]))return!0})},not:function(a){return this.pushStack(j(this,a,!1),"not",a)},filter:function(a){return this.pushStack(j(this,a,!0),"filter",a)},is:function(a){return!!a&&("string"==typeof a?Lb.test(a)?$(a,this.context).index(this[0])>=0:$.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=Lb.test(a)||"string"!=typeof a?$(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c.ownerDocument&&c!==b&&11!==c.nodeType;){if(g?g.index(c)>-1:$.find.matchesSelector(c,a)){f.push(c);break}c=c.parentNode}return f=f.length>1?$.unique(f):f,this.pushStack(f,"closest",a)},index:function(a){return a?"string"==typeof a?$.inArray(this[0],$(a)):$.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.prevAll().length:-1},add:function(a,b){var c="string"==typeof a?$(a,b):$.makeArray(a&&a.nodeType?[a]:a),d=$.merge(this.get(),c);return this.pushStack(h(c[0])||h(d[0])?d:$.unique(d))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}}),$.fn.andSelf=$.fn.addBack,$.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return $.dir(a,"parentNode")},parentsUntil:function(a,b,c){return $.dir(a,"parentNode",c)},next:function(a){return i(a,"nextSibling")},prev:function(a){return i(a,"previousSibling")},nextAll:function(a){return $.dir(a,"nextSibling")},prevAll:function(a){return $.dir(a,"previousSibling")},nextUntil:function(a,b,c){return $.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return $.dir(a,"previousSibling",c)},siblings:function(a){return $.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return $.sibling(a.firstChild)},contents:function(a){return $.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:$.merge([],a.childNodes)}},function(a,b){$.fn[a]=function(c,d){var e=$.map(this,b,c);return Ib.test(a)||(d=c),d&&"string"==typeof d&&(e=$.filter(d,e)),e=this.length>1&&!Mb[a]?$.unique(e):e,this.length>1&&Jb.test(a)&&(e=e.reverse()),this.pushStack(e,a,V.call(arguments).join(","))}}),$.extend({filter:function(a,b,c){return c&&(a=":not("+a+")"),1===b.length?$.find.matchesSelector(b[0],a)?[b[0]]:[]:$.find.matches(a,b)},dir:function(a,c,d){for(var e=[],f=a[c];f&&9!==f.nodeType&&(d===b||1!==f.nodeType||!$(f).is(d));)1===f.nodeType&&e.push(f),f=f[c];return e},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}});var Nb="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",Ob=/ jQuery\d+="(?:null|\d+)"/g,Pb=/^\s+/,Qb=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,Rb=/<([\w:]+)/,Sb=/]","i"),Xb=/^(?:checkbox|radio)$/,Yb=/checked\s*(?:[^=]|=\s*.checked.)/i,Zb=/\/(java|ecma)script/i,$b=/^\s*\s*$/g,_b={option:[1,""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},ac=k(P),bc=ac.appendChild(P.createElement("div"));_b.optgroup=_b.option,_b.tbody=_b.tfoot=_b.colgroup=_b.caption=_b.thead,_b.th=_b.td,$.support.htmlSerialize||(_b._default=[1,"X
","
"]),$.fn.extend({text:function(a){return $.access(this,function(a){return a===b?$.text(this):this.empty().append((this[0]&&this[0].ownerDocument||P).createTextNode(a))},null,a,arguments.length)},wrapAll:function(a){if($.isFunction(a))return this.each(function(b){$(this).wrapAll(a.call(this,b))});if(this[0]){var b=$(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){for(var a=this;a.firstChild&&1===a.firstChild.nodeType;)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return $.isFunction(a)?this.each(function(b){$(this).wrapInner(a.call(this,b))}):this.each(function(){var b=$(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=$.isFunction(a);return this.each(function(c){$(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){$.nodeName(this,"body")||$(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){(1===this.nodeType||11===this.nodeType)&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){(1===this.nodeType||11===this.nodeType)&&this.insertBefore(a,this.firstChild)})},before:function(){if(!h(this[0]))return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=$.clean(arguments);return this.pushStack($.merge(a,this),"before",this.selector)}},after:function(){if(!h(this[0]))return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=$.clean(arguments);return this.pushStack($.merge(this,a),"after",this.selector)}},remove:function(a,b){for(var c,d=0;null!=(c=this[d]);d++)(!a||$.filter(a,[c]).length)&&(b||1!==c.nodeType||($.cleanData(c.getElementsByTagName("*")),$.cleanData([c])),c.parentNode&&c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)for(1===a.nodeType&&$.cleanData(a.getElementsByTagName("*"));a.firstChild;)a.removeChild(a.firstChild);return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return $.clone(this,a,b)})},html:function(a){return $.access(this,function(a){var c=this[0]||{},d=0,e=this.length;if(a===b)return 1===c.nodeType?c.innerHTML.replace(Ob,""):b;if(!("string"!=typeof a||Ub.test(a)||!$.support.htmlSerialize&&Wb.test(a)||!$.support.leadingWhitespace&&Pb.test(a)||_b[(Rb.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(Qb,"<$1>");try{for(;e>d;d++)c=this[d]||{},1===c.nodeType&&($.cleanData(c.getElementsByTagName("*")),c.innerHTML=a);c=0}catch(f){}}c&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(a){return h(this[0])?this.length?this.pushStack($($.isFunction(a)?a():a),"replaceWith",a):this:$.isFunction(a)?this.each(function(b){var c=$(this),d=c.html();c.replaceWith(a.call(this,b,d))}):("string"!=typeof a&&(a=$(a).detach()),this.each(function(){var b=this.nextSibling,c=this.parentNode;$(this).remove(),b?$(b).before(a):$(c).append(a)}))},detach:function(a){return this.remove(a,!0)},domManip:function(a,c,d){a=[].concat.apply([],a);var e,f,g,h,i=0,j=a[0],k=[],m=this.length;if(!$.support.checkClone&&m>1&&"string"==typeof j&&Yb.test(j))return this.each(function(){$(this).domManip(a,c,d)});if($.isFunction(j))return this.each(function(e){var f=$(this);a[0]=j.call(this,e,c?f.html():b),f.domManip(a,c,d)});if(this[0]){if(e=$.buildFragment(a,this,k),g=e.fragment,f=g.firstChild,1===g.childNodes.length&&(g=f),f)for(c=c&&$.nodeName(f,"tr"),h=e.cacheable||m-1;m>i;i++)d.call(c&&$.nodeName(this[i],"table")?l(this[i],"tbody"):this[i],i===h?g:$.clone(g,!0,!0));g=f=null,k.length&&$.each(k,function(a,b){b.src?$.ajax?$.ajax({url:b.src,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0}):$.error("no ajax"):$.globalEval((b.text||b.textContent||b.innerHTML||"").replace($b,"")),b.parentNode&&b.parentNode.removeChild(b)})}return this}}),$.buildFragment=function(a,c,d){var e,f,g,h=a[0];return c=c||P,c=!c.nodeType&&c[0]||c,c=c.ownerDocument||c,!(1===a.length&&"string"==typeof h&&h.length<512&&c===P&&"<"===h.charAt(0))||Vb.test(h)||!$.support.checkClone&&Yb.test(h)||!$.support.html5Clone&&Wb.test(h)||(f=!0,e=$.fragments[h],g=e!==b),e||(e=c.createDocumentFragment(),$.clean(a,c,e,d),f&&($.fragments[h]=g&&e)),{fragment:e,cacheable:f}},$.fragments={},$.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){$.fn[a]=function(c){var d,e=0,f=[],g=$(c),h=g.length,i=1===this.length&&this[0].parentNode;if((null==i||i&&11===i.nodeType&&1===i.childNodes.length)&&1===h)return g[b](this[0]),this;for(;h>e;e++)d=(e>0?this.clone(!0):this).get(),$(g[e])[b](d),f=f.concat(d);return this.pushStack(f,a,g.selector)}}),$.extend({clone:function(a,b,c){var d,e,f,g;if($.support.html5Clone||$.isXMLDoc(a)||!Wb.test("<"+a.nodeName+">")?g=a.cloneNode(!0):(bc.innerHTML=a.outerHTML,bc.removeChild(g=bc.firstChild)),!($.support.noCloneEvent&&$.support.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||$.isXMLDoc(a)))for(n(a,g),d=o(a),e=o(g),f=0;d[f];++f)e[f]&&n(d[f],e[f]);if(b&&(m(a,g),c))for(d=o(a),e=o(g),f=0;d[f];++f)m(d[f],e[f]);return d=e=null,g},clean:function(a,b,c,d){var e,f,g,h,i,j,l,m,n,o,q,r=b===P&&ac,s=[];for(b&&"undefined"!=typeof b.createDocumentFragment||(b=P),e=0;null!=(g=a[e]);e++)if("number"==typeof g&&(g+=""),g){if("string"==typeof g)if(Tb.test(g)){for(r=r||k(b),l=b.createElement("div"),r.appendChild(l),g=g.replace(Qb,"<$1>"),h=(Rb.exec(g)||["",""])[1].toLowerCase(),i=_b[h]||_b._default,j=i[0],l.innerHTML=i[1]+g+i[2];j--;)l=l.lastChild;if(!$.support.tbody)for(m=Sb.test(g),n="table"!==h||m?""!==i[1]||m?[]:l.childNodes:l.firstChild&&l.firstChild.childNodes,f=n.length-1;f>=0;--f)$.nodeName(n[f],"tbody")&&!n[f].childNodes.length&&n[f].parentNode.removeChild(n[f]);!$.support.leadingWhitespace&&Pb.test(g)&&l.insertBefore(b.createTextNode(Pb.exec(g)[0]),l.firstChild),g=l.childNodes,l.parentNode.removeChild(l)}else g=b.createTextNode(g);g.nodeType?s.push(g):$.merge(s,g)}if(l&&(g=l=r=null),!$.support.appendChecked)for(e=0;null!=(g=s[e]);e++)$.nodeName(g,"input")?p(g):"undefined"!=typeof g.getElementsByTagName&&$.grep(g.getElementsByTagName("input"),p);if(c)for(o=function(a){return!a.type||Zb.test(a.type)?d?d.push(a.parentNode?a.parentNode.removeChild(a):a):c.appendChild(a):void 0},e=0;null!=(g=s[e]);e++)$.nodeName(g,"script")&&o(g)||(c.appendChild(g),"undefined"!=typeof g.getElementsByTagName&&(q=$.grep($.merge([],g.getElementsByTagName("script")),o),s.splice.apply(s,[e+1,0].concat(q)),e+=q.length));return s},cleanData:function(a,b){for(var c,d,e,f,g=0,h=$.expando,i=$.cache,j=$.support.deleteExpando,k=$.event.special;null!=(e=a[g]);g++)if((b||$.acceptData(e))&&(d=e[h],c=d&&i[d])){if(c.events)for(f in c.events)k[f]?$.event.remove(e,f):$.removeEvent(e,f,c.handle);i[d]&&(delete i[d],j?delete e[h]:e.removeAttribute?e.removeAttribute(h):e[h]=null,$.deletedIds.push(d))}}}),function(){var a,b;$.uaMatch=function(a){a=a.toLowerCase();var b=/(chrome)[ \/]([\w.]+)/.exec(a)||/(webkit)[ \/]([\w.]+)/.exec(a)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(a)||/(msie) ([\w.]+)/.exec(a)||a.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},a=$.uaMatch(R.userAgent),b={},a.browser&&(b[a.browser]=!0,b.version=a.version),b.chrome?b.webkit=!0:b.webkit&&(b.safari=!0),$.browser=b,$.sub=function(){function a(b,c){return new a.fn.init(b,c)}$.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function(c,d){return d&&d instanceof $&&!(d instanceof a)&&(d=a(d)),$.fn.init.call(this,c,d,b)},a.fn.init.prototype=a.fn;var b=a(P);return a}}();var cc,dc,ec,fc=/alpha\([^)]*\)/i,gc=/opacity=([^)]*)/,hc=/^(top|right|bottom|left)$/,ic=/^(none|table(?!-c[ea]).+)/,jc=/^margin/,kc=new RegExp("^("+_+")(.*)$","i"),lc=new RegExp("^("+_+")(?!px)[a-z%]+$","i"),mc=new RegExp("^([-+])=("+_+")","i"),nc={BODY:"block"},oc={position:"absolute",visibility:"hidden",display:"block"},pc={letterSpacing:0,fontWeight:400},qc=["Top","Right","Bottom","Left"],rc=["Webkit","O","Moz","ms"],sc=$.fn.toggle;$.fn.extend({css:function(a,c){return $.access(this,function(a,c,d){return d!==b?$.style(a,c,d):$.css(a,c)},a,c,arguments.length>1)},show:function(){return s(this,!0)},hide:function(){return s(this)},toggle:function(a,b){var c="boolean"==typeof a;return $.isFunction(a)&&$.isFunction(b)?sc.apply(this,arguments):this.each(function(){(c?a:r(this))?$(this).show():$(this).hide()})}}),$.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=cc(a,"opacity");return""===c?"1":c}}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":$.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var f,g,h,i=$.camelCase(c),j=a.style;if(c=$.cssProps[i]||($.cssProps[i]=q(j,i)),h=$.cssHooks[c]||$.cssHooks[i],d===b)return h&&"get"in h&&(f=h.get(a,!1,e))!==b?f:j[c];if(g=typeof d,"string"===g&&(f=mc.exec(d))&&(d=(f[1]+1)*f[2]+parseFloat($.css(a,c)),g="number"),!(null==d||"number"===g&&isNaN(d)||("number"!==g||$.cssNumber[i]||(d+="px"),h&&"set"in h&&(d=h.set(a,d,e))===b)))try{j[c]=d}catch(k){}}},css:function(a,c,d,e){var f,g,h,i=$.camelCase(c);return c=$.cssProps[i]||($.cssProps[i]=q(a.style,i)),h=$.cssHooks[c]||$.cssHooks[i],h&&"get"in h&&(f=h.get(a,!0,e)),f===b&&(f=cc(a,c)),"normal"===f&&c in pc&&(f=pc[c]),d||e!==b?(g=parseFloat(f),d||$.isNumeric(g)?g||0:f):f},swap:function(a,b,c){var d,e,f={};for(e in b)f[e]=a.style[e],a.style[e]=b[e];d=c.call(a);for(e in b)a.style[e]=f[e];return d}}),a.getComputedStyle?cc=function(b,c){var d,e,f,g,h=a.getComputedStyle(b,null),i=b.style;return h&&(d=h.getPropertyValue(c)||h[c],""!==d||$.contains(b.ownerDocument,b)||(d=$.style(b,c)),lc.test(d)&&jc.test(c)&&(e=i.width,f=i.minWidth,g=i.maxWidth,i.minWidth=i.maxWidth=i.width=d,d=h.width,i.width=e,i.minWidth=f,i.maxWidth=g)),d}:P.documentElement.currentStyle&&(cc=function(a,b){var c,d,e=a.currentStyle&&a.currentStyle[b],f=a.style;return null==e&&f&&f[b]&&(e=f[b]),lc.test(e)&&!hc.test(b)&&(c=f.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),f.left="fontSize"===b?"1em":e,e=f.pixelLeft+"px",f.left=c,d&&(a.runtimeStyle.left=d)),""===e?"auto":e}),$.each(["height","width"],function(a,b){$.cssHooks[b]={get:function(a,c,d){return c?0===a.offsetWidth&&ic.test(cc(a,"display"))?$.swap(a,oc,function(){return v(a,b,d)}):v(a,b,d):void 0},set:function(a,c,d){return t(a,c,d?u(a,b,d,$.support.boxSizing&&"border-box"===$.css(a,"boxSizing")):0)}}}),$.support.opacity||($.cssHooks.opacity={get:function(a,b){return gc.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=$.isNumeric(b)?"alpha(opacity="+100*b+")":"",f=d&&d.filter||c.filter||"";c.zoom=1,b>=1&&""===$.trim(f.replace(fc,""))&&c.removeAttribute&&(c.removeAttribute("filter"),d&&!d.filter)||(c.filter=fc.test(f)?f.replace(fc,e):f+" "+e)}}),$(function(){$.support.reliableMarginRight||($.cssHooks.marginRight={get:function(a,b){return $.swap(a,{display:"inline-block"},function(){return b?cc(a,"marginRight"):void 0})}}),!$.support.pixelPosition&&$.fn.position&&$.each(["top","left"],function(a,b){$.cssHooks[b]={get:function(a,c){if(c){var d=cc(a,b);return lc.test(d)?$(a).position()[b]+"px":d}}}})}),$.expr&&$.expr.filters&&($.expr.filters.hidden=function(a){return 0===a.offsetWidth&&0===a.offsetHeight||!$.support.reliableHiddenOffsets&&"none"===(a.style&&a.style.display||cc(a,"display"))},$.expr.filters.visible=function(a){return!$.expr.filters.hidden(a)}),$.each({margin:"",padding:"",border:"Width"},function(a,b){$.cssHooks[a+b]={expand:function(c){var d,e="string"==typeof c?c.split(" "):[c],f={};for(d=0;4>d;d++)f[a+qc[d]+b]=e[d]||e[d-2]||e[0]; +return f}},jc.test(a)||($.cssHooks[a+b].set=t)});var tc=/%20/g,uc=/\[\]$/,vc=/\r?\n/g,wc=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,xc=/^(?:select|textarea)/i;$.fn.extend({serialize:function(){return $.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?$.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||xc.test(this.nodeName)||wc.test(this.type))}).map(function(a,b){var c=$(this).val();return null==c?null:$.isArray(c)?$.map(c,function(a){return{name:b.name,value:a.replace(vc,"\r\n")}}):{name:b.name,value:c.replace(vc,"\r\n")}}).get()}}),$.param=function(a,c){var d,e=[],f=function(a,b){b=$.isFunction(b)?b():null==b?"":b,e[e.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(c===b&&(c=$.ajaxSettings&&$.ajaxSettings.traditional),$.isArray(a)||a.jquery&&!$.isPlainObject(a))$.each(a,function(){f(this.name,this.value)});else for(d in a)x(d,a[d],c,f);return e.join("&").replace(tc,"+")};var yc,zc,Ac=/#.*$/,Bc=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Cc=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,Dc=/^(?:GET|HEAD)$/,Ec=/^\/\//,Fc=/\?/,Gc=/)<[^<]*)*<\/script>/gi,Hc=/([?&])_=[^&]*/,Ic=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,Jc=$.fn.load,Kc={},Lc={},Mc=["*/"]+["*"];try{zc=Q.href}catch(Nc){zc=P.createElement("a"),zc.href="",zc=zc.href}yc=Ic.exec(zc.toLowerCase())||[],$.fn.load=function(a,c,d){if("string"!=typeof a&&Jc)return Jc.apply(this,arguments);if(!this.length)return this;var e,f,g,h=this,i=a.indexOf(" ");return i>=0&&(e=a.slice(i,a.length),a=a.slice(0,i)),$.isFunction(c)?(d=c,c=b):c&&"object"==typeof c&&(f="POST"),$.ajax({url:a,type:f,dataType:"html",data:c,complete:function(a,b){d&&h.each(d,g||[a.responseText,b,a])}}).done(function(a){g=arguments,h.html(e?$("
").append(a.replace(Gc,"")).find(e):a)}),this},$.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){$.fn[b]=function(a){return this.on(b,a)}}),$.each(["get","post"],function(a,c){$[c]=function(a,d,e,f){return $.isFunction(d)&&(f=f||e,e=d,d=b),$.ajax({type:c,url:a,data:d,success:e,dataType:f})}}),$.extend({getScript:function(a,c){return $.get(a,b,c,"script")},getJSON:function(a,b,c){return $.get(a,b,c,"json")},ajaxSetup:function(a,b){return b?A(a,$.ajaxSettings):(b=a,a=$.ajaxSettings),A(a,b),a},ajaxSettings:{url:zc,isLocal:Cc.test(yc[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":Mc},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":$.parseJSON,"text xml":$.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:y(Kc),ajaxTransport:y(Lc),ajax:function(a,c){function d(a,c,d,g){var j,l,s,t,v,x=c;2!==u&&(u=2,i&&clearTimeout(i),h=b,f=g||"",w.readyState=a>0?4:0,d&&(t=B(m,w,d)),a>=200&&300>a||304===a?(m.ifModified&&(v=w.getResponseHeader("Last-Modified"),v&&($.lastModified[e]=v),v=w.getResponseHeader("Etag"),v&&($.etag[e]=v)),304===a?(x="notmodified",j=!0):(j=C(m,t),x=j.state,l=j.data,s=j.error,j=!s)):(s=x,(!x||a)&&(x="error",0>a&&(a=0))),w.status=a,w.statusText=(c||x)+"",j?p.resolveWith(n,[l,x,w]):p.rejectWith(n,[w,x,s]),w.statusCode(r),r=b,k&&o.trigger("ajax"+(j?"Success":"Error"),[w,m,j?l:s]),q.fireWith(n,[w,x]),k&&(o.trigger("ajaxComplete",[w,m]),--$.active||$.event.trigger("ajaxStop")))}"object"==typeof a&&(c=a,a=b),c=c||{};var e,f,g,h,i,j,k,l,m=$.ajaxSetup({},c),n=m.context||m,o=n!==m&&(n.nodeType||n instanceof $)?$(n):$.event,p=$.Deferred(),q=$.Callbacks("once memory"),r=m.statusCode||{},s={},t={},u=0,v="canceled",w={readyState:0,setRequestHeader:function(a,b){if(!u){var c=a.toLowerCase();a=t[c]=t[c]||a,s[a]=b}return this},getAllResponseHeaders:function(){return 2===u?f:null},getResponseHeader:function(a){var c;if(2===u){if(!g)for(g={};c=Bc.exec(f);)g[c[1].toLowerCase()]=c[2];c=g[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){return u||(m.mimeType=a),this},abort:function(a){return a=a||v,h&&h.abort(a),d(0,a),this}};if(p.promise(w),w.success=w.done,w.error=w.fail,w.complete=q.add,w.statusCode=function(a){if(a){var b;if(2>u)for(b in a)r[b]=[r[b],a[b]];else b=a[w.status],w.always(b)}return this},m.url=((a||m.url)+"").replace(Ac,"").replace(Ec,yc[1]+"//"),m.dataTypes=$.trim(m.dataType||"*").toLowerCase().split(bb),null==m.crossDomain&&(j=Ic.exec(m.url.toLowerCase()),m.crossDomain=!(!j||j[1]===yc[1]&&j[2]===yc[2]&&(j[3]||("http:"===j[1]?80:443))==(yc[3]||("http:"===yc[1]?80:443)))),m.data&&m.processData&&"string"!=typeof m.data&&(m.data=$.param(m.data,m.traditional)),z(Kc,m,c,w),2===u)return w;if(k=m.global,m.type=m.type.toUpperCase(),m.hasContent=!Dc.test(m.type),k&&0===$.active++&&$.event.trigger("ajaxStart"),!m.hasContent&&(m.data&&(m.url+=(Fc.test(m.url)?"&":"?")+m.data,delete m.data),e=m.url,m.cache===!1)){var x=$.now(),y=m.url.replace(Hc,"$1_="+x);m.url=y+(y===m.url?(Fc.test(m.url)?"&":"?")+"_="+x:"")}(m.data&&m.hasContent&&m.contentType!==!1||c.contentType)&&w.setRequestHeader("Content-Type",m.contentType),m.ifModified&&(e=e||m.url,$.lastModified[e]&&w.setRequestHeader("If-Modified-Since",$.lastModified[e]),$.etag[e]&&w.setRequestHeader("If-None-Match",$.etag[e])),w.setRequestHeader("Accept",m.dataTypes[0]&&m.accepts[m.dataTypes[0]]?m.accepts[m.dataTypes[0]]+("*"!==m.dataTypes[0]?", "+Mc+"; q=0.01":""):m.accepts["*"]);for(l in m.headers)w.setRequestHeader(l,m.headers[l]);if(m.beforeSend&&(m.beforeSend.call(n,w,m)===!1||2===u))return w.abort();v="abort";for(l in{success:1,error:1,complete:1})w[l](m[l]);if(h=z(Lc,m,c,w)){w.readyState=1,k&&o.trigger("ajaxSend",[w,m]),m.async&&m.timeout>0&&(i=setTimeout(function(){w.abort("timeout")},m.timeout));try{u=1,h.send(s,d)}catch(A){if(!(2>u))throw A;d(-1,A)}}else d(-1,"No Transport");return w},active:0,lastModified:{},etag:{}});var Oc=[],Pc=/\?/,Qc=/(=)\?(?=&|$)|\?\?/,Rc=$.now();$.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=Oc.pop()||$.expando+"_"+Rc++;return this[a]=!0,a}}),$.ajaxPrefilter("json jsonp",function(c,d,e){var f,g,h,i=c.data,j=c.url,k=c.jsonp!==!1,l=k&&Qc.test(j),m=k&&!l&&"string"==typeof i&&!(c.contentType||"").indexOf("application/x-www-form-urlencoded")&&Qc.test(i);return"jsonp"===c.dataTypes[0]||l||m?(f=c.jsonpCallback=$.isFunction(c.jsonpCallback)?c.jsonpCallback():c.jsonpCallback,g=a[f],l?c.url=j.replace(Qc,"$1"+f):m?c.data=i.replace(Qc,"$1"+f):k&&(c.url+=(Pc.test(j)?"&":"?")+c.jsonp+"="+f),c.converters["script json"]=function(){return h||$.error(f+" was not called"),h[0]},c.dataTypes[0]="json",a[f]=function(){h=arguments},e.always(function(){a[f]=g,c[f]&&(c.jsonpCallback=d.jsonpCallback,Oc.push(f)),h&&$.isFunction(g)&&g(h[0]),h=g=b}),"script"):void 0}),$.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){return $.globalEval(a),a}}}),$.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),$.ajaxTransport("script",function(a){if(a.crossDomain){var c,d=P.head||P.getElementsByTagName("head")[0]||P.documentElement;return{send:function(e,f){c=P.createElement("script"),c.async="async",a.scriptCharset&&(c.charset=a.scriptCharset),c.src=a.url,c.onload=c.onreadystatechange=function(a,e){(e||!c.readyState||/loaded|complete/.test(c.readyState))&&(c.onload=c.onreadystatechange=null,d&&c.parentNode&&d.removeChild(c),c=b,e||f(200,"success"))},d.insertBefore(c,d.firstChild)},abort:function(){c&&c.onload(0,1)}}}});var Sc,Tc=a.ActiveXObject?function(){for(var a in Sc)Sc[a](0,1)}:!1,Uc=0;$.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&D()||E()}:D,function(a){$.extend($.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}($.ajaxSettings.xhr()),$.support.ajax&&$.ajaxTransport(function(c){if(!c.crossDomain||$.support.cors){var d;return{send:function(e,f){var g,h,i=c.xhr();if(c.username?i.open(c.type,c.url,c.async,c.username,c.password):i.open(c.type,c.url,c.async),c.xhrFields)for(h in c.xhrFields)i[h]=c.xhrFields[h];c.mimeType&&i.overrideMimeType&&i.overrideMimeType(c.mimeType),c.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest");try{for(h in e)i.setRequestHeader(h,e[h])}catch(j){}i.send(c.hasContent&&c.data||null),d=function(a,e){var h,j,k,l,m;try{if(d&&(e||4===i.readyState))if(d=b,g&&(i.onreadystatechange=$.noop,Tc&&delete Sc[g]),e)4!==i.readyState&&i.abort();else{h=i.status,k=i.getAllResponseHeaders(),l={},m=i.responseXML,m&&m.documentElement&&(l.xml=m);try{l.text=i.responseText}catch(n){}try{j=i.statusText}catch(n){j=""}h||!c.isLocal||c.crossDomain?1223===h&&(h=204):h=l.text?200:404}}catch(o){e||f(-1,o)}l&&f(h,j,l,k)},c.async?4===i.readyState?setTimeout(d,0):(g=++Uc,Tc&&(Sc||(Sc={},$(a).unload(Tc)),Sc[g]=d),i.onreadystatechange=d):d()},abort:function(){d&&d(0,1)}}}});var Vc,Wc,Xc=/^(?:toggle|show|hide)$/,Yc=new RegExp("^(?:([-+])=|)("+_+")([a-z%]*)$","i"),Zc=/queueHooks$/,$c=[J],_c={"*":[function(a,b){var c,d,e=this.createTween(a,b),f=Yc.exec(b),g=e.cur(),h=+g||0,i=1,j=20;if(f){if(c=+f[2],d=f[3]||($.cssNumber[a]?"":"px"),"px"!==d&&h){h=$.css(e.elem,a,!0)||c||1;do i=i||".5",h/=i,$.style(e.elem,a,h+d);while(i!==(i=e.cur()/g)&&1!==i&&--j)}e.unit=d,e.start=h,e.end=f[1]?h+(f[1]+1)*c:c}return e}]};$.Animation=$.extend(H,{tweener:function(a,b){$.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],_c[c]=_c[c]||[],_c[c].unshift(b)},prefilter:function(a,b){b?$c.unshift(a):$c.push(a)}}),$.Tween=K,K.prototype={constructor:K,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||($.cssNumber[c]?"":"px")},cur:function(){var a=K.propHooks[this.prop];return a&&a.get?a.get(this):K.propHooks._default.get(this)},run:function(a){var b,c=K.propHooks[this.prop];return this.pos=b=this.options.duration?$.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):K.propHooks._default.set(this),this}},K.prototype.init.prototype=K.prototype,K.propHooks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=$.css(a.elem,a.prop,!1,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){$.fx.step[a.prop]?$.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[$.cssProps[a.prop]]||$.cssHooks[a.prop])?$.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},K.propHooks.scrollTop=K.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},$.each(["toggle","show","hide"],function(a,b){var c=$.fn[b];$.fn[b]=function(d,e,f){return null==d||"boolean"==typeof d||!a&&$.isFunction(d)&&$.isFunction(e)?c.apply(this,arguments):this.animate(L(b,!0),d,e,f)}}),$.fn.extend({fadeTo:function(a,b,c,d){return this.filter(r).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=$.isEmptyObject(a),f=$.speed(b,c,d),g=function(){var b=H(this,$.extend({},a),f);e&&b.stop(!0)};return e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,c,d){var e=function(a){var b=a.stop;delete a.stop,b(d)};return"string"!=typeof a&&(d=c,c=a,a=b),c&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,c=null!=a&&a+"queueHooks",f=$.timers,g=$._data(this);if(c)g[c]&&g[c].stop&&e(g[c]);else for(c in g)g[c]&&g[c].stop&&Zc.test(c)&&e(g[c]);for(c=f.length;c--;)f[c].elem!==this||null!=a&&f[c].queue!==a||(f[c].anim.stop(d),b=!1,f.splice(c,1));(b||!d)&&$.dequeue(this,a)})}}),$.each({slideDown:L("show"),slideUp:L("hide"),slideToggle:L("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){$.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),$.speed=function(a,b,c){var d=a&&"object"==typeof a?$.extend({},a):{complete:c||!c&&b||$.isFunction(a)&&a,duration:a,easing:c&&b||b&&!$.isFunction(b)&&b};return d.duration=$.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in $.fx.speeds?$.fx.speeds[d.duration]:$.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){$.isFunction(d.old)&&d.old.call(this),d.queue&&$.dequeue(this,d.queue)},d},$.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},$.timers=[],$.fx=K.prototype.init,$.fx.tick=function(){var a,c=$.timers,d=0;for(Vc=$.now();d-1,l={},m={};k?(m=g.position(),e=m.top,f=m.left):(e=parseFloat(i)||0,f=parseFloat(j)||0),$.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(l.top=b.top-h.top+e),null!=b.left&&(l.left=b.left-h.left+f),"using"in b?b.using.call(a,l):g.css(l)}},$.fn.extend({position:function(){if(this[0]){var a=this[0],b=this.offsetParent(),c=this.offset(),d=ad.test(b[0].nodeName)?{top:0,left:0}:b.offset();return c.top-=parseFloat($.css(a,"marginTop"))||0,c.left-=parseFloat($.css(a,"marginLeft"))||0,d.top+=parseFloat($.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat($.css(b[0],"borderLeftWidth"))||0,{top:c.top-d.top,left:c.left-d.left}}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||P.body;a&&!ad.test(a.nodeName)&&"static"===$.css(a,"position");)a=a.offsetParent;return a||P.body})}}),$.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,c){var d=/Y/.test(c);$.fn[a]=function(e){return $.access(this,function(a,e,f){var g=M(a);return f===b?g?c in g?g[c]:g.document.documentElement[e]:a[e]:(g?g.scrollTo(d?$(g).scrollLeft():f,d?f:$(g).scrollTop()):a[e]=f,void 0)},a,e,arguments.length,null)}}),$.each({Height:"height",Width:"width"},function(a,c){$.each({padding:"inner"+a,content:c,"":"outer"+a},function(d,e){$.fn[e]=function(e,f){var g=arguments.length&&(d||"boolean"!=typeof e),h=d||(e===!0||f===!0?"margin":"border");return $.access(this,function(c,d,e){var f;return $.isWindow(c)?c.document.documentElement["client"+a]:9===c.nodeType?(f=c.documentElement,Math.max(c.body["scroll"+a],f["scroll"+a],c.body["offset"+a],f["offset"+a],f["client"+a])):e===b?$.css(c,d,e,h):$.style(c,d,e,h)},c,g?e:b,g,null)}})}),a.jQuery=a.$=$,"function"==typeof define&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return $})}(window),/*! ========================================================= + * bootstrap-modal.js v2.2.2 + * http://twitter.github.com/bootstrap/javascript.html#modals + * ========================================================= + * Twitter, Inc. require the following notice to accompany Bootstrap: + * + * Copyright (c) 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this work + * except in compliance with the License. You may obtain a copy of the License in the LICENSE file, or at: + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License + * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + * implied. See the License for the specific language governing permissions and limitations under the License. + * + * ========================================================= */ +!function(a){"use strict";var b=function(b,c){this.options=c,this.$element=a(b).delegate('[data-dismiss="modal"]',"click.dismiss.modal",a.proxy(this.hide,this)),this.options.remote&&this.$element.find(".modal-body").load(this.options.remote)};b.prototype={constructor:b,toggle:function(){return this[this.isShown?"hide":"show"]()},show:function(){var b=this,c=a.Event("show");this.$element.trigger(c),this.isShown||c.isDefaultPrevented()||(this.isShown=!0,this.escape(),this.backdrop(function(){var c=a.support.transition&&b.$element.hasClass("fade");b.$element.parent().length||b.$element.appendTo(document.body),b.$element.show(),c&&b.$element[0].offsetWidth,b.$element.addClass("in").attr("aria-hidden",!1),b.enforceFocus(),c?b.$element.one(a.support.transition.end,function(){b.$element.focus().trigger("shown")}):b.$element.focus().trigger("shown")}))},hide:function(b){b&&b.preventDefault(),b=a.Event("hide"),this.$element.trigger(b),this.isShown&&!b.isDefaultPrevented()&&(this.isShown=!1,this.escape(),a(document).off("focusin.modal"),this.$element.removeClass("in").attr("aria-hidden",!0),a.support.transition&&this.$element.hasClass("fade")?this.hideWithTransition():this.hideModal())},enforceFocus:function(){var b=this;a(document).on("focusin.modal",function(a){b.$element[0]===a.target||b.$element.has(a.target).length||b.$element.focus()})},escape:function(){var a=this;this.isShown&&this.options.keyboard?this.$element.on("keyup.dismiss.modal",function(b){27==b.which&&a.hide()}):this.isShown||this.$element.off("keyup.dismiss.modal")},hideWithTransition:function(){var b=this,c=setTimeout(function(){b.$element.off(a.support.transition.end),b.hideModal()},500);this.$element.one(a.support.transition.end,function(){clearTimeout(c),b.hideModal()})},hideModal:function(){this.$element.hide().trigger("hidden"),this.backdrop()},removeBackdrop:function(){this.$backdrop.remove(),this.$backdrop=null},backdrop:function(b){var c=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var d=a.support.transition&&c;this.$backdrop=a('
@@ -124,7 +124,7 @@

App Development

-Apps are the building blocks of any F2-enabled solution. F2 apps are web-based, are built with HTML5, CSS3, and JavaScript, and contain entitled data. F2 enables App Developers to build once and deploy to any container with a simple and modern API. You can read more about the framework, download the project on GitHub or get started below. The latest version of F2 is 1.2.0. +Apps are the building blocks of any F2-enabled solution. F2 apps are web-based, built with HTML5, CSS3, and JavaScript, and contain entitled data. F2 enables App Developers to build once and deploy to any container with a simple and modern API. You can read more about the framework, download the project on GitHub or get started below. The latest version of F2 is 1.2.1.

F2 apps are synonymous with modules, widgets and portlets. Think charts, portfolios, trade tickets, and screeners. F2 apps only need to be programmed once, no matter where they will be used. To start, F2 Apps are either:

@@ -157,7 +157,7 @@

Get Started

Basic Container

To begin, you do not need to build (or compile) F2 as described in the readme on GitHub. Simply download F2.js and Bootstrap, and ensure you're properly configured for continuing with the documentation.

-Download F2.js Download Bootstrap +Download F2.js Download Bootstrap

Setup a basic container HTML template (or add F2.js to an existing website):

@@ -287,6 +287,7 @@

App Manifest

}] })

Let's break the App Manifest object down and look at each property (in reverse order to keep it fun).

+

Note The AppID created in the Developer Center and specified in the AppManifest will get automatically lowercased by F2 when integrated on a container.

Apps

@@ -389,11 +390,11 @@

Sample App Manifest

"status":"good" }] }) -

Note You may have noticed the presence of the function name F2_jsonpCallback_com_companyname_appname on the first line of the example above. That function name is the callback and is explained in App Manifest Response.

+

Note You may have noticed the presence of the function name F2_jsonpCallback_com_companyname_appname on the first line of the example above. That function name is the callback and is explained in App Manifest Response.

App Manifest Response

-

OK, so you know about F2 apps and you're ready to write your own App Manifest. To go from zero to something, download the F2 app starter zip. Once you have your AppManifest defined (or at least stubbed out), there's one important detail you need to know now—the App Manifest response format.

+

OK, so you know about F2 apps and you're ready to write your own App Manifest. To go from zero to something, download the F2 examples. Once you have your AppManifest defined (or at least stubbed out), there's one important detail you need to know now—the App Manifest response format.

As part of F2, containers register apps—typically hosted on different domains—using JSONP. This means F2 App Manifest files must provide a JSONP callback function. (If you don't know what JSONP is or how it works, we recommend reading what Remy Sharp has to say about it.)

For security reasons, the App Manifest JSONP callback function must be a specific, reliable, and testable format. F2 has defined that using a combination of a string and your unique F2 AppID. The JSONP callback function name looks like this:

F2_jsonpCallback_<AppID>

@@ -410,18 +411,18 @@

App Manifest Response

"html":"<div class=\"sunrise\">Hello world.</div>" }] }) -

Note the JSONP callback function name will not be passed from the container using a traditional querystring parameter (HTTP GET), so you must configure this correctly for your app to appear on a container. This means you have to hard-code it in your appmanifest.js.

-

Required Don't forget you need an AppID before you can run your app on a container. Get your AppID now »

+

Note The JSONP callback function name will not be passed from the container using a traditional querystring parameter (HTTP GET), so you must configure this correctly for your app to appear on a container. This means you have to hard-code it in your AppManifest.

+

Note The AppID created in the Developer Center will get automatically lowercased by F2 when integrated on a container.

App HTML

-

Every F2 app has HTML. The only catch is that the HTML isn't provided by the app itself but rather passed to the container via the app's AppManifest. But that's not a problem because F2 has provided examples to show you the way. Here are the steps for getting your app HTML into your AppContent.html property:

+

While it isn't required, it's expected every F2 app has HTML. The only catch is that the HTML isn't provided by the app itself but rather passed to the container via the app's AppManifest. Here are the steps for getting your app HTML into your AppContent.html property:

  1. Develop the web page or module or widget or component or portlet that will be your app.
  2. Take all the contents of it—that is, the HTML—and encode it. (This step is optional.)
  3. Put the (optionally encoded) result in the html property of your AppContent object within your App Manifest file's App object.
-

Huh? Check out this example:

+

Wait, what? Check out this example below or browse to example apps on GitHub:

Step 1.

<div class="sunrise">Hello world.</div>

Step 2. Encoded HTML. (Optional)

@@ -437,14 +438,14 @@

App HTML

Note You are not required to encode the app HTML, so follow steps 2 and 3 above omitting the encoding step.

Automatic Consistency

-

F2 uses and recommends Twitter Bootstrap for Container and App Developers to benefit from a consistent HTML and CSS structure regardless of who developed the F2 component. This way, Container Developers can write CSS they know will style F2 apps without engaging with the app developer to ensure compatability.

-

This also means App Developers must adhere to Bootstrap's scaffolding guidelines as defined on their website.

+

F2 uses and recommends Bootstrap for Container and App Developers to benefit from a consistent HTML and CSS structure regardless of who developed the F2 component. This way, Container Developers can write CSS they know will style F2 apps without engaging with the app developer to ensure compatability.

+

This also means App Developers must adhere to Bootstrap's scaffolding guidelines as defined on their website.

An example two-column layout using Bootstrap-specifed markup:

<div class="row">
   <div class="span4">...</div>
   <div class="span8">...</div>
 </div>
-

The .span4 and .span8 provide two columns in the 12-column grid.

+

The .span4 and .span8 provide two columns in the 12-column grid.

Note Read more about Creating a Common Look and Feel with F2.

@@ -468,7 +469,7 @@

App Class

Arguments

-

When F2's registerApps() method is called by the container, F2 passes three arguments to your App Class: appConfig, appContent and root. The SDK documentation details the contents of each arg and these should be familiar because appConfig contains your apps' meta, appContent contains your html, data and status properties, and root is the outermost DOM element in which your app exists on the container. The root argument provides your App Class code your apps' parent element for faster DOM traversal.

+

When F2's registerApps() method is called by the container, F2 passes three arguments to your App Class: appConfig, appContent and root. The SDK documentation details the contents of each arg and these should be familiar because appConfig contains your app's meta, appContent contains your html, data and status properties, and root is the outermost DOM element in which your app exists on the container. The root argument provides your App Class code your app's parent (root) element for faster DOM traversal.

Example:

//appclass.js snippet
 ...
@@ -504,7 +505,7 @@ 

Module Pattern

Patterns, Eh

-

Of course, you don't have to use either one of these patterns in your appclass.js file. What you do have to use is a function. That is to say the value assigned to F2.Apps["com_companyname_appname"] by your App Class code must be a function. Within F2's registerApps() method, the new operator is used which produces an object (check out the code).

+

Of course, you don't have to use either one of these patterns in your appclass.js file. What you do have to use is a function. That is to say the value assigned to F2.Apps["com_companyname_appname"] by your App Class code must be a function. Within F2's registerApps() method, the new operator is used which produces an object and new instance of your app.

Important! @@ -514,7 +515,7 @@

-

If you don't want to think about any of this and would rather just start coding, download the F2 app starter zip.

+

If you don't want to think about any of this and would rather just start coding, download the F2 examples.


@@ -631,7 +632,7 @@

App-to-Container Context

name: "Microsoft, Inc." } );
-

The container would need to listen to your apps' broadcasted F2.Constants.Events.APP_SYMBOL_CHANGE event using code like this:

+

The container would need to listen to your app's broadcasted F2.Constants.Events.APP_SYMBOL_CHANGE event using code like this:

F2.Events.on(
     F2.Constants.Events.APP_SYMBOL_CHANGE, 
     function(data){
@@ -772,7 +773,7 @@ 

F2 UI

There are some utility methods provided within F2.js in the UI namespace. These helpers are for controlling layout, showing (or hiding) loading spinners, modals, managing views within your app, and more.

Basics

-

While there are numerous utility methods in F2.UI, we will focus on a couple important ones here such as updateHeight() and showMask(). The F2.UI methods are passed as an instance to each F2 apps' App Class on the appConfig argument. The instance of F2.UI gets added to the appConfig object at runtime, and is available in appclass.js as appConfig.ui.

+

While there are numerous utility methods in F2.UI, we will focus on a couple important ones here such as updateHeight() and showMask(). The F2.UI methods are passed as an instance to each F2 app's App Class on the appConfig argument. The instance of F2.UI gets added to the appConfig object at runtime, and is available in appclass.js as appConfig.ui.

Example:

//appclass.js snippet
 var App_Class = function (appConfig, appContent, root) {
@@ -832,7 +833,7 @@ 

Changing the App Title

F2.UI.Modals

-

F2.js provides two methods in F2.UI for modal dialogs. F2 uses and recommends Twitter Bootstrap for many reasons, and taking advantage of Bootstrap's modals was an easy choice.

+

F2.js provides two methods in F2.UI for modal dialogs. F2 uses and recommends Bootstrap for many reasons, and taking advantage of Bootstrap's modals was an easy choice.

For full details on F2.UI.Modals and the two types of modals (alert and confirm), read the SDK docs.

Usage is simple:

//appclass.js snippet
@@ -867,7 +868,7 @@ 

F2.UI.Views

Note If the container doesn't support all the views you need inside your app, you will need to coordinate those additions with the container provider.

Setting Up Views

-

Once you've determined the views you'd like to include in your app, the view should be specified by applying the F2.Constants.Css.APPVIEW classname to the containing DOM Element. A data- attribute should be added to the element as well which defines what view type is represented. Twitter Bootstrap's hide class should be applied to views that are hidden on startup.

+

Once you've determined the views you'd like to include in your app, the view should be specified by applying the F2.Constants.Css.APPVIEW classname to the containing DOM Element. A data- attribute should be added to the element as well which defines what view type is represented. Bootstrap's hide class should be applied to views that are hidden on startup.

To setup a single view in your app, use this HTML on your app's outermost element noting the use of the f2-app-view classname and the data-f2-view attribute.

<div class='f2-app-view' data-f2-view='home'>
     ...
@@ -942,7 +943,7 @@ 

Considerations


@@ -951,7 +952,7 @@

Considerations

- - + + \ No newline at end of file diff --git a/docs/container-development.html b/docs/container-development.html index 54e2b590..da7452ad 100644 --- a/docs/container-development.html +++ b/docs/container-development.html @@ -3,7 +3,7 @@ F2 - Container Development - + @@ -16,7 +16,7 @@ - + @@ -72,8 +72,8 @@
  • Blog
  • -
  • VIEW ON GITHUBv 1.2.0
  • -
  • View on GitHub (v 1.2.0)
  • +
  • VIEW ON GITHUBv 1.2.1
  • +
  • View on GitHub (v 1.2.1)
  • @@ -124,7 +124,7 @@

    Container Development

    -The container is the foundation of any F2-enabled solution. By leveraging the F2.js SDK, Container Providers offer a consistent and reliable mechanism for all App Developers to load their apps on that container regardless of where it is hosted, who developed it, or what back-end stack it uses. You can read more about the framework, download the project on GitHub or get started below. The latest version of F2 is 1.2.0. +The container is the foundation of any F2-enabled solution. By leveraging the F2.js SDK, Container Providers offer a consistent and reliable mechanism for all App Developers to load their apps on that container regardless of where it is hosted, who developed it, or what back-end stack it uses. You can read more about the framework, download the project on GitHub or get started below. The latest version of F2 is 1.2.1.


    @@ -139,7 +139,7 @@

    Get Started

    Basic Container

    To begin, you do not need to build (or compile) F2 as described in the readme on GitHub. Simply download F2.js and Bootstrap, and ensure you're properly configured for continuing with the documentation.

    -Download F2.js Download Bootstrap +Download F2.js Download Bootstrap

    Setup a basic container HTML template (or add F2.js to an existing website):

    @@ -271,7 +271,7 @@

    Setting Up a Loading GIF

    Override the AppManifest Request

    -

    Occasionally Container Developers need more granular control over the AppManifest request mechanism in F2.js. The manifest request process—intentionally obscured from developers through the F2.registerApps() API—is handled by a simple ajax call to an HTTP endpoint. (F2 relies on jQuery.ajax() for this.) In version 1.2.0 of F2, the AppManifest request can be overridden in the Container Config.

    +

    Occasionally Container Developers need more granular control over the AppManifest request mechanism in F2.js. The manifest request process—intentionally obscured from developers through the F2.registerApps() API—is handled by a simple ajax call to an HTTP endpoint. (F2 relies on jQuery.ajax() for this.) In version 1.2.1 of F2, the AppManifest request can be overridden in the Container Config.

    Note The AppManifest endpoint is configured in the manifestUrl property within each AppConfig.

    The following example demonstrates how the xhr property of the ContainerConfig is used to override F2.js.

    F2.init({
    @@ -414,7 +414,7 @@ 

    Dynamic App Configuration

    Registering Pre-Loaded Apps

    -

    Incorporating apps which have been pre-loaded or are otherwise already on the container when it loads is an alternative method to integrating F2 apps. This method is useful when the container is being constructed on the server-side (at run-time or on a schedule) and F2 functionality is desired. To use pre-loaded apps, the Container Developer is required to make a request to each apps' AppManifest and its dependencies before the page is rendered.

    +

    Incorporating apps which have been pre-loaded or are otherwise already on the container when it loads is an alternative method to integrating F2 apps. This method is useful when the container is being constructed on the server-side (at run-time or on a schedule) and F2 functionality is desired. To use pre-loaded apps, the Container Developer is required to make a request to each app's AppManifest and its dependencies before the page is rendered.

    For the following example, let's assume you have a web page composed on the server and all of its HTML is delivered to the browser in one payload. This page also has at least one widget (or component) you'd like to register with F2.js.

    1. Setup Container

    @@ -438,7 +438,7 @@

    1. Setup Container

    2. Request AppManifest

    -

    Next, make a server-side request to the news apps' AppManifest—the URL is found in manifestUrl—and capture the resulting JSON. Each AppManifest contains scripts, style sheets and HTML (more about the AppManifest). The market news apps' AppManifest looks like this:

    +

    Next, make a server-side request to the news app's AppManifest—the URL is found in manifestUrl—and capture the resulting JSON. Each AppManifest contains scripts, style sheets and HTML (more about the AppManifest). The market news app's AppManifest looks like this:

    {
        "apps":[{
              "data":{},
    @@ -612,7 +612,7 @@ 

    Appending an App to a DOM Element

    F2.init(); F2.AppHandlers.on(_token, 'appRender', document.getElementById('my_sidebar')); F2.registerApps(_appConfig);
    -

    F2 will insert html from the AppManifest inside the specified DOM element. The resulting HTML will look like this after registerApps is called. Take note F2.js adds three class names to the apps' outermost element (f2-app, f2-app-container, and com_example_app for the appId).

    +

    F2 will insert html from the AppManifest inside the specified DOM element. The resulting HTML will look like this after registerApps is called. Take note F2.js adds three class names to the app's outermost element (f2-app, f2-app-container, and com_example_app for the appId).

    <div id="my_sidebar">
         <!--HTML defined in AppManifest inserted here-->
         <div class="f2-app f2-app-container com_example_app">
    @@ -746,7 +746,7 @@ 

    App-to-Container Context

    name: "Microsoft, Inc." } );
    -

    The container would need to listen to your apps' broadcasted F2.Constants.Events.APP_SYMBOL_CHANGE event using code like this:

    +

    The container would need to listen to your app's broadcasted F2.Constants.Events.APP_SYMBOL_CHANGE event using code like this:

    F2.Events.on(
         F2.Constants.Events.APP_SYMBOL_CHANGE, 
         function(data){
    @@ -933,7 +933,7 @@ 

    Considerations


    @@ -942,7 +942,7 @@

    Considerations

    - - + + \ No newline at end of file diff --git a/docs/extending-f2.html b/docs/extending-f2.html index 8e7021ab..333784fe 100644 --- a/docs/extending-f2.html +++ b/docs/extending-f2.html @@ -3,7 +3,7 @@ F2 - Extending F2 - + @@ -16,7 +16,7 @@ - + @@ -72,8 +72,8 @@
  • Blog
  • -
  • VIEW ON GITHUBv 1.2.0
  • -
  • View on GitHub (v 1.2.0)
  • +
  • VIEW ON GITHUBv 1.2.1
  • +
  • View on GitHub (v 1.2.1)
  • @@ -182,7 +182,7 @@

    Forum


    @@ -191,7 +191,7 @@

    Forum

    - - + + \ No newline at end of file diff --git a/docs/f2js-sdk.html b/docs/f2js-sdk.html index fdf53f02..7fff66b7 100644 --- a/docs/f2js-sdk.html +++ b/docs/f2js-sdk.html @@ -3,7 +3,7 @@ F2 - F2.js SDK - + @@ -16,7 +16,7 @@ - + @@ -72,8 +72,8 @@
  • Blog
  • -
  • VIEW ON GITHUBv 1.2.0
  • -
  • View on GitHub (v 1.2.0)
  • +
  • VIEW ON GITHUBv 1.2.1
  • +
  • View on GitHub (v 1.2.1)
  • @@ -124,10 +124,10 @@

    F2.js SDK

    -F2 enables all of us to build exactly the financial solutions that our customers want. Using the F2 Framework, you can efficiently create fully-integrated, multi-vendor, multi-asset class and multi-channel apps and deploy them in as many app ecosystems as you want. +F2 enables you to efficiently create fully-integrated, multi-vendor, multi-asset class and multi-channel apps and deploy them in as many app ecosystems as you want.

    -

    Developers who adhere to the F2 standard will make it possible for multiple apps, developed independently by different organizations, to function together creating a seamless and integrated experience.

    +

    Developers who adhere to the F2 standard will make it possible for multiple apps, developed independently by different organizations or individuals, to function together creating a seamless and integrated experience.


    F2.js

    @@ -138,18 +138,49 @@

    F2.js

    Download

    Anyone is free to download F2.js from the F2 project repository on GitHub. Once downloaded, F2.js can be added to any web page using a script tag:

    <script src="/path/to/your/container/f2.js"></script>
    -

    The latest version of F2.js is 1.2.0.

    +

    The latest version of F2.js is 1.2.1.

    -Download F2.js 1.2.0 View on GitHub +Download F2.js 1.2.1 View on GitHub

    +
    +

    Packages

    +

    Packages are variants of F2.js. They are ideally used when, for example, a container already has jQuery or sandboxed apps aren't needed. In circumstances where not all F2 features are required, Container Providers can use smaller, faster, lighter-weight versions of F2.js. Choose one below:

    + +

    For more information on the libraries used by F2, see Third Party Libraries below.


    +

    Versioning

    -

    The latest version of F2.js will always be in the project root, and the version number is in the top of file. The version number is also available on the command line by using:

    +

    The latest version of F2.js will always be in the root of the project, and the version number can be found embedded in the code. The version number is also available on the command line by using:

    $> grunt version.

    -

    To adhere to industry standards, F2 will be maintained under the Semantic Versioning guidelines as much as possible.

    +

    In accordance with industry standards, F2 is currently maintained, in as far as reasonably possible, under the Semantic Versioning guidelines.

    Releases will be numbered with the following format:

    <major>.<minor>.<patch>

    For more information on SemVer, please visit SemVer.org.

    @@ -157,34 +188,29 @@

    Versioning

    Upgrading

    -

    It is a goal of ours to make upgrading to the latest version of F2 a minor effort for development teams. Releasing feature enhancements, addressing bugs or security patches, and working hard to maintain backward compatibility for F2.js APIs—while constantly pushing the boundaries—are all part of evolving a web framework for the financial services industry.

    -

    The details from each release of F2, minor and major, are tracked in the changelog.

    -
    -

    The Latest

    -

    For developers, getting the latest F2.js SDK is as simple as going to the project repository on GitHub. A download (zip) of the current version (1.2.0) of F2 is always available along with tags of previous releases.

    +

    It is our goal to make upgrading to the latest version of F2 a minor effort for development teams. The details from each release of F2, minor and major, are tracked in the changelog. As of version 1.2, no breaking changes have been introduced and therefore upgrading should be as simple as downloading the latest copy of F2.js and updating your website.

    Developers can quick-link to the latest copy of F2.js:

    -

    https://raw.github.com/OpenF2/F2/master/f2.js

    +

    https://raw.github.com/OpenF2/F2/master/F2.latest.js

    Note GitHub is not a CDN.

    +

    A download (zip) of the current version (1.2.1) of F2 is always available along with tags of previous releases.

    +
    +

    Deprecated Features

    +

    There is a page on the wiki tracking deprecated features in F2. Starting with version 1.2, three ContainerConfig properties have been retired. As F2 features and/or F2.js APIs are deprecated, we will attempt to give reasonable advance notice via any or all of the F2 communication channels. In addition, we will strive to ensure that backward compatibility will be maintained for at least one major version of F2. For example, if Feature X is deprecated in version 1.3, we will attempt to maintain backward compatibility until the next major release (version 2.0). F2 documentation will be updated accordingly to reflect any changes, and the conversation behind deprecated features will be publicly available on GitHub.

    -
    -

    Deprecated Features or APIs

    -

    As F2 features and/or F2.js APIs are deprecated, advance notice will be provided on any or all of the F2 communication channels. In addition, backward compatibility will be maintained for at least one minor version of F2. For example, if Feature X is deprecated in 1.0, backward compatibility will be maintained until at least version 1.1. F2 documentation will be updated accordingly to reflect any changes, and the conversation behind deprecated features will be publicly available on GitHub.

    +
    +

    Third Party Libraries

    +

    F2 uses third party libraries inside F2.js (see Framework: Choices). These open-source libraries are all on their own release schedules. We cannot guarantee that we will always stay abreast and in tune with such latest releases, but in an effort to improve the F2 framework, we will attempt to update F2.js so that it uses the latest, most stable and most secure version of the third party software. These updates to F2 will be made through the normal release process on GitHub and comments will be open.

    -
    -

    Forum

    -

    Have a question? Ask it on the F2 Google Group or start a discussion using Issues on GitHub.

    -

    -
    -
    -
    -

    Bug Tracking

    -

    To track bugs or issues, F2 is using Issues on GitHub.

    +) or start a discussion using Issues on GitHub.

    +

    To track bugs, enhancements or other issues, F2 is using Issues on GitHub.


    @@ -198,7 +224,7 @@

    License


    @@ -207,7 +233,7 @@

    License

    - - + + \ No newline at end of file diff --git a/docs/index.html b/docs/index.html index 8d456df9..34c63e8f 100644 --- a/docs/index.html +++ b/docs/index.html @@ -6,7 +6,7 @@ - + @@ -19,7 +19,7 @@ - + @@ -75,8 +75,8 @@
  • Blog
  • -
  • VIEW ON GITHUBv 1.2.0
  • -
  • View on GitHub (v 1.2.0)
  • +
  • VIEW ON GITHUBv 1.2.1
  • +
  • View on GitHub (v 1.2.1)
  • @@ -223,8 +223,8 @@

    Spec Management

    .

    Track

    -

    F2 v1.0 was released on October 15, 2012. The latest version of the F2 specification is 1.2.0 released on 7 June 2013. To provide transparency into the future of F2, a roadmap wiki will be available on GitHub. A changelog that tracks version-to-version changes, upgrades and deprecated features will offer a historical look at F2's evolution.

    -

    Note There is a separate changelog for the F2.js SDK which is currently version 1.2.0.

    +

    F2 v1.0 was released on October 15, 2012. The latest version of the F2 specification is 1.2.1 released on 31 July 2013. To provide transparency into the future of F2, a roadmap wiki will be available on GitHub. A changelog that tracks version-to-version changes, upgrades and deprecated features will offer a historical look at F2's evolution.

    +

    Note There is a separate changelog for the F2.js SDK which is currently version 1.2.1.

    Collaborate

    @@ -372,7 +372,7 @@

    Get Started


    @@ -381,7 +381,7 @@

    Get Started

    - - + + \ No newline at end of file diff --git a/docs/sdk/assets/js/main.js b/docs/sdk/assets/js/main.js index 98fdc109..9f92e86b 100644 --- a/docs/sdk/assets/js/main.js +++ b/docs/sdk/assets/js/main.js @@ -58,28 +58,23 @@ SDK_Manager.prototype.highlightNav = function(){ SDK_Manager.prototype._handleHashChange = function() { if (!!location.hash) { - window.setTimeout($.proxy(function(){ - - var hashParts = String(location.hash).split('-'); - - // handle class member - if ($('#classTabs a[href="' + hashParts[0] + '"]').length) { - this._scrollToClassMember(hashParts[0], hashParts[1]); - - // handle line number - } else if (/^#l\d+$/.test(hashParts[0])) { - var line = parseInt(hashParts[0].substring(2)); - var offset = $('ol.linenums li').eq(line).offset(); - $('html, body').animate({scrollTop:offset.top - 75}); - - // everything else - } else { - var offset = $(hashParts[0]).offset(); - $('html, body').animate({scrollTop:offset.top - 75}); - } - - },this),250); - + var hashParts = String(location.hash).split('-'); + + // handle class member + if ($('#classTabs a[href="' + hashParts[0] + '"]').length) { + this._scrollToClassMember(hashParts[0], hashParts[1]); + + // handle line number + } else if (/^#l\d+$/.test(hashParts[0])) { + var line = parseInt(hashParts[0].substring(2)); + var offset = $('ol.linenums li').eq(line).offset(); + $('html, body').animate({scrollTop:offset.top - 75}); + + // everything else + } else { + var offset = $(hashParts[0]).offset(); + $('html, body').animate({scrollTop:offset.top - 75}); + } } }; diff --git a/docs/sdk/classes/F2.App.html b/docs/sdk/classes/F2.App.html index 72e06f08..49b0fc1a 100644 --- a/docs/sdk/classes/F2.App.html +++ b/docs/sdk/classes/F2.App.html @@ -3,7 +3,7 @@ F2 - F2.App - + @@ -16,7 +16,7 @@ - + @@ -73,8 +73,8 @@
  • Blog
  • -
  • VIEW ON GITHUBv 1.2.0
  • -
  • View on GitHub (v 1.2.0)
  • +
  • VIEW ON GITHUBv 1.2.1
  • +
  • View on GitHub (v 1.2.1)
  • @@ -521,7 +521,7 @@

    - + diff --git a/docs/sdk/classes/F2.AppConfig.html b/docs/sdk/classes/F2.AppConfig.html index e18140f1..b41c6cf9 100644 --- a/docs/sdk/classes/F2.AppConfig.html +++ b/docs/sdk/classes/F2.AppConfig.html @@ -3,7 +3,7 @@ F2 - F2.AppConfig - + @@ -16,7 +16,7 @@ - + @@ -73,8 +73,8 @@
  • Blog
  • -
  • VIEW ON GITHUBv 1.2.0
  • -
  • View on GitHub (v 1.2.0)
  • +
  • VIEW ON GITHUBv 1.2.1
  • +
  • View on GitHub (v 1.2.1)
  • @@ -1179,7 +1179,7 @@

    - + diff --git a/docs/sdk/classes/F2.AppHandlers.html b/docs/sdk/classes/F2.AppHandlers.html index fa5029d2..76ef11c9 100644 --- a/docs/sdk/classes/F2.AppHandlers.html +++ b/docs/sdk/classes/F2.AppHandlers.html @@ -3,7 +3,7 @@ F2 - F2.AppHandlers - + @@ -16,7 +16,7 @@ - + @@ -73,8 +73,8 @@
  • Blog
  • -
  • VIEW ON GITHUBv 1.2.0
  • -
  • View on GitHub (v 1.2.0)
  • +
  • VIEW ON GITHUBv 1.2.1
  • +
  • View on GitHub (v 1.2.1)
  • @@ -1160,7 +1160,7 @@

    Example:

    - + diff --git a/docs/sdk/classes/F2.AppManifest.AppContent.html b/docs/sdk/classes/F2.AppManifest.AppContent.html index 8731bd74..8419349e 100644 --- a/docs/sdk/classes/F2.AppManifest.AppContent.html +++ b/docs/sdk/classes/F2.AppManifest.AppContent.html @@ -3,7 +3,7 @@ F2 - F2.AppManifest.AppContent - + @@ -16,7 +16,7 @@ - + @@ -73,8 +73,8 @@
  • Blog
  • -
  • VIEW ON GITHUBv 1.2.0
  • -
  • View on GitHub (v 1.2.0)
  • +
  • VIEW ON GITHUBv 1.2.1
  • +
  • View on GitHub (v 1.2.1)
  • @@ -487,7 +487,7 @@

    - + diff --git a/docs/sdk/classes/F2.AppManifest.html b/docs/sdk/classes/F2.AppManifest.html index ab094c1b..f69bcaa1 100644 --- a/docs/sdk/classes/F2.AppManifest.html +++ b/docs/sdk/classes/F2.AppManifest.html @@ -3,7 +3,7 @@ F2 - F2.AppManifest - + @@ -16,7 +16,7 @@ - + @@ -73,8 +73,8 @@
  • Blog
  • -
  • VIEW ON GITHUBv 1.2.0
  • -
  • View on GitHub (v 1.2.0)
  • +
  • VIEW ON GITHUBv 1.2.1
  • +
  • View on GitHub (v 1.2.1)
  • @@ -545,7 +545,7 @@

    - + diff --git a/docs/sdk/classes/F2.Constants.AppHandlers.html b/docs/sdk/classes/F2.Constants.AppHandlers.html index a759fd69..5f57449e 100644 --- a/docs/sdk/classes/F2.Constants.AppHandlers.html +++ b/docs/sdk/classes/F2.Constants.AppHandlers.html @@ -3,7 +3,7 @@ F2 - F2.Constants.AppHandlers - + @@ -16,7 +16,7 @@ - + @@ -73,8 +73,8 @@
  • Blog
  • -
  • VIEW ON GITHUBv 1.2.0
  • -
  • View on GitHub (v 1.2.0)
  • +
  • VIEW ON GITHUBv 1.2.1
  • +
  • View on GitHub (v 1.2.1)
  • @@ -906,7 +906,7 @@

    Example:

    - + diff --git a/docs/sdk/classes/F2.Constants.Css.html b/docs/sdk/classes/F2.Constants.Css.html index 9215fa79..15d2b208 100644 --- a/docs/sdk/classes/F2.Constants.Css.html +++ b/docs/sdk/classes/F2.Constants.Css.html @@ -3,7 +3,7 @@ F2 - F2.Constants.Css - + @@ -16,7 +16,7 @@ - + @@ -73,8 +73,8 @@
  • Blog
  • -
  • VIEW ON GITHUBv 1.2.0
  • -
  • View on GitHub (v 1.2.0)
  • +
  • VIEW ON GITHUBv 1.2.1
  • +
  • View on GitHub (v 1.2.1)
  • @@ -777,7 +777,7 @@

    - + diff --git a/docs/sdk/classes/F2.Constants.Events.html b/docs/sdk/classes/F2.Constants.Events.html index d282c6fe..5d768449 100644 --- a/docs/sdk/classes/F2.Constants.Events.html +++ b/docs/sdk/classes/F2.Constants.Events.html @@ -3,7 +3,7 @@ F2 - F2.Constants.Events - + @@ -16,7 +16,7 @@ - + @@ -73,8 +73,8 @@
  • Blog
  • -
  • VIEW ON GITHUBv 1.2.0
  • -
  • View on GitHub (v 1.2.0)
  • +
  • VIEW ON GITHUBv 1.2.1
  • +
  • View on GitHub (v 1.2.1)
  • @@ -595,7 +595,7 @@

    - + diff --git a/docs/sdk/classes/F2.Constants.Sockets.html b/docs/sdk/classes/F2.Constants.Sockets.html index 98d4441b..5deea4b3 100644 --- a/docs/sdk/classes/F2.Constants.Sockets.html +++ b/docs/sdk/classes/F2.Constants.Sockets.html @@ -3,7 +3,7 @@ F2 - F2.Constants.Sockets - + @@ -16,7 +16,7 @@ - + @@ -73,8 +73,8 @@
  • Blog
  • -
  • VIEW ON GITHUBv 1.2.0
  • -
  • View on GitHub (v 1.2.0)
  • +
  • VIEW ON GITHUBv 1.2.1
  • +
  • View on GitHub (v 1.2.1)
  • @@ -633,7 +633,7 @@

    - + diff --git a/docs/sdk/classes/F2.Constants.Views.html b/docs/sdk/classes/F2.Constants.Views.html index 1426af12..151e2fdf 100644 --- a/docs/sdk/classes/F2.Constants.Views.html +++ b/docs/sdk/classes/F2.Constants.Views.html @@ -3,7 +3,7 @@ F2 - F2.Constants.Views - + @@ -16,7 +16,7 @@ - + @@ -73,8 +73,8 @@
  • Blog
  • -
  • VIEW ON GITHUBv 1.2.0
  • -
  • View on GitHub (v 1.2.0)
  • +
  • VIEW ON GITHUBv 1.2.1
  • +
  • View on GitHub (v 1.2.1)
  • @@ -691,7 +691,7 @@

    - + diff --git a/docs/sdk/classes/F2.Constants.html b/docs/sdk/classes/F2.Constants.html index 3719f86c..cdaa6a9d 100644 --- a/docs/sdk/classes/F2.Constants.html +++ b/docs/sdk/classes/F2.Constants.html @@ -3,7 +3,7 @@ F2 - F2.Constants - + @@ -16,7 +16,7 @@ - + @@ -73,8 +73,8 @@
  • Blog
  • -
  • VIEW ON GITHUBv 1.2.0
  • -
  • View on GitHub (v 1.2.0)
  • +
  • VIEW ON GITHUBv 1.2.1
  • +
  • View on GitHub (v 1.2.1)
  • @@ -298,7 +298,7 @@

    F2.Constants

    - + diff --git a/docs/sdk/classes/F2.ContainerConfig.UI.Mask.html b/docs/sdk/classes/F2.ContainerConfig.UI.Mask.html index 40c926dc..38d04d27 100644 --- a/docs/sdk/classes/F2.ContainerConfig.UI.Mask.html +++ b/docs/sdk/classes/F2.ContainerConfig.UI.Mask.html @@ -3,7 +3,7 @@ F2 - F2.ContainerConfig.UI.Mask - + @@ -16,7 +16,7 @@ - + @@ -73,8 +73,8 @@
  • Blog
  • -
  • VIEW ON GITHUBv 1.2.0
  • -
  • View on GitHub (v 1.2.0)
  • +
  • VIEW ON GITHUBv 1.2.1
  • +
  • View on GitHub (v 1.2.1)
  • @@ -613,7 +613,7 @@

    - + diff --git a/docs/sdk/classes/F2.ContainerConfig.UI.html b/docs/sdk/classes/F2.ContainerConfig.UI.html index 75d22fd8..2b14833e 100644 --- a/docs/sdk/classes/F2.ContainerConfig.UI.html +++ b/docs/sdk/classes/F2.ContainerConfig.UI.html @@ -3,7 +3,7 @@ F2 - F2.ContainerConfig.UI - + @@ -16,7 +16,7 @@ - + @@ -73,8 +73,8 @@
  • Blog
  • -
  • VIEW ON GITHUBv 1.2.0
  • -
  • View on GitHub (v 1.2.0)
  • +
  • VIEW ON GITHUBv 1.2.1
  • +
  • View on GitHub (v 1.2.1)
  • @@ -298,7 +298,7 @@

    F2.ContainerConfig.UI

    - + diff --git a/docs/sdk/classes/F2.ContainerConfig.html b/docs/sdk/classes/F2.ContainerConfig.html index dbee1ccc..4dfdc998 100644 --- a/docs/sdk/classes/F2.ContainerConfig.html +++ b/docs/sdk/classes/F2.ContainerConfig.html @@ -3,7 +3,7 @@ F2 - F2.ContainerConfig - + @@ -16,7 +16,7 @@ - + @@ -73,8 +73,8 @@
  • Blog
  • -
  • VIEW ON GITHUBv 1.2.0
  • -
  • View on GitHub (v 1.2.0)
  • +
  • VIEW ON GITHUBv 1.2.1
  • +
  • View on GitHub (v 1.2.1)
  • @@ -1816,7 +1816,7 @@

    Example:

    - + diff --git a/docs/sdk/classes/F2.Events.html b/docs/sdk/classes/F2.Events.html index bd36b9e6..ae3dbe2c 100644 --- a/docs/sdk/classes/F2.Events.html +++ b/docs/sdk/classes/F2.Events.html @@ -3,7 +3,7 @@ F2 - F2.Events - + @@ -16,7 +16,7 @@ - + @@ -73,8 +73,8 @@
  • Blog
  • -
  • VIEW ON GITHUBv 1.2.0
  • -
  • View on GitHub (v 1.2.0)
  • +
  • VIEW ON GITHUBv 1.2.1
  • +
  • View on GitHub (v 1.2.1)
  • @@ -1197,7 +1197,7 @@

    Parameters:

    - + diff --git a/docs/sdk/classes/F2.Rpc.html b/docs/sdk/classes/F2.Rpc.html index ee3e1ed3..9c969831 100644 --- a/docs/sdk/classes/F2.Rpc.html +++ b/docs/sdk/classes/F2.Rpc.html @@ -3,7 +3,7 @@ F2 - F2.Rpc - + @@ -16,7 +16,7 @@ - + @@ -73,8 +73,8 @@
  • Blog
  • -
  • VIEW ON GITHUBv 1.2.0
  • -
  • View on GitHub (v 1.2.0)
  • +
  • VIEW ON GITHUBv 1.2.1
  • +
  • View on GitHub (v 1.2.1)
  • @@ -1697,7 +1697,7 @@

    Parameters:

    - + diff --git a/docs/sdk/classes/F2.UI.Modals.html b/docs/sdk/classes/F2.UI.Modals.html index 60a8b53d..e61f53c6 100644 --- a/docs/sdk/classes/F2.UI.Modals.html +++ b/docs/sdk/classes/F2.UI.Modals.html @@ -3,7 +3,7 @@ F2 - F2.UI.Modals - + @@ -16,7 +16,7 @@ - + @@ -73,8 +73,8 @@
  • Blog
  • -
  • VIEW ON GITHUBv 1.2.0
  • -
  • View on GitHub (v 1.2.0)
  • +
  • VIEW ON GITHUBv 1.2.1
  • +
  • View on GitHub (v 1.2.1)
  • @@ -626,7 +626,7 @@

    Parameters:

    - + diff --git a/docs/sdk/classes/F2.UI.Views.html b/docs/sdk/classes/F2.UI.Views.html index d650fe8d..bdd70ac3 100644 --- a/docs/sdk/classes/F2.UI.Views.html +++ b/docs/sdk/classes/F2.UI.Views.html @@ -3,7 +3,7 @@ F2 - F2.UI.Views - + @@ -16,7 +16,7 @@ - + @@ -73,8 +73,8 @@
  • Blog
  • -
  • VIEW ON GITHUBv 1.2.0
  • -
  • View on GitHub (v 1.2.0)
  • +
  • VIEW ON GITHUBv 1.2.1
  • +
  • View on GitHub (v 1.2.1)
  • @@ -710,7 +710,7 @@

    Parameters:

    - + diff --git a/docs/sdk/classes/F2.UI.html b/docs/sdk/classes/F2.UI.html index dc572b41..ea86659b 100644 --- a/docs/sdk/classes/F2.UI.html +++ b/docs/sdk/classes/F2.UI.html @@ -3,7 +3,7 @@ F2 - F2.UI - + @@ -16,7 +16,7 @@ - + @@ -73,8 +73,8 @@
  • Blog
  • -
  • VIEW ON GITHUBv 1.2.0
  • -
  • View on GitHub (v 1.2.0)
  • +
  • VIEW ON GITHUBv 1.2.1
  • +
  • View on GitHub (v 1.2.1)
  • @@ -1310,7 +1310,7 @@

    Parameters:

    - + diff --git a/docs/sdk/classes/F2.html b/docs/sdk/classes/F2.html index 382e79e5..bfcad425 100644 --- a/docs/sdk/classes/F2.html +++ b/docs/sdk/classes/F2.html @@ -3,7 +3,7 @@ F2 - F2 - + @@ -16,7 +16,7 @@ - + @@ -73,8 +73,8 @@
  • Blog
  • -
  • VIEW ON GITHUBv 1.2.0
  • -
  • View on GitHub (v 1.2.0)
  • +
  • VIEW ON GITHUBv 1.2.1
  • +
  • View on GitHub (v 1.2.1)
  • @@ -381,15 +381,15 @@

    Methods

    - + - + @@ -1448,16 +1448,16 @@

    Returns:

    -
    +

    - _createAppInstance + _createAppConfig (
    • - appConfigs + appConfig
    • @@ -1481,7 +1481,7 @@

      -

      Instantiates each app from it's appConfig and stores that in a local private collection

      +

      Adds properties to the AppConfig object

      @@ -1494,7 +1494,7 @@

      Defined in
      -
      sdk/src/container.js:143
      +
      sdk/src/container.js:75
      @@ -1511,14 +1511,14 @@

      Parameters:

    • - appConfigs - Array + appConfig + F2.AppConfig

      -

      An array of F2.AppConfig objects

      +

      The F2.AppConfig object

      @@ -1529,6 +1529,20 @@

      Parameters:

      +
      +

      Returns:

      + +
      + + + F2.AppConfig: + + The new F2.AppConfig object, prepopulated with +necessary properties + +
      +
      + @@ -1539,16 +1553,16 @@

      Parameters:

    -
    +

    - _hydrateAppConfig + _createAppInstance (
    • - appConfig + appConfigs
    • @@ -1572,7 +1586,7 @@

      -

      Adds properties to the AppConfig object

      +

      Instantiates each app from it's appConfig and stores that in a local private collection

      @@ -1585,7 +1599,7 @@

      Defined in
      -
      sdk/src/container.js:75
      +
      sdk/src/container.js:150
      @@ -1602,14 +1616,14 @@

      Parameters:

    • - appConfig - F2.AppConfig + appConfigs + Array

      -

      The F2.AppConfig object

      +

      An array of F2.AppConfig objects

      @@ -1666,7 +1680,7 @@

      Defined in
      -
      sdk/src/container.js:93
      +
      sdk/src/container.js:100
      @@ -1724,7 +1738,7 @@

      Defined in
      -
      sdk/src/container.js:115
      +
      sdk/src/container.js:122
      @@ -1782,7 +1796,7 @@

      Defined in
      -
      sdk/src/container.js:133
      +
      sdk/src/container.js:140
      @@ -1969,7 +1983,7 @@

      Defined in
      -
      sdk/src/container.js:357
      +
      sdk/src/container.js:373
      @@ -2063,7 +2077,7 @@

      Defined in
      -
      sdk/src/container.js:378
      +
      sdk/src/container.js:394
      @@ -2335,7 +2349,7 @@

      Defined in
      -
      sdk/src/container.js:407
      +
      sdk/src/container.js:423
      @@ -2607,7 +2621,7 @@

      Defined in
      -
      sdk/src/container.js:422
      +
      sdk/src/container.js:438
      @@ -2686,7 +2700,7 @@

      Defined in
      -
      sdk/src/container.js:448
      +
      sdk/src/container.js:464
      @@ -2978,7 +2992,7 @@

      Defined in
      -
      sdk/src/container.js:171
      +
      sdk/src/container.js:178
      @@ -3092,7 +3106,7 @@

      Defined in
      -
      sdk/src/container.js:296
      +
      sdk/src/container.js:312
      @@ -3424,7 +3438,7 @@

      Defined in
      -
      sdk/src/container.js:454
      +
      sdk/src/container.js:470
      @@ -3612,7 +3626,7 @@

      Defined in
      -
      sdk/src/container.js:770
      +
      sdk/src/container.js:786
      @@ -3678,7 +3692,7 @@

      Defined in
      -
      sdk/src/container.js:785
      +
      sdk/src/container.js:801
      @@ -4064,7 +4078,7 @@

      Example:

      - + diff --git a/docs/sdk/data.json b/docs/sdk/data.json index c1a9ae03..36c76966 100644 --- a/docs/sdk/data.json +++ b/docs/sdk/data.json @@ -1857,7 +1857,7 @@ "line": 75, "description": "Adds properties to the AppConfig object", "itemtype": "method", - "name": "_hydrateAppConfig", + "name": "_createAppConfig", "access": "private", "tagname": "", "params": [ @@ -1867,12 +1867,16 @@ "type": "F2.AppConfig" } ], + "return": { + "description": "The new F2.AppConfig object, prepopulated with\nnecessary properties", + "type": "F2.AppConfig" + }, "class": "F2", "module": "f2" }, { "file": "sdk/src/container.js", - "line": 93, + "line": 100, "description": "Attach app events", "itemtype": "method", "name": "_initAppEvents", @@ -1883,7 +1887,7 @@ }, { "file": "sdk/src/container.js", - "line": 115, + "line": 122, "description": "Attach container Events", "itemtype": "method", "name": "_initContainerEvents", @@ -1894,7 +1898,7 @@ }, { "file": "sdk/src/container.js", - "line": 133, + "line": 140, "description": "Has the container been init?", "itemtype": "method", "name": "_isInit", @@ -1909,7 +1913,7 @@ }, { "file": "sdk/src/container.js", - "line": 143, + "line": 150, "description": "Instantiates each app from it's appConfig and stores that in a local private collection", "itemtype": "method", "name": "_createAppInstance", @@ -1927,7 +1931,7 @@ }, { "file": "sdk/src/container.js", - "line": 171, + "line": 178, "description": "Loads the app's html/css/javascript", "itemtype": "method", "name": "loadApp", @@ -1951,7 +1955,7 @@ }, { "file": "sdk/src/container.js", - "line": 296, + "line": 312, "description": "Loads the app's html/css/javascript into an iframe", "itemtype": "method", "name": "loadSecureApp", @@ -1974,7 +1978,7 @@ }, { "file": "sdk/src/container.js", - "line": 357, + "line": 373, "description": "Checks if the app is valid", "itemtype": "method", "name": "_validateApp", @@ -1996,7 +2000,7 @@ }, { "file": "sdk/src/container.js", - "line": 378, + "line": 394, "description": "Checks if the ContainerConfig is valid", "itemtype": "method", "name": "_validateContainerConfig", @@ -2011,7 +2015,7 @@ }, { "file": "sdk/src/container.js", - "line": 407, + "line": 423, "description": "Gets the current list of apps in the container", "itemtype": "method", "name": "getContainerState", @@ -2024,7 +2028,7 @@ }, { "file": "sdk/src/container.js", - "line": 422, + "line": 438, "description": "Initializes the container. This method must be called before performing\nany other actions in the container.", "itemtype": "method", "name": "init", @@ -2040,7 +2044,7 @@ }, { "file": "sdk/src/container.js", - "line": 448, + "line": 464, "description": "Has the container been init?", "itemtype": "method", "name": "isInit", @@ -2053,7 +2057,7 @@ }, { "file": "sdk/src/container.js", - "line": 454, + "line": 470, "description": "Begins the loading process for all apps and/or initialization process for pre-loaded apps.\nThe app will be passed the {{#crossLink \"F2.AppConfig\"}}{{/crossLink}} object which will\ncontain the app's unique instanceId within the container. If the \n{{#crossLink \"F2.AppConfig\"}}{{/crossLink}}.root property is populated the app is considered\nto be a pre-loaded app and will be handled accordingly. Optionally, the\n{{#crossLink \"F2.AppManifest\"}}{{/crossLink}} can be passed in and those\nassets will be used instead of making a request.", "itemtype": "method", "name": "registerApps", @@ -2080,7 +2084,7 @@ }, { "file": "sdk/src/container.js", - "line": 770, + "line": 786, "description": "Removes all apps from the container", "itemtype": "method", "name": "removeAllApps", @@ -2089,7 +2093,7 @@ }, { "file": "sdk/src/container.js", - "line": 785, + "line": 801, "description": "Removes an app from the container", "itemtype": "method", "name": "removeApp", @@ -2727,15 +2731,15 @@ }, { "message": "replacing incorrect tag: returns with return", - "line": " sdk/src/container.js:357" + "line": " sdk/src/container.js:373" }, { "message": "replacing incorrect tag: returns with return", - "line": " sdk/src/container.js:378" + "line": " sdk/src/container.js:394" }, { "message": "replacing incorrect tag: returns with return", - "line": " sdk/src/container.js:407" + "line": " sdk/src/container.js:423" }, { "message": "replacing incorrect tag: params with param", diff --git a/docs/sdk/files/sdk_src_F2.js.html b/docs/sdk/files/sdk_src_F2.js.html index a1080808..f06b8acb 100644 --- a/docs/sdk/files/sdk_src_F2.js.html +++ b/docs/sdk/files/sdk_src_F2.js.html @@ -3,7 +3,7 @@ F2 - sdk/src/F2.js - + @@ -16,7 +16,7 @@ - + @@ -73,8 +73,8 @@
    • Blog
    • -
    • VIEW ON GITHUBv 1.2.0
    • -
    • View on GitHub (v 1.2.0)
    • +
    • VIEW ON GITHUBv 1.2.1
    • +
    • View on GitHub (v 1.2.1)
    @@ -225,7 +225,7 @@

    File: sdk/src/F2.js

     /*!
    - * F2 v{{sdk.version}}
    + * F2 v<%= version%> <%= grunt.template.today("mm-dd-yyyy")%>
      * Copyright (c) 2013 Markit On Demand, Inc. http://www.openf2.org
      *
      * "F2" is licensed under the Apache License, Version 2.0 (the "License"); 
    @@ -567,7 +567,7 @@ 

    File: sdk/src/F2.js

    - + diff --git a/docs/sdk/files/sdk_src_app_handlers.js.html b/docs/sdk/files/sdk_src_app_handlers.js.html index 7721c3e8..4b058b2a 100644 --- a/docs/sdk/files/sdk_src_app_handlers.js.html +++ b/docs/sdk/files/sdk_src_app_handlers.js.html @@ -3,7 +3,7 @@ F2 - sdk/src/app_handlers.js - + @@ -16,7 +16,7 @@ - + @@ -73,8 +73,8 @@
  • Blog
  • -
  • VIEW ON GITHUBv 1.2.0
  • -
  • View on GitHub (v 1.2.0)
  • +
  • VIEW ON GITHUBv 1.2.1
  • +
  • View on GitHub (v 1.2.1)
  • @@ -842,7 +842,7 @@

    File: sdk/src/app_handlers.js

    - + diff --git a/docs/sdk/files/sdk_src_classes.js.html b/docs/sdk/files/sdk_src_classes.js.html index 19d164c7..8f0fed2e 100644 --- a/docs/sdk/files/sdk_src_classes.js.html +++ b/docs/sdk/files/sdk_src_classes.js.html @@ -3,7 +3,7 @@ F2 - sdk/src/classes.js - + @@ -16,7 +16,7 @@ - + @@ -73,8 +73,8 @@
  • Blog
  • -
  • VIEW ON GITHUBv 1.2.0
  • -
  • View on GitHub (v 1.2.0)
  • +
  • VIEW ON GITHUBv 1.2.1
  • +
  • View on GitHub (v 1.2.1)
  • @@ -712,7 +712,7 @@

    File: sdk/src/classes.js

    - + diff --git a/docs/sdk/files/sdk_src_constants.js.html b/docs/sdk/files/sdk_src_constants.js.html index 2dc4bf18..a1a5e96f 100644 --- a/docs/sdk/files/sdk_src_constants.js.html +++ b/docs/sdk/files/sdk_src_constants.js.html @@ -3,7 +3,7 @@ F2 - sdk/src/constants.js - + @@ -16,7 +16,7 @@ - + @@ -73,8 +73,8 @@
  • Blog
  • -
  • VIEW ON GITHUBv 1.2.0
  • -
  • View on GitHub (v 1.2.0)
  • +
  • VIEW ON GITHUBv 1.2.1
  • +
  • View on GitHub (v 1.2.1)
  • @@ -521,7 +521,7 @@

    File: sdk/src/constants.js

    - + diff --git a/docs/sdk/files/sdk_src_container.js.html b/docs/sdk/files/sdk_src_container.js.html index 65753a22..adad718b 100644 --- a/docs/sdk/files/sdk_src_container.js.html +++ b/docs/sdk/files/sdk_src_container.js.html @@ -3,7 +3,7 @@ F2 - sdk/src/container.js - + @@ -16,7 +16,7 @@ - + @@ -73,8 +73,8 @@
  • Blog
  • -
  • VIEW ON GITHUBv 1.2.0
  • -
  • View on GitHub (v 1.2.0)
  • +
  • VIEW ON GITHUBv 1.2.1
  • +
  • View on GitHub (v 1.2.1)
  • @@ -300,11 +300,16 @@

    File: sdk/src/container.js

    /** * Adds properties to the AppConfig object - * @method _hydrateAppConfig + * @method _createAppConfig * @private * @param {F2.AppConfig} appConfig The F2.AppConfig object + * @return {F2.AppConfig} The new F2.AppConfig object, prepopulated with + * necessary properties */ - var _hydrateAppConfig = function(appConfig) { + var _createAppConfig = function(appConfig) { + + // make a copy of the app config to ensure that the original is not modified + appConfig = jQuery.extend(true, {}, appConfig); // create the instanceId for the app appConfig.instanceId = appConfig.instanceId || F2.guid(); @@ -314,6 +319,8 @@

    File: sdk/src/container.js

    if (!F2.inArray(F2.Constants.Views.HOME, appConfig.views)) { appConfig.views.push(F2.Constants.Views.HOME); } + + return appConfig; }; /** @@ -439,12 +446,21 @@

    File: sdk/src/container.js

    }); }; - // load styles - var stylesFragment = []; + // load styles, see #101 + var stylesFragment = null, + useCreateStyleSheet = !!document.createStyleSheet; jQuery.each(styles, function(i, e) { - stylesFragment.push('<link rel="stylesheet" type="text/css" href="' + e + '"/>'); + if (useCreateStyleSheet) { + document.createStyleSheet(e); + } else { + stylesFragment = stylesFragment || []; + stylesFragment.push('<link rel="stylesheet" type="text/css" href="' + e + '"/>'); + } }); - jQuery('head').append(stylesFragment.join('')); + + if (stylesFragment){ + jQuery('head').append(stylesFragment.join('')); + } // load html jQuery.each(appManifest.apps, function(i, a) { @@ -815,7 +831,7 @@

    File: sdk/src/container.js

    jQuery.each(appConfigs, function(i, a) { // add properties and methods - _hydrateAppConfig(a); + a = _createAppConfig(a); // Will set to itself, for preloaded apps, or set to null for apps that aren't already // on the page. @@ -1063,7 +1079,7 @@

    File: sdk/src/container.js

    - + diff --git a/docs/sdk/files/sdk_src_events.js.html b/docs/sdk/files/sdk_src_events.js.html index e7c46f92..f43a0141 100644 --- a/docs/sdk/files/sdk_src_events.js.html +++ b/docs/sdk/files/sdk_src_events.js.html @@ -3,7 +3,7 @@ F2 - sdk/src/events.js - + @@ -16,7 +16,7 @@ - + @@ -73,8 +73,8 @@
  • Blog
  • -
  • VIEW ON GITHUBv 1.2.0
  • -
  • View on GitHub (v 1.2.0)
  • +
  • VIEW ON GITHUBv 1.2.1
  • +
  • View on GitHub (v 1.2.1)
  • @@ -326,7 +326,7 @@

    File: sdk/src/events.js

    - + diff --git a/docs/sdk/files/sdk_src_rpc.js.html b/docs/sdk/files/sdk_src_rpc.js.html index 1f41883e..112e6f29 100644 --- a/docs/sdk/files/sdk_src_rpc.js.html +++ b/docs/sdk/files/sdk_src_rpc.js.html @@ -3,7 +3,7 @@ F2 - sdk/src/rpc.js - + @@ -16,7 +16,7 @@ - + @@ -73,8 +73,8 @@
  • Blog
  • -
  • VIEW ON GITHUBv 1.2.0
  • -
  • View on GitHub (v 1.2.0)
  • +
  • VIEW ON GITHUBv 1.2.1
  • +
  • View on GitHub (v 1.2.1)
  • @@ -568,7 +568,7 @@

    File: sdk/src/rpc.js

    - + diff --git a/docs/sdk/files/sdk_src_ui.js.html b/docs/sdk/files/sdk_src_ui.js.html index 16327374..26425f0c 100644 --- a/docs/sdk/files/sdk_src_ui.js.html +++ b/docs/sdk/files/sdk_src_ui.js.html @@ -3,7 +3,7 @@ F2 - sdk/src/ui.js - + @@ -16,7 +16,7 @@ - + @@ -73,8 +73,8 @@
  • Blog
  • -
  • VIEW ON GITHUBv 1.2.0
  • -
  • View on GitHub (v 1.2.0)
  • +
  • VIEW ON GITHUBv 1.2.1
  • +
  • View on GitHub (v 1.2.1)
  • @@ -669,7 +669,7 @@

    File: sdk/src/ui.js

    - + diff --git a/docs/sdk/index.html b/docs/sdk/index.html index 11602dff..a89aa8e4 100644 --- a/docs/sdk/index.html +++ b/docs/sdk/index.html @@ -3,7 +3,7 @@ F2 - The Open Financial Framework - + @@ -16,7 +16,7 @@ - + @@ -73,8 +73,8 @@
  • Blog
  • -
  • VIEW ON GITHUBv 1.2.0
  • -
  • View on GitHub (v 1.2.0)
  • +
  • VIEW ON GITHUBv 1.2.1
  • +
  • View on GitHub (v 1.2.1)
  • @@ -220,74 +220,99 @@
    -

    F2 - An open web framework for the financial services industry.

    +

    An open web framework for the financial services industry.

    -

    -F2 is an open and free web integration framework designed to help you and other financial industry participants develop custom solutions that combine the best tools and content from multiple providers into one, privately-labeled, seamlessly integrated front-end. The essential components defined by the F2 specification are the Container, Apps, Context and Store—all supported under the hood by F2.js, a JavaScript SDK which provides an extensible foundation powering all F2-based web applications.

    +

    -

    F2 is currently maintained by Markit On Demand and you're encouraged to read more details about the management of the F2 spec. Visit OpenF2.org for more information and follow @OpenF2 on Twitter.

    +

    F2 is an open and free web integration framework designed to help the financial services community develop custom solutions that combine the best tools and content from multiple parties into one, privately-labeled, seamlessly integrated front-end. The essential components core to the framework are containers, apps, context, and the Registry—all supported under the hood by F2.js, a JavaScript SDK which provides an extensible foundation powering all F2-enabled web applications.

    + +

    F2 is currently maintained by Markit On Demand. Visit OpenF2.org for more information and follow @OpenF2 on Twitter.

    Quick Start

    Clone the repo, git clone https://github.com/OpenF2/F2.git, or download the latest version.

    -

    Now you've got F2, you are ready to start building F2 containers or apps. Read the Get Started documentation for F2 apps to begin. If you simply want to see examples, point your browser at http://path/to/your/F2/examples/.

    +

    Browse to the Get Started documentation for containers or apps.

    -

    Important: If you simply want to build F2 containers or apps, you can skip the Build F2 section below. You do not need the command line to work with F2.

    +

    Download F2.js

    -

    Versioning

    + -

    To adhere to industry standards, F2 will be maintained under the Semantic Versioning guidelines as much as possible.

    +

    Developers Build Status

    -

    Releases will be numbered with the following format:

    +

    Important: If you just want to develop F2 containers or apps, you can skip the section below. You do not need the command line, Node.js or Grunt to develop with F2.

    -

    <major>.<minor>.<patch>

    +

    Packages

    -

    For more information on SemVer, please visit http://semver.org/.

    +

    Packages are variants of F2.js. They are ideally used when, for example, a container already has jQuery or sandboxed apps aren't needed. Read more about F2 packages.

    -

    You can run this command to check the version of your local copy of F2 (if you've setup the build):

    + -

    $> grunt version

    +

    Build F2

    -

    Talk

    +

    For those contributing to F2, you'll need to setup your dev environment. To configure it, be sure you have Node.js installed, then run the following command from the project root directory:

    -

    Have a question? Want to chat? Open an Issue on GitHub, ask it on our Google Group or send an email to info@openf2.org.

    +

    $> npm install

    -

    Bug Tracking

    +

    This command will install the Grunt CLI in addition to all dependencies needed to build F2. Depending on your configuration, you may need to be an admin to install some of these Node packages. Additionally, some packages may need to be installed globally using the -g switch. If the installation fails due to directory permissions, use:

    -

    To track bugs and issues, we are using Issues on GitHub.

    +

    $> sudo npm install

    -

    Developers

    +

    We are using markitdown, a lightweight pandoc wrapper, for converting markdown files to HTML for the F2 docs. Pandoc is required for markitdown and there are installation packages available for Windows and Mac OS.

    -

    If you just want to build F2 containers and/or apps, you can skip the Build F2 section below. You do not need the command line to work with F2.

    +

    To build F2, run:

    -

    Build F2 Build Status

    +

    $> grunt

    -

    For those wishing to contribute back to F2, we've included a Gruntfile for use with Grunt which contains the logic for compiling and testing F2.js and the specification docs. Grunt is built on top of Node.js and is installed via npm.

    +

    For help and a list of available tasks, run:

    -

    To configure your environment, be sure you have Node installed and run the following command from the project root directory:

    +

    $> grunt --help

    -

    $> npm install

    +

    Some Mac users have run into a Grunt "cannot run in wd" error when using grunt and/or npm install. If you're getting that error in your shell, try using --unsafe-perm as discussed here.

    -

    This command will install the Grunt CLI in addition to all dependencies needed to run the Gruntfile. Depending on your configuration, you may need to be an admin to install some of these Node packages. Additionally, some packages may need to be installed globally using the -g switch. If the installation fails due to directory permissions, use:

    +

    Versioning

    -

    $> sudo npm install

    +

    The latest version of F2.js will always be in master and the version number/release date is available on the command line by using:

    -

    We are using markitdown, a lightweight pandoc wrapper, for converting markdown files to HTML for the F2 docs. Pandoc is required for markitdown and there are installation packages available for Windows and Mac OS.

    +

    $> grunt version.

    -

    To build F2, run:

    +

    In accordance with industry standards, F2 is currently maintained, in as far as reasonably possible, under the Semantic Versioning guidelines.

    -

    $> grunt

    +

    Releases will be numbered with the following format:

    -

    For help, run:

    +

    <major>.<minor>.<patch>

    -

    $> grunt --help

    +

    For more information on SemVer, please visit SemVer.org.

    -

    Some Mac users have run into a Grunt "cannot run in wd" error when using grunt and/or npm install. If you're getting that error in your shell, try using --unsafe-perm as discussed here.

    +

    Upgrading

    -NuGet Package +

    It is our goal to make upgrading to the latest version of F2 a minor effort for development teams. For more notes on upgrading your container or app to the latest version of F2, read more in the Docs.

    -

    Good news if you're using C#! We have an F2 NuGet package available. In the Package Manager Console run:

    +

    Issues, Enhancements, Bugs

    + +

    Have a question? Want to chat? Open an Issue on GitHub, ask it on our Google Group or send an email to info@openf2.org.

    + +

    To track bugs, issues and enhancement requests, we are using Issues on GitHub.

    + +

    NuGet Package

    + +

    Good news if you're using C#! We have an F2 NuGet package available. In your Package Manager Console run:

    PM> Install-Package F2

    @@ -295,6 +320,8 @@

    Collaboration

    Join our team and help contribute to F2 on GitHub. Begin by reading our contribution guidelines, and then start by forking the repo, sending pull requests, or submitting issues.

    +

    Thank you to the growing list of contributors!

    +

    Copyright and License

    Copyright © 2013 Markit On Demand, Inc.

    @@ -322,7 +349,7 @@

    Copyright and License

    - + diff --git a/docs/sdk/modules/f2.html b/docs/sdk/modules/f2.html index 50af4671..5ff30b8e 100644 --- a/docs/sdk/modules/f2.html +++ b/docs/sdk/modules/f2.html @@ -3,7 +3,7 @@ F2 - f2 - + @@ -16,7 +16,7 @@ - + @@ -73,8 +73,8 @@
  • Blog
  • -
  • VIEW ON GITHUBv 1.2.0
  • -
  • View on GitHub (v 1.2.0)
  • +
  • VIEW ON GITHUBv 1.2.1
  • +
  • View on GitHub (v 1.2.1)
  • @@ -395,7 +395,7 @@

    f2 Module

    - + diff --git a/package.json b/package.json index 95719124..170570d4 100644 --- a/package.json +++ b/package.json @@ -45,6 +45,6 @@ "engines": { "node": ">=0.10" }, - "_releaseDate": "2013-06-24T18:25:43.406Z", - "_releaseDateFormatted": "24 June 2013" + "_releaseDate": "2013-07-31T22:09:05.345Z", + "_releaseDateFormatted": "31 July 2013" } \ No newline at end of file diff --git a/sdk/f2.debug.js b/sdk/f2.debug.js index 898381cc..84132d0e 100644 --- a/sdk/f2.debug.js +++ b/sdk/f2.debug.js @@ -13308,7 +13308,7 @@ global.easyXDM = easyXDM; })(window, document, location, window.setTimeout, decodeURIComponent, encodeURIComponent); /*! - * F2 v1.2.1 06-26-2013 + * F2 v1.2.1 07-31-2013 * Copyright (c) 2013 Markit On Demand, Inc. http://www.openf2.org * * "F2" is licensed under the Apache License, Version 2.0 (the "License"); diff --git a/sdk/f2.min.js b/sdk/f2.min.js index 9397c712..a7dc1024 100644 --- a/sdk/f2.min.js +++ b/sdk/f2.min.js @@ -1,4 +1,4 @@ -/*! F2 - v1.2.1 - 06-26-2013 - See below for copyright and license */ +/*! F2 - v1.2.1 - 07-31-2013 - See below for copyright and license */ (function(exports){if(!exports.F2||exports.F2_TESTING_MODE){/*! JSON.org requires the following notice to accompany json2: @@ -113,7 +113,7 @@ var $,jQuery=$=window.jQuery.noConflict(!0);/*! * THE SOFTWARE. */ function(e,t,n,r,o,i){function a(e,t){var n=typeof e[t];return"function"==n||!("object"!=n||!e[t])||"unknown"==n}function s(e,t){return!("object"!=typeof e[t]||!e[t])}function l(e){return"[object Array]"===Object.prototype.toString.call(e)}function c(){try{var e=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");return F=Array.prototype.slice.call(e.GetVariable("$version").match(/(\d+),(\d+),(\d+),(\d+)/),1),N=parseInt(F[0],10)>9&&parseInt(F[1],10)>0,e=null,!0}catch(t){return!1}}function u(){if(!Q){Q=!0;for(var e=0;U.length>e;e++)U[e]();U.length=0}}function p(e,t){return Q?(e.call(t),void 0):(U.push(function(){e.call(t)}),void 0)}function f(){var e=parent;if(""!==P)for(var t=0,n=P.split(".");n.length>t;t++)e=e[n[t]];return e.easyXDM}function d(t){return e.easyXDM=B,P=t,P&&($="easyXDM_"+P.replace(".","_")+"_"),L}function h(e){return e.match(H)[3]}function g(e){return e.match(H)[4]||""}function m(e){var t=e.toLowerCase().match(H),n=t[2],r=t[3],o=t[4]||"";return("http:"==n&&":80"==o||"https:"==n&&":443"==o)&&(o=""),n+"//"+r+o}function y(e){if(e=e.replace(I,"$1/"),!e.match(/^(http||https):\/\//)){var t="/"===e.substring(0,1)?"":n.pathname;"/"!==t.substring(t.length-1)&&(t=t.substring(0,t.lastIndexOf("/")+1)),e=n.protocol+"//"+n.host+t+e}for(;D.test(e);)e=e.replace(D,"");return e}function v(e,t){var n="",r=e.indexOf("#");-1!==r&&(n=e.substring(r),e=e.substring(0,r));var o=[];for(var a in t)t.hasOwnProperty(a)&&o.push(a+"="+i(t[a]));return e+(q?"#":-1==e.indexOf("?")?"?":"&")+o.join("&")+n}function b(e){return e===void 0}function x(e,t,n){var r;for(var o in t)t.hasOwnProperty(o)&&(o in e?(r=t[o],"object"==typeof r?x(e[o],r,n):n||(e[o]=t[o])):e[o]=t[o]);return e}function w(){var e=t.body.appendChild(t.createElement("form")),n=e.appendChild(t.createElement("input"));n.name=$+"TEST"+O,E=n!==e.elements[n.name],t.body.removeChild(e)}function C(e){b(E)&&w();var n;E?n=t.createElement('
    - - _createAppInstance + + _createAppConfig (

    Instantiates each app from it's appConfig and stores that in a local private collection

    Adds properties to the AppConfig object

    - - _hydrateAppConfig + + _createAppInstance (

    Adds properties to the AppConfig object

    Instantiates each app from it's appConfig and stores that in a local private collection