Version Description
- Bug: Process Merge Tags when displaying Nested Forms in Core / Universal PDFs [GH#849]
- Bug: Don't strip
<pagebreak />
,<barcode />
,<table autosize="1">
, andpage-break-*
CSS when displaying Rich Text Editor fields in PDF [GH#852] - Bug: Try convert the Background Image URL to a Path for better relability [GH#853]
- Bug: Fix Rich Text Editor display issue in PDF Settings when Elementor plugin enabled [GH#854]
- Bug: Don't strip
<a>
tag when direct parent of<img />
in the Core/Universal PDFs Header and Footer Rich Text Editor [GH#855]
Download this release
Release Info
Developer | Blue Liquid Designs |
Plugin | Gravity PDF |
Version | 5.1.1 |
Comparing to | |
See all releases |
Code changes from version 5.1.0 to 5.1.1
- CHANGELOG.txt +675 -675
- README.txt +10 -3
- api.php +674 -674
- bower_components/backbone.modelbinder/.bower.json +26 -26
- bower_components/backbone.modelbinder/Backbone.ModelBinder.min.js +4 -4
- bower_components/backbone.modelbinder/README.md +875 -875
- bower_components/backbone.modelbinder/component.json +14 -14
- bower_components/backbone.modelbinder/package.json +37 -37
- dist/assets/js/app.bundle.min.js.map +0 -1
CHANGELOG.txt
CHANGED
@@ -1,675 +1,675 @@
|
|
1 |
-
= 4.5.0 =
|
2 |
-
* Feature: Added full support for the Gravity Wiz Conditional Logic Date Plugin
|
3 |
-
* Feature: Added full support for the Slim Image Cropper for Gravity Forms Plugin
|
4 |
-
* Dev Feature: Added additional actions that run before and after PDFs are generated.
|
5 |
-
|
6 |
-
= 4.4.0 =
|
7 |
-
* Feature: Add native support for Gravity Forms Chained Select
|
8 |
-
* Feature: Include Gravity Forms add-on conditional logic in PDF Conditional Logic selector
|
9 |
-
* Feature: When the "Show Page Names" PDF setting is enabled, the `pagebreak` CSS class can now be used on Named Pagebreak fields (except the very first one)
|
10 |
-
* Feature: PDF Rich Text fields now utilize the full width of the editor
|
11 |
-
* Dev Feature: Add $form_data API endpoint
|
12 |
-
* Dev Feature: Add the $form and $this variables to the `gfpdf_field_value` filter
|
13 |
-
* Dev Feature: Add `gfpdf_form_data_key_order` filter to allow the re-ordering of the $form_data array
|
14 |
-
* Dev Feature: Add filter `gfpdf_container_disable_faux_columns` to allow faux columns to be toggled off (useful when using a lot of conditional logic with CSS Ready Classes)
|
15 |
-
* Housekeeping: Update Monolog to latest version
|
16 |
-
* Housekeeping: Instead of generic error, display `You do not have permission to view this PDF` when user failed PDF security checks
|
17 |
-
* Housekeeping: Tweak the Help page to provide more relevant information.
|
18 |
-
* Housekeeping: Reduce the Gravity PDF log file bloat, and add more specific log messages.
|
19 |
-
* Housekeeping: Recursively clean-up the PDF temporary directory
|
20 |
-
* Housekeeping: Limit the registration of PDF settings on Gravity PDF pages, and the admin options.php page
|
21 |
-
* Bug: Prevent multiple calls running when a new template is installed/deleted and then selected
|
22 |
-
* Bug: Pre-process any mergetags for the Checkbox, HTML, Post Content, Radio, Section, Textarea and Terms of Service Gravity Form fields
|
23 |
-
* Bug: Fix individual quantity field $form_data
|
24 |
-
* Bug: Ensure individual product fields (Product, Discount, Shipping, Subtotal, Tax and Total) display an empty value in the $form_data array, when necessary
|
25 |
-
* Bug: Fix PDF Template Manager display issues for WordPress 4.8+
|
26 |
-
* Bug: Adjust Logged out timeout default to 20 minutes to match documentation
|
27 |
-
* Bug: Fix PHP notice when pre-procesing the template settings
|
28 |
-
* Bug: Fix Survey $form_data['survey']['score'] key
|
29 |
-
* Bug: Fix the Gravity Perks E-Commerce Subtotal value in the $form_data array
|
30 |
-
* Bug: Prevent TinyMCE error when selecting a new template and other plugins define a custom TinyMCE plugin
|
31 |
-
* Bug: Adjust PDF Template Upload limit from 5MB to 10MB
|
32 |
-
* Bug: Fix Product field background color issue
|
33 |
-
* Bug: Right-align prices in the product table
|
34 |
-
* Bug: Fix PHP fatal error when PDF cannot be correctly saved to disk
|
35 |
-
|
36 |
-
= 4.3.2 =
|
37 |
-
* Bug: Reverse pricing issue bug fix in 4.3.1 (under some circumstances it cause the incorrect Unit Price to be displayed in product table)
|
38 |
-
* Bug: Fix Unit Price currency issue in the product table when using the Gravity Forms Multi Currency plugin
|
39 |
-
* Bug: Fix empty line-items in the Product table when using the Gravity Wiz E-Commerce add-on with conditional logic
|
40 |
-
|
41 |
-
= 4.3.1 =
|
42 |
-
* Bug: Restrict Gravity PDF JavaScript to the correct PDF pages (GH#693)
|
43 |
-
* Bug: Fix PHP5.2 activation error (GH#697)
|
44 |
-
* Bug: Fix RTL issue with Chosen Select library (GH#698)
|
45 |
-
* Bug: Fix PDF Product table pricing issue by using the pre-calculated price field for the unit price (GH#699)
|
46 |
-
|
47 |
-
= 4.3.0 =
|
48 |
-
* Feature: Add support for Gravity Perks E-Commerce Add-on (GH#671)
|
49 |
-
* Dev Feature: Add GPDFAPI::get_pdf_fonts() method
|
50 |
-
* Dev Feature: Add 'gfpdf_pdf_generator_pre_processing' filter
|
51 |
-
* Dev Feature: Add 'gfpdf_entry_pre_form_data' filter
|
52 |
-
* Dev Feature: Add Helper_Trait_Logger class to make it easier to inject our logger into new classes (GH#677)
|
53 |
-
* Dev Enhancement: Include the current object as a 5th parameter to 'gfpdf_pdf_field_content' filter
|
54 |
-
* Dev Enhancement: Include update message / additonal link helper functions for registered Gravity PDF add-ons (GH#673)
|
55 |
-
* Dev Enhancement: Update Easy Digital Download Licensing class to version 1.6.14
|
56 |
-
* Future Feature: After plugin updates, copy shipped Mpdf fonts to PDF Working Directory (preparation for removal of all fonts in future release) (GH#676)
|
57 |
-
* Bug: Strip URL parameters from home_url(), if any, when building PDF URL (GH#674)
|
58 |
-
* Bug: Load the correct PDF Template Configuration file when using 'template' helper param (GH#675)
|
59 |
-
|
60 |
-
= 4.2.2 =
|
61 |
-
* Bug: Fix empty Master Sassword regression introduced in 4.2 (GH#664)
|
62 |
-
* Bug: Fix Javascript errors when plugin translation files used (GH#667)
|
63 |
-
* Bug: Fix PDF Conditional Logic saving problem when using 'Less than' (GH#668)
|
64 |
-
* Bug: Fix PHP Notices when using custom font (GH#669)
|
65 |
-
* Bug: Merge Mpdf upstream patches (includes Chrome Viewer Yellow hover fix)
|
66 |
-
|
67 |
-
= 4.2.1 =
|
68 |
-
* Bug: Fix fatal DateTimeZone error for older versions of PHP (GH#654)
|
69 |
-
|
70 |
-
= 4.2.0 =
|
71 |
-
* Feature: Merge tags and shortcodes are displayed in the PDF for any administrative fields (GH#633)
|
72 |
-
* Feature: New field class 'pagebreak' forces a pagebreak in the PDF (GH#634)
|
73 |
-
* Feature: Instead of the field not showing at all, Gravity Perks Terms of Conditions field now shows the text "Not accepted"
|
74 |
-
when user hasn't agreed to terms (GH#636)
|
75 |
-
|
76 |
-
* Dev Feature: Add premium add-on and licensing infrastructure (GH#619)
|
77 |
-
* Dev Feature: [gravitypdf] shortcode debug messages can be toggled on and off for users with the 'gravityforms_view_entries' capability (GH#627)
|
78 |
-
* Dev Feature: Add filter 'gfpdf_field_label' to modify the PDF field labels (GH#621)
|
79 |
-
* Dev Feature: Add filter 'gfpdf_pdf_field_content' to modify the field markup before content is wrapped in the PDF markup (GH#620)
|
80 |
-
* Dev Feature: Add filters 'gfpdf_get_pdf_display_list', 'gfpdf_get_pdf_url', 'gfpdf_get_active_pdfs', 'gfpdf_override_pdf_bypass',
|
81 |
-
'gfpdf_maybe_attach_to_notification', 'gfpdf_maybe_always_save_pdf', 'gfpdf_form_data' and 'gfpdf_preprocess_template_arguments' for
|
82 |
-
greater control over the core PDF functionality. (GH#622)
|
83 |
-
* Dev Feature: Fix master password being overridden on PDF save after v3 to v4 migration (GH#624)
|
84 |
-
* Dev Feature: Allow master password field to be shown in the UI with the 'gfpdf_enable_master_password_field' fitler (GH#624)
|
85 |
-
* Dev Feature: Swapped 'error' log to 'warning' log when template config file not found (GH#613)
|
86 |
-
* Dev Feature: Upgrade all NPM modules to latest versions. PDF Template Manager now renders faster (GH#631)
|
87 |
-
* Dev Feature: Remove hard dependancy on the Helper_Interface_Config interface for the template configuration file (GH#632)
|
88 |
-
* Dev Feature: Added 'gfpdf_field_middleware' filter to control when a field should be displayed in the core PDF templates (GH#635)
|
89 |
-
* Dev Feature: Greater access to the Field_Product class internals (GH#642)
|
90 |
-
|
91 |
-
* Bug: Correctly exit the script when the PDF is downloaded / sent to the browser (GH#610)
|
92 |
-
* Bug: Don't auto-redirect to welcome / update screen on plugin install or upgrade which resolves a cached redirect issue (GH#612)
|
93 |
-
* Bug: Register two PDF endpoints to support both pretty and almost pretty permalinks at the same time (GH#614)
|
94 |
-
* Bug: Fix [gravitypdf] shortcode display error in GravityView when wrapped in another shortcode (GH#628)
|
95 |
-
* Bug: Add support for Gravity Forms 2.3 Merge Tags (GH#643)
|
96 |
-
* Bug: Fix background image relative paths (GH#645)
|
97 |
-
* Bug: Fix GravityView display issue when view is used on the front page (GH#639)
|
98 |
-
* Bug: Don't show selected product options in the product field when not grouping products together in PDF (GH#646)
|
99 |
-
* Bug: Fix edge case that caused PDF settings to be overridden when the form is updated (GH#648)
|
100 |
-
|
101 |
-
= 4.1.1 =
|
102 |
-
* Bug: Add check to see if headers are already sent before trying to redirect to the welcome / update page (GH#601)
|
103 |
-
* Bug: Fixed issue accessing the Advanced Template Manager in Safari browser (GH#603)
|
104 |
-
* Bug: Ensure the Advanced Template Manager notice and error messages have the correct styles in the Form PDF Settings pages (GH#604)
|
105 |
-
* Bug: Fix PDF generation problem using the legacy v3 URL structure (GH#605)
|
106 |
-
|
107 |
-
= 4.1.0 =
|
108 |
-
* Feature: Advanced PDF Template Manager. Upload, View, Select and Delete PDF templates with ease (GH#486)
|
109 |
-
* Feature: Add PDF Mergetags which output PDF URLs and compliment the [gravitypdf] shortcode which output HTML links (GH#404)
|
110 |
-
* Feature: Add four-column CSS Ready Class support to core PDFs. Note: if you have run "Setup Custom Templates" you will need to re-run it to take advantage of this feature (GH#461)
|
111 |
-
* Feature: Added support for the WP External Links plugin (GH#386)
|
112 |
-
* Feature: Added filter to show radio, checkbox, select, multiselect and product field values in core PDF templates (GH#600)
|
113 |
-
* Enhancement: Gravity PDF Review Notice now only shows up on Gravity Forms pages (#528)
|
114 |
-
* Enhancement: Convert all strings to American format so they can be correctly translated using Glotpress (GH#525)
|
115 |
-
* Enhancement: Added Australian, New Zealand and UK language packs (GH#525)
|
116 |
-
* Enhancement: Add support for Gravity Forms 2.2 Logging Module (GH#596)
|
117 |
-
* Dev Feature: Added 'Author URI' and 'Tags' headers to PDF template files which get displayed in the Advanced Template Manager (GH#558)
|
118 |
-
* Dev Feature: Include $this as eighth parameter in 'gfpdf_field_html_value' filter (GH#549)
|
119 |
-
* Dev Feature: Add 'gfpdf_field_section_break_html' filter to returned Section Field HTML for the PDF (GH#548)
|
120 |
-
* Dev Feature: Add actions before and after the core template HTML is generated; 'gfpdf_pre_html_fields' and 'gfpdf_post_html_fields' respectively (GH#546)
|
121 |
-
* Dev Feature: Template PHP Configuration files can impliment setUp and TearDown interfaces which fire when templates are installed or deleted through the Advanced Template Manager (GH#545)
|
122 |
-
* Dev Feature: Added Font Create and Delete endpoints to API – GPDFAPI::add_pdf_font() and GPDFAPI::delete_pdf_font() (GH#541)
|
123 |
-
* Dev Feature: Allow Rich Text Editor height to be controlled through the 'size' property when used in template config (GH#540)
|
124 |
-
* Dev Feature: Allow images in radio buttons using the new `'class' => 'image-radio-buttons'` property when used in template config (GH#539)
|
125 |
-
* Dev Changes: Use Gravity Forms copy of Chosen JS (GH#563)
|
126 |
-
* Dev Changes: All production CSS and JS saved to /dest/ directory as part of Advanced Template Manager update
|
127 |
-
* Dev Changes: Standardized all AJAX Authentication so Nonce and Capability checks are easily checked (GH#538)
|
128 |
-
* Dev Changes: Rename all instances of "depreciated" with "deprecated" in our files and classes (GH#535)
|
129 |
-
* Dev Changes: Contact our localized JS data to camelCase (GH#532)
|
130 |
-
* Dev Changes: Utilized PHP5.4 array syntax in code (GH#521)
|
131 |
-
* Bug: Reset Gravity Forms Merge Tag JS when PDF template changes (GH#551)
|
132 |
-
* Bug: Fix incorrect variable reference to $include_list_styles which uses 'gfpdf_include_list_styles' to change the behaviour (GH#547)
|
133 |
-
* Bug: Fix PHP notice in PDF when no products selected in form (GH#523)
|
134 |
-
* Bug: Fix issue with Gravity PDF update screen showing and not showing at incorrect times (GH#514)
|
135 |
-
* Bug: Fix false positive when checking if the PDF tmp directory is readable (GH#519)
|
136 |
-
* Bug: Fix error when using GLOB_BRACE flag in glob() function (GH#562)
|
137 |
-
* Bug: Remove OTF fonts from being uploaded due to poor support in Mpdf (GH#569)
|
138 |
-
* Bug: Additional PHP7.1 fixes merged from upstream Mpdf package
|
139 |
-
* Bug: Allow TTF file mime type to be correctly detected in WordPress 4.7.3 (GH#571)
|
140 |
-
* Bug: Ensure PDF Delete dialog shows up after being previously 'canceled' (GH#588)
|
141 |
-
* Bug: Ensure duplicate mergetags aren't included after PDF template change (GH#589)
|
142 |
-
* Bug: Fix PHP Notice if there's no active capabilities for a role (GH#590)
|
143 |
-
|
144 |
-
= 4.0.6 =
|
145 |
-
* Correctly register our PDF link with the WP Rewrite API when "Almost Pretty" permalinks are active (GH#502)
|
146 |
-
* Correctly process mergetags in password field for Tier 2 PDF templates (GH#503)
|
147 |
-
* Allow mergetags to be saved in HTML attributes in our Header / Footer settings - DEV NOTE: all Rich Text Editor settings fields should be output with `wp_kses_post( $html )` (GH#492)
|
148 |
-
* Process mergetags before Header / Footer settings get passed to wp_kses_post() on output (GH#512)
|
149 |
-
* Renamed `check_wordpress()` method to `is_compatible_wordpress_version()` to prevent false positive using ConfigServer eXploit Scanner (GH#500)
|
150 |
-
* Explicitly set a forward slash after the home_url() when building PDF links (GH#511)
|
151 |
-
* Resolve incorrect page numbering in Mpdf's Table of Contents
|
152 |
-
* Change Helper_Misc->get_contrast() to choose white in more cases (GH#506)
|
153 |
-
|
154 |
-
= 4.0.5 =
|
155 |
-
* Add support for "Almost Pretty" permalinks for web servers that don't support Mod Rewrite (IIS) (GH#488)
|
156 |
-
* Add PHP 7.1 support – resolves two string-to-array issues (GH#495)
|
157 |
-
* Add <p> and <br> tags to Rich Text Paragraph field in PDF – using wpautop() (GH#490)
|
158 |
-
* Disable product table when enabling the 'individual_products' option in core templates (GH#493)
|
159 |
-
|
160 |
-
= 4.0.4 =
|
161 |
-
* Prevent Finder (Mac) and Ghostscript viewing / processing password-protected PDFs without a password (GH#467)
|
162 |
-
* Fix Font Manager display issues for users running a version of WP lower than 4.5 (GH#470)
|
163 |
-
* Ensure new lines in Header / Footer automatically convert to <p> or <br> tags using wpautop() (GH#472)
|
164 |
-
* Fix issue in $form_data where Radio / Checkbox fields wouldn't display site-owner entered HTML (GH#415)
|
165 |
-
* Fixed conflict with Enhanced Media Library plugin (GH#433)
|
166 |
-
* Fixed issue with encoded characters in saved PDF filename (GH#475)
|
167 |
-
* Fixed issue where PDF settings would always set to "active" when saved (GH#477)
|
168 |
-
* Fixed depreciation notice for multisites using WordPress 4.6 (GH#479)
|
169 |
-
* Apply esc_html() and esc_url() to PDF name and URL in admin area (GH#484)
|
170 |
-
|
171 |
-
= 4.0.3 =
|
172 |
-
* Fix incorrect product calculations when using decimal comma format eg. 1.000,50 (GH#442)
|
173 |
-
* Rename $config variable to $html_config in core templates (GH#451)
|
174 |
-
* Don't chain CSS in our default setters or set fixed font size in templates (GH#446)
|
175 |
-
* Fix display issues for certain characters with DejaVu Sans font family in PDFs (GH#456)
|
176 |
-
* Ensure QueryPath produces valid UTF-8 data after processing (GH#452)
|
177 |
-
* Re-running the Custom Template Setup will override working directory templates with same name (GH#457)
|
178 |
-
* Fixed legacy Name field PHP warnings (GH#448)
|
179 |
-
* Replace translations with their escaped function counterparts (GH#463)
|
180 |
-
* Duplicating PDFs will now be inactive by default (GH#458)
|
181 |
-
* Tweaked the "Show Page Names" field description (GH#449)
|
182 |
-
|
183 |
-
= 4.0.2 =
|
184 |
-
* Fixes issue displaying address fields in v4 PDFs (GH#429)
|
185 |
-
* Fixes internal logging issues and added Gravity Forms 1.1 support (GF#428)
|
186 |
-
* Fixes notice when form pagination information is not available (GH#437)
|
187 |
-
* Fixes notice when using GPDFAPI::product_table() on form that had no products (GH#438)
|
188 |
-
* Fixes caching issue with GravityView Enable Notifications plugin that caused PDF attachment not to be updated (GH#436)
|
189 |
-
|
190 |
-
= 4.0.1 =
|
191 |
-
* Fixes PHP notice when viewing PDF and Category field is empty (GH#419)
|
192 |
-
* Fixes PHP notice when viewing PDF and custom font directory is empty (GH#416)
|
193 |
-
* Fixes Font Manager / Help Search features due to Underscore.js conflict when PHP's deprecated ASP Tags enabled (GH#417)
|
194 |
-
* Allows radio and checkbox values to show HTML in PDFs (GH#415)
|
195 |
-
* Fixes PDF letter spacing issue with upper and lower case characters (GH#418)
|
196 |
-
* Fixes character display problems using core Arial font in PDFs (GH#420)
|
197 |
-
* Fixes documentation search error on PDF Help tab (GH#424)
|
198 |
-
* Add additional check when cleaning up TMP directory (GH#427)
|
199 |
-
|
200 |
-
= 4.0 =
|
201 |
-
* Minimum PHP version changed from PHP 5.2 to PHP 5.4. ENSURE YOUR WEB SERVER IS COMPATIBLE BEFORE UPDATING (Forms -> Settings -> PDF -> System Status)
|
202 |
-
* Minimum WordPress version changed from 3.9 to 4.2. ENSURE YOU ARE RUNNING THE MINIMUM VERISON OF WP BEFORE UPDATING (Forms -> Settings -> PDF -> System Status)
|
203 |
-
* Minimum Gravity Forms version changed from 1.8 to 1.9. ENSURE YOU ARE RUNNING THE MINIMUM VERISON OF GRAVITY FORMS BEFORE UPDATING (Forms -> Settings -> PDF -> System Status)
|
204 |
-
* Maintained backwards compatibility with v3 for 80% of users. Review our migration guide for additional information (https://gravitypdf.com/documentation/v4/v3-to-v4-migration/)
|
205 |
-
* Created full user interface for managing plugin settings. All settings are now stored in the database
|
206 |
-
* Overhaul PDF designs that ship with software. Now comes with 4 completely free templates (two are all-new and two are enhanced v3 favorites)
|
207 |
-
* Added CSS Ready class support in PDFs. Two and three column classes now work in PDF
|
208 |
-
* Users can apply conditional logic to PDFs via new UI
|
209 |
-
* Control font, size and color via new UI
|
210 |
-
* Control paper size of generated PDF via new UI
|
211 |
-
* Control advanced security settings via new UI
|
212 |
-
* Control customisable PDF template options via new UI
|
213 |
-
* Control PDF header / footers via UI
|
214 |
-
* Control PDF background via UI
|
215 |
-
* Change PDF format (PDF/A-1b or PDF/X-1a) via UI
|
216 |
-
* Password Protect PDF via UI and change end-user privilages
|
217 |
-
* Added [gravitypdf] shortcode to allow users to display PDF links on confirmation pages, notifications, or anywhere else
|
218 |
-
* Allow user to change the action of the PDF link view in admin area (view or download)
|
219 |
-
* Added timeout parameter when unauthenticated user who submitted the form (matched by IP) attempts to access PDF. Defaults to 20 minutes
|
220 |
-
* Added ability to make a PDF "public". This disabled all security precautions on PDF. Use with caution.
|
221 |
-
* Deprecated configuration.php and created a migration feature which users can run if that file is detected. Removes /output/ directory during migration (where v3 stored PDFs saved to disk).
|
222 |
-
* Duplicating Gravity Form will also duplicate Gravity PDF settings assigned to that form. Importing / Exporting forms will also include PDF settings
|
223 |
-
* Better installation and upgrade experience for users with automated redirect to landing page after install / major update (can be disabled in settings)
|
224 |
-
* Created a font manager so users have a user interface to install and use their favorite fonts. Support for TTF and certain OTF font files
|
225 |
-
* Allow users to enable Right to Left language support from UI
|
226 |
-
* Created uninstaller which removes all trace of plugin from website
|
227 |
-
* Help tab allows users to live search our documentation
|
228 |
-
* Remove need to initialize the plugin when first installed
|
229 |
-
* Remove need to initialize fonts when uploaded to our /fonts/ directory
|
230 |
-
* Cleanup PDFs from disk when finished with them (also cleans up any stay files every 24 hours)
|
231 |
-
* Detect if our /tmp/ directory is accessible by browser and suggest ways to fix
|
232 |
-
* Allow all directories in /PDF_EXTENDED_TEMPLATES/ directory to be moved / renamed via filters (including the base directory)
|
233 |
-
* Create GPDFAPI class to allow devs to easily build ontop of plugin
|
234 |
-
* Cleaned up PDF template markup so developers can focus soley on their template code without any extra overhead. See our documentation for more details (https://gravitypdf.com/documentation/v4/developer-start-customising/)
|
235 |
-
* Enhanced PDF templates by allowing an image and configuration class
|
236 |
-
* Added large number of new actions and filters and provided documentation and examples for them on our website
|
237 |
-
* Allow developers to add or remove individual security layers via filters
|
238 |
-
* Updated mPDF from 5.7 to 6.1
|
239 |
-
* Added support for Gravity Forms Logging plugin
|
240 |
-
* Added better product data to $form_data['field']
|
241 |
-
* Added PHPDocs to all classes / methods / functions
|
242 |
-
* Fix PDF_EXTENDED_TEMPLATES location in legacy Multisite networks (WP3.5 or lower)
|
243 |
-
* Automatically make $field array available to PDF templates (array of current form fields accessible by field ID)
|
244 |
-
* Automatically make $settings array available to PDF templates (the current PDF configuration settigns)
|
245 |
-
* Automatically make $config array available to PDF templates (the initialized template config class - if any)
|
246 |
-
* Automatically make $form, $entry and $form_data available to PDF templates
|
247 |
-
* Automatically make $gfpdf object available to PDF templates (the main Gravity PDF object containing all our helper classes)
|
248 |
-
|
249 |
-
= 3.7.7 =
|
250 |
-
* Bug - Ensure 'gfpdf_post_pdf_save' action gets triggered for all PDFs when resending notifications
|
251 |
-
* Housekeeping - Remove compress.php from mPDF package (unneeded)
|
252 |
-
|
253 |
-
= 3.7.6 =
|
254 |
-
* Bug - Added full support for all Gravity Forms notification events (includes Payment Complete, Payment Refund, Payment Failed, Payment Pending ect)
|
255 |
-
* Bug - Resolve mPDF PHP7 image parsing error due to a change in variable order parsing.
|
256 |
-
|
257 |
-
= 3.7.5 =
|
258 |
-
* Housekeeping - Tweak mPDF package to be PHP7 compatible.
|
259 |
-
|
260 |
-
= 3.7.4 =
|
261 |
-
* Housekeeping - Revert patch made in last update as Gravity Forms 1.9.9 fixes the issue internally.
|
262 |
-
|
263 |
-
= 3.7.3 =
|
264 |
-
* Bug - Gravity Forms 1.9 didn't automatically nl2br paragraph text mergetags. Fixed this issue in custom PDF templates.
|
265 |
-
|
266 |
-
= 3.7.2 =
|
267 |
-
* Bug - Updated $form_data['date_created'], $form_data['date_created_usa'], $form_data['misc']['date_time'], $form_data['misc']['time_24hr'] and $form_data['misc']['time_12hr'] to factor in the website's timezone settings.
|
268 |
-
|
269 |
-
= 3.7.1 =
|
270 |
-
* Housekeeping - Allow control over signature width in default template using the 'gfpdfe_signature_width' filter
|
271 |
-
* Housekeeping - Add better error checking when migrating PDF template folder
|
272 |
-
* Housekeeping - Add unit testing to the directory migration function
|
273 |
-
* Bug - Fixed backwards-compatiiblity PHP error when viewing custom PDF templates on Gravity Forms 1.8.3 or below.
|
274 |
-
* Bug - Ensure checkbox field names are included in the $form_data array
|
275 |
-
|
276 |
-
= 3.7.0 =
|
277 |
-
* Feature - Added 'default-show-section-content' configuration option. You can now display the section break content in the default template. Note: if this option is enabled and the section break is empty it will still be displayed on the PDF.
|
278 |
-
* Feature - Added hooks 'gfpdfe_template_location' and 'gfpdfe_template_location_uri' to change PDF template location
|
279 |
-
* Housekeeping - Migrate your template and configuration files. As of Gravity PDF 3.7 we'll be dropping the 'site_name' folder for single WordPress installs and changing the multisite install directory to the site ID.
|
280 |
-
* Housekeeping - Added $form_data['html_id'] key which has the HTML fields added by their ID (much like the signature_details_id key).
|
281 |
-
* Housekeeping - Add large number of unit tests
|
282 |
-
* Housekeeping - Derestrict certain pages software loads on.
|
283 |
-
* Housekeeping - Split up PDF viewing security components into smaller chunks (easier to unit test)
|
284 |
-
* Housekeeping - Remove CLI-checking override in RAM settings
|
285 |
-
* Housekeeping - Included directory paths by default on the system status page
|
286 |
-
* Housekeeping - Updated configuration.php examples to include new default config option and refined the copy
|
287 |
-
* Bug - Fixed issue initializing plugin when memory limit was set to -1 (unlimited)
|
288 |
-
* Bug - Fix Multisite migration problem where if an error was thrown for one of the sub sites it caused all of the sites to show an error (even if they were successful)
|
289 |
-
* Bug - Fix typo in example-template.php file
|
290 |
-
* Bug - Fix up notices in custom templates when using poll/survey/quiz add ons.
|
291 |
-
* Bug - Fix up notice in custom template when the form description is empty
|
292 |
-
* Bug - Fix up notices in mPDF template when using headers/footers
|
293 |
-
* Bug - Fix up error in PDF when signature field wasn't filled in
|
294 |
-
|
295 |
-
= 3.6.0 =
|
296 |
-
* Feature - Added support for Gravity Form's sub-field middle name (1.9Beta)
|
297 |
-
* Feature - Patch mPDF with full :nth-child support on TD and TR table cells
|
298 |
-
* Feature - Added $form_data[products_totals][subtotal] key (total price without shipping costs added)
|
299 |
-
* Feature - Added formated money to all product fields in the $form_data array
|
300 |
-
* Feature - Default templates: only show fields who's conditional logic is true. Perfect when used with default-show-html
|
301 |
-
* Housekeeping - Move PDF_EXTENDED_TEMPLATES folder to the /wp-content/upload/ directory. Get more info about the move (see http://developer.gravitypdf.com/news/migrating-template-directory-means/)
|
302 |
-
* Housekeeping - Refined when admin resources are loaded
|
303 |
-
* Housekeeping - Fixed typo during initial initialization
|
304 |
-
* Housekeeping - Switched icons back to FontAwesome which is shipped by default with Gravity Forms
|
305 |
-
* Housekeeping - Display full path to mPDF tmp directory when there are issues writing to it
|
306 |
-
* Housekeeping - Modified font installation message.
|
307 |
-
* Housekeeping - Update example-header-and-footer_06.php and example-advanced-headers_07.php to better reflect current mPDF features
|
308 |
-
* Bug - Fixed issue pulling the correct configuration when multiple nodes were assigned to multiple forms
|
309 |
-
* Bug - Fixed number field formatting issue which always rounded to two decimal places
|
310 |
-
* Bug - Fixed JS namespace issue with WordPress Leads plugin
|
311 |
-
* Bug - Fixed error initializing fonts / backing up PDF_EXTENDED_TEMPLATES directory when using the glob() function
|
312 |
-
* Bug - Fix issue with PHP 5.0 and 5.1 array_replace_recursive function when used with an array inside the $gf_pdf_config array
|
313 |
-
* Bug - Fixed fatal error when logged in user attempts to view PDF they don't have access to
|
314 |
-
* Bug - Fixed issue in $form_data array where single-column list items where being returned as an array and not a HTML list.
|
315 |
-
* Bug - Prevent unauthorized users auto-initializing the software or migrating the templates folder
|
316 |
-
* Bug - Fixed up incorrect formatting issue when using custom font name
|
317 |
-
* Bug - Fixed issue displaying Times New Roman in PDF templates
|
318 |
-
|
319 |
-
= 3.5.11.1 =
|
320 |
-
* Bug - Fix issue saving and sending blank PDFs due to security fix
|
321 |
-
|
322 |
-
= 3.5.11 =
|
323 |
-
* Bug - Fix security issue which gave unauthorized users access to Gravity Form entires
|
324 |
-
|
325 |
-
= 3.5.10 =
|
326 |
-
* Housekeeping - Include individual scoring for Gravity Form Survey Likert field in the $form_data['survey'] array
|
327 |
-
* Bug - Fix fatal error when Gravity Forms isn't activated, but Gravity PDF is.
|
328 |
-
|
329 |
-
= 3.5.9 =
|
330 |
-
* Bug - Rollback recent changes that introduced the GFAPI as introduces errors for older versions of Gravity Forms. Will reintroduce in next major release and increase the minimum Gravity Forms version.
|
331 |
-
|
332 |
-
= 3.5.8 =
|
333 |
-
* Bug - Fixed issue affected some users where a depreciated function was causing a fatal error
|
334 |
-
|
335 |
-
= 3.5.7 =
|
336 |
-
* Bug - Fixed issue where the PDF settings page was blank for some users
|
337 |
-
|
338 |
-
= 3.5.6 =
|
339 |
-
* Bug - Fixed issue with last release that affected checks to see if Gravity Forms has submitting
|
340 |
-
* Bug - Fixed fatal error with servers using PHP5.2 or lower
|
341 |
-
* Bug - Fixed E_NOTICE for replacement array_replace_recursive() function in PHP5.2 or lower
|
342 |
-
* Bug - Fixed issue with AJAX spinner showing when submitting support request
|
343 |
-
|
344 |
-
= 3.5.5 =
|
345 |
-
* Housekeeping - Include French translation (thanks to Marie-Aude Koiransky-Ballouk)
|
346 |
-
* Housekeeping - Wrap 'Initialize Fonts' text in translation ready _e() function
|
347 |
-
* Housekeeping - Tidy up System Status CSS styles to accomidate translation text lengths
|
348 |
-
* Housekeeping - Fix E_NOTICE when viewing entry details page when form has no PDF configuration
|
349 |
-
* Bug - Fixed load_plugin_textdomain which was incorrectly called.
|
350 |
-
* Bug - Correctly check if the plugin is loaded correctly before letting the PDF class fully load
|
351 |
-
|
352 |
-
= 3.5.4 =
|
353 |
-
* Bug - Fixed issue with incorrect PDF name showing on the entry details page
|
354 |
-
* Bug - Fixed issue with custom fonts being inaccessible without manually reinstalling after upgrading.
|
355 |
-
* Housekeeping - Added in two new filters to modify the $mpdf object. 'gfpdfe_mpdf_class' and 'gfpdfe_mpdf_class_pre_render' (replaces the gfpdfe_pre_render_pdf filter).
|
356 |
-
|
357 |
-
= 3.5.3 =
|
358 |
-
* Bug - Mergetags braces ({}) were being encoded before conversion
|
359 |
-
* Bug - Fixed issue with empty string being passed to array filter
|
360 |
-
* Housekeeping - Enabled mergetag usage in the pdf_password and pdf_master_password configuration options
|
361 |
-
* Housekeeping - Correctly call $wpdb->prepare so the variables in are in the second argument
|
362 |
-
|
363 |
-
= 3.5.2 =
|
364 |
-
* Bug - Initialization folder .htaccess file was preventing template.css from being loaded by the default templates.
|
365 |
-
|
366 |
-
= 3.5.1 =
|
367 |
-
* Bug - Fixed issue with core fonts Arial/Helvetica, Times/Times New Roman and Courier not displaying in the PDF.
|
368 |
-
* Bug - Fixed display issues for multiple PDFs on the details admin entry page
|
369 |
-
* Housekeeping - Made the details entry page PDF view consistent for single or multiple PDFs
|
370 |
-
* Housekeeping - Ensured all javascript files are minified and are correctly being used
|
371 |
-
* Housekeeping - Remove legacy notices from mPDF package
|
372 |
-
|
373 |
-
= 3.5.0 =
|
374 |
-
* Feature - No longer need to reinitialize every time the software is updated.
|
375 |
-
* Feature - Add auto-initializer on initial installation for sites that have direct write access to their server files
|
376 |
-
* Feature - Add auto-initializer on initial installation across entire multisite network for sites who have direct write access to their server files.
|
377 |
-
* Feature - Add auto-PDF_EXTENDED_TEMPLATES theme syncer for sites that have direct write access to their server files
|
378 |
-
* Feature - Correctly added language support. The .PO file is located in the /language/ folder if anyone would like to do a translation.
|
379 |
-
|
380 |
-
* Housekeeping - Restrict initialization process to 64MB or greater to counter problems with users reporting a 'white screen' when running in a low-RAM environment.
|
381 |
-
* Housekeeping - Refractor the admin notices code
|
382 |
-
* Housekeeping - Create responsive PDF settings page
|
383 |
-
* Housekeeping - Minify CSS and Javascript files
|
384 |
-
* Housekeeping - Remove FontAwesome fonts from package and use Wordpress' build-in 'dashicons'
|
385 |
-
* Housekeeping - Refine action and error messages
|
386 |
-
* Housekeeping - Update initialization tab copy for both pre- and post- initialization
|
387 |
-
* Housekeeping - Use Gravity Forms get_ip() function instead of custom function
|
388 |
-
* Housekeeping - The in-built support form uses SSL once again (disabled in the past due to some servers being unable to verify the certificate).
|
389 |
-
|
390 |
-
* Bug - When testing write permissions, file_exist() is throwing false positives for some users which would generate a warning when unlink() is called. Hide warning using '@'.
|
391 |
-
|
392 |
-
= 3.4.1 =
|
393 |
-
* Bug - Fix typo that effected sites running PHP5.2 or below.
|
394 |
-
|
395 |
-
= 3.4.0.3 =
|
396 |
-
* Bug - Define array_replace_recursive() if it doesn't exist, as it is PHP 5.3 only.
|
397 |
-
|
398 |
-
= 3.4.0.2 =
|
399 |
-
* Housekeeping - Wrapped the View PDF and Download buttons in correct language functions - _e()
|
400 |
-
* Bug - Fix problem displaying the signature field
|
401 |
-
* Bug - Fix notice errors with new 'save' PDF hook
|
402 |
-
|
403 |
-
= 3.4.0.1 =
|
404 |
-
* Housekeeping - Add commas on the last line of every config node in the configuration.php file
|
405 |
-
* Housekeeping - Fix up initialization error messages
|
406 |
-
* Bug - Fix up mPDF bugs - soft hyphens, watermarks over SVG images, inline CSS bug
|
407 |
-
|
408 |
-
= 3.4.0 =
|
409 |
-
* Feature - Added auto-print prompt ability when you add &print=1 to the PDF URL (see https://developer.gravitypdf.com/documentation/display-pdf-in-browser/ for details)
|
410 |
-
* Feature - Added ability to rotate absolute positioned text 180 degrees (previously only 90 and -90). Note: feature in beta
|
411 |
-
* Feature - Backup all template files that are overridden when initializing to a folder inside PDF_EXTENDED_TEMPLATES
|
412 |
-
* Feature - Added SSH initialization support
|
413 |
-
* Feature - Allow MERGETAGS to be used in all PDF templates, including default template (but only in the HTML field).
|
414 |
-
* Feature - Updated mPDF to 3.7.1
|
415 |
-
* Feature - Enable text/image watermark support. Added new example template example-watermark09.php showing off its usage (see http://gravitypdf.com/documentation-v3-x-x/templates/watermarks/)
|
416 |
-
* Feature - Added full survey, poll and quiz support to both the default template and $form_data (see https://developer.gravitypdf.com/documentation/accessing-survey-poll-quiz-data/)
|
417 |
-
* Feature - Shortcodes will now be processed in all templates, including default template (but only in the HTML field).
|
418 |
-
* Feature - Added 'save' configuration option so PDFs are saved to the local disk when 'notifications' aren't enabled.
|
419 |
-
* Feature - Added 'dpi' configuration option to modify the PDF image DPI. Default 96dpi. Use 300dpi for printing.
|
420 |
-
* Feature - Added PDF/A1-b compliance option. Enable with 'pdfa1b' => true. See http://mpdf1.com/manual/index.php?tid=420&searchstring=pdf/a1-b for more details.
|
421 |
-
* Feature - Added PDF/X1-a compliance option. Enable with 'pdfx1a' => true. See http://mpdf1.com/manual/index.php?tid=481&searchstring=pdf/x-1a for more details.
|
422 |
-
* Feature - Added new constant option 'PDF_REPACK_FONT' which when enabled may improve function with some PostScript printers (disabled by default). Existing sites will need to add define('PDF_REPACK_FONT', true); to the bottom of their configuration.php file.
|
423 |
-
* Feature - Added a sleuth of new hooks and filters for developers. See https://developer.gravitypdf.com/documentation/filters-and-hooks/ for examples.
|
424 |
-
* Feature - Added $form_data['form_description'] key to $form_data array
|
425 |
-
* Feature - Update $form_data['products'] array key to field ID
|
426 |
-
* Feature - Added survey Likert output function for custom templates (much like the product table function). It can be used with the following command 'echo GFPDFEntryDetails::get_likert($form, $lead, $field_id);' where $field_id is substituted for the form field ID.
|
427 |
-
* Feature - Added field descriptions to the $form_data array under the $form_data['field_descriptions'] key.
|
428 |
-
* Feature - Added pre and post PDF generation filters and actions to pdf-render.php. These include gfpdfe_pre_render_pdf, gfpdfe_pdf_output_type, gfpdfe_pdf_filename and gfpdf_post_pdf_save.
|
429 |
-
* Feature: $form_data['signature'] et al. keys now contain the signature width and height attributes
|
430 |
-
|
431 |
-
* Housekeeping - Ensure the form and lead IDs are correctly passed throughout the render functions.
|
432 |
-
* Housekeeping - Update settings page link to match new Gravity Forms URL structure
|
433 |
-
* Housekeeping - Check if $lead['gfsurvey_score'] exists before assigning to $form_data array
|
434 |
-
* Housekeeping - Removed table and font checksum debugging from mPDF when WP_DEBUG enabled as they produced inaccurate results.
|
435 |
-
* Housekeeping - Fixed up mPDF logging location when WP_DEBUG enabled. Files now stored in wp-content/themes/Active_Theme_Folder/PDF_EXTENDED_TEMPLATES/output/ folder.
|
436 |
-
* Housekeeping - Removed API logging locally when WP_DEBUG is enabled.
|
437 |
-
* Housekeeping - Increase API timeout interval as some overseas users reported timeout issues
|
438 |
-
* Housekeeping - Modified mPDF functions Image() and purify_utf8_text() to validate the input data so we don't have to do it every time through the template.
|
439 |
-
* Housekeeping - Added ability to not re-deploy every update (not enabled this release as template files were all updated)
|
440 |
-
* Housekeeping - Additional checks on load to see if any of the required file/folder structure is missing. If so, re-initialize.
|
441 |
-
* Housekeeping - Save resources and turn off automatic rtl identification. Users must set the RTL option when configuring form
|
442 |
-
* Housekeeping - Turn off mPDFs packTableData setting, decreasing processing time when working with large tables.
|
443 |
-
* Housekeeping - $gf_pdf_default_configuration options now merge down into existing PDF nodes, instead of applying to only unassigned forms. $gf_pdf_config settings override any in $gf_pdf_default_configuration
|
444 |
-
* Housekeeping - Center aligned Survey Likery field results
|
445 |
-
* Housekeeping - Partially refactored the pdf-entry-detail.php code
|
446 |
-
* Housekeeping - All default and example templates have been tidied. This won't affect custom templates.
|
447 |
-
* Housekeeping - Set the gform_notification order number to 100 which will prevent other functions (example snippets from Gravity Forms, for instance) from overridding the attached PDF.
|
448 |
-
* Housekeeping - Fix spelling mistake on initializing fonts
|
449 |
-
* Housekeeping - Remove wpautop() function from Gravity Form HTML output, which was applied before rendering and was messing up the HTML markup.
|
450 |
-
* Housekeeping - Remove empty list rows from the $form_data['list'] array in single and multi-column lists.
|
451 |
-
* Housekeeping - Apply same CSS styles (padding, border and line height) to HTML fields as done to form values in default templates
|
452 |
-
* Housekeeping - Replaced arbitrary wrapper IDs in the default templates with the actual field ID
|
453 |
-
|
454 |
-
* Bug - Fixed signature rendering issue when custom signature size was being used
|
455 |
-
* Bug - Fixed static error types in helper/install-update-manager.php file.
|
456 |
-
* Bug - Fixed redeployment error message which wasn't showing correctly
|
457 |
-
* Bug - Fixed issue with PDF not attaching to notification using Paypal's delayed notification feature
|
458 |
-
* Bug - Fixed strict standard warning about calling GFPDF_Settings::settings_page();
|
459 |
-
* Bug - Fixed strict standard warning about calling GFPDFEntryDetail::pdf_get_lead_field_display();
|
460 |
-
* Bug - Fixed issue with Gravity Form Post Category field causing fatal error generating PDF
|
461 |
-
* Bug - Fixed number field formatting issue when displaying on PDF.
|
462 |
-
* Bug - Do additional check for PHP's MB_String regex functions before initializing to prevent errors after initializing
|
463 |
-
* Bug - Fixed problem with multiple nodes assigned to a form using the same template
|
464 |
-
* Bug - Fixed path to fallback templates when not found
|
465 |
-
* Bug - Fixed problem with master password setting to user password
|
466 |
-
|
467 |
-
|
468 |
-
= 3.3.4 =
|
469 |
-
* Bug - Fixed issue linking to PDF from front end
|
470 |
-
* Housekeeping - Removed autoredirect to initialization page
|
471 |
-
|
472 |
-
= 3.3.3 =
|
473 |
-
* Bug - Correctly call javascript to control admin area 'View PDFs' drop down
|
474 |
-
* Bug - Some users still reported incorrect RAM. Convert MB/KB/GB values to M/K/G as per the PHP documentation.
|
475 |
-
* Housekeeping - Show initilisation prompt on all admin area pages instead of only on the Gravity Forms pages
|
476 |
-
|
477 |
-
= 3.3.2.1 =
|
478 |
-
* Bug - Incorrectly showing assigned RAM to website
|
479 |
-
|
480 |
-
= 3.3.2 =
|
481 |
-
* Bug - Some hosts reported SSL certificate errors when using the support API. Disabled HTTPS for further investigation. Using hash-based verification for authentication.
|
482 |
-
* Housekeeping - Forgot to disable API debug feature after completing beta
|
483 |
-
|
484 |
-
= 3.3.1 =
|
485 |
-
* Bug - $form_data['list'] was mapped using an incremental key instead of via the field ID
|
486 |
-
|
487 |
-
= 3.3.0 =
|
488 |
-
* Feature - Overhauled the initialization process so that the software better reviews the host for potential problems before initialization. This should help debug issues and make users aware there could be a problem before they begin using the software.
|
489 |
-
* Feature - Overhauled the settings page to make it easier to access features of the software
|
490 |
-
* Feature - Added a Support tab to the settings page which allows users to securely (over HTTPS) submit a support ticket to the Gravity PDF support desk
|
491 |
-
* Feature - Changed select, multiselect and radio fields so that the default templates use the name rather than the value. $form_data now also includes the name and values for all these fields.
|
492 |
-
* Feature - $form_data now includes all miscellaneous lead information in the $form_data['misc'] array.
|
493 |
-
* Feature - $form_data now contains 24 and 12 hour time of entry submission.
|
494 |
-
* Feature - Added localisation support
|
495 |
-
* Compatibility - Added new multi-upload support which was added in Gravity Forms 1.8.
|
496 |
-
* Bug - Added 'aid' parametre to the PDF url when multiple configuration nodes present on a single form
|
497 |
-
* Bug - Fixed issue when Gravity Forms in No Conflict Mode
|
498 |
-
* Bug - Font config.php's array keys now in lower case
|
499 |
-
* Housekeeping - Moved all initialization files to a folder called 'initialization'.
|
500 |
-
* Housekeeping - Renamed the configuration.php file in the plugin folder to configuration.php.example to alleviate confusion for developers who unwittingly modify the plugin configuration file instead of the file in their active theme's PDF_EXTENDED_TEMPLATES folder.
|
501 |
-
* Housekeeping - Updated the plugin file system to a more MVC-style approach, with model and view folders.
|
502 |
-
* Housekeeping - Removed ability to directly access default and example template files.
|
503 |
-
* Housekeeping - Fixed PHP notices in default templates related to the default template-only configuration options
|
504 |
-
* Housekeeping - Update core styles to match Wordpress 3.8/Gravity Forms 1.8.
|
505 |
-
* Housekeeping - Updated header/footer examples to use @page in example.
|
506 |
-
|
507 |
-
= 3.2.0 =
|
508 |
-
* Feature - Can now view multiple PDFs assigned to a single form via the admin area. Note: You must provide a unique 'filename' parameter in configuration.php for multiple PDFs assigned to a single form.
|
509 |
-
* Feature - You can exclude a field from the default templates using the class name 'exclude'. See our [FAQ topic](https://gravitypdf.com/#faqs) for more details.
|
510 |
-
* Bug - Fixed issue viewing own PDF entry when logged in as anything lower than editor.
|
511 |
-
* Bug - Fixed data return bug in pdf-entry-details.php that was preventing all data returning correctly.
|
512 |
-
* Bug - Fixed PHP Warning when using products with no options
|
513 |
-
* Bug - Fixed issue with invalid characters being added to the PDF filename. Most notably the date mergetag.
|
514 |
-
* Bug - Limit filename length to 150 characters which should work on the majority of web servers.
|
515 |
-
* Bug - Fixed problem sending duplicate PDF when using mass resend notification feature
|
516 |
-
* Deprecated - Removed GF_FORM_ID and GF_LEAD_ID constants which were used in v2.x.x of the software. Ensure you follow [v2.x.x upgrade guide](https://developer.gravitypdf.com/news/version-2-3-migration-guide/) to your templates before upgrading.
|
517 |
-
|
518 |
-
= 3.1.4 =
|
519 |
-
* Bug - Fixed issue with plugin breaking website's when the Gravity Forms plugin wasn't activated.
|
520 |
-
* Housekeeping - The plugin now only supports Gravity Forms 1.7 or higher and Wordpress 3.5 or higher.
|
521 |
-
* Housekeeping - PDF template files can no longer be accessed directly. Instead, add &html=1 to the end of your URL when viewing a PDF.
|
522 |
-
* Extension - Added additional filters to allow the lead ID and notifications to be overridden.
|
523 |
-
|
524 |
-
= 3.1.3 =
|
525 |
-
* Feature - Added signature_details_id to $form_data array which maps a signatures field ID to the array.
|
526 |
-
* Extension - Added pre-PDF generator filter for use with extensions.
|
527 |
-
* Bug - Fixed issue with quotes in entry data breaking custom templates.
|
528 |
-
* Bug - Fixed issue with the plugin not correctly using the new default configuration template, if set.
|
529 |
-
* Bug - Fixed issue with signature not being removed correctly when only testing with file_exists(). Added second is_dir() test.
|
530 |
-
* Bug - Fixed issue with empty signature field not displaying when option 'default-show-empty' is set.
|
531 |
-
* Bug - Fixed initialization prompt issue when the MPDF package wasn't unpacked.
|
532 |
-
|
533 |
-
= 3.1.2 =
|
534 |
-
* Feature - Added list array, file path, form ID and lead ID to $form_data array in custom templates
|
535 |
-
* Bug - Fixed initialization prompt issue when updating plugin
|
536 |
-
* Bug - Fixed window.open issue which prevented a new window from opening when viewing a PDF in the admin area
|
537 |
-
* Bug - Fixed issue with product dropdown and radio button data showing the value instead of the name field.
|
538 |
-
* Bug - Fixed incorrect URL pointing to signature in $form_data
|
539 |
-
|
540 |
-
= 3.1.1 =
|
541 |
-
* Bug - Users whose server only supports FTP file manipulation using the WP_Filesystem API moved the files into the wrong directory due to FTP usually being rooted to the Wordpress home directory. To fix this the plugin attempts to determine the FTP directory, otherwise assumes it is the WP base directory.
|
542 |
-
* Bug - Initialization error message was being called but the success message was also showing.
|
543 |
-
|
544 |
-
= 3.1.0 =
|
545 |
-
* Feature - Added defaults to configuration.php which allows users to define the default PDF settings for all Gravity Forms. See the [installation and configuration documentation](https://developer.gravitypdf.com/documentation/getting-started-with-gravity-pdf-configuration/) for more details.
|
546 |
-
* Feature - Added three new configuration options 'default-show-html', 'default-show-empty' and 'default-show-page-names' which allow different display options to the three default templates. See the [installation and configuration documentation](http://gravitypdf.com/documentation-v3-x-x/installation-and-configuration/#default-template) for more details.
|
547 |
-
* Feature - Added filter hooks 'gfpdfe_pdf_name' and 'gfpdfe_template' which allows developers to further modify a PDF name and template file, respectively, outside of the configuration.php. This is useful if you have a special case naming convention based on user input. See [https://developer.gravitypdf.com/documentation/filters-and-hooks/](https://developer.gravitypdf.com/documentation/filters-and-hooks/) for more details about using these filters.
|
548 |
-
* Feature - Custom font support. Any .ttf font file added to the PDF_EXTENDED_TEMPLATES/fonts/ folder will be automatically installed once the plugin has been initialized. Users also have the option to just initialize the fonts via the settings page. See the [font/language documentation ](https://developer.gravitypdf.com/documentation/language-support/#install-custom-fonts) for details.
|
549 |
-
* Compatability - Use Gravity Forms get_upload_root() and get_upload_url_root() instead of hard coding the signature upload directory in pdf-entry-detail.php
|
550 |
-
* Compatability - Changed deprecated functions get_themes() and get_theme() to wp_get_theme() (added in Wordpress v3.4).
|
551 |
-
* Compatability - The plugin now needs to be initialized on fresh installation and upgrade. This allows us to use the WP_Filesystem API for file manipulation.
|
552 |
-
* Compatability - Automatic copying of PDF_EXTENDED_TEMPLATES folder on a theme change was removed in favour of a user prompt. This allows us to take advantage of the WP_Filesystem API.
|
553 |
-
* Compatability - Added Wordpress compatibility checker (minimum now 3.4 or higher).
|
554 |
-
* Bug - Removed ZipArchive in favour of Wordpress's WP_Filesystem API unzip_file() command. Some users reported the plugin would stop their entire website working if this extension wasn't installed.
|
555 |
-
* Bug - Fixed Gravity Forms compatibility checker which wouldn't return the correct response.
|
556 |
-
* Bug - Fixed minor bug in pdf.php when using static call 'self' in add_filter hook. Changed to class name.
|
557 |
-
* Bug - Removed PHP notice about $even variable not being defined in pdf-entry-detail.php
|
558 |
-
* Bug - Prevent code from continuing to excecute after sending header redirect.
|
559 |
-
|
560 |
-
= 3.0.2 =
|
561 |
-
* Backwards Compatibility - While PHP 5.3 has was released a number of years ago it seems a number of hosts do not currently offer this version to their clients. In the interest of backwards compatibility we've re-written the plugin to again work with PHP 5+.
|
562 |
-
* Signature / Image Display Bug - All URLs have been converted to a path so images should now display correctly in PDF.
|
563 |
-
|
564 |
-
= 3.0.1 =
|
565 |
-
* Bug - Fixed issue that caused website to become unresponsive when Gravity Forms was disabled or upgraded
|
566 |
-
* Bug - New HTML fields weren't being displayed in $form_data array
|
567 |
-
* Feature - Options for default templates to disable HTML fields or empty fields (or both)
|
568 |
-
|
569 |
-
= 3.0.0 =
|
570 |
-
As of Gravity PDF v3.0.0 we have removed the DOMPDF package from our plugin and integrated the more advanced mPDF system. Along with a new HTML to PDF generator, we've rewritten the entire plugin's base code to make it more user friendly to both hobbyists and rock star web developers. Configuration time is cut in half and advanced features like adding security features is now accessible to users who have little experience with PHP.
|
571 |
-
|
572 |
-
New Features include:
|
573 |
-
|
574 |
-
* Language Support - almost all languages are supported including RTL (right to left) languages like Arabic and Hebrew and CJK languages - Chinese, Japanese and Korean.
|
575 |
-
* HTML Page Numbering
|
576 |
-
* Odd and even paging with mirrored margins (most commonly used in printing).
|
577 |
-
* Nested Tables
|
578 |
-
* Text-justification and hyphenation
|
579 |
-
* Table of Contents
|
580 |
-
* Index
|
581 |
-
* Bookmarks
|
582 |
-
* Watermarks
|
583 |
-
* Password protection
|
584 |
-
* UTF-8 encoded HTML
|
585 |
-
* Better system resource handling
|
586 |
-
|
587 |
-
A new HTML to PDF package wasn't the only change to this edition of the software. We have rewritten the entire configuration system and made it super easy to get the software up and running.
|
588 |
-
|
589 |
-
Users will no longer place code in their active theme's functions.php file. Instead, configuration will happen in a new file called configuration.php, inside the PDF_EXTENDED_TEMPLATES folder (in your active theme).
|
590 |
-
|
591 |
-
Other changes include
|
592 |
-
* Improved security - further restrictions were placed on non-administrators viewing template files.
|
593 |
-
* $form_data array tidied up - images won't be wrapped in anchor tags.
|
594 |
-
|
595 |
-
For more details [view the 3.x.x online documentation](https://developer.gravitypdf.com/).
|
596 |
-
|
597 |
-
= 2.2.3 =
|
598 |
-
* Bug - Fixed mb_string error in the updated DOMPDF package.
|
599 |
-
|
600 |
-
= 2.2.2 =
|
601 |
-
* DOMPDF - We updated to the latest version of DOMPDF - DOMPDF 0.6.0 beta 3.
|
602 |
-
* DOMPDF - We've enabled font subsetting by default which should help limit the increased PDF size when using DejaVu Sans (or any other font).
|
603 |
-
|
604 |
-
= 2.2.1 =
|
605 |
-
* Bug - Fixed HTML error which caused list items to distort on PDF
|
606 |
-
|
607 |
-
= 2.2.0 =
|
608 |
-
* Compatibility - Ensure compatibility with Gravity Forms 1.7. We've updated the functions.php code and remove gform_user_notification_attachments and gform_admin_notification_attachments hooks which are now deprecated. Functions gform_pdf_create and gform_add_attachment have been removed and replaced with gfpdfe_create_and_attach_pdf(). See upgrade documentation for details.
|
609 |
-
* Enhancement - Added deployment code switch so the template redeployment feature can be turned on and off. This release doesn't require redeployment.
|
610 |
-
* Enhancement - PDF_Generator() variables were getting long and complex so the third variable is now an array which will pass all the optional arguments. The new 1.7 compatible functions.php code includes this method by default. For backwards compatibility the function will still work with the variable structure prior to 2.2.0.
|
611 |
-
* Bug - Fixed error generated by legacy code in the function PDF_processing() which is located in render_to_pdf.php.
|
612 |
-
* Bug - Images and stylesheets will now try and be accessed with a local path instead of a URL. It fixes problem where some hosts were preventing read access from a URL. No template changes are required.
|
613 |
-
|
614 |
-
= 2.1.1 =
|
615 |
-
* Bug - Signatures stopped displaying after 2.1.0 update. Fixed issue.
|
616 |
-
* Bug - First time install code now won't execute if already have configuration variables in database
|
617 |
-
|
618 |
-
= 2.1.0 =
|
619 |
-
|
620 |
-
* Feature - Product table can now be accessed directly through custom templates by running GFPDFEntryDetail::product_table($form, $lead);. See documentation for more details.
|
621 |
-
* Feature - Update screen will ask you if you want to deploy new template files, instead of overriding your modified versions.
|
622 |
-
* Feature - Product subtotal, shipping and total have been added to $form_data['field'] array to make it easier to work with product details in the custom template.
|
623 |
-
* Feature - Added two new default template files. One displays field and name in two rows (like you see when viewing an entry in the admin area) and the other removes all styling. See documentation on use.
|
624 |
-
* Security - Tightened PDF template security so that custom templates couldn't be automatically generated by just anyone. Now only logged in users with the correct privileges and the user who submitted the form (matched against IP) can auto generate a PDF. See documentation on usage.
|
625 |
-
* Deprecated - Removed form data that was added directly to the $form_data array instead of $form_data['field'] array. Users upgrading will need to update their custom templates if not using field data from the $form_data[�field'] array. If using $form_data['field'] in your custom template this won't affect you.
|
626 |
-
* Bug - Fixed problem with default template not showing and displaying a timeout error. Removed table tags and replaced with divs that are styled appropriately.
|
627 |
-
* Bug - The new plugin theme folder will successfully create when upgrading. You won't have to deactivate and reactivate to get it working.
|
628 |
-
* Bug - some installs had plugins that included the function mb_string which is also included in DOMPDF. DOMPDF will now check if the function exists before creating it.
|
629 |
-
* Bug - Remove empty signature field from the default template.
|
630 |
-
* Bug - fixed problem with redirecting to login screen even when logged in while accessing template file through the browser window directly.
|
631 |
-
* Bug - fixed error where sample template would reimport itself automatically even after deleting it. Will now only reimport if any important changes to template need to be viewed straight after an update.
|
632 |
-
* Bug - Moved render_to_pdf.php constants to pdf.php so we can use the constants in the core files. Was previously generating an error.
|
633 |
-
* Housekeeping - Cleaned up core template files, moved functions into classes and added more in-file documentation.
|
634 |
-
* Housekeeping - moved install/upgrade code from pdf.php to installation-update-manager.php
|
635 |
-
* Housekeeping - changed pdf-entry-detail.php class name from GFEntryDetail to GFPDFEntryDetail to remove compatibility problems with Gravity Forms.
|
636 |
-
* Housekeeping - created pdf-settings.php file to house the settings page code.
|
637 |
-
|
638 |
-
= 2.0.1 =
|
639 |
-
* Fixed Signature bug when checking if image file exists using URL instead of filesystem path
|
640 |
-
* Fixed PHP Constants Notice
|
641 |
-
|
642 |
-
= 2.0.0 =
|
643 |
-
* Moved templates to active theme folder to prevent custom themes being removed on upgrade
|
644 |
-
* Allow PDFs to be saved using a custom name
|
645 |
-
* Fixed WP_Error bug when image/css file cannot be found
|
646 |
-
* Upgraded to latest version of DOMPDF
|
647 |
-
* Removed auto-load form bug which would see multiple instances of the example form loaded
|
648 |
-
* Created a number of constants to allow easier developer modification
|
649 |
-
* Plugin/Support moved to dedicated website.
|
650 |
-
* Pro/Business package offers the ability to write fields on an existing PDF.
|
651 |
-
|
652 |
-
= 1.2.3 =
|
653 |
-
* Fixed $wpdb->prepare error
|
654 |
-
|
655 |
-
= 1.2.2 =
|
656 |
-
* Fixed bug with tempalte shipping method MERGETAGS
|
657 |
-
* Fixed bug where attachment wasn't being sent
|
658 |
-
* Fixed problem when all_url_fopen was turned off on server and failed to retreive remote images. Now uses WP_HTTP class.
|
659 |
-
|
660 |
-
= 1.2.1 =
|
661 |
-
* Fixed path to custom css file included in PDF template
|
662 |
-
|
663 |
-
= 1.2.0 =
|
664 |
-
* Template files moved to the plugin's template folder
|
665 |
-
* Sample Form installed so developers have a working example to modify
|
666 |
-
* Fixed bug when using WordPress in another directory to the site
|
667 |
-
|
668 |
-
= 1.1.0 =
|
669 |
-
* Now compatible with Gravity Forms Signature Add-On
|
670 |
-
* Moved the field data functions out side of the Gravity Forms core so users can freely style their form information (located in pdf-entry-detail.php)
|
671 |
-
* Simplified the field data output
|
672 |
-
* Fixed bug when using product information
|
673 |
-
|
674 |
-
= 1.0.0 =
|
675 |
-
* First release.
|
1 |
+
= 4.5.0 =
|
2 |
+
* Feature: Added full support for the Gravity Wiz Conditional Logic Date Plugin
|
3 |
+
* Feature: Added full support for the Slim Image Cropper for Gravity Forms Plugin
|
4 |
+
* Dev Feature: Added additional actions that run before and after PDFs are generated.
|
5 |
+
|
6 |
+
= 4.4.0 =
|
7 |
+
* Feature: Add native support for Gravity Forms Chained Select
|
8 |
+
* Feature: Include Gravity Forms add-on conditional logic in PDF Conditional Logic selector
|
9 |
+
* Feature: When the "Show Page Names" PDF setting is enabled, the `pagebreak` CSS class can now be used on Named Pagebreak fields (except the very first one)
|
10 |
+
* Feature: PDF Rich Text fields now utilize the full width of the editor
|
11 |
+
* Dev Feature: Add $form_data API endpoint
|
12 |
+
* Dev Feature: Add the $form and $this variables to the `gfpdf_field_value` filter
|
13 |
+
* Dev Feature: Add `gfpdf_form_data_key_order` filter to allow the re-ordering of the $form_data array
|
14 |
+
* Dev Feature: Add filter `gfpdf_container_disable_faux_columns` to allow faux columns to be toggled off (useful when using a lot of conditional logic with CSS Ready Classes)
|
15 |
+
* Housekeeping: Update Monolog to latest version
|
16 |
+
* Housekeeping: Instead of generic error, display `You do not have permission to view this PDF` when user failed PDF security checks
|
17 |
+
* Housekeeping: Tweak the Help page to provide more relevant information.
|
18 |
+
* Housekeeping: Reduce the Gravity PDF log file bloat, and add more specific log messages.
|
19 |
+
* Housekeeping: Recursively clean-up the PDF temporary directory
|
20 |
+
* Housekeeping: Limit the registration of PDF settings on Gravity PDF pages, and the admin options.php page
|
21 |
+
* Bug: Prevent multiple calls running when a new template is installed/deleted and then selected
|
22 |
+
* Bug: Pre-process any mergetags for the Checkbox, HTML, Post Content, Radio, Section, Textarea and Terms of Service Gravity Form fields
|
23 |
+
* Bug: Fix individual quantity field $form_data
|
24 |
+
* Bug: Ensure individual product fields (Product, Discount, Shipping, Subtotal, Tax and Total) display an empty value in the $form_data array, when necessary
|
25 |
+
* Bug: Fix PDF Template Manager display issues for WordPress 4.8+
|
26 |
+
* Bug: Adjust Logged out timeout default to 20 minutes to match documentation
|
27 |
+
* Bug: Fix PHP notice when pre-procesing the template settings
|
28 |
+
* Bug: Fix Survey $form_data['survey']['score'] key
|
29 |
+
* Bug: Fix the Gravity Perks E-Commerce Subtotal value in the $form_data array
|
30 |
+
* Bug: Prevent TinyMCE error when selecting a new template and other plugins define a custom TinyMCE plugin
|
31 |
+
* Bug: Adjust PDF Template Upload limit from 5MB to 10MB
|
32 |
+
* Bug: Fix Product field background color issue
|
33 |
+
* Bug: Right-align prices in the product table
|
34 |
+
* Bug: Fix PHP fatal error when PDF cannot be correctly saved to disk
|
35 |
+
|
36 |
+
= 4.3.2 =
|
37 |
+
* Bug: Reverse pricing issue bug fix in 4.3.1 (under some circumstances it cause the incorrect Unit Price to be displayed in product table)
|
38 |
+
* Bug: Fix Unit Price currency issue in the product table when using the Gravity Forms Multi Currency plugin
|
39 |
+
* Bug: Fix empty line-items in the Product table when using the Gravity Wiz E-Commerce add-on with conditional logic
|
40 |
+
|
41 |
+
= 4.3.1 =
|
42 |
+
* Bug: Restrict Gravity PDF JavaScript to the correct PDF pages (GH#693)
|
43 |
+
* Bug: Fix PHP5.2 activation error (GH#697)
|
44 |
+
* Bug: Fix RTL issue with Chosen Select library (GH#698)
|
45 |
+
* Bug: Fix PDF Product table pricing issue by using the pre-calculated price field for the unit price (GH#699)
|
46 |
+
|
47 |
+
= 4.3.0 =
|
48 |
+
* Feature: Add support for Gravity Perks E-Commerce Add-on (GH#671)
|
49 |
+
* Dev Feature: Add GPDFAPI::get_pdf_fonts() method
|
50 |
+
* Dev Feature: Add 'gfpdf_pdf_generator_pre_processing' filter
|
51 |
+
* Dev Feature: Add 'gfpdf_entry_pre_form_data' filter
|
52 |
+
* Dev Feature: Add Helper_Trait_Logger class to make it easier to inject our logger into new classes (GH#677)
|
53 |
+
* Dev Enhancement: Include the current object as a 5th parameter to 'gfpdf_pdf_field_content' filter
|
54 |
+
* Dev Enhancement: Include update message / additonal link helper functions for registered Gravity PDF add-ons (GH#673)
|
55 |
+
* Dev Enhancement: Update Easy Digital Download Licensing class to version 1.6.14
|
56 |
+
* Future Feature: After plugin updates, copy shipped Mpdf fonts to PDF Working Directory (preparation for removal of all fonts in future release) (GH#676)
|
57 |
+
* Bug: Strip URL parameters from home_url(), if any, when building PDF URL (GH#674)
|
58 |
+
* Bug: Load the correct PDF Template Configuration file when using 'template' helper param (GH#675)
|
59 |
+
|
60 |
+
= 4.2.2 =
|
61 |
+
* Bug: Fix empty Master Sassword regression introduced in 4.2 (GH#664)
|
62 |
+
* Bug: Fix Javascript errors when plugin translation files used (GH#667)
|
63 |
+
* Bug: Fix PDF Conditional Logic saving problem when using 'Less than' (GH#668)
|
64 |
+
* Bug: Fix PHP Notices when using custom font (GH#669)
|
65 |
+
* Bug: Merge Mpdf upstream patches (includes Chrome Viewer Yellow hover fix)
|
66 |
+
|
67 |
+
= 4.2.1 =
|
68 |
+
* Bug: Fix fatal DateTimeZone error for older versions of PHP (GH#654)
|
69 |
+
|
70 |
+
= 4.2.0 =
|
71 |
+
* Feature: Merge tags and shortcodes are displayed in the PDF for any administrative fields (GH#633)
|
72 |
+
* Feature: New field class 'pagebreak' forces a pagebreak in the PDF (GH#634)
|
73 |
+
* Feature: Instead of the field not showing at all, Gravity Perks Terms of Conditions field now shows the text "Not accepted"
|
74 |
+
when user hasn't agreed to terms (GH#636)
|
75 |
+
|
76 |
+
* Dev Feature: Add premium add-on and licensing infrastructure (GH#619)
|
77 |
+
* Dev Feature: [gravitypdf] shortcode debug messages can be toggled on and off for users with the 'gravityforms_view_entries' capability (GH#627)
|
78 |
+
* Dev Feature: Add filter 'gfpdf_field_label' to modify the PDF field labels (GH#621)
|
79 |
+
* Dev Feature: Add filter 'gfpdf_pdf_field_content' to modify the field markup before content is wrapped in the PDF markup (GH#620)
|
80 |
+
* Dev Feature: Add filters 'gfpdf_get_pdf_display_list', 'gfpdf_get_pdf_url', 'gfpdf_get_active_pdfs', 'gfpdf_override_pdf_bypass',
|
81 |
+
'gfpdf_maybe_attach_to_notification', 'gfpdf_maybe_always_save_pdf', 'gfpdf_form_data' and 'gfpdf_preprocess_template_arguments' for
|
82 |
+
greater control over the core PDF functionality. (GH#622)
|
83 |
+
* Dev Feature: Fix master password being overridden on PDF save after v3 to v4 migration (GH#624)
|
84 |
+
* Dev Feature: Allow master password field to be shown in the UI with the 'gfpdf_enable_master_password_field' fitler (GH#624)
|
85 |
+
* Dev Feature: Swapped 'error' log to 'warning' log when template config file not found (GH#613)
|
86 |
+
* Dev Feature: Upgrade all NPM modules to latest versions. PDF Template Manager now renders faster (GH#631)
|
87 |
+
* Dev Feature: Remove hard dependancy on the Helper_Interface_Config interface for the template configuration file (GH#632)
|
88 |
+
* Dev Feature: Added 'gfpdf_field_middleware' filter to control when a field should be displayed in the core PDF templates (GH#635)
|
89 |
+
* Dev Feature: Greater access to the Field_Product class internals (GH#642)
|
90 |
+
|
91 |
+
* Bug: Correctly exit the script when the PDF is downloaded / sent to the browser (GH#610)
|
92 |
+
* Bug: Don't auto-redirect to welcome / update screen on plugin install or upgrade which resolves a cached redirect issue (GH#612)
|
93 |
+
* Bug: Register two PDF endpoints to support both pretty and almost pretty permalinks at the same time (GH#614)
|
94 |
+
* Bug: Fix [gravitypdf] shortcode display error in GravityView when wrapped in another shortcode (GH#628)
|
95 |
+
* Bug: Add support for Gravity Forms 2.3 Merge Tags (GH#643)
|
96 |
+
* Bug: Fix background image relative paths (GH#645)
|
97 |
+
* Bug: Fix GravityView display issue when view is used on the front page (GH#639)
|
98 |
+
* Bug: Don't show selected product options in the product field when not grouping products together in PDF (GH#646)
|
99 |
+
* Bug: Fix edge case that caused PDF settings to be overridden when the form is updated (GH#648)
|
100 |
+
|
101 |
+
= 4.1.1 =
|
102 |
+
* Bug: Add check to see if headers are already sent before trying to redirect to the welcome / update page (GH#601)
|
103 |
+
* Bug: Fixed issue accessing the Advanced Template Manager in Safari browser (GH#603)
|
104 |
+
* Bug: Ensure the Advanced Template Manager notice and error messages have the correct styles in the Form PDF Settings pages (GH#604)
|
105 |
+
* Bug: Fix PDF generation problem using the legacy v3 URL structure (GH#605)
|
106 |
+
|
107 |
+
= 4.1.0 =
|
108 |
+
* Feature: Advanced PDF Template Manager. Upload, View, Select and Delete PDF templates with ease (GH#486)
|
109 |
+
* Feature: Add PDF Mergetags which output PDF URLs and compliment the [gravitypdf] shortcode which output HTML links (GH#404)
|
110 |
+
* Feature: Add four-column CSS Ready Class support to core PDFs. Note: if you have run "Setup Custom Templates" you will need to re-run it to take advantage of this feature (GH#461)
|
111 |
+
* Feature: Added support for the WP External Links plugin (GH#386)
|
112 |
+
* Feature: Added filter to show radio, checkbox, select, multiselect and product field values in core PDF templates (GH#600)
|
113 |
+
* Enhancement: Gravity PDF Review Notice now only shows up on Gravity Forms pages (#528)
|
114 |
+
* Enhancement: Convert all strings to American format so they can be correctly translated using Glotpress (GH#525)
|
115 |
+
* Enhancement: Added Australian, New Zealand and UK language packs (GH#525)
|
116 |
+
* Enhancement: Add support for Gravity Forms 2.2 Logging Module (GH#596)
|
117 |
+
* Dev Feature: Added 'Author URI' and 'Tags' headers to PDF template files which get displayed in the Advanced Template Manager (GH#558)
|
118 |
+
* Dev Feature: Include $this as eighth parameter in 'gfpdf_field_html_value' filter (GH#549)
|
119 |
+
* Dev Feature: Add 'gfpdf_field_section_break_html' filter to returned Section Field HTML for the PDF (GH#548)
|
120 |
+
* Dev Feature: Add actions before and after the core template HTML is generated; 'gfpdf_pre_html_fields' and 'gfpdf_post_html_fields' respectively (GH#546)
|
121 |
+
* Dev Feature: Template PHP Configuration files can impliment setUp and TearDown interfaces which fire when templates are installed or deleted through the Advanced Template Manager (GH#545)
|
122 |
+
* Dev Feature: Added Font Create and Delete endpoints to API – GPDFAPI::add_pdf_font() and GPDFAPI::delete_pdf_font() (GH#541)
|
123 |
+
* Dev Feature: Allow Rich Text Editor height to be controlled through the 'size' property when used in template config (GH#540)
|
124 |
+
* Dev Feature: Allow images in radio buttons using the new `'class' => 'image-radio-buttons'` property when used in template config (GH#539)
|
125 |
+
* Dev Changes: Use Gravity Forms copy of Chosen JS (GH#563)
|
126 |
+
* Dev Changes: All production CSS and JS saved to /dest/ directory as part of Advanced Template Manager update
|
127 |
+
* Dev Changes: Standardized all AJAX Authentication so Nonce and Capability checks are easily checked (GH#538)
|
128 |
+
* Dev Changes: Rename all instances of "depreciated" with "deprecated" in our files and classes (GH#535)
|
129 |
+
* Dev Changes: Contact our localized JS data to camelCase (GH#532)
|
130 |
+
* Dev Changes: Utilized PHP5.4 array syntax in code (GH#521)
|
131 |
+
* Bug: Reset Gravity Forms Merge Tag JS when PDF template changes (GH#551)
|
132 |
+
* Bug: Fix incorrect variable reference to $include_list_styles which uses 'gfpdf_include_list_styles' to change the behaviour (GH#547)
|
133 |
+
* Bug: Fix PHP notice in PDF when no products selected in form (GH#523)
|
134 |
+
* Bug: Fix issue with Gravity PDF update screen showing and not showing at incorrect times (GH#514)
|
135 |
+
* Bug: Fix false positive when checking if the PDF tmp directory is readable (GH#519)
|
136 |
+
* Bug: Fix error when using GLOB_BRACE flag in glob() function (GH#562)
|
137 |
+
* Bug: Remove OTF fonts from being uploaded due to poor support in Mpdf (GH#569)
|
138 |
+
* Bug: Additional PHP7.1 fixes merged from upstream Mpdf package
|
139 |
+
* Bug: Allow TTF file mime type to be correctly detected in WordPress 4.7.3 (GH#571)
|
140 |
+
* Bug: Ensure PDF Delete dialog shows up after being previously 'canceled' (GH#588)
|
141 |
+
* Bug: Ensure duplicate mergetags aren't included after PDF template change (GH#589)
|
142 |
+
* Bug: Fix PHP Notice if there's no active capabilities for a role (GH#590)
|
143 |
+
|
144 |
+
= 4.0.6 =
|
145 |
+
* Correctly register our PDF link with the WP Rewrite API when "Almost Pretty" permalinks are active (GH#502)
|
146 |
+
* Correctly process mergetags in password field for Tier 2 PDF templates (GH#503)
|
147 |
+
* Allow mergetags to be saved in HTML attributes in our Header / Footer settings - DEV NOTE: all Rich Text Editor settings fields should be output with `wp_kses_post( $html )` (GH#492)
|
148 |
+
* Process mergetags before Header / Footer settings get passed to wp_kses_post() on output (GH#512)
|
149 |
+
* Renamed `check_wordpress()` method to `is_compatible_wordpress_version()` to prevent false positive using ConfigServer eXploit Scanner (GH#500)
|
150 |
+
* Explicitly set a forward slash after the home_url() when building PDF links (GH#511)
|
151 |
+
* Resolve incorrect page numbering in Mpdf's Table of Contents
|
152 |
+
* Change Helper_Misc->get_contrast() to choose white in more cases (GH#506)
|
153 |
+
|
154 |
+
= 4.0.5 =
|
155 |
+
* Add support for "Almost Pretty" permalinks for web servers that don't support Mod Rewrite (IIS) (GH#488)
|
156 |
+
* Add PHP 7.1 support – resolves two string-to-array issues (GH#495)
|
157 |
+
* Add <p> and <br> tags to Rich Text Paragraph field in PDF – using wpautop() (GH#490)
|
158 |
+
* Disable product table when enabling the 'individual_products' option in core templates (GH#493)
|
159 |
+
|
160 |
+
= 4.0.4 =
|
161 |
+
* Prevent Finder (Mac) and Ghostscript viewing / processing password-protected PDFs without a password (GH#467)
|
162 |
+
* Fix Font Manager display issues for users running a version of WP lower than 4.5 (GH#470)
|
163 |
+
* Ensure new lines in Header / Footer automatically convert to <p> or <br> tags using wpautop() (GH#472)
|
164 |
+
* Fix issue in $form_data where Radio / Checkbox fields wouldn't display site-owner entered HTML (GH#415)
|
165 |
+
* Fixed conflict with Enhanced Media Library plugin (GH#433)
|
166 |
+
* Fixed issue with encoded characters in saved PDF filename (GH#475)
|
167 |
+
* Fixed issue where PDF settings would always set to "active" when saved (GH#477)
|
168 |
+
* Fixed depreciation notice for multisites using WordPress 4.6 (GH#479)
|
169 |
+
* Apply esc_html() and esc_url() to PDF name and URL in admin area (GH#484)
|
170 |
+
|
171 |
+
= 4.0.3 =
|
172 |
+
* Fix incorrect product calculations when using decimal comma format eg. 1.000,50 (GH#442)
|
173 |
+
* Rename $config variable to $html_config in core templates (GH#451)
|
174 |
+
* Don't chain CSS in our default setters or set fixed font size in templates (GH#446)
|
175 |
+
* Fix display issues for certain characters with DejaVu Sans font family in PDFs (GH#456)
|
176 |
+
* Ensure QueryPath produces valid UTF-8 data after processing (GH#452)
|
177 |
+
* Re-running the Custom Template Setup will override working directory templates with same name (GH#457)
|
178 |
+
* Fixed legacy Name field PHP warnings (GH#448)
|
179 |
+
* Replace translations with their escaped function counterparts (GH#463)
|
180 |
+
* Duplicating PDFs will now be inactive by default (GH#458)
|
181 |
+
* Tweaked the "Show Page Names" field description (GH#449)
|
182 |
+
|
183 |
+
= 4.0.2 =
|
184 |
+
* Fixes issue displaying address fields in v4 PDFs (GH#429)
|
185 |
+
* Fixes internal logging issues and added Gravity Forms 1.1 support (GF#428)
|
186 |
+
* Fixes notice when form pagination information is not available (GH#437)
|
187 |
+
* Fixes notice when using GPDFAPI::product_table() on form that had no products (GH#438)
|
188 |
+
* Fixes caching issue with GravityView Enable Notifications plugin that caused PDF attachment not to be updated (GH#436)
|
189 |
+
|
190 |
+
= 4.0.1 =
|
191 |
+
* Fixes PHP notice when viewing PDF and Category field is empty (GH#419)
|
192 |
+
* Fixes PHP notice when viewing PDF and custom font directory is empty (GH#416)
|
193 |
+
* Fixes Font Manager / Help Search features due to Underscore.js conflict when PHP's deprecated ASP Tags enabled (GH#417)
|
194 |
+
* Allows radio and checkbox values to show HTML in PDFs (GH#415)
|
195 |
+
* Fixes PDF letter spacing issue with upper and lower case characters (GH#418)
|
196 |
+
* Fixes character display problems using core Arial font in PDFs (GH#420)
|
197 |
+
* Fixes documentation search error on PDF Help tab (GH#424)
|
198 |
+
* Add additional check when cleaning up TMP directory (GH#427)
|
199 |
+
|
200 |
+
= 4.0 =
|
201 |
+
* Minimum PHP version changed from PHP 5.2 to PHP 5.4. ENSURE YOUR WEB SERVER IS COMPATIBLE BEFORE UPDATING (Forms -> Settings -> PDF -> System Status)
|
202 |
+
* Minimum WordPress version changed from 3.9 to 4.2. ENSURE YOU ARE RUNNING THE MINIMUM VERISON OF WP BEFORE UPDATING (Forms -> Settings -> PDF -> System Status)
|
203 |
+
* Minimum Gravity Forms version changed from 1.8 to 1.9. ENSURE YOU ARE RUNNING THE MINIMUM VERISON OF GRAVITY FORMS BEFORE UPDATING (Forms -> Settings -> PDF -> System Status)
|
204 |
+
* Maintained backwards compatibility with v3 for 80% of users. Review our migration guide for additional information (https://gravitypdf.com/documentation/v4/v3-to-v4-migration/)
|
205 |
+
* Created full user interface for managing plugin settings. All settings are now stored in the database
|
206 |
+
* Overhaul PDF designs that ship with software. Now comes with 4 completely free templates (two are all-new and two are enhanced v3 favorites)
|
207 |
+
* Added CSS Ready class support in PDFs. Two and three column classes now work in PDF
|
208 |
+
* Users can apply conditional logic to PDFs via new UI
|
209 |
+
* Control font, size and color via new UI
|
210 |
+
* Control paper size of generated PDF via new UI
|
211 |
+
* Control advanced security settings via new UI
|
212 |
+
* Control customisable PDF template options via new UI
|
213 |
+
* Control PDF header / footers via UI
|
214 |
+
* Control PDF background via UI
|
215 |
+
* Change PDF format (PDF/A-1b or PDF/X-1a) via UI
|
216 |
+
* Password Protect PDF via UI and change end-user privilages
|
217 |
+
* Added [gravitypdf] shortcode to allow users to display PDF links on confirmation pages, notifications, or anywhere else
|
218 |
+
* Allow user to change the action of the PDF link view in admin area (view or download)
|
219 |
+
* Added timeout parameter when unauthenticated user who submitted the form (matched by IP) attempts to access PDF. Defaults to 20 minutes
|
220 |
+
* Added ability to make a PDF "public". This disabled all security precautions on PDF. Use with caution.
|
221 |
+
* Deprecated configuration.php and created a migration feature which users can run if that file is detected. Removes /output/ directory during migration (where v3 stored PDFs saved to disk).
|
222 |
+
* Duplicating Gravity Form will also duplicate Gravity PDF settings assigned to that form. Importing / Exporting forms will also include PDF settings
|
223 |
+
* Better installation and upgrade experience for users with automated redirect to landing page after install / major update (can be disabled in settings)
|
224 |
+
* Created a font manager so users have a user interface to install and use their favorite fonts. Support for TTF and certain OTF font files
|
225 |
+
* Allow users to enable Right to Left language support from UI
|
226 |
+
* Created uninstaller which removes all trace of plugin from website
|
227 |
+
* Help tab allows users to live search our documentation
|
228 |
+
* Remove need to initialize the plugin when first installed
|
229 |
+
* Remove need to initialize fonts when uploaded to our /fonts/ directory
|
230 |
+
* Cleanup PDFs from disk when finished with them (also cleans up any stay files every 24 hours)
|
231 |
+
* Detect if our /tmp/ directory is accessible by browser and suggest ways to fix
|
232 |
+
* Allow all directories in /PDF_EXTENDED_TEMPLATES/ directory to be moved / renamed via filters (including the base directory)
|
233 |
+
* Create GPDFAPI class to allow devs to easily build ontop of plugin
|
234 |
+
* Cleaned up PDF template markup so developers can focus soley on their template code without any extra overhead. See our documentation for more details (https://gravitypdf.com/documentation/v4/developer-start-customising/)
|
235 |
+
* Enhanced PDF templates by allowing an image and configuration class
|
236 |
+
* Added large number of new actions and filters and provided documentation and examples for them on our website
|
237 |
+
* Allow developers to add or remove individual security layers via filters
|
238 |
+
* Updated mPDF from 5.7 to 6.1
|
239 |
+
* Added support for Gravity Forms Logging plugin
|
240 |
+
* Added better product data to $form_data['field']
|
241 |
+
* Added PHPDocs to all classes / methods / functions
|
242 |
+
* Fix PDF_EXTENDED_TEMPLATES location in legacy Multisite networks (WP3.5 or lower)
|
243 |
+
* Automatically make $field array available to PDF templates (array of current form fields accessible by field ID)
|
244 |
+
* Automatically make $settings array available to PDF templates (the current PDF configuration settigns)
|
245 |
+
* Automatically make $config array available to PDF templates (the initialized template config class - if any)
|
246 |
+
* Automatically make $form, $entry and $form_data available to PDF templates
|
247 |
+
* Automatically make $gfpdf object available to PDF templates (the main Gravity PDF object containing all our helper classes)
|
248 |
+
|
249 |
+
= 3.7.7 =
|
250 |
+
* Bug - Ensure 'gfpdf_post_pdf_save' action gets triggered for all PDFs when resending notifications
|
251 |
+
* Housekeeping - Remove compress.php from mPDF package (unneeded)
|
252 |
+
|
253 |
+
= 3.7.6 =
|
254 |
+
* Bug - Added full support for all Gravity Forms notification events (includes Payment Complete, Payment Refund, Payment Failed, Payment Pending ect)
|
255 |
+
* Bug - Resolve mPDF PHP7 image parsing error due to a change in variable order parsing.
|
256 |
+
|
257 |
+
= 3.7.5 =
|
258 |
+
* Housekeeping - Tweak mPDF package to be PHP7 compatible.
|
259 |
+
|
260 |
+
= 3.7.4 =
|
261 |
+
* Housekeeping - Revert patch made in last update as Gravity Forms 1.9.9 fixes the issue internally.
|
262 |
+
|
263 |
+
= 3.7.3 =
|
264 |
+
* Bug - Gravity Forms 1.9 didn't automatically nl2br paragraph text mergetags. Fixed this issue in custom PDF templates.
|
265 |
+
|
266 |
+
= 3.7.2 =
|
267 |
+
* Bug - Updated $form_data['date_created'], $form_data['date_created_usa'], $form_data['misc']['date_time'], $form_data['misc']['time_24hr'] and $form_data['misc']['time_12hr'] to factor in the website's timezone settings.
|
268 |
+
|
269 |
+
= 3.7.1 =
|
270 |
+
* Housekeeping - Allow control over signature width in default template using the 'gfpdfe_signature_width' filter
|
271 |
+
* Housekeeping - Add better error checking when migrating PDF template folder
|
272 |
+
* Housekeeping - Add unit testing to the directory migration function
|
273 |
+
* Bug - Fixed backwards-compatiiblity PHP error when viewing custom PDF templates on Gravity Forms 1.8.3 or below.
|
274 |
+
* Bug - Ensure checkbox field names are included in the $form_data array
|
275 |
+
|
276 |
+
= 3.7.0 =
|
277 |
+
* Feature - Added 'default-show-section-content' configuration option. You can now display the section break content in the default template. Note: if this option is enabled and the section break is empty it will still be displayed on the PDF.
|
278 |
+
* Feature - Added hooks 'gfpdfe_template_location' and 'gfpdfe_template_location_uri' to change PDF template location
|
279 |
+
* Housekeeping - Migrate your template and configuration files. As of Gravity PDF 3.7 we'll be dropping the 'site_name' folder for single WordPress installs and changing the multisite install directory to the site ID.
|
280 |
+
* Housekeeping - Added $form_data['html_id'] key which has the HTML fields added by their ID (much like the signature_details_id key).
|
281 |
+
* Housekeeping - Add large number of unit tests
|
282 |
+
* Housekeeping - Derestrict certain pages software loads on.
|
283 |
+
* Housekeeping - Split up PDF viewing security components into smaller chunks (easier to unit test)
|
284 |
+
* Housekeeping - Remove CLI-checking override in RAM settings
|
285 |
+
* Housekeeping - Included directory paths by default on the system status page
|
286 |
+
* Housekeeping - Updated configuration.php examples to include new default config option and refined the copy
|
287 |
+
* Bug - Fixed issue initializing plugin when memory limit was set to -1 (unlimited)
|
288 |
+
* Bug - Fix Multisite migration problem where if an error was thrown for one of the sub sites it caused all of the sites to show an error (even if they were successful)
|
289 |
+
* Bug - Fix typo in example-template.php file
|
290 |
+
* Bug - Fix up notices in custom templates when using poll/survey/quiz add ons.
|
291 |
+
* Bug - Fix up notice in custom template when the form description is empty
|
292 |
+
* Bug - Fix up notices in mPDF template when using headers/footers
|
293 |
+
* Bug - Fix up error in PDF when signature field wasn't filled in
|
294 |
+
|
295 |
+
= 3.6.0 =
|
296 |
+
* Feature - Added support for Gravity Form's sub-field middle name (1.9Beta)
|
297 |
+
* Feature - Patch mPDF with full :nth-child support on TD and TR table cells
|
298 |
+
* Feature - Added $form_data[products_totals][subtotal] key (total price without shipping costs added)
|
299 |
+
* Feature - Added formated money to all product fields in the $form_data array
|
300 |
+
* Feature - Default templates: only show fields who's conditional logic is true. Perfect when used with default-show-html
|
301 |
+
* Housekeeping - Move PDF_EXTENDED_TEMPLATES folder to the /wp-content/upload/ directory. Get more info about the move (see http://developer.gravitypdf.com/news/migrating-template-directory-means/)
|
302 |
+
* Housekeeping - Refined when admin resources are loaded
|
303 |
+
* Housekeeping - Fixed typo during initial initialization
|
304 |
+
* Housekeeping - Switched icons back to FontAwesome which is shipped by default with Gravity Forms
|
305 |
+
* Housekeeping - Display full path to mPDF tmp directory when there are issues writing to it
|
306 |
+
* Housekeeping - Modified font installation message.
|
307 |
+
* Housekeeping - Update example-header-and-footer_06.php and example-advanced-headers_07.php to better reflect current mPDF features
|
308 |
+
* Bug - Fixed issue pulling the correct configuration when multiple nodes were assigned to multiple forms
|
309 |
+
* Bug - Fixed number field formatting issue which always rounded to two decimal places
|
310 |
+
* Bug - Fixed JS namespace issue with WordPress Leads plugin
|
311 |
+
* Bug - Fixed error initializing fonts / backing up PDF_EXTENDED_TEMPLATES directory when using the glob() function
|
312 |
+
* Bug - Fix issue with PHP 5.0 and 5.1 array_replace_recursive function when used with an array inside the $gf_pdf_config array
|
313 |
+
* Bug - Fixed fatal error when logged in user attempts to view PDF they don't have access to
|
314 |
+
* Bug - Fixed issue in $form_data array where single-column list items where being returned as an array and not a HTML list.
|
315 |
+
* Bug - Prevent unauthorized users auto-initializing the software or migrating the templates folder
|
316 |
+
* Bug - Fixed up incorrect formatting issue when using custom font name
|
317 |
+
* Bug - Fixed issue displaying Times New Roman in PDF templates
|
318 |
+
|
319 |
+
= 3.5.11.1 =
|
320 |
+
* Bug - Fix issue saving and sending blank PDFs due to security fix
|
321 |
+
|
322 |
+
= 3.5.11 =
|
323 |
+
* Bug - Fix security issue which gave unauthorized users access to Gravity Form entires
|
324 |
+
|
325 |
+
= 3.5.10 =
|
326 |
+
* Housekeeping - Include individual scoring for Gravity Form Survey Likert field in the $form_data['survey'] array
|
327 |
+
* Bug - Fix fatal error when Gravity Forms isn't activated, but Gravity PDF is.
|
328 |
+
|
329 |
+
= 3.5.9 =
|
330 |
+
* Bug - Rollback recent changes that introduced the GFAPI as introduces errors for older versions of Gravity Forms. Will reintroduce in next major release and increase the minimum Gravity Forms version.
|
331 |
+
|
332 |
+
= 3.5.8 =
|
333 |
+
* Bug - Fixed issue affected some users where a depreciated function was causing a fatal error
|
334 |
+
|
335 |
+
= 3.5.7 =
|
336 |
+
* Bug - Fixed issue where the PDF settings page was blank for some users
|
337 |
+
|
338 |
+
= 3.5.6 =
|
339 |
+
* Bug - Fixed issue with last release that affected checks to see if Gravity Forms has submitting
|
340 |
+
* Bug - Fixed fatal error with servers using PHP5.2 or lower
|
341 |
+
* Bug - Fixed E_NOTICE for replacement array_replace_recursive() function in PHP5.2 or lower
|
342 |
+
* Bug - Fixed issue with AJAX spinner showing when submitting support request
|
343 |
+
|
344 |
+
= 3.5.5 =
|
345 |
+
* Housekeeping - Include French translation (thanks to Marie-Aude Koiransky-Ballouk)
|
346 |
+
* Housekeeping - Wrap 'Initialize Fonts' text in translation ready _e() function
|
347 |
+
* Housekeeping - Tidy up System Status CSS styles to accomidate translation text lengths
|
348 |
+
* Housekeeping - Fix E_NOTICE when viewing entry details page when form has no PDF configuration
|
349 |
+
* Bug - Fixed load_plugin_textdomain which was incorrectly called.
|
350 |
+
* Bug - Correctly check if the plugin is loaded correctly before letting the PDF class fully load
|
351 |
+
|
352 |
+
= 3.5.4 =
|
353 |
+
* Bug - Fixed issue with incorrect PDF name showing on the entry details page
|
354 |
+
* Bug - Fixed issue with custom fonts being inaccessible without manually reinstalling after upgrading.
|
355 |
+
* Housekeeping - Added in two new filters to modify the $mpdf object. 'gfpdfe_mpdf_class' and 'gfpdfe_mpdf_class_pre_render' (replaces the gfpdfe_pre_render_pdf filter).
|
356 |
+
|
357 |
+
= 3.5.3 =
|
358 |
+
* Bug - Mergetags braces ({}) were being encoded before conversion
|
359 |
+
* Bug - Fixed issue with empty string being passed to array filter
|
360 |
+
* Housekeeping - Enabled mergetag usage in the pdf_password and pdf_master_password configuration options
|
361 |
+
* Housekeeping - Correctly call $wpdb->prepare so the variables in are in the second argument
|
362 |
+
|
363 |
+
= 3.5.2 =
|
364 |
+
* Bug - Initialization folder .htaccess file was preventing template.css from being loaded by the default templates.
|
365 |
+
|
366 |
+
= 3.5.1 =
|
367 |
+
* Bug - Fixed issue with core fonts Arial/Helvetica, Times/Times New Roman and Courier not displaying in the PDF.
|
368 |
+
* Bug - Fixed display issues for multiple PDFs on the details admin entry page
|
369 |
+
* Housekeeping - Made the details entry page PDF view consistent for single or multiple PDFs
|
370 |
+
* Housekeeping - Ensured all javascript files are minified and are correctly being used
|
371 |
+
* Housekeeping - Remove legacy notices from mPDF package
|
372 |
+
|
373 |
+
= 3.5.0 =
|
374 |
+
* Feature - No longer need to reinitialize every time the software is updated.
|
375 |
+
* Feature - Add auto-initializer on initial installation for sites that have direct write access to their server files
|
376 |
+
* Feature - Add auto-initializer on initial installation across entire multisite network for sites who have direct write access to their server files.
|
377 |
+
* Feature - Add auto-PDF_EXTENDED_TEMPLATES theme syncer for sites that have direct write access to their server files
|
378 |
+
* Feature - Correctly added language support. The .PO file is located in the /language/ folder if anyone would like to do a translation.
|
379 |
+
|
380 |
+
* Housekeeping - Restrict initialization process to 64MB or greater to counter problems with users reporting a 'white screen' when running in a low-RAM environment.
|
381 |
+
* Housekeeping - Refractor the admin notices code
|
382 |
+
* Housekeeping - Create responsive PDF settings page
|
383 |
+
* Housekeeping - Minify CSS and Javascript files
|
384 |
+
* Housekeeping - Remove FontAwesome fonts from package and use Wordpress' build-in 'dashicons'
|
385 |
+
* Housekeeping - Refine action and error messages
|
386 |
+
* Housekeeping - Update initialization tab copy for both pre- and post- initialization
|
387 |
+
* Housekeeping - Use Gravity Forms get_ip() function instead of custom function
|
388 |
+
* Housekeeping - The in-built support form uses SSL once again (disabled in the past due to some servers being unable to verify the certificate).
|
389 |
+
|
390 |
+
* Bug - When testing write permissions, file_exist() is throwing false positives for some users which would generate a warning when unlink() is called. Hide warning using '@'.
|
391 |
+
|
392 |
+
= 3.4.1 =
|
393 |
+
* Bug - Fix typo that effected sites running PHP5.2 or below.
|
394 |
+
|
395 |
+
= 3.4.0.3 =
|
396 |
+
* Bug - Define array_replace_recursive() if it doesn't exist, as it is PHP 5.3 only.
|
397 |
+
|
398 |
+
= 3.4.0.2 =
|
399 |
+
* Housekeeping - Wrapped the View PDF and Download buttons in correct language functions - _e()
|
400 |
+
* Bug - Fix problem displaying the signature field
|
401 |
+
* Bug - Fix notice errors with new 'save' PDF hook
|
402 |
+
|
403 |
+
= 3.4.0.1 =
|
404 |
+
* Housekeeping - Add commas on the last line of every config node in the configuration.php file
|
405 |
+
* Housekeeping - Fix up initialization error messages
|
406 |
+
* Bug - Fix up mPDF bugs - soft hyphens, watermarks over SVG images, inline CSS bug
|
407 |
+
|
408 |
+
= 3.4.0 =
|
409 |
+
* Feature - Added auto-print prompt ability when you add &print=1 to the PDF URL (see https://developer.gravitypdf.com/documentation/display-pdf-in-browser/ for details)
|
410 |
+
* Feature - Added ability to rotate absolute positioned text 180 degrees (previously only 90 and -90). Note: feature in beta
|
411 |
+
* Feature - Backup all template files that are overridden when initializing to a folder inside PDF_EXTENDED_TEMPLATES
|
412 |
+
* Feature - Added SSH initialization support
|
413 |
+
* Feature - Allow MERGETAGS to be used in all PDF templates, including default template (but only in the HTML field).
|
414 |
+
* Feature - Updated mPDF to 3.7.1
|
415 |
+
* Feature - Enable text/image watermark support. Added new example template example-watermark09.php showing off its usage (see http://gravitypdf.com/documentation-v3-x-x/templates/watermarks/)
|
416 |
+
* Feature - Added full survey, poll and quiz support to both the default template and $form_data (see https://developer.gravitypdf.com/documentation/accessing-survey-poll-quiz-data/)
|
417 |
+
* Feature - Shortcodes will now be processed in all templates, including default template (but only in the HTML field).
|
418 |
+
* Feature - Added 'save' configuration option so PDFs are saved to the local disk when 'notifications' aren't enabled.
|
419 |
+
* Feature - Added 'dpi' configuration option to modify the PDF image DPI. Default 96dpi. Use 300dpi for printing.
|
420 |
+
* Feature - Added PDF/A1-b compliance option. Enable with 'pdfa1b' => true. See http://mpdf1.com/manual/index.php?tid=420&searchstring=pdf/a1-b for more details.
|
421 |
+
* Feature - Added PDF/X1-a compliance option. Enable with 'pdfx1a' => true. See http://mpdf1.com/manual/index.php?tid=481&searchstring=pdf/x-1a for more details.
|
422 |
+
* Feature - Added new constant option 'PDF_REPACK_FONT' which when enabled may improve function with some PostScript printers (disabled by default). Existing sites will need to add define('PDF_REPACK_FONT', true); to the bottom of their configuration.php file.
|
423 |
+
* Feature - Added a sleuth of new hooks and filters for developers. See https://developer.gravitypdf.com/documentation/filters-and-hooks/ for examples.
|
424 |
+
* Feature - Added $form_data['form_description'] key to $form_data array
|
425 |
+
* Feature - Update $form_data['products'] array key to field ID
|
426 |
+
* Feature - Added survey Likert output function for custom templates (much like the product table function). It can be used with the following command 'echo GFPDFEntryDetails::get_likert($form, $lead, $field_id);' where $field_id is substituted for the form field ID.
|
427 |
+
* Feature - Added field descriptions to the $form_data array under the $form_data['field_descriptions'] key.
|
428 |
+
* Feature - Added pre and post PDF generation filters and actions to pdf-render.php. These include gfpdfe_pre_render_pdf, gfpdfe_pdf_output_type, gfpdfe_pdf_filename and gfpdf_post_pdf_save.
|
429 |
+
* Feature: $form_data['signature'] et al. keys now contain the signature width and height attributes
|
430 |
+
|
431 |
+
* Housekeeping - Ensure the form and lead IDs are correctly passed throughout the render functions.
|
432 |
+
* Housekeeping - Update settings page link to match new Gravity Forms URL structure
|
433 |
+
* Housekeeping - Check if $lead['gfsurvey_score'] exists before assigning to $form_data array
|
434 |
+
* Housekeeping - Removed table and font checksum debugging from mPDF when WP_DEBUG enabled as they produced inaccurate results.
|
435 |
+
* Housekeeping - Fixed up mPDF logging location when WP_DEBUG enabled. Files now stored in wp-content/themes/Active_Theme_Folder/PDF_EXTENDED_TEMPLATES/output/ folder.
|
436 |
+
* Housekeeping - Removed API logging locally when WP_DEBUG is enabled.
|
437 |
+
* Housekeeping - Increase API timeout interval as some overseas users reported timeout issues
|
438 |
+
* Housekeeping - Modified mPDF functions Image() and purify_utf8_text() to validate the input data so we don't have to do it every time through the template.
|
439 |
+
* Housekeeping - Added ability to not re-deploy every update (not enabled this release as template files were all updated)
|
440 |
+
* Housekeeping - Additional checks on load to see if any of the required file/folder structure is missing. If so, re-initialize.
|
441 |
+
* Housekeeping - Save resources and turn off automatic rtl identification. Users must set the RTL option when configuring form
|
442 |
+
* Housekeeping - Turn off mPDFs packTableData setting, decreasing processing time when working with large tables.
|
443 |
+
* Housekeeping - $gf_pdf_default_configuration options now merge down into existing PDF nodes, instead of applying to only unassigned forms. $gf_pdf_config settings override any in $gf_pdf_default_configuration
|
444 |
+
* Housekeeping - Center aligned Survey Likery field results
|
445 |
+
* Housekeeping - Partially refactored the pdf-entry-detail.php code
|
446 |
+
* Housekeeping - All default and example templates have been tidied. This won't affect custom templates.
|
447 |
+
* Housekeeping - Set the gform_notification order number to 100 which will prevent other functions (example snippets from Gravity Forms, for instance) from overridding the attached PDF.
|
448 |
+
* Housekeeping - Fix spelling mistake on initializing fonts
|
449 |
+
* Housekeeping - Remove wpautop() function from Gravity Form HTML output, which was applied before rendering and was messing up the HTML markup.
|
450 |
+
* Housekeeping - Remove empty list rows from the $form_data['list'] array in single and multi-column lists.
|
451 |
+
* Housekeeping - Apply same CSS styles (padding, border and line height) to HTML fields as done to form values in default templates
|
452 |
+
* Housekeeping - Replaced arbitrary wrapper IDs in the default templates with the actual field ID
|
453 |
+
|
454 |
+
* Bug - Fixed signature rendering issue when custom signature size was being used
|
455 |
+
* Bug - Fixed static error types in helper/install-update-manager.php file.
|
456 |
+
* Bug - Fixed redeployment error message which wasn't showing correctly
|
457 |
+
* Bug - Fixed issue with PDF not attaching to notification using Paypal's delayed notification feature
|
458 |
+
* Bug - Fixed strict standard warning about calling GFPDF_Settings::settings_page();
|
459 |
+
* Bug - Fixed strict standard warning about calling GFPDFEntryDetail::pdf_get_lead_field_display();
|
460 |
+
* Bug - Fixed issue with Gravity Form Post Category field causing fatal error generating PDF
|
461 |
+
* Bug - Fixed number field formatting issue when displaying on PDF.
|
462 |
+
* Bug - Do additional check for PHP's MB_String regex functions before initializing to prevent errors after initializing
|
463 |
+
* Bug - Fixed problem with multiple nodes assigned to a form using the same template
|
464 |
+
* Bug - Fixed path to fallback templates when not found
|
465 |
+
* Bug - Fixed problem with master password setting to user password
|
466 |
+
|
467 |
+
|
468 |
+
= 3.3.4 =
|
469 |
+
* Bug - Fixed issue linking to PDF from front end
|
470 |
+
* Housekeeping - Removed autoredirect to initialization page
|
471 |
+
|
472 |
+
= 3.3.3 =
|
473 |
+
* Bug - Correctly call javascript to control admin area 'View PDFs' drop down
|
474 |
+
* Bug - Some users still reported incorrect RAM. Convert MB/KB/GB values to M/K/G as per the PHP documentation.
|
475 |
+
* Housekeeping - Show initilisation prompt on all admin area pages instead of only on the Gravity Forms pages
|
476 |
+
|
477 |
+
= 3.3.2.1 =
|
478 |
+
* Bug - Incorrectly showing assigned RAM to website
|
479 |
+
|
480 |
+
= 3.3.2 =
|
481 |
+
* Bug - Some hosts reported SSL certificate errors when using the support API. Disabled HTTPS for further investigation. Using hash-based verification for authentication.
|
482 |
+
* Housekeeping - Forgot to disable API debug feature after completing beta
|
483 |
+
|
484 |
+
= 3.3.1 =
|
485 |
+
* Bug - $form_data['list'] was mapped using an incremental key instead of via the field ID
|
486 |
+
|
487 |
+
= 3.3.0 =
|
488 |
+
* Feature - Overhauled the initialization process so that the software better reviews the host for potential problems before initialization. This should help debug issues and make users aware there could be a problem before they begin using the software.
|
489 |
+
* Feature - Overhauled the settings page to make it easier to access features of the software
|
490 |
+
* Feature - Added a Support tab to the settings page which allows users to securely (over HTTPS) submit a support ticket to the Gravity PDF support desk
|
491 |
+
* Feature - Changed select, multiselect and radio fields so that the default templates use the name rather than the value. $form_data now also includes the name and values for all these fields.
|
492 |
+
* Feature - $form_data now includes all miscellaneous lead information in the $form_data['misc'] array.
|
493 |
+
* Feature - $form_data now contains 24 and 12 hour time of entry submission.
|
494 |
+
* Feature - Added localisation support
|
495 |
+
* Compatibility - Added new multi-upload support which was added in Gravity Forms 1.8.
|
496 |
+
* Bug - Added 'aid' parametre to the PDF url when multiple configuration nodes present on a single form
|
497 |
+
* Bug - Fixed issue when Gravity Forms in No Conflict Mode
|
498 |
+
* Bug - Font config.php's array keys now in lower case
|
499 |
+
* Housekeeping - Moved all initialization files to a folder called 'initialization'.
|
500 |
+
* Housekeeping - Renamed the configuration.php file in the plugin folder to configuration.php.example to alleviate confusion for developers who unwittingly modify the plugin configuration file instead of the file in their active theme's PDF_EXTENDED_TEMPLATES folder.
|
501 |
+
* Housekeeping - Updated the plugin file system to a more MVC-style approach, with model and view folders.
|
502 |
+
* Housekeeping - Removed ability to directly access default and example template files.
|
503 |
+
* Housekeeping - Fixed PHP notices in default templates related to the default template-only configuration options
|
504 |
+
* Housekeeping - Update core styles to match Wordpress 3.8/Gravity Forms 1.8.
|
505 |
+
* Housekeeping - Updated header/footer examples to use @page in example.
|
506 |
+
|
507 |
+
= 3.2.0 =
|
508 |
+
* Feature - Can now view multiple PDFs assigned to a single form via the admin area. Note: You must provide a unique 'filename' parameter in configuration.php for multiple PDFs assigned to a single form.
|
509 |
+
* Feature - You can exclude a field from the default templates using the class name 'exclude'. See our [FAQ topic](https://gravitypdf.com/#faqs) for more details.
|
510 |
+
* Bug - Fixed issue viewing own PDF entry when logged in as anything lower than editor.
|
511 |
+
* Bug - Fixed data return bug in pdf-entry-details.php that was preventing all data returning correctly.
|
512 |
+
* Bug - Fixed PHP Warning when using products with no options
|
513 |
+
* Bug - Fixed issue with invalid characters being added to the PDF filename. Most notably the date mergetag.
|
514 |
+
* Bug - Limit filename length to 150 characters which should work on the majority of web servers.
|
515 |
+
* Bug - Fixed problem sending duplicate PDF when using mass resend notification feature
|
516 |
+
* Deprecated - Removed GF_FORM_ID and GF_LEAD_ID constants which were used in v2.x.x of the software. Ensure you follow [v2.x.x upgrade guide](https://developer.gravitypdf.com/news/version-2-3-migration-guide/) to your templates before upgrading.
|
517 |
+
|
518 |
+
= 3.1.4 =
|
519 |
+
* Bug - Fixed issue with plugin breaking website's when the Gravity Forms plugin wasn't activated.
|
520 |
+
* Housekeeping - The plugin now only supports Gravity Forms 1.7 or higher and Wordpress 3.5 or higher.
|
521 |
+
* Housekeeping - PDF template files can no longer be accessed directly. Instead, add &html=1 to the end of your URL when viewing a PDF.
|
522 |
+
* Extension - Added additional filters to allow the lead ID and notifications to be overridden.
|
523 |
+
|
524 |
+
= 3.1.3 =
|
525 |
+
* Feature - Added signature_details_id to $form_data array which maps a signatures field ID to the array.
|
526 |
+
* Extension - Added pre-PDF generator filter for use with extensions.
|
527 |
+
* Bug - Fixed issue with quotes in entry data breaking custom templates.
|
528 |
+
* Bug - Fixed issue with the plugin not correctly using the new default configuration template, if set.
|
529 |
+
* Bug - Fixed issue with signature not being removed correctly when only testing with file_exists(). Added second is_dir() test.
|
530 |
+
* Bug - Fixed issue with empty signature field not displaying when option 'default-show-empty' is set.
|
531 |
+
* Bug - Fixed initialization prompt issue when the MPDF package wasn't unpacked.
|
532 |
+
|
533 |
+
= 3.1.2 =
|
534 |
+
* Feature - Added list array, file path, form ID and lead ID to $form_data array in custom templates
|
535 |
+
* Bug - Fixed initialization prompt issue when updating plugin
|
536 |
+
* Bug - Fixed window.open issue which prevented a new window from opening when viewing a PDF in the admin area
|
537 |
+
* Bug - Fixed issue with product dropdown and radio button data showing the value instead of the name field.
|
538 |
+
* Bug - Fixed incorrect URL pointing to signature in $form_data
|
539 |
+
|
540 |
+
= 3.1.1 =
|
541 |
+
* Bug - Users whose server only supports FTP file manipulation using the WP_Filesystem API moved the files into the wrong directory due to FTP usually being rooted to the Wordpress home directory. To fix this the plugin attempts to determine the FTP directory, otherwise assumes it is the WP base directory.
|
542 |
+
* Bug - Initialization error message was being called but the success message was also showing.
|
543 |
+
|
544 |
+
= 3.1.0 =
|
545 |
+
* Feature - Added defaults to configuration.php which allows users to define the default PDF settings for all Gravity Forms. See the [installation and configuration documentation](https://developer.gravitypdf.com/documentation/getting-started-with-gravity-pdf-configuration/) for more details.
|
546 |
+
* Feature - Added three new configuration options 'default-show-html', 'default-show-empty' and 'default-show-page-names' which allow different display options to the three default templates. See the [installation and configuration documentation](http://gravitypdf.com/documentation-v3-x-x/installation-and-configuration/#default-template) for more details.
|
547 |
+
* Feature - Added filter hooks 'gfpdfe_pdf_name' and 'gfpdfe_template' which allows developers to further modify a PDF name and template file, respectively, outside of the configuration.php. This is useful if you have a special case naming convention based on user input. See [https://developer.gravitypdf.com/documentation/filters-and-hooks/](https://developer.gravitypdf.com/documentation/filters-and-hooks/) for more details about using these filters.
|
548 |
+
* Feature - Custom font support. Any .ttf font file added to the PDF_EXTENDED_TEMPLATES/fonts/ folder will be automatically installed once the plugin has been initialized. Users also have the option to just initialize the fonts via the settings page. See the [font/language documentation ](https://developer.gravitypdf.com/documentation/language-support/#install-custom-fonts) for details.
|
549 |
+
* Compatability - Use Gravity Forms get_upload_root() and get_upload_url_root() instead of hard coding the signature upload directory in pdf-entry-detail.php
|
550 |
+
* Compatability - Changed deprecated functions get_themes() and get_theme() to wp_get_theme() (added in Wordpress v3.4).
|
551 |
+
* Compatability - The plugin now needs to be initialized on fresh installation and upgrade. This allows us to use the WP_Filesystem API for file manipulation.
|
552 |
+
* Compatability - Automatic copying of PDF_EXTENDED_TEMPLATES folder on a theme change was removed in favour of a user prompt. This allows us to take advantage of the WP_Filesystem API.
|
553 |
+
* Compatability - Added Wordpress compatibility checker (minimum now 3.4 or higher).
|
554 |
+
* Bug - Removed ZipArchive in favour of Wordpress's WP_Filesystem API unzip_file() command. Some users reported the plugin would stop their entire website working if this extension wasn't installed.
|
555 |
+
* Bug - Fixed Gravity Forms compatibility checker which wouldn't return the correct response.
|
556 |
+
* Bug - Fixed minor bug in pdf.php when using static call 'self' in add_filter hook. Changed to class name.
|
557 |
+
* Bug - Removed PHP notice about $even variable not being defined in pdf-entry-detail.php
|
558 |
+
* Bug - Prevent code from continuing to excecute after sending header redirect.
|
559 |
+
|
560 |
+
= 3.0.2 =
|
561 |
+
* Backwards Compatibility - While PHP 5.3 has was released a number of years ago it seems a number of hosts do not currently offer this version to their clients. In the interest of backwards compatibility we've re-written the plugin to again work with PHP 5+.
|
562 |
+
* Signature / Image Display Bug - All URLs have been converted to a path so images should now display correctly in PDF.
|
563 |
+
|
564 |
+
= 3.0.1 =
|
565 |
+
* Bug - Fixed issue that caused website to become unresponsive when Gravity Forms was disabled or upgraded
|
566 |
+
* Bug - New HTML fields weren't being displayed in $form_data array
|
567 |
+
* Feature - Options for default templates to disable HTML fields or empty fields (or both)
|
568 |
+
|
569 |
+
= 3.0.0 =
|
570 |
+
As of Gravity PDF v3.0.0 we have removed the DOMPDF package from our plugin and integrated the more advanced mPDF system. Along with a new HTML to PDF generator, we've rewritten the entire plugin's base code to make it more user friendly to both hobbyists and rock star web developers. Configuration time is cut in half and advanced features like adding security features is now accessible to users who have little experience with PHP.
|
571 |
+
|
572 |
+
New Features include:
|
573 |
+
|
574 |
+
* Language Support - almost all languages are supported including RTL (right to left) languages like Arabic and Hebrew and CJK languages - Chinese, Japanese and Korean.
|
575 |
+
* HTML Page Numbering
|
576 |
+
* Odd and even paging with mirrored margins (most commonly used in printing).
|
577 |
+
* Nested Tables
|
578 |
+
* Text-justification and hyphenation
|
579 |
+
* Table of Contents
|
580 |
+
* Index
|
581 |
+
* Bookmarks
|
582 |
+
* Watermarks
|
583 |
+
* Password protection
|
584 |
+
* UTF-8 encoded HTML
|
585 |
+
* Better system resource handling
|
586 |
+
|
587 |
+
A new HTML to PDF package wasn't the only change to this edition of the software. We have rewritten the entire configuration system and made it super easy to get the software up and running.
|
588 |
+
|
589 |
+
Users will no longer place code in their active theme's functions.php file. Instead, configuration will happen in a new file called configuration.php, inside the PDF_EXTENDED_TEMPLATES folder (in your active theme).
|
590 |
+
|
591 |
+
Other changes include
|
592 |
+
* Improved security - further restrictions were placed on non-administrators viewing template files.
|
593 |
+
* $form_data array tidied up - images won't be wrapped in anchor tags.
|
594 |
+
|
595 |
+
For more details [view the 3.x.x online documentation](https://developer.gravitypdf.com/).
|
596 |
+
|
597 |
+
= 2.2.3 =
|
598 |
+
* Bug - Fixed mb_string error in the updated DOMPDF package.
|
599 |
+
|
600 |
+
= 2.2.2 =
|
601 |
+
* DOMPDF - We updated to the latest version of DOMPDF - DOMPDF 0.6.0 beta 3.
|
602 |
+
* DOMPDF - We've enabled font subsetting by default which should help limit the increased PDF size when using DejaVu Sans (or any other font).
|
603 |
+
|
604 |
+
= 2.2.1 =
|
605 |
+
* Bug - Fixed HTML error which caused list items to distort on PDF
|
606 |
+
|
607 |
+
= 2.2.0 =
|
608 |
+
* Compatibility - Ensure compatibility with Gravity Forms 1.7. We've updated the functions.php code and remove gform_user_notification_attachments and gform_admin_notification_attachments hooks which are now deprecated. Functions gform_pdf_create and gform_add_attachment have been removed and replaced with gfpdfe_create_and_attach_pdf(). See upgrade documentation for details.
|
609 |
+
* Enhancement - Added deployment code switch so the template redeployment feature can be turned on and off. This release doesn't require redeployment.
|
610 |
+
* Enhancement - PDF_Generator() variables were getting long and complex so the third variable is now an array which will pass all the optional arguments. The new 1.7 compatible functions.php code includes this method by default. For backwards compatibility the function will still work with the variable structure prior to 2.2.0.
|
611 |
+
* Bug - Fixed error generated by legacy code in the function PDF_processing() which is located in render_to_pdf.php.
|
612 |
+
* Bug - Images and stylesheets will now try and be accessed with a local path instead of a URL. It fixes problem where some hosts were preventing read access from a URL. No template changes are required.
|
613 |
+
|
614 |
+
= 2.1.1 =
|
615 |
+
* Bug - Signatures stopped displaying after 2.1.0 update. Fixed issue.
|
616 |
+
* Bug - First time install code now won't execute if already have configuration variables in database
|
617 |
+
|
618 |
+
= 2.1.0 =
|
619 |
+
|
620 |
+
* Feature - Product table can now be accessed directly through custom templates by running GFPDFEntryDetail::product_table($form, $lead);. See documentation for more details.
|
621 |
+
* Feature - Update screen will ask you if you want to deploy new template files, instead of overriding your modified versions.
|
622 |
+
* Feature - Product subtotal, shipping and total have been added to $form_data['field'] array to make it easier to work with product details in the custom template.
|
623 |
+
* Feature - Added two new default template files. One displays field and name in two rows (like you see when viewing an entry in the admin area) and the other removes all styling. See documentation on use.
|
624 |
+
* Security - Tightened PDF template security so that custom templates couldn't be automatically generated by just anyone. Now only logged in users with the correct privileges and the user who submitted the form (matched against IP) can auto generate a PDF. See documentation on usage.
|
625 |
+
* Deprecated - Removed form data that was added directly to the $form_data array instead of $form_data['field'] array. Users upgrading will need to update their custom templates if not using field data from the $form_data[�field'] array. If using $form_data['field'] in your custom template this won't affect you.
|
626 |
+
* Bug - Fixed problem with default template not showing and displaying a timeout error. Removed table tags and replaced with divs that are styled appropriately.
|
627 |
+
* Bug - The new plugin theme folder will successfully create when upgrading. You won't have to deactivate and reactivate to get it working.
|
628 |
+
* Bug - some installs had plugins that included the function mb_string which is also included in DOMPDF. DOMPDF will now check if the function exists before creating it.
|
629 |
+
* Bug - Remove empty signature field from the default template.
|
630 |
+
* Bug - fixed problem with redirecting to login screen even when logged in while accessing template file through the browser window directly.
|
631 |
+
* Bug - fixed error where sample template would reimport itself automatically even after deleting it. Will now only reimport if any important changes to template need to be viewed straight after an update.
|
632 |
+
* Bug - Moved render_to_pdf.php constants to pdf.php so we can use the constants in the core files. Was previously generating an error.
|
633 |
+
* Housekeeping - Cleaned up core template files, moved functions into classes and added more in-file documentation.
|
634 |
+
* Housekeeping - moved install/upgrade code from pdf.php to installation-update-manager.php
|
635 |
+
* Housekeeping - changed pdf-entry-detail.php class name from GFEntryDetail to GFPDFEntryDetail to remove compatibility problems with Gravity Forms.
|
636 |
+
* Housekeeping - created pdf-settings.php file to house the settings page code.
|
637 |
+
|
638 |
+
= 2.0.1 =
|
639 |
+
* Fixed Signature bug when checking if image file exists using URL instead of filesystem path
|
640 |
+
* Fixed PHP Constants Notice
|
641 |
+
|
642 |
+
= 2.0.0 =
|
643 |
+
* Moved templates to active theme folder to prevent custom themes being removed on upgrade
|
644 |
+
* Allow PDFs to be saved using a custom name
|
645 |
+
* Fixed WP_Error bug when image/css file cannot be found
|
646 |
+
* Upgraded to latest version of DOMPDF
|
647 |
+
* Removed auto-load form bug which would see multiple instances of the example form loaded
|
648 |
+
* Created a number of constants to allow easier developer modification
|
649 |
+
* Plugin/Support moved to dedicated website.
|
650 |
+
* Pro/Business package offers the ability to write fields on an existing PDF.
|
651 |
+
|
652 |
+
= 1.2.3 =
|
653 |
+
* Fixed $wpdb->prepare error
|
654 |
+
|
655 |
+
= 1.2.2 =
|
656 |
+
* Fixed bug with tempalte shipping method MERGETAGS
|
657 |
+
* Fixed bug where attachment wasn't being sent
|
658 |
+
* Fixed problem when all_url_fopen was turned off on server and failed to retreive remote images. Now uses WP_HTTP class.
|
659 |
+
|
660 |
+
= 1.2.1 =
|
661 |
+
* Fixed path to custom css file included in PDF template
|
662 |
+
|
663 |
+
= 1.2.0 =
|
664 |
+
* Template files moved to the plugin's template folder
|
665 |
+
* Sample Form installed so developers have a working example to modify
|
666 |
+
* Fixed bug when using WordPress in another directory to the site
|
667 |
+
|
668 |
+
= 1.1.0 =
|
669 |
+
* Now compatible with Gravity Forms Signature Add-On
|
670 |
+
* Moved the field data functions out side of the Gravity Forms core so users can freely style their form information (located in pdf-entry-detail.php)
|
671 |
+
* Simplified the field data output
|
672 |
+
* Fixed bug when using product information
|
673 |
+
|
674 |
+
= 1.0.0 =
|
675 |
+
* First release.
|
README.txt
CHANGED
@@ -4,8 +4,8 @@ Plugin URI: https://gravitypdf.com/
|
|
4 |
Donate link: https://gravitypdf.com/donate-to-plugin/
|
5 |
Tags: gravity, forms, pdf, automation, attachment, email
|
6 |
Requires at least: 4.8
|
7 |
-
Tested up to:
|
8 |
-
Stable tag: 5.1.
|
9 |
Requires PHP: 5.6
|
10 |
License: GPLv2 or later
|
11 |
License URI: http://www.gnu.org/licenses/gpl.txt
|
@@ -90,6 +90,13 @@ Also, if you enjoy using the software [we'd love it if you could give us a revie
|
|
90 |
|
91 |
== Changelog ==
|
92 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
93 |
= 5.1.0 =
|
94 |
* Feature: Add support for Gravity Forms Repeater Fields in PDFs [GH#833]
|
95 |
* Feature: Add support for Gravity Wiz's Nested Forms Perk in PDFs
|
@@ -98,7 +105,7 @@ Also, if you enjoy using the software [we'd love it if you could give us a revie
|
|
98 |
* Feature: Add new "raw" attribute to the [gravitypdf] shortcode which will display the raw PDF URL [GH#841]
|
99 |
* Feature: Added "Debug Mode" Global PDF Setting which replaces "Shortcode Debug Message", WP_DEBUG settings, and caches the template headers [GH#823]
|
100 |
|
101 |
-
* Dev Feature: Add `gfpdf_disable_global_addon_data` filter to disable
|
102 |
* Dev Feature: Add `gfpdf_disable_product_table` filter to disable Product table in PDF [GH#827]
|
103 |
* Dev Feature: Pass additional parameters to the `gfpdf_show_field_value` filter
|
104 |
* Dev Feature: Trigger `gfpdf_template_loaded` JS event after loading new PDF Template settings dynamically
|
4 |
Donate link: https://gravitypdf.com/donate-to-plugin/
|
5 |
Tags: gravity, forms, pdf, automation, attachment, email
|
6 |
Requires at least: 4.8
|
7 |
+
Tested up to: 5.0
|
8 |
+
Stable tag: 5.1.1
|
9 |
Requires PHP: 5.6
|
10 |
License: GPLv2 or later
|
11 |
License URI: http://www.gnu.org/licenses/gpl.txt
|
90 |
|
91 |
== Changelog ==
|
92 |
|
93 |
+
= 5.1.1 =
|
94 |
+
* Bug: Process Merge Tags when displaying Nested Forms in Core / Universal PDFs [GH#849]
|
95 |
+
* Bug: Don't strip `<pagebreak />`, `<barcode />`, `<table autosize="1">`, and `page-break-*` CSS when displaying Rich Text Editor fields in PDF [GH#852]
|
96 |
+
* Bug: Try convert the Background Image URL to a Path for better relability [GH#853]
|
97 |
+
* Bug: Fix Rich Text Editor display issue in PDF Settings when Elementor plugin enabled [GH#854]
|
98 |
+
* Bug: Don't strip `<a>` tag when direct parent of `<img />` in the Core/Universal PDFs Header and Footer Rich Text Editor [GH#855]
|
99 |
+
|
100 |
= 5.1.0 =
|
101 |
* Feature: Add support for Gravity Forms Repeater Fields in PDFs [GH#833]
|
102 |
* Feature: Add support for Gravity Wiz's Nested Forms Perk in PDFs
|
105 |
* Feature: Add new "raw" attribute to the [gravitypdf] shortcode which will display the raw PDF URL [GH#841]
|
106 |
* Feature: Added "Debug Mode" Global PDF Setting which replaces "Shortcode Debug Message", WP_DEBUG settings, and caches the template headers [GH#823]
|
107 |
|
108 |
+
* Dev Feature: Add `gfpdf_disable_global_addon_data` filter to disable aggregate Survey / Poll / Quiz data in $form_data array (for performance)
|
109 |
* Dev Feature: Add `gfpdf_disable_product_table` filter to disable Product table in PDF [GH#827]
|
110 |
* Dev Feature: Pass additional parameters to the `gfpdf_show_field_value` filter
|
111 |
* Dev Feature: Trigger `gfpdf_template_loaded` JS event after loading new PDF Template settings dynamically
|
api.php
CHANGED
@@ -1,674 +1,674 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/**
|
4 |
-
* A public API developers can use to work with Gravity PDF (similar to Gravity Forms GFAPI class)
|
5 |
-
*
|
6 |
-
* This class is in the public namespace
|
7 |
-
*
|
8 |
-
*
|
9 |
-
* @package Gravity PDF
|
10 |
-
* @copyright Copyright (c) 2018 Blue Liquid Designs
|
11 |
-
* @license http://opensource.org/licenses/gpl-2.0.php GNU Public License
|
12 |
-
* @since 4.0
|
13 |
-
*/
|
14 |
-
|
15 |
-
/* Exit if accessed directly */
|
16 |
-
if ( ! defined( 'ABSPATH' ) ) {
|
17 |
-
exit;
|
18 |
-
}
|
19 |
-
|
20 |
-
/*
|
21 |
-
This file is part of Gravity PDF.
|
22 |
-
|
23 |
-
Gravity PDF – Copyright (C) 2018 Blue Liquid Designs
|
24 |
-
|
25 |
-
This program is free software; you can redistribute it and/or modify
|
26 |
-
it under the terms of the GNU General Public License as published by
|
27 |
-
the Free Software Foundation; either version 2 of the License, or
|
28 |
-
(at your option) any later version.
|
29 |
-
|
30 |
-
This program is distributed in the hope that it will be useful,
|
31 |
-
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
32 |
-
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
33 |
-
GNU General Public License for more details.
|
34 |
-
|
35 |
-
You should have received a copy of the GNU General Public License
|
36 |
-
along with this program; if not, write to the Free Software
|
37 |
-
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
38 |
-
*/
|
39 |
-
|
40 |
-
/**
|
41 |
-
* An easy-to-use API developers can use to work with Gravity PDF
|
42 |
-
*
|
43 |
-
* See https://gravitypdf.com/documentation/v5/developer-api-whats-it-for/ for more information about this API
|
44 |
-
*
|
45 |
-
* @since 4.0
|
46 |
-
*/
|
47 |
-
final class GPDFAPI {
|
48 |
-
|
49 |
-
/**
|
50 |
-
* Returns our public logger class which uses Monolog (a PSR-3 compatible logging interface - https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-3-logger-interface.md)
|
51 |
-
*
|
52 |
-
* Log messages can be added with any of the following:
|
53 |
-
*
|
54 |
-
* $gfpdf->log->addDebug( $message, [$parameters = array()] )
|
55 |
-
* $gfpdf->log->addInfo( $message, [$parameters = array()] )
|
56 |
-
* $gfpdf->log->addNotice( $message, [$parameters = array()] )
|
57 |
-
* $gfpdf->log->addWarning( $message, [$parameters = array()] )
|
58 |
-
* $gfpdf->log->addError( $message, [$parameters = array()] )
|
59 |
-
* $gfpdf->log->addCritical( $message, [$parameters = array()] )
|
60 |
-
* $gfpdf->log->addAlert( $message, [$parameters = array()] )
|
61 |
-
* $gfpdf->log->addEmergency( $message, [$parameters = array()] )
|
62 |
-
*
|
63 |
-
* When in production Gravity PDF will only log to a file when the Gravity Forms Logging plugin is enabled and Gravity PDF is set to "Log errors only" ($log->addError() or higher) or "Log all messages" ($log->addNotice() or higher)
|
64 |
-
*
|
65 |
-
* See https://gravitypdf.com/documentation/v5/api_get_log_class/ for more information about this method
|
66 |
-
*
|
67 |
-
* @return \Monolog\Logger
|
68 |
-
*
|
69 |
-
* @since 4.0
|
70 |
-
*/
|
71 |
-
public static function get_log_class() {
|
72 |
-
global $gfpdf;
|
73 |
-
|
74 |
-
return $gfpdf->log;
|
75 |
-
}
|
76 |
-
|
77 |
-
/**
|
78 |
-
* Returns our public notice queue system to make it easy to display errors and messages to the user.
|
79 |
-
*
|
80 |
-
* Usage:
|
81 |
-
* $notices->add_notice( String $message );
|
82 |
-
* $notices->add_error( String $error );
|
83 |
-
*
|
84 |
-
* This taps into the 'admin_notices' or 'network_admin_notices' WordPress hooks so you need to add your notices before then.
|
85 |
-
*
|
86 |
-
* See https://gravitypdf.com/documentation/v5/api_get_notice_class/ for more information about this method
|
87 |
-
*
|
88 |
-
* @return \GFPDF\Helper\Helper_Notices
|
89 |
-
*
|
90 |
-
* @since 4.0
|
91 |
-
*/
|
92 |
-
public static function get_notice_class() {
|
93 |
-
global $gfpdf;
|
94 |
-
|
95 |
-
return $gfpdf->notices;
|
96 |
-
}
|
97 |
-
|
98 |
-
/**
|
99 |
-
* Returns our public data class which we use to store important global information related to Gravity PDF
|
100 |
-
*
|
101 |
-
* This uses PHP magic methods __set() and __get() to access and store information.
|
102 |
-
*
|
103 |
-
* Usage:
|
104 |
-
*
|
105 |
-
* $data->title; //returns "Gravity PDF"
|
106 |
-
* $data->title = 'Gravity PDF 4.0'; //sets $data->title to "Gravity PDF 4.0"
|
107 |
-
*
|
108 |
-
* Note: Our __get() magic method returns variables by reference
|
109 |
-
*
|
110 |
-
* See https://gravitypdf.com/documentation/v5/get_data_class/ for more information about this method
|
111 |
-
*
|
112 |
-
* @return \GFPDF\Helper\Helper_Data
|
113 |
-
*
|
114 |
-
* @since 4.0
|
115 |
-
*/
|
116 |
-
public static function get_data_class() {
|
117 |
-
global $gfpdf;
|
118 |
-
|
119 |
-
return $gfpdf->data;
|
120 |
-
}
|
121 |
-
|
122 |
-
/**
|
123 |
-
* Returns our access layer class for all Gravity PDF Settings (both global and form specific)
|
124 |
-
*
|
125 |
-
* Note: Most relevant methods have been broken our and are avaiable through the GPDFAPI directly (GPDFAPI::get_pdf, GPDFAPI::get_plugin_settings ect)
|
126 |
-
*
|
127 |
-
* See https://gravitypdf.com/documentation/v5/api_get_options_class/ for more information about this method
|
128 |
-
*
|
129 |
-
* @return \GFPDF\Helper\Helper_Options_Fields
|
130 |
-
*
|
131 |
-
* @since 4.0
|
132 |
-
*/
|
133 |
-
public static function get_options_class() {
|
134 |
-
global $gfpdf;
|
135 |
-
|
136 |
-
return $gfpdf->options;
|
137 |
-
}
|
138 |
-
|
139 |
-
/**
|
140 |
-
* Returns our miscellaneous methods (or common methods) used throughout the plugin.
|
141 |
-
*
|
142 |
-
* Usage:
|
143 |
-
*
|
144 |
-
* $misc->is_gfpdf_page();
|
145 |
-
*
|
146 |
-
* See https://gravitypdf.com/documentation/v5/api_get_misc_class/ for more information about this method
|
147 |
-
*
|
148 |
-
* @return \GFPDF\Helper\Helper_Misc
|
149 |
-
*
|
150 |
-
* @since 4.0
|
151 |
-
*/
|
152 |
-
public static function get_misc_class() {
|
153 |
-
global $gfpdf;
|
154 |
-
|
155 |
-
return $gfpdf->misc;
|
156 |
-
}
|
157 |
-
|
158 |
-
/**
|
159 |
-
* Returns our templates methods used throughout the plugin.
|
160 |
-
*
|
161 |
-
* Usage:
|
162 |
-
*
|
163 |
-
* $templates->get_all_templates();
|
164 |
-
*
|
165 |
-
* See @TODO https://gravitypdf.com/documentation/v5/api_get_templates_class/ for more information about this method
|
166 |
-
*
|
167 |
-
* @return \GFPDF\Helper\Helper_Templates
|
168 |
-
*
|
169 |
-
* @since 4.1
|
170 |
-
*/
|
171 |
-
public static function get_templates_class() {
|
172 |
-
global $gfpdf;
|
173 |
-
|
174 |
-
return $gfpdf->templates;
|
175 |
-
}
|
176 |
-
|
177 |
-
/**
|
178 |
-
* Returns our abstracted Gravity Forms API class we use throughout the plugin
|
179 |
-
*
|
180 |
-
* While you could just use the GFAPI directly, some methods in this class have been cache-optimised and are specifically tuned for Gravity PDF.
|
181 |
-
* Note: not all the methods in the GFAPI are implimented.
|
182 |
-
*
|
183 |
-
* Usage:
|
184 |
-
*
|
185 |
-
* $gform->get_form( $form_id );
|
186 |
-
*
|
187 |
-
* See https://gravitypdf.com/documentation/v5/api_get_form_class/ for more information about this method
|
188 |
-
*
|
189 |
-
* @return \GFPDF\Helper\Helper_Form
|
190 |
-
*
|
191 |
-
* @since 4.0
|
192 |
-
*/
|
193 |
-
public static function get_form_class() {
|
194 |
-
global $gfpdf;
|
195 |
-
|
196 |
-
return $gfpdf->gform;
|
197 |
-
}
|
198 |
-
|
199 |
-
/**
|
200 |
-
* Returns the original Model/View/Controller class we initialised in our /src/bootstrap.php file
|
201 |
-
*
|
202 |
-
* This method acts like a faux singleton provider (but none of our classes are static or singletons themselves - hence the 'faux') as you get the originally initialised class back
|
203 |
-
*
|
204 |
-
* This is very useful when you want to remove any filters / actions we set in a controller's add_filters() or add_actions() methods
|
205 |
-
* You can also use to to easily access any public methods in our classes
|
206 |
-
*
|
207 |
-
* Note: This method only returns Controller_ / Model_ / View_ classes. Use the other methods above to access our Helper_ classes
|
208 |
-
*
|
209 |
-
* Usage:
|
210 |
-
*
|
211 |
-
* $class = GPDFAPI::get_mcv_class( 'Controller_PDF' );
|
212 |
-
*
|
213 |
-
* //if we have a class returned
|
214 |
-
* if( $class !== false ) {
|
215 |
-
* //remove a middleware filter
|
216 |
-
* remove_filter( 'gfpdf_pdf_middleware', array( $class, 'middle_active' ), 10 );
|
217 |
-
* }
|
218 |
-
*
|
219 |
-
* See https://gravitypdf.com/documentation/v5/api_get_mvc_class/ for more information about this method
|
220 |
-
*
|
221 |
-
* @param string $class_name The name of one of our MVC classes (no namespace)
|
222 |
-
*
|
223 |
-
* @return object|bool Will return your object if found, otherwise false
|
224 |
-
*
|
225 |
-
* @since 4.0
|
226 |
-
*/
|
227 |
-
public static function get_mvc_class( $class_name ) {
|
228 |
-
global $gfpdf;
|
229 |
-
|
230 |
-
return $gfpdf->singleton->get_class( $class_name );
|
231 |
-
}
|
232 |
-
|
233 |
-
/**
|
234 |
-
* Returns a new instance of one of our PDF generating code (model or view)
|
235 |
-
*
|
236 |
-
* @param string $type Type of class to return. Valid options include 'view' or 'model'
|
237 |
-
*
|
238 |
-
* @return object|WP_Error
|
239 |
-
*
|
240 |
-
* @since 4.0
|
241 |
-
*/
|
242 |
-
public static function get_pdf_class( $type = 'view' ) {
|
243 |
-
|
244 |
-
if ( $type === 'view' ) {
|
245 |
-
return static::get_mvc_class( 'View_PDF' );
|
246 |
-
}
|
247 |
-
|
248 |
-
if ( $type === 'model' ) {
|
249 |
-
return static::get_mvc_class( 'Model_PDF' );
|
250 |
-
}
|
251 |
-
|
252 |
-
return new WP_Error( 'invalid_type', esc_html__( 'The $type parameter is invalid. Only "view" and "model" are accepted', 'gravity-forms-pdf-extended' ) );
|
253 |
-
}
|
254 |
-
|
255 |
-
/**
|
256 |
-
* Gets a list of current PDFs setup for a particular Gravity Form
|
257 |
-
*
|
258 |
-
* See https://gravitypdf.com/documentation/v5/api_get_form_pdfs/ for more information about this method
|
259 |
-
*
|
260 |
-
* @param integer $form_id The Gravity Form ID
|
261 |
-
*
|
262 |
-
* @return array|WP_Error Array of PDF settings or WP_Error
|
263 |
-
*
|
264 |
-
* @since 4.0
|
265 |
-
*/
|
266 |
-
public static function get_form_pdfs( $form_id ) {
|
267 |
-
$options = static::get_options_class();
|
268 |
-
|
269 |
-
return $options->get_form_pdfs( $form_id );
|
270 |
-
}
|
271 |
-
|
272 |
-
/**
|
273 |
-
* Gets a specific Gravity Form PDF configuration
|
274 |
-
*
|
275 |
-
* See https://gravitypdf.com/documentation/v5/api_get_pdf/ for more information about this method
|
276 |
-
*
|
277 |
-
* @param integer $form_id The Gravity Form ID
|
278 |
-
* @param string $pdf_id The PDF ID
|
279 |
-
*
|
280 |
-
* @return array|WP_Error Array of PDF settings or WP_Error
|
281 |
-
* @since 4.0
|
282 |
-
*/
|
283 |
-
public static function get_pdf( $form_id, $pdf_id ) {
|
284 |
-
$options = static::get_options_class();
|
285 |
-
|
286 |
-
return $options->get_pdf( $form_id, $pdf_id );
|
287 |
-
}
|
288 |
-
|
289 |
-
/**
|
290 |
-
* Add a new PDF to a Gravity Form
|
291 |
-
*
|
292 |
-
* See https://gravitypdf.com/documentation/v5/api_add_pdf/ for more information about this method
|
293 |
-
*
|
294 |
-
* @param integer $form_id The Gravity Form ID
|
295 |
-
* @param array $settings The settings for the PDF
|
296 |
-
*
|
297 |
-
* @return boolean / String The PDF ID on success, false on failure
|
298 |
-
*
|
299 |
-
* @since 4.0
|
300 |
-
*/
|
301 |
-
public static function add_pdf( $form_id, $settings = [] ) {
|
302 |
-
$options = static::get_options_class();
|
303 |
-
|
304 |
-
return $options->add_pdf( $form_id, $settings );
|
305 |
-
}
|
306 |
-
|
307 |
-
/**
|
308 |
-
* Updates an existing Gravity Form PDF. Passing an empty $settings array will delete the PDF
|
309 |
-
*
|
310 |
-
* See https://gravitypdf.com/documentation/v5/api_update_pdf/ for more information about this method
|
311 |
-
*
|
312 |
-
* @param integer $form_id The Gravity Form ID
|
313 |
-
* @param string $pdf_id The PDF ID
|
314 |
-
* @param array $settings The settings for the PDF
|
315 |
-
*
|
316 |
-
* @return boolean True on success, false on failure
|
317 |
-
*
|
318 |
-
* @since 4.0
|
319 |
-
*/
|
320 |
-
public static function update_pdf( $form_id, $pdf_id, $settings = [] ) {
|
321 |
-
$options = static::get_options_class();
|
322 |
-
|
323 |
-
return $options->update_pdf( $form_id, $pdf_id, $settings );
|
324 |
-
}
|
325 |
-
|
326 |
-
/**
|
327 |
-
* Deletes a specific Gravity Form PDF configuration
|
328 |
-
*
|
329 |
-
* See https://gravitypdf.com/documentation/v5/api_delete_pdf/ for more information about this method
|
330 |
-
*
|
331 |
-
* @param integer $form_id The Gravity Form ID
|
332 |
-
* @param string $pdf_id The PDF ID
|
333 |
-
*
|
334 |
-
* @return boolean True on success, false on failure
|
335 |
-
*
|
336 |
-
* @since 4.0
|
337 |
-
*/
|
338 |
-
public static function delete_pdf( $form_id, $pdf_id ) {
|
339 |
-
$options = static::get_options_class();
|
340 |
-
|
341 |
-
return $options->delete_pdf( $form_id, $pdf_id );
|
342 |
-
}
|
343 |
-
|
344 |
-
/**
|
345 |
-
* Retrieve an array of the global Gravity PDF settings (this doesn't include individual form configuration details - see GPDFAPI::get_form_pdfs)
|
346 |
-
*
|
347 |
-
* See https://gravitypdf.com/documentation/v5/api_get_plugin_settings/ for more information about this method
|
348 |
-
*
|
349 |
-
* @return array
|
350 |
-
*
|
351 |
-
* @since 4.0
|
352 |
-
*/
|
353 |
-
public static function get_plugin_settings() {
|
354 |
-
$options = static::get_options_class();
|
355 |
-
|
356 |
-
return $options->get_settings();
|
357 |
-
}
|
358 |
-
|
359 |
-
/**
|
360 |
-
* Get an option from the global Gravity PDF settings. If it doesn't exist the $default value will be returned
|
361 |
-
*
|
362 |
-
* See https://gravitypdf.com/documentation/v5/api_get_plugin_option/ for more information about this method
|
363 |
-
*
|
364 |
-
* @param string $key The Gravity PDF option key
|
365 |
-
* @param mixed $default What's returned if the option doesn't exist
|
366 |
-
*
|
367 |
-
* @return mixed
|
368 |
-
*
|
369 |
-
* @since 4.0
|
370 |
-
*/
|
371 |
-
public static function get_plugin_option( $key, $default = '' ) {
|
372 |
-
$options = static::get_options_class();
|
373 |
-
|
374 |
-
return $options->get_option( $key, $default );
|
375 |
-
}
|
376 |
-
|
377 |
-
/**
|
378 |
-
* Add a new Global option to Gravity PDF
|
379 |
-
*
|
380 |
-
* If option already exists a WP_Error is returned
|
381 |
-
* In most cases you'll want to use GPDFAPI::update_plugin_option() instead
|
382 |
-
*
|
383 |
-
* See https://gravitypdf.com/documentation/v5/api_add_plugin_option/ for more information about this method
|
384 |
-
*
|
385 |
-
* @param string $key The option key to add
|
386 |
-
* @param mixed $value
|
387 |
-
*
|
388 |
-
* @return boolean|WP_Error
|
389 |
-
*
|
390 |
-
* @since 4.0
|
391 |
-
*/
|
392 |
-
public static function add_plugin_option( $key, $value ) {
|
393 |
-
$options = static::get_options_class();
|
394 |
-
|
395 |
-
/* Check the option doesn't already exist */
|
396 |
-
if ( null !== $options->get_option( $key, null ) ) {
|
397 |
-
return new WP_Error( 'option_exists', esc_html__( 'The option key %s already exists. Use GPDFAPI::update_plugin_option instead', 'gravity-forms-pdf-extended' ) );
|
398 |
-
}
|
399 |
-
|
400 |
-
return static::update_plugin_option( $key, $value );
|
401 |
-
}
|
402 |
-
|
403 |
-
/**
|
404 |
-
* Updates a Gravity PDF global option. Will create option if it doesn't exist.
|
405 |
-
*
|
406 |
-
* If $value is falsy (determined by empty() ) the option is deleted.
|
407 |
-
*
|
408 |
-
* See https://gravitypdf.com/documentation/v5/api_update_plugin_option/ for more information about this method
|
409 |
-
*
|
410 |
-
* @param string $key The option key to update
|
411 |
-
* @param mixed $value
|
412 |
-
*
|
413 |
-
* @return boolean|WP_Error
|
414 |
-
*
|
415 |
-
* @since 4.0
|
416 |
-
*/
|
417 |
-
public static function update_plugin_option( $key, $value ) {
|
418 |
-
$options = static::get_options_class();
|
419 |
-
|
420 |
-
return $options->update_option( $key, $value );
|
421 |
-
}
|
422 |
-
|
423 |
-
/**
|
424 |
-
* Delete's a Gravity PDF global option.
|
425 |
-
*
|
426 |
-
* See https://gravitypdf.com/documentation/v5/api_delete_plugin_option/ for more information about this method
|
427 |
-
*
|
428 |
-
* @param string $key The option key to delete
|
429 |
-
*
|
430 |
-
* @return boolean
|
431 |
-
*
|
432 |
-
* @since 4.0
|
433 |
-
*/
|
434 |
-
public static function delete_plugin_option( $key ) {
|
435 |
-
$options = static::get_options_class();
|
436 |
-
|
437 |
-
return $options->delete_option( $key );
|
438 |
-
}
|
439 |
-
|
440 |
-
/**
|
441 |
-
* When provided the Gravity Form entry ID and PDF ID, this method will correctly generate the PDF, save it to disk,
|
442 |
-
* trigger appropriate actions and return the absolute path to the PDF.
|
443 |
-
*
|
444 |
-
* See https://gravitypdf.com/documentation/v5/api_create_pdf/ for more information about this method
|
445 |
-
*
|
446 |
-
* @param integer $entry_id The Gravity Form entry ID
|
447 |
-
* @param string $pdf_id The Gravity PDF ID number (the pid number in the URL when viewing a setting in the admin area)
|
448 |
-
*
|
449 |
-
* @return mixed Return the full path to the PDF, or a WP_Error on failure
|
450 |
-
*
|
451 |
-
* @since 4.0
|
452 |
-
*/
|
453 |
-
public static function create_pdf( $entry_id, $pdf_id ) {
|
454 |
-
|
455 |
-
$form_class = static::get_form_class();
|
456 |
-
|
457 |
-
/* Get our entry */
|
458 |
-
$entry = $form_class->get_entry( $entry_id );
|
459 |
-
|
460 |
-
if ( is_wp_error( $entry ) ) {
|
461 |
-
return new WP_Error( 'invalid_entry', 'Make sure to pass in a valid Gravity Forms Entry ID' );
|
462 |
-
}
|
463 |
-
|
464 |
-
/* Get our settings */
|
465 |
-
$setting = static::get_pdf( $entry['form_id'], $pdf_id );
|
466 |
-
|
467 |
-
if ( is_wp_error( $setting ) ) {
|
468 |
-
return new WP_Error( 'invalid_pdf_setting', 'Could not located the PDF Settings. Ensure you pass in a valid PDF ID.' );
|
469 |
-
}
|
470 |
-
|
471 |
-
$pdf = static::get_mvc_class( 'Model_PDF' );
|
472 |
-
$form = $form_class->get_form( $entry['form_id'] );
|
473 |
-
|
474 |
-
do_action( 'gfpdf_pre_generate_and_save_pdf', $form, $entry, $setting );
|
475 |
-
$filename = $pdf->generate_and_save_pdf( $entry, $setting );
|
476 |
-
do_action( 'gfpdf_post_generate_and_save_pdf', $form, $entry, $setting );
|
477 |
-
|
478 |
-
return $filename;
|
479 |
-
}
|
480 |
-
|
481 |
-
/**
|
482 |
-
* Generates the current entry's HTML product table
|
483 |
-
*
|
484 |
-
* See https://gravitypdf.com/documentation/v5/api_product_table/ for more information about this method
|
485 |
-
*
|
486 |
-
* @param array $entry The Gravity Form entry
|
487 |
-
* @param boolean $return Whether to output or return the HTML
|
488 |
-
*
|
489 |
-
* @return string|void The product table or null
|
490 |
-
*
|
491 |
-
* @since 4.0
|
492 |
-
*/
|
493 |
-
public static function product_table( $entry, $return = false ) {
|
494 |
-
global $gfpdf;
|
495 |
-
|
496 |
-
$products = new GFPDF\Helper\Fields\Field_Products( new GF_Field(), $entry, $gfpdf->gform, $gfpdf->misc );
|
497 |
-
|
498 |
-
if ( ! $products->is_empty() ) {
|
499 |
-
|
500 |
-
if ( $return ) {
|
501 |
-
return $products->html();
|
502 |
-
}
|
503 |
-
|
504 |
-
echo $products->html();
|
505 |
-
}
|
506 |
-
|
507 |
-
return null;
|
508 |
-
}
|
509 |
-
|
510 |
-
/**
|
511 |
-
* Generates a likert table
|
512 |
-
*
|
513 |
-
* See https://gravitypdf.com/documentation/v5/likert_table/ for more information about this method
|
514 |
-
*
|
515 |
-
* @param array $entry The Gravity Form entry
|
516 |
-
* @param integer $field_id The likert field ID
|
517 |
-
* @param boolean $return Whether to output or return the HTML
|
518 |
-
*
|
519 |
-
* @return Mixed The likert table or null
|
520 |
-
*
|
521 |
-
* @since 4.0
|
522 |
-
*/
|
523 |
-
public static function likert_table( $entry, $field_id, $return = false ) {
|
524 |
-
global $gfpdf;
|
525 |
-
|
526 |
-
/* Get our form */
|
527 |
-
$form = $gfpdf->gform->get_form( $entry['form_id'] );
|
528 |
-
|
529 |
-
/* Check for errors */
|
530 |
-
if ( is_wp_error( $form ) ) {
|
531 |
-
return null;
|
532 |
-
}
|
533 |
-
|
534 |
-
/* Find our field ID, if any */
|
535 |
-
foreach ( $form['fields'] as $field ) {
|
536 |
-
|
537 |
-
if ( $field->id == $field_id && $field->inputType == 'likert' ) {
|
538 |
-
|
539 |
-
/* Output our likert */
|
540 |
-
$likert = new GFPDF\Helper\Fields\Field_Likert( $field, $entry, $gfpdf->gform, $gfpdf->misc );
|
541 |
-
|
542 |
-
if ( $return ) {
|
543 |
-
return $likert->html();
|
544 |
-
}
|
545 |
-
|
546 |
-
echo $likert->html();
|
547 |
-
break;
|
548 |
-
}
|
549 |
-
}
|
550 |
-
|
551 |
-
return null;
|
552 |
-
}
|
553 |
-
|
554 |
-
/**
|
555 |
-
* Returns an array of all installed fonts
|
556 |
-
*
|
557 |
-
* @return array
|
558 |
-
*
|
559 |
-
* @since 4.3
|
560 |
-
*/
|
561 |
-
public static function get_pdf_fonts() {
|
562 |
-
$options = static::get_options_class();
|
563 |
-
|
564 |
-
return $options->get_installed_fonts();
|
565 |
-
}
|
566 |
-
|
567 |
-
/**
|
568 |
-
* Installs a PDF font on the file system
|
569 |
-
*
|
570 |
-
* See https://gravitypdf.com/documentation/v5/api_add_pdf_font/ for more information about this method
|
571 |
-
*
|
572 |
-
* @param array $font The font information to add.
|
573 |
-
*
|
574 |
-
* This array needs to be in the following format:
|
575 |
-
*
|
576 |
-
* Array (
|
577 |
-
* 'font_name' => 'Lato',
|
578 |
-
* 'regular' => '/full/path/to/font/Lato-Regular.ttf',
|
579 |
-
* 'italics' => '/full/path/to/font/Lato-Italic.ttf',
|
580 |
-
* 'bold' => '/full/path/to/font/Lato-Bold.ttf',
|
581 |
-
* 'bolditalics' => '/full/path/to/font/Lato-BoldItalic.ttf',
|
582 |
-
* )
|
583 |
-
*
|
584 |
-
* Only the 'font_name' and 'regular' keys are required.
|
585 |
-
* All fonts should be referenced with the full server path.
|
586 |
-
* Currently, only .ttf fonts are supported.
|
587 |
-
* The font name can only contain alphanumeric characters, or a space
|
588 |
-
*
|
589 |
-
* @return bool|WP_Error
|
590 |
-
*
|
591 |
-
* @since 4.1
|
592 |
-
*/
|
593 |
-
public static function add_pdf_font( $font ) {
|
594 |
-
$settings = GPDFAPI::get_mvc_class( 'Model_Settings' );
|
595 |
-
|
596 |
-
if ( ! isset( $font['font_name'] ) || ! $settings->is_font_name_valid( $font['font_name'] ) ) {
|
597 |
-
return new WP_Error( 'invalid_font_name', 'Font name is not valid. Alphanumeric characters and spaces only.' );
|
598 |
-
}
|
599 |
-
|
600 |
-
if ( ! $settings->is_font_name_unique( $font['font_name'] ) ) {
|
601 |
-
return new WP_Error( 'font_name_not_unique', 'A font with the same name already exists.' );
|
602 |
-
}
|
603 |
-
|
604 |
-
$results = $settings->install_fonts( $font );
|
605 |
-
|
606 |
-
if ( isset( $results['errors'] ) ) {
|
607 |
-
return new WP_Error( 'font_installation_error', implode( "\n\n", $results['errors'] ) );
|
608 |
-
}
|
609 |
-
|
610 |
-
return true;
|
611 |
-
}
|
612 |
-
|
613 |
-
/**
|
614 |
-
* Deletes one of the v4 fonts that is installed
|
615 |
-
*
|
616 |
-
* See https://gravitypdf.com/documentation/v5/delete_pdf_font/ for more information about this method
|
617 |
-
*
|
618 |
-
* @param string $font_name The font that should be deleted
|
619 |
-
*
|
620 |
-
* @return bool|WP_Error
|
621 |
-
*
|
622 |
-
* @since 4.1
|
623 |
-
*/
|
624 |
-
public static function delete_pdf_font( $font_name ) {
|
625 |
-
$settings = GPDFAPI::get_mvc_class( 'Model_Settings' );
|
626 |
-
$options = GPDFAPI::get_options_class();
|
627 |
-
$misc = GPDFAPI::get_misc_class();
|
628 |
-
$data = GPDFAPI::get_data_class();
|
629 |
-
|
630 |
-
$fonts = $options->get_option( 'custom_fonts' );
|
631 |
-
$font_id = $settings->get_font_id_by_name( $font_name );
|
632 |
-
|
633 |
-
if ( ! isset( $fonts[ $font_id ] ) ) {
|
634 |
-
return new WP_Error( 'font_not_installed', 'Font not installed.' );
|
635 |
-
}
|
636 |
-
|
637 |
-
/* Remove the font files */
|
638 |
-
if ( ! $settings->remove_font_file( $fonts[ $font_id ] ) ) {
|
639 |
-
return new WP_Error( 'font_delete_failure', 'There was a problem deleting the font files.' );
|
640 |
-
}
|
641 |
-
|
642 |
-
/* Cleanup our mPDF directory to prevent caching issues with mPDF */
|
643 |
-
$misc->cleanup_dir( $data->mpdf_tmp_location );
|
644 |
-
|
645 |
-
/* Update the database */
|
646 |
-
unset( $fonts[ $font_id ] );
|
647 |
-
if ( ! $options->update_option( 'custom_fonts', $fonts ) ) {
|
648 |
-
return new WP_Error( 'font_delete_db_failure', 'There was a problem deleting the font from the database.' );
|
649 |
-
}
|
650 |
-
|
651 |
-
return true;
|
652 |
-
}
|
653 |
-
|
654 |
-
/**
|
655 |
-
* Return the $form_data array used in custom PDF templates
|
656 |
-
*
|
657 |
-
* @param int $entry_id
|
658 |
-
*
|
659 |
-
* @return array|WP_Error
|
660 |
-
*
|
661 |
-
* @since 4.4
|
662 |
-
*/
|
663 |
-
public static function get_form_data( $entry_id ) {
|
664 |
-
$gform = self::get_form_class();
|
665 |
-
$pdf_model = self::get_mvc_class( 'Model_PDF' );
|
666 |
-
$entry = $gform->get_entry( $entry_id );
|
667 |
-
|
668 |
-
if ( is_wp_error( $entry ) ) {
|
669 |
-
return $entry;
|
670 |
-
}
|
671 |
-
|
672 |
-
return $pdf_model->get_form_data( $entry );
|
673 |
-
}
|
674 |
-
}
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* A public API developers can use to work with Gravity PDF (similar to Gravity Forms GFAPI class)
|
5 |
+
*
|
6 |
+
* This class is in the public namespace
|
7 |
+
*
|
8 |
+
*
|
9 |
+
* @package Gravity PDF
|
10 |
+
* @copyright Copyright (c) 2018 Blue Liquid Designs
|
11 |
+
* @license http://opensource.org/licenses/gpl-2.0.php GNU Public License
|
12 |
+
* @since 4.0
|
13 |
+
*/
|
14 |
+
|
15 |
+
/* Exit if accessed directly */
|
16 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
17 |
+
exit;
|
18 |
+
}
|
19 |
+
|
20 |
+
/*
|
21 |
+
This file is part of Gravity PDF.
|
22 |
+
|
23 |
+
Gravity PDF – Copyright (C) 2018 Blue Liquid Designs
|
24 |
+
|
25 |
+
This program is free software; you can redistribute it and/or modify
|
26 |
+
it under the terms of the GNU General Public License as published by
|
27 |
+
the Free Software Foundation; either version 2 of the License, or
|
28 |
+
(at your option) any later version.
|
29 |
+
|
30 |
+
This program is distributed in the hope that it will be useful,
|
31 |
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
32 |
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
33 |
+
GNU General Public License for more details.
|
34 |
+
|
35 |
+
You should have received a copy of the GNU General Public License
|
36 |
+
along with this program; if not, write to the Free Software
|
37 |
+
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
38 |
+
*/
|
39 |
+
|
40 |
+
/**
|
41 |
+
* An easy-to-use API developers can use to work with Gravity PDF
|
42 |
+
*
|
43 |
+
* See https://gravitypdf.com/documentation/v5/developer-api-whats-it-for/ for more information about this API
|
44 |
+
*
|
45 |
+
* @since 4.0
|
46 |
+
*/
|
47 |
+
final class GPDFAPI {
|
48 |
+
|
49 |
+
/**
|
50 |
+
* Returns our public logger class which uses Monolog (a PSR-3 compatible logging interface - https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-3-logger-interface.md)
|
51 |
+
*
|
52 |
+
* Log messages can be added with any of the following:
|
53 |
+
*
|
54 |
+
* $gfpdf->log->addDebug( $message, [$parameters = array()] )
|
55 |
+
* $gfpdf->log->addInfo( $message, [$parameters = array()] )
|
56 |
+
* $gfpdf->log->addNotice( $message, [$parameters = array()] )
|
57 |
+
* $gfpdf->log->addWarning( $message, [$parameters = array()] )
|
58 |
+
* $gfpdf->log->addError( $message, [$parameters = array()] )
|
59 |
+
* $gfpdf->log->addCritical( $message, [$parameters = array()] )
|
60 |
+
* $gfpdf->log->addAlert( $message, [$parameters = array()] )
|
61 |
+
* $gfpdf->log->addEmergency( $message, [$parameters = array()] )
|
62 |
+
*
|
63 |
+
* When in production Gravity PDF will only log to a file when the Gravity Forms Logging plugin is enabled and Gravity PDF is set to "Log errors only" ($log->addError() or higher) or "Log all messages" ($log->addNotice() or higher)
|
64 |
+
*
|
65 |
+
* See https://gravitypdf.com/documentation/v5/api_get_log_class/ for more information about this method
|
66 |
+
*
|
67 |
+
* @return \Monolog\Logger
|
68 |
+
*
|
69 |
+
* @since 4.0
|
70 |
+
*/
|
71 |
+
public static function get_log_class() {
|
72 |
+
global $gfpdf;
|
73 |
+
|
74 |
+
return $gfpdf->log;
|
75 |
+
}
|
76 |
+
|
77 |
+
/**
|
78 |
+
* Returns our public notice queue system to make it easy to display errors and messages to the user.
|
79 |
+
*
|
80 |
+
* Usage:
|
81 |
+
* $notices->add_notice( String $message );
|
82 |
+
* $notices->add_error( String $error );
|
83 |
+
*
|
84 |
+
* This taps into the 'admin_notices' or 'network_admin_notices' WordPress hooks so you need to add your notices before then.
|
85 |
+
*
|
86 |
+
* See https://gravitypdf.com/documentation/v5/api_get_notice_class/ for more information about this method
|
87 |
+
*
|
88 |
+
* @return \GFPDF\Helper\Helper_Notices
|
89 |
+
*
|
90 |
+
* @since 4.0
|
91 |
+
*/
|
92 |
+
public static function get_notice_class() {
|
93 |
+
global $gfpdf;
|
94 |
+
|
95 |
+
return $gfpdf->notices;
|
96 |
+
}
|
97 |
+
|
98 |
+
/**
|
99 |
+
* Returns our public data class which we use to store important global information related to Gravity PDF
|
100 |
+
*
|
101 |
+
* This uses PHP magic methods __set() and __get() to access and store information.
|
102 |
+
*
|
103 |
+
* Usage:
|
104 |
+
*
|
105 |
+
* $data->title; //returns "Gravity PDF"
|
106 |
+
* $data->title = 'Gravity PDF 4.0'; //sets $data->title to "Gravity PDF 4.0"
|
107 |
+
*
|
108 |
+
* Note: Our __get() magic method returns variables by reference
|
109 |
+
*
|
110 |
+
* See https://gravitypdf.com/documentation/v5/get_data_class/ for more information about this method
|
111 |
+
*
|
112 |
+
* @return \GFPDF\Helper\Helper_Data
|
113 |
+
*
|
114 |
+
* @since 4.0
|
115 |
+
*/
|
116 |
+
public static function get_data_class() {
|
117 |
+
global $gfpdf;
|
118 |
+
|
119 |
+
return $gfpdf->data;
|
120 |
+
}
|
121 |
+
|
122 |
+
/**
|
123 |
+
* Returns our access layer class for all Gravity PDF Settings (both global and form specific)
|
124 |
+
*
|
125 |
+
* Note: Most relevant methods have been broken our and are avaiable through the GPDFAPI directly (GPDFAPI::get_pdf, GPDFAPI::get_plugin_settings ect)
|
126 |
+
*
|
127 |
+
* See https://gravitypdf.com/documentation/v5/api_get_options_class/ for more information about this method
|
128 |
+
*
|
129 |
+
* @return \GFPDF\Helper\Helper_Options_Fields
|
130 |
+
*
|
131 |
+
* @since 4.0
|
132 |
+
*/
|
133 |
+
public static function get_options_class() {
|
134 |
+
global $gfpdf;
|
135 |
+
|
136 |
+
return $gfpdf->options;
|
137 |
+
}
|
138 |
+
|
139 |
+
/**
|
140 |
+
* Returns our miscellaneous methods (or common methods) used throughout the plugin.
|
141 |
+
*
|
142 |
+
* Usage:
|
143 |
+
*
|
144 |
+
* $misc->is_gfpdf_page();
|
145 |
+
*
|
146 |
+
* See https://gravitypdf.com/documentation/v5/api_get_misc_class/ for more information about this method
|
147 |
+
*
|
148 |
+
* @return \GFPDF\Helper\Helper_Misc
|
149 |
+
*
|
150 |
+
* @since 4.0
|
151 |
+
*/
|
152 |
+
public static function get_misc_class() {
|
153 |
+
global $gfpdf;
|
154 |
+
|
155 |
+
return $gfpdf->misc;
|
156 |
+
}
|
157 |
+
|
158 |
+
/**
|
159 |
+
* Returns our templates methods used throughout the plugin.
|
160 |
+
*
|
161 |
+
* Usage:
|
162 |
+
*
|
163 |
+
* $templates->get_all_templates();
|
164 |
+
*
|
165 |
+
* See @TODO https://gravitypdf.com/documentation/v5/api_get_templates_class/ for more information about this method
|
166 |
+
*
|
167 |
+
* @return \GFPDF\Helper\Helper_Templates
|
168 |
+
*
|
169 |
+
* @since 4.1
|
170 |
+
*/
|
171 |
+
public static function get_templates_class() {
|
172 |
+
global $gfpdf;
|
173 |
+
|
174 |
+
return $gfpdf->templates;
|
175 |
+
}
|
176 |
+
|
177 |
+
/**
|
178 |
+
* Returns our abstracted Gravity Forms API class we use throughout the plugin
|
179 |
+
*
|
180 |
+
* While you could just use the GFAPI directly, some methods in this class have been cache-optimised and are specifically tuned for Gravity PDF.
|
181 |
+
* Note: not all the methods in the GFAPI are implimented.
|
182 |
+
*
|
183 |
+
* Usage:
|
184 |
+
*
|
185 |
+
* $gform->get_form( $form_id );
|
186 |
+
*
|
187 |
+
* See https://gravitypdf.com/documentation/v5/api_get_form_class/ for more information about this method
|
188 |
+
*
|
189 |
+
* @return \GFPDF\Helper\Helper_Form
|
190 |
+
*
|
191 |
+
* @since 4.0
|
192 |
+
*/
|
193 |
+
public static function get_form_class() {
|
194 |
+
global $gfpdf;
|
195 |
+
|
196 |
+
return $gfpdf->gform;
|
197 |
+
}
|
198 |
+
|
199 |
+
/**
|
200 |
+
* Returns the original Model/View/Controller class we initialised in our /src/bootstrap.php file
|
201 |
+
*
|
202 |
+
* This method acts like a faux singleton provider (but none of our classes are static or singletons themselves - hence the 'faux') as you get the originally initialised class back
|
203 |
+
*
|
204 |
+
* This is very useful when you want to remove any filters / actions we set in a controller's add_filters() or add_actions() methods
|
205 |
+
* You can also use to to easily access any public methods in our classes
|
206 |
+
*
|
207 |
+
* Note: This method only returns Controller_ / Model_ / View_ classes. Use the other methods above to access our Helper_ classes
|
208 |
+
*
|
209 |
+
* Usage:
|
210 |
+
*
|
211 |
+
* $class = GPDFAPI::get_mcv_class( 'Controller_PDF' );
|
212 |
+
*
|
213 |
+
* //if we have a class returned
|
214 |
+
* if( $class !== false ) {
|
215 |
+
* //remove a middleware filter
|
216 |
+
* remove_filter( 'gfpdf_pdf_middleware', array( $class, 'middle_active' ), 10 );
|
217 |
+
* }
|
218 |
+
*
|
219 |
+
* See https://gravitypdf.com/documentation/v5/api_get_mvc_class/ for more information about this method
|
220 |
+
*
|
221 |
+
* @param string $class_name The name of one of our MVC classes (no namespace)
|
222 |
+
*
|
223 |
+
* @return object|bool Will return your object if found, otherwise false
|
224 |
+
*
|
225 |
+
* @since 4.0
|
226 |
+
*/
|
227 |
+
public static function get_mvc_class( $class_name ) {
|
228 |
+
global $gfpdf;
|
229 |
+
|
230 |
+
return $gfpdf->singleton->get_class( $class_name );
|
231 |
+
}
|
232 |
+
|
233 |
+
/**
|
234 |
+
* Returns a new instance of one of our PDF generating code (model or view)
|
235 |
+
*
|
236 |
+
* @param string $type Type of class to return. Valid options include 'view' or 'model'
|
237 |
+
*
|
238 |
+
* @return object|WP_Error
|
239 |
+
*
|
240 |
+
* @since 4.0
|
241 |
+
*/
|
242 |
+
public static function get_pdf_class( $type = 'view' ) {
|
243 |
+
|
244 |
+
if ( $type === 'view' ) {
|
245 |
+
return static::get_mvc_class( 'View_PDF' );
|
246 |
+
}
|
247 |
+
|
248 |
+
if ( $type === 'model' ) {
|
249 |
+
return static::get_mvc_class( 'Model_PDF' );
|
250 |
+
}
|
251 |
+
|
252 |
+
return new WP_Error( 'invalid_type', esc_html__( 'The $type parameter is invalid. Only "view" and "model" are accepted', 'gravity-forms-pdf-extended' ) );
|
253 |
+
}
|
254 |
+
|
255 |
+
/**
|
256 |
+
* Gets a list of current PDFs setup for a particular Gravity Form
|
257 |
+
*
|
258 |
+
* See https://gravitypdf.com/documentation/v5/api_get_form_pdfs/ for more information about this method
|
259 |
+
*
|
260 |
+
* @param integer $form_id The Gravity Form ID
|
261 |
+
*
|
262 |
+
* @return array|WP_Error Array of PDF settings or WP_Error
|
263 |
+
*
|
264 |
+
* @since 4.0
|
265 |
+
*/
|
266 |
+
public static function get_form_pdfs( $form_id ) {
|
267 |
+
$options = static::get_options_class();
|
268 |
+
|
269 |
+
return $options->get_form_pdfs( $form_id );
|
270 |
+
}
|
271 |
+
|
272 |
+
/**
|
273 |
+
* Gets a specific Gravity Form PDF configuration
|
274 |
+
*
|
275 |
+
* See https://gravitypdf.com/documentation/v5/api_get_pdf/ for more information about this method
|
276 |
+
*
|
277 |
+
* @param integer $form_id The Gravity Form ID
|
278 |
+
* @param string $pdf_id The PDF ID
|
279 |
+
*
|
280 |
+
* @return array|WP_Error Array of PDF settings or WP_Error
|
281 |
+
* @since 4.0
|
282 |
+
*/
|
283 |
+
public static function get_pdf( $form_id, $pdf_id ) {
|
284 |
+
$options = static::get_options_class();
|
285 |
+
|
286 |
+
return $options->get_pdf( $form_id, $pdf_id );
|
287 |
+
}
|
288 |
+
|
289 |
+
/**
|
290 |
+
* Add a new PDF to a Gravity Form
|
291 |
+
*
|
292 |
+
* See https://gravitypdf.com/documentation/v5/api_add_pdf/ for more information about this method
|
293 |
+
*
|
294 |
+
* @param integer $form_id The Gravity Form ID
|
295 |
+
* @param array $settings The settings for the PDF
|
296 |
+
*
|
297 |
+
* @return boolean / String The PDF ID on success, false on failure
|
298 |
+
*
|
299 |
+
* @since 4.0
|
300 |
+
*/
|
301 |
+
public static function add_pdf( $form_id, $settings = [] ) {
|
302 |
+
$options = static::get_options_class();
|
303 |
+
|
304 |
+
return $options->add_pdf( $form_id, $settings );
|
305 |
+
}
|
306 |
+
|
307 |
+
/**
|
308 |
+
* Updates an existing Gravity Form PDF. Passing an empty $settings array will delete the PDF
|
309 |
+
*
|
310 |
+
* See https://gravitypdf.com/documentation/v5/api_update_pdf/ for more information about this method
|
311 |
+
*
|
312 |
+
* @param integer $form_id The Gravity Form ID
|
313 |
+
* @param string $pdf_id The PDF ID
|
314 |
+
* @param array $settings The settings for the PDF
|
315 |
+
*
|
316 |
+
* @return boolean True on success, false on failure
|
317 |
+
*
|
318 |
+
* @since 4.0
|
319 |
+
*/
|
320 |
+
public static function update_pdf( $form_id, $pdf_id, $settings = [] ) {
|
321 |
+
$options = static::get_options_class();
|
322 |
+
|
323 |
+
return $options->update_pdf( $form_id, $pdf_id, $settings );
|
324 |
+
}
|
325 |
+
|
326 |
+
/**
|
327 |
+
* Deletes a specific Gravity Form PDF configuration
|
328 |
+
*
|
329 |
+
* See https://gravitypdf.com/documentation/v5/api_delete_pdf/ for more information about this method
|
330 |
+
*
|
331 |
+
* @param integer $form_id The Gravity Form ID
|
332 |
+
* @param string $pdf_id The PDF ID
|
333 |
+
*
|
334 |
+
* @return boolean True on success, false on failure
|
335 |
+
*
|
336 |
+
* @since 4.0
|
337 |
+
*/
|
338 |
+
public static function delete_pdf( $form_id, $pdf_id ) {
|
339 |
+
$options = static::get_options_class();
|
340 |
+
|
341 |
+
return $options->delete_pdf( $form_id, $pdf_id );
|
342 |
+
}
|
343 |
+
|
344 |
+
/**
|
345 |
+
* Retrieve an array of the global Gravity PDF settings (this doesn't include individual form configuration details - see GPDFAPI::get_form_pdfs)
|
346 |
+
*
|
347 |
+
* See https://gravitypdf.com/documentation/v5/api_get_plugin_settings/ for more information about this method
|
348 |
+
*
|
349 |
+
* @return array
|
350 |
+
*
|
351 |
+
* @since 4.0
|
352 |
+
*/
|
353 |
+
public static function get_plugin_settings() {
|
354 |
+
$options = static::get_options_class();
|
355 |
+
|
356 |
+
return $options->get_settings();
|
357 |
+
}
|
358 |
+
|
359 |
+
/**
|
360 |
+
* Get an option from the global Gravity PDF settings. If it doesn't exist the $default value will be returned
|
361 |
+
*
|
362 |
+
* See https://gravitypdf.com/documentation/v5/api_get_plugin_option/ for more information about this method
|
363 |
+
*
|
364 |
+
* @param string $key The Gravity PDF option key
|
365 |
+
* @param mixed $default What's returned if the option doesn't exist
|
366 |
+
*
|
367 |
+
* @return mixed
|
368 |
+
*
|
369 |
+
* @since 4.0
|
370 |
+
*/
|
371 |
+
public static function get_plugin_option( $key, $default = '' ) {
|
372 |
+
$options = static::get_options_class();
|
373 |
+
|
374 |
+
return $options->get_option( $key, $default );
|
375 |
+
}
|
376 |
+
|
377 |
+
/**
|
378 |
+
* Add a new Global option to Gravity PDF
|
379 |
+
*
|
380 |
+
* If option already exists a WP_Error is returned
|
381 |
+
* In most cases you'll want to use GPDFAPI::update_plugin_option() instead
|
382 |
+
*
|
383 |
+
* See https://gravitypdf.com/documentation/v5/api_add_plugin_option/ for more information about this method
|
384 |
+
*
|
385 |
+
* @param string $key The option key to add
|
386 |
+
* @param mixed $value
|
387 |
+
*
|
388 |
+
* @return boolean|WP_Error
|
389 |
+
*
|
390 |
+
* @since 4.0
|
391 |
+
*/
|
392 |
+
public static function add_plugin_option( $key, $value ) {
|
393 |
+
$options = static::get_options_class();
|
394 |
+
|
395 |
+
/* Check the option doesn't already exist */
|
396 |
+
if ( null !== $options->get_option( $key, null ) ) {
|
397 |
+
return new WP_Error( 'option_exists', esc_html__( 'The option key %s already exists. Use GPDFAPI::update_plugin_option instead', 'gravity-forms-pdf-extended' ) );
|
398 |
+
}
|
399 |
+
|
400 |
+
return static::update_plugin_option( $key, $value );
|
401 |
+
}
|
402 |
+
|
403 |
+
/**
|
404 |
+
* Updates a Gravity PDF global option. Will create option if it doesn't exist.
|
405 |
+
*
|
406 |
+
* If $value is falsy (determined by empty() ) the option is deleted.
|
407 |
+
*
|
408 |
+
* See https://gravitypdf.com/documentation/v5/api_update_plugin_option/ for more information about this method
|
409 |
+
*
|
410 |
+
* @param string $key The option key to update
|
411 |
+
* @param mixed $value
|
412 |
+
*
|
413 |
+
* @return boolean|WP_Error
|
414 |
+
*
|
415 |
+
* @since 4.0
|
416 |
+
*/
|
417 |
+
public static function update_plugin_option( $key, $value ) {
|
418 |
+
$options = static::get_options_class();
|
419 |
+
|
420 |
+
return $options->update_option( $key, $value );
|
421 |
+
}
|
422 |
+
|
423 |
+
/**
|
424 |
+
* Delete's a Gravity PDF global option.
|
425 |
+
*
|
426 |
+
* See https://gravitypdf.com/documentation/v5/api_delete_plugin_option/ for more information about this method
|
427 |
+
*
|
428 |
+
* @param string $key The option key to delete
|
429 |
+
*
|
430 |
+
* @return boolean
|
431 |
+
*
|
432 |
+
* @since 4.0
|
433 |
+
*/
|
434 |
+
public static function delete_plugin_option( $key ) {
|
435 |
+
$options = static::get_options_class();
|
436 |
+
|
437 |
+
return $options->delete_option( $key );
|
438 |
+
}
|
439 |
+
|
440 |
+
/**
|
441 |
+
* When provided the Gravity Form entry ID and PDF ID, this method will correctly generate the PDF, save it to disk,
|
442 |
+
* trigger appropriate actions and return the absolute path to the PDF.
|
443 |
+
*
|
444 |
+
* See https://gravitypdf.com/documentation/v5/api_create_pdf/ for more information about this method
|
445 |
+
*
|
446 |
+
* @param integer $entry_id The Gravity Form entry ID
|
447 |
+
* @param string $pdf_id The Gravity PDF ID number (the pid number in the URL when viewing a setting in the admin area)
|
448 |
+
*
|
449 |
+
* @return mixed Return the full path to the PDF, or a WP_Error on failure
|
450 |
+
*
|
451 |
+
* @since 4.0
|
452 |
+
*/
|
453 |
+
public static function create_pdf( $entry_id, $pdf_id ) {
|
454 |
+
|
455 |
+
$form_class = static::get_form_class();
|
456 |
+
|
457 |
+
/* Get our entry */
|
458 |
+
$entry = $form_class->get_entry( $entry_id );
|
459 |
+
|
460 |
+
if ( is_wp_error( $entry ) ) {
|
461 |
+
return new WP_Error( 'invalid_entry', 'Make sure to pass in a valid Gravity Forms Entry ID' );
|
462 |
+
}
|
463 |
+
|
464 |
+
/* Get our settings */
|
465 |
+
$setting = static::get_pdf( $entry['form_id'], $pdf_id );
|
466 |
+
|
467 |
+
if ( is_wp_error( $setting ) ) {
|
468 |
+
return new WP_Error( 'invalid_pdf_setting', 'Could not located the PDF Settings. Ensure you pass in a valid PDF ID.' );
|
469 |
+
}
|
470 |
+
|
471 |
+
$pdf = static::get_mvc_class( 'Model_PDF' );
|
472 |
+
$form = $form_class->get_form( $entry['form_id'] );
|
473 |
+
|
474 |
+
do_action( 'gfpdf_pre_generate_and_save_pdf', $form, $entry, $setting );
|
475 |
+
$filename = $pdf->generate_and_save_pdf( $entry, $setting );
|
476 |
+
do_action( 'gfpdf_post_generate_and_save_pdf', $form, $entry, $setting );
|
477 |
+
|
478 |
+
return $filename;
|
479 |
+
}
|
480 |
+
|
481 |
+
/**
|
482 |
+
* Generates the current entry's HTML product table
|
483 |
+
*
|
484 |
+
* See https://gravitypdf.com/documentation/v5/api_product_table/ for more information about this method
|
485 |
+
*
|
486 |
+
* @param array $entry The Gravity Form entry
|
487 |
+
* @param boolean $return Whether to output or return the HTML
|
488 |
+
*
|
489 |
+
* @return string|void The product table or null
|
490 |
+
*
|
491 |
+
* @since 4.0
|
492 |
+
*/
|
493 |
+
public static function product_table( $entry, $return = false ) {
|
494 |
+
global $gfpdf;
|
495 |
+
|
496 |
+
$products = new GFPDF\Helper\Fields\Field_Products( new GF_Field(), $entry, $gfpdf->gform, $gfpdf->misc );
|
497 |
+
|
498 |
+
if ( ! $products->is_empty() ) {
|
499 |
+
|
500 |
+
if ( $return ) {
|
501 |
+
return $products->html();
|
502 |
+
}
|
503 |
+
|
504 |
+
echo $products->html();
|
505 |
+
}
|
506 |
+
|
507 |
+
return null;
|
508 |
+
}
|
509 |
+
|
510 |
+
/**
|
511 |
+
* Generates a likert table
|
512 |
+
*
|
513 |
+
* See https://gravitypdf.com/documentation/v5/likert_table/ for more information about this method
|
514 |
+
*
|
515 |
+
* @param array $entry The Gravity Form entry
|
516 |
+
* @param integer $field_id The likert field ID
|
517 |
+
* @param boolean $return Whether to output or return the HTML
|
518 |
+
*
|
519 |
+
* @return Mixed The likert table or null
|
520 |
+
*
|
521 |
+
* @since 4.0
|
522 |
+
*/
|
523 |
+
public static function likert_table( $entry, $field_id, $return = false ) {
|
524 |
+
global $gfpdf;
|
525 |
+
|
526 |
+
/* Get our form */
|
527 |
+
$form = $gfpdf->gform->get_form( $entry['form_id'] );
|
528 |
+
|
529 |
+
/* Check for errors */
|
530 |
+
if ( is_wp_error( $form ) ) {
|
531 |
+
return null;
|
532 |
+
}
|
533 |
+
|
534 |
+
/* Find our field ID, if any */
|
535 |
+
foreach ( $form['fields'] as $field ) {
|
536 |
+
|
537 |
+
if ( $field->id == $field_id && $field->inputType == 'likert' ) {
|
538 |
+
|
539 |
+
/* Output our likert */
|
540 |
+
$likert = new GFPDF\Helper\Fields\Field_Likert( $field, $entry, $gfpdf->gform, $gfpdf->misc );
|
541 |
+
|
542 |
+
if ( $return ) {
|
543 |
+
return $likert->html();
|
544 |
+
}
|
545 |
+
|
546 |
+
echo $likert->html();
|
547 |
+
break;
|
548 |
+
}
|
549 |
+
}
|
550 |
+
|
551 |
+
return null;
|
552 |
+
}
|
553 |
+
|
554 |
+
/**
|
555 |
+
* Returns an array of all installed fonts
|
556 |
+
*
|
557 |
+
* @return array
|
558 |
+
*
|
559 |
+
* @since 4.3
|
560 |
+
*/
|
561 |
+
public static function get_pdf_fonts() {
|
562 |
+
$options = static::get_options_class();
|
563 |
+
|
564 |
+
return $options->get_installed_fonts();
|
565 |
+
}
|
566 |
+
|
567 |
+
/**
|
568 |
+
* Installs a PDF font on the file system
|
569 |
+
*
|
570 |
+
* See https://gravitypdf.com/documentation/v5/api_add_pdf_font/ for more information about this method
|
571 |
+
*
|
572 |
+
* @param array $font The font information to add.
|
573 |
+
*
|
574 |
+
* This array needs to be in the following format:
|
575 |
+
*
|
576 |
+
* Array (
|
577 |
+
* 'font_name' => 'Lato',
|
578 |
+
* 'regular' => '/full/path/to/font/Lato-Regular.ttf',
|
579 |
+
* 'italics' => '/full/path/to/font/Lato-Italic.ttf',
|
580 |
+
* 'bold' => '/full/path/to/font/Lato-Bold.ttf',
|
581 |
+
* 'bolditalics' => '/full/path/to/font/Lato-BoldItalic.ttf',
|
582 |
+
* )
|
583 |
+
*
|
584 |
+
* Only the 'font_name' and 'regular' keys are required.
|
585 |
+
* All fonts should be referenced with the full server path.
|
586 |
+
* Currently, only .ttf fonts are supported.
|
587 |
+
* The font name can only contain alphanumeric characters, or a space
|
588 |
+
*
|
589 |
+
* @return bool|WP_Error
|
590 |
+
*
|
591 |
+
* @since 4.1
|
592 |
+
*/
|
593 |
+
public static function add_pdf_font( $font ) {
|
594 |
+
$settings = GPDFAPI::get_mvc_class( 'Model_Settings' );
|
595 |
+
|
596 |
+
if ( ! isset( $font['font_name'] ) || ! $settings->is_font_name_valid( $font['font_name'] ) ) {
|
597 |
+
return new WP_Error( 'invalid_font_name', 'Font name is not valid. Alphanumeric characters and spaces only.' );
|
598 |
+
}
|
599 |
+
|
600 |
+
if ( ! $settings->is_font_name_unique( $font['font_name'] ) ) {
|
601 |
+
return new WP_Error( 'font_name_not_unique', 'A font with the same name already exists.' );
|
602 |
+
}
|
603 |
+
|
604 |
+
$results = $settings->install_fonts( $font );
|
605 |
+
|
606 |
+
if ( isset( $results['errors'] ) ) {
|
607 |
+
return new WP_Error( 'font_installation_error', implode( "\n\n", $results['errors'] ) );
|
608 |
+
}
|
609 |
+
|
610 |
+
return true;
|
611 |
+
}
|
612 |
+
|
613 |
+
/**
|
614 |
+
* Deletes one of the v4 fonts that is installed
|
615 |
+
*
|
616 |
+
* See https://gravitypdf.com/documentation/v5/delete_pdf_font/ for more information about this method
|
617 |
+
*
|
618 |
+
* @param string $font_name The font that should be deleted
|
619 |
+
*
|
620 |
+
* @return bool|WP_Error
|
621 |
+
*
|
622 |
+
* @since 4.1
|
623 |
+
*/
|
624 |
+
public static function delete_pdf_font( $font_name ) {
|
625 |
+
$settings = GPDFAPI::get_mvc_class( 'Model_Settings' );
|
626 |
+
$options = GPDFAPI::get_options_class();
|
627 |
+
$misc = GPDFAPI::get_misc_class();
|
628 |
+
$data = GPDFAPI::get_data_class();
|
629 |
+
|
630 |
+
$fonts = $options->get_option( 'custom_fonts' );
|
631 |
+
$font_id = $settings->get_font_id_by_name( $font_name );
|
632 |
+
|
633 |
+
if ( ! isset( $fonts[ $font_id ] ) ) {
|
634 |
+
return new WP_Error( 'font_not_installed', 'Font not installed.' );
|
635 |
+
}
|
636 |
+
|
637 |
+
/* Remove the font files */
|
638 |
+
if ( ! $settings->remove_font_file( $fonts[ $font_id ] ) ) {
|
639 |
+
return new WP_Error( 'font_delete_failure', 'There was a problem deleting the font files.' );
|
640 |
+
}
|
641 |
+
|
642 |
+
/* Cleanup our mPDF directory to prevent caching issues with mPDF */
|
643 |
+
$misc->cleanup_dir( $data->mpdf_tmp_location );
|
644 |
+
|
645 |
+
/* Update the database */
|
646 |
+
unset( $fonts[ $font_id ] );
|
647 |
+
if ( ! $options->update_option( 'custom_fonts', $fonts ) ) {
|
648 |
+
return new WP_Error( 'font_delete_db_failure', 'There was a problem deleting the font from the database.' );
|
649 |
+
}
|
650 |
+
|
651 |
+
return true;
|
652 |
+
}
|
653 |
+
|
654 |
+
/**
|
655 |
+
* Return the $form_data array used in custom PDF templates
|
656 |
+
*
|
657 |
+
* @param int $entry_id
|
658 |
+
*
|
659 |
+
* @return array|WP_Error
|
660 |
+
*
|
661 |
+
* @since 4.4
|
662 |
+
*/
|
663 |
+
public static function get_form_data( $entry_id ) {
|
664 |
+
$gform = self::get_form_class();
|
665 |
+
$pdf_model = self::get_mvc_class( 'Model_PDF' );
|
666 |
+
$entry = $gform->get_entry( $entry_id );
|
667 |
+
|
668 |
+
if ( is_wp_error( $entry ) ) {
|
669 |
+
return $entry;
|
670 |
+
}
|
671 |
+
|
672 |
+
return $pdf_model->get_form_data( $entry );
|
673 |
+
}
|
674 |
+
}
|
bower_components/backbone.modelbinder/.bower.json
CHANGED
@@ -1,27 +1,27 @@
|
|
1 |
-
{
|
2 |
-
"name": "backbone.modelBinder",
|
3 |
-
"version": "1.1.0",
|
4 |
-
"main": [
|
5 |
-
"Backbone.ModelBinder.js"
|
6 |
-
],
|
7 |
-
"dependencies": {
|
8 |
-
"backbone": ">=0.9.0",
|
9 |
-
"underscore": ">=1.3.1",
|
10 |
-
"jquery": ">=1.7.1"
|
11 |
-
},
|
12 |
-
"repository": {
|
13 |
-
"type": "git",
|
14 |
-
"url": "git://github.com/theironcook/Backbone.ModelBinder.git"
|
15 |
-
},
|
16 |
-
"homepage": "https://github.com/theironcook/Backbone.ModelBinder",
|
17 |
-
"_release": "1.1.0",
|
18 |
-
"_resolution": {
|
19 |
-
"type": "version",
|
20 |
-
"tag": "1.1.0",
|
21 |
-
"commit": "f490f9e1f92b0aa427caef43d3591fc79b2188d0"
|
22 |
-
},
|
23 |
-
"_source": "git://github.com/theironcook/Backbone.ModelBinder.git",
|
24 |
-
"_target": "~1.1.0",
|
25 |
-
"_originalSource": "backbone.modelbinder",
|
26 |
-
"_direct": true
|
27 |
}
|
1 |
+
{
|
2 |
+
"name": "backbone.modelBinder",
|
3 |
+
"version": "1.1.0",
|
4 |
+
"main": [
|
5 |
+
"Backbone.ModelBinder.js"
|
6 |
+
],
|
7 |
+
"dependencies": {
|
8 |
+
"backbone": ">=0.9.0",
|
9 |
+
"underscore": ">=1.3.1",
|
10 |
+
"jquery": ">=1.7.1"
|
11 |
+
},
|
12 |
+
"repository": {
|
13 |
+
"type": "git",
|
14 |
+
"url": "git://github.com/theironcook/Backbone.ModelBinder.git"
|
15 |
+
},
|
16 |
+
"homepage": "https://github.com/theironcook/Backbone.ModelBinder",
|
17 |
+
"_release": "1.1.0",
|
18 |
+
"_resolution": {
|
19 |
+
"type": "version",
|
20 |
+
"tag": "1.1.0",
|
21 |
+
"commit": "f490f9e1f92b0aa427caef43d3591fc79b2188d0"
|
22 |
+
},
|
23 |
+
"_source": "git://github.com/theironcook/Backbone.ModelBinder.git",
|
24 |
+
"_target": "~1.1.0",
|
25 |
+
"_originalSource": "backbone.modelbinder",
|
26 |
+
"_direct": true
|
27 |
}
|
bower_components/backbone.modelbinder/Backbone.ModelBinder.min.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
-
// Backbone.ModelBinder v1.1.0
|
2 |
-
// (c) 2015 Bart Wood
|
3 |
-
// Distributed Under MIT License
|
4 |
-
|
5 |
!function(t){"function"==typeof define&&define.amd?define(["underscore","jquery","backbone"],t):"undefined"!=typeof module&&module.exports?module.exports=t(require("underscore"),require("jquery"),require("backbone")):t(_,jQuery,Backbone)}(function(t,e,i){if(!i)throw"Please include Backbone.js before Backbone.ModelBinder.js";return i.ModelBinder=function(){t.bindAll.apply(t,[this].concat(t.functions(this)))},i.ModelBinder.SetOptions=function(t){i.ModelBinder.options=t},i.ModelBinder.VERSION="1.1.0",i.ModelBinder.Constants={},i.ModelBinder.Constants.ModelToView="ModelToView",i.ModelBinder.Constants.ViewToModel="ViewToModel",t.extend(i.ModelBinder.prototype,{bind:function(t,i,n,o){this.unbind(),this._model=t,this._rootEl=i,this._setOptions(o),this._model||this._throwException("model must be specified"),this._rootEl||this._throwException("rootEl must be specified"),n?(this._attributeBindings=e.extend(!0,{},n),this._initializeAttributeBindings(),this._initializeElBindings()):this._initializeDefaultBindings(),this._bindModelToView(),this._bindViewToModel()},bindCustomTriggers:function(t,e,i,n,o){this._triggers=i,this.bind(t,e,n,o)},unbind:function(){this._unbindModelToView(),this._unbindViewToModel(),this._attributeBindings&&(delete this._attributeBindings,this._attributeBindings=void 0)},_setOptions:function(e){this._options=t.extend({boundAttribute:"name"},i.ModelBinder.options,e),this._options.modelSetOptions||(this._options.modelSetOptions={}),this._options.modelSetOptions.changeSource="ModelBinder",this._options.changeTriggers||(this._options.changeTriggers={"":"change","[contenteditable]":"blur"}),this._options.initialCopyDirection||(this._options.initialCopyDirection=i.ModelBinder.Constants.ModelToView)},_initializeAttributeBindings:function(){var e,i,n,o,s;for(e in this._attributeBindings){for(i=this._attributeBindings[e],t.isString(i)?n={elementBindings:[{selector:i}]}:t.isArray(i)?n={elementBindings:i}:t.isObject(i)?n={elementBindings:[i]}:this._throwException("Unsupported type passed to Model Binder "+n),o=0;o<n.elementBindings.length;o++)s=n.elementBindings[o],s.attributeBinding=n;n.attributeName=e,this._attributeBindings[e]=n}},_initializeDefaultBindings:function(){var t,i,n,o,s;for(this._attributeBindings={},i=e("["+this._options.boundAttribute+"]",this._rootEl),t=0;t<i.length;t++)n=i[t],o=e(n).attr(this._options.boundAttribute),this._attributeBindings[o]?this._attributeBindings[o].elementBindings.push({attributeBinding:this._attributeBindings[o],boundEls:[n]}):(s={attributeName:o},s.elementBindings=[{attributeBinding:s,boundEls:[n]}],this._attributeBindings[o]=s)},_initializeElBindings:function(){var t,i,n,o,s,r,d;for(t in this._attributeBindings)for(i=this._attributeBindings[t],n=0;n<i.elementBindings.length;n++)if(o=i.elementBindings[n],s=""===o.selector?e(this._rootEl):e(o.selector,this._rootEl),0===s.length)this._throwException("Bad binding found. No elements returned for binding selector "+o.selector);else for(o.boundEls=[],r=0;r<s.length;r++)d=s[r],o.boundEls.push(d)},_bindModelToView:function(){this._model.on("change",this._onModelChange,this),this._options.initialCopyDirection===i.ModelBinder.Constants.ModelToView&&this.copyModelAttributesToView()},copyModelAttributesToView:function(e){var i,n;for(i in this._attributeBindings)(void 0===e||-1!==t.indexOf(e,i))&&(n=this._attributeBindings[i],this._copyModelToView(n))},copyViewValuesToModel:function(){var t,i,n,o,s,r;for(t in this._attributeBindings)for(i=this._attributeBindings[t],n=0;n<i.elementBindings.length;n++)if(o=i.elementBindings[n],this._isBindingUserEditable(o))if(this._isBindingRadioGroup(o))r=this._getRadioButtonGroupCheckedEl(o),r&&this._copyViewToModel(o,r);else for(s=0;s<o.boundEls.length;s++)r=e(o.boundEls[s]),this._isElUserEditable(r)&&this._copyViewToModel(o,r)},_unbindModelToView:function(){this._model&&(this._model.off("change",this._onModelChange),this._model=void 0)},_bindViewToModel:function(){t.each(this._options.changeTriggers,function(t,i){e(this._rootEl).on(t,i,this._onElChanged)},this),this._options.initialCopyDirection===i.ModelBinder.Constants.ViewToModel&&this.copyViewValuesToModel()},_unbindViewToModel:function(){this._options&&this._options.changeTriggers&&t.each(this._options.changeTriggers,function(t,i){e(this._rootEl).off(t,i,this._onElChanged)},this)},_onElChanged:function(t){var i,n,o,s;for(i=e(t.target)[0],n=this._getElBindings(i),o=0;o<n.length;o++)s=n[o],this._isBindingUserEditable(s)&&this._copyViewToModel(s,i)},_isBindingUserEditable:function(t){return void 0===t.elAttribute||"text"===t.elAttribute||"html"===t.elAttribute},_isElUserEditable:function(t){var e=t.attr("contenteditable");return e||t.is("input")||t.is("select")||t.is("textarea")},_isBindingRadioGroup:function(t){var i,n,o=t.boundEls.length>0;for(i=0;i<t.boundEls.length;i++)if(n=e(t.boundEls[i]),"radio"!==n.attr("type")){o=!1;break}return o},_getRadioButtonGroupCheckedEl:function(t){var i,n;for(i=0;i<t.boundEls.length;i++)if(n=e(t.boundEls[i]),"radio"===n.attr("type")&&n.prop("checked"))return n;return void 0},_getElBindings:function(t){var e,i,n,o,s,r,d=[];for(e in this._attributeBindings)for(i=this._attributeBindings[e],n=0;n<i.elementBindings.length;n++)for(o=i.elementBindings[n],s=0;s<o.boundEls.length;s++)r=o.boundEls[s],r===t&&d.push(o);return d},_onModelChange:function(){var t,e;for(t in this._model.changedAttributes())e=this._attributeBindings[t],e&&this._copyModelToView(e)},_copyModelToView:function(t){var n,o,s,r,d,l;for(d=this._model.get(t.attributeName),n=0;n<t.elementBindings.length;n++)for(o=t.elementBindings[n],s=0;s<o.boundEls.length;s++)r=o.boundEls[s],r._isSetting||(l=this._getConvertedValue(i.ModelBinder.Constants.ModelToView,o,d),this._setEl(e(r),o,l))},_setEl:function(t,e,i){e.elAttribute?this._setElAttribute(t,e,i):this._setElValue(t,i)},_setElAttribute:function(e,n,o){switch(n.elAttribute){case"html":e.html(o);break;case"text":e.text(o);break;case"enabled":e.prop("disabled",!o);break;case"displayed":e[o?"show":"hide"]();break;case"hidden":e[o?"hide":"show"]();break;case"css":e.css(n.cssAttribute,o);break;case"class":var s=this._model.previous(n.attributeBinding.attributeName),r=this._model.get(n.attributeBinding.attributeName);t.isUndefined(s)&&t.isUndefined(r)||(s=this._getConvertedValue(i.ModelBinder.Constants.ModelToView,n,s),e.removeClass(s)),o&&e.addClass(o);break;default:e.attr(n.elAttribute,o)}},_setElValue:function(t,e){if(t.attr("type"))switch(t.attr("type")){case"radio":t.prop("checked",t.val()===e);break;case"checkbox":t.prop("checked",!!e);break;case"file":break;default:t.val(e)}else t.is("input")||t.is("select")||t.is("textarea")?t.val(e||(0===e?"0":"")):t.text(e||(0===e?"0":""))},_copyViewToModel:function(t,n){var o,s,r;n._isSetting||(n._isSetting=!0,o=this._setModel(t,e(n)),n._isSetting=!1,o&&t.converter&&(s=this._model.get(t.attributeBinding.attributeName),r=this._getConvertedValue(i.ModelBinder.Constants.ModelToView,t,s),this._setEl(e(n),t,r)))},_getElValue:function(t,e){switch(e.attr("type")){case"checkbox":return e.prop("checked")?!0:!1;default:return void 0!==e.attr("contenteditable")?e.html():e.val()}},_setModel:function(t,e){var n={},o=this._getElValue(t,e);return o=this._getConvertedValue(i.ModelBinder.Constants.ViewToModel,t,o),n[t.attributeBinding.attributeName]=o,this._model.set(n,this._options.modelSetOptions)},_getConvertedValue:function(t,e,i){return e.converter?i=e.converter(t,i,e.attributeBinding.attributeName,this._model,e.boundEls):this._options.converter&&(i=this._options.converter(t,i,e.attributeBinding.attributeName,this._model,e.boundEls)),i},_throwException:function(t){if(!this._options.suppressThrows)throw t;"undefined"!=typeof console&&console.error&&console.error(t)}}),i.ModelBinder.CollectionConverter=function(e){if(this._collection=e,!this._collection)throw"Collection must be defined";t.bindAll(this,"convert")},t.extend(i.ModelBinder.CollectionConverter.prototype,{convert:function(t,e){return t===i.ModelBinder.Constants.ModelToView?e?e.id:void 0:this._collection.get(e)}}),i.ModelBinder.createDefaultBindings=function(t,i,n,o){var s,r,d,l,a={};for(s=e("["+i+"]",t),r=0;r<s.length;r++)if(d=s[r],l=e(d).attr(i),!a[l]){var u={selector:"["+i+'="'+l+'"]'};a[l]=u,n&&(a[l].converter=n),o&&(a[l].elAttribute=o)}return a},i.ModelBinder.combineBindings=function(e,i){return t.each(i,function(t,i){var n={selector:t.selector};t.converter&&(n.converter=t.converter),t.elAttribute&&(n.elAttribute=t.elAttribute),e[i]=e[i]?[e[i],n]:n}),e},i.ModelBinder});
|
1 |
+
// Backbone.ModelBinder v1.1.0
|
2 |
+
// (c) 2015 Bart Wood
|
3 |
+
// Distributed Under MIT License
|
4 |
+
|
5 |
!function(t){"function"==typeof define&&define.amd?define(["underscore","jquery","backbone"],t):"undefined"!=typeof module&&module.exports?module.exports=t(require("underscore"),require("jquery"),require("backbone")):t(_,jQuery,Backbone)}(function(t,e,i){if(!i)throw"Please include Backbone.js before Backbone.ModelBinder.js";return i.ModelBinder=function(){t.bindAll.apply(t,[this].concat(t.functions(this)))},i.ModelBinder.SetOptions=function(t){i.ModelBinder.options=t},i.ModelBinder.VERSION="1.1.0",i.ModelBinder.Constants={},i.ModelBinder.Constants.ModelToView="ModelToView",i.ModelBinder.Constants.ViewToModel="ViewToModel",t.extend(i.ModelBinder.prototype,{bind:function(t,i,n,o){this.unbind(),this._model=t,this._rootEl=i,this._setOptions(o),this._model||this._throwException("model must be specified"),this._rootEl||this._throwException("rootEl must be specified"),n?(this._attributeBindings=e.extend(!0,{},n),this._initializeAttributeBindings(),this._initializeElBindings()):this._initializeDefaultBindings(),this._bindModelToView(),this._bindViewToModel()},bindCustomTriggers:function(t,e,i,n,o){this._triggers=i,this.bind(t,e,n,o)},unbind:function(){this._unbindModelToView(),this._unbindViewToModel(),this._attributeBindings&&(delete this._attributeBindings,this._attributeBindings=void 0)},_setOptions:function(e){this._options=t.extend({boundAttribute:"name"},i.ModelBinder.options,e),this._options.modelSetOptions||(this._options.modelSetOptions={}),this._options.modelSetOptions.changeSource="ModelBinder",this._options.changeTriggers||(this._options.changeTriggers={"":"change","[contenteditable]":"blur"}),this._options.initialCopyDirection||(this._options.initialCopyDirection=i.ModelBinder.Constants.ModelToView)},_initializeAttributeBindings:function(){var e,i,n,o,s;for(e in this._attributeBindings){for(i=this._attributeBindings[e],t.isString(i)?n={elementBindings:[{selector:i}]}:t.isArray(i)?n={elementBindings:i}:t.isObject(i)?n={elementBindings:[i]}:this._throwException("Unsupported type passed to Model Binder "+n),o=0;o<n.elementBindings.length;o++)s=n.elementBindings[o],s.attributeBinding=n;n.attributeName=e,this._attributeBindings[e]=n}},_initializeDefaultBindings:function(){var t,i,n,o,s;for(this._attributeBindings={},i=e("["+this._options.boundAttribute+"]",this._rootEl),t=0;t<i.length;t++)n=i[t],o=e(n).attr(this._options.boundAttribute),this._attributeBindings[o]?this._attributeBindings[o].elementBindings.push({attributeBinding:this._attributeBindings[o],boundEls:[n]}):(s={attributeName:o},s.elementBindings=[{attributeBinding:s,boundEls:[n]}],this._attributeBindings[o]=s)},_initializeElBindings:function(){var t,i,n,o,s,r,d;for(t in this._attributeBindings)for(i=this._attributeBindings[t],n=0;n<i.elementBindings.length;n++)if(o=i.elementBindings[n],s=""===o.selector?e(this._rootEl):e(o.selector,this._rootEl),0===s.length)this._throwException("Bad binding found. No elements returned for binding selector "+o.selector);else for(o.boundEls=[],r=0;r<s.length;r++)d=s[r],o.boundEls.push(d)},_bindModelToView:function(){this._model.on("change",this._onModelChange,this),this._options.initialCopyDirection===i.ModelBinder.Constants.ModelToView&&this.copyModelAttributesToView()},copyModelAttributesToView:function(e){var i,n;for(i in this._attributeBindings)(void 0===e||-1!==t.indexOf(e,i))&&(n=this._attributeBindings[i],this._copyModelToView(n))},copyViewValuesToModel:function(){var t,i,n,o,s,r;for(t in this._attributeBindings)for(i=this._attributeBindings[t],n=0;n<i.elementBindings.length;n++)if(o=i.elementBindings[n],this._isBindingUserEditable(o))if(this._isBindingRadioGroup(o))r=this._getRadioButtonGroupCheckedEl(o),r&&this._copyViewToModel(o,r);else for(s=0;s<o.boundEls.length;s++)r=e(o.boundEls[s]),this._isElUserEditable(r)&&this._copyViewToModel(o,r)},_unbindModelToView:function(){this._model&&(this._model.off("change",this._onModelChange),this._model=void 0)},_bindViewToModel:function(){t.each(this._options.changeTriggers,function(t,i){e(this._rootEl).on(t,i,this._onElChanged)},this),this._options.initialCopyDirection===i.ModelBinder.Constants.ViewToModel&&this.copyViewValuesToModel()},_unbindViewToModel:function(){this._options&&this._options.changeTriggers&&t.each(this._options.changeTriggers,function(t,i){e(this._rootEl).off(t,i,this._onElChanged)},this)},_onElChanged:function(t){var i,n,o,s;for(i=e(t.target)[0],n=this._getElBindings(i),o=0;o<n.length;o++)s=n[o],this._isBindingUserEditable(s)&&this._copyViewToModel(s,i)},_isBindingUserEditable:function(t){return void 0===t.elAttribute||"text"===t.elAttribute||"html"===t.elAttribute},_isElUserEditable:function(t){var e=t.attr("contenteditable");return e||t.is("input")||t.is("select")||t.is("textarea")},_isBindingRadioGroup:function(t){var i,n,o=t.boundEls.length>0;for(i=0;i<t.boundEls.length;i++)if(n=e(t.boundEls[i]),"radio"!==n.attr("type")){o=!1;break}return o},_getRadioButtonGroupCheckedEl:function(t){var i,n;for(i=0;i<t.boundEls.length;i++)if(n=e(t.boundEls[i]),"radio"===n.attr("type")&&n.prop("checked"))return n;return void 0},_getElBindings:function(t){var e,i,n,o,s,r,d=[];for(e in this._attributeBindings)for(i=this._attributeBindings[e],n=0;n<i.elementBindings.length;n++)for(o=i.elementBindings[n],s=0;s<o.boundEls.length;s++)r=o.boundEls[s],r===t&&d.push(o);return d},_onModelChange:function(){var t,e;for(t in this._model.changedAttributes())e=this._attributeBindings[t],e&&this._copyModelToView(e)},_copyModelToView:function(t){var n,o,s,r,d,l;for(d=this._model.get(t.attributeName),n=0;n<t.elementBindings.length;n++)for(o=t.elementBindings[n],s=0;s<o.boundEls.length;s++)r=o.boundEls[s],r._isSetting||(l=this._getConvertedValue(i.ModelBinder.Constants.ModelToView,o,d),this._setEl(e(r),o,l))},_setEl:function(t,e,i){e.elAttribute?this._setElAttribute(t,e,i):this._setElValue(t,i)},_setElAttribute:function(e,n,o){switch(n.elAttribute){case"html":e.html(o);break;case"text":e.text(o);break;case"enabled":e.prop("disabled",!o);break;case"displayed":e[o?"show":"hide"]();break;case"hidden":e[o?"hide":"show"]();break;case"css":e.css(n.cssAttribute,o);break;case"class":var s=this._model.previous(n.attributeBinding.attributeName),r=this._model.get(n.attributeBinding.attributeName);t.isUndefined(s)&&t.isUndefined(r)||(s=this._getConvertedValue(i.ModelBinder.Constants.ModelToView,n,s),e.removeClass(s)),o&&e.addClass(o);break;default:e.attr(n.elAttribute,o)}},_setElValue:function(t,e){if(t.attr("type"))switch(t.attr("type")){case"radio":t.prop("checked",t.val()===e);break;case"checkbox":t.prop("checked",!!e);break;case"file":break;default:t.val(e)}else t.is("input")||t.is("select")||t.is("textarea")?t.val(e||(0===e?"0":"")):t.text(e||(0===e?"0":""))},_copyViewToModel:function(t,n){var o,s,r;n._isSetting||(n._isSetting=!0,o=this._setModel(t,e(n)),n._isSetting=!1,o&&t.converter&&(s=this._model.get(t.attributeBinding.attributeName),r=this._getConvertedValue(i.ModelBinder.Constants.ModelToView,t,s),this._setEl(e(n),t,r)))},_getElValue:function(t,e){switch(e.attr("type")){case"checkbox":return e.prop("checked")?!0:!1;default:return void 0!==e.attr("contenteditable")?e.html():e.val()}},_setModel:function(t,e){var n={},o=this._getElValue(t,e);return o=this._getConvertedValue(i.ModelBinder.Constants.ViewToModel,t,o),n[t.attributeBinding.attributeName]=o,this._model.set(n,this._options.modelSetOptions)},_getConvertedValue:function(t,e,i){return e.converter?i=e.converter(t,i,e.attributeBinding.attributeName,this._model,e.boundEls):this._options.converter&&(i=this._options.converter(t,i,e.attributeBinding.attributeName,this._model,e.boundEls)),i},_throwException:function(t){if(!this._options.suppressThrows)throw t;"undefined"!=typeof console&&console.error&&console.error(t)}}),i.ModelBinder.CollectionConverter=function(e){if(this._collection=e,!this._collection)throw"Collection must be defined";t.bindAll(this,"convert")},t.extend(i.ModelBinder.CollectionConverter.prototype,{convert:function(t,e){return t===i.ModelBinder.Constants.ModelToView?e?e.id:void 0:this._collection.get(e)}}),i.ModelBinder.createDefaultBindings=function(t,i,n,o){var s,r,d,l,a={};for(s=e("["+i+"]",t),r=0;r<s.length;r++)if(d=s[r],l=e(d).attr(i),!a[l]){var u={selector:"["+i+'="'+l+'"]'};a[l]=u,n&&(a[l].converter=n),o&&(a[l].elAttribute=o)}return a},i.ModelBinder.combineBindings=function(e,i){return t.each(i,function(t,i){var n={selector:t.selector};t.converter&&(n.converter=t.converter),t.elAttribute&&(n.elAttribute=t.elAttribute),e[i]=e[i]?[e[i],n]:n}),e},i.ModelBinder});
|
bower_components/backbone.modelbinder/README.md
CHANGED
@@ -1,875 +1,875 @@
|
|
1 |
-
Special thanks to [Derick Bailey](http://lostechies.com/derickbailey) for creating predecessor to this plugin.
|
2 |
-
I've been able to reuse unit tests he created for his [Backbone.ModelBinding](https://github.com/derickbailey/backbone.modelbinding) plugin.
|
3 |
-
|
4 |
-
|
5 |
-
### Rationale
|
6 |
-
Backbone is a great platform for writing client side applications but I've found that as views grow in complexity, synchronizing my models and views can be a pain.
|
7 |
-
I've spent the past few months trying to use existing view-model binding libraries that others were kind enough to create and share with the world.
|
8 |
-
Unfortunately in the majority of my backbone application I wasn't able to leverage the existing view-model binding libraries due to various limitations.
|
9 |
-
|
10 |
-
I created a new `Backbone.ModelBinder` class that I have leveraged in the majority of a large client side application.
|
11 |
-
The ModelBinder class helped me remove a lot of cluttered boilerplate code that existed to synchronize my models and views.
|
12 |
-
As my application became more asynchronous, the ModelBinder saves me from a lot of pain by automatically displaying model attributes in the view as they are asynchronously loaded.
|
13 |
-
Hopefully you'll find the ModelBinder useful too.
|
14 |
-
|
15 |
-
The `Backbone.ModelBinder` class:
|
16 |
-
|
17 |
-
* Is as simple as possible yet still flexible and powerful
|
18 |
-
* Leverages the exact same jQuery syntax that the Backbone.View event blocks use
|
19 |
-
* Allows you to define type formatting and type conversion in your bindings
|
20 |
-
* Provides a simple javascript only solution rather than mixing binding syntax in html templates and javascript files. I personally find mixing binding logic in my html files to be messy and confusing.
|
21 |
-
|
22 |
-
<br>
|
23 |
-
You can use this ModelBinder class to bind backbone model attributes to:
|
24 |
-
|
25 |
-
* Read-only html elements such as `<span>`, `<div>` etc.
|
26 |
-
* Html element attributes such as enabled, displayed, style etc.
|
27 |
-
* Editable form elements such as `<input>`, `<textarea>` etc. This type of binding is bidirectional between the html elements and the Model's attributes.
|
28 |
-
|
29 |
-
<br>
|
30 |
-
###The ModelBinder is more efficient###
|
31 |
-
It seems like many of the backbone view examples I've seen register for the model's change event and then re-render the entire view like the example shown below.
|
32 |
-
|
33 |
-
````
|
34 |
-
SomeView = Backbone.View.extend({
|
35 |
-
initialize: function(){
|
36 |
-
this.model.on('change', this.render, this);
|
37 |
-
},
|
38 |
-
|
39 |
-
render: function() {
|
40 |
-
this.$el.html(this.template(this.model.toJSON()));
|
41 |
-
return this;
|
42 |
-
}
|
43 |
-
});
|
44 |
-
````
|
45 |
-
If the model changes frequently the above type of code will be wasteful because so many DOM elements are just thrown away. Converting the model to json is also an unnecessary conversion.
|
46 |
-
|
47 |
-
The ModelBinder eliminates these ineffeciencies by listening for model changes like the above code. But it doesn't recreate the entire set of DOM elements. Instead, it will change the content of existing DOM elements.
|
48 |
-
|
49 |
-
|
50 |
-
<br>
|
51 |
-
## Prerequisites
|
52 |
-
|
53 |
-
* Backbone.js v1.0.0 or higher
|
54 |
-
* Underscore.js v1.4.4 or higher
|
55 |
-
* jQuery v1.8.3 or higher
|
56 |
-
|
57 |
-
|
58 |
-
<br>
|
59 |
-
### Availability
|
60 |
-
You can download the zip/tarball as normal and include it with your other JS assets, but you can now alternatively link to it on [CDNJS](http://www.cdnjs.com/), the free to use, community maintained CDN.
|
61 |
-
|
62 |
-
To do this, just drop a reference to the minified version of the plugin into your document's `<head>` as follows, replacing the version number with whatever the latest one is:
|
63 |
-
````
|
64 |
-
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/backbone.modelbinder/1.0.4/Backbone.ModelBinder.min.js"></script>
|
65 |
-
````
|
66 |
-
|
67 |
-
|
68 |
-
<br>
|
69 |
-
##Defining Binding Scope with jQuery##
|
70 |
-
|
71 |
-
One of the most powerful capabilities of the ModelBinder class is that it allows you to define scope when you create your bindings using jQuery.
|
72 |
-
|
73 |
-
* If your views are simple (no nested Views etc.) you can rely on default scoping rules that are based off of the html `name` attribute.
|
74 |
-
* If your views are more complex you can explicitly define scoping rules with jQuery selectors. Scoping will allow you to handle nested views or have the ModelBinder only manage parts of your Views and your own custom code can handle the more complicated problems.
|
75 |
-
|
76 |
-
Both scoping mechanisms will be discussed throughout the rest of this document.
|
77 |
-
|
78 |
-
***
|
79 |
-
|
80 |
-
##Basic ModelBinder functionality##
|
81 |
-
|
82 |
-
The `ModelBinder` class contains all of the logic to facilitate bi-directional view-model binding.
|
83 |
-
|
84 |
-
The ModelBinder class exposes 3 public functions shown below:
|
85 |
-
|
86 |
-
```javascript
|
87 |
-
// no arguments passed to the constructor
|
88 |
-
constructor();
|
89 |
-
|
90 |
-
// model is required, it is the backbone Model you're binding to
|
91 |
-
// rootEl is required, is the root html element containing the elements you want to bind to
|
92 |
-
// bindings is optional, it's discussed a bit later
|
93 |
-
// options, discussed at the bottom of the document
|
94 |
-
bind(model, rootEl, bindings, options);
|
95 |
-
|
96 |
-
// unbinds the Model with the elements found under rootEl - defined when calling bind()
|
97 |
-
unbind();
|
98 |
-
```
|
99 |
-
|
100 |
-
<br>
|
101 |
-
The `bind()` function's 3rd argument `bindings` is optional. The `bindings` arg is useful for defining binding scope and formatting and will be discussed later.
|
102 |
-
If `bindings` is not defined, then `bind()` will locate all of the child elements under the rootEl that define a `name` attribute.
|
103 |
-
Each of the elements with a `name` attribute will be bound to the model's attributes - the value of the element's name attribute will be used as the model's attribute name.
|
104 |
-
|
105 |
-
In the example below, the model's address attribute will be bound to the input text field with the name of 'address'. This binding is bi-directional between the view and the model.
|
106 |
-
|
107 |
-
````
|
108 |
-
<!-- The html -->
|
109 |
-
<input type="text" name="address"/>
|
110 |
-
````
|
111 |
-
|
112 |
-
````
|
113 |
-
<!-- The javascript -->
|
114 |
-
SomeView = Backbone.View.extend({
|
115 |
-
render: function(){
|
116 |
-
this.modelBinder.bind(this.model, this.el);
|
117 |
-
}
|
118 |
-
});
|
119 |
-
````
|
120 |
-
|
121 |
-
<br>
|
122 |
-
## Binding after elements created, rootEl ##
|
123 |
-
|
124 |
-
The bind() functions `rootEl` parameter should contain all of the elements that you want to bind to.
|
125 |
-
Your rootEl might be the view.el property or it could be any valid html element. It does not matter if the rootEl is displayed in a browser.
|
126 |
-
|
127 |
-
The example below shows how the rootEl argument is the result of the jQuery selection "#outerDiv". This will work just like the previous example.
|
128 |
-
|
129 |
-
````
|
130 |
-
<!-- The html -->
|
131 |
-
<div id="outerDiv">
|
132 |
-
<input type="text" name="address"/>
|
133 |
-
</div>
|
134 |
-
````
|
135 |
-
|
136 |
-
````
|
137 |
-
<!-- The javascript -->
|
138 |
-
SomeView = Backbone.View.extend({
|
139 |
-
render: function(){
|
140 |
-
this.modelBinder.bind(this.model, this.$('#outerDiv'));
|
141 |
-
}
|
142 |
-
});
|
143 |
-
````
|
144 |
-
|
145 |
-
<br>
|
146 |
-
## Elements are recursively bound ##
|
147 |
-
|
148 |
-
If you do not pass the `bindings` 3rd parameter to the bind() function, <b>all</b> child elements under the rootEl with a "name" attribute are bound.
|
149 |
-
This includes any nested child elements that define the "name" attribute.
|
150 |
-
|
151 |
-
In the example below, the "address" and the "city" elements will be bound to the model.
|
152 |
-
|
153 |
-
````
|
154 |
-
<!-- The html -->
|
155 |
-
<div id="outerDiv">
|
156 |
-
<input type="text" name="address"/>
|
157 |
-
<div id="divTwo">
|
158 |
-
<input type="text" name="city"/>
|
159 |
-
</div>
|
160 |
-
</div>
|
161 |
-
````
|
162 |
-
|
163 |
-
````
|
164 |
-
<!-- The javascript -->
|
165 |
-
SomeView = Backbone.View.extend({
|
166 |
-
render: function(){
|
167 |
-
this.modelBinder.bind(this.model, this.el);
|
168 |
-
}
|
169 |
-
});
|
170 |
-
````
|
171 |
-
|
172 |
-
|
173 |
-
<br>
|
174 |
-
## Binding multiple html elements to the same model attribute ##
|
175 |
-
|
176 |
-
In the example below, the `<span>` and the `<input>` elements are both bound to the model.firstName attribute.
|
177 |
-
If you modified the firstName input element you would see the span automatically updated because the Model would have been updated.
|
178 |
-
|
179 |
-
````
|
180 |
-
<!-- The html -->
|
181 |
-
Welcome, <span name="firstName"></span>
|
182 |
-
|
183 |
-
Edit your information:
|
184 |
-
<input type="text" name="firstName"/>
|
185 |
-
````
|
186 |
-
|
187 |
-
````
|
188 |
-
<!-- The javascript -->
|
189 |
-
SomeView = Backbone.View.extend({
|
190 |
-
render: function(){
|
191 |
-
this.modelBinder.bind(this.model, this.el);
|
192 |
-
}
|
193 |
-
});
|
194 |
-
````
|
195 |
-
|
196 |
-
<br>
|
197 |
-
If your View element definitions are simple you can rely on having properly defined "name" attributes in your html elements that match your Model attribute names.
|
198 |
-
Remember that **all** of the rootEl's child elements (recursive) with a "name" attribute will be bound to your Model.
|
199 |
-
|
200 |
-
If your views require formatting, conversion or more scoping due to nested or complex views you'll need to define a `bindings` parameter to the `bind()` function as discussed in the next section.
|
201 |
-
|
202 |
-
|
203 |
-
***
|
204 |
-
|
205 |
-
##The bindings parameter to the bind() function##
|
206 |
-
|
207 |
-
For more complicated things like formatting or defining scope for composite or nested Views you'll need to define a `bindings` parameter - the optional 3rd parameter to the `bind()` function.
|
208 |
-
The bindings parameter is a javascript hash object.
|
209 |
-
|
210 |
-
The bindings hash keys are the model's attribute names and the values, in the simplest case, are jQuery selectors that must return at least 1 html element.
|
211 |
-
|
212 |
-
The example below binds model.address to the element with the id="address":
|
213 |
-
|
214 |
-
````
|
215 |
-
<input type='text' id='address'/>
|
216 |
-
|
217 |
-
var bindings = {address: '#address'};
|
218 |
-
modelBinder.bind(this.model, this.el, bindings);
|
219 |
-
````
|
220 |
-
|
221 |
-
The example below binds model.homeAddress to the element with name="homeAddress" and model.workAddress to the element with name="workAddress":
|
222 |
-
|
223 |
-
````
|
224 |
-
<input type="text" name="homeAddress"/>
|
225 |
-
<input type="text" name="workAddress "/>
|
226 |
-
|
227 |
-
var bindings = {homeAddress: '[name=homeAddress]', workAddress : '[name=workAddress ]'};
|
228 |
-
modelBinder.bind(this.model, this.el, bindings);
|
229 |
-
````
|
230 |
-
|
231 |
-
The example below binds model.city to `<input type="text" id="city"/>`:
|
232 |
-
|
233 |
-
````
|
234 |
-
var bindings = {city: '#city'};
|
235 |
-
modelBinder.bind(this.model, this.el, bindings);
|
236 |
-
````
|
237 |
-
|
238 |
-
You can use any jQuery selector that you like, as long as the selector returns at least a single element.
|
239 |
-
In the example below, both the `<span>` and the `<input>` elements are bound to the model.firstName attribute.
|
240 |
-
In this situation, you could also eliminate the bindings and get the same behavior.
|
241 |
-
|
242 |
-
````
|
243 |
-
<!-- The html -->
|
244 |
-
Welcome, <span name="firstName"></span>
|
245 |
-
|
246 |
-
Edit your information:
|
247 |
-
<input type="text" name="firstName"/>
|
248 |
-
````
|
249 |
-
|
250 |
-
````
|
251 |
-
<!-- The javascript -->
|
252 |
-
var bindings = {firstName: '[name=firstName]'};
|
253 |
-
modelBinder.bind(this.model, this.el, bindings);
|
254 |
-
````
|
255 |
-
|
256 |
-
<br>
|
257 |
-
Here are a few more examples of the bindings hash syntax.
|
258 |
-
|
259 |
-
````
|
260 |
-
Html bindings entry
|
261 |
-
-----------------------------------------------------------------------------------------------
|
262 |
-
<input type="text" id="firstName"/> firstName: '#firstName'
|
263 |
-
|
264 |
-
<input type="text" name="firstName"/> firstName: '[name=firstName]'
|
265 |
-
|
266 |
-
<select name="operatorSelectEl"> operator: '[name=operatorSelectEl]'
|
267 |
-
<option value="1">Dan</option>
|
268 |
-
<option value="2">Eli</option>
|
269 |
-
<option value="3">Frank</option>
|
270 |
-
</select>
|
271 |
-
|
272 |
-
<input type="radio" name="isOk" value="yes"> isOk: '[name=isOk]'
|
273 |
-
|
274 |
-
<input type="text" class="myTestClass" myTestAttribute: '[class~=myTestClass]'
|
275 |
-
name="address"/>
|
276 |
-
````
|
277 |
-
|
278 |
-
<br>
|
279 |
-
## You can define multiple jQuery selectors ##
|
280 |
-
|
281 |
-
The binding entries can be defined as strings as shown in all previous examples but internally the string is converted to the type of entry shown below.
|
282 |
-
|
283 |
-
````
|
284 |
-
firstName: {selector: '#firstName'}
|
285 |
-
````
|
286 |
-
|
287 |
-
The jQuery string is a hash parameter named `selector`.
|
288 |
-
You can define arrays of `selector` arguments in your bindings as shown in the example below.
|
289 |
-
|
290 |
-
````
|
291 |
-
firstName: [{selector: '#firstName'}, {selector: '#title'}]
|
292 |
-
````
|
293 |
-
|
294 |
-
In the example above, model.firstName is bound to an element with the id of "firstName" and an element with the id of "title".
|
295 |
-
To define multiple selectors, just define them as an array.
|
296 |
-
|
297 |
-
The jQuery bindings leverage the jQuery delegate mechanism - which means they should be fairly efficient.
|
298 |
-
|
299 |
-
##Binding to the Root Element##
|
300 |
-
|
301 |
-
Sometimes, in rare cases, your views are so simple that you just want to bind
|
302 |
-
to the root element itself. For example, if your view is an `<li>` tag, it
|
303 |
-
makes sense to have the inner HTML simply be the appropriate model value.
|
304 |
-
|
305 |
-
In those cases, simply use an empty string as your selector:
|
306 |
-
|
307 |
-
````
|
308 |
-
firstName: { selector: '' }
|
309 |
-
````
|
310 |
-
|
311 |
-
<br>
|
312 |
-
***
|
313 |
-
|
314 |
-
##Formatting and converting values##
|
315 |
-
|
316 |
-
The bindings can also define a `converter` parameter.
|
317 |
-
A converter is simply a function that is called whenever a model's attribute is copied to an html element or when an html elements value is copied into a model's attribute.
|
318 |
-
|
319 |
-
Converters help you format values in your views but help keep them clean in your models.
|
320 |
-
|
321 |
-
A simple of example of using a converter to format a phone number is shown below.
|
322 |
-
|
323 |
-
````
|
324 |
-
var phoneConverter = function(direction, value){
|
325 |
-
// direction is either ModelToView or ViewToModel
|
326 |
-
// Return either a formatted value for the view or an un-formatted value for the model
|
327 |
-
};
|
328 |
-
|
329 |
-
var bindings = {phoneNumber: {selector: '[name=phoneNumber]', converter: phoneConverter}}
|
330 |
-
modelBinder.bind(this.model, this.el, bindings );
|
331 |
-
````
|
332 |
-
|
333 |
-
<br>
|
334 |
-
A converter function is passed 4 parameters.
|
335 |
-
|
336 |
-
* direction - either ModelToView or ViewToModel
|
337 |
-
* value - the model's attribute value or the view element's value
|
338 |
-
* attribute Name
|
339 |
-
* model - this is more useful when you're dealing with calculated attributes
|
340 |
-
* els - an array of the els that were bound to the converter
|
341 |
-
|
342 |
-
If your binding to a read-only element like a `<div>` you'll just ignore the direction parameter - it's always ModelToView.
|
343 |
-
In most cases, you'll be able to ignore the attribute name and model parameters but they can be helpful in some situations discussed later.
|
344 |
-
|
345 |
-
The Model parameter can be quite helpful in complicated situations.
|
346 |
-
The els array allows a developer to manually modify the els directly when a converter is invoked.
|
347 |
-
Be very careful when accessing the els directly because any state you set into the els might be overwritten by the ModelBinder after the converter is finished.
|
348 |
-
For example, if a converter is called with the direction 'ModelToView' and inside the converter the code updates the el values directly those values will be overwritten with the value returned from the converter function.
|
349 |
-
The els array is more valuable if you need to set other properties etc. on the els. In most situations you should not need the els parameter.
|
350 |
-
|
351 |
-
|
352 |
-
<br>
|
353 |
-
Converters can be used for simple formatting operations like phone numbers but they can also be used for more advanced situations like when you want to convert between a model and some description of the model.
|
354 |
-
You might want to display a list of models in a `<select>` element - a converter could allow you to convert between a model and a model's id making this type of binding easy to do.
|
355 |
-
|
356 |
-
The example below shows how this could work. The `CollectionConverter` shown is defined in the ModelBinder.js file.
|
357 |
-
|
358 |
-
````
|
359 |
-
<!-- The html -->
|
360 |
-
<select name="nestedModel">
|
361 |
-
<option value="">Please Select Something</option>
|
362 |
-
<% _.each(nestedModelChoices, function (modelChoice) { %>
|
363 |
-
<option value="<%= modelChoice.id %>"><%= modelChoice.description %></option>
|
364 |
-
<% }); %>
|
365 |
-
</select>
|
366 |
-
````
|
367 |
-
|
368 |
-
````
|
369 |
-
<!-- The javascript -->
|
370 |
-
SomeView = Backbone.View.extend({
|
371 |
-
render: function(){
|
372 |
-
// An example of what might be passed to the template function
|
373 |
-
var nestedModelChoices = [{id: 1, description: 'This is One'}, {id: 2, description: 'This is Two'}];
|
374 |
-
|
375 |
-
$(this.el).html(this.template({nestedModelChoices: nestedModelChoices}));
|
376 |
-
|
377 |
-
var binder = new Backbone.ModelBinder();
|
378 |
-
|
379 |
-
var bindingsHash = {nestedModel: { selector: '[name=nestedModel]',
|
380 |
-
converter: new Backbone.ModelBinder.CollectionConverter(nestedModelChoices).convert} };
|
381 |
-
|
382 |
-
binder.bind(this.model, this.el, bindingsHash);
|
383 |
-
````
|
384 |
-
|
385 |
-
<br>
|
386 |
-
## Converters can display calculated attributes ##
|
387 |
-
|
388 |
-
Sometimes your models will have computed attributes.
|
389 |
-
You could cache computed values inside a model's attribute collection and it would be bound like any other attribute.
|
390 |
-
I favor this solution but it's not perfect because when you save models back to the server, the calculated attributes are sent.
|
391 |
-
|
392 |
-
If your model's computed attribute is calculated via a function we can use a converter for the binding.
|
393 |
-
In the example below, we have a simple computed attribute named hoursLeft calculated by the function calculateHoursLeft().
|
394 |
-
|
395 |
-
````
|
396 |
-
SomeModel = Backbone.Model.extend({
|
397 |
-
defaults: {currentHours: 3, totalHours: 8},
|
398 |
-
|
399 |
-
calculateHoursLeft: function(){
|
400 |
-
return this.get('totalHours') - this.get('currentHours');
|
401 |
-
}
|
402 |
-
})
|
403 |
-
|
404 |
-
// Here is how how we could create a binding for a calculated attribute
|
405 |
-
var bindings = {currentHours: {selector: '[name=hoursLeft]', converter: this.model.calculateHoursLeft}};
|
406 |
-
modelBinder.bind(this.model, this.el, bindings);
|
407 |
-
````
|
408 |
-
|
409 |
-
In the example above, we are binding to the model's attribute 'currentHours' because when currentHours changes the hoursLeft calculated value will change - the converter will be invoked at that time.
|
410 |
-
The converter is simply the model's calculateHoursLeft() function. The function just ignores the parameters passed to it and calculates the hours left.
|
411 |
-
|
412 |
-
<br>
|
413 |
-
If the currentHours attribute is also bound to another html element you could specify an array of element bindings in the binding definition like the example shown below.
|
414 |
-
|
415 |
-
````
|
416 |
-
var bindings = {currentHours: [ {selector: '[name=hoursLeft]', converter: this.model.calculateHoursLeft},
|
417 |
-
{selector: '[name=currentHours]']};
|
418 |
-
modelBinder.bind(this.model, this.el, bindings);
|
419 |
-
````
|
420 |
-
|
421 |
-
If converters need any other special logic they can be defined in another function outside of the Model because the converter function is passed the Model as a parameter.
|
422 |
-
|
423 |
-
|
424 |
-
|
425 |
-
<br>
|
426 |
-
|
427 |
-
***
|
428 |
-
|
429 |
-
##Binding to html element attributes##
|
430 |
-
|
431 |
-
You can also define bindings to be bound to any html element's attribute like enabled, class, style or any other attribute you define.
|
432 |
-
The example below shows how to use the `elAttribute` option. In this example, the address element will be enabled depending on what the Model.isAddressEnabled attribute is.
|
433 |
-
|
434 |
-
````
|
435 |
-
var bindings = {isAddressEnabled: {selector: '[name=address]', elAttribute: 'enabled'}};
|
436 |
-
modelBinder.bind(this.model, this.el, bindings);
|
437 |
-
````
|
438 |
-
|
439 |
-
<br>
|
440 |
-
You could also extend the example above to be a bit more complicated. Let's pretend the Model has an attribute called customerType and if customerType == 'residential' we want the address to enabled, otherwise we want it disabled. We can handle this type of binding by leveraging both `converter` and `elAttribute`. The example below shows how this would work. When the Model.customerType is updated, the address input element's enabled attribute would be updated.
|
441 |
-
|
442 |
-
````
|
443 |
-
var addressEnabledConverter = function(direction, value) { return value === 'residential'; };
|
444 |
-
|
445 |
-
var bindings = {customerType: {selector: '[name=address]', elAttribute: 'enabled', converter: addressEnabledConverter}};
|
446 |
-
modelBinder.bind(this.model, this.el, bindings);
|
447 |
-
````
|
448 |
-
|
449 |
-
<br>
|
450 |
-
You could also bind to an element's class property as shown in the example below.
|
451 |
-
|
452 |
-
````
|
453 |
-
<!-- The html -->
|
454 |
-
<div id="patientPic" class="patientPic"></div>
|
455 |
-
````
|
456 |
-
|
457 |
-
````
|
458 |
-
<!-- The javascript -->
|
459 |
-
var bindings = {gender: {selector: '#patientPicture', elAttribute: 'class'}};
|
460 |
-
modelBinder.bind(this.model, this.el, bindings);
|
461 |
-
````
|
462 |
-
|
463 |
-
In this example, the model.gender value is either "M" or "F". The CSS files define styles for "patientPic" with either "M" or "F" to show the correct type of avatar.
|
464 |
-
|
465 |
-
|
466 |
-
<br>
|
467 |
-
|
468 |
-
***
|
469 |
-
|
470 |
-
##Proper scope helps you bind to complex nested views##
|
471 |
-
|
472 |
-
Sometimes you'll have nested models displayed in nested views.
|
473 |
-
An example of a nested backbone model is shown below. The personModel has a nested homeAddressModel.
|
474 |
-
|
475 |
-
````
|
476 |
-
var personModel = new Backbone.Model({firstName: 'Herman', lastName: 'Munster'});
|
477 |
-
var homeAddressModel = new Backbone.Model({street: '1313 Mockingbird Lane', city: 'Mockingbird Heights'});
|
478 |
-
|
479 |
-
personModel.set({homeAddress: homeAddressModel});
|
480 |
-
````
|
481 |
-
|
482 |
-
In the example above, the nested model is also a backbone.Model but sometimes your nested models are raw javascript objects. I'll talk about that situation a bit later.
|
483 |
-
|
484 |
-
You can bind to this type of nested backbone model fairly easily with the ModelBinder.
|
485 |
-
|
486 |
-
There are 2 basic ways to bind nested Models in a View:
|
487 |
-
|
488 |
-
1. With a scoped `rootEl` that only contains html elements specific to the nested Model.
|
489 |
-
2. With scoped bindings selectors in the bindings hash.
|
490 |
-
|
491 |
-
<br>
|
492 |
-
##Nested View option 1: A scoped `rootEl`##
|
493 |
-
|
494 |
-
If your nested view can be defined under a single parent element such as a `<div>` you can pass that parent element as the `rootEl` for your nested ModelBinder as shown in the example below.
|
495 |
-
It refers to the personModel and homeAddressModels defined in a previous code snippet.
|
496 |
-
|
497 |
-
````
|
498 |
-
<!-- html -->
|
499 |
-
<div id="personFields">
|
500 |
-
<input type="text" name="firstName"/>
|
501 |
-
<input type="text" name="lastName"/>
|
502 |
-
</div>
|
503 |
-
<div id="homeAddressFields">
|
504 |
-
<input type="text" name="street"/>
|
505 |
-
<input type="text" name="city"/>
|
506 |
-
</div>
|
507 |
-
````
|
508 |
-
|
509 |
-
````
|
510 |
-
<!-- javascript -->
|
511 |
-
personBinder.bind(this.personModel, this.$('#personFields'));
|
512 |
-
addressBinder.bind(this.personModel.get('homeAddress'), this.$('#homeAddressFields'));
|
513 |
-
````
|
514 |
-
|
515 |
-
In the example above, the nested homeAddressModel is bound to the correct fields because they are scoped by a single parent element.
|
516 |
-
The personModel bindings also needed to be separately scoped as well.
|
517 |
-
|
518 |
-
If the personModel fields were defined on a level that also included the homeAddressFields then the homeAddressFields would have appeared in the personModel.
|
519 |
-
The next option shows how to avoid that situation.
|
520 |
-
|
521 |
-
<br>
|
522 |
-
##Nested View option 2: scoped bindings##
|
523 |
-
|
524 |
-
If your parent and nested Model html elements cannot live under their own parent elements then you'll need to define the `bindings` with jQuery selectors that are properly scoped as shown in the example below.
|
525 |
-
|
526 |
-
````
|
527 |
-
<!-- Html -->
|
528 |
-
<input type="text" name="firstName"/>
|
529 |
-
<input type="text" name="lastName"/>
|
530 |
-
<input type="text" name="street"/>
|
531 |
-
<input type="text" name="city"/>
|
532 |
-
````
|
533 |
-
|
534 |
-
````
|
535 |
-
<!-- javascript -->
|
536 |
-
var personBindings = {firstName: '[name=firstName]', lastName: '[name=lastName]'};
|
537 |
-
personBinder.bind(this.personModel, this.el, personBindings);
|
538 |
-
|
539 |
-
var addressBindings = {street: '[name=street]', city: '[name=city]'};
|
540 |
-
addressBinder.bind(this.personModel.get('homeAddress'), this.el, addressBindings);
|
541 |
-
````
|
542 |
-
|
543 |
-
|
544 |
-
<br>
|
545 |
-
|
546 |
-
***
|
547 |
-
|
548 |
-
##The ModelBinder can be a partial solution##
|
549 |
-
|
550 |
-
In some situations, you might have very complex views where you only want some of your view's elements bound by the ModelBinder.
|
551 |
-
To limit the scope of which fields are bound, you just need to properly scope your bindings hash.
|
552 |
-
|
553 |
-
In the example below, the modelBinder will ignore the "phone" and "fax" elements.
|
554 |
-
|
555 |
-
````
|
556 |
-
<!-- Html -->
|
557 |
-
<input type="text" name="firstName"/>
|
558 |
-
<input type="text" name="lastName"/>
|
559 |
-
<input type="text" name="phone"/>
|
560 |
-
<input type="text" name="fax"/>
|
561 |
-
````
|
562 |
-
|
563 |
-
````
|
564 |
-
<!-- javascript -->
|
565 |
-
var personBindings = {firstName: '[name=firstName]', lastName: '[name=lastName]'};
|
566 |
-
modelBinder.bind(this.personModel, this.el, personBindings);
|
567 |
-
````
|
568 |
-
|
569 |
-
|
570 |
-
<br>
|
571 |
-
|
572 |
-
***
|
573 |
-
|
574 |
-
##Quickly create and modify bindings##
|
575 |
-
|
576 |
-
In some situations, you might have a large amount of elements that need to be bound but only a few of them need a converter or elAttribute defined.
|
577 |
-
You probably don't want to define all of the element bindings manually just to add a converter to a few of them.
|
578 |
-
The utility function Backbone.ModelBinder.createDefaultBindings can help you in this situation.
|
579 |
-
|
580 |
-
The Backbone.ModelBinder.createDefaultBindings( ) is shown below.
|
581 |
-
|
582 |
-
````
|
583 |
-
// A static helper function to create a default set of bindings that you can customize before calling the bind() function
|
584 |
-
// rootEl - where to find all of the bound elements
|
585 |
-
// attributeType - probably 'name' or 'id' in most cases
|
586 |
-
// converter(optional) - the default converter you want applied to all your bindings
|
587 |
-
// elAttribute(optional) - the default elAttribute you want applied to all your bindings
|
588 |
-
Backbone.ModelBinder.createDefaultBindings = function(rootEl, attributeType, converter, elAttribute){
|
589 |
-
...
|
590 |
-
}
|
591 |
-
````
|
592 |
-
|
593 |
-
You can use this function to gather all of the elements under the rootEl with a "name" or "id" attribute and quickly create all of the bindings and then modify those bindings.
|
594 |
-
You might want to delete one or more of the bindings, add converters or elAttributes to bindings etc.
|
595 |
-
Be careful when you use this with radio buttons - you might not get the proper selectors if you're not careful.
|
596 |
-
|
597 |
-
An example of how you might use createDefaultBindings( ) is shown below.
|
598 |
-
|
599 |
-
````
|
600 |
-
// The view has several form element with a name attribute that should be bound
|
601 |
-
// but one binding requires a converter and one of the bindings should be removed
|
602 |
-
var bindings = Backbone.ModelBinder.createDefaultBindings(this.el, 'name');
|
603 |
-
bindings['phone'].converter = this._phoneConverterFunction;
|
604 |
-
delete bindings['complicatedAttribute'];
|
605 |
-
|
606 |
-
this._modelBinder.bind(this.model, this.el, bindings);
|
607 |
-
````
|
608 |
-
|
609 |
-
###Change attribute used for binding###
|
610 |
-
|
611 |
-
By default, the `name` attribute of your elements is used to create bindings. Changing this can be accomplished easily in one of two ways. First, by using `createDefaultBindings`:
|
612 |
-
|
613 |
-
````
|
614 |
-
var bindings = Backbone.ModelBinder.createDefaultBindings(this.el, 'data-custom');
|
615 |
-
this._modelBinder.bind(this.model, this.el, bindings);
|
616 |
-
````
|
617 |
-
|
618 |
-
Alternatively, setting `boundAttribute` on the options hash given to bind can point it at any attribute.
|
619 |
-
|
620 |
-
````
|
621 |
-
// Set the default bindings based on the data-custom attribute rather than name.
|
622 |
-
this._modelBinder.bind(this.model, this.el, null, { boundAttribute: 'data-custom' });
|
623 |
-
````
|
624 |
-
|
625 |
-
<br>
|
626 |
-
|
627 |
-
***
|
628 |
-
|
629 |
-
<br>
|
630 |
-
|
631 |
-
## The Power of jQuery ##
|
632 |
-
Your jQuery selectors can be based off of a class attribute or anything else you'd like as shown in the example below.
|
633 |
-
|
634 |
-
````
|
635 |
-
<!-- html -->
|
636 |
-
<input type="text" class="partOne" name="address"/>
|
637 |
-
<input type="text" class="partOne" name="phone"/>
|
638 |
-
<input type="text" class="partOne" name="fax"/>
|
639 |
-
````
|
640 |
-
|
641 |
-
````
|
642 |
-
<!-- javascript -->
|
643 |
-
SomeView = Backbone.View.extend({
|
644 |
-
render: function(){
|
645 |
-
$(this.el).html(this.template({model: this.model.toJSON()}));
|
646 |
-
|
647 |
-
var bindingsHash = {isPartOneEnabled: {selector: '[class~=partOne]', elAttribute: 'enabled'}};
|
648 |
-
|
649 |
-
this.modelBinder.bind(this.model, this.el, bindingsHash);
|
650 |
-
}
|
651 |
-
````
|
652 |
-
|
653 |
-
In this example, all 3 html elements enabled attribute are bound to the Model's isPartOneEnabled attribute.
|
654 |
-
This is because the jQuery selector '[class~=partOne]' returned all 3 elements.
|
655 |
-
|
656 |
-
|
657 |
-
<br>
|
658 |
-
|
659 |
-
***
|
660 |
-
|
661 |
-
## Calling bind() multiple times ##
|
662 |
-
|
663 |
-
Calling ModelBinder.bind() will automatically internally call the unbind() function to unbind the previous model.
|
664 |
-
You can reuse the same ModelBinder instance with multiple models or even rootEls - just be aware that all previous bindings will be removed.
|
665 |
-
|
666 |
-
<br>
|
667 |
-
## Model values are copied to views when bind() is called ##
|
668 |
-
|
669 |
-
The model's attributes are bound are copied from the model to bound elements when the bind() function is called.
|
670 |
-
View element default values are not copied to the model when bind() is called. That type of behavior usually belongs in the Backbone.Model defaults block.
|
671 |
-
|
672 |
-
If you do need to have values copied from the view to the model when bind() is called I would first question why.
|
673 |
-
In most situations, especially for single page web apps, it's almost always better to let your models drive the behavior of the app instead of the views.
|
674 |
-
If you need this behavior, you can use the 4th optional parameter to the bind() function. {initialCopyDirection: Backbone.ModelBinder.Constants.ViewToModel}
|
675 |
-
You can also specify this behavior as the default for all ModelBinder's by calling Backbone.ModelBinder.SetOptions({initialCopyDirection: Backbone.ModelBinder.Constants.ViewToModel});
|
676 |
-
|
677 |
-
You can also directly invoke the function modelBinder.copyViewValuesToModel() at any time to copy values from the view into the model. In most cases, this is not necessary.
|
678 |
-
|
679 |
-
When you copy explicitly from the view to the model on bind() or via copyViewValuesToModel() text values and checkboxes will be inserted into the model as blank strings or false if the values have not been set.
|
680 |
-
|
681 |
-
|
682 |
-
<br>
|
683 |
-
## Cleaning up with unbind() ##
|
684 |
-
|
685 |
-
When your views are closed you should always call the unbind() function. The unbind() function will un-register from the model's change events and the view's jQuery change delegate.
|
686 |
-
|
687 |
-
If you don't call unbind() you might end up with zombie views and ModelBinders. This is particularly important for large client side applications that are not frequently refreshed.
|
688 |
-
|
689 |
-
|
690 |
-
|
691 |
-
<br>
|
692 |
-
## The '.' syntax for nested models ##
|
693 |
-
|
694 |
-
The ModelBinder doesn't directly support '.' to reference nested Models when binding.
|
695 |
-
If you have a Backbone.Model implementation that is able to support the '.' syntax for nested models you'll be able to use the ModelBinder.
|
696 |
-
|
697 |
-
I've done a bit of testing with the [backbone-deep-model](https://github.com/powmedia/backbone-deep-model) and it seems to work well with the ModelBinder.
|
698 |
-
[Here](https://github.com/theironcook/Backbone.ModelBinder/blob/master/sandbox/Example_NestedAttributes.html) is a simple example showing how to use backbone-deep-model with the ModelBinder.
|
699 |
-
|
700 |
-
The nested models are just plain javascript objects with the deep-model plugin. If your nested objects are Backbone.Models you'll need something similar to the deep-model plugin.
|
701 |
-
|
702 |
-
<br>
|
703 |
-
The [backbone-nested](https://github.com/afeld/backbone-nested) project also seems to work with the ModelBinder.
|
704 |
-
|
705 |
-
|
706 |
-
***
|
707 |
-
|
708 |
-
<br>
|
709 |
-
## AMD / Require.js support
|
710 |
-
|
711 |
-
AMD / Require.js support was added in version 0.1.4
|
712 |
-
|
713 |
-
|
714 |
-
***
|
715 |
-
|
716 |
-
<br>
|
717 |
-
### Binding to Collections
|
718 |
-
I've also created a collection binder that automatically creates/removes views when models are added/removed to a collection.
|
719 |
-
It can be used with the ModelBinder. The collection binder has saved me just as much time as the model binder. It's a very handy utility.
|
720 |
-
|
721 |
-
You can read about it [here](https://github.com/theironcook/Backbone.ModelBinder/wiki/A-new-Class-to-Bind-Backbone-Collections-to-Views:-Javascript-Weekly-May-18th)
|
722 |
-
|
723 |
-
<br><br>
|
724 |
-
|
725 |
-
## Examples
|
726 |
-
Some JSFiddle examples can be found [here](https://github.com/theironcook/Backbone.ModelBinder/wiki/Interactive-JSFiddle-Examples).
|
727 |
-
<br>The same examples are also under the (examples)[https://github.com/theironcook/Backbone.ModelBinder/tree/master/examples] directory.
|
728 |
-
|
729 |
-
|
730 |
-
<br><br>
|
731 |
-
|
732 |
-
## Configuration Options
|
733 |
-
* initialCopyDirection
|
734 |
-
* changeTriggers
|
735 |
-
* modelSetOptions
|
736 |
-
* suppressThrows
|
737 |
-
* boundAttribute
|
738 |
-
* converter
|
739 |
-
|
740 |
-
Configuration options can either be set for all ModelBinder instances via Backbone.ModelBinder.SetOptions() or for individual ModelBinder instances via the 4th parameter to the bind() function.
|
741 |
-
Values set at the instance level will eclipse / override values that are set with the SetOptions() function.
|
742 |
-
|
743 |
-
* initialCopyDirection - can either be Backbone.ModelBinder.Constants.ModelToView or Backbone.ModelBinder.Constants.ViewToModel. This property is dicussed in a previous section
|
744 |
-
|
745 |
-
* changeTriggers - an object where the keys are jQuery selectors and the values are jQuery events. These are the events that trigger when values are copied from the view into the model.
|
746 |
-
The default for change triggers is added below. You can define your own if needed.
|
747 |
-
|
748 |
-
````
|
749 |
-
{'': 'change', '[contenteditable]': 'blur'}
|
750 |
-
````
|
751 |
-
|
752 |
-
* modelSetOptions - this is an option that you might want sent by default to the Model.set function.
|
753 |
-
Whenever a bound element changes, it will call the Model.set function as pass the modelSetOptions as the options to the set() function.
|
754 |
-
If you wanted to turn on backbone model validation for your entire project you might do something like this.
|
755 |
-
|
756 |
-
````
|
757 |
-
Backbone.ModelBinder.SetOptions({modelSetOptions: {validate: true}});
|
758 |
-
````
|
759 |
-
|
760 |
-
The ModelBinder injects this value into the set options for every set() function.
|
761 |
-
changeSource = 'ModelBinder'
|
762 |
-
This allows custom logic to determine if the source of the model attribute change is from the ModelBinder.
|
763 |
-
|
764 |
-
* suppressThrows - set to true if you don't want the ModelBinder to throw exceptions but instead it will show errors via the console.error
|
765 |
-
|
766 |
-
* boundAttribute - change the default attribute used to create bindings. Default value is "name," but can be set to any valid attribute selector that fits the form `$('[' + boundAttribute + ']')`.
|
767 |
-
|
768 |
-
* converter - a default converter for all binders or a single binder. Probably only really useful for when you want view empty strings to map to nulls or undefined. The default is empty string.
|
769 |
-
If you define a converter, you might want to pay attention to the converter's 5th parameter of bound els. You might want to only convert values for specific element types.
|
770 |
-
|
771 |
-
<br>
|
772 |
-
<br>
|
773 |
-
|
774 |
-
## Release Notes / Versions
|
775 |
-
### v 1.1.0 June 1, 2015
|
776 |
-
* Fixed createEl code not to require that Backbone.View#render returns this
|
777 |
-
* Don't sort elements on add event (only do so on sort)
|
778 |
-
* Fixed package.json to make NPM publishing possible (fixes #195)
|
779 |
-
* Use jQuery .on instead of .delegate for event binding (to move off of deprecated .delegate function)
|
780 |
-
* Use .prop("checked") instead of .attr("checked") (fixes #199)
|
781 |
-
* Fixed autoSort behavior to actually work when the collection changes
|
782 |
-
|
783 |
-
### v 1.0.6 November 5, 2014
|
784 |
-
* Made the CollectionBinder loadable via AMD
|
785 |
-
|
786 |
-
### v 1.0.5 September 30, 2013
|
787 |
-
* Fixed issue 164 - Works with jQuery.noConflict
|
788 |
-
* Added the ability to set static and instance options for the CollectionBinder. As of now, there is only one option: 'autoSort'. You can set the option globally via Backbone.CollectionBinder.SetOptions.
|
789 |
-
* Added the ability to use template functions with the CollectionBinder.ElManagerFactory. Normally, I wouldn't use the ElManagerFactory except for very simple situations - especially because the content of the data isn't updated.
|
790 |
-
If you would like to use this option, simply pass a compiled _.template instead of html to the ElManagerFactory constructor. Internally the ElManagerFactory will call the template and pass {model: this._model.toJSON()} to the template function.
|
791 |
-
* Fix for issue 162. Undid fix for 133. Unnecessary Model.set calls for checkboxes and radio buttons.
|
792 |
-
|
793 |
-
### v 1.0.4 August 19, 2013
|
794 |
-
* Fixed the _.bindAll function calls to specify the function names being bound to.
|
795 |
-
* Added the ability to add a global converter via Backbone.ModelBinder.SetOptions({converter: xxx});
|
796 |
-
|
797 |
-
### v 1.0.2 April 18, 2013
|
798 |
-
* Fixed the _unbindViewToModel to use the changeTrigger options
|
799 |
-
* Fixed the default jQuery selector for all elements to be '*' instead of ''. The undelegate events no longer works in jQuery 1.8.3 with the ''
|
800 |
-
|
801 |
-
### v 1.0.1 April 15, 2013
|
802 |
-
* Added suppressThrows configuration option
|
803 |
-
|
804 |
-
### v 1.0.0 April 11, 2013
|
805 |
-
* Updated to use backbone v1.0.0, underscore v1.4.4 and jQuery v1.8.3
|
806 |
-
* Pull requests 96, 67, 85, 80, 78, 67, 66
|
807 |
-
* Options are now configurable at the ModelBinder class level via Backbone.ModelBinder.SetOptions() or at the instance level via the bind() 4th parameter
|
808 |
-
* ModelSetOptions have now been incorporated to the generic options argument at the class or instance level.
|
809 |
-
For example: to set model options globally for all binders Backbone.ModelBinder.SetOptions({modelSetOptions: {validate: true}});
|
810 |
-
or for a single instance modelBinder.bind(this.model, this.el, bindings, {modelSetOptions: {validate: true}});
|
811 |
-
For single instance options, the bindings can be a fully configured set of bindings or the value of null if you want the default bindings.
|
812 |
-
* bindCustomTriggers() has now been incorporated to the generic options argument at the class or instance level.
|
813 |
-
For example: to set custom triggers options globally for all binders Backbone.ModelBinder.SetOptions({changeTriggers: {'': 'change keyup'}});
|
814 |
-
or for a single instance modelBinder.bind(this.model, this.el, {changeTriggers: {'': 'change keyup'}});
|
815 |
-
* Added the els parameter to the converter functions
|
816 |
-
* Added the changeTriggers to customize which view events trigger the model binder copies values from the view to the model
|
817 |
-
* Added the modelSetOptions to allow the ModelBinder to send messages to the Model.set function and corresponding callbacks
|
818 |
-
|
819 |
-
|
820 |
-
### v 0.1.6 August 27, 2012
|
821 |
-
|
822 |
-
* Bugfix for issue 51
|
823 |
-
|
824 |
-
|
825 |
-
### v 0.1.5 June 20, 2012
|
826 |
-
|
827 |
-
* Upgraded model binder to allow single DOM element to be bound to multiple model attributes
|
828 |
-
* Exposed the model binder copyModelAttributesToView to be public and take an optional array of attribute names to copy
|
829 |
-
|
830 |
-
### v 0.1.4 May 11, 2012
|
831 |
-
|
832 |
-
* AMD / Require.js support added
|
833 |
-
* Initial version of the CollectionViewBinder added
|
834 |
-
|
835 |
-
### v 0.1.3 May 9, 2012
|
836 |
-
|
837 |
-
* Started properly tagging my versions :)
|
838 |
-
|
839 |
-
### v 0.1.2
|
840 |
-
|
841 |
-
* Added the {source: 'ModelBinder'} option to the model.set call - allows you to know the source of a model's change event
|
842 |
-
* Bug fix - when binding the elAttribute to class I wasn't going through the converter function
|
843 |
-
|
844 |
-
### v 0.1.1
|
845 |
-
|
846 |
-
* An empty selector string will now bind to the rootEl
|
847 |
-
* Removed elementBinding.isSetting guard which was unnecessary and short circuited updating multiple bound elements with the same name
|
848 |
-
|
849 |
-
### v 0.1.0
|
850 |
-
|
851 |
-
* Initial version starting April 16th. Future api changes will have updated version numbers.
|
852 |
-
|
853 |
-
|
854 |
-
|
855 |
-
# Legal Info (MIT License)
|
856 |
-
|
857 |
-
Copyright (c) 2012 Bart Wood
|
858 |
-
|
859 |
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
860 |
-
of this software and associated documentation files (the "Software"), to deal
|
861 |
-
in the Software without restriction, including without limitation the rights
|
862 |
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
863 |
-
copies of the Software, and to permit persons to whom the Software is
|
864 |
-
furnished to do so, subject to the following conditions:
|
865 |
-
|
866 |
-
The above copyright notice and this permission notice shall be included in
|
867 |
-
all copies or substantial portions of the Software.
|
868 |
-
|
869 |
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
870 |
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
871 |
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
872 |
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
873 |
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
874 |
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
875 |
-
THE SOFTWARE.
|
1 |
+
Special thanks to [Derick Bailey](http://lostechies.com/derickbailey) for creating predecessor to this plugin.
|
2 |
+
I've been able to reuse unit tests he created for his [Backbone.ModelBinding](https://github.com/derickbailey/backbone.modelbinding) plugin.
|
3 |
+
|
4 |
+
|
5 |
+
### Rationale
|
6 |
+
Backbone is a great platform for writing client side applications but I've found that as views grow in complexity, synchronizing my models and views can be a pain.
|
7 |
+
I've spent the past few months trying to use existing view-model binding libraries that others were kind enough to create and share with the world.
|
8 |
+
Unfortunately in the majority of my backbone application I wasn't able to leverage the existing view-model binding libraries due to various limitations.
|
9 |
+
|
10 |
+
I created a new `Backbone.ModelBinder` class that I have leveraged in the majority of a large client side application.
|
11 |
+
The ModelBinder class helped me remove a lot of cluttered boilerplate code that existed to synchronize my models and views.
|
12 |
+
As my application became more asynchronous, the ModelBinder saves me from a lot of pain by automatically displaying model attributes in the view as they are asynchronously loaded.
|
13 |
+
Hopefully you'll find the ModelBinder useful too.
|
14 |
+
|
15 |
+
The `Backbone.ModelBinder` class:
|
16 |
+
|
17 |
+
* Is as simple as possible yet still flexible and powerful
|
18 |
+
* Leverages the exact same jQuery syntax that the Backbone.View event blocks use
|
19 |
+
* Allows you to define type formatting and type conversion in your bindings
|
20 |
+
* Provides a simple javascript only solution rather than mixing binding syntax in html templates and javascript files. I personally find mixing binding logic in my html files to be messy and confusing.
|
21 |
+
|
22 |
+
<br>
|
23 |
+
You can use this ModelBinder class to bind backbone model attributes to:
|
24 |
+
|
25 |
+
* Read-only html elements such as `<span>`, `<div>` etc.
|
26 |
+
* Html element attributes such as enabled, displayed, style etc.
|
27 |
+
* Editable form elements such as `<input>`, `<textarea>` etc. This type of binding is bidirectional between the html elements and the Model's attributes.
|
28 |
+
|
29 |
+
<br>
|
30 |
+
###The ModelBinder is more efficient###
|
31 |
+
It seems like many of the backbone view examples I've seen register for the model's change event and then re-render the entire view like the example shown below.
|
32 |
+
|
33 |
+
````
|
34 |
+
SomeView = Backbone.View.extend({
|
35 |
+
initialize: function(){
|
36 |
+
this.model.on('change', this.render, this);
|
37 |
+
},
|
38 |
+
|
39 |
+
render: function() {
|
40 |
+
this.$el.html(this.template(this.model.toJSON()));
|
41 |
+
return this;
|
42 |
+
}
|
43 |
+
});
|
44 |
+
````
|
45 |
+
If the model changes frequently the above type of code will be wasteful because so many DOM elements are just thrown away. Converting the model to json is also an unnecessary conversion.
|
46 |
+
|
47 |
+
The ModelBinder eliminates these ineffeciencies by listening for model changes like the above code. But it doesn't recreate the entire set of DOM elements. Instead, it will change the content of existing DOM elements.
|
48 |
+
|
49 |
+
|
50 |
+
<br>
|
51 |
+
## Prerequisites
|
52 |
+
|
53 |
+
* Backbone.js v1.0.0 or higher
|
54 |
+
* Underscore.js v1.4.4 or higher
|
55 |
+
* jQuery v1.8.3 or higher
|
56 |
+
|
57 |
+
|
58 |
+
<br>
|
59 |
+
### Availability
|
60 |
+
You can download the zip/tarball as normal and include it with your other JS assets, but you can now alternatively link to it on [CDNJS](http://www.cdnjs.com/), the free to use, community maintained CDN.
|
61 |
+
|
62 |
+
To do this, just drop a reference to the minified version of the plugin into your document's `<head>` as follows, replacing the version number with whatever the latest one is:
|
63 |
+
````
|
64 |
+
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/backbone.modelbinder/1.0.4/Backbone.ModelBinder.min.js"></script>
|
65 |
+
````
|
66 |
+
|
67 |
+
|
68 |
+
<br>
|
69 |
+
##Defining Binding Scope with jQuery##
|
70 |
+
|
71 |
+
One of the most powerful capabilities of the ModelBinder class is that it allows you to define scope when you create your bindings using jQuery.
|
72 |
+
|
73 |
+
* If your views are simple (no nested Views etc.) you can rely on default scoping rules that are based off of the html `name` attribute.
|
74 |
+
* If your views are more complex you can explicitly define scoping rules with jQuery selectors. Scoping will allow you to handle nested views or have the ModelBinder only manage parts of your Views and your own custom code can handle the more complicated problems.
|
75 |
+
|
76 |
+
Both scoping mechanisms will be discussed throughout the rest of this document.
|
77 |
+
|
78 |
+
***
|
79 |
+
|
80 |
+
##Basic ModelBinder functionality##
|
81 |
+
|
82 |
+
The `ModelBinder` class contains all of the logic to facilitate bi-directional view-model binding.
|
83 |
+
|
84 |
+
The ModelBinder class exposes 3 public functions shown below:
|
85 |
+
|
86 |
+
```javascript
|
87 |
+
// no arguments passed to the constructor
|
88 |
+
constructor();
|
89 |
+
|
90 |
+
// model is required, it is the backbone Model you're binding to
|
91 |
+
// rootEl is required, is the root html element containing the elements you want to bind to
|
92 |
+
// bindings is optional, it's discussed a bit later
|
93 |
+
// options, discussed at the bottom of the document
|
94 |
+
bind(model, rootEl, bindings, options);
|
95 |
+
|
96 |
+
// unbinds the Model with the elements found under rootEl - defined when calling bind()
|
97 |
+
unbind();
|
98 |
+
```
|
99 |
+
|
100 |
+
<br>
|
101 |
+
The `bind()` function's 3rd argument `bindings` is optional. The `bindings` arg is useful for defining binding scope and formatting and will be discussed later.
|
102 |
+
If `bindings` is not defined, then `bind()` will locate all of the child elements under the rootEl that define a `name` attribute.
|
103 |
+
Each of the elements with a `name` attribute will be bound to the model's attributes - the value of the element's name attribute will be used as the model's attribute name.
|
104 |
+
|
105 |
+
In the example below, the model's address attribute will be bound to the input text field with the name of 'address'. This binding is bi-directional between the view and the model.
|
106 |
+
|
107 |
+
````
|
108 |
+
<!-- The html -->
|
109 |
+
<input type="text" name="address"/>
|
110 |
+
````
|
111 |
+
|
112 |
+
````
|
113 |
+
<!-- The javascript -->
|
114 |
+
SomeView = Backbone.View.extend({
|
115 |
+
render: function(){
|
116 |
+
this.modelBinder.bind(this.model, this.el);
|
117 |
+
}
|
118 |
+
});
|
119 |
+
````
|
120 |
+
|
121 |
+
<br>
|
122 |
+
## Binding after elements created, rootEl ##
|
123 |
+
|
124 |
+
The bind() functions `rootEl` parameter should contain all of the elements that you want to bind to.
|
125 |
+
Your rootEl might be the view.el property or it could be any valid html element. It does not matter if the rootEl is displayed in a browser.
|
126 |
+
|
127 |
+
The example below shows how the rootEl argument is the result of the jQuery selection "#outerDiv". This will work just like the previous example.
|
128 |
+
|
129 |
+
````
|
130 |
+
<!-- The html -->
|
131 |
+
<div id="outerDiv">
|
132 |
+
<input type="text" name="address"/>
|
133 |
+
</div>
|
134 |
+
````
|
135 |
+
|
136 |
+
````
|
137 |
+
<!-- The javascript -->
|
138 |
+
SomeView = Backbone.View.extend({
|
139 |
+
render: function(){
|
140 |
+
this.modelBinder.bind(this.model, this.$('#outerDiv'));
|
141 |
+
}
|
142 |
+
});
|
143 |
+
````
|
144 |
+
|
145 |
+
<br>
|
146 |
+
## Elements are recursively bound ##
|
147 |
+
|
148 |
+
If you do not pass the `bindings` 3rd parameter to the bind() function, <b>all</b> child elements under the rootEl with a "name" attribute are bound.
|
149 |
+
This includes any nested child elements that define the "name" attribute.
|
150 |
+
|
151 |
+
In the example below, the "address" and the "city" elements will be bound to the model.
|
152 |
+
|
153 |
+
````
|
154 |
+
<!-- The html -->
|
155 |
+
<div id="outerDiv">
|
156 |
+
<input type="text" name="address"/>
|
157 |
+
<div id="divTwo">
|
158 |
+
<input type="text" name="city"/>
|
159 |
+
</div>
|
160 |
+
</div>
|
161 |
+
````
|
162 |
+
|
163 |
+
````
|
164 |
+
<!-- The javascript -->
|
165 |
+
SomeView = Backbone.View.extend({
|
166 |
+
render: function(){
|
167 |
+
this.modelBinder.bind(this.model, this.el);
|
168 |
+
}
|
169 |
+
});
|
170 |
+
````
|
171 |
+
|
172 |
+
|
173 |
+
<br>
|
174 |
+
## Binding multiple html elements to the same model attribute ##
|
175 |
+
|
176 |
+
In the example below, the `<span>` and the `<input>` elements are both bound to the model.firstName attribute.
|
177 |
+
If you modified the firstName input element you would see the span automatically updated because the Model would have been updated.
|
178 |
+
|
179 |
+
````
|
180 |
+
<!-- The html -->
|
181 |
+
Welcome, <span name="firstName"></span>
|
182 |
+
|
183 |
+
Edit your information:
|
184 |
+
<input type="text" name="firstName"/>
|
185 |
+
````
|
186 |
+
|
187 |
+
````
|
188 |
+
<!-- The javascript -->
|
189 |
+
SomeView = Backbone.View.extend({
|
190 |
+
render: function(){
|
191 |
+
this.modelBinder.bind(this.model, this.el);
|
192 |
+
}
|
193 |
+
});
|
194 |
+
````
|
195 |
+
|
196 |
+
<br>
|
197 |
+
If your View element definitions are simple you can rely on having properly defined "name" attributes in your html elements that match your Model attribute names.
|
198 |
+
Remember that **all** of the rootEl's child elements (recursive) with a "name" attribute will be bound to your Model.
|
199 |
+
|
200 |
+
If your views require formatting, conversion or more scoping due to nested or complex views you'll need to define a `bindings` parameter to the `bind()` function as discussed in the next section.
|
201 |
+
|
202 |
+
|
203 |
+
***
|
204 |
+
|
205 |
+
##The bindings parameter to the bind() function##
|
206 |
+
|
207 |
+
For more complicated things like formatting or defining scope for composite or nested Views you'll need to define a `bindings` parameter - the optional 3rd parameter to the `bind()` function.
|
208 |
+
The bindings parameter is a javascript hash object.
|
209 |
+
|
210 |
+
The bindings hash keys are the model's attribute names and the values, in the simplest case, are jQuery selectors that must return at least 1 html element.
|
211 |
+
|
212 |
+
The example below binds model.address to the element with the id="address":
|
213 |
+
|
214 |
+
````
|
215 |
+
<input type='text' id='address'/>
|
216 |
+
|
217 |
+
var bindings = {address: '#address'};
|
218 |
+
modelBinder.bind(this.model, this.el, bindings);
|
219 |
+
````
|
220 |
+
|
221 |
+
The example below binds model.homeAddress to the element with name="homeAddress" and model.workAddress to the element with name="workAddress":
|
222 |
+
|
223 |
+
````
|
224 |
+
<input type="text" name="homeAddress"/>
|
225 |
+
<input type="text" name="workAddress "/>
|
226 |
+
|
227 |
+
var bindings = {homeAddress: '[name=homeAddress]', workAddress : '[name=workAddress ]'};
|
228 |
+
modelBinder.bind(this.model, this.el, bindings);
|
229 |
+
````
|
230 |
+
|
231 |
+
The example below binds model.city to `<input type="text" id="city"/>`:
|
232 |
+
|
233 |
+
````
|
234 |
+
var bindings = {city: '#city'};
|
235 |
+
modelBinder.bind(this.model, this.el, bindings);
|
236 |
+
````
|
237 |
+
|
238 |
+
You can use any jQuery selector that you like, as long as the selector returns at least a single element.
|
239 |
+
In the example below, both the `<span>` and the `<input>` elements are bound to the model.firstName attribute.
|
240 |
+
In this situation, you could also eliminate the bindings and get the same behavior.
|
241 |
+
|
242 |
+
````
|
243 |
+
<!-- The html -->
|
244 |
+
Welcome, <span name="firstName"></span>
|
245 |
+
|
246 |
+
Edit your information:
|
247 |
+
<input type="text" name="firstName"/>
|
248 |
+
````
|
249 |
+
|
250 |
+
````
|
251 |
+
<!-- The javascript -->
|
252 |
+
var bindings = {firstName: '[name=firstName]'};
|
253 |
+
modelBinder.bind(this.model, this.el, bindings);
|
254 |
+
````
|
255 |
+
|
256 |
+
<br>
|
257 |
+
Here are a few more examples of the bindings hash syntax.
|
258 |
+
|
259 |
+
````
|
260 |
+
Html bindings entry
|
261 |
+
-----------------------------------------------------------------------------------------------
|
262 |
+
<input type="text" id="firstName"/> firstName: '#firstName'
|
263 |
+
|
264 |
+
<input type="text" name="firstName"/> firstName: '[name=firstName]'
|
265 |
+
|
266 |
+
<select name="operatorSelectEl"> operator: '[name=operatorSelectEl]'
|
267 |
+
<option value="1">Dan</option>
|
268 |
+
<option value="2">Eli</option>
|
269 |
+
<option value="3">Frank</option>
|
270 |
+
</select>
|
271 |
+
|
272 |
+
<input type="radio" name="isOk" value="yes"> isOk: '[name=isOk]'
|
273 |
+
|
274 |
+
<input type="text" class="myTestClass" myTestAttribute: '[class~=myTestClass]'
|
275 |
+
name="address"/>
|
276 |
+
````
|
277 |
+
|
278 |
+
<br>
|
279 |
+
## You can define multiple jQuery selectors ##
|
280 |
+
|
281 |
+
The binding entries can be defined as strings as shown in all previous examples but internally the string is converted to the type of entry shown below.
|
282 |
+
|
283 |
+
````
|
284 |
+
firstName: {selector: '#firstName'}
|
285 |
+
````
|
286 |
+
|
287 |
+
The jQuery string is a hash parameter named `selector`.
|
288 |
+
You can define arrays of `selector` arguments in your bindings as shown in the example below.
|
289 |
+
|
290 |
+
````
|
291 |
+
firstName: [{selector: '#firstName'}, {selector: '#title'}]
|
292 |
+
````
|
293 |
+
|
294 |
+
In the example above, model.firstName is bound to an element with the id of "firstName" and an element with the id of "title".
|
295 |
+
To define multiple selectors, just define them as an array.
|
296 |
+
|
297 |
+
The jQuery bindings leverage the jQuery delegate mechanism - which means they should be fairly efficient.
|
298 |
+
|
299 |
+
##Binding to the Root Element##
|
300 |
+
|
301 |
+
Sometimes, in rare cases, your views are so simple that you just want to bind
|
302 |
+
to the root element itself. For example, if your view is an `<li>` tag, it
|
303 |
+
makes sense to have the inner HTML simply be the appropriate model value.
|
304 |
+
|
305 |
+
In those cases, simply use an empty string as your selector:
|
306 |
+
|
307 |
+
````
|
308 |
+
firstName: { selector: '' }
|
309 |
+
````
|
310 |
+
|
311 |
+
<br>
|
312 |
+
***
|
313 |
+
|
314 |
+
##Formatting and converting values##
|
315 |
+
|
316 |
+
The bindings can also define a `converter` parameter.
|
317 |
+
A converter is simply a function that is called whenever a model's attribute is copied to an html element or when an html elements value is copied into a model's attribute.
|
318 |
+
|
319 |
+
Converters help you format values in your views but help keep them clean in your models.
|
320 |
+
|
321 |
+
A simple of example of using a converter to format a phone number is shown below.
|
322 |
+
|
323 |
+
````
|
324 |
+
var phoneConverter = function(direction, value){
|
325 |
+
// direction is either ModelToView or ViewToModel
|
326 |
+
// Return either a formatted value for the view or an un-formatted value for the model
|
327 |
+
};
|
328 |
+
|
329 |
+
var bindings = {phoneNumber: {selector: '[name=phoneNumber]', converter: phoneConverter}}
|
330 |
+
modelBinder.bind(this.model, this.el, bindings );
|
331 |
+
````
|
332 |
+
|
333 |
+
<br>
|
334 |
+
A converter function is passed 4 parameters.
|
335 |
+
|
336 |
+
* direction - either ModelToView or ViewToModel
|
337 |
+
* value - the model's attribute value or the view element's value
|
338 |
+
* attribute Name
|
339 |
+
* model - this is more useful when you're dealing with calculated attributes
|
340 |
+
* els - an array of the els that were bound to the converter
|
341 |
+
|
342 |
+
If your binding to a read-only element like a `<div>` you'll just ignore the direction parameter - it's always ModelToView.
|
343 |
+
In most cases, you'll be able to ignore the attribute name and model parameters but they can be helpful in some situations discussed later.
|
344 |
+
|
345 |
+
The Model parameter can be quite helpful in complicated situations.
|
346 |
+
The els array allows a developer to manually modify the els directly when a converter is invoked.
|
347 |
+
Be very careful when accessing the els directly because any state you set into the els might be overwritten by the ModelBinder after the converter is finished.
|
348 |
+
For example, if a converter is called with the direction 'ModelToView' and inside the converter the code updates the el values directly those values will be overwritten with the value returned from the converter function.
|
349 |
+
The els array is more valuable if you need to set other properties etc. on the els. In most situations you should not need the els parameter.
|
350 |
+
|
351 |
+
|
352 |
+
<br>
|
353 |
+
Converters can be used for simple formatting operations like phone numbers but they can also be used for more advanced situations like when you want to convert between a model and some description of the model.
|
354 |
+
You might want to display a list of models in a `<select>` element - a converter could allow you to convert between a model and a model's id making this type of binding easy to do.
|
355 |
+
|
356 |
+
The example below shows how this could work. The `CollectionConverter` shown is defined in the ModelBinder.js file.
|
357 |
+
|
358 |
+
````
|
359 |
+
<!-- The html -->
|
360 |
+
<select name="nestedModel">
|
361 |
+
<option value="">Please Select Something</option>
|
362 |
+
<% _.each(nestedModelChoices, function (modelChoice) { %>
|
363 |
+
<option value="<%= modelChoice.id %>"><%= modelChoice.description %></option>
|
364 |
+
<% }); %>
|
365 |
+
</select>
|
366 |
+
````
|
367 |
+
|
368 |
+
````
|
369 |
+
<!-- The javascript -->
|
370 |
+
SomeView = Backbone.View.extend({
|
371 |
+
render: function(){
|
372 |
+
// An example of what might be passed to the template function
|
373 |
+
var nestedModelChoices = [{id: 1, description: 'This is One'}, {id: 2, description: 'This is Two'}];
|
374 |
+
|
375 |
+
$(this.el).html(this.template({nestedModelChoices: nestedModelChoices}));
|
376 |
+
|
377 |
+
var binder = new Backbone.ModelBinder();
|
378 |
+
|
379 |
+
var bindingsHash = {nestedModel: { selector: '[name=nestedModel]',
|
380 |
+
converter: new Backbone.ModelBinder.CollectionConverter(nestedModelChoices).convert} };
|
381 |
+
|
382 |
+
binder.bind(this.model, this.el, bindingsHash);
|
383 |
+
````
|
384 |
+
|
385 |
+
<br>
|
386 |
+
## Converters can display calculated attributes ##
|
387 |
+
|
388 |
+
Sometimes your models will have computed attributes.
|
389 |
+
You could cache computed values inside a model's attribute collection and it would be bound like any other attribute.
|
390 |
+
I favor this solution but it's not perfect because when you save models back to the server, the calculated attributes are sent.
|
391 |
+
|
392 |
+
If your model's computed attribute is calculated via a function we can use a converter for the binding.
|
393 |
+
In the example below, we have a simple computed attribute named hoursLeft calculated by the function calculateHoursLeft().
|
394 |
+
|
395 |
+
````
|
396 |
+
SomeModel = Backbone.Model.extend({
|
397 |
+
defaults: {currentHours: 3, totalHours: 8},
|
398 |
+
|
399 |
+
calculateHoursLeft: function(){
|
400 |
+
return this.get('totalHours') - this.get('currentHours');
|
401 |
+
}
|
402 |
+
})
|
403 |
+
|
404 |
+
// Here is how how we could create a binding for a calculated attribute
|
405 |
+
var bindings = {currentHours: {selector: '[name=hoursLeft]', converter: this.model.calculateHoursLeft}};
|
406 |
+
modelBinder.bind(this.model, this.el, bindings);
|
407 |
+
````
|
408 |
+
|
409 |
+
In the example above, we are binding to the model's attribute 'currentHours' because when currentHours changes the hoursLeft calculated value will change - the converter will be invoked at that time.
|
410 |
+
The converter is simply the model's calculateHoursLeft() function. The function just ignores the parameters passed to it and calculates the hours left.
|
411 |
+
|
412 |
+
<br>
|
413 |
+
If the currentHours attribute is also bound to another html element you could specify an array of element bindings in the binding definition like the example shown below.
|
414 |
+
|
415 |
+
````
|
416 |
+
var bindings = {currentHours: [ {selector: '[name=hoursLeft]', converter: this.model.calculateHoursLeft},
|
417 |
+
{selector: '[name=currentHours]']};
|
418 |
+
modelBinder.bind(this.model, this.el, bindings);
|
419 |
+
````
|
420 |
+
|
421 |
+
If converters need any other special logic they can be defined in another function outside of the Model because the converter function is passed the Model as a parameter.
|
422 |
+
|
423 |
+
|
424 |
+
|
425 |
+
<br>
|
426 |
+
|
427 |
+
***
|
428 |
+
|
429 |
+
##Binding to html element attributes##
|
430 |
+
|
431 |
+
You can also define bindings to be bound to any html element's attribute like enabled, class, style or any other attribute you define.
|
432 |
+
The example below shows how to use the `elAttribute` option. In this example, the address element will be enabled depending on what the Model.isAddressEnabled attribute is.
|
433 |
+
|
434 |
+
````
|
435 |
+
var bindings = {isAddressEnabled: {selector: '[name=address]', elAttribute: 'enabled'}};
|
436 |
+
modelBinder.bind(this.model, this.el, bindings);
|
437 |
+
````
|
438 |
+
|
439 |
+
<br>
|
440 |
+
You could also extend the example above to be a bit more complicated. Let's pretend the Model has an attribute called customerType and if customerType == 'residential' we want the address to enabled, otherwise we want it disabled. We can handle this type of binding by leveraging both `converter` and `elAttribute`. The example below shows how this would work. When the Model.customerType is updated, the address input element's enabled attribute would be updated.
|
441 |
+
|
442 |
+
````
|
443 |
+
var addressEnabledConverter = function(direction, value) { return value === 'residential'; };
|
444 |
+
|
445 |
+
var bindings = {customerType: {selector: '[name=address]', elAttribute: 'enabled', converter: addressEnabledConverter}};
|
446 |
+
modelBinder.bind(this.model, this.el, bindings);
|
447 |
+
````
|
448 |
+
|
449 |
+
<br>
|
450 |
+
You could also bind to an element's class property as shown in the example below.
|
451 |
+
|
452 |
+
````
|
453 |
+
<!-- The html -->
|
454 |
+
<div id="patientPic" class="patientPic"></div>
|
455 |
+
````
|
456 |
+
|
457 |
+
````
|
458 |
+
<!-- The javascript -->
|
459 |
+
var bindings = {gender: {selector: '#patientPicture', elAttribute: 'class'}};
|
460 |
+
modelBinder.bind(this.model, this.el, bindings);
|
461 |
+
````
|
462 |
+
|
463 |
+
In this example, the model.gender value is either "M" or "F". The CSS files define styles for "patientPic" with either "M" or "F" to show the correct type of avatar.
|
464 |
+
|
465 |
+
|
466 |
+
<br>
|
467 |
+
|
468 |
+
***
|
469 |
+
|
470 |
+
##Proper scope helps you bind to complex nested views##
|
471 |
+
|
472 |
+
Sometimes you'll have nested models displayed in nested views.
|
473 |
+
An example of a nested backbone model is shown below. The personModel has a nested homeAddressModel.
|
474 |
+
|
475 |
+
````
|
476 |
+
var personModel = new Backbone.Model({firstName: 'Herman', lastName: 'Munster'});
|
477 |
+
var homeAddressModel = new Backbone.Model({street: '1313 Mockingbird Lane', city: 'Mockingbird Heights'});
|
478 |
+
|
479 |
+
personModel.set({homeAddress: homeAddressModel});
|
480 |
+
````
|
481 |
+
|
482 |
+
In the example above, the nested model is also a backbone.Model but sometimes your nested models are raw javascript objects. I'll talk about that situation a bit later.
|
483 |
+
|
484 |
+
You can bind to this type of nested backbone model fairly easily with the ModelBinder.
|
485 |
+
|
486 |
+
There are 2 basic ways to bind nested Models in a View:
|
487 |
+
|
488 |
+
1. With a scoped `rootEl` that only contains html elements specific to the nested Model.
|
489 |
+
2. With scoped bindings selectors in the bindings hash.
|
490 |
+
|
491 |
+
<br>
|
492 |
+
##Nested View option 1: A scoped `rootEl`##
|
493 |
+
|
494 |
+
If your nested view can be defined under a single parent element such as a `<div>` you can pass that parent element as the `rootEl` for your nested ModelBinder as shown in the example below.
|
495 |
+
It refers to the personModel and homeAddressModels defined in a previous code snippet.
|
496 |
+
|
497 |
+
````
|
498 |
+
<!-- html -->
|
499 |
+
<div id="personFields">
|
500 |
+
<input type="text" name="firstName"/>
|
501 |
+
<input type="text" name="lastName"/>
|
502 |
+
</div>
|
503 |
+
<div id="homeAddressFields">
|
504 |
+
<input type="text" name="street"/>
|
505 |
+
<input type="text" name="city"/>
|
506 |
+
</div>
|
507 |
+
````
|
508 |
+
|
509 |
+
````
|
510 |
+
<!-- javascript -->
|
511 |
+
personBinder.bind(this.personModel, this.$('#personFields'));
|
512 |
+
addressBinder.bind(this.personModel.get('homeAddress'), this.$('#homeAddressFields'));
|
513 |
+
````
|
514 |
+
|
515 |
+
In the example above, the nested homeAddressModel is bound to the correct fields because they are scoped by a single parent element.
|
516 |
+
The personModel bindings also needed to be separately scoped as well.
|
517 |
+
|
518 |
+
If the personModel fields were defined on a level that also included the homeAddressFields then the homeAddressFields would have appeared in the personModel.
|
519 |
+
The next option shows how to avoid that situation.
|
520 |
+
|
521 |
+
<br>
|
522 |
+
##Nested View option 2: scoped bindings##
|
523 |
+
|
524 |
+
If your parent and nested Model html elements cannot live under their own parent elements then you'll need to define the `bindings` with jQuery selectors that are properly scoped as shown in the example below.
|
525 |
+
|
526 |
+
````
|
527 |
+
<!-- Html -->
|
528 |
+
<input type="text" name="firstName"/>
|
529 |
+
<input type="text" name="lastName"/>
|
530 |
+
<input type="text" name="street"/>
|
531 |
+
<input type="text" name="city"/>
|
532 |
+
````
|
533 |
+
|
534 |
+
````
|
535 |
+
<!-- javascript -->
|
536 |
+
var personBindings = {firstName: '[name=firstName]', lastName: '[name=lastName]'};
|
537 |
+
personBinder.bind(this.personModel, this.el, personBindings);
|
538 |
+
|
539 |
+
var addressBindings = {street: '[name=street]', city: '[name=city]'};
|
540 |
+
addressBinder.bind(this.personModel.get('homeAddress'), this.el, addressBindings);
|
541 |
+
````
|
542 |
+
|
543 |
+
|
544 |
+
<br>
|
545 |
+
|
546 |
+
***
|
547 |
+
|
548 |
+
##The ModelBinder can be a partial solution##
|
549 |
+
|
550 |
+
In some situations, you might have very complex views where you only want some of your view's elements bound by the ModelBinder.
|
551 |
+
To limit the scope of which fields are bound, you just need to properly scope your bindings hash.
|
552 |
+
|
553 |
+
In the example below, the modelBinder will ignore the "phone" and "fax" elements.
|
554 |
+
|
555 |
+
````
|
556 |
+
<!-- Html -->
|
557 |
+
<input type="text" name="firstName"/>
|
558 |
+
<input type="text" name="lastName"/>
|
559 |
+
<input type="text" name="phone"/>
|
560 |
+
<input type="text" name="fax"/>
|
561 |
+
````
|
562 |
+
|
563 |
+
````
|
564 |
+
<!-- javascript -->
|
565 |
+
var personBindings = {firstName: '[name=firstName]', lastName: '[name=lastName]'};
|
566 |
+
modelBinder.bind(this.personModel, this.el, personBindings);
|
567 |
+
````
|
568 |
+
|
569 |
+
|
570 |
+
<br>
|
571 |
+
|
572 |
+
***
|
573 |
+
|
574 |
+
##Quickly create and modify bindings##
|
575 |
+
|
576 |
+
In some situations, you might have a large amount of elements that need to be bound but only a few of them need a converter or elAttribute defined.
|
577 |
+
You probably don't want to define all of the element bindings manually just to add a converter to a few of them.
|
578 |
+
The utility function Backbone.ModelBinder.createDefaultBindings can help you in this situation.
|
579 |
+
|
580 |
+
The Backbone.ModelBinder.createDefaultBindings( ) is shown below.
|
581 |
+
|
582 |
+
````
|
583 |
+
// A static helper function to create a default set of bindings that you can customize before calling the bind() function
|
584 |
+
// rootEl - where to find all of the bound elements
|
585 |
+
// attributeType - probably 'name' or 'id' in most cases
|
586 |
+
// converter(optional) - the default converter you want applied to all your bindings
|
587 |
+
// elAttribute(optional) - the default elAttribute you want applied to all your bindings
|
588 |
+
Backbone.ModelBinder.createDefaultBindings = function(rootEl, attributeType, converter, elAttribute){
|
589 |
+
...
|
590 |
+
}
|
591 |
+
````
|
592 |
+
|
593 |
+
You can use this function to gather all of the elements under the rootEl with a "name" or "id" attribute and quickly create all of the bindings and then modify those bindings.
|
594 |
+
You might want to delete one or more of the bindings, add converters or elAttributes to bindings etc.
|
595 |
+
Be careful when you use this with radio buttons - you might not get the proper selectors if you're not careful.
|
596 |
+
|
597 |
+
An example of how you might use createDefaultBindings( ) is shown below.
|
598 |
+
|
599 |
+
````
|
600 |
+
// The view has several form element with a name attribute that should be bound
|
601 |
+
// but one binding requires a converter and one of the bindings should be removed
|
602 |
+
var bindings = Backbone.ModelBinder.createDefaultBindings(this.el, 'name');
|
603 |
+
bindings['phone'].converter = this._phoneConverterFunction;
|
604 |
+
delete bindings['complicatedAttribute'];
|
605 |
+
|
606 |
+
this._modelBinder.bind(this.model, this.el, bindings);
|
607 |
+
````
|
608 |
+
|
609 |
+
###Change attribute used for binding###
|
610 |
+
|
611 |
+
By default, the `name` attribute of your elements is used to create bindings. Changing this can be accomplished easily in one of two ways. First, by using `createDefaultBindings`:
|
612 |
+
|
613 |
+
````
|
614 |
+
var bindings = Backbone.ModelBinder.createDefaultBindings(this.el, 'data-custom');
|
615 |
+
this._modelBinder.bind(this.model, this.el, bindings);
|
616 |
+
````
|
617 |
+
|
618 |
+
Alternatively, setting `boundAttribute` on the options hash given to bind can point it at any attribute.
|
619 |
+
|
620 |
+
````
|
621 |
+
// Set the default bindings based on the data-custom attribute rather than name.
|
622 |
+
this._modelBinder.bind(this.model, this.el, null, { boundAttribute: 'data-custom' });
|
623 |
+
````
|
624 |
+
|
625 |
+
<br>
|
626 |
+
|
627 |
+
***
|
628 |
+
|
629 |
+
<br>
|
630 |
+
|
631 |
+
## The Power of jQuery ##
|
632 |
+
Your jQuery selectors can be based off of a class attribute or anything else you'd like as shown in the example below.
|
633 |
+
|
634 |
+
````
|
635 |
+
<!-- html -->
|
636 |
+
<input type="text" class="partOne" name="address"/>
|
637 |
+
<input type="text" class="partOne" name="phone"/>
|
638 |
+
<input type="text" class="partOne" name="fax"/>
|
639 |
+
````
|
640 |
+
|
641 |
+
````
|
642 |
+
<!-- javascript -->
|
643 |
+
SomeView = Backbone.View.extend({
|
644 |
+
render: function(){
|
645 |
+
$(this.el).html(this.template({model: this.model.toJSON()}));
|
646 |
+
|
647 |
+
var bindingsHash = {isPartOneEnabled: {selector: '[class~=partOne]', elAttribute: 'enabled'}};
|
648 |
+
|
649 |
+
this.modelBinder.bind(this.model, this.el, bindingsHash);
|
650 |
+
}
|
651 |
+
````
|
652 |
+
|
653 |
+
In this example, all 3 html elements enabled attribute are bound to the Model's isPartOneEnabled attribute.
|
654 |
+
This is because the jQuery selector '[class~=partOne]' returned all 3 elements.
|
655 |
+
|
656 |
+
|
657 |
+
<br>
|
658 |
+
|
659 |
+
***
|
660 |
+
|
661 |
+
## Calling bind() multiple times ##
|
662 |
+
|
663 |
+
Calling ModelBinder.bind() will automatically internally call the unbind() function to unbind the previous model.
|
664 |
+
You can reuse the same ModelBinder instance with multiple models or even rootEls - just be aware that all previous bindings will be removed.
|
665 |
+
|
666 |
+
<br>
|
667 |
+
## Model values are copied to views when bind() is called ##
|
668 |
+
|
669 |
+
The model's attributes are bound are copied from the model to bound elements when the bind() function is called.
|
670 |
+
View element default values are not copied to the model when bind() is called. That type of behavior usually belongs in the Backbone.Model defaults block.
|
671 |
+
|
672 |
+
If you do need to have values copied from the view to the model when bind() is called I would first question why.
|
673 |
+
In most situations, especially for single page web apps, it's almost always better to let your models drive the behavior of the app instead of the views.
|
674 |
+
If you need this behavior, you can use the 4th optional parameter to the bind() function. {initialCopyDirection: Backbone.ModelBinder.Constants.ViewToModel}
|
675 |
+
You can also specify this behavior as the default for all ModelBinder's by calling Backbone.ModelBinder.SetOptions({initialCopyDirection: Backbone.ModelBinder.Constants.ViewToModel});
|
676 |
+
|
677 |
+
You can also directly invoke the function modelBinder.copyViewValuesToModel() at any time to copy values from the view into the model. In most cases, this is not necessary.
|
678 |
+
|
679 |
+
When you copy explicitly from the view to the model on bind() or via copyViewValuesToModel() text values and checkboxes will be inserted into the model as blank strings or false if the values have not been set.
|
680 |
+
|
681 |
+
|
682 |
+
<br>
|
683 |
+
## Cleaning up with unbind() ##
|
684 |
+
|
685 |
+
When your views are closed you should always call the unbind() function. The unbind() function will un-register from the model's change events and the view's jQuery change delegate.
|
686 |
+
|
687 |
+
If you don't call unbind() you might end up with zombie views and ModelBinders. This is particularly important for large client side applications that are not frequently refreshed.
|
688 |
+
|
689 |
+
|
690 |
+
|
691 |
+
<br>
|
692 |
+
## The '.' syntax for nested models ##
|
693 |
+
|
694 |
+
The ModelBinder doesn't directly support '.' to reference nested Models when binding.
|
695 |
+
If you have a Backbone.Model implementation that is able to support the '.' syntax for nested models you'll be able to use the ModelBinder.
|
696 |
+
|
697 |
+
I've done a bit of testing with the [backbone-deep-model](https://github.com/powmedia/backbone-deep-model) and it seems to work well with the ModelBinder.
|
698 |
+
[Here](https://github.com/theironcook/Backbone.ModelBinder/blob/master/sandbox/Example_NestedAttributes.html) is a simple example showing how to use backbone-deep-model with the ModelBinder.
|
699 |
+
|
700 |
+
The nested models are just plain javascript objects with the deep-model plugin. If your nested objects are Backbone.Models you'll need something similar to the deep-model plugin.
|
701 |
+
|
702 |
+
<br>
|
703 |
+
The [backbone-nested](https://github.com/afeld/backbone-nested) project also seems to work with the ModelBinder.
|
704 |
+
|
705 |
+
|
706 |
+
***
|
707 |
+
|
708 |
+
<br>
|
709 |
+
## AMD / Require.js support
|
710 |
+
|
711 |
+
AMD / Require.js support was added in version 0.1.4
|
712 |
+
|
713 |
+
|
714 |
+
***
|
715 |
+
|
716 |
+
<br>
|
717 |
+
### Binding to Collections
|
718 |
+
I've also created a collection binder that automatically creates/removes views when models are added/removed to a collection.
|
719 |
+
It can be used with the ModelBinder. The collection binder has saved me just as much time as the model binder. It's a very handy utility.
|
720 |
+
|
721 |
+
You can read about it [here](https://github.com/theironcook/Backbone.ModelBinder/wiki/A-new-Class-to-Bind-Backbone-Collections-to-Views:-Javascript-Weekly-May-18th)
|
722 |
+
|
723 |
+
<br><br>
|
724 |
+
|
725 |
+
## Examples
|
726 |
+
Some JSFiddle examples can be found [here](https://github.com/theironcook/Backbone.ModelBinder/wiki/Interactive-JSFiddle-Examples).
|
727 |
+
<br>The same examples are also under the (examples)[https://github.com/theironcook/Backbone.ModelBinder/tree/master/examples] directory.
|
728 |
+
|
729 |
+
|
730 |
+
<br><br>
|
731 |
+
|
732 |
+
## Configuration Options
|
733 |
+
* initialCopyDirection
|
734 |
+
* changeTriggers
|
735 |
+
* modelSetOptions
|
736 |
+
* suppressThrows
|
737 |
+
* boundAttribute
|
738 |
+
* converter
|
739 |
+
|
740 |
+
Configuration options can either be set for all ModelBinder instances via Backbone.ModelBinder.SetOptions() or for individual ModelBinder instances via the 4th parameter to the bind() function.
|
741 |
+
Values set at the instance level will eclipse / override values that are set with the SetOptions() function.
|
742 |
+
|
743 |
+
* initialCopyDirection - can either be Backbone.ModelBinder.Constants.ModelToView or Backbone.ModelBinder.Constants.ViewToModel. This property is dicussed in a previous section
|
744 |
+
|
745 |
+
* changeTriggers - an object where the keys are jQuery selectors and the values are jQuery events. These are the events that trigger when values are copied from the view into the model.
|
746 |
+
The default for change triggers is added below. You can define your own if needed.
|
747 |
+
|
748 |
+
````
|
749 |
+
{'': 'change', '[contenteditable]': 'blur'}
|
750 |
+
````
|
751 |
+
|
752 |
+
* modelSetOptions - this is an option that you might want sent by default to the Model.set function.
|
753 |
+
Whenever a bound element changes, it will call the Model.set function as pass the modelSetOptions as the options to the set() function.
|
754 |
+
If you wanted to turn on backbone model validation for your entire project you might do something like this.
|
755 |
+
|
756 |
+
````
|
757 |
+
Backbone.ModelBinder.SetOptions({modelSetOptions: {validate: true}});
|
758 |
+
````
|
759 |
+
|
760 |
+
The ModelBinder injects this value into the set options for every set() function.
|
761 |
+
changeSource = 'ModelBinder'
|
762 |
+
This allows custom logic to determine if the source of the model attribute change is from the ModelBinder.
|
763 |
+
|
764 |
+
* suppressThrows - set to true if you don't want the ModelBinder to throw exceptions but instead it will show errors via the console.error
|
765 |
+
|
766 |
+
* boundAttribute - change the default attribute used to create bindings. Default value is "name," but can be set to any valid attribute selector that fits the form `$('[' + boundAttribute + ']')`.
|
767 |
+
|
768 |
+
* converter - a default converter for all binders or a single binder. Probably only really useful for when you want view empty strings to map to nulls or undefined. The default is empty string.
|
769 |
+
If you define a converter, you might want to pay attention to the converter's 5th parameter of bound els. You might want to only convert values for specific element types.
|
770 |
+
|
771 |
+
<br>
|
772 |
+
<br>
|
773 |
+
|
774 |
+
## Release Notes / Versions
|
775 |
+
### v 1.1.0 June 1, 2015
|
776 |
+
* Fixed createEl code not to require that Backbone.View#render returns this
|
777 |
+
* Don't sort elements on add event (only do so on sort)
|
778 |
+
* Fixed package.json to make NPM publishing possible (fixes #195)
|
779 |
+
* Use jQuery .on instead of .delegate for event binding (to move off of deprecated .delegate function)
|
780 |
+
* Use .prop("checked") instead of .attr("checked") (fixes #199)
|
781 |
+
* Fixed autoSort behavior to actually work when the collection changes
|
782 |
+
|
783 |
+
### v 1.0.6 November 5, 2014
|
784 |
+
* Made the CollectionBinder loadable via AMD
|
785 |
+
|
786 |
+
### v 1.0.5 September 30, 2013
|
787 |
+
* Fixed issue 164 - Works with jQuery.noConflict
|
788 |
+
* Added the ability to set static and instance options for the CollectionBinder. As of now, there is only one option: 'autoSort'. You can set the option globally via Backbone.CollectionBinder.SetOptions.
|
789 |
+
* Added the ability to use template functions with the CollectionBinder.ElManagerFactory. Normally, I wouldn't use the ElManagerFactory except for very simple situations - especially because the content of the data isn't updated.
|
790 |
+
If you would like to use this option, simply pass a compiled _.template instead of html to the ElManagerFactory constructor. Internally the ElManagerFactory will call the template and pass {model: this._model.toJSON()} to the template function.
|
791 |
+
* Fix for issue 162. Undid fix for 133. Unnecessary Model.set calls for checkboxes and radio buttons.
|
792 |
+
|
793 |
+
### v 1.0.4 August 19, 2013
|
794 |
+
* Fixed the _.bindAll function calls to specify the function names being bound to.
|
795 |
+
* Added the ability to add a global converter via Backbone.ModelBinder.SetOptions({converter: xxx});
|
796 |
+
|
797 |
+
### v 1.0.2 April 18, 2013
|
798 |
+
* Fixed the _unbindViewToModel to use the changeTrigger options
|
799 |
+
* Fixed the default jQuery selector for all elements to be '*' instead of ''. The undelegate events no longer works in jQuery 1.8.3 with the ''
|
800 |
+
|
801 |
+
### v 1.0.1 April 15, 2013
|
802 |
+
* Added suppressThrows configuration option
|
803 |
+
|
804 |
+
### v 1.0.0 April 11, 2013
|
805 |
+
* Updated to use backbone v1.0.0, underscore v1.4.4 and jQuery v1.8.3
|
806 |
+
* Pull requests 96, 67, 85, 80, 78, 67, 66
|
807 |
+
* Options are now configurable at the ModelBinder class level via Backbone.ModelBinder.SetOptions() or at the instance level via the bind() 4th parameter
|
808 |
+
* ModelSetOptions have now been incorporated to the generic options argument at the class or instance level.
|
809 |
+
For example: to set model options globally for all binders Backbone.ModelBinder.SetOptions({modelSetOptions: {validate: true}});
|
810 |
+
or for a single instance modelBinder.bind(this.model, this.el, bindings, {modelSetOptions: {validate: true}});
|
811 |
+
For single instance options, the bindings can be a fully configured set of bindings or the value of null if you want the default bindings.
|
812 |
+
* bindCustomTriggers() has now been incorporated to the generic options argument at the class or instance level.
|
813 |
+
For example: to set custom triggers options globally for all binders Backbone.ModelBinder.SetOptions({changeTriggers: {'': 'change keyup'}});
|
814 |
+
or for a single instance modelBinder.bind(this.model, this.el, {changeTriggers: {'': 'change keyup'}});
|
815 |
+
* Added the els parameter to the converter functions
|
816 |
+
* Added the changeTriggers to customize which view events trigger the model binder copies values from the view to the model
|
817 |
+
* Added the modelSetOptions to allow the ModelBinder to send messages to the Model.set function and corresponding callbacks
|
818 |
+
|
819 |
+
|
820 |
+
### v 0.1.6 August 27, 2012
|
821 |
+
|
822 |
+
* Bugfix for issue 51
|
823 |
+
|
824 |
+
|
825 |
+
### v 0.1.5 June 20, 2012
|
826 |
+
|
827 |
+
* Upgraded model binder to allow single DOM element to be bound to multiple model attributes
|
828 |
+
* Exposed the model binder copyModelAttributesToView to be public and take an optional array of attribute names to copy
|
829 |
+
|
830 |
+
### v 0.1.4 May 11, 2012
|
831 |
+
|
832 |
+
* AMD / Require.js support added
|
833 |
+
* Initial version of the CollectionViewBinder added
|
834 |
+
|
835 |
+
### v 0.1.3 May 9, 2012
|
836 |
+
|
837 |
+
* Started properly tagging my versions :)
|
838 |
+
|
839 |
+
### v 0.1.2
|
840 |
+
|
841 |
+
* Added the {source: 'ModelBinder'} option to the model.set call - allows you to know the source of a model's change event
|
842 |
+
* Bug fix - when binding the elAttribute to class I wasn't going through the converter function
|
843 |
+
|
844 |
+
### v 0.1.1
|
845 |
+
|
846 |
+
* An empty selector string will now bind to the rootEl
|
847 |
+
* Removed elementBinding.isSetting guard which was unnecessary and short circuited updating multiple bound elements with the same name
|
848 |
+
|
849 |
+
### v 0.1.0
|
850 |
+
|
851 |
+
* Initial version starting April 16th. Future api changes will have updated version numbers.
|
852 |
+
|
853 |
+
|
854 |
+
|
855 |
+
# Legal Info (MIT License)
|
856 |
+
|
857 |
+
Copyright (c) 2012 Bart Wood
|
858 |
+
|
859 |
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
860 |
+
of this software and associated documentation files (the "Software"), to deal
|
861 |
+
in the Software without restriction, including without limitation the rights
|
862 |
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
863 |
+
copies of the Software, and to permit persons to whom the Software is
|
864 |
+
furnished to do so, subject to the following conditions:
|
865 |
+
|
866 |
+
The above copyright notice and this permission notice shall be included in
|
867 |
+
all copies or substantial portions of the Software.
|
868 |
+
|
869 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
870 |
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
871 |
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
872 |
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
873 |
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
874 |
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
875 |
+
THE SOFTWARE.
|
bower_components/backbone.modelbinder/component.json
CHANGED
@@ -1,15 +1,15 @@
|
|
1 |
-
{
|
2 |
-
"name": "backbone.modelBinder",
|
3 |
-
"version": "0.1.6",
|
4 |
-
"main": ["Backbone.ModelBinder.js"],
|
5 |
-
"dependencies" : {
|
6 |
-
"backbone" : ">=0.9.0",
|
7 |
-
"underscore" : ">=1.3.1",
|
8 |
-
"jquery" : ">=1.7.1"
|
9 |
-
},
|
10 |
-
|
11 |
-
"repository": {
|
12 |
-
"type": "git",
|
13 |
-
"url": "git://github.com/theironcook/Backbone.ModelBinder.git"
|
14 |
-
}
|
15 |
}
|
1 |
+
{
|
2 |
+
"name": "backbone.modelBinder",
|
3 |
+
"version": "0.1.6",
|
4 |
+
"main": ["Backbone.ModelBinder.js"],
|
5 |
+
"dependencies" : {
|
6 |
+
"backbone" : ">=0.9.0",
|
7 |
+
"underscore" : ">=1.3.1",
|
8 |
+
"jquery" : ">=1.7.1"
|
9 |
+
},
|
10 |
+
|
11 |
+
"repository": {
|
12 |
+
"type": "git",
|
13 |
+
"url": "git://github.com/theironcook/Backbone.ModelBinder.git"
|
14 |
+
}
|
15 |
}
|
bower_components/backbone.modelbinder/package.json
CHANGED
@@ -1,37 +1,37 @@
|
|
1 |
-
{
|
2 |
-
"name": "backbone.modelbinder",
|
3 |
-
"description": "Simple, flexible and powerful Model-View binding for Backbone.",
|
4 |
-
"version": "1.1.0",
|
5 |
-
"author": "Bart Wood",
|
6 |
-
"bugs": {
|
7 |
-
"url": "https://github.com/theironcook/Backbone.ModelBinder/issues"
|
8 |
-
},
|
9 |
-
"dependencies": {
|
10 |
-
"backbone": ">=0.9.0",
|
11 |
-
"jquery": ">=1.7.1",
|
12 |
-
"underscore": ">=1.3.1"
|
13 |
-
},
|
14 |
-
"directories": {
|
15 |
-
"example": "examples"
|
16 |
-
},
|
17 |
-
"files": [
|
18 |
-
"Backbone.ModelBinder.js",
|
19 |
-
"Backbone.CollectionBinder.js"
|
20 |
-
],
|
21 |
-
"homepage": "https://github.com/theironcook/Backbone.ModelBinder#readme",
|
22 |
-
"keywords": [
|
23 |
-
"backbone",
|
24 |
-
"model",
|
25 |
-
"view"
|
26 |
-
],
|
27 |
-
"license": "MIT",
|
28 |
-
"main": "Backbone.ModelBinder.js",
|
29 |
-
"repository": {
|
30 |
-
"type": "git",
|
31 |
-
"url": "git+https://github.com/theironcook/Backbone.ModelBinder.git"
|
32 |
-
},
|
33 |
-
"scripts": {
|
34 |
-
"test": "echo \"Error: no test specified\" && exit 1"
|
35 |
-
},
|
36 |
-
"url": "https://github.com/theironcook/Backbone.ModelBinder"
|
37 |
-
}
|
1 |
+
{
|
2 |
+
"name": "backbone.modelbinder",
|
3 |
+
"description": "Simple, flexible and powerful Model-View binding for Backbone.",
|
4 |
+
"version": "1.1.0",
|
5 |
+
"author": "Bart Wood",
|
6 |
+
"bugs": {
|
7 |
+
"url": "https://github.com/theironcook/Backbone.ModelBinder/issues"
|
8 |
+
},
|
9 |
+
"dependencies": {
|
10 |
+
"backbone": ">=0.9.0",
|
11 |
+
"jquery": ">=1.7.1",
|
12 |
+
"underscore": ">=1.3.1"
|
13 |
+
},
|
14 |
+
"directories": {
|
15 |
+
"example": "examples"
|
16 |
+
},
|
17 |
+
"files": [
|
18 |
+
"Backbone.ModelBinder.js",
|
19 |
+
"Backbone.CollectionBinder.js"
|
20 |
+
],
|
21 |
+
"homepage": "https://github.com/theironcook/Backbone.ModelBinder#readme",
|
22 |
+
"keywords": [
|
23 |
+
"backbone",
|
24 |
+
"model",
|
25 |
+
"view"
|
26 |
+
],
|
27 |
+
"license": "MIT",
|
28 |
+
"main": "Backbone.ModelBinder.js",
|
29 |
+
"repository": {
|
30 |
+
"type": "git",
|
31 |
+
"url": "git+https://github.com/theironcook/Backbone.ModelBinder.git"
|
32 |
+
},
|
33 |
+
"scripts": {
|
34 |
+
"test": "echo \"Error: no test specified\" && exit 1"
|
35 |
+
},
|
36 |
+
"url": "https://github.com/theironcook/Backbone.ModelBinder"
|
37 |
+
}
|
dist/assets/js/app.bundle.min.js.map
CHANGED
@@ -1 +1 @@
|
|
1 |
-
{"version":3,"sources":["webpack:///webpack/bootstrap 17c45385f2f63a6451a6","webpack:///./node_modules/react/index.js","webpack:///./node_modules/prop-types/index.js","webpack:///./node_modules/core-js/modules/_wks.js","webpack:///./node_modules/core-js/modules/es7.symbol.async-iterator.js","webpack:///./node_modules/core-js/modules/es6.symbol.js","webpack:///./node_modules/warning/browser.js","webpack:///./node_modules/core-js/modules/es6.object.set-prototype-of.js","webpack:///./node_modules/core-js/modules/_global.js","webpack:///./node_modules/core-js/modules/_export.js","webpack:///./node_modules/invariant/browser.js","webpack:///./node_modules/core-js/modules/_object-dp.js","webpack:///./node_modules/core-js/modules/_an-object.js","webpack:///./node_modules/core-js/modules/_descriptors.js","webpack:///./node_modules/core-js/modules/_fails.js","webpack:///./node_modules/core-js/modules/_is-object.js","webpack:///./node_modules/core-js/modules/_hide.js","webpack:///./node_modules/core-js/modules/_redefine.js","webpack:///./node_modules/core-js/modules/_has.js","webpack:///./node_modules/core-js/modules/_ctx.js","webpack:///./node_modules/core-js/modules/_cof.js","webpack:///./node_modules/core-js/modules/_core.js","webpack:///./node_modules/core-js/modules/_object-keys.js","webpack:///./node_modules/core-js/modules/_to-iobject.js","webpack:///./node_modules/core-js/modules/_to-object.js","webpack:///./src/assets/js/react/actions/templates.js","webpack:///./node_modules/core-js/modules/_a-function.js","webpack:///./node_modules/core-js/modules/_uid.js","webpack:///./node_modules/core-js/modules/_property-desc.js","webpack:///./node_modules/core-js/modules/_iterators.js","webpack:///./node_modules/history/PathUtils.js","webpack:///./node_modules/history/es/PathUtils.js","webpack:///./node_modules/core-js/modules/web.dom.iterable.js","webpack:///./node_modules/core-js/modules/es6.array.iterator.js","webpack:///./node_modules/core-js/modules/es6.function.name.js","webpack:///./node_modules/core-js/modules/_library.js","webpack:///./node_modules/core-js/modules/_to-length.js","webpack:///./node_modules/core-js/modules/_set-to-string-tag.js","webpack:///./node_modules/core-js/modules/_defined.js","webpack:///./node_modules/core-js/modules/_object-pie.js","webpack:///./node_modules/fbjs/lib/emptyFunction.js","webpack:///./node_modules/history/es/LocationUtils.js","webpack:///./node_modules/superagent/lib/client.js","webpack:///./node_modules/core-js/modules/_add-to-unscopables.js","webpack:///./node_modules/core-js/modules/es6.regexp.replace.js","webpack:///./node_modules/core-js/modules/_fix-re-wks.js","webpack:///./node_modules/core-js/modules/_shared.js","webpack:///./node_modules/core-js/modules/_dom-create.js","webpack:///./node_modules/core-js/modules/_to-primitive.js","webpack:///./node_modules/core-js/modules/_iobject.js","webpack:///./node_modules/core-js/modules/_shared-key.js","webpack:///./node_modules/core-js/modules/_enum-bug-keys.js","webpack:///./node_modules/core-js/modules/_object-gops.js","webpack:///./node_modules/fbjs/lib/invariant.js","webpack:///./node_modules/react-dom/index.js","webpack:///./node_modules/history/LocationUtils.js","webpack:///./node_modules/history/createTransitionManager.js","webpack:///./node_modules/react-router-dom/es/Router.js","webpack:///./node_modules/react-router/es/Router.js","webpack:///./node_modules/react-router/es/matchPath.js","webpack:///./node_modules/history/es/createTransitionManager.js","webpack:///./node_modules/lodash-es/isPlainObject.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/core-js/modules/es6.object.keys.js","webpack:///./node_modules/immutable/dist/immutable.js","webpack:///./node_modules/core-js/modules/_flags.js","webpack:///./node_modules/core-js/modules/_object-gopn.js","webpack:///./node_modules/core-js/modules/_is-regexp.js","webpack:///./node_modules/react-redux/es/utils/warning.js","webpack:///./src/assets/js/react/components/ShowMessage.js","webpack:///./node_modules/core-js/modules/es6.promise.js","webpack:///./node_modules/core-js/modules/_classof.js","webpack:///./node_modules/core-js/modules/_ie8-dom-define.js","webpack:///./node_modules/core-js/modules/_iter-call.js","webpack:///./node_modules/core-js/modules/_is-array-iter.js","webpack:///./node_modules/core-js/modules/_to-integer.js","webpack:///./node_modules/core-js/modules/core.get-iterator-method.js","webpack:///./node_modules/core-js/modules/_task.js","webpack:///./node_modules/core-js/modules/_html.js","webpack:///./node_modules/core-js/modules/_new-promise-capability.js","webpack:///./node_modules/core-js/modules/_set-species.js","webpack:///./node_modules/core-js/modules/_iter-detect.js","webpack:///external \"jQuery\"","webpack:///./node_modules/core-js/modules/es6.object.assign.js","webpack:///./node_modules/core-js/modules/_object-keys-internal.js","webpack:///./node_modules/core-js/modules/_array-includes.js","webpack:///./node_modules/object-assign/index.js","webpack:///./node_modules/fbjs/lib/emptyObject.js","webpack:///./node_modules/resolve-pathname/index.js","webpack:///./node_modules/value-equal/index.js","webpack:///./node_modules/history/DOMUtils.js","webpack:///./node_modules/react-router-dom/es/Link.js","webpack:///./node_modules/react-router-dom/es/Route.js","webpack:///./node_modules/react-router/es/Route.js","webpack:///./node_modules/history/es/DOMUtils.js","webpack:///./node_modules/hoist-non-react-statics/index.js","webpack:///./node_modules/superagent/lib/is-object.js","webpack:///./src/assets/js/react/store/index.js","webpack:///./node_modules/redux/es/createStore.js","webpack:///./node_modules/lodash-es/_Symbol.js","webpack:///./node_modules/redux/es/compose.js","webpack:///./node_modules/core-js/modules/_object-create.js","webpack:///./src/assets/js/react/actionTypes/templates.js","webpack:///./node_modules/core-js/modules/es6.regexp.to-string.js","webpack:///./node_modules/core-js/modules/_wks-define.js","webpack:///./node_modules/core-js/modules/_wks-ext.js","webpack:///./node_modules/core-js/modules/_is-array.js","webpack:///./node_modules/core-js/modules/_object-gopd.js","webpack:///./src/assets/js/react/actionTypes/coreFonts.js","webpack:///./node_modules/react-redux/es/utils/PropTypes.js","webpack:///./node_modules/react-redux/es/components/connectAdvanced.js","webpack:///./node_modules/react-redux/es/connect/wrapMapToProps.js","webpack:///./node_modules/core-js/modules/_set-proto.js","webpack:///./src/assets/js/react/selectors/getTemplates.js","webpack:///./node_modules/core-js/modules/es6.regexp.search.js","webpack:///./src/assets/js/react/components/Template/TemplateContainer.js","webpack:///./src/assets/js/react/components/Template/TemplateSingleComponents.js","webpack:///./src/assets/js/react/components/Template/TemplateActivateButton.js","webpack:///./node_modules/core-js/modules/es6.array.find.js","webpack:///./node_modules/core-js/modules/_array-methods.js","webpack:///./src/assets/js/react/gfpdf-main.js","webpack:///./node_modules/core-js/modules/_an-instance.js","webpack:///./node_modules/core-js/modules/_for-of.js","webpack:///./node_modules/core-js/modules/_species-constructor.js","webpack:///./node_modules/core-js/modules/_invoke.js","webpack:///./node_modules/core-js/modules/_microtask.js","webpack:///./node_modules/core-js/modules/_perform.js","webpack:///./node_modules/core-js/modules/_promise-resolve.js","webpack:///./node_modules/core-js/modules/_redefine-all.js","webpack:///./src/assets/js/react/bootstrap/templateBootstrap.js","webpack:///./node_modules/core-js/modules/_object-assign.js","webpack:///./node_modules/core-js/modules/_to-absolute-index.js","webpack:///./node_modules/react/cjs/react.production.min.js","webpack:///./node_modules/react-dom/cjs/react-dom.production.min.js","webpack:///./node_modules/fbjs/lib/ExecutionEnvironment.js","webpack:///./node_modules/fbjs/lib/EventListener.js","webpack:///./node_modules/fbjs/lib/shallowEqual.js","webpack:///./node_modules/fbjs/lib/containsNode.js","webpack:///./node_modules/fbjs/lib/isTextNode.js","webpack:///./node_modules/fbjs/lib/isNode.js","webpack:///./node_modules/fbjs/lib/focusNode.js","webpack:///./node_modules/fbjs/lib/getActiveElement.js","webpack:///./node_modules/react-router-dom/es/BrowserRouter.js","webpack:///./node_modules/prop-types/factoryWithThrowingShims.js","webpack:///./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack:///./node_modules/history/createBrowserHistory.js","webpack:///./node_modules/react-router-dom/es/HashRouter.js","webpack:///./node_modules/history/createHashHistory.js","webpack:///./node_modules/react-router-dom/es/MemoryRouter.js","webpack:///./node_modules/react-router/es/MemoryRouter.js","webpack:///./node_modules/history/createMemoryHistory.js","webpack:///./node_modules/react-router-dom/es/NavLink.js","webpack:///./node_modules/path-to-regexp/index.js","webpack:///./node_modules/path-to-regexp/node_modules/isarray/index.js","webpack:///./node_modules/react-router-dom/es/Prompt.js","webpack:///./node_modules/react-router/es/Prompt.js","webpack:///./node_modules/react-router-dom/es/Redirect.js","webpack:///./node_modules/react-router/es/Redirect.js","webpack:///./node_modules/history/es/createBrowserHistory.js","webpack:///./node_modules/history/es/createHashHistory.js","webpack:///./node_modules/history/es/createMemoryHistory.js","webpack:///./node_modules/react-router-dom/es/StaticRouter.js","webpack:///./node_modules/react-router/es/StaticRouter.js","webpack:///./node_modules/react-router-dom/es/Switch.js","webpack:///./node_modules/react-router/es/Switch.js","webpack:///./node_modules/react-router-dom/es/matchPath.js","webpack:///./node_modules/react-router-dom/es/withRouter.js","webpack:///./node_modules/react-router/es/withRouter.js","webpack:///./node_modules/component-emitter/index.js","webpack:///./node_modules/superagent/lib/request-base.js","webpack:///./node_modules/superagent/lib/response-base.js","webpack:///./node_modules/superagent/lib/utils.js","webpack:///./node_modules/superagent/lib/should-retry.js","webpack:///./node_modules/redux-watch/index.js","webpack:///./node_modules/object-path/index.js","webpack:///./node_modules/lodash-es/_baseGetTag.js","webpack:///./node_modules/lodash-es/_root.js","webpack:///./node_modules/lodash-es/_freeGlobal.js","webpack:///./node_modules/lodash-es/_getRawTag.js","webpack:///./node_modules/lodash-es/_objectToString.js","webpack:///./node_modules/lodash-es/_getPrototype.js","webpack:///./node_modules/lodash-es/_overArg.js","webpack:///./node_modules/lodash-es/isObjectLike.js","webpack:///./node_modules/symbol-observable/index.js","webpack:///./node_modules/symbol-observable/lib/index.js","webpack:///(webpack)/buildin/module.js","webpack:///./node_modules/symbol-observable/lib/ponyfill.js","webpack:///./node_modules/redux/es/combineReducers.js","webpack:///./node_modules/redux/es/bindActionCreators.js","webpack:///./node_modules/redux/es/applyMiddleware.js","webpack:///./src/assets/js/react/reducers/templateReducer.js","webpack:///./node_modules/core-js/modules/_iter-step.js","webpack:///./node_modules/core-js/modules/_iter-define.js","webpack:///./node_modules/core-js/modules/_iter-create.js","webpack:///./node_modules/core-js/modules/_object-dps.js","webpack:///./node_modules/core-js/modules/_object-gpo.js","webpack:///./node_modules/core-js/modules/_object-sap.js","webpack:///./src/assets/js/react/reducers/coreFontReducer.js","webpack:///./node_modules/core-js/modules/es6.array.from.js","webpack:///./node_modules/core-js/modules/_create-property.js","webpack:///./node_modules/core-js/modules/es6.regexp.flags.js","webpack:///./node_modules/core-js/modules/_meta.js","webpack:///./node_modules/core-js/modules/_enum-keys.js","webpack:///./node_modules/core-js/modules/_object-gopn-ext.js","webpack:///./node_modules/core-js/modules/es7.array.includes.js","webpack:///./node_modules/core-js/modules/es6.string.includes.js","webpack:///./node_modules/core-js/modules/_string-context.js","webpack:///./node_modules/core-js/modules/_fails-is-regexp.js","webpack:///./src/assets/js/react/router/templateRouter.js","webpack:///./node_modules/react-redux/es/components/Provider.js","webpack:///./node_modules/react-redux/es/utils/Subscription.js","webpack:///./node_modules/react-redux/es/connect/connect.js","webpack:///./node_modules/react-redux/es/utils/shallowEqual.js","webpack:///./node_modules/react-redux/es/connect/mapDispatchToProps.js","webpack:///./node_modules/react-redux/es/connect/mapStateToProps.js","webpack:///./node_modules/react-redux/es/connect/mergeProps.js","webpack:///./node_modules/react-redux/es/connect/selectorFactory.js","webpack:///./src/assets/js/react/components/Template/TemplateList.js","webpack:///./node_modules/core-js/modules/es6.array.sort.js","webpack:///./node_modules/core-js/modules/_strict-method.js","webpack:///./node_modules/core-js/modules/es6.regexp.constructor.js","webpack:///./node_modules/core-js/modules/_inherit-if-required.js","webpack:///./node_modules/reselect/lib/index.js","webpack:///./src/assets/js/react/utilities/versionCompare.js","webpack:///./node_modules/core-js/modules/es6.regexp.split.js","webpack:///./src/assets/js/react/components/Template/TemplateCloseDialog.js","webpack:///./src/assets/js/react/components/Template/TemplateListItem.js","webpack:///./src/assets/js/react/components/Template/TemplateScreenshot.js","webpack:///./src/assets/js/react/components/Template/TemplateListItemComponents.js","webpack:///./src/assets/js/react/components/Template/TemplateSearch.js","webpack:///./node_modules/lodash.debounce/index.js","webpack:///./src/assets/js/react/components/Template/TemplateHeaderTitle.js","webpack:///./src/assets/js/react/components/Template/TemplateUploader.js","webpack:///./node_modules/core-js/modules/_array-species-create.js","webpack:///./node_modules/core-js/modules/_array-species-constructor.js","webpack:///./src/assets/js/react/components/Dropzone.js","webpack:///./node_modules/react-dropzone/dist/es/index.js","webpack:///./node_modules/react-dropzone/dist/es/utils/index.js","webpack:///./node_modules/attr-accept/dist/index.js","webpack:///./node_modules/react-dropzone/dist/es/utils/styles.js","webpack:///./src/assets/js/react/components/Template/TemplateSingle.js","webpack:///./node_modules/core-js/modules/es6.array.find-index.js","webpack:///./node_modules/core-js/modules/es6.regexp.match.js","webpack:///./src/assets/js/react/components/Template/TemplateHeaderNavigation.js","webpack:///./src/assets/js/react/components/Template/TemplateFooterActions.js","webpack:///./src/assets/js/react/components/Template/TemplateDeleteButton.js","webpack:///./src/assets/js/react/components/Template/TemplateScreenshots.js","webpack:///./src/assets/js/react/components/Empty.js","webpack:///./src/assets/js/react/components/Template/TemplateButton.js","webpack:///./src/assets/js/react/bootstrap/coreFontBootstrap.js","webpack:///./src/assets/js/react/router/coreFontRouter.js","webpack:///./src/assets/js/react/components/CoreFonts/CoreFontContainer.js","webpack:///./node_modules/regenerator-runtime/runtime.js","webpack:///./node_modules/promise-queue/index.js","webpack:///./node_modules/promise-queue/lib/index.js","webpack:///./src/assets/js/react/utilities/promiseReflect.js","webpack:///./src/assets/js/react/components/CoreFonts/CoreFontListResults.js","webpack:///./src/assets/js/react/components/CoreFonts/CoreFontListSpacer.js","webpack:///./src/assets/js/react/components/CoreFonts/CoreFontButton.js","webpack:///./src/assets/js/react/components/CoreFonts/CoreFontCounter.js","webpack:///./src/assets/js/react/components/Spinner.js","webpack:///./src/assets/js/react/actions/coreFonts.js"],"names":["__webpack_require__","moduleId","installedModules","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","store","uid","Symbol","USE_SYMBOL","global","has","DESCRIPTORS","$export","redefine","META","KEY","$fails","shared","setToStringTag","wks","wksExt","wksDefine","enumKeys","isArray","anObject","toIObject","toPrimitive","createDesc","_create","gOPNExt","$GOPD","$DP","$keys","gOPD","f","dP","gOPN","$Symbol","$JSON","JSON","_stringify","stringify","HIDDEN","TO_PRIMITIVE","isEnum","propertyIsEnumerable","SymbolRegistry","AllSymbols","OPSymbols","ObjectProto","USE_NATIVE","QObject","setter","findChild","setSymbolDesc","this","value","a","it","key","D","protoDesc","wrap","tag","sym","_k","isSymbol","iterator","$defineProperty","$defineProperties","P","keys","length","$propertyIsEnumerable","E","$getOwnPropertyDescriptor","$getOwnPropertyNames","names","result","push","$getOwnPropertySymbols","IS_OP","TypeError","arguments","undefined","$set","set","G","W","F","es6Symbols","split","j","wellKnownSymbols","k","S","for","keyFor","useSetter","useSimple","create","defineProperties","getOwnPropertyDescriptor","getOwnPropertyNames","getOwnPropertySymbols","replacer","$replacer","args","apply","valueOf","Math","warning","setPrototypeOf","window","self","Function","__g","core","hide","ctx","type","source","own","out","exp","IS_FORCED","IS_GLOBAL","IS_STATIC","IS_PROTO","IS_BIND","B","target","expProto","U","R","condition","format","b","e","error","Error","argIndex","replace","framesToPop","IE8_DOM_DEFINE","O","Attributes","isObject","exec","SRC","$toString","TPL","inspectSource","val","safe","isFunction","join","String","aFunction","fn","that","toString","slice","version","__e","enumBugKeys","IObject","defined","searchTemplates","text","__WEBPACK_IMPORTED_MODULE_0__actionTypes_templates__","selectTemplate","id","addTemplate","template","updateTemplateParam","deleteTemplate","px","random","concat","bitmap","writable","addLeadingSlash","path","charAt","stripLeadingSlash","substr","hasBasename","prefix","RegExp","test","stripBasename","stripTrailingSlash","parsePath","pathname","search","hash","hashIndex","indexOf","searchIndex","createPath","location","$iterators","getKeys","Iterators","ITERATOR","TO_STRING_TAG","ArrayValues","Array","DOMIterables","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","collections","NAME","explicit","Collection","proto","addToUnscopables","step","iterated","kind","_t","_i","index","Arguments","FProto","nameRE","match","toInteger","min","def","TAG","stat","makeEmptyFunction","arg","emptyFunction","thatReturns","thatReturnsFalse","thatReturnsTrue","thatReturnsNull","thatReturnsThis","thatReturnsArgument","__WEBPACK_IMPORTED_MODULE_2__PathUtils__","_extends","assign","createLocation","state","currentLocation","decodeURI","URIError","__WEBPACK_IMPORTED_MODULE_0_resolve_pathname__","locationsAreEqual","__WEBPACK_IMPORTED_MODULE_1_value_equal__","noop","serialize","obj","pairs","pushEncodedKeyValuePair","forEach","v","subkey","encodeURIComponent","parseString","str","pair","pos","len","decodeURIComponent","parseHeader","line","field","lines","fields","pop","toLowerCase","trim","isJSON","mime","Response","req","xhr","method","responseType","responseText","statusText","status","_setStatusProperties","header","headers","getAllResponseHeaders","getResponseHeader","_setHeaderProperties","_responseType","body","response","_parseBody","Request","url","_query","_header","on","err","res","parse","original","rawResponse","statusCode","callback","emit","new_err","_isResponseOK","del","data","request","send","end","root","console","warn","Emitter","RequestBase","ResponseBase","shouldRetry","getXHR","XMLHttpRequest","protocol","ActiveXObject","serializeObject","types","html","json","xml","urlencoded","form","form-data","application/x-www-form-urlencoded","application/json","_parser","toError","msg","accept","auth","user","pass","options","btoa","username","password","query","attach","file","_data","_getFormData","append","_formData","FormData","_maxRetries","_retries","_retry","_callback","clearTimeout","retries","crossDomainError","crossDomain","buffer","ca","agent","pipe","write","_isHost","_endCalled","_finalizeQueryString","_end","_setTimeouts","onreadystatechange","readyState","_responseTimeoutTimer","timedout","_aborted","handleProgress","direction","total","percent","loaded","hasListeners","onprogress","bind","upload","open","_withCredentials","withCredentials","contentType","_serializer","setRequestHeader","head","patch","post","put","UNSCOPABLES","ArrayProto","REPLACE","$replace","searchValue","replaceValue","fails","SYMBOL","fns","strfn","rxfn","string","document","is","createElement","cof","validateFormat","checkDCE","__REACT_DEVTOOLS_GLOBAL_HOOK__","_interopRequireDefault","default","_resolvePathname2","_valueEqual2","_PathUtils","_warning2","prompt","listeners","setPrompt","nextPrompt","confirmTransitionTo","action","getUserConfirmation","appendListener","isActive","listener","filter","item","notifyListeners","_len","_key","__WEBPACK_IMPORTED_MODULE_0_react_router_es_Router__","__webpack_exports__","_classCallCheck","instance","Constructor","_possibleConstructorReturn","ReferenceError","_inherits","subClass","superClass","constructor","__proto__","__WEBPACK_IMPORTED_MODULE_3_prop_types__","__WEBPACK_IMPORTED_MODULE_3_prop_types___default","Router","_React$Component","_temp","_this","_ret","computeMatch","props","history","getChildContext","router","context","route","params","isExact","componentWillMount","_this2","_props","children","__WEBPACK_IMPORTED_MODULE_1_invariant___default","__WEBPACK_IMPORTED_MODULE_2_react___default","Children","count","unlisten","listen","setState","componentWillReceiveProps","nextProps","__WEBPACK_IMPORTED_MODULE_0_warning___default","componentWillUnmount","render","only","Component","propTypes","isRequired","node","contextTypes","childContextTypes","patternCache","cacheCount","compilePath","pattern","cacheKey","strict","sensitive","cache","compiledPattern","re","__WEBPACK_IMPORTED_MODULE_0_path_to_regexp___default","_options","_options$path","_options$exact","exact","_options$strict","_options$sensitive","_compilePath","values","reduce","memo","objectTag","funcProto","objectProto","funcToString","objectCtorString","__WEBPACK_IMPORTED_MODULE_2__isObjectLike_js__","__WEBPACK_IMPORTED_MODULE_0__baseGetTag_js__","__WEBPACK_IMPORTED_MODULE_1__getPrototype_js__","Ctor","g","eval","toObject","factory","createClass","ctor","Iterable","isIterable","Seq","KeyedIterable","isKeyed","KeyedSeq","IndexedIterable","isIndexed","IndexedSeq","SetIterable","isAssociative","SetSeq","maybeIterable","IS_ITERABLE_SENTINEL","maybeKeyed","IS_KEYED_SENTINEL","maybeIndexed","IS_INDEXED_SENTINEL","maybeAssociative","isOrdered","maybeOrdered","IS_ORDERED_SENTINEL","MakeRef","ref","SetRef","OwnerID","arrCopy","arr","offset","max","newArr","ii","ensureSize","iter","size","__iterate","returnTrue","wrapIndex","uint32Index","NaN","wholeSlice","begin","resolveBegin","resolveIndex","resolveEnd","defaultIndex","Iterator","next","iteratorValue","iteratorResult","done","iteratorDone","hasIterator","getIteratorFn","isIterator","maybeIterator","getIterator","iterable","iteratorFn","REAL_ITERATOR_SYMBOL","FAUX_ITERATOR_SYMBOL","isArrayLike","emptySequence","toSeq","seqFromValue","toKeyedSeq","fromEntrySeq","keyedSeqFromValue","entrySeq","toIndexedSeq","indexedSeqFromValue","toSetSeq","ArraySeq","array","_array","ObjectSeq","_object","_keys","IterableSeq","_iterable","IteratorSeq","_iterator","_iteratorCache","isSeq","maybeSeq","IS_SEQ_SENTINEL","EMPTY_SEQ","seq","maybeIndexedSeqFromValue","seqIterate","reverse","useKeys","_cache","maxIndex","entry","__iterateUncached","seqIterator","__iteratorUncached","fromJS","converter","fromJSWith","","fromJSDefault","parentJSON","map","isPlainObj","toList","toMap","valueA","valueB","equals","deepEqual","__hash","notAssociative","entries","every","flipped","cacheResult","_","allEqual","bSize","NOT_SET","Repeat","times","_value","Infinity","EMPTY_REPEAT","invariant","Range","start","abs","_start","_step","ceil","EMPTY_RANGE","KeyedCollection","IndexedCollection","SetCollection","smi","i32","h","STRING_HASH_CACHE_MIN_STRLEN","cachedHashString","hashString","hashCode","hashJSObj","stringHashCache","STRING_HASH_CACHE_SIZE","STRING_HASH_CACHE_MAX_SIZE","charCodeAt","usingWeakMap","weakMap","UID_HASH_KEY","canDefineProperty","getIENodeHash","objHashUID","isExtensible","nodeType","uniqueID","documentElement","assertNotInfinite","Map","emptyMap","isMap","withMutations","maybeMap","IS_MAP_SENTINEL","ArrayMapNode","ownerID","BitmapIndexedNode","nodes","HashArrayMapNode","HashCollisionNode","keyHash","ValueNode","MapIterator","_type","_reverse","_stack","_root","mapIteratorFrame","mapIteratorValue","prev","__prev","makeMap","MapPrototype","__ownerID","__altered","EMPTY_MAP","updateMap","newRoot","newSize","didChangeSize","CHANGE_LENGTH","didAlter","DID_ALTER","updateNode","shift","update","isLeafNode","mergeIntoNode","newNode","idx1","MASK","idx2","SHIFT","createNodes","packNodes","excluding","packedII","packedNodes","bit","expandNodes","including","expandedNodes","SIZE","mergeIntoMapWith","merger","iterables","iters","mergeIntoCollectionWith","deepMerger","existing","mergeDeep","deepMergerWith","mergeDeepWith","nextValue","collection","x","mergeIntoMap","updateInDeepMap","keyPathIter","notSetValue","updater","isNotSet","existingValue","newValue","nextExisting","nextUpdated","remove","popCount","setIn","idx","canEdit","newArray","spliceIn","newLen","after","spliceOut","List","empty","emptyList","isList","makeList","VNode","toArray","list","setSize","maybeList","IS_LIST_SENTINEL","iterateList","iterateNodeOrLeaf","level","iterateLeaf","iterateNode","tailPos","tail","from","left","to","right","DONE","_origin","_capacity","getTailOffset","_tail","_level","origin","capacity","ListPrototype","EMPTY_LIST","updateList","setListBounds","newTail","updateVNode","nodeHas","lowerNode","newLowerNode","editableVNode","listNodeFor","rawIndex","owner","oldOrigin","oldCapacity","newOrigin","newCapacity","clear","newLevel","offsetShift","oldTailOffset","newTailOffset","oldTail","removeAfter","removeBefore","beginIndex","mergeIntoListWith","maxSize","OrderedMap","emptyOrderedMap","isOrderedMap","maybeOrderedMap","makeOrderedMap","omap","_map","_list","EMPTY_ORDERED_MAP","updateOrderedMap","newMap","newList","flip","ToKeyedSequence","indexed","_iter","_useKeys","ToIndexedSequence","ToSetSequence","FromEntriesSequence","flipFactory","flipSequence","makeSequence","reversedSequence","includes","cacheResultThrough","this$0","ITERATE_ENTRIES","__iterator","ITERATE_VALUES","ITERATE_KEYS","mapFactory","mapper","mappedSequence","reverseFactory","filterFactory","predicate","filterSequence","iterations","countByFactory","grouper","groups","asMutable","asImmutable","groupByFactory","isKeyedIter","coerce","iterableClass","reify","sliceFactory","originalSize","resolvedBegin","resolvedEnd","sliceSize","resolvedSize","sliceSeq","skipped","isSkipping","takeWhileFactory","takeSequence","iterating","skipWhileFactory","skipSequence","skipping","concatFactory","isKeyedIterable","singleton","concatSeq","flatten","sum","flattenFactory","depth","flatSequence","flatDeep","currentDepth","stopped","stack","flatMapFactory","interposeFactory","separator","interposedSequence","sortFactory","comparator","defaultComparator","sort","maxFactory","maxCompare","comp","zipWithFactory","keyIter","zipper","zipSequence","iterators","isDone","steps","some","validateEntry","resolveSize","forceIterator","keyPath","Record","defaultValues","hasInitialized","RecordType","setProps","RecordTypePrototype","_name","_defaultValues","RecordPrototype","makeRecord","likeRecord","record","getPrototypeOf","recordName","setProp","Set","emptySet","isSet","add","maybeSet","IS_SET_SENTINEL","updateSet","__empty","__make","makeSet","SetPrototype","EMPTY_SET","OrderedSet","emptyOrderedSet","isOrderedSet","maybeOrderedSet","makeOrderedSet","OrderedSetPrototype","EMPTY_ORDERED_SET","Stack","emptyStack","isStack","unshiftAll","maybeStack","IS_STACK_SENTINEL","makeStack","StackPrototype","_head","EMPTY_STACK","mixin","methods","keyCopier","keyMapper","entryMapper","not","neg","quoteString","defaultZipper","defaultNegComparator","hashIterable","ordered","keyed","murmurHashOfSize","hashMerge","imul","SLICE$0","Keyed","Indexed","ITERATOR_SYMBOL","KEYS","VALUES","ENTRIES","inspect","toSource","of","__toString","lastIndexOf","other","possibleIndex","floor","offsetValue","WeakMap","keyValues","updateIn","deleteIn","updatedValue","merge","mergeWith","mergeIn","mergeDeepIn","sortBy","mutable","wasAltered","__ensureOwner","iterate","removeIn","removed","exists","MAX_ARRAY_MAP_SIZE","isEditable","newEntries","keyHashFrag","MAX_BITMAP_INDEXED_SIZE","newBitmap","newNodes","newCount","MIN_HASH_ARRAY_MAP_SIZE","keyMatch","subNode","splice","insert","oldSize","unshift","originIndex","newChild","removingFirst","oldChild","editable","sizeIndex","valueSeq","indexedIterable","defaultVal","_empty","fromKeys","keySeq","union","intersect","originalSet","subtract","peek","pushAll","toJS","__toJS","toJSON","toOrderedMap","toOrderedSet","toSet","toStack","__toStringMapper","returnValue","find","findEntry","sideEffect","joined","isFirst","reducer","initialReduction","reduction","useFirst","reduceRight","reversed","butLast","isEmpty","countBy","entriesSequence","filterNot","found","findKey","findLast","findLastEntry","findLastKey","first","flatMap","searchKey","getIn","searchKeyPath","nested","groupBy","hasIn","isSubset","isSuperset","keyOf","last","lastKeyOf","maxBy","minBy","rest","skip","amount","skipLast","skipWhile","skipUntil","take","takeLast","takeWhile","takeUntil","IterablePrototype","chain","contains","mapEntries","mapKeys","KeyedIterablePrototype","findIndex","removeNum","numArgs","spliced","findLastIndex","interpose","interleave","zipped","interleaved","zip","zipWith","ignoreCase","multiline","unicode","sticky","hiddenKeys","MATCH","isRegExp","message","showMessage","visible","dismissable","setTimer","_timer","setTimeout","__WEBPACK_IMPORTED_MODULE_5_jquery___default","_message","removeClass","slideUp","removeAttr","dismissableCallback","delay","shouldSetTimer","_this$props","classes","__WEBPACK_IMPORTED_MODULE_4_react___default","className","bool","number","func","Internal","newGenericPromiseCapability","OwnPromiseCapability","Wrapper","LIBRARY","classof","anInstance","forOf","speciesConstructor","task","microtask","newPromiseCapabilityModule","perform","promiseResolve","process","$Promise","isNode","newPromiseCapability","promise","resolve","FakePromise","PromiseRejectionEvent","then","isThenable","notify","isReject","_n","_c","_v","ok","_s","reaction","handler","fail","reject","domain","_h","onHandleUnhandled","enter","exit","run","onUnhandled","unhandled","isUnhandled","onunhandledrejection","reason","_a","onrejectionhandled","$reject","_d","_w","$resolve","wrapper","executor","onFulfilled","onRejected","catch","C","Promise","r","capability","$$reject","all","remaining","$index","alreadyCalled","race","ARG","tryGet","T","callee","ret","isNaN","getIteratorMethod","defer","channel","port","invoke","cel","setTask","setImmediate","clearTask","clearImmediate","MessageChannel","Dispatch","counter","queue","event","nextTick","now","port2","port1","onmessage","postMessage","addEventListener","importScripts","appendChild","removeChild","PromiseCapability","$$resolve","SPECIES","SAFE_CLOSING","riter","skipClosing","jQuery","arrayIndexOf","IE_PROTO","toLength","toAbsoluteIndex","IS_INCLUDES","$this","el","fromIndex","propIsEnumerable","test1","test2","fromCharCode","test3","letter","shouldUseNative","symbols","emptyObject","isAbsolute","spliceOne","toParts","fromParts","isToAbs","isFromAbs","mustEndAbs","hasTrailingSlash","up","part","valueEqual","aType","_typeof","aValue","bValue","aKeys","bKeys","canUseDOM","attachEvent","removeEventListener","detachEvent","getConfirmation","confirm","supportsHistory","ua","navigator","userAgent","supportsPopStateOnHashChange","supportsGoWithoutReloadUsingHash","isExtraneousPopstateEvent","_objectWithoutProperties","__WEBPACK_IMPORTED_MODULE_2_invariant__","__WEBPACK_IMPORTED_MODULE_2_invariant___default","isModifiedEvent","metaKey","altKey","ctrlKey","shiftKey","Link","handleClick","onClick","defaultPrevented","button","preventDefault","innerRef","href","createHref","__WEBPACK_IMPORTED_MODULE_0_react___default","__WEBPACK_IMPORTED_MODULE_1_prop_types___default","oneOfType","defaultProps","shape","__WEBPACK_IMPORTED_MODULE_0_react_router_es_Route__","__WEBPACK_IMPORTED_MODULE_4__matchPath__","isEmptyChildren","Route","_ref","computedMatch","component","nextContext","_context$router","staticContext","REACT_STATICS","displayName","getDefaultProps","mixins","KNOWN_STATICS","caller","arity","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","descriptor","reducers","__WEBPACK_IMPORTED_MODULE_1_redux__","__WEBPACK_IMPORTED_MODULE_2__reducers_templateReducer__","coreFonts","__WEBPACK_IMPORTED_MODULE_3__reducers_coreFontReducer__","devToolsExtension","createStore","preloadedState","enhancer","ensureCanMutateNextListeners","nextListeners","currentListeners","getState","currentState","subscribe","isSubscribed","dispatch","__WEBPACK_IMPORTED_MODULE_0_lodash_es_isPlainObject__","isDispatching","currentReducer","_ref2","ActionTypes","INIT","replaceReducer","nextReducer","__WEBPACK_IMPORTED_MODULE_1_symbol_observable___default","outerSubscribe","observer","observeState","unsubscribe","funcs","dPs","Empty","createDict","iframeDocument","iframe","style","display","src","contentWindow","lt","close","Properties","DELETE_TEMPLATE","SEARCH_TEMPLATES","SELECT_TEMPLATE","ADD_TEMPLATE","UPDATE_TEMPLATE","UPDATE_TEMPLATE_PARAM","$flags","define","flags","pIE","CLEAR_RETRY_LIST","ADD_TO_CONSOLE","CLEAR_CONSOLE","ADD_TO_RETRY_LIST","subscriptionShape","__WEBPACK_IMPORTED_MODULE_0_prop_types___default","trySubscribe","tryUnsubscribe","notifyNestedSubs","storeShape","makeSelectorStateful","sourceSelector","selector","shouldComponentUpdate","selectorFactory","_contextTypes","_childContextTypes","_ref$getDisplayName","getDisplayName","_ref$methodName","methodName","_ref$renderCountProp","renderCountProp","_ref$shouldHandleStat","shouldHandleStateChanges","_ref$storeKey","storeKey","_ref$withRef","withRef","connectOptions","subscriptionKey","hotReloadingVersion","__WEBPACK_IMPORTED_MODULE_4__utils_PropTypes__","WrappedComponent","wrappedComponentName","selectorFactoryOptions","Connect","_Component","renderCount","propsMode","Boolean","setWrappedInstance","initSelector","initSubscription","subscription","componentDidMount","forceUpdate","getWrappedInstance","wrappedInstance","parentSub","__WEBPACK_IMPORTED_MODULE_3__utils_Subscription__","onStateChange","componentDidUpdate","notifyNestedSubsOnComponentDidUpdate","dummyState","addExtraProps","withExtras","__WEBPACK_IMPORTED_MODULE_2_react__","__WEBPACK_IMPORTED_MODULE_0_hoist_non_react_statics___default","getDependsOnOwnProps","mapToProps","dependsOnOwnProps","getConstant","constantSelector","constant","proxy","stateOrDispatch","ownProps","check","buggy","term","templates","description","author","group","sortTemplates","activeTemplate","addCompatibilityCheck","requiredVersion","__WEBPACK_IMPORTED_MODULE_6__utilities_versionCompare__","GFPDF","currentVersion","compatible","requiresGravityPdfVersion","long_error","templateNotCompatibleWithGravityPdfVersion","__WEBPACK_IMPORTED_MODULE_5_reselect__","SEARCH","$search","regexp","Container","container","stopPropagation","focus","handleFocus","activeElement","footer","closeRoute","tabIndex","__WEBPACK_IMPORTED_MODULE_5__TemplateCloseDialog__","element","CurrentTemplate","isCurrentTemplate","label","Name","versionLabel","Version","_ref3","Author","_ref4","uri","Group","_ref5","Description","_ref6","desc","Tags","_ref7","tags","TemplateActivateButton","_getPrototypeOf2","_getPrototypeOf","_defineProperty","_assertThisInitialized","onTemplateSelect","_createClass","buttonText","__WEBPACK_IMPORTED_MODULE_7_react_router_dom__","__WEBPACK_IMPORTED_MODULE_5_react_redux__","__WEBPACK_IMPORTED_MODULE_6__actions_templates__","$find","forced","callbackfn","asc","TYPE","$create","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","__WEBPACK_IMPORTED_MODULE_1_jquery___default","templateList","$templateField","__WEBPACK_IMPORTED_MODULE_2__bootstrap_templateBootstrap__","__WEBPACK_IMPORTED_MODULE_3__bootstrap_coreFontBootstrap__","forbiddenField","isArrayIter","getIterFn","BREAK","RETURN","iterFn","un","macrotask","Observer","MutationObserver","WebKitMutationObserver","flush","parent","toggle","createTextNode","observe","characterData","promiseCapability","createTemplateMarkup","activeTemplateStoreListener","w","__WEBPACK_IMPORTED_MODULE_5_redux_watch___default","trigger","change","__WEBPACK_IMPORTED_MODULE_7__actions_templates__","templateChangeStoreListener","listCount","currentActive","__WEBPACK_IMPORTED_MODULE_4_superagent___default","ajaxUrl","ajaxNonce","__WEBPACK_IMPORTED_MODULE_6__store__","__WEBPACK_IMPORTED_MODULE_2_react_dom__","__WEBPACK_IMPORTED_MODULE_1_react___default","__WEBPACK_IMPORTED_MODULE_3_react_router_dom__","__WEBPACK_IMPORTED_MODULE_9__components_Template_TemplateButton__","advanced","getElementById","__WEBPACK_IMPORTED_MODULE_8__router_templateRouter__","gOPS","$assign","A","K","aLen","getSymbols","t","refs","u","z","$$typeof","_owner","escape","=",":","L","keyPrefix","M","N","I","H","Q","isValidElement","cloneAndReplaceKey","J","isMounted","enqueueForceUpdate","enqueueReplaceState","enqueueSetState","isReactComponent","y","isPureReactComponent","unstable_isAsyncReactComponent","PureComponent","AsyncComponent","current","__self","__source","q","createFactory","_self","_source","cloneElement","unstable_AsyncComponent","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","ReactCurrentOwner","ja","pa","la","oa","qa","plugins","extractEvents","eventTypes","eventNameDispatchConfigs","phasedRegistrationNames","ra","registrationName","registrationNameModules","registrationNameDependencies","dependencies","La","_renderedComponent","Ma","_hostNode","Ha","Na","_flags","Fa","hasCachedChildNodes","_renderedChildren","firstChild","_domID","nextSibling","Aa","getAttribute","Ea","Ba","nodeValue","Oa","parentNode","ya","za","Ra","getName","Za","alternate","effectTag","Xa","Wa","Ta","$a","ab","child","sibling","stateNode","cb","_hasCaughtError","_caughtError","db","_hasRethrowError","_rethrowError","gb","currentTarget","hb","getNodeFromInstance","eb","invokeGuardedCallbackAndCatchFirstError","mb","ib","getInstanceFromNode","jb","restoreControlledState","getFiberCurrentPropsFromNode","ob","pb","qb","ub","srcElement","correspondingUseElement","tb","xb","targetInst","ancestors","vb","containerInfo","_hostParent","getClosestInstanceFromNode","yb","_handleTopLevel","topLevelType","nativeEvent","Cb","Db","Fb","executeDispatchesInOrder","isPersistent","release","Gb","Hb","Ib","disabled","Lb","setAttribute","Kb","implementation","hasFeature","Mb","Qb","Ob","Nb","Pb","Vb","Ub","Tb","Sb","fc","ec","dc","cc","jc","rc","aa","tc","selected","yc","xc","dangerouslySetInnerHTML","zc","nodeName","Ac","getValue","setValue","stopTracking","_valueTracker","Cc","Ic","lastChild","Hc","textContent","Rc","Nc","Lc","Mc","ownerDocument","od","hd","gd","pd","hasForceUpdate","callbackList","qd","rd","priorityLevel","sd","updateQueue","md","nd","partialState","isReplace","isForced","isTopLevelUnmount","td","Md","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Nd","zd","Od","be","memoizedState","memoizedProps","pendingProps","internalContextTag","ae","lastEffect","firstEffect","nextEffect","pendingWorkPriority","Zd","ce","Rd","Qd","Td","Le","Je","Me","Ae","getPublicInstance","_stringRef","da","Ne","Oe","Ie","Ge","He","Be","ue","se","De","ve","Ee","we","Ce","xe","Fe","te","Ke","oe","pe","qe","ye","Ca","V","ze","ef","Pa","df","Ze","$e","af","adoptClassInstance","constructClassInstance","Xe","Ye","We","Ve","mountClassInstance","ed","enableAsyncSubtreeAPI","Ue","bf","Te","updateClassInstance","cf","ea","componentWillUpdate","Lf","ff","gf","hf","Jf","qf","Kf","Ff","pendingContext","pf","jf","uf","tf","yf","shouldSetTextContent","useSyncScheduling","shouldDeprioritizeSubtree","pushHostContext","pushHostContainer","enterHydrationState","resetHydrationState","tryToClaimNextHydratableInstance","ld","beginWork","Df","rf","mf","lf","sf","nf","kf","Gf","wf","Hf","Ef","xf","Af","zf","Bf","Cf","beginFailedWork","If","eg","createInstance","createTextInstance","appendInitialChild","finalizeInitialChildren","prepareUpdate","getRootHostContainer","popHostContext","getHostContext","popHostContainer","prepareToHydrateHostInstance","prepareToHydrateHostTextInstance","popHydrationState","completeWork","dg","Qf","Rf","Nf","Sf","Of","ag","Tf","cg","bg","Uf","Vf","Wf","Xf","Yf","Mf","Zf","Pf","hg","vg","lg","kg","ng","mg","qg","jg","og","commitMount","commitUpdate","resetTextContent","commitTextUpdate","appendChildToContainer","insertBefore","insertInContainerBefore","removeChildFromContainer","commitPlacement","ug","rg","commitDeletion","commitWork","commitLifeCycles","sg","tg","pg","commitAttachRef","commitDetachRef","Ag","zg","getChildHostContext","getRootHostContext","wg","xg","yg","resetHostContainer","Hg","Gg","Eg","Bg","Cg","Dg","canHydrateInstance","canHydrateTextInstance","getNextHydratableSibling","getFirstHydratableChild","hydrateInstance","hydrateTextInstance","didNotHydrateInstance","didNotFindHydratableInstance","didNotFindHydratableTextInstance","Fg","hh","ma","isScheduled","nextScheduledRoot","zb","Jg","gh","Lg","nc","oc","Hd","na","Og","Kg","Tg","Ui","Yg","ah","Ph","Zg","$g","Ug","Wg","vf","Vg","Xg","Id","Mh","Jd","Vi","Gd","Nh","Oh","eh","componentDidCatch","componentStack","bh","Ja","Ng","va","Lh","fh","Mg","Rg","Ab","timeRemaining","Pg","Qg","Da","Kd","Ya","Ig","ch","dh","Bb","$f","Ka","fe","ge","he","ie","_debugOwner","_debugSource","fileName","lineNumber","componentName","errorBoundary","errorBoundaryFound","errorBoundaryName","willRetry","Wi","Xi","pc","Yi","Sg","scheduleDeferredCallback","prepareForCommit","resetAfterCommit","scheduleUpdate","getPriorityContext","batchedUpdates","unbatchedUpdates","flushSync","deferredUpdates","ih","jh","_processChildContext","_context","sh","th","rh","vh","uh","Bh","Ch","Dh","Ah","Fh","Eh","Gh","Jh","Ih","dispatchConfig","_dispatchListeners","_dispatchInstances","Kh","Hh","traverseTwoPhase","_targetInst","Qh","getParentInstance","Rh","Sh","Y","Interface","isDefaultPrevented","isPropagationStopped","Zh","eventPool","$h","destructor","Yh","getPooled","ai","bi","mi","ci","keyCode","ni","detail","pi","which","li","ji","qi","oi","di","Vh","getData","reset","char","ti","si","vi","ui","nb","enqueueStateRestore","Th","accumulateTwoPhaseDispatches","yi","Jb","enqueueEvents","processEventQueue","zi","Bc","updateValueIfChanged","Ai","Ci","wi","Di","xi","propertyName","sb","Ei","Fi","Gi","Hi","Ji","Li","getModifierState","Ki","Mi","Ni","cj","aj","Ti","ia","zh","hasSelectionCapabilities","selectionStart","selectionEnd","getSelection","anchorNode","anchorOffset","focusNode","focusOffset","$i","Si","select","Zi","ej","fj","gj","hj","charCode","kj","lj","mj","nj","oj","Bj","toUpperCase","ak","Dj","Gj","Hj","Fj","bk","hasAttribute","Ij","ck","_reactRootContainer","Xj","updateContainer","createContainer","getPublicRootInstance","dk","ne","createPortal","ba","fa","ha","fb","ka","Namespaces","mathml","svg","getIntrinsicNamespace","getChildNamespace","possibleRegistrationNames","injectEventPluginOrder","injectEventPluginsByName","sa","ta","autoFocus","defaultValue","defaultChecked","innerHTML","suppressContentEditableWarning","wa","MUST_USE_PROPERTY","HAS_BOOLEAN_VALUE","HAS_NUMERIC_VALUE","HAS_POSITIVE_NUMERIC_VALUE","HAS_OVERLOADED_BOOLEAN_VALUE","HAS_STRING_BOOLEAN_VALUE","injectDOMPropertyConfig","DOMAttributeNamespaces","DOMAttributeNames","DOMMutationMethods","xa","properties","attributeName","attributeNamespace","mutationMethod","mustUseProperty","hasBooleanValue","hasNumericValue","hasPositiveNumericValue","hasOverloadedBooleanValue","hasStringBooleanValue","ID_ATTRIBUTE_NAME","ROOT_ATTRIBUTE_NAME","ATTRIBUTE_NAME_START_CHAR","ATTRIBUTE_NAME_CHAR","shouldSetAttribute","isReservedProp","shouldAttributeAcceptBooleanValue","getPropertyInfo","injection","IndeterminateComponent","FunctionalComponent","ClassComponent","HostRoot","HostPortal","HostComponent","HostText","CoroutineComponent","CoroutineHandlerPhase","YieldComponent","Fragment","ELEMENT_NODE","TEXT_NODE","COMMENT_NODE","DOCUMENT_NODE","DOCUMENT_FRAGMENT_NODE","Ga","Ia","precacheChildNodes","precacheNode","uncacheNode","precacheFiberNode","updateFiberProps","_reactInternalFiber","Qa","NoEffect","PerformedWork","Placement","Update","PlacementAndUpdate","Deletion","ContentReset","Callback","Err","Ref","Sa","Ua","Va","bb","isFiberMounted","findCurrentFiberUsingSlowPath","findCurrentHostFiber","findCurrentHostFiberWithNoPortals","injectErrorUtils","invokeGuardedCallback","hasCaughtError","clearCaughtError","rethrowCaughtError","isEndish","isMoveish","isStartish","executeDirectDispatch","executeDispatchesInOrderStopAtTrue","hasDispatches","injectComponentTree","kb","lb","injectFiberControlledHostComponent","restoreStateIfNeeded","rb","injectStackBatchedUpdates","injectFiberBatchedUpdates","wb","_enabled","setHandleTopLevel","setEnabled","isEnabled","trapBubbledEvent","dispatchEvent","trapCapturedEvent","capture","Eb","getListener","_currentElement","_rootNodeID","animationend","animationiteration","animationstart","transitionend","animation","transition","Rb","topAbort","topAnimationEnd","topAnimationIteration","topAnimationStart","topBlur","topCancel","topCanPlay","topCanPlayThrough","topChange","topClick","topClose","topCompositionEnd","topCompositionStart","topCompositionUpdate","topContextMenu","topCopy","topCut","topDoubleClick","topDrag","topDragEnd","topDragEnter","topDragExit","topDragLeave","topDragOver","topDragStart","topDrop","topDurationChange","topEmptied","topEncrypted","topEnded","topError","topFocus","topInput","topKeyDown","topKeyPress","topKeyUp","topLoadedData","topLoad","topLoadedMetadata","topLoadStart","topMouseDown","topMouseMove","topMouseOut","topMouseOver","topMouseUp","topPaste","topPause","topPlay","topPlaying","topProgress","topRateChange","topScroll","topSeeked","topSeeking","topSelectionChange","topStalled","topSuspend","topTextInput","topTimeUpdate","topToggle","topTouchCancel","topTouchEnd","topTouchMove","topTouchStart","topTransitionEnd","topVolumeChange","topWaiting","topWheel","handleTopLevel","listenTo","isListeningToAllDependencies","Wb","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","lineHeight","opacity","order","orphans","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","Xb","substring","Yb","isUnitlessNumber","shorthandPropertyExpansions","background","backgroundAttachment","backgroundColor","backgroundImage","backgroundPositionX","backgroundPositionY","backgroundRepeat","backgroundPosition","border","borderWidth","borderStyle","borderColor","borderBottom","borderBottomWidth","borderBottomStyle","borderBottomColor","borderLeft","borderLeftWidth","borderLeftStyle","borderLeftColor","borderRight","borderRightWidth","borderRightStyle","borderRightColor","borderTop","borderTopWidth","borderTopStyle","borderTopColor","font","fontStyle","fontVariant","fontSize","fontFamily","outline","outlineWidth","outlineStyle","outlineColor","Zb","$b","ac","Ec","bc","createDangerousStringForStyles","setValueForStyles","setProperty","gc","setAttributeForID","setAttributeForRoot","getValueForProperty","getValueForAttribute","setValueForProperty","deleteValueForProperty","setAttributeNS","setValueForAttribute","removeAttribute","deleteValueForAttribute","hc","ic","ReactDebugCurrentFrame","kc","phase","resetCurrentFiber","getCurrentStack","setCurrentFiber","getCurrentFiberOwnerName","getCurrentFiberStackAddendum","lc","mc","getHostProps","checked","_wrapperState","initialValue","initialChecked","initWrapperState","controlled","updateWrapper","parseFloat","postMountWrapper","querySelectorAll","qc","sc","validateProps","uc","wasMultiple","multiple","postUpdateWrapper","vc","wc","menuitem","area","base","br","col","embed","hr","img","input","keygen","link","meta","param","track","wbr","_getTrackerFromNode","Dc","Fc","MSApp","execUnsafeLocalFunction","namespaceURI","Gc","Jc","Oc","Pc","Qc","Sc","createElementNS","setInitialProperties","__html","onclick","diffProperties","updateProperties","diffHydratedProperties","diffHydratedText","warnForDeletedHydratableElement","warnForDeletedHydratableText","warnForInsertedHydratedElement","warnForInsertedHydratedText","Tc","requestIdleCallback","Uc","Vc","Wc","Xc","Yc","Zc","$c","ad","performance","Date","bd","cd","requestAnimationFrame","je","ke","dd","rIC","NoWork","SynchronousPriority","TaskPriority","HighPriority","LowPriority","OffscreenPriority","fd","jd","kd","ud","addUpdate","addReplaceUpdate","addForceUpdate","getUpdatePriority","addTopLevelUpdate","beginUpdateQueue","commitCallbacks","vd","wd","xd","createCursor","yd","Ad","Bd","Cd","Dd","Ed","Fd","Ld","getUnmaskedContext","cacheContext","getMaskedContext","hasContextChanged","isContextConsumer","isContextProvider","popContextProvider","popTopLevelContextObject","pushTopLevelContextObject","cursor","processChildContext","pushContextProvider","__reactInternalMemoizedMergedChildContext","invalidateContextProvider","resetContext","findCurrentUnmaskedContext","Pd","NoContext","AsyncUpdates","Sd","Ud","Vd","Wd","Xd","Yd","$d","de","createWorkInProgress","createHostRootFiber","createFiberFromElement","createFiberFromFragment","createFiberFromText","createFiberFromElementType","createFiberFromHostInstanceForDeletion","createFiberFromCoroutine","createFiberFromYield","createFiberFromPortal","largerPriority","ee","le","createCoroutine","createYield","isCoroutine","isYield","REACT_YIELD_TYPE","REACT_COROUTINE_TYPE","me","isPortal","REACT_PORTAL_TYPE","Se","reconcileChildFibers","reconcileChildFibersInPlace","mountChildFibersInPlace","cloneChildFibers","fg","gg","ig","injectInternals","supportsFiber","inject","onCommitFiberRoot","onCommitFiberUnmount","onCommitRoot","onCommitUnmount","_injectFiber","kh","lh","mh","nh","oh","ph","qh","wh","getOffsets","rangeCount","getRangeAt","startContainer","endContainer","cloneRange","selectNodeContents","setEnd","startOffset","endOffset","createRange","setStart","collapsed","setOffsets","extend","removeAllRanges","addRange","xh","yh","contentEditable","getSelectionInformation","focusedElem","selectionRange","restoreSelection","setSelection","scrollLeft","top","scrollTop","_injectStack","isAncestor","getLowestCommonAncestor","traverseEnterLeave","accumulateTwoPhaseDispatchesSkipTarget","accumulateDirectDispatches","accumulateEnterLeaveDispatches","X","_startText","_fallbackText","Uh","initialize","getText","Wh","Xh","eventPhase","bubbles","cancelable","timeStamp","isTrusted","cancelBubble","persist","augmentClass","ei","documentMode","fi","gi","opera","parseInt","hi","ki","beforeInput","bubbled","captured","compositionEnd","compositionStart","compositionUpdate","ri","color","date","datetime","datetime-local","email","month","range","tel","time","week","Bi","Ii","_isInputEventSupported","view","defaultView","parentWindow","Alt","Control","Meta","Shift","screenX","screenY","clientX","clientY","pageX","pageY","buttons","relatedTarget","fromElement","toElement","Oi","mouseEnter","mouseLeave","Pi","Qi","Ri","bj","dj","animationName","elapsedTime","pseudoElement","clipboardData","ij","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","jj","8","9","12","13","16","17","18","19","20","27","32","33","34","35","36","37","38","39","40","45","46","112","113","114","115","116","117","118","119","120","121","122","123","144","145","224","repeat","locale","dataTransfer","touches","targetTouches","changedTouches","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","pj","qj","rj","SimpleEventPlugin","EnterLeaveEventPlugin","ChangeEventPlugin","SelectEventPlugin","BeforeInputEventPlugin","sj","Z","tj","uj","vj","wj","allowFullScreen","allowTransparency","async","autoPlay","cols","controls","download","draggable","formNoValidate","hidden","loop","muted","noValidate","playsInline","readOnly","required","rows","rowSpan","scoped","seamless","span","spellCheck","itemScope","acceptCharset","htmlFor","httpEquiv","validity","badInput","xj","yj","xlink","zj","autoReverse","externalResourcesRequired","preserveAlpha","xlinkActuate","xlinkArcrole","xlinkHref","xlinkRole","xlinkShow","xlinkTitle","xlinkType","xmlBase","xmlLang","xmlSpace","Aj","Cj","Ej","Jj","Kj","Lj","Mj","Nj","Oj","Pj","Qj","Rj","Sj","Tj","Uj","Vj","Wj","findHostInstance","Yj","Zj","findHostInstanceWithNoPortals","tagName","ek","hydrate","unstable_renderSubtreeIntoContainer","unmountComponentAtNode","findDOMNode","unstable_createPortal","unstable_batchedUpdates","unstable_deferredUpdates","EventPluginHub","EventPluginRegistry","EventPropagators","ReactControlledComponent","ReactDOMComponentTree","ReactDOMEventListener","findFiberByHostInstance","findHostInstanceByFiber","bundleType","rendererPackageName","ExecutionEnvironment","canUseWorkers","Worker","canUseEventListeners","canUseViewport","screen","isInWorker","EventListener","eventType","registerDefault","objA","objB","keysA","keysB","containsNode","outerNode","innerNode","isTextNode","compareDocumentPosition","Node","doc","__WEBPACK_IMPORTED_MODULE_4__Router__","BrowserRouter","__WEBPACK_IMPORTED_MODULE_3_history_createBrowserHistory___default","basename","__WEBPACK_IMPORTED_MODULE_2_prop_types___default","forceRefresh","keyLength","ReactPropTypesSecret","shim","propName","propFullName","secret","getShim","ReactPropTypes","symbol","any","arrayOf","instanceOf","objectOf","oneOf","checkPropTypes","PropTypes","_invariant2","_LocationUtils","_createTransitionManager2","_DOMUtils","getHistoryState","globalHistory","canUseHistory","needsHashChangeListener","_props$forceRefresh","_props$getUserConfirm","_props$keyLength","getDOMLocation","historyState","_window$location","createKey","transitionManager","nextState","handlePopState","handlePop","handleHashChange","forceNextPop","revertPop","fromLocation","toLocation","toIndex","allKeys","delta","go","initialLocation","listenerCount","checkDOMListeners","isBlocked","pushState","prevIndex","nextKeys","replaceState","goBack","goForward","block","unblock","HashRouter","__WEBPACK_IMPORTED_MODULE_3_history_createHashHistory___default","hashType","HashPathCoders","hashbang","encodePath","decodePath","noslash","slash","getHashPath","pushHashPath","replaceHashPath","canGoWithoutReload","_props$hashType","_HashPathCoders$hashT","ignorePath","encodedPath","prevLocation","allPaths","nextPaths","MemoryRouter","__WEBPACK_IMPORTED_MODULE_3_history_createMemoryHistory___default","initialEntries","initialIndex","clamp","lowerBound","upperBound","_props$initialEntries","_props$initialIndex","nextIndex","nextEntries","canGo","__WEBPACK_IMPORTED_MODULE_3__Link__","NavLink","activeClassName","activeStyle","getIsActive","ariaCurrent","__WEBPACK_IMPORTED_MODULE_2__Route__","aria-current","tokens","defaultDelimiter","delimiter","PATH_REGEXP","escaped","modifier","asterisk","partial","optional","escapeGroup","escapeString","encodeURIComponentPretty","encodeURI","encodeAsterisk","tokensToFunction","matches","opts","encode","pretty","token","segment","isarray","attachKeys","regexpToRegexp","arrayToRegexp","parts","pathToRegexp","stringToRegexp","tokensToRegExp","endsWithDelimiter","compile","Prompt","enable","disable","when","__WEBPACK_IMPORTED_MODULE_4_history__","Redirect","isStatic","__WEBPACK_IMPORTED_MODULE_3_invariant___default","prevProps","prevTo","nextTo","__WEBPACK_IMPORTED_MODULE_2_warning___default","__WEBPACK_IMPORTED_MODULE_3__PathUtils__","__WEBPACK_IMPORTED_MODULE_5__Router__","normalizeLocation","_object$pathname","_object$search","_object$hash","addBasename","__WEBPACK_IMPORTED_MODULE_4_history_PathUtils__","createURL","staticHandler","StaticRouter","handlePush","handleReplace","_this$props2","handleListen","handleBlock","__WEBPACK_IMPORTED_MODULE_0_react_router_es_Switch__","Switch","_element$props","pathProp","__WEBPACK_IMPORTED_MODULE_0_react_router_es_withRouter__","__WEBPACK_IMPORTED_MODULE_3__Route__","wrappedComponentRef","remainingProps","routeComponentProps","__WEBPACK_IMPORTED_MODULE_2_hoist_non_react_statics___default","_callbacks","once","off","removeListener","removeAllListeners","callbacks","timeout","_timeout","_responseTimeout","option","deadline","retry","_fullfilledPromise","innerResolve","innerReject","use","_okCallback","getHeader","unset","abort","redirects","_maxRedirects","isObj","sortQuery","_sort","queryArr","_appendQueryString","trace","_timeoutError","errno","code","utils","ct","links","parseLinks","statusType","info","redirect","clientError","serverError","accepted","noContent","badRequest","unauthorized","notAcceptable","forbidden","notFound","cleanHeader","shouldStripCookie","ERROR_CODES","defaultCompare","objectPath","compare","currentValue","oldValue","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","isString","_hasOwnProperty","toStr","isNumber","isBoolean","getKey","intKey","doNotReplace","currentPath","oldVal","prop","ensureExists","at","coalesce","paths","nullTag","undefinedTag","symToStringTag","__WEBPACK_IMPORTED_MODULE_0__Symbol_js__","toStringTag","__WEBPACK_IMPORTED_MODULE_1__getRawTag_js__","__WEBPACK_IMPORTED_MODULE_2__objectToString_js__","freeSelf","__WEBPACK_IMPORTED_MODULE_0__freeGlobal_js__","freeGlobal","nativeObjectToString","isOwn","unmasked","getPrototype","__WEBPACK_IMPORTED_MODULE_0__overArg_js__","transform","_ponyfill2","webpackPolyfill","deprecate","_Symbol","observable","getUndefinedStateErrorMessage","actionType","assertReducerShape","__WEBPACK_IMPORTED_MODULE_0__createStore__","reducerKeys","finalReducers","finalReducerKeys","shapeAssertionError","hasChanged","previousStateForKey","nextStateForKey","errorMessage","bindActionCreator","actionCreator","actionCreators","boundActionCreators","initialState","__WEBPACK_IMPORTED_MODULE_4_immutable__","activeDefaultTemplate","getTemplateIndex","__WEBPACK_IMPORTED_MODULE_5__actionTypes_templates__","_objectSpread","delete","$iterCreate","BUGGY","returnThis","Base","DEFAULT","IS_SET","FORCED","IteratorPrototype","getMethod","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","__WEBPACK_IMPORTED_MODULE_10__actionTypes_coreFonts__","createProperty","arrayLike","mapfn","mapping","setDesc","FREEZE","preventExtensions","setMeta","NEED","fastKey","getWeak","onFreeze","windowNames","getWindowNames","$includes","searchString","__WEBPACK_IMPORTED_MODULE_3_react_redux__","Routes","__WEBPACK_IMPORTED_MODULE_4_react_router_dom__","__WEBPACK_IMPORTED_MODULE_5__components_Template_TemplateList__","templateDetailsText","templateDetails","templateHeaderText","installedPdfs","genericUploadErrorText","problemWithTheUpload","activateText","addTemplateText","addNewTemplate","filenameErrorText","uploadInvalidNotZipFile","filesizeErrorText","uploadInvalidExceedsFileSizeLimit","installSuccessText","templateSuccessfullyInstalled","installUpdatedText","templateSuccessfullyUpdated","templateSuccessfullyInstalledUpdated","templateInstallInstructions","__WEBPACK_IMPORTED_MODULE_6__components_Template_TemplateSingle__","pdfWorkingDirPath","pdfWorkingDir","templateDeleteText","templateConfirmDeleteText","doYouWantToDeleteTemplate","templateDeleteErrorText","couldNotDeleteTemplate","currentTemplateText","currentTemplate","versionText","groupText","tagsText","showPreviousTemplateText","showPreviousTemplate","showNextTemplateText","showNextTemplate","__WEBPACK_IMPORTED_MODULE_7__components_Empty__","_Provider$childContex","Provider","__WEBPACK_IMPORTED_MODULE_0_react__","__WEBPACK_IMPORTED_MODULE_2__utils_PropTypes__","createListenerCollection","CLEARED","Subscription","nullListeners","addNestedSub","factories","strictEqual","__WEBPACK_IMPORTED_MODULE_5__selectorFactory__","_ref$connectHOC","connectHOC","__WEBPACK_IMPORTED_MODULE_0__components_connectAdvanced__","_ref$mapStateToPropsF","mapStateToPropsFactories","__WEBPACK_IMPORTED_MODULE_3__mapStateToProps__","_ref$mapDispatchToPro","mapDispatchToPropsFactories","__WEBPACK_IMPORTED_MODULE_2__mapDispatchToProps__","_ref$mergePropsFactor","mergePropsFactories","__WEBPACK_IMPORTED_MODULE_4__mergeProps__","_ref$selectorFactory","mapStateToProps","mapDispatchToProps","mergeProps","_ref2$pure","pure","_ref2$areStatesEqual","areStatesEqual","_ref2$areOwnPropsEqua","areOwnPropsEqual","__WEBPACK_IMPORTED_MODULE_1__utils_shallowEqual__","_ref2$areStatePropsEq","areStatePropsEqual","_ref2$areMergedPropsE","areMergedPropsEqual","extraOptions","initMapStateToProps","initMapDispatchToProps","initMergeProps","hasOwn","__WEBPACK_IMPORTED_MODULE_1__wrapMapToProps__","__WEBPACK_IMPORTED_MODULE_0_redux__","__WEBPACK_IMPORTED_MODULE_0__wrapMapToProps__","defaultMergeProps","stateProps","dispatchProps","wrapMergePropsFunc","hasRunOnce","mergedProps","nextMergedProps","impureFinalPropsSelectorFactory","pureFinalPropsSelectorFactory","handleFirstCall","firstState","firstOwnProps","hasRunAtLeastOnce","handleNewPropsAndNewState","handleNewProps","handleNewState","nextStateProps","statePropsChanged","handleSubsequentCalls","nextOwnProps","propsChanged","stateChanged","TemplateList","__WEBPACK_IMPORTED_MODULE_10__TemplateHeaderTitle__","__WEBPACK_IMPORTED_MODULE_7__TemplateContainer__","__WEBPACK_IMPORTED_MODULE_9__TemplateSearch__","__WEBPACK_IMPORTED_MODULE_8__TemplateListItem__","__WEBPACK_IMPORTED_MODULE_11__TemplateUploader__","__WEBPACK_IMPORTED_MODULE_6__selectors_getTemplates__","$sort","comparefn","inheritIfRequired","$RegExp","re1","re2","CORRECT_NEW","tiRE","piRE","fiU","defaultEqualityCheck","areArgumentsShallowlyEqual","equalityCheck","defaultMemoize","lastArgs","lastResult","getDependencies","dep","dependencyTypes","createSelectorCreator","memoize","memoizeOptions","_len2","_key2","recomputations","resultFunc","memoizedResultFunc","resetRecomputations","createStructuredSelector","selectors","selectorCreator","createSelector","objectKeys","_len3","_key3","composition","v1","v2","operator","vm","dev","alpha","beta","RC","#","pl","_prepVersion","_numVersion","SPLIT","$split","_split","$push","LENGTH","NPCG","limit","separator2","lastIndex","lastLength","output","lastLastIndex","splitLimit","separatorCopy","TemplateCloseDialog","closeDialog","handleKeyPress","onKeyDown","aria-label","__WEBPACK_IMPORTED_MODULE_5_react_router_dom__","TemplateListItem","showDetailedTemplate","isActiveTemplate","isCompatible","maybeShowDetailedTemplate","data-slug","__WEBPACK_IMPORTED_MODULE_8__TemplateScreenshot__","image","__WEBPACK_IMPORTED_MODULE_9__ShowMessage__","removeMessage","__WEBPACK_IMPORTED_MODULE_10__TemplateListItemComponents__","__WEBPACK_IMPORTED_MODULE_11__TemplateSingleComponents__","__WEBPACK_IMPORTED_MODULE_12__TemplateActivateButton__","__WEBPACK_IMPORTED_MODULE_6_react_router_dom__","TemplateScreenshot","alt","TemplateDetails","TemplateSearch","runSearch","onSearch","__WEBPACK_IMPORTED_MODULE_7_lodash_debounce___default","__WEBPACK_IMPORTED_MODULE_5_react___default","placeholder","aria-describedby","onChange","handleSearch","__WEBPACK_IMPORTED_MODULE_4_prop_types___default","__WEBPACK_IMPORTED_MODULE_6_react_redux__","__WEBPACK_IMPORTED_MODULE_8__actions_templates__","isObjectLike","objectToString","symbolTag","toNumber","NAN","reTrim","isBinary","reIsBinary","reIsOctal","freeParseInt","reIsBadHex","FUNC_ERROR_TEXT","nativeMax","nativeMin","wait","invokeFunc","thisArg","lastThis","lastInvokeTime","leadingEdge","timerId","timerExpired","leading","remainingWait","timeSinceLastInvoke","lastCallTime","maxing","maxWait","shouldInvoke","timeSinceLastCall","trailingEdge","trailing","debounced","isInvoking","cancel","TemplateHeaderTitle","TemplateUploader","ajax","acceptedFiles","filename","checkFilename","checkFilesize","__WEBPACK_IMPORTED_MODULE_9_superagent___default","ajaxSuccess","ajaxFailed","new","__WEBPACK_IMPORTED_MODULE_10_immutable__","__WEBPACK_IMPORTED_MODULE_7_react___default","__WEBPACK_IMPORTED_MODULE_12__Dropzone__","onDrop","openDropzone","__WEBPACK_IMPORTED_MODULE_13__ShowMessage__","__WEBPACK_IMPORTED_MODULE_6_prop_types___default","__WEBPACK_IMPORTED_MODULE_8_react_redux__","__WEBPACK_IMPORTED_MODULE_11__actions_templates__","Dropzone","__WEBPACK_IMPORTED_MODULE_5_react_dropzone__","disablePreview","_toConsumableArray","arr2","__WEBPACK_IMPORTED_MODULE_3__utils_styles__","protoProps","staticProps","renderChildren","isDragActive","isDragAccept","isDragReject","composeHandlers","onDocumentDrop","onDragEnter","onDragLeave","onDragOver","onDragStart","onFileDialogCancel","onInputElementClick","setRef","setRefs","isFileDialogActive","draggedFiles","rejectedFiles","preventDropOnDocument","dragTargets","__WEBPACK_IMPORTED_MODULE_2__utils__","fileInputEl","onfocus","evt","dropEffect","_this3","onDropAccepted","onDropRejected","fileList","preview","URL","createObjectURL","minSize","_props2","disableClick","inputProps","files","click","_props3","acceptClassName","disabledClassName","rejectClassName","acceptStyle","disabledStyle","rejectStyle","_state","filesCount","isMultipleAllowed","noStyles","active","rejected","appliedStyle","inputAttributes","autoComplete","customProps","divProps","aria-disabled","fileAccepted","__WEBPACK_IMPORTED_MODULE_0_attr_accept___default","dataTransferItemsList","dt","items","supportMultiple","endsWith","getProto","getDesc","setDescs","getNames","each","width","height","borderRadius","TemplateSingle","__WEBPACK_IMPORTED_MODULE_11__TemplateHeaderNavigation__","templateIndex","__WEBPACK_IMPORTED_MODULE_12__TemplateFooterActions__","__WEBPACK_IMPORTED_MODULE_10__TemplateContainer__","__WEBPACK_IMPORTED_MODULE_13__TemplateScreenshots__","__WEBPACK_IMPORTED_MODULE_15__TemplateSingleComponents__","__WEBPACK_IMPORTED_MODULE_14__ShowMessage__","__WEBPACK_IMPORTED_MODULE_9__selectors_getTemplates__","findCurrentTemplate","$match","TemplateHeaderNavigation","prevId","nextId","previousTemplate","isLast","nextTemplate","baseClass","__WEBPACK_IMPORTED_MODULE_7_immutable__","prevClass","nextClass","leftDisabled","rightDisabled","currentTemplateId","TemplateFooterActions","__WEBPACK_IMPORTED_MODULE_5__TemplateActivateButton__","notCoreTemplate","__WEBPACK_IMPORTED_MODULE_6__TemplateDeleteButton__","TemplateDeleteButton","templateId","__WEBPACK_IMPORTED_MODULE_8_superagent___default","onTemplateDelete","errorTemplate","callbackFunction","TemplateScreenshots","TemplateButton","getElementsByTagName","__WEBPACK_IMPORTED_MODULE_3__store__","__WEBPACK_IMPORTED_MODULE_1_react_dom__","__WEBPACK_IMPORTED_MODULE_2_react_redux__","__WEBPACK_IMPORTED_MODULE_4__router_coreFontRouter__","CoreFont","__WEBPACK_IMPORTED_MODULE_2__components_CoreFonts_CoreFontContainer__","buttonClassName","innerText","listUrl","coreFontListUrl","success","coreFontSuccess","coreFontError","githubError","coreFontGithubError","itemPending","coreFontItemPendingMessage","itemSuccess","coreFontItemSuccessMessage","itemError","coreFontItemErrorMessage","counterText","coreFontCounter","retryText","coreFontRetry","__WEBPACK_IMPORTED_MODULE_1_react_router_dom__","CoreFontContainer","queueLoaded","_asyncToGenerator","regeneratorRuntime","mark","_callee","tasks","_args","clearConsole","clearRetryList","getFilesFromGitHub","sent","__WEBPACK_IMPORTED_MODULE_11_promise_queue___default","downloadFontsApiCall","__WEBPACK_IMPORTED_MODULE_12__utilities_promiseReflect__","showDownloadCompletedStatus","t0","handleGithubApiError","stop","errors","addToConsole","_callee2","_context2","addFontPendingMessage","__WEBPACK_IMPORTED_MODULE_10_superagent___default","addFontSuccessMessage","addFontErrorMessage","_x","maybeStartDownload","startDownloadFonts","getQueueLength","getPendingLength","_getFilesFromGitHub","_callee3","_context3","abrupt","addToRetryList","__WEBPACK_IMPORTED_MODULE_9_react___default","__WEBPACK_IMPORTED_MODULE_15__CoreFontButton__","triggerFontDownload","__WEBPACK_IMPORTED_MODULE_17__Spinner__","__WEBPACK_IMPORTED_MODULE_16__CoreFontCounter__","__WEBPACK_IMPORTED_MODULE_14__CoreFontListResults__","__WEBPACK_IMPORTED_MODULE_13_react_redux__","__WEBPACK_IMPORTED_MODULE_18__actions_coreFonts__","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","Context","_invoke","makeInvokeMethod","tryCatch","GeneratorFunction","GeneratorFunctionPrototype","defineIteratorMethods","AsyncIterator","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","GenStateSuspendedStart","GenStateExecuting","GenStateCompleted","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","_sent","dispatchException","GenStateSuspendedYield","return","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","iteratorMethod","iteratorSymbol","Op","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","inModule","runtime","NativeIteratorPrototype","Gp","isGeneratorFunction","genFun","awrap","skipTempReset","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","NODE_ENV","PROMISE_QUEUE_COVERAGE","Queue","maxPendingPromises","maxQueuedPromises","pendingPromises","LocalPromise","resolveWith","configure","GlobalPromise","promiseGenerator","_dequeue","CoreFontListResults","Retry","__WEBPACK_IMPORTED_MODULE_8__CoreFontListSpacer__","triggerRetryFontDownload","spinnerAlt","spinnerUrl","__WEBPACK_IMPORTED_MODULE_0__actionTypes_coreFonts__"],"mappings":"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","file":"app.bundle.min.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 124);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 17c45385f2f63a6451a6","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/react/index.js\n// module id = 0\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' &&\n Symbol.for &&\n Symbol.for('react.element')) ||\n 0xeac7;\n\n var isValidElement = function(object) {\n return typeof object === 'object' &&\n object !== null &&\n object.$$typeof === REACT_ELEMENT_TYPE;\n };\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(isValidElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/prop-types/index.js\n// module id = 1\n// module chunks = 0","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_wks.js\n// module id = 2\n// module chunks = 0","require('./_wks-define')('asyncIterator');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es7.symbol.async-iterator.js\n// module id = 3\n// module chunks = 0","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar createDesc = require('./_property-desc');\nvar _create = require('./_object-create');\nvar gOPNExt = require('./_object-gopn-ext');\nvar $GOPD = require('./_object-gopd');\nvar $DP = require('./_object-dp');\nvar $keys = require('./_object-keys');\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function';\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function () { return dP(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function (value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n require('./_object-gops').f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !require('./_library')) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function (key) {\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n },\n useSetter: function () { setter = true; },\n useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n if (it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n replacer = args[1];\n if (typeof replacer == 'function') $replacer = replacer;\n if ($replacer || !isArray(replacer)) replacer = function (key, value) {\n if ($replacer) value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.symbol.js\n// module id = 4\n// module chunks = 0","/**\n * Copyright 2014-2015, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n'use strict';\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar warning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n warning = function(condition, format, args) {\n var len = arguments.length;\n args = new Array(len > 2 ? len - 2 : 0);\n for (var key = 2; key < len; key++) {\n args[key - 2] = arguments[key];\n }\n if (format === undefined) {\n throw new Error(\n '`warning(condition, format, ...args)` requires a warning ' +\n 'message argument'\n );\n }\n\n if (format.length < 10 || (/^[s\\W]*$/).test(format)) {\n throw new Error(\n 'The warning format should be able to uniquely identify this ' +\n 'warning. Please, use a more descriptive format than: ' + format\n );\n }\n\n if (!condition) {\n var argIndex = 0;\n var message = 'Warning: ' +\n format.replace(/%s/g, function() {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch(x) {}\n }\n };\n}\n\nmodule.exports = warning;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/warning/browser.js\n// module id = 5\n// module chunks = 0","// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./_export');\n$export($export.S, 'Object', { setPrototypeOf: require('./_set-proto').set });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.object.set-prototype-of.js\n// module id = 6\n// module chunks = 0","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_global.js\n// module id = 7\n// module chunks = 0","var global = require('./_global');\nvar core = require('./_core');\nvar hide = require('./_hide');\nvar redefine = require('./_redefine');\nvar ctx = require('./_ctx');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});\n var key, own, out, exp;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n // export native or passed\n out = (own ? target : source)[key];\n // bind timers to global for call from export context\n exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // extend global\n if (target) redefine(target, key, out, type & $export.U);\n // export\n if (exports[key] != out) hide(exports, key, exp);\n if (IS_PROTO && expProto[key] != out) expProto[key] = out;\n }\n};\nglobal.core = core;\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_export.js\n// module id = 8\n// module chunks = 0","/**\n * Copyright 2013-2015, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar invariant = function(condition, format, a, b, c, d, e, f) {\n if (process.env.NODE_ENV !== 'production') {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error(\n 'Minified exception occurred; use the non-minified dev environment ' +\n 'for the full error message and additional helpful warnings.'\n );\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(\n format.replace(/%s/g, function() { return args[argIndex++]; })\n );\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n};\n\nmodule.exports = invariant;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/invariant/browser.js\n// module id = 9\n// module chunks = 0","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_object-dp.js\n// module id = 10\n// module chunks = 0","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_an-object.js\n// module id = 11\n// module chunks = 0","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_descriptors.js\n// module id = 12\n// module chunks = 0","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_fails.js\n// module id = 13\n// module chunks = 0","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_is-object.js\n// module id = 15\n// module chunks = 0","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_hide.js\n// module id = 16\n// module chunks = 0","var global = require('./_global');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar SRC = require('./_uid')('src');\nvar TO_STRING = 'toString';\nvar $toString = Function[TO_STRING];\nvar TPL = ('' + $toString).split(TO_STRING);\n\nrequire('./_core').inspectSource = function (it) {\n return $toString.call(it);\n};\n\n(module.exports = function (O, key, val, safe) {\n var isFunction = typeof val == 'function';\n if (isFunction) has(val, 'name') || hide(val, 'name', key);\n if (O[key] === val) return;\n if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n if (O === global) {\n O[key] = val;\n } else if (!safe) {\n delete O[key];\n hide(O, key, val);\n } else if (O[key]) {\n O[key] = val;\n } else {\n hide(O, key, val);\n }\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, TO_STRING, function toString() {\n return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_redefine.js\n// module id = 17\n// module chunks = 0","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_has.js\n// module id = 18\n// module chunks = 0","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_ctx.js\n// module id = 20\n// module chunks = 0","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_cof.js\n// module id = 21\n// module chunks = 0","var core = module.exports = { version: '2.5.1' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_core.js\n// module id = 22\n// module chunks = 0","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_object-keys.js\n// module id = 23\n// module chunks = 0","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_to-iobject.js\n// module id = 24\n// module chunks = 0","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_to-object.js\n// module id = 25\n// module chunks = 0","import {\r\n SEARCH_TEMPLATES,\r\n SELECT_TEMPLATE,\r\n ADD_TEMPLATE,\r\n UPDATE_TEMPLATE,\r\n UPDATE_TEMPLATE_PARAM,\r\n DELETE_TEMPLATE,\r\n} from '../actionTypes/templates'\r\n\r\n/**\r\n * Redux Actions - payloads of information that send data from your application to your store\r\n *\r\n * @package Gravity PDF\r\n * @copyright Copyright (c) 2018, Blue Liquid Designs\r\n * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License\r\n * @since 4.1\r\n */\r\n\r\n/*\r\n This file is part of Gravity PDF.\r\n\r\n Gravity PDF – Copyright (C) 2018, Blue Liquid Designs\r\n\r\n This program is free software; you can redistribute it and/or modify\r\n it under the terms of the GNU General Public License as published by\r\n the Free Software Foundation; either version 2 of the License, or\r\n (at your option) any later version.\r\n\r\n This program is distributed in the hope that it will be useful,\r\n but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r\n GNU General Public License for more details.\r\n\r\n You should have received a copy of the GNU General Public License\r\n along with this program; if not, write to the Free Software\r\n Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\r\n */\r\n\r\n/**\r\n * Fires the Advanced Template Search action\r\n *\r\n * @param {string} text\r\n *\r\n * @returns {{type, text: *}}\r\n *\r\n * @since 4.1\r\n */\r\nexport const searchTemplates = (text) => {\r\n return {\r\n type: SEARCH_TEMPLATES,\r\n text\r\n }\r\n}\r\n\r\n/**\r\n * Fires the Advanced Template select/activate action\r\n *\r\n * @param {string} id The template ID\r\n *\r\n * @returns {{type, id: *}}\r\n *\r\n * @since 4.1\r\n */\r\nexport const selectTemplate = (id) => {\r\n return {\r\n type: SELECT_TEMPLATE,\r\n id\r\n }\r\n}\r\n\r\n/**\r\n * Fires the Advanced Template add new template action\r\n *\r\n * @param {object} template An Immutable Map\r\n *\r\n * @returns {{type, template: *}}\r\n *\r\n * @since 4.1\r\n */\r\nexport const addTemplate = (template) => {\r\n return {\r\n type: ADD_TEMPLATE,\r\n template\r\n }\r\n}\r\n\r\n/**\r\n * Fires the Advanced Template update action which overrides the entire template object with a new one\r\n *\r\n * @param {object} template An Immutable Map\r\n *\r\n * @returns {{type, template: *}}\r\n *\r\n * @since 4.1\r\n */\r\nexport const updateTemplate = (template) => {\r\n return {\r\n type: UPDATE_TEMPLATE,\r\n template\r\n }\r\n}\r\n\r\n/**\r\n * Fires the Advanced Template update action which replaces a template parameter with a new value\r\n *\r\n * @param {string} id The template ID\r\n * @param {string} name The parameter key to update\r\n * @param {string} value The new value for the parameter\r\n *\r\n * @returns {{type, id: *, name: *, value: *}}\r\n *\r\n * @since 4.1\r\n */\r\nexport const updateTemplateParam = (id, name, value) => {\r\n return {\r\n type: UPDATE_TEMPLATE_PARAM,\r\n id,\r\n name,\r\n value\r\n }\r\n}\r\n\r\n/**\r\n * Fires the Advanced Template delete action which removes the template from our store\r\n *\r\n * @param {string} id The template ID\r\n *\r\n * @returns {{type, id: *}}\r\n *\r\n * @since 4.1\r\n */\r\nexport const deleteTemplate = (id) => {\r\n return {\r\n type: DELETE_TEMPLATE,\r\n id\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/assets/js/react/actions/templates.js","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_a-function.js\n// module id = 27\n// module chunks = 0","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_uid.js\n// module id = 28\n// module chunks = 0","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_property-desc.js\n// module id = 29\n// module chunks = 0","module.exports = {};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_iterators.js\n// module id = 30\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\nvar addLeadingSlash = exports.addLeadingSlash = function addLeadingSlash(path) {\n return path.charAt(0) === '/' ? path : '/' + path;\n};\n\nvar stripLeadingSlash = exports.stripLeadingSlash = function stripLeadingSlash(path) {\n return path.charAt(0) === '/' ? path.substr(1) : path;\n};\n\nvar hasBasename = exports.hasBasename = function hasBasename(path, prefix) {\n return new RegExp('^' + prefix + '(\\\\/|\\\\?|#|$)', 'i').test(path);\n};\n\nvar stripBasename = exports.stripBasename = function stripBasename(path, prefix) {\n return hasBasename(path, prefix) ? path.substr(prefix.length) : path;\n};\n\nvar stripTrailingSlash = exports.stripTrailingSlash = function stripTrailingSlash(path) {\n return path.charAt(path.length - 1) === '/' ? path.slice(0, -1) : path;\n};\n\nvar parsePath = exports.parsePath = function parsePath(path) {\n var pathname = path || '/';\n var search = '';\n var hash = '';\n\n var hashIndex = pathname.indexOf('#');\n if (hashIndex !== -1) {\n hash = pathname.substr(hashIndex);\n pathname = pathname.substr(0, hashIndex);\n }\n\n var searchIndex = pathname.indexOf('?');\n if (searchIndex !== -1) {\n search = pathname.substr(searchIndex);\n pathname = pathname.substr(0, searchIndex);\n }\n\n return {\n pathname: pathname,\n search: search === '?' ? '' : search,\n hash: hash === '#' ? '' : hash\n };\n};\n\nvar createPath = exports.createPath = function createPath(location) {\n var pathname = location.pathname,\n search = location.search,\n hash = location.hash;\n\n\n var path = pathname || '/';\n\n if (search && search !== '?') path += search.charAt(0) === '?' ? search : '?' + search;\n\n if (hash && hash !== '#') path += hash.charAt(0) === '#' ? hash : '#' + hash;\n\n return path;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/history/PathUtils.js\n// module id = 31\n// module chunks = 0","export var addLeadingSlash = function addLeadingSlash(path) {\n return path.charAt(0) === '/' ? path : '/' + path;\n};\n\nexport var stripLeadingSlash = function stripLeadingSlash(path) {\n return path.charAt(0) === '/' ? path.substr(1) : path;\n};\n\nexport var hasBasename = function hasBasename(path, prefix) {\n return new RegExp('^' + prefix + '(\\\\/|\\\\?|#|$)', 'i').test(path);\n};\n\nexport var stripBasename = function stripBasename(path, prefix) {\n return hasBasename(path, prefix) ? path.substr(prefix.length) : path;\n};\n\nexport var stripTrailingSlash = function stripTrailingSlash(path) {\n return path.charAt(path.length - 1) === '/' ? path.slice(0, -1) : path;\n};\n\nexport var parsePath = function parsePath(path) {\n var pathname = path || '/';\n var search = '';\n var hash = '';\n\n var hashIndex = pathname.indexOf('#');\n if (hashIndex !== -1) {\n hash = pathname.substr(hashIndex);\n pathname = pathname.substr(0, hashIndex);\n }\n\n var searchIndex = pathname.indexOf('?');\n if (searchIndex !== -1) {\n search = pathname.substr(searchIndex);\n pathname = pathname.substr(0, searchIndex);\n }\n\n return {\n pathname: pathname,\n search: search === '?' ? '' : search,\n hash: hash === '#' ? '' : hash\n };\n};\n\nexport var createPath = function createPath(location) {\n var pathname = location.pathname,\n search = location.search,\n hash = location.hash;\n\n\n var path = pathname || '/';\n\n if (search && search !== '?') path += search.charAt(0) === '?' ? search : '?' + search;\n\n if (hash && hash !== '#') path += hash.charAt(0) === '#' ? hash : '#' + hash;\n\n return path;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/history/es/PathUtils.js\n// module id = 32\n// module chunks = 0","var $iterators = require('./es6.array.iterator');\nvar getKeys = require('./_object-keys');\nvar redefine = require('./_redefine');\nvar global = require('./_global');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar wks = require('./_wks');\nvar ITERATOR = wks('iterator');\nvar TO_STRING_TAG = wks('toStringTag');\nvar ArrayValues = Iterators.Array;\n\nvar DOMIterables = {\n CSSRuleList: true, // TODO: Not spec compliant, should be false.\n CSSStyleDeclaration: false,\n CSSValueList: false,\n ClientRectList: false,\n DOMRectList: false,\n DOMStringList: false,\n DOMTokenList: true,\n DataTransferItemList: false,\n FileList: false,\n HTMLAllCollection: false,\n HTMLCollection: false,\n HTMLFormElement: false,\n HTMLSelectElement: false,\n MediaList: true, // TODO: Not spec compliant, should be false.\n MimeTypeArray: false,\n NamedNodeMap: false,\n NodeList: true,\n PaintRequestList: false,\n Plugin: false,\n PluginArray: false,\n SVGLengthList: false,\n SVGNumberList: false,\n SVGPathSegList: false,\n SVGPointList: false,\n SVGStringList: false,\n SVGTransformList: false,\n SourceBufferList: false,\n StyleSheetList: true, // TODO: Not spec compliant, should be false.\n TextTrackCueList: false,\n TextTrackList: false,\n TouchList: false\n};\n\nfor (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) {\n var NAME = collections[i];\n var explicit = DOMIterables[NAME];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n var key;\n if (proto) {\n if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues);\n if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = ArrayValues;\n if (explicit) for (key in $iterators) if (!proto[key]) redefine(proto, key, $iterators[key], true);\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/web.dom.iterable.js\n// module id = 33\n// module chunks = 0","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.array.iterator.js\n// module id = 34\n// module chunks = 0","var dP = require('./_object-dp').f;\nvar FProto = Function.prototype;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// 19.2.4.2 name\nNAME in FProto || require('./_descriptors') && dP(FProto, NAME, {\n configurable: true,\n get: function () {\n try {\n return ('' + this).match(nameRE)[1];\n } catch (e) {\n return '';\n }\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.function.name.js\n// module id = 35\n// module chunks = 0","module.exports = false;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_library.js\n// module id = 36\n// module chunks = 0","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_to-length.js\n// module id = 37\n// module chunks = 0","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_set-to-string-tag.js\n// module id = 38\n// module chunks = 0","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_defined.js\n// module id = 39\n// module chunks = 0","exports.f = {}.propertyIsEnumerable;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_object-pie.js\n// module id = 40\n// module chunks = 0","\"use strict\";\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/fbjs/lib/emptyFunction.js\n// module id = 41\n// module chunks = 0","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nimport resolvePathname from 'resolve-pathname';\nimport valueEqual from 'value-equal';\nimport { parsePath } from './PathUtils';\n\nexport var createLocation = function createLocation(path, state, key, currentLocation) {\n var location = void 0;\n if (typeof path === 'string') {\n // Two-arg form: push(path, state)\n location = parsePath(path);\n location.state = state;\n } else {\n // One-arg form: push(location)\n location = _extends({}, path);\n\n if (location.pathname === undefined) location.pathname = '';\n\n if (location.search) {\n if (location.search.charAt(0) !== '?') location.search = '?' + location.search;\n } else {\n location.search = '';\n }\n\n if (location.hash) {\n if (location.hash.charAt(0) !== '#') location.hash = '#' + location.hash;\n } else {\n location.hash = '';\n }\n\n if (state !== undefined && location.state === undefined) location.state = state;\n }\n\n try {\n location.pathname = decodeURI(location.pathname);\n } catch (e) {\n if (e instanceof URIError) {\n throw new URIError('Pathname \"' + location.pathname + '\" could not be decoded. ' + 'This is likely caused by an invalid percent-encoding.');\n } else {\n throw e;\n }\n }\n\n if (key) location.key = key;\n\n if (currentLocation) {\n // Resolve incomplete/relative pathname relative to current location.\n if (!location.pathname) {\n location.pathname = currentLocation.pathname;\n } else if (location.pathname.charAt(0) !== '/') {\n location.pathname = resolvePathname(location.pathname, currentLocation.pathname);\n }\n } else {\n // When there is no prior location and pathname is empty, set it to /\n if (!location.pathname) {\n location.pathname = '/';\n }\n }\n\n return location;\n};\n\nexport var locationsAreEqual = function locationsAreEqual(a, b) {\n return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash && a.key === b.key && valueEqual(a.state, b.state);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/history/es/LocationUtils.js\n// module id = 42\n// module chunks = 0","/**\n * Root reference for iframes.\n */\n\nvar root;\nif (typeof window !== 'undefined') { // Browser window\n root = window;\n} else if (typeof self !== 'undefined') { // Web Worker\n root = self;\n} else { // Other environments\n console.warn(\"Using browser-only version of superagent in non-browser environment\");\n root = this;\n}\n\nvar Emitter = require('component-emitter');\nvar RequestBase = require('./request-base');\nvar isObject = require('./is-object');\nvar ResponseBase = require('./response-base');\nvar shouldRetry = require('./should-retry');\n\n/**\n * Noop.\n */\n\nfunction noop(){};\n\n/**\n * Expose `request`.\n */\n\nvar request = exports = module.exports = function(method, url) {\n // callback\n if ('function' == typeof url) {\n return new exports.Request('GET', method).end(url);\n }\n\n // url first\n if (1 == arguments.length) {\n return new exports.Request('GET', method);\n }\n\n return new exports.Request(method, url);\n}\n\nexports.Request = Request;\n\n/**\n * Determine XHR.\n */\n\nrequest.getXHR = function () {\n if (root.XMLHttpRequest\n && (!root.location || 'file:' != root.location.protocol\n || !root.ActiveXObject)) {\n return new XMLHttpRequest;\n } else {\n try { return new ActiveXObject('Microsoft.XMLHTTP'); } catch(e) {}\n try { return new ActiveXObject('Msxml2.XMLHTTP.6.0'); } catch(e) {}\n try { return new ActiveXObject('Msxml2.XMLHTTP.3.0'); } catch(e) {}\n try { return new ActiveXObject('Msxml2.XMLHTTP'); } catch(e) {}\n }\n throw Error(\"Browser-only version of superagent could not find XHR\");\n};\n\n/**\n * Removes leading and trailing whitespace, added to support IE.\n *\n * @param {String} s\n * @return {String}\n * @api private\n */\n\nvar trim = ''.trim\n ? function(s) { return s.trim(); }\n : function(s) { return s.replace(/(^\\s*|\\s*$)/g, ''); };\n\n/**\n * Serialize the given `obj`.\n *\n * @param {Object} obj\n * @return {String}\n * @api private\n */\n\nfunction serialize(obj) {\n if (!isObject(obj)) return obj;\n var pairs = [];\n for (var key in obj) {\n pushEncodedKeyValuePair(pairs, key, obj[key]);\n }\n return pairs.join('&');\n}\n\n/**\n * Helps 'serialize' with serializing arrays.\n * Mutates the pairs array.\n *\n * @param {Array} pairs\n * @param {String} key\n * @param {Mixed} val\n */\n\nfunction pushEncodedKeyValuePair(pairs, key, val) {\n if (val != null) {\n if (Array.isArray(val)) {\n val.forEach(function(v) {\n pushEncodedKeyValuePair(pairs, key, v);\n });\n } else if (isObject(val)) {\n for(var subkey in val) {\n pushEncodedKeyValuePair(pairs, key + '[' + subkey + ']', val[subkey]);\n }\n } else {\n pairs.push(encodeURIComponent(key)\n + '=' + encodeURIComponent(val));\n }\n } else if (val === null) {\n pairs.push(encodeURIComponent(key));\n }\n}\n\n/**\n * Expose serialization method.\n */\n\n request.serializeObject = serialize;\n\n /**\n * Parse the given x-www-form-urlencoded `str`.\n *\n * @param {String} str\n * @return {Object}\n * @api private\n */\n\nfunction parseString(str) {\n var obj = {};\n var pairs = str.split('&');\n var pair;\n var pos;\n\n for (var i = 0, len = pairs.length; i < len; ++i) {\n pair = pairs[i];\n pos = pair.indexOf('=');\n if (pos == -1) {\n obj[decodeURIComponent(pair)] = '';\n } else {\n obj[decodeURIComponent(pair.slice(0, pos))] =\n decodeURIComponent(pair.slice(pos + 1));\n }\n }\n\n return obj;\n}\n\n/**\n * Expose parser.\n */\n\nrequest.parseString = parseString;\n\n/**\n * Default MIME type map.\n *\n * superagent.types.xml = 'application/xml';\n *\n */\n\nrequest.types = {\n html: 'text/html',\n json: 'application/json',\n xml: 'text/xml',\n urlencoded: 'application/x-www-form-urlencoded',\n 'form': 'application/x-www-form-urlencoded',\n 'form-data': 'application/x-www-form-urlencoded'\n};\n\n/**\n * Default serialization map.\n *\n * superagent.serialize['application/xml'] = function(obj){\n * return 'generated xml here';\n * };\n *\n */\n\n request.serialize = {\n 'application/x-www-form-urlencoded': serialize,\n 'application/json': JSON.stringify\n };\n\n /**\n * Default parsers.\n *\n * superagent.parse['application/xml'] = function(str){\n * return { object parsed from str };\n * };\n *\n */\n\nrequest.parse = {\n 'application/x-www-form-urlencoded': parseString,\n 'application/json': JSON.parse\n};\n\n/**\n * Parse the given header `str` into\n * an object containing the mapped fields.\n *\n * @param {String} str\n * @return {Object}\n * @api private\n */\n\nfunction parseHeader(str) {\n var lines = str.split(/\\r?\\n/);\n var fields = {};\n var index;\n var line;\n var field;\n var val;\n\n lines.pop(); // trailing CRLF\n\n for (var i = 0, len = lines.length; i < len; ++i) {\n line = lines[i];\n index = line.indexOf(':');\n field = line.slice(0, index).toLowerCase();\n val = trim(line.slice(index + 1));\n fields[field] = val;\n }\n\n return fields;\n}\n\n/**\n * Check if `mime` is json or has +json structured syntax suffix.\n *\n * @param {String} mime\n * @return {Boolean}\n * @api private\n */\n\nfunction isJSON(mime) {\n return /[\\/+]json\\b/.test(mime);\n}\n\n/**\n * Initialize a new `Response` with the given `xhr`.\n *\n * - set flags (.ok, .error, etc)\n * - parse header\n *\n * Examples:\n *\n * Aliasing `superagent` as `request` is nice:\n *\n * request = superagent;\n *\n * We can use the promise-like API, or pass callbacks:\n *\n * request.get('/').end(function(res){});\n * request.get('/', function(res){});\n *\n * Sending data can be chained:\n *\n * request\n * .post('/user')\n * .send({ name: 'tj' })\n * .end(function(res){});\n *\n * Or passed to `.send()`:\n *\n * request\n * .post('/user')\n * .send({ name: 'tj' }, function(res){});\n *\n * Or passed to `.post()`:\n *\n * request\n * .post('/user', { name: 'tj' })\n * .end(function(res){});\n *\n * Or further reduced to a single call for simple cases:\n *\n * request\n * .post('/user', { name: 'tj' }, function(res){});\n *\n * @param {XMLHTTPRequest} xhr\n * @param {Object} options\n * @api private\n */\n\nfunction Response(req) {\n this.req = req;\n this.xhr = this.req.xhr;\n // responseText is accessible only if responseType is '' or 'text' and on older browsers\n this.text = ((this.req.method !='HEAD' && (this.xhr.responseType === '' || this.xhr.responseType === 'text')) || typeof this.xhr.responseType === 'undefined')\n ? this.xhr.responseText\n : null;\n this.statusText = this.req.xhr.statusText;\n var status = this.xhr.status;\n // handle IE9 bug: http://stackoverflow.com/questions/10046972/msie-returns-status-code-of-1223-for-ajax-request\n if (status === 1223) {\n status = 204;\n }\n this._setStatusProperties(status);\n this.header = this.headers = parseHeader(this.xhr.getAllResponseHeaders());\n // getAllResponseHeaders sometimes falsely returns \"\" for CORS requests, but\n // getResponseHeader still works. so we get content-type even if getting\n // other headers fails.\n this.header['content-type'] = this.xhr.getResponseHeader('content-type');\n this._setHeaderProperties(this.header);\n\n if (null === this.text && req._responseType) {\n this.body = this.xhr.response;\n } else {\n this.body = this.req.method != 'HEAD'\n ? this._parseBody(this.text ? this.text : this.xhr.response)\n : null;\n }\n}\n\nResponseBase(Response.prototype);\n\n/**\n * Parse the given body `str`.\n *\n * Used for auto-parsing of bodies. Parsers\n * are defined on the `superagent.parse` object.\n *\n * @param {String} str\n * @return {Mixed}\n * @api private\n */\n\nResponse.prototype._parseBody = function(str){\n var parse = request.parse[this.type];\n if(this.req._parser) {\n return this.req._parser(this, str);\n }\n if (!parse && isJSON(this.type)) {\n parse = request.parse['application/json'];\n }\n return parse && str && (str.length || str instanceof Object)\n ? parse(str)\n : null;\n};\n\n/**\n * Return an `Error` representative of this response.\n *\n * @return {Error}\n * @api public\n */\n\nResponse.prototype.toError = function(){\n var req = this.req;\n var method = req.method;\n var url = req.url;\n\n var msg = 'cannot ' + method + ' ' + url + ' (' + this.status + ')';\n var err = new Error(msg);\n err.status = this.status;\n err.method = method;\n err.url = url;\n\n return err;\n};\n\n/**\n * Expose `Response`.\n */\n\nrequest.Response = Response;\n\n/**\n * Initialize a new `Request` with the given `method` and `url`.\n *\n * @param {String} method\n * @param {String} url\n * @api public\n */\n\nfunction Request(method, url) {\n var self = this;\n this._query = this._query || [];\n this.method = method;\n this.url = url;\n this.header = {}; // preserves header name case\n this._header = {}; // coerces header names to lowercase\n this.on('end', function(){\n var err = null;\n var res = null;\n\n try {\n res = new Response(self);\n } catch(e) {\n err = new Error('Parser is unable to parse the response');\n err.parse = true;\n err.original = e;\n // issue #675: return the raw response if the response parsing fails\n if (self.xhr) {\n // ie9 doesn't have 'response' property\n err.rawResponse = typeof self.xhr.responseType == 'undefined' ? self.xhr.responseText : self.xhr.response;\n // issue #876: return the http status code if the response parsing fails\n err.status = self.xhr.status ? self.xhr.status : null;\n err.statusCode = err.status; // backwards-compat only\n } else {\n err.rawResponse = null;\n err.status = null;\n }\n\n return self.callback(err);\n }\n\n self.emit('response', res);\n\n var new_err;\n try {\n if (!self._isResponseOK(res)) {\n new_err = new Error(res.statusText || 'Unsuccessful HTTP response');\n new_err.original = err;\n new_err.response = res;\n new_err.status = res.status;\n }\n } catch(e) {\n new_err = e; // #985 touching res may cause INVALID_STATE_ERR on old Android\n }\n\n // #1000 don't catch errors from the callback to avoid double calling it\n if (new_err) {\n self.callback(new_err, res);\n } else {\n self.callback(null, res);\n }\n });\n}\n\n/**\n * Mixin `Emitter` and `RequestBase`.\n */\n\nEmitter(Request.prototype);\nRequestBase(Request.prototype);\n\n/**\n * Set Content-Type to `type`, mapping values from `request.types`.\n *\n * Examples:\n *\n * superagent.types.xml = 'application/xml';\n *\n * request.post('/')\n * .type('xml')\n * .send(xmlstring)\n * .end(callback);\n *\n * request.post('/')\n * .type('application/xml')\n * .send(xmlstring)\n * .end(callback);\n *\n * @param {String} type\n * @return {Request} for chaining\n * @api public\n */\n\nRequest.prototype.type = function(type){\n this.set('Content-Type', request.types[type] || type);\n return this;\n};\n\n/**\n * Set Accept to `type`, mapping values from `request.types`.\n *\n * Examples:\n *\n * superagent.types.json = 'application/json';\n *\n * request.get('/agent')\n * .accept('json')\n * .end(callback);\n *\n * request.get('/agent')\n * .accept('application/json')\n * .end(callback);\n *\n * @param {String} accept\n * @return {Request} for chaining\n * @api public\n */\n\nRequest.prototype.accept = function(type){\n this.set('Accept', request.types[type] || type);\n return this;\n};\n\n/**\n * Set Authorization field value with `user` and `pass`.\n *\n * @param {String} user\n * @param {String} [pass] optional in case of using 'bearer' as type\n * @param {Object} options with 'type' property 'auto', 'basic' or 'bearer' (default 'basic')\n * @return {Request} for chaining\n * @api public\n */\n\nRequest.prototype.auth = function(user, pass, options){\n if (typeof pass === 'object' && pass !== null) { // pass is optional and can substitute for options\n options = pass;\n }\n if (!options) {\n options = {\n type: 'function' === typeof btoa ? 'basic' : 'auto',\n }\n }\n\n switch (options.type) {\n case 'basic':\n this.set('Authorization', 'Basic ' + btoa(user + ':' + pass));\n break;\n\n case 'auto':\n this.username = user;\n this.password = pass;\n break;\n\n case 'bearer': // usage would be .auth(accessToken, { type: 'bearer' })\n this.set('Authorization', 'Bearer ' + user);\n break;\n }\n return this;\n};\n\n/**\n * Add query-string `val`.\n *\n * Examples:\n *\n * request.get('/shoes')\n * .query('size=10')\n * .query({ color: 'blue' })\n *\n * @param {Object|String} val\n * @return {Request} for chaining\n * @api public\n */\n\nRequest.prototype.query = function(val){\n if ('string' != typeof val) val = serialize(val);\n if (val) this._query.push(val);\n return this;\n};\n\n/**\n * Queue the given `file` as an attachment to the specified `field`,\n * with optional `options` (or filename).\n *\n * ``` js\n * request.post('/upload')\n * .attach('content', new Blob(['<a id=\"a\"><b id=\"b\">hey!</b></a>'], { type: \"text/html\"}))\n * .end(callback);\n * ```\n *\n * @param {String} field\n * @param {Blob|File} file\n * @param {String|Object} options\n * @return {Request} for chaining\n * @api public\n */\n\nRequest.prototype.attach = function(field, file, options){\n if (file) {\n if (this._data) {\n throw Error(\"superagent can't mix .send() and .attach()\");\n }\n\n this._getFormData().append(field, file, options || file.name);\n }\n return this;\n};\n\nRequest.prototype._getFormData = function(){\n if (!this._formData) {\n this._formData = new root.FormData();\n }\n return this._formData;\n};\n\n/**\n * Invoke the callback with `err` and `res`\n * and handle arity check.\n *\n * @param {Error} err\n * @param {Response} res\n * @api private\n */\n\nRequest.prototype.callback = function(err, res){\n // console.log(this._retries, this._maxRetries)\n if (this._maxRetries && this._retries++ < this._maxRetries && shouldRetry(err, res)) {\n return this._retry();\n }\n\n var fn = this._callback;\n this.clearTimeout();\n\n if (err) {\n if (this._maxRetries) err.retries = this._retries - 1;\n this.emit('error', err);\n }\n\n fn(err, res);\n};\n\n/**\n * Invoke callback with x-domain error.\n *\n * @api private\n */\n\nRequest.prototype.crossDomainError = function(){\n var err = new Error('Request has been terminated\\nPossible causes: the network is offline, Origin is not allowed by Access-Control-Allow-Origin, the page is being unloaded, etc.');\n err.crossDomain = true;\n\n err.status = this.status;\n err.method = this.method;\n err.url = this.url;\n\n this.callback(err);\n};\n\n// This only warns, because the request is still likely to work\nRequest.prototype.buffer = Request.prototype.ca = Request.prototype.agent = function(){\n console.warn(\"This is not supported in browser version of superagent\");\n return this;\n};\n\n// This throws, because it can't send/receive data as expected\nRequest.prototype.pipe = Request.prototype.write = function(){\n throw Error(\"Streaming is not supported in browser version of superagent\");\n};\n\n/**\n * Check if `obj` is a host object,\n * we don't want to serialize these :)\n *\n * @param {Object} obj\n * @return {Boolean}\n * @api private\n */\nRequest.prototype._isHost = function _isHost(obj) {\n // Native objects stringify to [object File], [object Blob], [object FormData], etc.\n return obj && 'object' === typeof obj && !Array.isArray(obj) && Object.prototype.toString.call(obj) !== '[object Object]';\n}\n\n/**\n * Initiate request, invoking callback `fn(res)`\n * with an instanceof `Response`.\n *\n * @param {Function} fn\n * @return {Request} for chaining\n * @api public\n */\n\nRequest.prototype.end = function(fn){\n if (this._endCalled) {\n console.warn(\"Warning: .end() was called twice. This is not supported in superagent\");\n }\n this._endCalled = true;\n\n // store callback\n this._callback = fn || noop;\n\n // querystring\n this._finalizeQueryString();\n\n return this._end();\n};\n\nRequest.prototype._end = function() {\n var self = this;\n var xhr = this.xhr = request.getXHR();\n var data = this._formData || this._data;\n\n this._setTimeouts();\n\n // state change\n xhr.onreadystatechange = function(){\n var readyState = xhr.readyState;\n if (readyState >= 2 && self._responseTimeoutTimer) {\n clearTimeout(self._responseTimeoutTimer);\n }\n if (4 != readyState) {\n return;\n }\n\n // In IE9, reads to any property (e.g. status) off of an aborted XHR will\n // result in the error \"Could not complete the operation due to error c00c023f\"\n var status;\n try { status = xhr.status } catch(e) { status = 0; }\n\n if (!status) {\n if (self.timedout || self._aborted) return;\n return self.crossDomainError();\n }\n self.emit('end');\n };\n\n // progress\n var handleProgress = function(direction, e) {\n if (e.total > 0) {\n e.percent = e.loaded / e.total * 100;\n }\n e.direction = direction;\n self.emit('progress', e);\n }\n if (this.hasListeners('progress')) {\n try {\n xhr.onprogress = handleProgress.bind(null, 'download');\n if (xhr.upload) {\n xhr.upload.onprogress = handleProgress.bind(null, 'upload');\n }\n } catch(e) {\n // Accessing xhr.upload fails in IE from a web worker, so just pretend it doesn't exist.\n // Reported here:\n // https://connect.microsoft.com/IE/feedback/details/837245/xmlhttprequest-upload-throws-invalid-argument-when-used-from-web-worker-context\n }\n }\n\n // initiate request\n try {\n if (this.username && this.password) {\n xhr.open(this.method, this.url, true, this.username, this.password);\n } else {\n xhr.open(this.method, this.url, true);\n }\n } catch (err) {\n // see #1149\n return this.callback(err);\n }\n\n // CORS\n if (this._withCredentials) xhr.withCredentials = true;\n\n // body\n if (!this._formData && 'GET' != this.method && 'HEAD' != this.method && 'string' != typeof data && !this._isHost(data)) {\n // serialize stuff\n var contentType = this._header['content-type'];\n var serialize = this._serializer || request.serialize[contentType ? contentType.split(';')[0] : ''];\n if (!serialize && isJSON(contentType)) {\n serialize = request.serialize['application/json'];\n }\n if (serialize) data = serialize(data);\n }\n\n // set header fields\n for (var field in this.header) {\n if (null == this.header[field]) continue;\n\n if (this.header.hasOwnProperty(field))\n xhr.setRequestHeader(field, this.header[field]);\n }\n\n if (this._responseType) {\n xhr.responseType = this._responseType;\n }\n\n // send stuff\n this.emit('request', this);\n\n // IE11 xhr.send(undefined) sends 'undefined' string as POST payload (instead of nothing)\n // We need null here if data is undefined\n xhr.send(typeof data !== 'undefined' ? data : null);\n return this;\n};\n\n/**\n * GET `url` with optional callback `fn(res)`.\n *\n * @param {String} url\n * @param {Mixed|Function} [data] or fn\n * @param {Function} [fn]\n * @return {Request}\n * @api public\n */\n\nrequest.get = function(url, data, fn){\n var req = request('GET', url);\n if ('function' == typeof data) fn = data, data = null;\n if (data) req.query(data);\n if (fn) req.end(fn);\n return req;\n};\n\n/**\n * HEAD `url` with optional callback `fn(res)`.\n *\n * @param {String} url\n * @param {Mixed|Function} [data] or fn\n * @param {Function} [fn]\n * @return {Request}\n * @api public\n */\n\nrequest.head = function(url, data, fn){\n var req = request('HEAD', url);\n if ('function' == typeof data) fn = data, data = null;\n if (data) req.query(data);\n if (fn) req.end(fn);\n return req;\n};\n\n/**\n * OPTIONS query to `url` with optional callback `fn(res)`.\n *\n * @param {String} url\n * @param {Mixed|Function} [data] or fn\n * @param {Function} [fn]\n * @return {Request}\n * @api public\n */\n\nrequest.options = function(url, data, fn){\n var req = request('OPTIONS', url);\n if ('function' == typeof data) fn = data, data = null;\n if (data) req.send(data);\n if (fn) req.end(fn);\n return req;\n};\n\n/**\n * DELETE `url` with optional `data` and callback `fn(res)`.\n *\n * @param {String} url\n * @param {Mixed} [data]\n * @param {Function} [fn]\n * @return {Request}\n * @api public\n */\n\nfunction del(url, data, fn){\n var req = request('DELETE', url);\n if ('function' == typeof data) fn = data, data = null;\n if (data) req.send(data);\n if (fn) req.end(fn);\n return req;\n};\n\nrequest['del'] = del;\nrequest['delete'] = del;\n\n/**\n * PATCH `url` with optional `data` and callback `fn(res)`.\n *\n * @param {String} url\n * @param {Mixed} [data]\n * @param {Function} [fn]\n * @return {Request}\n * @api public\n */\n\nrequest.patch = function(url, data, fn){\n var req = request('PATCH', url);\n if ('function' == typeof data) fn = data, data = null;\n if (data) req.send(data);\n if (fn) req.end(fn);\n return req;\n};\n\n/**\n * POST `url` with optional `data` and callback `fn(res)`.\n *\n * @param {String} url\n * @param {Mixed} [data]\n * @param {Function} [fn]\n * @return {Request}\n * @api public\n */\n\nrequest.post = function(url, data, fn){\n var req = request('POST', url);\n if ('function' == typeof data) fn = data, data = null;\n if (data) req.send(data);\n if (fn) req.end(fn);\n return req;\n};\n\n/**\n * PUT `url` with optional `data` and callback `fn(res)`.\n *\n * @param {String} url\n * @param {Mixed|Function} [data] or fn\n * @param {Function} [fn]\n * @return {Request}\n * @api public\n */\n\nrequest.put = function(url, data, fn){\n var req = request('PUT', url);\n if ('function' == typeof data) fn = data, data = null;\n if (data) req.send(data);\n if (fn) req.end(fn);\n return req;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/superagent/lib/client.js\n// module id = 43\n// module chunks = 0","// 22.1.3.31 Array.prototype[@@unscopables]\nvar UNSCOPABLES = require('./_wks')('unscopables');\nvar ArrayProto = Array.prototype;\nif (ArrayProto[UNSCOPABLES] == undefined) require('./_hide')(ArrayProto, UNSCOPABLES, {});\nmodule.exports = function (key) {\n ArrayProto[UNSCOPABLES][key] = true;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_add-to-unscopables.js\n// module id = 44\n// module chunks = 0","// @@replace logic\nrequire('./_fix-re-wks')('replace', 2, function (defined, REPLACE, $replace) {\n // 21.1.3.14 String.prototype.replace(searchValue, replaceValue)\n return [function replace(searchValue, replaceValue) {\n 'use strict';\n var O = defined(this);\n var fn = searchValue == undefined ? undefined : searchValue[REPLACE];\n return fn !== undefined\n ? fn.call(searchValue, O, replaceValue)\n : $replace.call(String(O), searchValue, replaceValue);\n }, $replace];\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.regexp.replace.js\n// module id = 45\n// module chunks = 0","'use strict';\nvar hide = require('./_hide');\nvar redefine = require('./_redefine');\nvar fails = require('./_fails');\nvar defined = require('./_defined');\nvar wks = require('./_wks');\n\nmodule.exports = function (KEY, length, exec) {\n var SYMBOL = wks(KEY);\n var fns = exec(defined, SYMBOL, ''[KEY]);\n var strfn = fns[0];\n var rxfn = fns[1];\n if (fails(function () {\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n })) {\n redefine(String.prototype, KEY, strfn);\n hide(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function (string, arg) { return rxfn.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function (string) { return rxfn.call(string, this); }\n );\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_fix-re-wks.js\n// module id = 46\n// module chunks = 0","var global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\nmodule.exports = function (key) {\n return store[key] || (store[key] = {});\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_shared.js\n// module id = 47\n// module chunks = 0","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_dom-create.js\n// module id = 48\n// module chunks = 0","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_to-primitive.js\n// module id = 49\n// module chunks = 0","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_iobject.js\n// module id = 50\n// module chunks = 0","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_shared-key.js\n// module id = 51\n// module chunks = 0","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_enum-bug-keys.js\n// module id = 52\n// module chunks = 0","exports.f = Object.getOwnPropertySymbols;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_object-gops.js\n// module id = 53\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar validateFormat = function validateFormat(format) {};\n\nif (process.env.NODE_ENV !== 'production') {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nmodule.exports = invariant;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/fbjs/lib/invariant.js\n// module id = 54\n// module chunks = 0","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/react-dom/index.js\n// module id = 55\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\nexports.locationsAreEqual = exports.createLocation = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _resolvePathname = require('resolve-pathname');\n\nvar _resolvePathname2 = _interopRequireDefault(_resolvePathname);\n\nvar _valueEqual = require('value-equal');\n\nvar _valueEqual2 = _interopRequireDefault(_valueEqual);\n\nvar _PathUtils = require('./PathUtils');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar createLocation = exports.createLocation = function createLocation(path, state, key, currentLocation) {\n var location = void 0;\n if (typeof path === 'string') {\n // Two-arg form: push(path, state)\n location = (0, _PathUtils.parsePath)(path);\n location.state = state;\n } else {\n // One-arg form: push(location)\n location = _extends({}, path);\n\n if (location.pathname === undefined) location.pathname = '';\n\n if (location.search) {\n if (location.search.charAt(0) !== '?') location.search = '?' + location.search;\n } else {\n location.search = '';\n }\n\n if (location.hash) {\n if (location.hash.charAt(0) !== '#') location.hash = '#' + location.hash;\n } else {\n location.hash = '';\n }\n\n if (state !== undefined && location.state === undefined) location.state = state;\n }\n\n try {\n location.pathname = decodeURI(location.pathname);\n } catch (e) {\n if (e instanceof URIError) {\n throw new URIError('Pathname \"' + location.pathname + '\" could not be decoded. ' + 'This is likely caused by an invalid percent-encoding.');\n } else {\n throw e;\n }\n }\n\n if (key) location.key = key;\n\n if (currentLocation) {\n // Resolve incomplete/relative pathname relative to current location.\n if (!location.pathname) {\n location.pathname = currentLocation.pathname;\n } else if (location.pathname.charAt(0) !== '/') {\n location.pathname = (0, _resolvePathname2.default)(location.pathname, currentLocation.pathname);\n }\n } else {\n // When there is no prior location and pathname is empty, set it to /\n if (!location.pathname) {\n location.pathname = '/';\n }\n }\n\n return location;\n};\n\nvar locationsAreEqual = exports.locationsAreEqual = function locationsAreEqual(a, b) {\n return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash && a.key === b.key && (0, _valueEqual2.default)(a.state, b.state);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/history/LocationUtils.js\n// module id = 56\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\n\nvar _warning = require('warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar createTransitionManager = function createTransitionManager() {\n var prompt = null;\n\n var setPrompt = function setPrompt(nextPrompt) {\n (0, _warning2.default)(prompt == null, 'A history supports only one prompt at a time');\n\n prompt = nextPrompt;\n\n return function () {\n if (prompt === nextPrompt) prompt = null;\n };\n };\n\n var confirmTransitionTo = function confirmTransitionTo(location, action, getUserConfirmation, callback) {\n // TODO: If another transition starts while we're still confirming\n // the previous one, we may end up in a weird state. Figure out the\n // best way to handle this.\n if (prompt != null) {\n var result = typeof prompt === 'function' ? prompt(location, action) : prompt;\n\n if (typeof result === 'string') {\n if (typeof getUserConfirmation === 'function') {\n getUserConfirmation(result, callback);\n } else {\n (0, _warning2.default)(false, 'A history needs a getUserConfirmation function in order to use a prompt message');\n\n callback(true);\n }\n } else {\n // Return false from a transition hook to cancel the transition.\n callback(result !== false);\n }\n } else {\n callback(true);\n }\n };\n\n var listeners = [];\n\n var appendListener = function appendListener(fn) {\n var isActive = true;\n\n var listener = function listener() {\n if (isActive) fn.apply(undefined, arguments);\n };\n\n listeners.push(listener);\n\n return function () {\n isActive = false;\n listeners = listeners.filter(function (item) {\n return item !== listener;\n });\n };\n };\n\n var notifyListeners = function notifyListeners() {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n listeners.forEach(function (listener) {\n return listener.apply(undefined, args);\n });\n };\n\n return {\n setPrompt: setPrompt,\n confirmTransitionTo: confirmTransitionTo,\n appendListener: appendListener,\n notifyListeners: notifyListeners\n };\n};\n\nexports.default = createTransitionManager;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/history/createTransitionManager.js\n// module id = 57\n// module chunks = 0","// Written in this round about way for babel-transform-imports\nimport Router from 'react-router/es/Router';\n\nexport default Router;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/react-router-dom/es/Router.js\n// module id = 58\n// module chunks = 0","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nimport warning from 'warning';\nimport invariant from 'invariant';\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n/**\n * The public API for putting history on context.\n */\n\nvar Router = function (_React$Component) {\n _inherits(Router, _React$Component);\n\n function Router() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Router);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.state = {\n match: _this.computeMatch(_this.props.history.location.pathname)\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Router.prototype.getChildContext = function getChildContext() {\n return {\n router: _extends({}, this.context.router, {\n history: this.props.history,\n route: {\n location: this.props.history.location,\n match: this.state.match\n }\n })\n };\n };\n\n Router.prototype.computeMatch = function computeMatch(pathname) {\n return {\n path: '/',\n url: '/',\n params: {},\n isExact: pathname === '/'\n };\n };\n\n Router.prototype.componentWillMount = function componentWillMount() {\n var _this2 = this;\n\n var _props = this.props,\n children = _props.children,\n history = _props.history;\n\n\n invariant(children == null || React.Children.count(children) === 1, 'A <Router> may have only one child element');\n\n // Do this here so we can setState when a <Redirect> changes the\n // location in componentWillMount. This happens e.g. when doing\n // server rendering using a <StaticRouter>.\n this.unlisten = history.listen(function () {\n _this2.setState({\n match: _this2.computeMatch(history.location.pathname)\n });\n });\n };\n\n Router.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n warning(this.props.history === nextProps.history, 'You cannot change <Router history>');\n };\n\n Router.prototype.componentWillUnmount = function componentWillUnmount() {\n this.unlisten();\n };\n\n Router.prototype.render = function render() {\n var children = this.props.children;\n\n return children ? React.Children.only(children) : null;\n };\n\n return Router;\n}(React.Component);\n\nRouter.propTypes = {\n history: PropTypes.object.isRequired,\n children: PropTypes.node\n};\nRouter.contextTypes = {\n router: PropTypes.object\n};\nRouter.childContextTypes = {\n router: PropTypes.object.isRequired\n};\n\n\nexport default Router;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/react-router/es/Router.js\n// module id = 59\n// module chunks = 0","import pathToRegexp from 'path-to-regexp';\n\nvar patternCache = {};\nvar cacheLimit = 10000;\nvar cacheCount = 0;\n\nvar compilePath = function compilePath(pattern, options) {\n var cacheKey = '' + options.end + options.strict + options.sensitive;\n var cache = patternCache[cacheKey] || (patternCache[cacheKey] = {});\n\n if (cache[pattern]) return cache[pattern];\n\n var keys = [];\n var re = pathToRegexp(pattern, keys, options);\n var compiledPattern = { re: re, keys: keys };\n\n if (cacheCount < cacheLimit) {\n cache[pattern] = compiledPattern;\n cacheCount++;\n }\n\n return compiledPattern;\n};\n\n/**\n * Public API for matching a URL pathname to a path pattern.\n */\nvar matchPath = function matchPath(pathname) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (typeof options === 'string') options = { path: options };\n\n var _options = options,\n _options$path = _options.path,\n path = _options$path === undefined ? '/' : _options$path,\n _options$exact = _options.exact,\n exact = _options$exact === undefined ? false : _options$exact,\n _options$strict = _options.strict,\n strict = _options$strict === undefined ? false : _options$strict,\n _options$sensitive = _options.sensitive,\n sensitive = _options$sensitive === undefined ? false : _options$sensitive;\n\n var _compilePath = compilePath(path, { end: exact, strict: strict, sensitive: sensitive }),\n re = _compilePath.re,\n keys = _compilePath.keys;\n\n var match = re.exec(pathname);\n\n if (!match) return null;\n\n var url = match[0],\n values = match.slice(1);\n\n var isExact = pathname === url;\n\n if (exact && !isExact) return null;\n\n return {\n path: path, // the path pattern used to match\n url: path === '/' && url === '' ? '/' : url, // the matched portion of the URL\n isExact: isExact, // whether or not we matched exactly\n params: keys.reduce(function (memo, key, index) {\n memo[key.name] = values[index];\n return memo;\n }, {})\n };\n};\n\nexport default matchPath;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/react-router/es/matchPath.js\n// module id = 60\n// module chunks = 0","import warning from 'warning';\n\nvar createTransitionManager = function createTransitionManager() {\n var prompt = null;\n\n var setPrompt = function setPrompt(nextPrompt) {\n warning(prompt == null, 'A history supports only one prompt at a time');\n\n prompt = nextPrompt;\n\n return function () {\n if (prompt === nextPrompt) prompt = null;\n };\n };\n\n var confirmTransitionTo = function confirmTransitionTo(location, action, getUserConfirmation, callback) {\n // TODO: If another transition starts while we're still confirming\n // the previous one, we may end up in a weird state. Figure out the\n // best way to handle this.\n if (prompt != null) {\n var result = typeof prompt === 'function' ? prompt(location, action) : prompt;\n\n if (typeof result === 'string') {\n if (typeof getUserConfirmation === 'function') {\n getUserConfirmation(result, callback);\n } else {\n warning(false, 'A history needs a getUserConfirmation function in order to use a prompt message');\n\n callback(true);\n }\n } else {\n // Return false from a transition hook to cancel the transition.\n callback(result !== false);\n }\n } else {\n callback(true);\n }\n };\n\n var listeners = [];\n\n var appendListener = function appendListener(fn) {\n var isActive = true;\n\n var listener = function listener() {\n if (isActive) fn.apply(undefined, arguments);\n };\n\n listeners.push(listener);\n\n return function () {\n isActive = false;\n listeners = listeners.filter(function (item) {\n return item !== listener;\n });\n };\n };\n\n var notifyListeners = function notifyListeners() {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n listeners.forEach(function (listener) {\n return listener.apply(undefined, args);\n });\n };\n\n return {\n setPrompt: setPrompt,\n confirmTransitionTo: confirmTransitionTo,\n appendListener: appendListener,\n notifyListeners: notifyListeners\n };\n};\n\nexport default createTransitionManager;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/history/es/createTransitionManager.js\n// module id = 61\n// module chunks = 0","import baseGetTag from './_baseGetTag.js';\nimport getPrototype from './_getPrototype.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nexport default isPlainObject;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash-es/isPlainObject.js\n// module id = 62\n// module chunks = 0","var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/global.js\n// module id = 63\n// module chunks = 0","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object');\nvar $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.object.keys.js\n// module id = 64\n// module chunks = 0","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global.Immutable = factory());\n}(this, function () { 'use strict';var SLICE$0 = Array.prototype.slice;\n\n function createClass(ctor, superClass) {\n if (superClass) {\n ctor.prototype = Object.create(superClass.prototype);\n }\n ctor.prototype.constructor = ctor;\n }\n\n function Iterable(value) {\n return isIterable(value) ? value : Seq(value);\n }\n\n\n createClass(KeyedIterable, Iterable);\n function KeyedIterable(value) {\n return isKeyed(value) ? value : KeyedSeq(value);\n }\n\n\n createClass(IndexedIterable, Iterable);\n function IndexedIterable(value) {\n return isIndexed(value) ? value : IndexedSeq(value);\n }\n\n\n createClass(SetIterable, Iterable);\n function SetIterable(value) {\n return isIterable(value) && !isAssociative(value) ? value : SetSeq(value);\n }\n\n\n\n function isIterable(maybeIterable) {\n return !!(maybeIterable && maybeIterable[IS_ITERABLE_SENTINEL]);\n }\n\n function isKeyed(maybeKeyed) {\n return !!(maybeKeyed && maybeKeyed[IS_KEYED_SENTINEL]);\n }\n\n function isIndexed(maybeIndexed) {\n return !!(maybeIndexed && maybeIndexed[IS_INDEXED_SENTINEL]);\n }\n\n function isAssociative(maybeAssociative) {\n return isKeyed(maybeAssociative) || isIndexed(maybeAssociative);\n }\n\n function isOrdered(maybeOrdered) {\n return !!(maybeOrdered && maybeOrdered[IS_ORDERED_SENTINEL]);\n }\n\n Iterable.isIterable = isIterable;\n Iterable.isKeyed = isKeyed;\n Iterable.isIndexed = isIndexed;\n Iterable.isAssociative = isAssociative;\n Iterable.isOrdered = isOrdered;\n\n Iterable.Keyed = KeyedIterable;\n Iterable.Indexed = IndexedIterable;\n Iterable.Set = SetIterable;\n\n\n var IS_ITERABLE_SENTINEL = '@@__IMMUTABLE_ITERABLE__@@';\n var IS_KEYED_SENTINEL = '@@__IMMUTABLE_KEYED__@@';\n var IS_INDEXED_SENTINEL = '@@__IMMUTABLE_INDEXED__@@';\n var IS_ORDERED_SENTINEL = '@@__IMMUTABLE_ORDERED__@@';\n\n // Used for setting prototype methods that IE8 chokes on.\n var DELETE = 'delete';\n\n // Constants describing the size of trie nodes.\n var SHIFT = 5; // Resulted in best performance after ______?\n var SIZE = 1 << SHIFT;\n var MASK = SIZE - 1;\n\n // A consistent shared value representing \"not set\" which equals nothing other\n // than itself, and nothing that could be provided externally.\n var NOT_SET = {};\n\n // Boolean references, Rough equivalent of `bool &`.\n var CHANGE_LENGTH = { value: false };\n var DID_ALTER = { value: false };\n\n function MakeRef(ref) {\n ref.value = false;\n return ref;\n }\n\n function SetRef(ref) {\n ref && (ref.value = true);\n }\n\n // A function which returns a value representing an \"owner\" for transient writes\n // to tries. The return value will only ever equal itself, and will not equal\n // the return of any subsequent call of this function.\n function OwnerID() {}\n\n // http://jsperf.com/copy-array-inline\n function arrCopy(arr, offset) {\n offset = offset || 0;\n var len = Math.max(0, arr.length - offset);\n var newArr = new Array(len);\n for (var ii = 0; ii < len; ii++) {\n newArr[ii] = arr[ii + offset];\n }\n return newArr;\n }\n\n function ensureSize(iter) {\n if (iter.size === undefined) {\n iter.size = iter.__iterate(returnTrue);\n }\n return iter.size;\n }\n\n function wrapIndex(iter, index) {\n // This implements \"is array index\" which the ECMAString spec defines as:\n //\n // A String property name P is an array index if and only if\n // ToString(ToUint32(P)) is equal to P and ToUint32(P) is not equal\n // to 2^32−1.\n //\n // http://www.ecma-international.org/ecma-262/6.0/#sec-array-exotic-objects\n if (typeof index !== 'number') {\n var uint32Index = index >>> 0; // N >>> 0 is shorthand for ToUint32\n if ('' + uint32Index !== index || uint32Index === 4294967295) {\n return NaN;\n }\n index = uint32Index;\n }\n return index < 0 ? ensureSize(iter) + index : index;\n }\n\n function returnTrue() {\n return true;\n }\n\n function wholeSlice(begin, end, size) {\n return (begin === 0 || (size !== undefined && begin <= -size)) &&\n (end === undefined || (size !== undefined && end >= size));\n }\n\n function resolveBegin(begin, size) {\n return resolveIndex(begin, size, 0);\n }\n\n function resolveEnd(end, size) {\n return resolveIndex(end, size, size);\n }\n\n function resolveIndex(index, size, defaultIndex) {\n return index === undefined ?\n defaultIndex :\n index < 0 ?\n Math.max(0, size + index) :\n size === undefined ?\n index :\n Math.min(size, index);\n }\n\n /* global Symbol */\n\n var ITERATE_KEYS = 0;\n var ITERATE_VALUES = 1;\n var ITERATE_ENTRIES = 2;\n\n var REAL_ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator';\n\n var ITERATOR_SYMBOL = REAL_ITERATOR_SYMBOL || FAUX_ITERATOR_SYMBOL;\n\n\n function Iterator(next) {\n this.next = next;\n }\n\n Iterator.prototype.toString = function() {\n return '[Iterator]';\n };\n\n\n Iterator.KEYS = ITERATE_KEYS;\n Iterator.VALUES = ITERATE_VALUES;\n Iterator.ENTRIES = ITERATE_ENTRIES;\n\n Iterator.prototype.inspect =\n Iterator.prototype.toSource = function () { return this.toString(); }\n Iterator.prototype[ITERATOR_SYMBOL] = function () {\n return this;\n };\n\n\n function iteratorValue(type, k, v, iteratorResult) {\n var value = type === 0 ? k : type === 1 ? v : [k, v];\n iteratorResult ? (iteratorResult.value = value) : (iteratorResult = {\n value: value, done: false\n });\n return iteratorResult;\n }\n\n function iteratorDone() {\n return { value: undefined, done: true };\n }\n\n function hasIterator(maybeIterable) {\n return !!getIteratorFn(maybeIterable);\n }\n\n function isIterator(maybeIterator) {\n return maybeIterator && typeof maybeIterator.next === 'function';\n }\n\n function getIterator(iterable) {\n var iteratorFn = getIteratorFn(iterable);\n return iteratorFn && iteratorFn.call(iterable);\n }\n\n function getIteratorFn(iterable) {\n var iteratorFn = iterable && (\n (REAL_ITERATOR_SYMBOL && iterable[REAL_ITERATOR_SYMBOL]) ||\n iterable[FAUX_ITERATOR_SYMBOL]\n );\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n function isArrayLike(value) {\n return value && typeof value.length === 'number';\n }\n\n createClass(Seq, Iterable);\n function Seq(value) {\n return value === null || value === undefined ? emptySequence() :\n isIterable(value) ? value.toSeq() : seqFromValue(value);\n }\n\n Seq.of = function(/*...values*/) {\n return Seq(arguments);\n };\n\n Seq.prototype.toSeq = function() {\n return this;\n };\n\n Seq.prototype.toString = function() {\n return this.__toString('Seq {', '}');\n };\n\n Seq.prototype.cacheResult = function() {\n if (!this._cache && this.__iterateUncached) {\n this._cache = this.entrySeq().toArray();\n this.size = this._cache.length;\n }\n return this;\n };\n\n // abstract __iterateUncached(fn, reverse)\n\n Seq.prototype.__iterate = function(fn, reverse) {\n return seqIterate(this, fn, reverse, true);\n };\n\n // abstract __iteratorUncached(type, reverse)\n\n Seq.prototype.__iterator = function(type, reverse) {\n return seqIterator(this, type, reverse, true);\n };\n\n\n\n createClass(KeyedSeq, Seq);\n function KeyedSeq(value) {\n return value === null || value === undefined ?\n emptySequence().toKeyedSeq() :\n isIterable(value) ?\n (isKeyed(value) ? value.toSeq() : value.fromEntrySeq()) :\n keyedSeqFromValue(value);\n }\n\n KeyedSeq.prototype.toKeyedSeq = function() {\n return this;\n };\n\n\n\n createClass(IndexedSeq, Seq);\n function IndexedSeq(value) {\n return value === null || value === undefined ? emptySequence() :\n !isIterable(value) ? indexedSeqFromValue(value) :\n isKeyed(value) ? value.entrySeq() : value.toIndexedSeq();\n }\n\n IndexedSeq.of = function(/*...values*/) {\n return IndexedSeq(arguments);\n };\n\n IndexedSeq.prototype.toIndexedSeq = function() {\n return this;\n };\n\n IndexedSeq.prototype.toString = function() {\n return this.__toString('Seq [', ']');\n };\n\n IndexedSeq.prototype.__iterate = function(fn, reverse) {\n return seqIterate(this, fn, reverse, false);\n };\n\n IndexedSeq.prototype.__iterator = function(type, reverse) {\n return seqIterator(this, type, reverse, false);\n };\n\n\n\n createClass(SetSeq, Seq);\n function SetSeq(value) {\n return (\n value === null || value === undefined ? emptySequence() :\n !isIterable(value) ? indexedSeqFromValue(value) :\n isKeyed(value) ? value.entrySeq() : value\n ).toSetSeq();\n }\n\n SetSeq.of = function(/*...values*/) {\n return SetSeq(arguments);\n };\n\n SetSeq.prototype.toSetSeq = function() {\n return this;\n };\n\n\n\n Seq.isSeq = isSeq;\n Seq.Keyed = KeyedSeq;\n Seq.Set = SetSeq;\n Seq.Indexed = IndexedSeq;\n\n var IS_SEQ_SENTINEL = '@@__IMMUTABLE_SEQ__@@';\n\n Seq.prototype[IS_SEQ_SENTINEL] = true;\n\n\n\n createClass(ArraySeq, IndexedSeq);\n function ArraySeq(array) {\n this._array = array;\n this.size = array.length;\n }\n\n ArraySeq.prototype.get = function(index, notSetValue) {\n return this.has(index) ? this._array[wrapIndex(this, index)] : notSetValue;\n };\n\n ArraySeq.prototype.__iterate = function(fn, reverse) {\n var array = this._array;\n var maxIndex = array.length - 1;\n for (var ii = 0; ii <= maxIndex; ii++) {\n if (fn(array[reverse ? maxIndex - ii : ii], ii, this) === false) {\n return ii + 1;\n }\n }\n return ii;\n };\n\n ArraySeq.prototype.__iterator = function(type, reverse) {\n var array = this._array;\n var maxIndex = array.length - 1;\n var ii = 0;\n return new Iterator(function() \n {return ii > maxIndex ?\n iteratorDone() :\n iteratorValue(type, ii, array[reverse ? maxIndex - ii++ : ii++])}\n );\n };\n\n\n\n createClass(ObjectSeq, KeyedSeq);\n function ObjectSeq(object) {\n var keys = Object.keys(object);\n this._object = object;\n this._keys = keys;\n this.size = keys.length;\n }\n\n ObjectSeq.prototype.get = function(key, notSetValue) {\n if (notSetValue !== undefined && !this.has(key)) {\n return notSetValue;\n }\n return this._object[key];\n };\n\n ObjectSeq.prototype.has = function(key) {\n return this._object.hasOwnProperty(key);\n };\n\n ObjectSeq.prototype.__iterate = function(fn, reverse) {\n var object = this._object;\n var keys = this._keys;\n var maxIndex = keys.length - 1;\n for (var ii = 0; ii <= maxIndex; ii++) {\n var key = keys[reverse ? maxIndex - ii : ii];\n if (fn(object[key], key, this) === false) {\n return ii + 1;\n }\n }\n return ii;\n };\n\n ObjectSeq.prototype.__iterator = function(type, reverse) {\n var object = this._object;\n var keys = this._keys;\n var maxIndex = keys.length - 1;\n var ii = 0;\n return new Iterator(function() {\n var key = keys[reverse ? maxIndex - ii : ii];\n return ii++ > maxIndex ?\n iteratorDone() :\n iteratorValue(type, key, object[key]);\n });\n };\n\n ObjectSeq.prototype[IS_ORDERED_SENTINEL] = true;\n\n\n createClass(IterableSeq, IndexedSeq);\n function IterableSeq(iterable) {\n this._iterable = iterable;\n this.size = iterable.length || iterable.size;\n }\n\n IterableSeq.prototype.__iterateUncached = function(fn, reverse) {\n if (reverse) {\n return this.cacheResult().__iterate(fn, reverse);\n }\n var iterable = this._iterable;\n var iterator = getIterator(iterable);\n var iterations = 0;\n if (isIterator(iterator)) {\n var step;\n while (!(step = iterator.next()).done) {\n if (fn(step.value, iterations++, this) === false) {\n break;\n }\n }\n }\n return iterations;\n };\n\n IterableSeq.prototype.__iteratorUncached = function(type, reverse) {\n if (reverse) {\n return this.cacheResult().__iterator(type, reverse);\n }\n var iterable = this._iterable;\n var iterator = getIterator(iterable);\n if (!isIterator(iterator)) {\n return new Iterator(iteratorDone);\n }\n var iterations = 0;\n return new Iterator(function() {\n var step = iterator.next();\n return step.done ? step : iteratorValue(type, iterations++, step.value);\n });\n };\n\n\n\n createClass(IteratorSeq, IndexedSeq);\n function IteratorSeq(iterator) {\n this._iterator = iterator;\n this._iteratorCache = [];\n }\n\n IteratorSeq.prototype.__iterateUncached = function(fn, reverse) {\n if (reverse) {\n return this.cacheResult().__iterate(fn, reverse);\n }\n var iterator = this._iterator;\n var cache = this._iteratorCache;\n var iterations = 0;\n while (iterations < cache.length) {\n if (fn(cache[iterations], iterations++, this) === false) {\n return iterations;\n }\n }\n var step;\n while (!(step = iterator.next()).done) {\n var val = step.value;\n cache[iterations] = val;\n if (fn(val, iterations++, this) === false) {\n break;\n }\n }\n return iterations;\n };\n\n IteratorSeq.prototype.__iteratorUncached = function(type, reverse) {\n if (reverse) {\n return this.cacheResult().__iterator(type, reverse);\n }\n var iterator = this._iterator;\n var cache = this._iteratorCache;\n var iterations = 0;\n return new Iterator(function() {\n if (iterations >= cache.length) {\n var step = iterator.next();\n if (step.done) {\n return step;\n }\n cache[iterations] = step.value;\n }\n return iteratorValue(type, iterations, cache[iterations++]);\n });\n };\n\n\n\n\n // # pragma Helper functions\n\n function isSeq(maybeSeq) {\n return !!(maybeSeq && maybeSeq[IS_SEQ_SENTINEL]);\n }\n\n var EMPTY_SEQ;\n\n function emptySequence() {\n return EMPTY_SEQ || (EMPTY_SEQ = new ArraySeq([]));\n }\n\n function keyedSeqFromValue(value) {\n var seq =\n Array.isArray(value) ? new ArraySeq(value).fromEntrySeq() :\n isIterator(value) ? new IteratorSeq(value).fromEntrySeq() :\n hasIterator(value) ? new IterableSeq(value).fromEntrySeq() :\n typeof value === 'object' ? new ObjectSeq(value) :\n undefined;\n if (!seq) {\n throw new TypeError(\n 'Expected Array or iterable object of [k, v] entries, '+\n 'or keyed object: ' + value\n );\n }\n return seq;\n }\n\n function indexedSeqFromValue(value) {\n var seq = maybeIndexedSeqFromValue(value);\n if (!seq) {\n throw new TypeError(\n 'Expected Array or iterable object of values: ' + value\n );\n }\n return seq;\n }\n\n function seqFromValue(value) {\n var seq = maybeIndexedSeqFromValue(value) ||\n (typeof value === 'object' && new ObjectSeq(value));\n if (!seq) {\n throw new TypeError(\n 'Expected Array or iterable object of values, or keyed object: ' + value\n );\n }\n return seq;\n }\n\n function maybeIndexedSeqFromValue(value) {\n return (\n isArrayLike(value) ? new ArraySeq(value) :\n isIterator(value) ? new IteratorSeq(value) :\n hasIterator(value) ? new IterableSeq(value) :\n undefined\n );\n }\n\n function seqIterate(seq, fn, reverse, useKeys) {\n var cache = seq._cache;\n if (cache) {\n var maxIndex = cache.length - 1;\n for (var ii = 0; ii <= maxIndex; ii++) {\n var entry = cache[reverse ? maxIndex - ii : ii];\n if (fn(entry[1], useKeys ? entry[0] : ii, seq) === false) {\n return ii + 1;\n }\n }\n return ii;\n }\n return seq.__iterateUncached(fn, reverse);\n }\n\n function seqIterator(seq, type, reverse, useKeys) {\n var cache = seq._cache;\n if (cache) {\n var maxIndex = cache.length - 1;\n var ii = 0;\n return new Iterator(function() {\n var entry = cache[reverse ? maxIndex - ii : ii];\n return ii++ > maxIndex ?\n iteratorDone() :\n iteratorValue(type, useKeys ? entry[0] : ii - 1, entry[1]);\n });\n }\n return seq.__iteratorUncached(type, reverse);\n }\n\n function fromJS(json, converter) {\n return converter ?\n fromJSWith(converter, json, '', {'': json}) :\n fromJSDefault(json);\n }\n\n function fromJSWith(converter, json, key, parentJSON) {\n if (Array.isArray(json)) {\n return converter.call(parentJSON, key, IndexedSeq(json).map(function(v, k) {return fromJSWith(converter, v, k, json)}));\n }\n if (isPlainObj(json)) {\n return converter.call(parentJSON, key, KeyedSeq(json).map(function(v, k) {return fromJSWith(converter, v, k, json)}));\n }\n return json;\n }\n\n function fromJSDefault(json) {\n if (Array.isArray(json)) {\n return IndexedSeq(json).map(fromJSDefault).toList();\n }\n if (isPlainObj(json)) {\n return KeyedSeq(json).map(fromJSDefault).toMap();\n }\n return json;\n }\n\n function isPlainObj(value) {\n return value && (value.constructor === Object || value.constructor === undefined);\n }\n\n /**\n * An extension of the \"same-value\" algorithm as [described for use by ES6 Map\n * and Set](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map#Key_equality)\n *\n * NaN is considered the same as NaN, however -0 and 0 are considered the same\n * value, which is different from the algorithm described by\n * [`Object.is`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is).\n *\n * This is extended further to allow Objects to describe the values they\n * represent, by way of `valueOf` or `equals` (and `hashCode`).\n *\n * Note: because of this extension, the key equality of Immutable.Map and the\n * value equality of Immutable.Set will differ from ES6 Map and Set.\n *\n * ### Defining custom values\n *\n * The easiest way to describe the value an object represents is by implementing\n * `valueOf`. For example, `Date` represents a value by returning a unix\n * timestamp for `valueOf`:\n *\n * var date1 = new Date(1234567890000); // Fri Feb 13 2009 ...\n * var date2 = new Date(1234567890000);\n * date1.valueOf(); // 1234567890000\n * assert( date1 !== date2 );\n * assert( Immutable.is( date1, date2 ) );\n *\n * Note: overriding `valueOf` may have other implications if you use this object\n * where JavaScript expects a primitive, such as implicit string coercion.\n *\n * For more complex types, especially collections, implementing `valueOf` may\n * not be performant. An alternative is to implement `equals` and `hashCode`.\n *\n * `equals` takes another object, presumably of similar type, and returns true\n * if the it is equal. Equality is symmetrical, so the same result should be\n * returned if this and the argument are flipped.\n *\n * assert( a.equals(b) === b.equals(a) );\n *\n * `hashCode` returns a 32bit integer number representing the object which will\n * be used to determine how to store the value object in a Map or Set. You must\n * provide both or neither methods, one must not exist without the other.\n *\n * Also, an important relationship between these methods must be upheld: if two\n * values are equal, they *must* return the same hashCode. If the values are not\n * equal, they might have the same hashCode; this is called a hash collision,\n * and while undesirable for performance reasons, it is acceptable.\n *\n * if (a.equals(b)) {\n * assert( a.hashCode() === b.hashCode() );\n * }\n *\n * All Immutable collections implement `equals` and `hashCode`.\n *\n */\n function is(valueA, valueB) {\n if (valueA === valueB || (valueA !== valueA && valueB !== valueB)) {\n return true;\n }\n if (!valueA || !valueB) {\n return false;\n }\n if (typeof valueA.valueOf === 'function' &&\n typeof valueB.valueOf === 'function') {\n valueA = valueA.valueOf();\n valueB = valueB.valueOf();\n if (valueA === valueB || (valueA !== valueA && valueB !== valueB)) {\n return true;\n }\n if (!valueA || !valueB) {\n return false;\n }\n }\n if (typeof valueA.equals === 'function' &&\n typeof valueB.equals === 'function' &&\n valueA.equals(valueB)) {\n return true;\n }\n return false;\n }\n\n function deepEqual(a, b) {\n if (a === b) {\n return true;\n }\n\n if (\n !isIterable(b) ||\n a.size !== undefined && b.size !== undefined && a.size !== b.size ||\n a.__hash !== undefined && b.__hash !== undefined && a.__hash !== b.__hash ||\n isKeyed(a) !== isKeyed(b) ||\n isIndexed(a) !== isIndexed(b) ||\n isOrdered(a) !== isOrdered(b)\n ) {\n return false;\n }\n\n if (a.size === 0 && b.size === 0) {\n return true;\n }\n\n var notAssociative = !isAssociative(a);\n\n if (isOrdered(a)) {\n var entries = a.entries();\n return b.every(function(v, k) {\n var entry = entries.next().value;\n return entry && is(entry[1], v) && (notAssociative || is(entry[0], k));\n }) && entries.next().done;\n }\n\n var flipped = false;\n\n if (a.size === undefined) {\n if (b.size === undefined) {\n if (typeof a.cacheResult === 'function') {\n a.cacheResult();\n }\n } else {\n flipped = true;\n var _ = a;\n a = b;\n b = _;\n }\n }\n\n var allEqual = true;\n var bSize = b.__iterate(function(v, k) {\n if (notAssociative ? !a.has(v) :\n flipped ? !is(v, a.get(k, NOT_SET)) : !is(a.get(k, NOT_SET), v)) {\n allEqual = false;\n return false;\n }\n });\n\n return allEqual && a.size === bSize;\n }\n\n createClass(Repeat, IndexedSeq);\n\n function Repeat(value, times) {\n if (!(this instanceof Repeat)) {\n return new Repeat(value, times);\n }\n this._value = value;\n this.size = times === undefined ? Infinity : Math.max(0, times);\n if (this.size === 0) {\n if (EMPTY_REPEAT) {\n return EMPTY_REPEAT;\n }\n EMPTY_REPEAT = this;\n }\n }\n\n Repeat.prototype.toString = function() {\n if (this.size === 0) {\n return 'Repeat []';\n }\n return 'Repeat [ ' + this._value + ' ' + this.size + ' times ]';\n };\n\n Repeat.prototype.get = function(index, notSetValue) {\n return this.has(index) ? this._value : notSetValue;\n };\n\n Repeat.prototype.includes = function(searchValue) {\n return is(this._value, searchValue);\n };\n\n Repeat.prototype.slice = function(begin, end) {\n var size = this.size;\n return wholeSlice(begin, end, size) ? this :\n new Repeat(this._value, resolveEnd(end, size) - resolveBegin(begin, size));\n };\n\n Repeat.prototype.reverse = function() {\n return this;\n };\n\n Repeat.prototype.indexOf = function(searchValue) {\n if (is(this._value, searchValue)) {\n return 0;\n }\n return -1;\n };\n\n Repeat.prototype.lastIndexOf = function(searchValue) {\n if (is(this._value, searchValue)) {\n return this.size;\n }\n return -1;\n };\n\n Repeat.prototype.__iterate = function(fn, reverse) {\n for (var ii = 0; ii < this.size; ii++) {\n if (fn(this._value, ii, this) === false) {\n return ii + 1;\n }\n }\n return ii;\n };\n\n Repeat.prototype.__iterator = function(type, reverse) {var this$0 = this;\n var ii = 0;\n return new Iterator(function() \n {return ii < this$0.size ? iteratorValue(type, ii++, this$0._value) : iteratorDone()}\n );\n };\n\n Repeat.prototype.equals = function(other) {\n return other instanceof Repeat ?\n is(this._value, other._value) :\n deepEqual(other);\n };\n\n\n var EMPTY_REPEAT;\n\n function invariant(condition, error) {\n if (!condition) throw new Error(error);\n }\n\n createClass(Range, IndexedSeq);\n\n function Range(start, end, step) {\n if (!(this instanceof Range)) {\n return new Range(start, end, step);\n }\n invariant(step !== 0, 'Cannot step a Range by 0');\n start = start || 0;\n if (end === undefined) {\n end = Infinity;\n }\n step = step === undefined ? 1 : Math.abs(step);\n if (end < start) {\n step = -step;\n }\n this._start = start;\n this._end = end;\n this._step = step;\n this.size = Math.max(0, Math.ceil((end - start) / step - 1) + 1);\n if (this.size === 0) {\n if (EMPTY_RANGE) {\n return EMPTY_RANGE;\n }\n EMPTY_RANGE = this;\n }\n }\n\n Range.prototype.toString = function() {\n if (this.size === 0) {\n return 'Range []';\n }\n return 'Range [ ' +\n this._start + '...' + this._end +\n (this._step !== 1 ? ' by ' + this._step : '') +\n ' ]';\n };\n\n Range.prototype.get = function(index, notSetValue) {\n return this.has(index) ?\n this._start + wrapIndex(this, index) * this._step :\n notSetValue;\n };\n\n Range.prototype.includes = function(searchValue) {\n var possibleIndex = (searchValue - this._start) / this._step;\n return possibleIndex >= 0 &&\n possibleIndex < this.size &&\n possibleIndex === Math.floor(possibleIndex);\n };\n\n Range.prototype.slice = function(begin, end) {\n if (wholeSlice(begin, end, this.size)) {\n return this;\n }\n begin = resolveBegin(begin, this.size);\n end = resolveEnd(end, this.size);\n if (end <= begin) {\n return new Range(0, 0);\n }\n return new Range(this.get(begin, this._end), this.get(end, this._end), this._step);\n };\n\n Range.prototype.indexOf = function(searchValue) {\n var offsetValue = searchValue - this._start;\n if (offsetValue % this._step === 0) {\n var index = offsetValue / this._step;\n if (index >= 0 && index < this.size) {\n return index\n }\n }\n return -1;\n };\n\n Range.prototype.lastIndexOf = function(searchValue) {\n return this.indexOf(searchValue);\n };\n\n Range.prototype.__iterate = function(fn, reverse) {\n var maxIndex = this.size - 1;\n var step = this._step;\n var value = reverse ? this._start + maxIndex * step : this._start;\n for (var ii = 0; ii <= maxIndex; ii++) {\n if (fn(value, ii, this) === false) {\n return ii + 1;\n }\n value += reverse ? -step : step;\n }\n return ii;\n };\n\n Range.prototype.__iterator = function(type, reverse) {\n var maxIndex = this.size - 1;\n var step = this._step;\n var value = reverse ? this._start + maxIndex * step : this._start;\n var ii = 0;\n return new Iterator(function() {\n var v = value;\n value += reverse ? -step : step;\n return ii > maxIndex ? iteratorDone() : iteratorValue(type, ii++, v);\n });\n };\n\n Range.prototype.equals = function(other) {\n return other instanceof Range ?\n this._start === other._start &&\n this._end === other._end &&\n this._step === other._step :\n deepEqual(this, other);\n };\n\n\n var EMPTY_RANGE;\n\n createClass(Collection, Iterable);\n function Collection() {\n throw TypeError('Abstract');\n }\n\n\n createClass(KeyedCollection, Collection);function KeyedCollection() {}\n\n createClass(IndexedCollection, Collection);function IndexedCollection() {}\n\n createClass(SetCollection, Collection);function SetCollection() {}\n\n\n Collection.Keyed = KeyedCollection;\n Collection.Indexed = IndexedCollection;\n Collection.Set = SetCollection;\n\n var imul =\n typeof Math.imul === 'function' && Math.imul(0xffffffff, 2) === -2 ?\n Math.imul :\n function imul(a, b) {\n a = a | 0; // int\n b = b | 0; // int\n var c = a & 0xffff;\n var d = b & 0xffff;\n // Shift by 0 fixes the sign on the high part.\n return (c * d) + ((((a >>> 16) * d + c * (b >>> 16)) << 16) >>> 0) | 0; // int\n };\n\n // v8 has an optimization for storing 31-bit signed numbers.\n // Values which have either 00 or 11 as the high order bits qualify.\n // This function drops the highest order bit in a signed number, maintaining\n // the sign bit.\n function smi(i32) {\n return ((i32 >>> 1) & 0x40000000) | (i32 & 0xBFFFFFFF);\n }\n\n function hash(o) {\n if (o === false || o === null || o === undefined) {\n return 0;\n }\n if (typeof o.valueOf === 'function') {\n o = o.valueOf();\n if (o === false || o === null || o === undefined) {\n return 0;\n }\n }\n if (o === true) {\n return 1;\n }\n var type = typeof o;\n if (type === 'number') {\n if (o !== o || o === Infinity) {\n return 0;\n }\n var h = o | 0;\n if (h !== o) {\n h ^= o * 0xFFFFFFFF;\n }\n while (o > 0xFFFFFFFF) {\n o /= 0xFFFFFFFF;\n h ^= o;\n }\n return smi(h);\n }\n if (type === 'string') {\n return o.length > STRING_HASH_CACHE_MIN_STRLEN ? cachedHashString(o) : hashString(o);\n }\n if (typeof o.hashCode === 'function') {\n return o.hashCode();\n }\n if (type === 'object') {\n return hashJSObj(o);\n }\n if (typeof o.toString === 'function') {\n return hashString(o.toString());\n }\n throw new Error('Value type ' + type + ' cannot be hashed.');\n }\n\n function cachedHashString(string) {\n var hash = stringHashCache[string];\n if (hash === undefined) {\n hash = hashString(string);\n if (STRING_HASH_CACHE_SIZE === STRING_HASH_CACHE_MAX_SIZE) {\n STRING_HASH_CACHE_SIZE = 0;\n stringHashCache = {};\n }\n STRING_HASH_CACHE_SIZE++;\n stringHashCache[string] = hash;\n }\n return hash;\n }\n\n // http://jsperf.com/hashing-strings\n function hashString(string) {\n // This is the hash from JVM\n // The hash code for a string is computed as\n // s[0] * 31 ^ (n - 1) + s[1] * 31 ^ (n - 2) + ... + s[n - 1],\n // where s[i] is the ith character of the string and n is the length of\n // the string. We \"mod\" the result to make it between 0 (inclusive) and 2^31\n // (exclusive) by dropping high bits.\n var hash = 0;\n for (var ii = 0; ii < string.length; ii++) {\n hash = 31 * hash + string.charCodeAt(ii) | 0;\n }\n return smi(hash);\n }\n\n function hashJSObj(obj) {\n var hash;\n if (usingWeakMap) {\n hash = weakMap.get(obj);\n if (hash !== undefined) {\n return hash;\n }\n }\n\n hash = obj[UID_HASH_KEY];\n if (hash !== undefined) {\n return hash;\n }\n\n if (!canDefineProperty) {\n hash = obj.propertyIsEnumerable && obj.propertyIsEnumerable[UID_HASH_KEY];\n if (hash !== undefined) {\n return hash;\n }\n\n hash = getIENodeHash(obj);\n if (hash !== undefined) {\n return hash;\n }\n }\n\n hash = ++objHashUID;\n if (objHashUID & 0x40000000) {\n objHashUID = 0;\n }\n\n if (usingWeakMap) {\n weakMap.set(obj, hash);\n } else if (isExtensible !== undefined && isExtensible(obj) === false) {\n throw new Error('Non-extensible objects are not allowed as keys.');\n } else if (canDefineProperty) {\n Object.defineProperty(obj, UID_HASH_KEY, {\n 'enumerable': false,\n 'configurable': false,\n 'writable': false,\n 'value': hash\n });\n } else if (obj.propertyIsEnumerable !== undefined &&\n obj.propertyIsEnumerable === obj.constructor.prototype.propertyIsEnumerable) {\n // Since we can't define a non-enumerable property on the object\n // we'll hijack one of the less-used non-enumerable properties to\n // save our hash on it. Since this is a function it will not show up in\n // `JSON.stringify` which is what we want.\n obj.propertyIsEnumerable = function() {\n return this.constructor.prototype.propertyIsEnumerable.apply(this, arguments);\n };\n obj.propertyIsEnumerable[UID_HASH_KEY] = hash;\n } else if (obj.nodeType !== undefined) {\n // At this point we couldn't get the IE `uniqueID` to use as a hash\n // and we couldn't use a non-enumerable property to exploit the\n // dontEnum bug so we simply add the `UID_HASH_KEY` on the node\n // itself.\n obj[UID_HASH_KEY] = hash;\n } else {\n throw new Error('Unable to set a non-enumerable property on object.');\n }\n\n return hash;\n }\n\n // Get references to ES5 object methods.\n var isExtensible = Object.isExtensible;\n\n // True if Object.defineProperty works as expected. IE8 fails this test.\n var canDefineProperty = (function() {\n try {\n Object.defineProperty({}, '@', {});\n return true;\n } catch (e) {\n return false;\n }\n }());\n\n // IE has a `uniqueID` property on DOM nodes. We can construct the hash from it\n // and avoid memory leaks from the IE cloneNode bug.\n function getIENodeHash(node) {\n if (node && node.nodeType > 0) {\n switch (node.nodeType) {\n case 1: // Element\n return node.uniqueID;\n case 9: // Document\n return node.documentElement && node.documentElement.uniqueID;\n }\n }\n }\n\n // If possible, use a WeakMap.\n var usingWeakMap = typeof WeakMap === 'function';\n var weakMap;\n if (usingWeakMap) {\n weakMap = new WeakMap();\n }\n\n var objHashUID = 0;\n\n var UID_HASH_KEY = '__immutablehash__';\n if (typeof Symbol === 'function') {\n UID_HASH_KEY = Symbol(UID_HASH_KEY);\n }\n\n var STRING_HASH_CACHE_MIN_STRLEN = 16;\n var STRING_HASH_CACHE_MAX_SIZE = 255;\n var STRING_HASH_CACHE_SIZE = 0;\n var stringHashCache = {};\n\n function assertNotInfinite(size) {\n invariant(\n size !== Infinity,\n 'Cannot perform this action with an infinite size.'\n );\n }\n\n createClass(Map, KeyedCollection);\n\n // @pragma Construction\n\n function Map(value) {\n return value === null || value === undefined ? emptyMap() :\n isMap(value) && !isOrdered(value) ? value :\n emptyMap().withMutations(function(map ) {\n var iter = KeyedIterable(value);\n assertNotInfinite(iter.size);\n iter.forEach(function(v, k) {return map.set(k, v)});\n });\n }\n\n Map.of = function() {var keyValues = SLICE$0.call(arguments, 0);\n return emptyMap().withMutations(function(map ) {\n for (var i = 0; i < keyValues.length; i += 2) {\n if (i + 1 >= keyValues.length) {\n throw new Error('Missing value for key: ' + keyValues[i]);\n }\n map.set(keyValues[i], keyValues[i + 1]);\n }\n });\n };\n\n Map.prototype.toString = function() {\n return this.__toString('Map {', '}');\n };\n\n // @pragma Access\n\n Map.prototype.get = function(k, notSetValue) {\n return this._root ?\n this._root.get(0, undefined, k, notSetValue) :\n notSetValue;\n };\n\n // @pragma Modification\n\n Map.prototype.set = function(k, v) {\n return updateMap(this, k, v);\n };\n\n Map.prototype.setIn = function(keyPath, v) {\n return this.updateIn(keyPath, NOT_SET, function() {return v});\n };\n\n Map.prototype.remove = function(k) {\n return updateMap(this, k, NOT_SET);\n };\n\n Map.prototype.deleteIn = function(keyPath) {\n return this.updateIn(keyPath, function() {return NOT_SET});\n };\n\n Map.prototype.update = function(k, notSetValue, updater) {\n return arguments.length === 1 ?\n k(this) :\n this.updateIn([k], notSetValue, updater);\n };\n\n Map.prototype.updateIn = function(keyPath, notSetValue, updater) {\n if (!updater) {\n updater = notSetValue;\n notSetValue = undefined;\n }\n var updatedValue = updateInDeepMap(\n this,\n forceIterator(keyPath),\n notSetValue,\n updater\n );\n return updatedValue === NOT_SET ? undefined : updatedValue;\n };\n\n Map.prototype.clear = function() {\n if (this.size === 0) {\n return this;\n }\n if (this.__ownerID) {\n this.size = 0;\n this._root = null;\n this.__hash = undefined;\n this.__altered = true;\n return this;\n }\n return emptyMap();\n };\n\n // @pragma Composition\n\n Map.prototype.merge = function(/*...iters*/) {\n return mergeIntoMapWith(this, undefined, arguments);\n };\n\n Map.prototype.mergeWith = function(merger) {var iters = SLICE$0.call(arguments, 1);\n return mergeIntoMapWith(this, merger, iters);\n };\n\n Map.prototype.mergeIn = function(keyPath) {var iters = SLICE$0.call(arguments, 1);\n return this.updateIn(\n keyPath,\n emptyMap(),\n function(m ) {return typeof m.merge === 'function' ?\n m.merge.apply(m, iters) :\n iters[iters.length - 1]}\n );\n };\n\n Map.prototype.mergeDeep = function(/*...iters*/) {\n return mergeIntoMapWith(this, deepMerger, arguments);\n };\n\n Map.prototype.mergeDeepWith = function(merger) {var iters = SLICE$0.call(arguments, 1);\n return mergeIntoMapWith(this, deepMergerWith(merger), iters);\n };\n\n Map.prototype.mergeDeepIn = function(keyPath) {var iters = SLICE$0.call(arguments, 1);\n return this.updateIn(\n keyPath,\n emptyMap(),\n function(m ) {return typeof m.mergeDeep === 'function' ?\n m.mergeDeep.apply(m, iters) :\n iters[iters.length - 1]}\n );\n };\n\n Map.prototype.sort = function(comparator) {\n // Late binding\n return OrderedMap(sortFactory(this, comparator));\n };\n\n Map.prototype.sortBy = function(mapper, comparator) {\n // Late binding\n return OrderedMap(sortFactory(this, comparator, mapper));\n };\n\n // @pragma Mutability\n\n Map.prototype.withMutations = function(fn) {\n var mutable = this.asMutable();\n fn(mutable);\n return mutable.wasAltered() ? mutable.__ensureOwner(this.__ownerID) : this;\n };\n\n Map.prototype.asMutable = function() {\n return this.__ownerID ? this : this.__ensureOwner(new OwnerID());\n };\n\n Map.prototype.asImmutable = function() {\n return this.__ensureOwner();\n };\n\n Map.prototype.wasAltered = function() {\n return this.__altered;\n };\n\n Map.prototype.__iterator = function(type, reverse) {\n return new MapIterator(this, type, reverse);\n };\n\n Map.prototype.__iterate = function(fn, reverse) {var this$0 = this;\n var iterations = 0;\n this._root && this._root.iterate(function(entry ) {\n iterations++;\n return fn(entry[1], entry[0], this$0);\n }, reverse);\n return iterations;\n };\n\n Map.prototype.__ensureOwner = function(ownerID) {\n if (ownerID === this.__ownerID) {\n return this;\n }\n if (!ownerID) {\n this.__ownerID = ownerID;\n this.__altered = false;\n return this;\n }\n return makeMap(this.size, this._root, ownerID, this.__hash);\n };\n\n\n function isMap(maybeMap) {\n return !!(maybeMap && maybeMap[IS_MAP_SENTINEL]);\n }\n\n Map.isMap = isMap;\n\n var IS_MAP_SENTINEL = '@@__IMMUTABLE_MAP__@@';\n\n var MapPrototype = Map.prototype;\n MapPrototype[IS_MAP_SENTINEL] = true;\n MapPrototype[DELETE] = MapPrototype.remove;\n MapPrototype.removeIn = MapPrototype.deleteIn;\n\n\n // #pragma Trie Nodes\n\n\n\n function ArrayMapNode(ownerID, entries) {\n this.ownerID = ownerID;\n this.entries = entries;\n }\n\n ArrayMapNode.prototype.get = function(shift, keyHash, key, notSetValue) {\n var entries = this.entries;\n for (var ii = 0, len = entries.length; ii < len; ii++) {\n if (is(key, entries[ii][0])) {\n return entries[ii][1];\n }\n }\n return notSetValue;\n };\n\n ArrayMapNode.prototype.update = function(ownerID, shift, keyHash, key, value, didChangeSize, didAlter) {\n var removed = value === NOT_SET;\n\n var entries = this.entries;\n var idx = 0;\n for (var len = entries.length; idx < len; idx++) {\n if (is(key, entries[idx][0])) {\n break;\n }\n }\n var exists = idx < len;\n\n if (exists ? entries[idx][1] === value : removed) {\n return this;\n }\n\n SetRef(didAlter);\n (removed || !exists) && SetRef(didChangeSize);\n\n if (removed && entries.length === 1) {\n return; // undefined\n }\n\n if (!exists && !removed && entries.length >= MAX_ARRAY_MAP_SIZE) {\n return createNodes(ownerID, entries, key, value);\n }\n\n var isEditable = ownerID && ownerID === this.ownerID;\n var newEntries = isEditable ? entries : arrCopy(entries);\n\n if (exists) {\n if (removed) {\n idx === len - 1 ? newEntries.pop() : (newEntries[idx] = newEntries.pop());\n } else {\n newEntries[idx] = [key, value];\n }\n } else {\n newEntries.push([key, value]);\n }\n\n if (isEditable) {\n this.entries = newEntries;\n return this;\n }\n\n return new ArrayMapNode(ownerID, newEntries);\n };\n\n\n\n\n function BitmapIndexedNode(ownerID, bitmap, nodes) {\n this.ownerID = ownerID;\n this.bitmap = bitmap;\n this.nodes = nodes;\n }\n\n BitmapIndexedNode.prototype.get = function(shift, keyHash, key, notSetValue) {\n if (keyHash === undefined) {\n keyHash = hash(key);\n }\n var bit = (1 << ((shift === 0 ? keyHash : keyHash >>> shift) & MASK));\n var bitmap = this.bitmap;\n return (bitmap & bit) === 0 ? notSetValue :\n this.nodes[popCount(bitmap & (bit - 1))].get(shift + SHIFT, keyHash, key, notSetValue);\n };\n\n BitmapIndexedNode.prototype.update = function(ownerID, shift, keyHash, key, value, didChangeSize, didAlter) {\n if (keyHash === undefined) {\n keyHash = hash(key);\n }\n var keyHashFrag = (shift === 0 ? keyHash : keyHash >>> shift) & MASK;\n var bit = 1 << keyHashFrag;\n var bitmap = this.bitmap;\n var exists = (bitmap & bit) !== 0;\n\n if (!exists && value === NOT_SET) {\n return this;\n }\n\n var idx = popCount(bitmap & (bit - 1));\n var nodes = this.nodes;\n var node = exists ? nodes[idx] : undefined;\n var newNode = updateNode(node, ownerID, shift + SHIFT, keyHash, key, value, didChangeSize, didAlter);\n\n if (newNode === node) {\n return this;\n }\n\n if (!exists && newNode && nodes.length >= MAX_BITMAP_INDEXED_SIZE) {\n return expandNodes(ownerID, nodes, bitmap, keyHashFrag, newNode);\n }\n\n if (exists && !newNode && nodes.length === 2 && isLeafNode(nodes[idx ^ 1])) {\n return nodes[idx ^ 1];\n }\n\n if (exists && newNode && nodes.length === 1 && isLeafNode(newNode)) {\n return newNode;\n }\n\n var isEditable = ownerID && ownerID === this.ownerID;\n var newBitmap = exists ? newNode ? bitmap : bitmap ^ bit : bitmap | bit;\n var newNodes = exists ? newNode ?\n setIn(nodes, idx, newNode, isEditable) :\n spliceOut(nodes, idx, isEditable) :\n spliceIn(nodes, idx, newNode, isEditable);\n\n if (isEditable) {\n this.bitmap = newBitmap;\n this.nodes = newNodes;\n return this;\n }\n\n return new BitmapIndexedNode(ownerID, newBitmap, newNodes);\n };\n\n\n\n\n function HashArrayMapNode(ownerID, count, nodes) {\n this.ownerID = ownerID;\n this.count = count;\n this.nodes = nodes;\n }\n\n HashArrayMapNode.prototype.get = function(shift, keyHash, key, notSetValue) {\n if (keyHash === undefined) {\n keyHash = hash(key);\n }\n var idx = (shift === 0 ? keyHash : keyHash >>> shift) & MASK;\n var node = this.nodes[idx];\n return node ? node.get(shift + SHIFT, keyHash, key, notSetValue) : notSetValue;\n };\n\n HashArrayMapNode.prototype.update = function(ownerID, shift, keyHash, key, value, didChangeSize, didAlter) {\n if (keyHash === undefined) {\n keyHash = hash(key);\n }\n var idx = (shift === 0 ? keyHash : keyHash >>> shift) & MASK;\n var removed = value === NOT_SET;\n var nodes = this.nodes;\n var node = nodes[idx];\n\n if (removed && !node) {\n return this;\n }\n\n var newNode = updateNode(node, ownerID, shift + SHIFT, keyHash, key, value, didChangeSize, didAlter);\n if (newNode === node) {\n return this;\n }\n\n var newCount = this.count;\n if (!node) {\n newCount++;\n } else if (!newNode) {\n newCount--;\n if (newCount < MIN_HASH_ARRAY_MAP_SIZE) {\n return packNodes(ownerID, nodes, newCount, idx);\n }\n }\n\n var isEditable = ownerID && ownerID === this.ownerID;\n var newNodes = setIn(nodes, idx, newNode, isEditable);\n\n if (isEditable) {\n this.count = newCount;\n this.nodes = newNodes;\n return this;\n }\n\n return new HashArrayMapNode(ownerID, newCount, newNodes);\n };\n\n\n\n\n function HashCollisionNode(ownerID, keyHash, entries) {\n this.ownerID = ownerID;\n this.keyHash = keyHash;\n this.entries = entries;\n }\n\n HashCollisionNode.prototype.get = function(shift, keyHash, key, notSetValue) {\n var entries = this.entries;\n for (var ii = 0, len = entries.length; ii < len; ii++) {\n if (is(key, entries[ii][0])) {\n return entries[ii][1];\n }\n }\n return notSetValue;\n };\n\n HashCollisionNode.prototype.update = function(ownerID, shift, keyHash, key, value, didChangeSize, didAlter) {\n if (keyHash === undefined) {\n keyHash = hash(key);\n }\n\n var removed = value === NOT_SET;\n\n if (keyHash !== this.keyHash) {\n if (removed) {\n return this;\n }\n SetRef(didAlter);\n SetRef(didChangeSize);\n return mergeIntoNode(this, ownerID, shift, keyHash, [key, value]);\n }\n\n var entries = this.entries;\n var idx = 0;\n for (var len = entries.length; idx < len; idx++) {\n if (is(key, entries[idx][0])) {\n break;\n }\n }\n var exists = idx < len;\n\n if (exists ? entries[idx][1] === value : removed) {\n return this;\n }\n\n SetRef(didAlter);\n (removed || !exists) && SetRef(didChangeSize);\n\n if (removed && len === 2) {\n return new ValueNode(ownerID, this.keyHash, entries[idx ^ 1]);\n }\n\n var isEditable = ownerID && ownerID === this.ownerID;\n var newEntries = isEditable ? entries : arrCopy(entries);\n\n if (exists) {\n if (removed) {\n idx === len - 1 ? newEntries.pop() : (newEntries[idx] = newEntries.pop());\n } else {\n newEntries[idx] = [key, value];\n }\n } else {\n newEntries.push([key, value]);\n }\n\n if (isEditable) {\n this.entries = newEntries;\n return this;\n }\n\n return new HashCollisionNode(ownerID, this.keyHash, newEntries);\n };\n\n\n\n\n function ValueNode(ownerID, keyHash, entry) {\n this.ownerID = ownerID;\n this.keyHash = keyHash;\n this.entry = entry;\n }\n\n ValueNode.prototype.get = function(shift, keyHash, key, notSetValue) {\n return is(key, this.entry[0]) ? this.entry[1] : notSetValue;\n };\n\n ValueNode.prototype.update = function(ownerID, shift, keyHash, key, value, didChangeSize, didAlter) {\n var removed = value === NOT_SET;\n var keyMatch = is(key, this.entry[0]);\n if (keyMatch ? value === this.entry[1] : removed) {\n return this;\n }\n\n SetRef(didAlter);\n\n if (removed) {\n SetRef(didChangeSize);\n return; // undefined\n }\n\n if (keyMatch) {\n if (ownerID && ownerID === this.ownerID) {\n this.entry[1] = value;\n return this;\n }\n return new ValueNode(ownerID, this.keyHash, [key, value]);\n }\n\n SetRef(didChangeSize);\n return mergeIntoNode(this, ownerID, shift, hash(key), [key, value]);\n };\n\n\n\n // #pragma Iterators\n\n ArrayMapNode.prototype.iterate =\n HashCollisionNode.prototype.iterate = function (fn, reverse) {\n var entries = this.entries;\n for (var ii = 0, maxIndex = entries.length - 1; ii <= maxIndex; ii++) {\n if (fn(entries[reverse ? maxIndex - ii : ii]) === false) {\n return false;\n }\n }\n }\n\n BitmapIndexedNode.prototype.iterate =\n HashArrayMapNode.prototype.iterate = function (fn, reverse) {\n var nodes = this.nodes;\n for (var ii = 0, maxIndex = nodes.length - 1; ii <= maxIndex; ii++) {\n var node = nodes[reverse ? maxIndex - ii : ii];\n if (node && node.iterate(fn, reverse) === false) {\n return false;\n }\n }\n }\n\n ValueNode.prototype.iterate = function (fn, reverse) {\n return fn(this.entry);\n }\n\n createClass(MapIterator, Iterator);\n\n function MapIterator(map, type, reverse) {\n this._type = type;\n this._reverse = reverse;\n this._stack = map._root && mapIteratorFrame(map._root);\n }\n\n MapIterator.prototype.next = function() {\n var type = this._type;\n var stack = this._stack;\n while (stack) {\n var node = stack.node;\n var index = stack.index++;\n var maxIndex;\n if (node.entry) {\n if (index === 0) {\n return mapIteratorValue(type, node.entry);\n }\n } else if (node.entries) {\n maxIndex = node.entries.length - 1;\n if (index <= maxIndex) {\n return mapIteratorValue(type, node.entries[this._reverse ? maxIndex - index : index]);\n }\n } else {\n maxIndex = node.nodes.length - 1;\n if (index <= maxIndex) {\n var subNode = node.nodes[this._reverse ? maxIndex - index : index];\n if (subNode) {\n if (subNode.entry) {\n return mapIteratorValue(type, subNode.entry);\n }\n stack = this._stack = mapIteratorFrame(subNode, stack);\n }\n continue;\n }\n }\n stack = this._stack = this._stack.__prev;\n }\n return iteratorDone();\n };\n\n\n function mapIteratorValue(type, entry) {\n return iteratorValue(type, entry[0], entry[1]);\n }\n\n function mapIteratorFrame(node, prev) {\n return {\n node: node,\n index: 0,\n __prev: prev\n };\n }\n\n function makeMap(size, root, ownerID, hash) {\n var map = Object.create(MapPrototype);\n map.size = size;\n map._root = root;\n map.__ownerID = ownerID;\n map.__hash = hash;\n map.__altered = false;\n return map;\n }\n\n var EMPTY_MAP;\n function emptyMap() {\n return EMPTY_MAP || (EMPTY_MAP = makeMap(0));\n }\n\n function updateMap(map, k, v) {\n var newRoot;\n var newSize;\n if (!map._root) {\n if (v === NOT_SET) {\n return map;\n }\n newSize = 1;\n newRoot = new ArrayMapNode(map.__ownerID, [[k, v]]);\n } else {\n var didChangeSize = MakeRef(CHANGE_LENGTH);\n var didAlter = MakeRef(DID_ALTER);\n newRoot = updateNode(map._root, map.__ownerID, 0, undefined, k, v, didChangeSize, didAlter);\n if (!didAlter.value) {\n return map;\n }\n newSize = map.size + (didChangeSize.value ? v === NOT_SET ? -1 : 1 : 0);\n }\n if (map.__ownerID) {\n map.size = newSize;\n map._root = newRoot;\n map.__hash = undefined;\n map.__altered = true;\n return map;\n }\n return newRoot ? makeMap(newSize, newRoot) : emptyMap();\n }\n\n function updateNode(node, ownerID, shift, keyHash, key, value, didChangeSize, didAlter) {\n if (!node) {\n if (value === NOT_SET) {\n return node;\n }\n SetRef(didAlter);\n SetRef(didChangeSize);\n return new ValueNode(ownerID, keyHash, [key, value]);\n }\n return node.update(ownerID, shift, keyHash, key, value, didChangeSize, didAlter);\n }\n\n function isLeafNode(node) {\n return node.constructor === ValueNode || node.constructor === HashCollisionNode;\n }\n\n function mergeIntoNode(node, ownerID, shift, keyHash, entry) {\n if (node.keyHash === keyHash) {\n return new HashCollisionNode(ownerID, keyHash, [node.entry, entry]);\n }\n\n var idx1 = (shift === 0 ? node.keyHash : node.keyHash >>> shift) & MASK;\n var idx2 = (shift === 0 ? keyHash : keyHash >>> shift) & MASK;\n\n var newNode;\n var nodes = idx1 === idx2 ?\n [mergeIntoNode(node, ownerID, shift + SHIFT, keyHash, entry)] :\n ((newNode = new ValueNode(ownerID, keyHash, entry)), idx1 < idx2 ? [node, newNode] : [newNode, node]);\n\n return new BitmapIndexedNode(ownerID, (1 << idx1) | (1 << idx2), nodes);\n }\n\n function createNodes(ownerID, entries, key, value) {\n if (!ownerID) {\n ownerID = new OwnerID();\n }\n var node = new ValueNode(ownerID, hash(key), [key, value]);\n for (var ii = 0; ii < entries.length; ii++) {\n var entry = entries[ii];\n node = node.update(ownerID, 0, undefined, entry[0], entry[1]);\n }\n return node;\n }\n\n function packNodes(ownerID, nodes, count, excluding) {\n var bitmap = 0;\n var packedII = 0;\n var packedNodes = new Array(count);\n for (var ii = 0, bit = 1, len = nodes.length; ii < len; ii++, bit <<= 1) {\n var node = nodes[ii];\n if (node !== undefined && ii !== excluding) {\n bitmap |= bit;\n packedNodes[packedII++] = node;\n }\n }\n return new BitmapIndexedNode(ownerID, bitmap, packedNodes);\n }\n\n function expandNodes(ownerID, nodes, bitmap, including, node) {\n var count = 0;\n var expandedNodes = new Array(SIZE);\n for (var ii = 0; bitmap !== 0; ii++, bitmap >>>= 1) {\n expandedNodes[ii] = bitmap & 1 ? nodes[count++] : undefined;\n }\n expandedNodes[including] = node;\n return new HashArrayMapNode(ownerID, count + 1, expandedNodes);\n }\n\n function mergeIntoMapWith(map, merger, iterables) {\n var iters = [];\n for (var ii = 0; ii < iterables.length; ii++) {\n var value = iterables[ii];\n var iter = KeyedIterable(value);\n if (!isIterable(value)) {\n iter = iter.map(function(v ) {return fromJS(v)});\n }\n iters.push(iter);\n }\n return mergeIntoCollectionWith(map, merger, iters);\n }\n\n function deepMerger(existing, value, key) {\n return existing && existing.mergeDeep && isIterable(value) ?\n existing.mergeDeep(value) :\n is(existing, value) ? existing : value;\n }\n\n function deepMergerWith(merger) {\n return function(existing, value, key) {\n if (existing && existing.mergeDeepWith && isIterable(value)) {\n return existing.mergeDeepWith(merger, value);\n }\n var nextValue = merger(existing, value, key);\n return is(existing, nextValue) ? existing : nextValue;\n };\n }\n\n function mergeIntoCollectionWith(collection, merger, iters) {\n iters = iters.filter(function(x ) {return x.size !== 0});\n if (iters.length === 0) {\n return collection;\n }\n if (collection.size === 0 && !collection.__ownerID && iters.length === 1) {\n return collection.constructor(iters[0]);\n }\n return collection.withMutations(function(collection ) {\n var mergeIntoMap = merger ?\n function(value, key) {\n collection.update(key, NOT_SET, function(existing )\n {return existing === NOT_SET ? value : merger(existing, value, key)}\n );\n } :\n function(value, key) {\n collection.set(key, value);\n }\n for (var ii = 0; ii < iters.length; ii++) {\n iters[ii].forEach(mergeIntoMap);\n }\n });\n }\n\n function updateInDeepMap(existing, keyPathIter, notSetValue, updater) {\n var isNotSet = existing === NOT_SET;\n var step = keyPathIter.next();\n if (step.done) {\n var existingValue = isNotSet ? notSetValue : existing;\n var newValue = updater(existingValue);\n return newValue === existingValue ? existing : newValue;\n }\n invariant(\n isNotSet || (existing && existing.set),\n 'invalid keyPath'\n );\n var key = step.value;\n var nextExisting = isNotSet ? NOT_SET : existing.get(key, NOT_SET);\n var nextUpdated = updateInDeepMap(\n nextExisting,\n keyPathIter,\n notSetValue,\n updater\n );\n return nextUpdated === nextExisting ? existing :\n nextUpdated === NOT_SET ? existing.remove(key) :\n (isNotSet ? emptyMap() : existing).set(key, nextUpdated);\n }\n\n function popCount(x) {\n x = x - ((x >> 1) & 0x55555555);\n x = (x & 0x33333333) + ((x >> 2) & 0x33333333);\n x = (x + (x >> 4)) & 0x0f0f0f0f;\n x = x + (x >> 8);\n x = x + (x >> 16);\n return x & 0x7f;\n }\n\n function setIn(array, idx, val, canEdit) {\n var newArray = canEdit ? array : arrCopy(array);\n newArray[idx] = val;\n return newArray;\n }\n\n function spliceIn(array, idx, val, canEdit) {\n var newLen = array.length + 1;\n if (canEdit && idx + 1 === newLen) {\n array[idx] = val;\n return array;\n }\n var newArray = new Array(newLen);\n var after = 0;\n for (var ii = 0; ii < newLen; ii++) {\n if (ii === idx) {\n newArray[ii] = val;\n after = -1;\n } else {\n newArray[ii] = array[ii + after];\n }\n }\n return newArray;\n }\n\n function spliceOut(array, idx, canEdit) {\n var newLen = array.length - 1;\n if (canEdit && idx === newLen) {\n array.pop();\n return array;\n }\n var newArray = new Array(newLen);\n var after = 0;\n for (var ii = 0; ii < newLen; ii++) {\n if (ii === idx) {\n after = 1;\n }\n newArray[ii] = array[ii + after];\n }\n return newArray;\n }\n\n var MAX_ARRAY_MAP_SIZE = SIZE / 4;\n var MAX_BITMAP_INDEXED_SIZE = SIZE / 2;\n var MIN_HASH_ARRAY_MAP_SIZE = SIZE / 4;\n\n createClass(List, IndexedCollection);\n\n // @pragma Construction\n\n function List(value) {\n var empty = emptyList();\n if (value === null || value === undefined) {\n return empty;\n }\n if (isList(value)) {\n return value;\n }\n var iter = IndexedIterable(value);\n var size = iter.size;\n if (size === 0) {\n return empty;\n }\n assertNotInfinite(size);\n if (size > 0 && size < SIZE) {\n return makeList(0, size, SHIFT, null, new VNode(iter.toArray()));\n }\n return empty.withMutations(function(list ) {\n list.setSize(size);\n iter.forEach(function(v, i) {return list.set(i, v)});\n });\n }\n\n List.of = function(/*...values*/) {\n return this(arguments);\n };\n\n List.prototype.toString = function() {\n return this.__toString('List [', ']');\n };\n\n // @pragma Access\n\n List.prototype.get = function(index, notSetValue) {\n index = wrapIndex(this, index);\n if (index >= 0 && index < this.size) {\n index += this._origin;\n var node = listNodeFor(this, index);\n return node && node.array[index & MASK];\n }\n return notSetValue;\n };\n\n // @pragma Modification\n\n List.prototype.set = function(index, value) {\n return updateList(this, index, value);\n };\n\n List.prototype.remove = function(index) {\n return !this.has(index) ? this :\n index === 0 ? this.shift() :\n index === this.size - 1 ? this.pop() :\n this.splice(index, 1);\n };\n\n List.prototype.insert = function(index, value) {\n return this.splice(index, 0, value);\n };\n\n List.prototype.clear = function() {\n if (this.size === 0) {\n return this;\n }\n if (this.__ownerID) {\n this.size = this._origin = this._capacity = 0;\n this._level = SHIFT;\n this._root = this._tail = null;\n this.__hash = undefined;\n this.__altered = true;\n return this;\n }\n return emptyList();\n };\n\n List.prototype.push = function(/*...values*/) {\n var values = arguments;\n var oldSize = this.size;\n return this.withMutations(function(list ) {\n setListBounds(list, 0, oldSize + values.length);\n for (var ii = 0; ii < values.length; ii++) {\n list.set(oldSize + ii, values[ii]);\n }\n });\n };\n\n List.prototype.pop = function() {\n return setListBounds(this, 0, -1);\n };\n\n List.prototype.unshift = function(/*...values*/) {\n var values = arguments;\n return this.withMutations(function(list ) {\n setListBounds(list, -values.length);\n for (var ii = 0; ii < values.length; ii++) {\n list.set(ii, values[ii]);\n }\n });\n };\n\n List.prototype.shift = function() {\n return setListBounds(this, 1);\n };\n\n // @pragma Composition\n\n List.prototype.merge = function(/*...iters*/) {\n return mergeIntoListWith(this, undefined, arguments);\n };\n\n List.prototype.mergeWith = function(merger) {var iters = SLICE$0.call(arguments, 1);\n return mergeIntoListWith(this, merger, iters);\n };\n\n List.prototype.mergeDeep = function(/*...iters*/) {\n return mergeIntoListWith(this, deepMerger, arguments);\n };\n\n List.prototype.mergeDeepWith = function(merger) {var iters = SLICE$0.call(arguments, 1);\n return mergeIntoListWith(this, deepMergerWith(merger), iters);\n };\n\n List.prototype.setSize = function(size) {\n return setListBounds(this, 0, size);\n };\n\n // @pragma Iteration\n\n List.prototype.slice = function(begin, end) {\n var size = this.size;\n if (wholeSlice(begin, end, size)) {\n return this;\n }\n return setListBounds(\n this,\n resolveBegin(begin, size),\n resolveEnd(end, size)\n );\n };\n\n List.prototype.__iterator = function(type, reverse) {\n var index = 0;\n var values = iterateList(this, reverse);\n return new Iterator(function() {\n var value = values();\n return value === DONE ?\n iteratorDone() :\n iteratorValue(type, index++, value);\n });\n };\n\n List.prototype.__iterate = function(fn, reverse) {\n var index = 0;\n var values = iterateList(this, reverse);\n var value;\n while ((value = values()) !== DONE) {\n if (fn(value, index++, this) === false) {\n break;\n }\n }\n return index;\n };\n\n List.prototype.__ensureOwner = function(ownerID) {\n if (ownerID === this.__ownerID) {\n return this;\n }\n if (!ownerID) {\n this.__ownerID = ownerID;\n return this;\n }\n return makeList(this._origin, this._capacity, this._level, this._root, this._tail, ownerID, this.__hash);\n };\n\n\n function isList(maybeList) {\n return !!(maybeList && maybeList[IS_LIST_SENTINEL]);\n }\n\n List.isList = isList;\n\n var IS_LIST_SENTINEL = '@@__IMMUTABLE_LIST__@@';\n\n var ListPrototype = List.prototype;\n ListPrototype[IS_LIST_SENTINEL] = true;\n ListPrototype[DELETE] = ListPrototype.remove;\n ListPrototype.setIn = MapPrototype.setIn;\n ListPrototype.deleteIn =\n ListPrototype.removeIn = MapPrototype.removeIn;\n ListPrototype.update = MapPrototype.update;\n ListPrototype.updateIn = MapPrototype.updateIn;\n ListPrototype.mergeIn = MapPrototype.mergeIn;\n ListPrototype.mergeDeepIn = MapPrototype.mergeDeepIn;\n ListPrototype.withMutations = MapPrototype.withMutations;\n ListPrototype.asMutable = MapPrototype.asMutable;\n ListPrototype.asImmutable = MapPrototype.asImmutable;\n ListPrototype.wasAltered = MapPrototype.wasAltered;\n\n\n\n function VNode(array, ownerID) {\n this.array = array;\n this.ownerID = ownerID;\n }\n\n // TODO: seems like these methods are very similar\n\n VNode.prototype.removeBefore = function(ownerID, level, index) {\n if (index === level ? 1 << level : 0 || this.array.length === 0) {\n return this;\n }\n var originIndex = (index >>> level) & MASK;\n if (originIndex >= this.array.length) {\n return new VNode([], ownerID);\n }\n var removingFirst = originIndex === 0;\n var newChild;\n if (level > 0) {\n var oldChild = this.array[originIndex];\n newChild = oldChild && oldChild.removeBefore(ownerID, level - SHIFT, index);\n if (newChild === oldChild && removingFirst) {\n return this;\n }\n }\n if (removingFirst && !newChild) {\n return this;\n }\n var editable = editableVNode(this, ownerID);\n if (!removingFirst) {\n for (var ii = 0; ii < originIndex; ii++) {\n editable.array[ii] = undefined;\n }\n }\n if (newChild) {\n editable.array[originIndex] = newChild;\n }\n return editable;\n };\n\n VNode.prototype.removeAfter = function(ownerID, level, index) {\n if (index === (level ? 1 << level : 0) || this.array.length === 0) {\n return this;\n }\n var sizeIndex = ((index - 1) >>> level) & MASK;\n if (sizeIndex >= this.array.length) {\n return this;\n }\n\n var newChild;\n if (level > 0) {\n var oldChild = this.array[sizeIndex];\n newChild = oldChild && oldChild.removeAfter(ownerID, level - SHIFT, index);\n if (newChild === oldChild && sizeIndex === this.array.length - 1) {\n return this;\n }\n }\n\n var editable = editableVNode(this, ownerID);\n editable.array.splice(sizeIndex + 1);\n if (newChild) {\n editable.array[sizeIndex] = newChild;\n }\n return editable;\n };\n\n\n\n var DONE = {};\n\n function iterateList(list, reverse) {\n var left = list._origin;\n var right = list._capacity;\n var tailPos = getTailOffset(right);\n var tail = list._tail;\n\n return iterateNodeOrLeaf(list._root, list._level, 0);\n\n function iterateNodeOrLeaf(node, level, offset) {\n return level === 0 ?\n iterateLeaf(node, offset) :\n iterateNode(node, level, offset);\n }\n\n function iterateLeaf(node, offset) {\n var array = offset === tailPos ? tail && tail.array : node && node.array;\n var from = offset > left ? 0 : left - offset;\n var to = right - offset;\n if (to > SIZE) {\n to = SIZE;\n }\n return function() {\n if (from === to) {\n return DONE;\n }\n var idx = reverse ? --to : from++;\n return array && array[idx];\n };\n }\n\n function iterateNode(node, level, offset) {\n var values;\n var array = node && node.array;\n var from = offset > left ? 0 : (left - offset) >> level;\n var to = ((right - offset) >> level) + 1;\n if (to > SIZE) {\n to = SIZE;\n }\n return function() {\n do {\n if (values) {\n var value = values();\n if (value !== DONE) {\n return value;\n }\n values = null;\n }\n if (from === to) {\n return DONE;\n }\n var idx = reverse ? --to : from++;\n values = iterateNodeOrLeaf(\n array && array[idx], level - SHIFT, offset + (idx << level)\n );\n } while (true);\n };\n }\n }\n\n function makeList(origin, capacity, level, root, tail, ownerID, hash) {\n var list = Object.create(ListPrototype);\n list.size = capacity - origin;\n list._origin = origin;\n list._capacity = capacity;\n list._level = level;\n list._root = root;\n list._tail = tail;\n list.__ownerID = ownerID;\n list.__hash = hash;\n list.__altered = false;\n return list;\n }\n\n var EMPTY_LIST;\n function emptyList() {\n return EMPTY_LIST || (EMPTY_LIST = makeList(0, 0, SHIFT));\n }\n\n function updateList(list, index, value) {\n index = wrapIndex(list, index);\n\n if (index !== index) {\n return list;\n }\n\n if (index >= list.size || index < 0) {\n return list.withMutations(function(list ) {\n index < 0 ?\n setListBounds(list, index).set(0, value) :\n setListBounds(list, 0, index + 1).set(index, value)\n });\n }\n\n index += list._origin;\n\n var newTail = list._tail;\n var newRoot = list._root;\n var didAlter = MakeRef(DID_ALTER);\n if (index >= getTailOffset(list._capacity)) {\n newTail = updateVNode(newTail, list.__ownerID, 0, index, value, didAlter);\n } else {\n newRoot = updateVNode(newRoot, list.__ownerID, list._level, index, value, didAlter);\n }\n\n if (!didAlter.value) {\n return list;\n }\n\n if (list.__ownerID) {\n list._root = newRoot;\n list._tail = newTail;\n list.__hash = undefined;\n list.__altered = true;\n return list;\n }\n return makeList(list._origin, list._capacity, list._level, newRoot, newTail);\n }\n\n function updateVNode(node, ownerID, level, index, value, didAlter) {\n var idx = (index >>> level) & MASK;\n var nodeHas = node && idx < node.array.length;\n if (!nodeHas && value === undefined) {\n return node;\n }\n\n var newNode;\n\n if (level > 0) {\n var lowerNode = node && node.array[idx];\n var newLowerNode = updateVNode(lowerNode, ownerID, level - SHIFT, index, value, didAlter);\n if (newLowerNode === lowerNode) {\n return node;\n }\n newNode = editableVNode(node, ownerID);\n newNode.array[idx] = newLowerNode;\n return newNode;\n }\n\n if (nodeHas && node.array[idx] === value) {\n return node;\n }\n\n SetRef(didAlter);\n\n newNode = editableVNode(node, ownerID);\n if (value === undefined && idx === newNode.array.length - 1) {\n newNode.array.pop();\n } else {\n newNode.array[idx] = value;\n }\n return newNode;\n }\n\n function editableVNode(node, ownerID) {\n if (ownerID && node && ownerID === node.ownerID) {\n return node;\n }\n return new VNode(node ? node.array.slice() : [], ownerID);\n }\n\n function listNodeFor(list, rawIndex) {\n if (rawIndex >= getTailOffset(list._capacity)) {\n return list._tail;\n }\n if (rawIndex < 1 << (list._level + SHIFT)) {\n var node = list._root;\n var level = list._level;\n while (node && level > 0) {\n node = node.array[(rawIndex >>> level) & MASK];\n level -= SHIFT;\n }\n return node;\n }\n }\n\n function setListBounds(list, begin, end) {\n // Sanitize begin & end using this shorthand for ToInt32(argument)\n // http://www.ecma-international.org/ecma-262/6.0/#sec-toint32\n if (begin !== undefined) {\n begin = begin | 0;\n }\n if (end !== undefined) {\n end = end | 0;\n }\n var owner = list.__ownerID || new OwnerID();\n var oldOrigin = list._origin;\n var oldCapacity = list._capacity;\n var newOrigin = oldOrigin + begin;\n var newCapacity = end === undefined ? oldCapacity : end < 0 ? oldCapacity + end : oldOrigin + end;\n if (newOrigin === oldOrigin && newCapacity === oldCapacity) {\n return list;\n }\n\n // If it's going to end after it starts, it's empty.\n if (newOrigin >= newCapacity) {\n return list.clear();\n }\n\n var newLevel = list._level;\n var newRoot = list._root;\n\n // New origin might need creating a higher root.\n var offsetShift = 0;\n while (newOrigin + offsetShift < 0) {\n newRoot = new VNode(newRoot && newRoot.array.length ? [undefined, newRoot] : [], owner);\n newLevel += SHIFT;\n offsetShift += 1 << newLevel;\n }\n if (offsetShift) {\n newOrigin += offsetShift;\n oldOrigin += offsetShift;\n newCapacity += offsetShift;\n oldCapacity += offsetShift;\n }\n\n var oldTailOffset = getTailOffset(oldCapacity);\n var newTailOffset = getTailOffset(newCapacity);\n\n // New size might need creating a higher root.\n while (newTailOffset >= 1 << (newLevel + SHIFT)) {\n newRoot = new VNode(newRoot && newRoot.array.length ? [newRoot] : [], owner);\n newLevel += SHIFT;\n }\n\n // Locate or create the new tail.\n var oldTail = list._tail;\n var newTail = newTailOffset < oldTailOffset ?\n listNodeFor(list, newCapacity - 1) :\n newTailOffset > oldTailOffset ? new VNode([], owner) : oldTail;\n\n // Merge Tail into tree.\n if (oldTail && newTailOffset > oldTailOffset && newOrigin < oldCapacity && oldTail.array.length) {\n newRoot = editableVNode(newRoot, owner);\n var node = newRoot;\n for (var level = newLevel; level > SHIFT; level -= SHIFT) {\n var idx = (oldTailOffset >>> level) & MASK;\n node = node.array[idx] = editableVNode(node.array[idx], owner);\n }\n node.array[(oldTailOffset >>> SHIFT) & MASK] = oldTail;\n }\n\n // If the size has been reduced, there's a chance the tail needs to be trimmed.\n if (newCapacity < oldCapacity) {\n newTail = newTail && newTail.removeAfter(owner, 0, newCapacity);\n }\n\n // If the new origin is within the tail, then we do not need a root.\n if (newOrigin >= newTailOffset) {\n newOrigin -= newTailOffset;\n newCapacity -= newTailOffset;\n newLevel = SHIFT;\n newRoot = null;\n newTail = newTail && newTail.removeBefore(owner, 0, newOrigin);\n\n // Otherwise, if the root has been trimmed, garbage collect.\n } else if (newOrigin > oldOrigin || newTailOffset < oldTailOffset) {\n offsetShift = 0;\n\n // Identify the new top root node of the subtree of the old root.\n while (newRoot) {\n var beginIndex = (newOrigin >>> newLevel) & MASK;\n if (beginIndex !== (newTailOffset >>> newLevel) & MASK) {\n break;\n }\n if (beginIndex) {\n offsetShift += (1 << newLevel) * beginIndex;\n }\n newLevel -= SHIFT;\n newRoot = newRoot.array[beginIndex];\n }\n\n // Trim the new sides of the new root.\n if (newRoot && newOrigin > oldOrigin) {\n newRoot = newRoot.removeBefore(owner, newLevel, newOrigin - offsetShift);\n }\n if (newRoot && newTailOffset < oldTailOffset) {\n newRoot = newRoot.removeAfter(owner, newLevel, newTailOffset - offsetShift);\n }\n if (offsetShift) {\n newOrigin -= offsetShift;\n newCapacity -= offsetShift;\n }\n }\n\n if (list.__ownerID) {\n list.size = newCapacity - newOrigin;\n list._origin = newOrigin;\n list._capacity = newCapacity;\n list._level = newLevel;\n list._root = newRoot;\n list._tail = newTail;\n list.__hash = undefined;\n list.__altered = true;\n return list;\n }\n return makeList(newOrigin, newCapacity, newLevel, newRoot, newTail);\n }\n\n function mergeIntoListWith(list, merger, iterables) {\n var iters = [];\n var maxSize = 0;\n for (var ii = 0; ii < iterables.length; ii++) {\n var value = iterables[ii];\n var iter = IndexedIterable(value);\n if (iter.size > maxSize) {\n maxSize = iter.size;\n }\n if (!isIterable(value)) {\n iter = iter.map(function(v ) {return fromJS(v)});\n }\n iters.push(iter);\n }\n if (maxSize > list.size) {\n list = list.setSize(maxSize);\n }\n return mergeIntoCollectionWith(list, merger, iters);\n }\n\n function getTailOffset(size) {\n return size < SIZE ? 0 : (((size - 1) >>> SHIFT) << SHIFT);\n }\n\n createClass(OrderedMap, Map);\n\n // @pragma Construction\n\n function OrderedMap(value) {\n return value === null || value === undefined ? emptyOrderedMap() :\n isOrderedMap(value) ? value :\n emptyOrderedMap().withMutations(function(map ) {\n var iter = KeyedIterable(value);\n assertNotInfinite(iter.size);\n iter.forEach(function(v, k) {return map.set(k, v)});\n });\n }\n\n OrderedMap.of = function(/*...values*/) {\n return this(arguments);\n };\n\n OrderedMap.prototype.toString = function() {\n return this.__toString('OrderedMap {', '}');\n };\n\n // @pragma Access\n\n OrderedMap.prototype.get = function(k, notSetValue) {\n var index = this._map.get(k);\n return index !== undefined ? this._list.get(index)[1] : notSetValue;\n };\n\n // @pragma Modification\n\n OrderedMap.prototype.clear = function() {\n if (this.size === 0) {\n return this;\n }\n if (this.__ownerID) {\n this.size = 0;\n this._map.clear();\n this._list.clear();\n return this;\n }\n return emptyOrderedMap();\n };\n\n OrderedMap.prototype.set = function(k, v) {\n return updateOrderedMap(this, k, v);\n };\n\n OrderedMap.prototype.remove = function(k) {\n return updateOrderedMap(this, k, NOT_SET);\n };\n\n OrderedMap.prototype.wasAltered = function() {\n return this._map.wasAltered() || this._list.wasAltered();\n };\n\n OrderedMap.prototype.__iterate = function(fn, reverse) {var this$0 = this;\n return this._list.__iterate(\n function(entry ) {return entry && fn(entry[1], entry[0], this$0)},\n reverse\n );\n };\n\n OrderedMap.prototype.__iterator = function(type, reverse) {\n return this._list.fromEntrySeq().__iterator(type, reverse);\n };\n\n OrderedMap.prototype.__ensureOwner = function(ownerID) {\n if (ownerID === this.__ownerID) {\n return this;\n }\n var newMap = this._map.__ensureOwner(ownerID);\n var newList = this._list.__ensureOwner(ownerID);\n if (!ownerID) {\n this.__ownerID = ownerID;\n this._map = newMap;\n this._list = newList;\n return this;\n }\n return makeOrderedMap(newMap, newList, ownerID, this.__hash);\n };\n\n\n function isOrderedMap(maybeOrderedMap) {\n return isMap(maybeOrderedMap) && isOrdered(maybeOrderedMap);\n }\n\n OrderedMap.isOrderedMap = isOrderedMap;\n\n OrderedMap.prototype[IS_ORDERED_SENTINEL] = true;\n OrderedMap.prototype[DELETE] = OrderedMap.prototype.remove;\n\n\n\n function makeOrderedMap(map, list, ownerID, hash) {\n var omap = Object.create(OrderedMap.prototype);\n omap.size = map ? map.size : 0;\n omap._map = map;\n omap._list = list;\n omap.__ownerID = ownerID;\n omap.__hash = hash;\n return omap;\n }\n\n var EMPTY_ORDERED_MAP;\n function emptyOrderedMap() {\n return EMPTY_ORDERED_MAP || (EMPTY_ORDERED_MAP = makeOrderedMap(emptyMap(), emptyList()));\n }\n\n function updateOrderedMap(omap, k, v) {\n var map = omap._map;\n var list = omap._list;\n var i = map.get(k);\n var has = i !== undefined;\n var newMap;\n var newList;\n if (v === NOT_SET) { // removed\n if (!has) {\n return omap;\n }\n if (list.size >= SIZE && list.size >= map.size * 2) {\n newList = list.filter(function(entry, idx) {return entry !== undefined && i !== idx});\n newMap = newList.toKeyedSeq().map(function(entry ) {return entry[0]}).flip().toMap();\n if (omap.__ownerID) {\n newMap.__ownerID = newList.__ownerID = omap.__ownerID;\n }\n } else {\n newMap = map.remove(k);\n newList = i === list.size - 1 ? list.pop() : list.set(i, undefined);\n }\n } else {\n if (has) {\n if (v === list.get(i)[1]) {\n return omap;\n }\n newMap = map;\n newList = list.set(i, [k, v]);\n } else {\n newMap = map.set(k, list.size);\n newList = list.set(list.size, [k, v]);\n }\n }\n if (omap.__ownerID) {\n omap.size = newMap.size;\n omap._map = newMap;\n omap._list = newList;\n omap.__hash = undefined;\n return omap;\n }\n return makeOrderedMap(newMap, newList);\n }\n\n createClass(ToKeyedSequence, KeyedSeq);\n function ToKeyedSequence(indexed, useKeys) {\n this._iter = indexed;\n this._useKeys = useKeys;\n this.size = indexed.size;\n }\n\n ToKeyedSequence.prototype.get = function(key, notSetValue) {\n return this._iter.get(key, notSetValue);\n };\n\n ToKeyedSequence.prototype.has = function(key) {\n return this._iter.has(key);\n };\n\n ToKeyedSequence.prototype.valueSeq = function() {\n return this._iter.valueSeq();\n };\n\n ToKeyedSequence.prototype.reverse = function() {var this$0 = this;\n var reversedSequence = reverseFactory(this, true);\n if (!this._useKeys) {\n reversedSequence.valueSeq = function() {return this$0._iter.toSeq().reverse()};\n }\n return reversedSequence;\n };\n\n ToKeyedSequence.prototype.map = function(mapper, context) {var this$0 = this;\n var mappedSequence = mapFactory(this, mapper, context);\n if (!this._useKeys) {\n mappedSequence.valueSeq = function() {return this$0._iter.toSeq().map(mapper, context)};\n }\n return mappedSequence;\n };\n\n ToKeyedSequence.prototype.__iterate = function(fn, reverse) {var this$0 = this;\n var ii;\n return this._iter.__iterate(\n this._useKeys ?\n function(v, k) {return fn(v, k, this$0)} :\n ((ii = reverse ? resolveSize(this) : 0),\n function(v ) {return fn(v, reverse ? --ii : ii++, this$0)}),\n reverse\n );\n };\n\n ToKeyedSequence.prototype.__iterator = function(type, reverse) {\n if (this._useKeys) {\n return this._iter.__iterator(type, reverse);\n }\n var iterator = this._iter.__iterator(ITERATE_VALUES, reverse);\n var ii = reverse ? resolveSize(this) : 0;\n return new Iterator(function() {\n var step = iterator.next();\n return step.done ? step :\n iteratorValue(type, reverse ? --ii : ii++, step.value, step);\n });\n };\n\n ToKeyedSequence.prototype[IS_ORDERED_SENTINEL] = true;\n\n\n createClass(ToIndexedSequence, IndexedSeq);\n function ToIndexedSequence(iter) {\n this._iter = iter;\n this.size = iter.size;\n }\n\n ToIndexedSequence.prototype.includes = function(value) {\n return this._iter.includes(value);\n };\n\n ToIndexedSequence.prototype.__iterate = function(fn, reverse) {var this$0 = this;\n var iterations = 0;\n return this._iter.__iterate(function(v ) {return fn(v, iterations++, this$0)}, reverse);\n };\n\n ToIndexedSequence.prototype.__iterator = function(type, reverse) {\n var iterator = this._iter.__iterator(ITERATE_VALUES, reverse);\n var iterations = 0;\n return new Iterator(function() {\n var step = iterator.next();\n return step.done ? step :\n iteratorValue(type, iterations++, step.value, step)\n });\n };\n\n\n\n createClass(ToSetSequence, SetSeq);\n function ToSetSequence(iter) {\n this._iter = iter;\n this.size = iter.size;\n }\n\n ToSetSequence.prototype.has = function(key) {\n return this._iter.includes(key);\n };\n\n ToSetSequence.prototype.__iterate = function(fn, reverse) {var this$0 = this;\n return this._iter.__iterate(function(v ) {return fn(v, v, this$0)}, reverse);\n };\n\n ToSetSequence.prototype.__iterator = function(type, reverse) {\n var iterator = this._iter.__iterator(ITERATE_VALUES, reverse);\n return new Iterator(function() {\n var step = iterator.next();\n return step.done ? step :\n iteratorValue(type, step.value, step.value, step);\n });\n };\n\n\n\n createClass(FromEntriesSequence, KeyedSeq);\n function FromEntriesSequence(entries) {\n this._iter = entries;\n this.size = entries.size;\n }\n\n FromEntriesSequence.prototype.entrySeq = function() {\n return this._iter.toSeq();\n };\n\n FromEntriesSequence.prototype.__iterate = function(fn, reverse) {var this$0 = this;\n return this._iter.__iterate(function(entry ) {\n // Check if entry exists first so array access doesn't throw for holes\n // in the parent iteration.\n if (entry) {\n validateEntry(entry);\n var indexedIterable = isIterable(entry);\n return fn(\n indexedIterable ? entry.get(1) : entry[1],\n indexedIterable ? entry.get(0) : entry[0],\n this$0\n );\n }\n }, reverse);\n };\n\n FromEntriesSequence.prototype.__iterator = function(type, reverse) {\n var iterator = this._iter.__iterator(ITERATE_VALUES, reverse);\n return new Iterator(function() {\n while (true) {\n var step = iterator.next();\n if (step.done) {\n return step;\n }\n var entry = step.value;\n // Check if entry exists first so array access doesn't throw for holes\n // in the parent iteration.\n if (entry) {\n validateEntry(entry);\n var indexedIterable = isIterable(entry);\n return iteratorValue(\n type,\n indexedIterable ? entry.get(0) : entry[0],\n indexedIterable ? entry.get(1) : entry[1],\n step\n );\n }\n }\n });\n };\n\n\n ToIndexedSequence.prototype.cacheResult =\n ToKeyedSequence.prototype.cacheResult =\n ToSetSequence.prototype.cacheResult =\n FromEntriesSequence.prototype.cacheResult =\n cacheResultThrough;\n\n\n function flipFactory(iterable) {\n var flipSequence = makeSequence(iterable);\n flipSequence._iter = iterable;\n flipSequence.size = iterable.size;\n flipSequence.flip = function() {return iterable};\n flipSequence.reverse = function () {\n var reversedSequence = iterable.reverse.apply(this); // super.reverse()\n reversedSequence.flip = function() {return iterable.reverse()};\n return reversedSequence;\n };\n flipSequence.has = function(key ) {return iterable.includes(key)};\n flipSequence.includes = function(key ) {return iterable.has(key)};\n flipSequence.cacheResult = cacheResultThrough;\n flipSequence.__iterateUncached = function (fn, reverse) {var this$0 = this;\n return iterable.__iterate(function(v, k) {return fn(k, v, this$0) !== false}, reverse);\n }\n flipSequence.__iteratorUncached = function(type, reverse) {\n if (type === ITERATE_ENTRIES) {\n var iterator = iterable.__iterator(type, reverse);\n return new Iterator(function() {\n var step = iterator.next();\n if (!step.done) {\n var k = step.value[0];\n step.value[0] = step.value[1];\n step.value[1] = k;\n }\n return step;\n });\n }\n return iterable.__iterator(\n type === ITERATE_VALUES ? ITERATE_KEYS : ITERATE_VALUES,\n reverse\n );\n }\n return flipSequence;\n }\n\n\n function mapFactory(iterable, mapper, context) {\n var mappedSequence = makeSequence(iterable);\n mappedSequence.size = iterable.size;\n mappedSequence.has = function(key ) {return iterable.has(key)};\n mappedSequence.get = function(key, notSetValue) {\n var v = iterable.get(key, NOT_SET);\n return v === NOT_SET ?\n notSetValue :\n mapper.call(context, v, key, iterable);\n };\n mappedSequence.__iterateUncached = function (fn, reverse) {var this$0 = this;\n return iterable.__iterate(\n function(v, k, c) {return fn(mapper.call(context, v, k, c), k, this$0) !== false},\n reverse\n );\n }\n mappedSequence.__iteratorUncached = function (type, reverse) {\n var iterator = iterable.__iterator(ITERATE_ENTRIES, reverse);\n return new Iterator(function() {\n var step = iterator.next();\n if (step.done) {\n return step;\n }\n var entry = step.value;\n var key = entry[0];\n return iteratorValue(\n type,\n key,\n mapper.call(context, entry[1], key, iterable),\n step\n );\n });\n }\n return mappedSequence;\n }\n\n\n function reverseFactory(iterable, useKeys) {\n var reversedSequence = makeSequence(iterable);\n reversedSequence._iter = iterable;\n reversedSequence.size = iterable.size;\n reversedSequence.reverse = function() {return iterable};\n if (iterable.flip) {\n reversedSequence.flip = function () {\n var flipSequence = flipFactory(iterable);\n flipSequence.reverse = function() {return iterable.flip()};\n return flipSequence;\n };\n }\n reversedSequence.get = function(key, notSetValue) \n {return iterable.get(useKeys ? key : -1 - key, notSetValue)};\n reversedSequence.has = function(key )\n {return iterable.has(useKeys ? key : -1 - key)};\n reversedSequence.includes = function(value ) {return iterable.includes(value)};\n reversedSequence.cacheResult = cacheResultThrough;\n reversedSequence.__iterate = function (fn, reverse) {var this$0 = this;\n return iterable.__iterate(function(v, k) {return fn(v, k, this$0)}, !reverse);\n };\n reversedSequence.__iterator =\n function(type, reverse) {return iterable.__iterator(type, !reverse)};\n return reversedSequence;\n }\n\n\n function filterFactory(iterable, predicate, context, useKeys) {\n var filterSequence = makeSequence(iterable);\n if (useKeys) {\n filterSequence.has = function(key ) {\n var v = iterable.get(key, NOT_SET);\n return v !== NOT_SET && !!predicate.call(context, v, key, iterable);\n };\n filterSequence.get = function(key, notSetValue) {\n var v = iterable.get(key, NOT_SET);\n return v !== NOT_SET && predicate.call(context, v, key, iterable) ?\n v : notSetValue;\n };\n }\n filterSequence.__iterateUncached = function (fn, reverse) {var this$0 = this;\n var iterations = 0;\n iterable.__iterate(function(v, k, c) {\n if (predicate.call(context, v, k, c)) {\n iterations++;\n return fn(v, useKeys ? k : iterations - 1, this$0);\n }\n }, reverse);\n return iterations;\n };\n filterSequence.__iteratorUncached = function (type, reverse) {\n var iterator = iterable.__iterator(ITERATE_ENTRIES, reverse);\n var iterations = 0;\n return new Iterator(function() {\n while (true) {\n var step = iterator.next();\n if (step.done) {\n return step;\n }\n var entry = step.value;\n var key = entry[0];\n var value = entry[1];\n if (predicate.call(context, value, key, iterable)) {\n return iteratorValue(type, useKeys ? key : iterations++, value, step);\n }\n }\n });\n }\n return filterSequence;\n }\n\n\n function countByFactory(iterable, grouper, context) {\n var groups = Map().asMutable();\n iterable.__iterate(function(v, k) {\n groups.update(\n grouper.call(context, v, k, iterable),\n 0,\n function(a ) {return a + 1}\n );\n });\n return groups.asImmutable();\n }\n\n\n function groupByFactory(iterable, grouper, context) {\n var isKeyedIter = isKeyed(iterable);\n var groups = (isOrdered(iterable) ? OrderedMap() : Map()).asMutable();\n iterable.__iterate(function(v, k) {\n groups.update(\n grouper.call(context, v, k, iterable),\n function(a ) {return (a = a || [], a.push(isKeyedIter ? [k, v] : v), a)}\n );\n });\n var coerce = iterableClass(iterable);\n return groups.map(function(arr ) {return reify(iterable, coerce(arr))});\n }\n\n\n function sliceFactory(iterable, begin, end, useKeys) {\n var originalSize = iterable.size;\n\n // Sanitize begin & end using this shorthand for ToInt32(argument)\n // http://www.ecma-international.org/ecma-262/6.0/#sec-toint32\n if (begin !== undefined) {\n begin = begin | 0;\n }\n if (end !== undefined) {\n if (end === Infinity) {\n end = originalSize;\n } else {\n end = end | 0;\n }\n }\n\n if (wholeSlice(begin, end, originalSize)) {\n return iterable;\n }\n\n var resolvedBegin = resolveBegin(begin, originalSize);\n var resolvedEnd = resolveEnd(end, originalSize);\n\n // begin or end will be NaN if they were provided as negative numbers and\n // this iterable's size is unknown. In that case, cache first so there is\n // a known size and these do not resolve to NaN.\n if (resolvedBegin !== resolvedBegin || resolvedEnd !== resolvedEnd) {\n return sliceFactory(iterable.toSeq().cacheResult(), begin, end, useKeys);\n }\n\n // Note: resolvedEnd is undefined when the original sequence's length is\n // unknown and this slice did not supply an end and should contain all\n // elements after resolvedBegin.\n // In that case, resolvedSize will be NaN and sliceSize will remain undefined.\n var resolvedSize = resolvedEnd - resolvedBegin;\n var sliceSize;\n if (resolvedSize === resolvedSize) {\n sliceSize = resolvedSize < 0 ? 0 : resolvedSize;\n }\n\n var sliceSeq = makeSequence(iterable);\n\n // If iterable.size is undefined, the size of the realized sliceSeq is\n // unknown at this point unless the number of items to slice is 0\n sliceSeq.size = sliceSize === 0 ? sliceSize : iterable.size && sliceSize || undefined;\n\n if (!useKeys && isSeq(iterable) && sliceSize >= 0) {\n sliceSeq.get = function (index, notSetValue) {\n index = wrapIndex(this, index);\n return index >= 0 && index < sliceSize ?\n iterable.get(index + resolvedBegin, notSetValue) :\n notSetValue;\n }\n }\n\n sliceSeq.__iterateUncached = function(fn, reverse) {var this$0 = this;\n if (sliceSize === 0) {\n return 0;\n }\n if (reverse) {\n return this.cacheResult().__iterate(fn, reverse);\n }\n var skipped = 0;\n var isSkipping = true;\n var iterations = 0;\n iterable.__iterate(function(v, k) {\n if (!(isSkipping && (isSkipping = skipped++ < resolvedBegin))) {\n iterations++;\n return fn(v, useKeys ? k : iterations - 1, this$0) !== false &&\n iterations !== sliceSize;\n }\n });\n return iterations;\n };\n\n sliceSeq.__iteratorUncached = function(type, reverse) {\n if (sliceSize !== 0 && reverse) {\n return this.cacheResult().__iterator(type, reverse);\n }\n // Don't bother instantiating parent iterator if taking 0.\n var iterator = sliceSize !== 0 && iterable.__iterator(type, reverse);\n var skipped = 0;\n var iterations = 0;\n return new Iterator(function() {\n while (skipped++ < resolvedBegin) {\n iterator.next();\n }\n if (++iterations > sliceSize) {\n return iteratorDone();\n }\n var step = iterator.next();\n if (useKeys || type === ITERATE_VALUES) {\n return step;\n } else if (type === ITERATE_KEYS) {\n return iteratorValue(type, iterations - 1, undefined, step);\n } else {\n return iteratorValue(type, iterations - 1, step.value[1], step);\n }\n });\n }\n\n return sliceSeq;\n }\n\n\n function takeWhileFactory(iterable, predicate, context) {\n var takeSequence = makeSequence(iterable);\n takeSequence.__iterateUncached = function(fn, reverse) {var this$0 = this;\n if (reverse) {\n return this.cacheResult().__iterate(fn, reverse);\n }\n var iterations = 0;\n iterable.__iterate(function(v, k, c) \n {return predicate.call(context, v, k, c) && ++iterations && fn(v, k, this$0)}\n );\n return iterations;\n };\n takeSequence.__iteratorUncached = function(type, reverse) {var this$0 = this;\n if (reverse) {\n return this.cacheResult().__iterator(type, reverse);\n }\n var iterator = iterable.__iterator(ITERATE_ENTRIES, reverse);\n var iterating = true;\n return new Iterator(function() {\n if (!iterating) {\n return iteratorDone();\n }\n var step = iterator.next();\n if (step.done) {\n return step;\n }\n var entry = step.value;\n var k = entry[0];\n var v = entry[1];\n if (!predicate.call(context, v, k, this$0)) {\n iterating = false;\n return iteratorDone();\n }\n return type === ITERATE_ENTRIES ? step :\n iteratorValue(type, k, v, step);\n });\n };\n return takeSequence;\n }\n\n\n function skipWhileFactory(iterable, predicate, context, useKeys) {\n var skipSequence = makeSequence(iterable);\n skipSequence.__iterateUncached = function (fn, reverse) {var this$0 = this;\n if (reverse) {\n return this.cacheResult().__iterate(fn, reverse);\n }\n var isSkipping = true;\n var iterations = 0;\n iterable.__iterate(function(v, k, c) {\n if (!(isSkipping && (isSkipping = predicate.call(context, v, k, c)))) {\n iterations++;\n return fn(v, useKeys ? k : iterations - 1, this$0);\n }\n });\n return iterations;\n };\n skipSequence.__iteratorUncached = function(type, reverse) {var this$0 = this;\n if (reverse) {\n return this.cacheResult().__iterator(type, reverse);\n }\n var iterator = iterable.__iterator(ITERATE_ENTRIES, reverse);\n var skipping = true;\n var iterations = 0;\n return new Iterator(function() {\n var step, k, v;\n do {\n step = iterator.next();\n if (step.done) {\n if (useKeys || type === ITERATE_VALUES) {\n return step;\n } else if (type === ITERATE_KEYS) {\n return iteratorValue(type, iterations++, undefined, step);\n } else {\n return iteratorValue(type, iterations++, step.value[1], step);\n }\n }\n var entry = step.value;\n k = entry[0];\n v = entry[1];\n skipping && (skipping = predicate.call(context, v, k, this$0));\n } while (skipping);\n return type === ITERATE_ENTRIES ? step :\n iteratorValue(type, k, v, step);\n });\n };\n return skipSequence;\n }\n\n\n function concatFactory(iterable, values) {\n var isKeyedIterable = isKeyed(iterable);\n var iters = [iterable].concat(values).map(function(v ) {\n if (!isIterable(v)) {\n v = isKeyedIterable ?\n keyedSeqFromValue(v) :\n indexedSeqFromValue(Array.isArray(v) ? v : [v]);\n } else if (isKeyedIterable) {\n v = KeyedIterable(v);\n }\n return v;\n }).filter(function(v ) {return v.size !== 0});\n\n if (iters.length === 0) {\n return iterable;\n }\n\n if (iters.length === 1) {\n var singleton = iters[0];\n if (singleton === iterable ||\n isKeyedIterable && isKeyed(singleton) ||\n isIndexed(iterable) && isIndexed(singleton)) {\n return singleton;\n }\n }\n\n var concatSeq = new ArraySeq(iters);\n if (isKeyedIterable) {\n concatSeq = concatSeq.toKeyedSeq();\n } else if (!isIndexed(iterable)) {\n concatSeq = concatSeq.toSetSeq();\n }\n concatSeq = concatSeq.flatten(true);\n concatSeq.size = iters.reduce(\n function(sum, seq) {\n if (sum !== undefined) {\n var size = seq.size;\n if (size !== undefined) {\n return sum + size;\n }\n }\n },\n 0\n );\n return concatSeq;\n }\n\n\n function flattenFactory(iterable, depth, useKeys) {\n var flatSequence = makeSequence(iterable);\n flatSequence.__iterateUncached = function(fn, reverse) {\n var iterations = 0;\n var stopped = false;\n function flatDeep(iter, currentDepth) {var this$0 = this;\n iter.__iterate(function(v, k) {\n if ((!depth || currentDepth < depth) && isIterable(v)) {\n flatDeep(v, currentDepth + 1);\n } else if (fn(v, useKeys ? k : iterations++, this$0) === false) {\n stopped = true;\n }\n return !stopped;\n }, reverse);\n }\n flatDeep(iterable, 0);\n return iterations;\n }\n flatSequence.__iteratorUncached = function(type, reverse) {\n var iterator = iterable.__iterator(type, reverse);\n var stack = [];\n var iterations = 0;\n return new Iterator(function() {\n while (iterator) {\n var step = iterator.next();\n if (step.done !== false) {\n iterator = stack.pop();\n continue;\n }\n var v = step.value;\n if (type === ITERATE_ENTRIES) {\n v = v[1];\n }\n if ((!depth || stack.length < depth) && isIterable(v)) {\n stack.push(iterator);\n iterator = v.__iterator(type, reverse);\n } else {\n return useKeys ? step : iteratorValue(type, iterations++, v, step);\n }\n }\n return iteratorDone();\n });\n }\n return flatSequence;\n }\n\n\n function flatMapFactory(iterable, mapper, context) {\n var coerce = iterableClass(iterable);\n return iterable.toSeq().map(\n function(v, k) {return coerce(mapper.call(context, v, k, iterable))}\n ).flatten(true);\n }\n\n\n function interposeFactory(iterable, separator) {\n var interposedSequence = makeSequence(iterable);\n interposedSequence.size = iterable.size && iterable.size * 2 -1;\n interposedSequence.__iterateUncached = function(fn, reverse) {var this$0 = this;\n var iterations = 0;\n iterable.__iterate(function(v, k) \n {return (!iterations || fn(separator, iterations++, this$0) !== false) &&\n fn(v, iterations++, this$0) !== false},\n reverse\n );\n return iterations;\n };\n interposedSequence.__iteratorUncached = function(type, reverse) {\n var iterator = iterable.__iterator(ITERATE_VALUES, reverse);\n var iterations = 0;\n var step;\n return new Iterator(function() {\n if (!step || iterations % 2) {\n step = iterator.next();\n if (step.done) {\n return step;\n }\n }\n return iterations % 2 ?\n iteratorValue(type, iterations++, separator) :\n iteratorValue(type, iterations++, step.value, step);\n });\n };\n return interposedSequence;\n }\n\n\n function sortFactory(iterable, comparator, mapper) {\n if (!comparator) {\n comparator = defaultComparator;\n }\n var isKeyedIterable = isKeyed(iterable);\n var index = 0;\n var entries = iterable.toSeq().map(\n function(v, k) {return [k, v, index++, mapper ? mapper(v, k, iterable) : v]}\n ).toArray();\n entries.sort(function(a, b) {return comparator(a[3], b[3]) || a[2] - b[2]}).forEach(\n isKeyedIterable ?\n function(v, i) { entries[i].length = 2; } :\n function(v, i) { entries[i] = v[1]; }\n );\n return isKeyedIterable ? KeyedSeq(entries) :\n isIndexed(iterable) ? IndexedSeq(entries) :\n SetSeq(entries);\n }\n\n\n function maxFactory(iterable, comparator, mapper) {\n if (!comparator) {\n comparator = defaultComparator;\n }\n if (mapper) {\n var entry = iterable.toSeq()\n .map(function(v, k) {return [v, mapper(v, k, iterable)]})\n .reduce(function(a, b) {return maxCompare(comparator, a[1], b[1]) ? b : a});\n return entry && entry[0];\n } else {\n return iterable.reduce(function(a, b) {return maxCompare(comparator, a, b) ? b : a});\n }\n }\n\n function maxCompare(comparator, a, b) {\n var comp = comparator(b, a);\n // b is considered the new max if the comparator declares them equal, but\n // they are not equal and b is in fact a nullish value.\n return (comp === 0 && b !== a && (b === undefined || b === null || b !== b)) || comp > 0;\n }\n\n\n function zipWithFactory(keyIter, zipper, iters) {\n var zipSequence = makeSequence(keyIter);\n zipSequence.size = new ArraySeq(iters).map(function(i ) {return i.size}).min();\n // Note: this a generic base implementation of __iterate in terms of\n // __iterator which may be more generically useful in the future.\n zipSequence.__iterate = function(fn, reverse) {\n /* generic:\n var iterator = this.__iterator(ITERATE_ENTRIES, reverse);\n var step;\n var iterations = 0;\n while (!(step = iterator.next()).done) {\n iterations++;\n if (fn(step.value[1], step.value[0], this) === false) {\n break;\n }\n }\n return iterations;\n */\n // indexed:\n var iterator = this.__iterator(ITERATE_VALUES, reverse);\n var step;\n var iterations = 0;\n while (!(step = iterator.next()).done) {\n if (fn(step.value, iterations++, this) === false) {\n break;\n }\n }\n return iterations;\n };\n zipSequence.__iteratorUncached = function(type, reverse) {\n var iterators = iters.map(function(i )\n {return (i = Iterable(i), getIterator(reverse ? i.reverse() : i))}\n );\n var iterations = 0;\n var isDone = false;\n return new Iterator(function() {\n var steps;\n if (!isDone) {\n steps = iterators.map(function(i ) {return i.next()});\n isDone = steps.some(function(s ) {return s.done});\n }\n if (isDone) {\n return iteratorDone();\n }\n return iteratorValue(\n type,\n iterations++,\n zipper.apply(null, steps.map(function(s ) {return s.value}))\n );\n });\n };\n return zipSequence\n }\n\n\n // #pragma Helper Functions\n\n function reify(iter, seq) {\n return isSeq(iter) ? seq : iter.constructor(seq);\n }\n\n function validateEntry(entry) {\n if (entry !== Object(entry)) {\n throw new TypeError('Expected [K, V] tuple: ' + entry);\n }\n }\n\n function resolveSize(iter) {\n assertNotInfinite(iter.size);\n return ensureSize(iter);\n }\n\n function iterableClass(iterable) {\n return isKeyed(iterable) ? KeyedIterable :\n isIndexed(iterable) ? IndexedIterable :\n SetIterable;\n }\n\n function makeSequence(iterable) {\n return Object.create(\n (\n isKeyed(iterable) ? KeyedSeq :\n isIndexed(iterable) ? IndexedSeq :\n SetSeq\n ).prototype\n );\n }\n\n function cacheResultThrough() {\n if (this._iter.cacheResult) {\n this._iter.cacheResult();\n this.size = this._iter.size;\n return this;\n } else {\n return Seq.prototype.cacheResult.call(this);\n }\n }\n\n function defaultComparator(a, b) {\n return a > b ? 1 : a < b ? -1 : 0;\n }\n\n function forceIterator(keyPath) {\n var iter = getIterator(keyPath);\n if (!iter) {\n // Array might not be iterable in this environment, so we need a fallback\n // to our wrapped type.\n if (!isArrayLike(keyPath)) {\n throw new TypeError('Expected iterable or array-like: ' + keyPath);\n }\n iter = getIterator(Iterable(keyPath));\n }\n return iter;\n }\n\n createClass(Record, KeyedCollection);\n\n function Record(defaultValues, name) {\n var hasInitialized;\n\n var RecordType = function Record(values) {\n if (values instanceof RecordType) {\n return values;\n }\n if (!(this instanceof RecordType)) {\n return new RecordType(values);\n }\n if (!hasInitialized) {\n hasInitialized = true;\n var keys = Object.keys(defaultValues);\n setProps(RecordTypePrototype, keys);\n RecordTypePrototype.size = keys.length;\n RecordTypePrototype._name = name;\n RecordTypePrototype._keys = keys;\n RecordTypePrototype._defaultValues = defaultValues;\n }\n this._map = Map(values);\n };\n\n var RecordTypePrototype = RecordType.prototype = Object.create(RecordPrototype);\n RecordTypePrototype.constructor = RecordType;\n\n return RecordType;\n }\n\n Record.prototype.toString = function() {\n return this.__toString(recordName(this) + ' {', '}');\n };\n\n // @pragma Access\n\n Record.prototype.has = function(k) {\n return this._defaultValues.hasOwnProperty(k);\n };\n\n Record.prototype.get = function(k, notSetValue) {\n if (!this.has(k)) {\n return notSetValue;\n }\n var defaultVal = this._defaultValues[k];\n return this._map ? this._map.get(k, defaultVal) : defaultVal;\n };\n\n // @pragma Modification\n\n Record.prototype.clear = function() {\n if (this.__ownerID) {\n this._map && this._map.clear();\n return this;\n }\n var RecordType = this.constructor;\n return RecordType._empty || (RecordType._empty = makeRecord(this, emptyMap()));\n };\n\n Record.prototype.set = function(k, v) {\n if (!this.has(k)) {\n throw new Error('Cannot set unknown key \"' + k + '\" on ' + recordName(this));\n }\n if (this._map && !this._map.has(k)) {\n var defaultVal = this._defaultValues[k];\n if (v === defaultVal) {\n return this;\n }\n }\n var newMap = this._map && this._map.set(k, v);\n if (this.__ownerID || newMap === this._map) {\n return this;\n }\n return makeRecord(this, newMap);\n };\n\n Record.prototype.remove = function(k) {\n if (!this.has(k)) {\n return this;\n }\n var newMap = this._map && this._map.remove(k);\n if (this.__ownerID || newMap === this._map) {\n return this;\n }\n return makeRecord(this, newMap);\n };\n\n Record.prototype.wasAltered = function() {\n return this._map.wasAltered();\n };\n\n Record.prototype.__iterator = function(type, reverse) {var this$0 = this;\n return KeyedIterable(this._defaultValues).map(function(_, k) {return this$0.get(k)}).__iterator(type, reverse);\n };\n\n Record.prototype.__iterate = function(fn, reverse) {var this$0 = this;\n return KeyedIterable(this._defaultValues).map(function(_, k) {return this$0.get(k)}).__iterate(fn, reverse);\n };\n\n Record.prototype.__ensureOwner = function(ownerID) {\n if (ownerID === this.__ownerID) {\n return this;\n }\n var newMap = this._map && this._map.__ensureOwner(ownerID);\n if (!ownerID) {\n this.__ownerID = ownerID;\n this._map = newMap;\n return this;\n }\n return makeRecord(this, newMap, ownerID);\n };\n\n\n var RecordPrototype = Record.prototype;\n RecordPrototype[DELETE] = RecordPrototype.remove;\n RecordPrototype.deleteIn =\n RecordPrototype.removeIn = MapPrototype.removeIn;\n RecordPrototype.merge = MapPrototype.merge;\n RecordPrototype.mergeWith = MapPrototype.mergeWith;\n RecordPrototype.mergeIn = MapPrototype.mergeIn;\n RecordPrototype.mergeDeep = MapPrototype.mergeDeep;\n RecordPrototype.mergeDeepWith = MapPrototype.mergeDeepWith;\n RecordPrototype.mergeDeepIn = MapPrototype.mergeDeepIn;\n RecordPrototype.setIn = MapPrototype.setIn;\n RecordPrototype.update = MapPrototype.update;\n RecordPrototype.updateIn = MapPrototype.updateIn;\n RecordPrototype.withMutations = MapPrototype.withMutations;\n RecordPrototype.asMutable = MapPrototype.asMutable;\n RecordPrototype.asImmutable = MapPrototype.asImmutable;\n\n\n function makeRecord(likeRecord, map, ownerID) {\n var record = Object.create(Object.getPrototypeOf(likeRecord));\n record._map = map;\n record.__ownerID = ownerID;\n return record;\n }\n\n function recordName(record) {\n return record._name || record.constructor.name || 'Record';\n }\n\n function setProps(prototype, names) {\n try {\n names.forEach(setProp.bind(undefined, prototype));\n } catch (error) {\n // Object.defineProperty failed. Probably IE8.\n }\n }\n\n function setProp(prototype, name) {\n Object.defineProperty(prototype, name, {\n get: function() {\n return this.get(name);\n },\n set: function(value) {\n invariant(this.__ownerID, 'Cannot set on an immutable record.');\n this.set(name, value);\n }\n });\n }\n\n createClass(Set, SetCollection);\n\n // @pragma Construction\n\n function Set(value) {\n return value === null || value === undefined ? emptySet() :\n isSet(value) && !isOrdered(value) ? value :\n emptySet().withMutations(function(set ) {\n var iter = SetIterable(value);\n assertNotInfinite(iter.size);\n iter.forEach(function(v ) {return set.add(v)});\n });\n }\n\n Set.of = function(/*...values*/) {\n return this(arguments);\n };\n\n Set.fromKeys = function(value) {\n return this(KeyedIterable(value).keySeq());\n };\n\n Set.prototype.toString = function() {\n return this.__toString('Set {', '}');\n };\n\n // @pragma Access\n\n Set.prototype.has = function(value) {\n return this._map.has(value);\n };\n\n // @pragma Modification\n\n Set.prototype.add = function(value) {\n return updateSet(this, this._map.set(value, true));\n };\n\n Set.prototype.remove = function(value) {\n return updateSet(this, this._map.remove(value));\n };\n\n Set.prototype.clear = function() {\n return updateSet(this, this._map.clear());\n };\n\n // @pragma Composition\n\n Set.prototype.union = function() {var iters = SLICE$0.call(arguments, 0);\n iters = iters.filter(function(x ) {return x.size !== 0});\n if (iters.length === 0) {\n return this;\n }\n if (this.size === 0 && !this.__ownerID && iters.length === 1) {\n return this.constructor(iters[0]);\n }\n return this.withMutations(function(set ) {\n for (var ii = 0; ii < iters.length; ii++) {\n SetIterable(iters[ii]).forEach(function(value ) {return set.add(value)});\n }\n });\n };\n\n Set.prototype.intersect = function() {var iters = SLICE$0.call(arguments, 0);\n if (iters.length === 0) {\n return this;\n }\n iters = iters.map(function(iter ) {return SetIterable(iter)});\n var originalSet = this;\n return this.withMutations(function(set ) {\n originalSet.forEach(function(value ) {\n if (!iters.every(function(iter ) {return iter.includes(value)})) {\n set.remove(value);\n }\n });\n });\n };\n\n Set.prototype.subtract = function() {var iters = SLICE$0.call(arguments, 0);\n if (iters.length === 0) {\n return this;\n }\n iters = iters.map(function(iter ) {return SetIterable(iter)});\n var originalSet = this;\n return this.withMutations(function(set ) {\n originalSet.forEach(function(value ) {\n if (iters.some(function(iter ) {return iter.includes(value)})) {\n set.remove(value);\n }\n });\n });\n };\n\n Set.prototype.merge = function() {\n return this.union.apply(this, arguments);\n };\n\n Set.prototype.mergeWith = function(merger) {var iters = SLICE$0.call(arguments, 1);\n return this.union.apply(this, iters);\n };\n\n Set.prototype.sort = function(comparator) {\n // Late binding\n return OrderedSet(sortFactory(this, comparator));\n };\n\n Set.prototype.sortBy = function(mapper, comparator) {\n // Late binding\n return OrderedSet(sortFactory(this, comparator, mapper));\n };\n\n Set.prototype.wasAltered = function() {\n return this._map.wasAltered();\n };\n\n Set.prototype.__iterate = function(fn, reverse) {var this$0 = this;\n return this._map.__iterate(function(_, k) {return fn(k, k, this$0)}, reverse);\n };\n\n Set.prototype.__iterator = function(type, reverse) {\n return this._map.map(function(_, k) {return k}).__iterator(type, reverse);\n };\n\n Set.prototype.__ensureOwner = function(ownerID) {\n if (ownerID === this.__ownerID) {\n return this;\n }\n var newMap = this._map.__ensureOwner(ownerID);\n if (!ownerID) {\n this.__ownerID = ownerID;\n this._map = newMap;\n return this;\n }\n return this.__make(newMap, ownerID);\n };\n\n\n function isSet(maybeSet) {\n return !!(maybeSet && maybeSet[IS_SET_SENTINEL]);\n }\n\n Set.isSet = isSet;\n\n var IS_SET_SENTINEL = '@@__IMMUTABLE_SET__@@';\n\n var SetPrototype = Set.prototype;\n SetPrototype[IS_SET_SENTINEL] = true;\n SetPrototype[DELETE] = SetPrototype.remove;\n SetPrototype.mergeDeep = SetPrototype.merge;\n SetPrototype.mergeDeepWith = SetPrototype.mergeWith;\n SetPrototype.withMutations = MapPrototype.withMutations;\n SetPrototype.asMutable = MapPrototype.asMutable;\n SetPrototype.asImmutable = MapPrototype.asImmutable;\n\n SetPrototype.__empty = emptySet;\n SetPrototype.__make = makeSet;\n\n function updateSet(set, newMap) {\n if (set.__ownerID) {\n set.size = newMap.size;\n set._map = newMap;\n return set;\n }\n return newMap === set._map ? set :\n newMap.size === 0 ? set.__empty() :\n set.__make(newMap);\n }\n\n function makeSet(map, ownerID) {\n var set = Object.create(SetPrototype);\n set.size = map ? map.size : 0;\n set._map = map;\n set.__ownerID = ownerID;\n return set;\n }\n\n var EMPTY_SET;\n function emptySet() {\n return EMPTY_SET || (EMPTY_SET = makeSet(emptyMap()));\n }\n\n createClass(OrderedSet, Set);\n\n // @pragma Construction\n\n function OrderedSet(value) {\n return value === null || value === undefined ? emptyOrderedSet() :\n isOrderedSet(value) ? value :\n emptyOrderedSet().withMutations(function(set ) {\n var iter = SetIterable(value);\n assertNotInfinite(iter.size);\n iter.forEach(function(v ) {return set.add(v)});\n });\n }\n\n OrderedSet.of = function(/*...values*/) {\n return this(arguments);\n };\n\n OrderedSet.fromKeys = function(value) {\n return this(KeyedIterable(value).keySeq());\n };\n\n OrderedSet.prototype.toString = function() {\n return this.__toString('OrderedSet {', '}');\n };\n\n\n function isOrderedSet(maybeOrderedSet) {\n return isSet(maybeOrderedSet) && isOrdered(maybeOrderedSet);\n }\n\n OrderedSet.isOrderedSet = isOrderedSet;\n\n var OrderedSetPrototype = OrderedSet.prototype;\n OrderedSetPrototype[IS_ORDERED_SENTINEL] = true;\n\n OrderedSetPrototype.__empty = emptyOrderedSet;\n OrderedSetPrototype.__make = makeOrderedSet;\n\n function makeOrderedSet(map, ownerID) {\n var set = Object.create(OrderedSetPrototype);\n set.size = map ? map.size : 0;\n set._map = map;\n set.__ownerID = ownerID;\n return set;\n }\n\n var EMPTY_ORDERED_SET;\n function emptyOrderedSet() {\n return EMPTY_ORDERED_SET || (EMPTY_ORDERED_SET = makeOrderedSet(emptyOrderedMap()));\n }\n\n createClass(Stack, IndexedCollection);\n\n // @pragma Construction\n\n function Stack(value) {\n return value === null || value === undefined ? emptyStack() :\n isStack(value) ? value :\n emptyStack().unshiftAll(value);\n }\n\n Stack.of = function(/*...values*/) {\n return this(arguments);\n };\n\n Stack.prototype.toString = function() {\n return this.__toString('Stack [', ']');\n };\n\n // @pragma Access\n\n Stack.prototype.get = function(index, notSetValue) {\n var head = this._head;\n index = wrapIndex(this, index);\n while (head && index--) {\n head = head.next;\n }\n return head ? head.value : notSetValue;\n };\n\n Stack.prototype.peek = function() {\n return this._head && this._head.value;\n };\n\n // @pragma Modification\n\n Stack.prototype.push = function(/*...values*/) {\n if (arguments.length === 0) {\n return this;\n }\n var newSize = this.size + arguments.length;\n var head = this._head;\n for (var ii = arguments.length - 1; ii >= 0; ii--) {\n head = {\n value: arguments[ii],\n next: head\n };\n }\n if (this.__ownerID) {\n this.size = newSize;\n this._head = head;\n this.__hash = undefined;\n this.__altered = true;\n return this;\n }\n return makeStack(newSize, head);\n };\n\n Stack.prototype.pushAll = function(iter) {\n iter = IndexedIterable(iter);\n if (iter.size === 0) {\n return this;\n }\n assertNotInfinite(iter.size);\n var newSize = this.size;\n var head = this._head;\n iter.reverse().forEach(function(value ) {\n newSize++;\n head = {\n value: value,\n next: head\n };\n });\n if (this.__ownerID) {\n this.size = newSize;\n this._head = head;\n this.__hash = undefined;\n this.__altered = true;\n return this;\n }\n return makeStack(newSize, head);\n };\n\n Stack.prototype.pop = function() {\n return this.slice(1);\n };\n\n Stack.prototype.unshift = function(/*...values*/) {\n return this.push.apply(this, arguments);\n };\n\n Stack.prototype.unshiftAll = function(iter) {\n return this.pushAll(iter);\n };\n\n Stack.prototype.shift = function() {\n return this.pop.apply(this, arguments);\n };\n\n Stack.prototype.clear = function() {\n if (this.size === 0) {\n return this;\n }\n if (this.__ownerID) {\n this.size = 0;\n this._head = undefined;\n this.__hash = undefined;\n this.__altered = true;\n return this;\n }\n return emptyStack();\n };\n\n Stack.prototype.slice = function(begin, end) {\n if (wholeSlice(begin, end, this.size)) {\n return this;\n }\n var resolvedBegin = resolveBegin(begin, this.size);\n var resolvedEnd = resolveEnd(end, this.size);\n if (resolvedEnd !== this.size) {\n // super.slice(begin, end);\n return IndexedCollection.prototype.slice.call(this, begin, end);\n }\n var newSize = this.size - resolvedBegin;\n var head = this._head;\n while (resolvedBegin--) {\n head = head.next;\n }\n if (this.__ownerID) {\n this.size = newSize;\n this._head = head;\n this.__hash = undefined;\n this.__altered = true;\n return this;\n }\n return makeStack(newSize, head);\n };\n\n // @pragma Mutability\n\n Stack.prototype.__ensureOwner = function(ownerID) {\n if (ownerID === this.__ownerID) {\n return this;\n }\n if (!ownerID) {\n this.__ownerID = ownerID;\n this.__altered = false;\n return this;\n }\n return makeStack(this.size, this._head, ownerID, this.__hash);\n };\n\n // @pragma Iteration\n\n Stack.prototype.__iterate = function(fn, reverse) {\n if (reverse) {\n return this.reverse().__iterate(fn);\n }\n var iterations = 0;\n var node = this._head;\n while (node) {\n if (fn(node.value, iterations++, this) === false) {\n break;\n }\n node = node.next;\n }\n return iterations;\n };\n\n Stack.prototype.__iterator = function(type, reverse) {\n if (reverse) {\n return this.reverse().__iterator(type);\n }\n var iterations = 0;\n var node = this._head;\n return new Iterator(function() {\n if (node) {\n var value = node.value;\n node = node.next;\n return iteratorValue(type, iterations++, value);\n }\n return iteratorDone();\n });\n };\n\n\n function isStack(maybeStack) {\n return !!(maybeStack && maybeStack[IS_STACK_SENTINEL]);\n }\n\n Stack.isStack = isStack;\n\n var IS_STACK_SENTINEL = '@@__IMMUTABLE_STACK__@@';\n\n var StackPrototype = Stack.prototype;\n StackPrototype[IS_STACK_SENTINEL] = true;\n StackPrototype.withMutations = MapPrototype.withMutations;\n StackPrototype.asMutable = MapPrototype.asMutable;\n StackPrototype.asImmutable = MapPrototype.asImmutable;\n StackPrototype.wasAltered = MapPrototype.wasAltered;\n\n\n function makeStack(size, head, ownerID, hash) {\n var map = Object.create(StackPrototype);\n map.size = size;\n map._head = head;\n map.__ownerID = ownerID;\n map.__hash = hash;\n map.__altered = false;\n return map;\n }\n\n var EMPTY_STACK;\n function emptyStack() {\n return EMPTY_STACK || (EMPTY_STACK = makeStack(0));\n }\n\n /**\n * Contributes additional methods to a constructor\n */\n function mixin(ctor, methods) {\n var keyCopier = function(key ) { ctor.prototype[key] = methods[key]; };\n Object.keys(methods).forEach(keyCopier);\n Object.getOwnPropertySymbols &&\n Object.getOwnPropertySymbols(methods).forEach(keyCopier);\n return ctor;\n }\n\n Iterable.Iterator = Iterator;\n\n mixin(Iterable, {\n\n // ### Conversion to other types\n\n toArray: function() {\n assertNotInfinite(this.size);\n var array = new Array(this.size || 0);\n this.valueSeq().__iterate(function(v, i) { array[i] = v; });\n return array;\n },\n\n toIndexedSeq: function() {\n return new ToIndexedSequence(this);\n },\n\n toJS: function() {\n return this.toSeq().map(\n function(value ) {return value && typeof value.toJS === 'function' ? value.toJS() : value}\n ).__toJS();\n },\n\n toJSON: function() {\n return this.toSeq().map(\n function(value ) {return value && typeof value.toJSON === 'function' ? value.toJSON() : value}\n ).__toJS();\n },\n\n toKeyedSeq: function() {\n return new ToKeyedSequence(this, true);\n },\n\n toMap: function() {\n // Use Late Binding here to solve the circular dependency.\n return Map(this.toKeyedSeq());\n },\n\n toObject: function() {\n assertNotInfinite(this.size);\n var object = {};\n this.__iterate(function(v, k) { object[k] = v; });\n return object;\n },\n\n toOrderedMap: function() {\n // Use Late Binding here to solve the circular dependency.\n return OrderedMap(this.toKeyedSeq());\n },\n\n toOrderedSet: function() {\n // Use Late Binding here to solve the circular dependency.\n return OrderedSet(isKeyed(this) ? this.valueSeq() : this);\n },\n\n toSet: function() {\n // Use Late Binding here to solve the circular dependency.\n return Set(isKeyed(this) ? this.valueSeq() : this);\n },\n\n toSetSeq: function() {\n return new ToSetSequence(this);\n },\n\n toSeq: function() {\n return isIndexed(this) ? this.toIndexedSeq() :\n isKeyed(this) ? this.toKeyedSeq() :\n this.toSetSeq();\n },\n\n toStack: function() {\n // Use Late Binding here to solve the circular dependency.\n return Stack(isKeyed(this) ? this.valueSeq() : this);\n },\n\n toList: function() {\n // Use Late Binding here to solve the circular dependency.\n return List(isKeyed(this) ? this.valueSeq() : this);\n },\n\n\n // ### Common JavaScript methods and properties\n\n toString: function() {\n return '[Iterable]';\n },\n\n __toString: function(head, tail) {\n if (this.size === 0) {\n return head + tail;\n }\n return head + ' ' + this.toSeq().map(this.__toStringMapper).join(', ') + ' ' + tail;\n },\n\n\n // ### ES6 Collection methods (ES6 Array and Map)\n\n concat: function() {var values = SLICE$0.call(arguments, 0);\n return reify(this, concatFactory(this, values));\n },\n\n includes: function(searchValue) {\n return this.some(function(value ) {return is(value, searchValue)});\n },\n\n entries: function() {\n return this.__iterator(ITERATE_ENTRIES);\n },\n\n every: function(predicate, context) {\n assertNotInfinite(this.size);\n var returnValue = true;\n this.__iterate(function(v, k, c) {\n if (!predicate.call(context, v, k, c)) {\n returnValue = false;\n return false;\n }\n });\n return returnValue;\n },\n\n filter: function(predicate, context) {\n return reify(this, filterFactory(this, predicate, context, true));\n },\n\n find: function(predicate, context, notSetValue) {\n var entry = this.findEntry(predicate, context);\n return entry ? entry[1] : notSetValue;\n },\n\n forEach: function(sideEffect, context) {\n assertNotInfinite(this.size);\n return this.__iterate(context ? sideEffect.bind(context) : sideEffect);\n },\n\n join: function(separator) {\n assertNotInfinite(this.size);\n separator = separator !== undefined ? '' + separator : ',';\n var joined = '';\n var isFirst = true;\n this.__iterate(function(v ) {\n isFirst ? (isFirst = false) : (joined += separator);\n joined += v !== null && v !== undefined ? v.toString() : '';\n });\n return joined;\n },\n\n keys: function() {\n return this.__iterator(ITERATE_KEYS);\n },\n\n map: function(mapper, context) {\n return reify(this, mapFactory(this, mapper, context));\n },\n\n reduce: function(reducer, initialReduction, context) {\n assertNotInfinite(this.size);\n var reduction;\n var useFirst;\n if (arguments.length < 2) {\n useFirst = true;\n } else {\n reduction = initialReduction;\n }\n this.__iterate(function(v, k, c) {\n if (useFirst) {\n useFirst = false;\n reduction = v;\n } else {\n reduction = reducer.call(context, reduction, v, k, c);\n }\n });\n return reduction;\n },\n\n reduceRight: function(reducer, initialReduction, context) {\n var reversed = this.toKeyedSeq().reverse();\n return reversed.reduce.apply(reversed, arguments);\n },\n\n reverse: function() {\n return reify(this, reverseFactory(this, true));\n },\n\n slice: function(begin, end) {\n return reify(this, sliceFactory(this, begin, end, true));\n },\n\n some: function(predicate, context) {\n return !this.every(not(predicate), context);\n },\n\n sort: function(comparator) {\n return reify(this, sortFactory(this, comparator));\n },\n\n values: function() {\n return this.__iterator(ITERATE_VALUES);\n },\n\n\n // ### More sequential methods\n\n butLast: function() {\n return this.slice(0, -1);\n },\n\n isEmpty: function() {\n return this.size !== undefined ? this.size === 0 : !this.some(function() {return true});\n },\n\n count: function(predicate, context) {\n return ensureSize(\n predicate ? this.toSeq().filter(predicate, context) : this\n );\n },\n\n countBy: function(grouper, context) {\n return countByFactory(this, grouper, context);\n },\n\n equals: function(other) {\n return deepEqual(this, other);\n },\n\n entrySeq: function() {\n var iterable = this;\n if (iterable._cache) {\n // We cache as an entries array, so we can just return the cache!\n return new ArraySeq(iterable._cache);\n }\n var entriesSequence = iterable.toSeq().map(entryMapper).toIndexedSeq();\n entriesSequence.fromEntrySeq = function() {return iterable.toSeq()};\n return entriesSequence;\n },\n\n filterNot: function(predicate, context) {\n return this.filter(not(predicate), context);\n },\n\n findEntry: function(predicate, context, notSetValue) {\n var found = notSetValue;\n this.__iterate(function(v, k, c) {\n if (predicate.call(context, v, k, c)) {\n found = [k, v];\n return false;\n }\n });\n return found;\n },\n\n findKey: function(predicate, context) {\n var entry = this.findEntry(predicate, context);\n return entry && entry[0];\n },\n\n findLast: function(predicate, context, notSetValue) {\n return this.toKeyedSeq().reverse().find(predicate, context, notSetValue);\n },\n\n findLastEntry: function(predicate, context, notSetValue) {\n return this.toKeyedSeq().reverse().findEntry(predicate, context, notSetValue);\n },\n\n findLastKey: function(predicate, context) {\n return this.toKeyedSeq().reverse().findKey(predicate, context);\n },\n\n first: function() {\n return this.find(returnTrue);\n },\n\n flatMap: function(mapper, context) {\n return reify(this, flatMapFactory(this, mapper, context));\n },\n\n flatten: function(depth) {\n return reify(this, flattenFactory(this, depth, true));\n },\n\n fromEntrySeq: function() {\n return new FromEntriesSequence(this);\n },\n\n get: function(searchKey, notSetValue) {\n return this.find(function(_, key) {return is(key, searchKey)}, undefined, notSetValue);\n },\n\n getIn: function(searchKeyPath, notSetValue) {\n var nested = this;\n // Note: in an ES6 environment, we would prefer:\n // for (var key of searchKeyPath) {\n var iter = forceIterator(searchKeyPath);\n var step;\n while (!(step = iter.next()).done) {\n var key = step.value;\n nested = nested && nested.get ? nested.get(key, NOT_SET) : NOT_SET;\n if (nested === NOT_SET) {\n return notSetValue;\n }\n }\n return nested;\n },\n\n groupBy: function(grouper, context) {\n return groupByFactory(this, grouper, context);\n },\n\n has: function(searchKey) {\n return this.get(searchKey, NOT_SET) !== NOT_SET;\n },\n\n hasIn: function(searchKeyPath) {\n return this.getIn(searchKeyPath, NOT_SET) !== NOT_SET;\n },\n\n isSubset: function(iter) {\n iter = typeof iter.includes === 'function' ? iter : Iterable(iter);\n return this.every(function(value ) {return iter.includes(value)});\n },\n\n isSuperset: function(iter) {\n iter = typeof iter.isSubset === 'function' ? iter : Iterable(iter);\n return iter.isSubset(this);\n },\n\n keyOf: function(searchValue) {\n return this.findKey(function(value ) {return is(value, searchValue)});\n },\n\n keySeq: function() {\n return this.toSeq().map(keyMapper).toIndexedSeq();\n },\n\n last: function() {\n return this.toSeq().reverse().first();\n },\n\n lastKeyOf: function(searchValue) {\n return this.toKeyedSeq().reverse().keyOf(searchValue);\n },\n\n max: function(comparator) {\n return maxFactory(this, comparator);\n },\n\n maxBy: function(mapper, comparator) {\n return maxFactory(this, comparator, mapper);\n },\n\n min: function(comparator) {\n return maxFactory(this, comparator ? neg(comparator) : defaultNegComparator);\n },\n\n minBy: function(mapper, comparator) {\n return maxFactory(this, comparator ? neg(comparator) : defaultNegComparator, mapper);\n },\n\n rest: function() {\n return this.slice(1);\n },\n\n skip: function(amount) {\n return this.slice(Math.max(0, amount));\n },\n\n skipLast: function(amount) {\n return reify(this, this.toSeq().reverse().skip(amount).reverse());\n },\n\n skipWhile: function(predicate, context) {\n return reify(this, skipWhileFactory(this, predicate, context, true));\n },\n\n skipUntil: function(predicate, context) {\n return this.skipWhile(not(predicate), context);\n },\n\n sortBy: function(mapper, comparator) {\n return reify(this, sortFactory(this, comparator, mapper));\n },\n\n take: function(amount) {\n return this.slice(0, Math.max(0, amount));\n },\n\n takeLast: function(amount) {\n return reify(this, this.toSeq().reverse().take(amount).reverse());\n },\n\n takeWhile: function(predicate, context) {\n return reify(this, takeWhileFactory(this, predicate, context));\n },\n\n takeUntil: function(predicate, context) {\n return this.takeWhile(not(predicate), context);\n },\n\n valueSeq: function() {\n return this.toIndexedSeq();\n },\n\n\n // ### Hashable Object\n\n hashCode: function() {\n return this.__hash || (this.__hash = hashIterable(this));\n }\n\n\n // ### Internal\n\n // abstract __iterate(fn, reverse)\n\n // abstract __iterator(type, reverse)\n });\n\n // var IS_ITERABLE_SENTINEL = '@@__IMMUTABLE_ITERABLE__@@';\n // var IS_KEYED_SENTINEL = '@@__IMMUTABLE_KEYED__@@';\n // var IS_INDEXED_SENTINEL = '@@__IMMUTABLE_INDEXED__@@';\n // var IS_ORDERED_SENTINEL = '@@__IMMUTABLE_ORDERED__@@';\n\n var IterablePrototype = Iterable.prototype;\n IterablePrototype[IS_ITERABLE_SENTINEL] = true;\n IterablePrototype[ITERATOR_SYMBOL] = IterablePrototype.values;\n IterablePrototype.__toJS = IterablePrototype.toArray;\n IterablePrototype.__toStringMapper = quoteString;\n IterablePrototype.inspect =\n IterablePrototype.toSource = function() { return this.toString(); };\n IterablePrototype.chain = IterablePrototype.flatMap;\n IterablePrototype.contains = IterablePrototype.includes;\n\n mixin(KeyedIterable, {\n\n // ### More sequential methods\n\n flip: function() {\n return reify(this, flipFactory(this));\n },\n\n mapEntries: function(mapper, context) {var this$0 = this;\n var iterations = 0;\n return reify(this,\n this.toSeq().map(\n function(v, k) {return mapper.call(context, [k, v], iterations++, this$0)}\n ).fromEntrySeq()\n );\n },\n\n mapKeys: function(mapper, context) {var this$0 = this;\n return reify(this,\n this.toSeq().flip().map(\n function(k, v) {return mapper.call(context, k, v, this$0)}\n ).flip()\n );\n }\n\n });\n\n var KeyedIterablePrototype = KeyedIterable.prototype;\n KeyedIterablePrototype[IS_KEYED_SENTINEL] = true;\n KeyedIterablePrototype[ITERATOR_SYMBOL] = IterablePrototype.entries;\n KeyedIterablePrototype.__toJS = IterablePrototype.toObject;\n KeyedIterablePrototype.__toStringMapper = function(v, k) {return JSON.stringify(k) + ': ' + quoteString(v)};\n\n\n\n mixin(IndexedIterable, {\n\n // ### Conversion to other types\n\n toKeyedSeq: function() {\n return new ToKeyedSequence(this, false);\n },\n\n\n // ### ES6 Collection methods (ES6 Array and Map)\n\n filter: function(predicate, context) {\n return reify(this, filterFactory(this, predicate, context, false));\n },\n\n findIndex: function(predicate, context) {\n var entry = this.findEntry(predicate, context);\n return entry ? entry[0] : -1;\n },\n\n indexOf: function(searchValue) {\n var key = this.keyOf(searchValue);\n return key === undefined ? -1 : key;\n },\n\n lastIndexOf: function(searchValue) {\n var key = this.lastKeyOf(searchValue);\n return key === undefined ? -1 : key;\n },\n\n reverse: function() {\n return reify(this, reverseFactory(this, false));\n },\n\n slice: function(begin, end) {\n return reify(this, sliceFactory(this, begin, end, false));\n },\n\n splice: function(index, removeNum /*, ...values*/) {\n var numArgs = arguments.length;\n removeNum = Math.max(removeNum | 0, 0);\n if (numArgs === 0 || (numArgs === 2 && !removeNum)) {\n return this;\n }\n // If index is negative, it should resolve relative to the size of the\n // collection. However size may be expensive to compute if not cached, so\n // only call count() if the number is in fact negative.\n index = resolveBegin(index, index < 0 ? this.count() : this.size);\n var spliced = this.slice(0, index);\n return reify(\n this,\n numArgs === 1 ?\n spliced :\n spliced.concat(arrCopy(arguments, 2), this.slice(index + removeNum))\n );\n },\n\n\n // ### More collection methods\n\n findLastIndex: function(predicate, context) {\n var entry = this.findLastEntry(predicate, context);\n return entry ? entry[0] : -1;\n },\n\n first: function() {\n return this.get(0);\n },\n\n flatten: function(depth) {\n return reify(this, flattenFactory(this, depth, false));\n },\n\n get: function(index, notSetValue) {\n index = wrapIndex(this, index);\n return (index < 0 || (this.size === Infinity ||\n (this.size !== undefined && index > this.size))) ?\n notSetValue :\n this.find(function(_, key) {return key === index}, undefined, notSetValue);\n },\n\n has: function(index) {\n index = wrapIndex(this, index);\n return index >= 0 && (this.size !== undefined ?\n this.size === Infinity || index < this.size :\n this.indexOf(index) !== -1\n );\n },\n\n interpose: function(separator) {\n return reify(this, interposeFactory(this, separator));\n },\n\n interleave: function(/*...iterables*/) {\n var iterables = [this].concat(arrCopy(arguments));\n var zipped = zipWithFactory(this.toSeq(), IndexedSeq.of, iterables);\n var interleaved = zipped.flatten(true);\n if (zipped.size) {\n interleaved.size = zipped.size * iterables.length;\n }\n return reify(this, interleaved);\n },\n\n keySeq: function() {\n return Range(0, this.size);\n },\n\n last: function() {\n return this.get(-1);\n },\n\n skipWhile: function(predicate, context) {\n return reify(this, skipWhileFactory(this, predicate, context, false));\n },\n\n zip: function(/*, ...iterables */) {\n var iterables = [this].concat(arrCopy(arguments));\n return reify(this, zipWithFactory(this, defaultZipper, iterables));\n },\n\n zipWith: function(zipper/*, ...iterables */) {\n var iterables = arrCopy(arguments);\n iterables[0] = this;\n return reify(this, zipWithFactory(this, zipper, iterables));\n }\n\n });\n\n IndexedIterable.prototype[IS_INDEXED_SENTINEL] = true;\n IndexedIterable.prototype[IS_ORDERED_SENTINEL] = true;\n\n\n\n mixin(SetIterable, {\n\n // ### ES6 Collection methods (ES6 Array and Map)\n\n get: function(value, notSetValue) {\n return this.has(value) ? value : notSetValue;\n },\n\n includes: function(value) {\n return this.has(value);\n },\n\n\n // ### More sequential methods\n\n keySeq: function() {\n return this.valueSeq();\n }\n\n });\n\n SetIterable.prototype.has = IterablePrototype.includes;\n SetIterable.prototype.contains = SetIterable.prototype.includes;\n\n\n // Mixin subclasses\n\n mixin(KeyedSeq, KeyedIterable.prototype);\n mixin(IndexedSeq, IndexedIterable.prototype);\n mixin(SetSeq, SetIterable.prototype);\n\n mixin(KeyedCollection, KeyedIterable.prototype);\n mixin(IndexedCollection, IndexedIterable.prototype);\n mixin(SetCollection, SetIterable.prototype);\n\n\n // #pragma Helper functions\n\n function keyMapper(v, k) {\n return k;\n }\n\n function entryMapper(v, k) {\n return [k, v];\n }\n\n function not(predicate) {\n return function() {\n return !predicate.apply(this, arguments);\n }\n }\n\n function neg(predicate) {\n return function() {\n return -predicate.apply(this, arguments);\n }\n }\n\n function quoteString(value) {\n return typeof value === 'string' ? JSON.stringify(value) : String(value);\n }\n\n function defaultZipper() {\n return arrCopy(arguments);\n }\n\n function defaultNegComparator(a, b) {\n return a < b ? 1 : a > b ? -1 : 0;\n }\n\n function hashIterable(iterable) {\n if (iterable.size === Infinity) {\n return 0;\n }\n var ordered = isOrdered(iterable);\n var keyed = isKeyed(iterable);\n var h = ordered ? 1 : 0;\n var size = iterable.__iterate(\n keyed ?\n ordered ?\n function(v, k) { h = 31 * h + hashMerge(hash(v), hash(k)) | 0; } :\n function(v, k) { h = h + hashMerge(hash(v), hash(k)) | 0; } :\n ordered ?\n function(v ) { h = 31 * h + hash(v) | 0; } :\n function(v ) { h = h + hash(v) | 0; }\n );\n return murmurHashOfSize(size, h);\n }\n\n function murmurHashOfSize(size, h) {\n h = imul(h, 0xCC9E2D51);\n h = imul(h << 15 | h >>> -15, 0x1B873593);\n h = imul(h << 13 | h >>> -13, 5);\n h = (h + 0xE6546B64 | 0) ^ size;\n h = imul(h ^ h >>> 16, 0x85EBCA6B);\n h = imul(h ^ h >>> 13, 0xC2B2AE35);\n h = smi(h ^ h >>> 16);\n return h;\n }\n\n function hashMerge(a, b) {\n return a ^ b + 0x9E3779B9 + (a << 6) + (a >> 2) | 0; // int\n }\n\n var Immutable = {\n\n Iterable: Iterable,\n\n Seq: Seq,\n Collection: Collection,\n Map: Map,\n OrderedMap: OrderedMap,\n List: List,\n Stack: Stack,\n Set: Set,\n OrderedSet: OrderedSet,\n\n Record: Record,\n Range: Range,\n Repeat: Repeat,\n\n is: is,\n fromJS: fromJS\n\n };\n\n return Immutable;\n\n}));\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/immutable/dist/immutable.js\n// module id = 65\n// module chunks = 0","'use strict';\n// 21.2.5.3 get RegExp.prototype.flags\nvar anObject = require('./_an-object');\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_flags.js\n// module id = 66\n// module chunks = 0","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal');\nvar hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_object-gopn.js\n// module id = 67\n// module chunks = 0","// 7.2.8 IsRegExp(argument)\nvar isObject = require('./_is-object');\nvar cof = require('./_cof');\nvar MATCH = require('./_wks')('match');\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_is-regexp.js\n// module id = 68\n// module chunks = 0","/**\n * Prints a warning in the console if it exists.\n *\n * @param {String} message The warning message.\n * @returns {void}\n */\nexport default function warning(message) {\n /* eslint-disable no-console */\n if (typeof console !== 'undefined' && typeof console.error === 'function') {\n console.error(message);\n }\n /* eslint-enable no-console */\n try {\n // This error was thrown as a convenience so that if you enable\n // \"break on all exceptions\" in your console,\n // it would pause the execution at this line.\n throw new Error(message);\n /* eslint-disable no-empty */\n } catch (e) {}\n /* eslint-enable no-empty */\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/react-redux/es/utils/warning.js\n// module id = 69\n// module chunks = 0","import PropTypes from 'prop-types'\r\nimport React from 'react'\r\nimport $ from 'jquery'\r\n\r\n/**\r\n * Renders a message or error, with the option to self-clear itself\r\n *\r\n * @package Gravity PDF\r\n * @copyright Copyright (c) 2018, Blue Liquid Designs\r\n * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License\r\n * @since 4.1\r\n */\r\n\r\n/*\r\n This file is part of Gravity PDF.\r\n\r\n Gravity PDF – Copyright (C) 2018, Blue Liquid Designs\r\n\r\n This program is free software; you can redistribute it and/or modify\r\n it under the terms of the GNU General Public License as published by\r\n the Free Software Foundation; either version 2 of the License, or\r\n (at your option) any later version.\r\n\r\n This program is distributed in the hope that it will be useful,\r\n but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r\n GNU General Public License for more details.\r\n\r\n You should have received a copy of the GNU General Public License\r\n along with this program; if not, write to the Free Software\r\n Found\r\n */\r\n\r\n/**\r\n * React Component\r\n *\r\n * @since 4.1\r\n */\r\nclass showMessage extends React.Component {\r\n /**\r\n * Pass the \"dismissable\" prop to enable auto-clearing\r\n *\r\n * @returns {{delay: number, dismissable: boolean}}\r\n *\r\n * @since 4.1\r\n */\r\n static defaultProps = {\r\n delay: 4000,\r\n dismissable: false,\r\n }\r\n\r\n /**\r\n * @since 4.1\r\n */\r\n static propTypes = {\r\n text: PropTypes.string.isRequired,\r\n error: PropTypes.bool,\r\n\r\n delay: PropTypes.number,\r\n dismissable: PropTypes.bool,\r\n dismissableCallback: PropTypes.func,\r\n }\r\n\r\n /**\r\n * @returns {{visible: boolean}}\r\n *\r\n * @since 4.1\r\n */\r\n state = {\r\n visible: true\r\n }\r\n\r\n /**\r\n * Resets our state and timer when new props received\r\n *\r\n * @since 4.1\r\n */\r\n componentWillReceiveProps () {\r\n this.setState({visible: true})\r\n this.shouldSetTimer()\r\n }\r\n\r\n /**\r\n * On mount, maybe set dismissable timer\r\n *\r\n * @since 4.1\r\n */\r\n componentDidMount () {\r\n this.shouldSetTimer()\r\n }\r\n\r\n /**\r\n * Check if we should make the message auto-dismissable\r\n *\r\n * @since 4.1\r\n */\r\n shouldSetTimer = () => {\r\n if (this.props.dismissable) {\r\n this.setTimer()\r\n }\r\n }\r\n\r\n /**\r\n * Slide message up after \"X\" milliseconds (see props.delay)\r\n * and triggers callback if passed in (see props.dismissableCallback)\r\n *\r\n * Also clears the initial timeout if called multiple times before removal\r\n *\r\n * @since 4.1\r\n */\r\n setTimer = () => {\r\n // clear any existing timer\r\n this._timer != null ? clearTimeout(this._timer) : null\r\n\r\n // hide after `delay` milliseconds\r\n this._timer = setTimeout(() => {\r\n\r\n $(this._message)\r\n .removeClass('inline')\r\n .slideUp(400, () => {\r\n $(this._message).removeAttr('style')\r\n this.setState({visible: false})\r\n this._timer = null\r\n\r\n if (this.props.dismissableCallback) {\r\n this.props.dismissableCallback()\r\n }\r\n })\r\n\r\n }, this.props.delay)\r\n }\r\n\r\n /**\r\n * Clear timeout on unmount\r\n *\r\n * @since 4.1\r\n */\r\n componentWillUnmount () {\r\n if (this.props.dismissable) {\r\n clearTimeout(this._timer)\r\n }\r\n }\r\n\r\n /**\r\n * Renders our message or error\r\n *\r\n * @since 4.1\r\n */\r\n render () {\r\n const {text, error} = this.props\r\n\r\n let classes = 'notice inline'\r\n\r\n if (error) {\r\n classes = classes + ' error'\r\n }\r\n\r\n return this.state.visible ? (\r\n <div ref={(message) => this._message = message} className={classes}>\r\n <p>{text}</p>\r\n </div>\r\n ) : <div/>\r\n }\r\n}\r\n\r\nexport default showMessage\n\n\n// WEBPACK FOOTER //\n// ./src/assets/js/react/components/ShowMessage.js","'use strict';\nvar LIBRARY = require('./_library');\nvar global = require('./_global');\nvar ctx = require('./_ctx');\nvar classof = require('./_classof');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar aFunction = require('./_a-function');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar speciesConstructor = require('./_species-constructor');\nvar task = require('./_task').set;\nvar microtask = require('./_microtask')();\nvar newPromiseCapabilityModule = require('./_new-promise-capability');\nvar perform = require('./_perform');\nvar promiseResolve = require('./_promise-resolve');\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\nvar empty = function () { /* empty */ };\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\n\nvar USE_NATIVE = !!function () {\n try {\n // correct subclassing with @@species support\n var promise = $Promise.resolve(1);\n var FakePromise = (promise.constructor = {})[require('./_wks')('species')] = function (exec) {\n exec(empty, empty);\n };\n // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return (isNode || typeof PromiseRejectionEvent == 'function') && promise.then(empty) instanceof FakePromise;\n } catch (e) { /* empty */ }\n}();\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, isReject) {\n if (promise._n) return;\n promise._n = true;\n var chain = promise._c;\n microtask(function () {\n var value = promise._v;\n var ok = promise._s == 1;\n var i = 0;\n var run = function (reaction) {\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then;\n try {\n if (handler) {\n if (!ok) {\n if (promise._h == 2) onHandleUnhandled(promise);\n promise._h = 1;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value);\n if (domain) domain.exit();\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (e) {\n reject(e);\n }\n };\n while (chain.length > i) run(chain[i++]); // variable length - can't use forEach\n promise._c = [];\n promise._n = false;\n if (isReject && !promise._h) onUnhandled(promise);\n });\n};\nvar onUnhandled = function (promise) {\n task.call(global, function () {\n var value = promise._v;\n var unhandled = isUnhandled(promise);\n var result, handler, console;\n if (unhandled) {\n result = perform(function () {\n if (isNode) {\n process.emit('unhandledRejection', value, promise);\n } else if (handler = global.onunhandledrejection) {\n handler({ promise: promise, reason: value });\n } else if ((console = global.console) && console.error) {\n console.error('Unhandled promise rejection', value);\n }\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n } promise._a = undefined;\n if (unhandled && result.e) throw result.v;\n });\n};\nvar isUnhandled = function (promise) {\n if (promise._h == 1) return false;\n var chain = promise._a || promise._c;\n var i = 0;\n var reaction;\n while (chain.length > i) {\n reaction = chain[i++];\n if (reaction.fail || !isUnhandled(reaction.promise)) return false;\n } return true;\n};\nvar onHandleUnhandled = function (promise) {\n task.call(global, function () {\n var handler;\n if (isNode) {\n process.emit('rejectionHandled', promise);\n } else if (handler = global.onrejectionhandled) {\n handler({ promise: promise, reason: promise._v });\n }\n });\n};\nvar $reject = function (value) {\n var promise = this;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n promise._v = value;\n promise._s = 2;\n if (!promise._a) promise._a = promise._c.slice();\n notify(promise, true);\n};\nvar $resolve = function (value) {\n var promise = this;\n var then;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n if (then = isThenable(value)) {\n microtask(function () {\n var wrapper = { _w: promise, _d: false }; // wrap\n try {\n then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n } catch (e) {\n $reject.call(wrapper, e);\n }\n });\n } else {\n promise._v = value;\n promise._s = 1;\n notify(promise, false);\n }\n } catch (e) {\n $reject.call({ _w: promise, _d: false }, e); // wrap\n }\n};\n\n// constructor polyfill\nif (!USE_NATIVE) {\n // 25.4.3.1 Promise(executor)\n $Promise = function Promise(executor) {\n anInstance(this, $Promise, PROMISE, '_h');\n aFunction(executor);\n Internal.call(this);\n try {\n executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n } catch (err) {\n $reject.call(this, err);\n }\n };\n // eslint-disable-next-line no-unused-vars\n Internal = function Promise(executor) {\n this._c = []; // <- awaiting reactions\n this._a = undefined; // <- checked in isUnhandled reactions\n this._s = 0; // <- state\n this._d = false; // <- done\n this._v = undefined; // <- value\n this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n this._n = false; // <- notify\n };\n Internal.prototype = require('./_redefine-all')($Promise.prototype, {\n // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n then: function then(onFulfilled, onRejected) {\n var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = isNode ? process.domain : undefined;\n this._c.push(reaction);\n if (this._a) this._a.push(reaction);\n if (this._s) notify(this, false);\n return reaction.promise;\n },\n // 25.4.5.1 Promise.prototype.catch(onRejected)\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n this.promise = promise;\n this.resolve = ctx($resolve, promise, 1);\n this.reject = ctx($reject, promise, 1);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === $Promise || C === Wrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });\nrequire('./_set-to-string-tag')($Promise, PROMISE);\nrequire('./_set-species')(PROMISE);\nWrapper = require('./_core')[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n // 25.4.4.5 Promise.reject(r)\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n var $$reject = capability.reject;\n $$reject(r);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n // 25.4.4.6 Promise.resolve(x)\n resolve: function resolve(x) {\n return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n }\n});\n$export($export.S + $export.F * !(USE_NATIVE && require('./_iter-detect')(function (iter) {\n $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n // 25.4.4.1 Promise.all(iterable)\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var values = [];\n var index = 0;\n var remaining = 1;\n forOf(iterable, false, function (promise) {\n var $index = index++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n C.resolve(promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[$index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.e) reject(result.v);\n return capability.promise;\n },\n // 25.4.4.4 Promise.race(iterable)\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n forOf(iterable, false, function (promise) {\n C.resolve(promise).then(capability.resolve, reject);\n });\n });\n if (result.e) reject(result.v);\n return capability.promise;\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.promise.js\n// module id = 71\n// module chunks = 0","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_classof.js\n// module id = 72\n// module chunks = 0","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_ie8-dom-define.js\n// module id = 73\n// module chunks = 0","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_iter-call.js\n// module id = 74\n// module chunks = 0","// check on default Array iterator\nvar Iterators = require('./_iterators');\nvar ITERATOR = require('./_wks')('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_is-array-iter.js\n// module id = 75\n// module chunks = 0","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_to-integer.js\n// module id = 76\n// module chunks = 0","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/core.get-iterator-method.js\n// module id = 77\n// module chunks = 0","var ctx = require('./_ctx');\nvar invoke = require('./_invoke');\nvar html = require('./_html');\nvar cel = require('./_dom-create');\nvar global = require('./_global');\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function () {\n var id = +this;\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar listener = function (event) {\n run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!setTask || !clearTask) {\n setTask = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\n invoke(typeof fn == 'function' ? fn : Function(fn), args);\n };\n defer(counter);\n return counter;\n };\n clearTask = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (require('./_cof')(process) == 'process') {\n defer = function (id) {\n process.nextTick(ctx(run, id, 1));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(ctx(run, id, 1));\n };\n // Browsers with MessageChannel, includes WebWorkers\n } else if (MessageChannel) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = ctx(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n defer = function (id) {\n global.postMessage(id + '', '*');\n };\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in cel('script')) {\n defer = function (id) {\n html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run.call(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(ctx(run, id, 1), 0);\n };\n }\n}\nmodule.exports = {\n set: setTask,\n clear: clearTask\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_task.js\n// module id = 78\n// module chunks = 0","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_html.js\n// module id = 79\n// module chunks = 0","'use strict';\n// 25.4.1.5 NewPromiseCapability(C)\nvar aFunction = require('./_a-function');\n\nfunction PromiseCapability(C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n}\n\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_new-promise-capability.js\n// module id = 80\n// module chunks = 0","'use strict';\nvar global = require('./_global');\nvar dP = require('./_object-dp');\nvar DESCRIPTORS = require('./_descriptors');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (KEY) {\n var C = global[KEY];\n if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_set-species.js\n// module id = 81\n// module chunks = 0","var ITERATOR = require('./_wks')('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function () { SAFE_CLOSING = true; };\n // eslint-disable-next-line no-throw-literal\n Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () { return { done: safe = true }; };\n arr[ITERATOR] = function () { return iter; };\n exec(arr);\n } catch (e) { /* empty */ }\n return safe;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_iter-detect.js\n// module id = 82\n// module chunks = 0","module.exports = jQuery;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"jQuery\"\n// module id = 83\n// module chunks = 0","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.object.assign.js\n// module id = 84\n// module chunks = 0","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_object-keys-internal.js\n// module id = 85\n// module chunks = 0","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_array-includes.js\n// module id = 86\n// module chunks = 0","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/object-assign/index.js\n// module id = 87\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar emptyObject = {};\n\nif (process.env.NODE_ENV !== 'production') {\n Object.freeze(emptyObject);\n}\n\nmodule.exports = emptyObject;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/fbjs/lib/emptyObject.js\n// module id = 88\n// module chunks = 0","function isAbsolute(pathname) {\n return pathname.charAt(0) === '/';\n}\n\n// About 1.5x faster than the two-arg version of Array#splice()\nfunction spliceOne(list, index) {\n for (var i = index, k = i + 1, n = list.length; k < n; i += 1, k += 1) {\n list[i] = list[k];\n }\n\n list.pop();\n}\n\n// This implementation is based heavily on node's url.parse\nfunction resolvePathname(to) {\n var from = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n\n var toParts = to && to.split('/') || [];\n var fromParts = from && from.split('/') || [];\n\n var isToAbs = to && isAbsolute(to);\n var isFromAbs = from && isAbsolute(from);\n var mustEndAbs = isToAbs || isFromAbs;\n\n if (to && isAbsolute(to)) {\n // to is absolute\n fromParts = toParts;\n } else if (toParts.length) {\n // to is relative, drop the filename\n fromParts.pop();\n fromParts = fromParts.concat(toParts);\n }\n\n if (!fromParts.length) return '/';\n\n var hasTrailingSlash = void 0;\n if (fromParts.length) {\n var last = fromParts[fromParts.length - 1];\n hasTrailingSlash = last === '.' || last === '..' || last === '';\n } else {\n hasTrailingSlash = false;\n }\n\n var up = 0;\n for (var i = fromParts.length; i >= 0; i--) {\n var part = fromParts[i];\n\n if (part === '.') {\n spliceOne(fromParts, i);\n } else if (part === '..') {\n spliceOne(fromParts, i);\n up++;\n } else if (up) {\n spliceOne(fromParts, i);\n up--;\n }\n }\n\n if (!mustEndAbs) for (; up--; up) {\n fromParts.unshift('..');\n }if (mustEndAbs && fromParts[0] !== '' && (!fromParts[0] || !isAbsolute(fromParts[0]))) fromParts.unshift('');\n\n var result = fromParts.join('/');\n\n if (hasTrailingSlash && result.substr(-1) !== '/') result += '/';\n\n return result;\n}\n\nexport default resolvePathname;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/resolve-pathname/index.js\n// module id = 89\n// module chunks = 0","var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nfunction valueEqual(a, b) {\n if (a === b) return true;\n\n if (a == null || b == null) return false;\n\n if (Array.isArray(a)) {\n return Array.isArray(b) && a.length === b.length && a.every(function (item, index) {\n return valueEqual(item, b[index]);\n });\n }\n\n var aType = typeof a === 'undefined' ? 'undefined' : _typeof(a);\n var bType = typeof b === 'undefined' ? 'undefined' : _typeof(b);\n\n if (aType !== bType) return false;\n\n if (aType === 'object') {\n var aValue = a.valueOf();\n var bValue = b.valueOf();\n\n if (aValue !== a || bValue !== b) return valueEqual(aValue, bValue);\n\n var aKeys = Object.keys(a);\n var bKeys = Object.keys(b);\n\n if (aKeys.length !== bKeys.length) return false;\n\n return aKeys.every(function (key) {\n return valueEqual(a[key], b[key]);\n });\n }\n\n return false;\n}\n\nexport default valueEqual;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/value-equal/index.js\n// module id = 90\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\nvar canUseDOM = exports.canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\nvar addEventListener = exports.addEventListener = function addEventListener(node, event, listener) {\n return node.addEventListener ? node.addEventListener(event, listener, false) : node.attachEvent('on' + event, listener);\n};\n\nvar removeEventListener = exports.removeEventListener = function removeEventListener(node, event, listener) {\n return node.removeEventListener ? node.removeEventListener(event, listener, false) : node.detachEvent('on' + event, listener);\n};\n\nvar getConfirmation = exports.getConfirmation = function getConfirmation(message, callback) {\n return callback(window.confirm(message));\n}; // eslint-disable-line no-alert\n\n/**\n * Returns true if the HTML5 history API is supported. Taken from Modernizr.\n *\n * https://github.com/Modernizr/Modernizr/blob/master/LICENSE\n * https://github.com/Modernizr/Modernizr/blob/master/feature-detects/history.js\n * changed to avoid false negatives for Windows Phones: https://github.com/reactjs/react-router/issues/586\n */\nvar supportsHistory = exports.supportsHistory = function supportsHistory() {\n var ua = window.navigator.userAgent;\n\n if ((ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) && ua.indexOf('Mobile Safari') !== -1 && ua.indexOf('Chrome') === -1 && ua.indexOf('Windows Phone') === -1) return false;\n\n return window.history && 'pushState' in window.history;\n};\n\n/**\n * Returns true if browser fires popstate on hash change.\n * IE10 and IE11 do not.\n */\nvar supportsPopStateOnHashChange = exports.supportsPopStateOnHashChange = function supportsPopStateOnHashChange() {\n return window.navigator.userAgent.indexOf('Trident') === -1;\n};\n\n/**\n * Returns false if using go(n) with hash history causes a full page reload.\n */\nvar supportsGoWithoutReloadUsingHash = exports.supportsGoWithoutReloadUsingHash = function supportsGoWithoutReloadUsingHash() {\n return window.navigator.userAgent.indexOf('Firefox') === -1;\n};\n\n/**\n * Returns true if a given popstate event is an extraneous WebKit event.\n * Accounts for the fact that Chrome on iOS fires real popstate events\n * containing undefined state when pressing the back button.\n */\nvar isExtraneousPopstateEvent = exports.isExtraneousPopstateEvent = function isExtraneousPopstateEvent(event) {\n return event.state === undefined && navigator.userAgent.indexOf('CriOS') === -1;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/history/DOMUtils.js\n// module id = 91\n// module chunks = 0","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport invariant from 'invariant';\n\nvar isModifiedEvent = function isModifiedEvent(event) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n};\n\n/**\n * The public API for rendering a history-aware <a>.\n */\n\nvar Link = function (_React$Component) {\n _inherits(Link, _React$Component);\n\n function Link() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Link);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.handleClick = function (event) {\n if (_this.props.onClick) _this.props.onClick(event);\n\n if (!event.defaultPrevented && // onClick prevented default\n event.button === 0 && // ignore right clicks\n !_this.props.target && // let browser handle \"target=_blank\" etc.\n !isModifiedEvent(event) // ignore clicks with modifier keys\n ) {\n event.preventDefault();\n\n var history = _this.context.router.history;\n var _this$props = _this.props,\n replace = _this$props.replace,\n to = _this$props.to;\n\n\n if (replace) {\n history.replace(to);\n } else {\n history.push(to);\n }\n }\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Link.prototype.render = function render() {\n var _props = this.props,\n replace = _props.replace,\n to = _props.to,\n innerRef = _props.innerRef,\n props = _objectWithoutProperties(_props, ['replace', 'to', 'innerRef']); // eslint-disable-line no-unused-vars\n\n invariant(this.context.router, 'You should not use <Link> outside a <Router>');\n\n var href = this.context.router.history.createHref(typeof to === 'string' ? { pathname: to } : to);\n\n return React.createElement('a', _extends({}, props, { onClick: this.handleClick, href: href, ref: innerRef }));\n };\n\n return Link;\n}(React.Component);\n\nLink.propTypes = {\n onClick: PropTypes.func,\n target: PropTypes.string,\n replace: PropTypes.bool,\n to: PropTypes.oneOfType([PropTypes.string, PropTypes.object]).isRequired,\n innerRef: PropTypes.oneOfType([PropTypes.string, PropTypes.func])\n};\nLink.defaultProps = {\n replace: false\n};\nLink.contextTypes = {\n router: PropTypes.shape({\n history: PropTypes.shape({\n push: PropTypes.func.isRequired,\n replace: PropTypes.func.isRequired,\n createHref: PropTypes.func.isRequired\n }).isRequired\n }).isRequired\n};\n\n\nexport default Link;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/react-router-dom/es/Link.js\n// module id = 92\n// module chunks = 0","// Written in this round about way for babel-transform-imports\nimport Route from 'react-router/es/Route';\n\nexport default Route;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/react-router-dom/es/Route.js\n// module id = 93\n// module chunks = 0","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nimport warning from 'warning';\nimport invariant from 'invariant';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport matchPath from './matchPath';\n\nvar isEmptyChildren = function isEmptyChildren(children) {\n return React.Children.count(children) === 0;\n};\n\n/**\n * The public API for matching a single path and rendering.\n */\n\nvar Route = function (_React$Component) {\n _inherits(Route, _React$Component);\n\n function Route() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Route);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.state = {\n match: _this.computeMatch(_this.props, _this.context.router)\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Route.prototype.getChildContext = function getChildContext() {\n return {\n router: _extends({}, this.context.router, {\n route: {\n location: this.props.location || this.context.router.route.location,\n match: this.state.match\n }\n })\n };\n };\n\n Route.prototype.computeMatch = function computeMatch(_ref, router) {\n var computedMatch = _ref.computedMatch,\n location = _ref.location,\n path = _ref.path,\n strict = _ref.strict,\n exact = _ref.exact,\n sensitive = _ref.sensitive;\n\n if (computedMatch) return computedMatch; // <Switch> already computed the match for us\n\n invariant(router, 'You should not use <Route> or withRouter() outside a <Router>');\n\n var route = router.route;\n\n var pathname = (location || route.location).pathname;\n\n return path ? matchPath(pathname, { path: path, strict: strict, exact: exact, sensitive: sensitive }) : route.match;\n };\n\n Route.prototype.componentWillMount = function componentWillMount() {\n warning(!(this.props.component && this.props.render), 'You should not use <Route component> and <Route render> in the same route; <Route render> will be ignored');\n\n warning(!(this.props.component && this.props.children && !isEmptyChildren(this.props.children)), 'You should not use <Route component> and <Route children> in the same route; <Route children> will be ignored');\n\n warning(!(this.props.render && this.props.children && !isEmptyChildren(this.props.children)), 'You should not use <Route render> and <Route children> in the same route; <Route children> will be ignored');\n };\n\n Route.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps, nextContext) {\n warning(!(nextProps.location && !this.props.location), '<Route> elements should not change from uncontrolled to controlled (or vice versa). You initially used no \"location\" prop and then provided one on a subsequent render.');\n\n warning(!(!nextProps.location && this.props.location), '<Route> elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.');\n\n this.setState({\n match: this.computeMatch(nextProps, nextContext.router)\n });\n };\n\n Route.prototype.render = function render() {\n var match = this.state.match;\n var _props = this.props,\n children = _props.children,\n component = _props.component,\n render = _props.render;\n var _context$router = this.context.router,\n history = _context$router.history,\n route = _context$router.route,\n staticContext = _context$router.staticContext;\n\n var location = this.props.location || route.location;\n var props = { match: match, location: location, history: history, staticContext: staticContext };\n\n return component ? // component prop gets first priority, only called if there's a match\n match ? React.createElement(component, props) : null : render ? // render prop is next, only called if there's a match\n match ? render(props) : null : children ? // children come last, always called\n typeof children === 'function' ? children(props) : !isEmptyChildren(children) ? React.Children.only(children) : null : null;\n };\n\n return Route;\n}(React.Component);\n\nRoute.propTypes = {\n computedMatch: PropTypes.object, // private, from <Switch>\n path: PropTypes.string,\n exact: PropTypes.bool,\n strict: PropTypes.bool,\n sensitive: PropTypes.bool,\n component: PropTypes.func,\n render: PropTypes.func,\n children: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n location: PropTypes.object\n};\nRoute.contextTypes = {\n router: PropTypes.shape({\n history: PropTypes.object.isRequired,\n route: PropTypes.object.isRequired,\n staticContext: PropTypes.object\n })\n};\nRoute.childContextTypes = {\n router: PropTypes.object.isRequired\n};\n\n\nexport default Route;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/react-router/es/Route.js\n// module id = 94\n// module chunks = 0","export var canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\nexport var addEventListener = function addEventListener(node, event, listener) {\n return node.addEventListener ? node.addEventListener(event, listener, false) : node.attachEvent('on' + event, listener);\n};\n\nexport var removeEventListener = function removeEventListener(node, event, listener) {\n return node.removeEventListener ? node.removeEventListener(event, listener, false) : node.detachEvent('on' + event, listener);\n};\n\nexport var getConfirmation = function getConfirmation(message, callback) {\n return callback(window.confirm(message));\n}; // eslint-disable-line no-alert\n\n/**\n * Returns true if the HTML5 history API is supported. Taken from Modernizr.\n *\n * https://github.com/Modernizr/Modernizr/blob/master/LICENSE\n * https://github.com/Modernizr/Modernizr/blob/master/feature-detects/history.js\n * changed to avoid false negatives for Windows Phones: https://github.com/reactjs/react-router/issues/586\n */\nexport var supportsHistory = function supportsHistory() {\n var ua = window.navigator.userAgent;\n\n if ((ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) && ua.indexOf('Mobile Safari') !== -1 && ua.indexOf('Chrome') === -1 && ua.indexOf('Windows Phone') === -1) return false;\n\n return window.history && 'pushState' in window.history;\n};\n\n/**\n * Returns true if browser fires popstate on hash change.\n * IE10 and IE11 do not.\n */\nexport var supportsPopStateOnHashChange = function supportsPopStateOnHashChange() {\n return window.navigator.userAgent.indexOf('Trident') === -1;\n};\n\n/**\n * Returns false if using go(n) with hash history causes a full page reload.\n */\nexport var supportsGoWithoutReloadUsingHash = function supportsGoWithoutReloadUsingHash() {\n return window.navigator.userAgent.indexOf('Firefox') === -1;\n};\n\n/**\n * Returns true if a given popstate event is an extraneous WebKit event.\n * Accounts for the fact that Chrome on iOS fires real popstate events\n * containing undefined state when pressing the back button.\n */\nexport var isExtraneousPopstateEvent = function isExtraneousPopstateEvent(event) {\n return event.state === undefined && navigator.userAgent.indexOf('CriOS') === -1;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/history/es/DOMUtils.js\n// module id = 95\n// module chunks = 0","/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\n'use strict';\n\nvar REACT_STATICS = {\n childContextTypes: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\n\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = getPrototypeOf && getPrototypeOf(Object);\n\nmodule.exports = function hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') { // don't hoist over string (html) components\n\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n if (!REACT_STATICS[key] && !KNOWN_STATICS[key] && (!blacklist || !blacklist[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n try { // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n\n return targetComponent;\n }\n\n return targetComponent;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/hoist-non-react-statics/index.js\n// module id = 96\n// module chunks = 0","/**\n * Check if `obj` is an object.\n *\n * @param {Object} obj\n * @return {Boolean}\n * @api private\n */\n\nfunction isObject(obj) {\n return null !== obj && 'object' === typeof obj;\n}\n\nmodule.exports = isObject;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/superagent/lib/is-object.js\n// module id = 97\n// module chunks = 0","import React from 'react'\r\n\r\nimport { createStore, combineReducers } from 'redux'\r\nimport templateReducer from '../reducers/templateReducer'\r\nimport coreFontsReducer from '../reducers/coreFontReducer'\r\n\r\n/**\r\n * @package Gravity PDF\r\n * @copyright Copyright (c) 2018, Blue Liquid Designs\r\n * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License\r\n * @since 5.0\r\n */\r\n\r\n/*\r\n This file is part of Gravity PDF.\r\n\r\n Gravity PDF – Copyright (C) 2018, Blue Liquid Designs\r\n\r\n This program is free software; you can redistribute it and/or modify\r\n it under the terms of the GNU General Public License as published by\r\n the Free Software Foundation; either version 2 of the License, or\r\n (at your option) any later version.\r\n\r\n This program is distributed in the hope that it will be useful,\r\n but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r\n GNU General Public License for more details.\r\n\r\n You should have received a copy of the GNU General Public License\r\n along with this program; if not, write to the Free Software\r\n Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\r\n */\r\n\r\n/* Combine our Redux Reducers */\r\nconst reducers = setupReducers()\r\n\r\n/* Create our store and enable the Redux dev tools, if they exist */\r\nconst store = createStore(reducers, window.devToolsExtension && window.devToolsExtension())\r\n\r\nexport function getStore () {\r\n return store\r\n}\r\n\r\n/**\r\n * Combine our Redux reducers for use in a single store\r\n * If you want to add new top-level keys to our store, this is the place\r\n *\r\n * @returns {Function}\r\n *\r\n * @since 4.1\r\n */\r\nexport function setupReducers () {\r\n return combineReducers({\r\n template: templateReducer,\r\n coreFonts: coreFontsReducer,\r\n })\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/assets/js/react/store/index.js","import isPlainObject from 'lodash-es/isPlainObject';\nimport $$observable from 'symbol-observable';\n\n/**\n * These are private action types reserved by Redux.\n * For any unknown actions, you must return the current state.\n * If the current state is undefined, you must return the initial state.\n * Do not reference these action types directly in your code.\n */\nexport var ActionTypes = {\n INIT: '@@redux/INIT'\n\n /**\n * Creates a Redux store that holds the state tree.\n * The only way to change the data in the store is to call `dispatch()` on it.\n *\n * There should only be a single store in your app. To specify how different\n * parts of the state tree respond to actions, you may combine several reducers\n * into a single reducer function by using `combineReducers`.\n *\n * @param {Function} reducer A function that returns the next state tree, given\n * the current state tree and the action to handle.\n *\n * @param {any} [preloadedState] The initial state. You may optionally specify it\n * to hydrate the state from the server in universal apps, or to restore a\n * previously serialized user session.\n * If you use `combineReducers` to produce the root reducer function, this must be\n * an object with the same shape as `combineReducers` keys.\n *\n * @param {Function} [enhancer] The store enhancer. You may optionally specify it\n * to enhance the store with third-party capabilities such as middleware,\n * time travel, persistence, etc. The only store enhancer that ships with Redux\n * is `applyMiddleware()`.\n *\n * @returns {Store} A Redux store that lets you read the state, dispatch actions\n * and subscribe to changes.\n */\n};export default function createStore(reducer, preloadedState, enhancer) {\n var _ref2;\n\n if (typeof preloadedState === 'function' && typeof enhancer === 'undefined') {\n enhancer = preloadedState;\n preloadedState = undefined;\n }\n\n if (typeof enhancer !== 'undefined') {\n if (typeof enhancer !== 'function') {\n throw new Error('Expected the enhancer to be a function.');\n }\n\n return enhancer(createStore)(reducer, preloadedState);\n }\n\n if (typeof reducer !== 'function') {\n throw new Error('Expected the reducer to be a function.');\n }\n\n var currentReducer = reducer;\n var currentState = preloadedState;\n var currentListeners = [];\n var nextListeners = currentListeners;\n var isDispatching = false;\n\n function ensureCanMutateNextListeners() {\n if (nextListeners === currentListeners) {\n nextListeners = currentListeners.slice();\n }\n }\n\n /**\n * Reads the state tree managed by the store.\n *\n * @returns {any} The current state tree of your application.\n */\n function getState() {\n return currentState;\n }\n\n /**\n * Adds a change listener. It will be called any time an action is dispatched,\n * and some part of the state tree may potentially have changed. You may then\n * call `getState()` to read the current state tree inside the callback.\n *\n * You may call `dispatch()` from a change listener, with the following\n * caveats:\n *\n * 1. The subscriptions are snapshotted just before every `dispatch()` call.\n * If you subscribe or unsubscribe while the listeners are being invoked, this\n * will not have any effect on the `dispatch()` that is currently in progress.\n * However, the next `dispatch()` call, whether nested or not, will use a more\n * recent snapshot of the subscription list.\n *\n * 2. The listener should not expect to see all state changes, as the state\n * might have been updated multiple times during a nested `dispatch()` before\n * the listener is called. It is, however, guaranteed that all subscribers\n * registered before the `dispatch()` started will be called with the latest\n * state by the time it exits.\n *\n * @param {Function} listener A callback to be invoked on every dispatch.\n * @returns {Function} A function to remove this change listener.\n */\n function subscribe(listener) {\n if (typeof listener !== 'function') {\n throw new Error('Expected listener to be a function.');\n }\n\n var isSubscribed = true;\n\n ensureCanMutateNextListeners();\n nextListeners.push(listener);\n\n return function unsubscribe() {\n if (!isSubscribed) {\n return;\n }\n\n isSubscribed = false;\n\n ensureCanMutateNextListeners();\n var index = nextListeners.indexOf(listener);\n nextListeners.splice(index, 1);\n };\n }\n\n /**\n * Dispatches an action. It is the only way to trigger a state change.\n *\n * The `reducer` function, used to create the store, will be called with the\n * current state tree and the given `action`. Its return value will\n * be considered the **next** state of the tree, and the change listeners\n * will be notified.\n *\n * The base implementation only supports plain object actions. If you want to\n * dispatch a Promise, an Observable, a thunk, or something else, you need to\n * wrap your store creating function into the corresponding middleware. For\n * example, see the documentation for the `redux-thunk` package. Even the\n * middleware will eventually dispatch plain object actions using this method.\n *\n * @param {Object} action A plain object representing “what changed”. It is\n * a good idea to keep actions serializable so you can record and replay user\n * sessions, or use the time travelling `redux-devtools`. An action must have\n * a `type` property which may not be `undefined`. It is a good idea to use\n * string constants for action types.\n *\n * @returns {Object} For convenience, the same action object you dispatched.\n *\n * Note that, if you use a custom middleware, it may wrap `dispatch()` to\n * return something else (for example, a Promise you can await).\n */\n function dispatch(action) {\n if (!isPlainObject(action)) {\n throw new Error('Actions must be plain objects. ' + 'Use custom middleware for async actions.');\n }\n\n if (typeof action.type === 'undefined') {\n throw new Error('Actions may not have an undefined \"type\" property. ' + 'Have you misspelled a constant?');\n }\n\n if (isDispatching) {\n throw new Error('Reducers may not dispatch actions.');\n }\n\n try {\n isDispatching = true;\n currentState = currentReducer(currentState, action);\n } finally {\n isDispatching = false;\n }\n\n var listeners = currentListeners = nextListeners;\n for (var i = 0; i < listeners.length; i++) {\n var listener = listeners[i];\n listener();\n }\n\n return action;\n }\n\n /**\n * Replaces the reducer currently used by the store to calculate the state.\n *\n * You might need this if your app implements code splitting and you want to\n * load some of the reducers dynamically. You might also need this if you\n * implement a hot reloading mechanism for Redux.\n *\n * @param {Function} nextReducer The reducer for the store to use instead.\n * @returns {void}\n */\n function replaceReducer(nextReducer) {\n if (typeof nextReducer !== 'function') {\n throw new Error('Expected the nextReducer to be a function.');\n }\n\n currentReducer = nextReducer;\n dispatch({ type: ActionTypes.INIT });\n }\n\n /**\n * Interoperability point for observable/reactive libraries.\n * @returns {observable} A minimal observable of state changes.\n * For more information, see the observable proposal:\n * https://github.com/tc39/proposal-observable\n */\n function observable() {\n var _ref;\n\n var outerSubscribe = subscribe;\n return _ref = {\n /**\n * The minimal observable subscription method.\n * @param {Object} observer Any object that can be used as an observer.\n * The observer object should have a `next` method.\n * @returns {subscription} An object with an `unsubscribe` method that can\n * be used to unsubscribe the observable from the store, and prevent further\n * emission of values from the observable.\n */\n subscribe: function subscribe(observer) {\n if (typeof observer !== 'object') {\n throw new TypeError('Expected the observer to be an object.');\n }\n\n function observeState() {\n if (observer.next) {\n observer.next(getState());\n }\n }\n\n observeState();\n var unsubscribe = outerSubscribe(observeState);\n return { unsubscribe: unsubscribe };\n }\n }, _ref[$$observable] = function () {\n return this;\n }, _ref;\n }\n\n // When a store is created, an \"INIT\" action is dispatched so that every\n // reducer returns their initial state. This effectively populates\n // the initial state tree.\n dispatch({ type: ActionTypes.INIT });\n\n return _ref2 = {\n dispatch: dispatch,\n subscribe: subscribe,\n getState: getState,\n replaceReducer: replaceReducer\n }, _ref2[$$observable] = observable, _ref2;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/redux/es/createStore.js\n// module id = 100\n// module chunks = 0","import root from './_root.js';\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nexport default Symbol;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash-es/_Symbol.js\n// module id = 101\n// module chunks = 0","/**\n * Composes single-argument functions from right to left. The rightmost\n * function can take multiple arguments as it provides the signature for\n * the resulting composite function.\n *\n * @param {...Function} funcs The functions to compose.\n * @returns {Function} A function obtained by composing the argument functions\n * from right to left. For example, compose(f, g, h) is identical to doing\n * (...args) => f(g(h(...args))).\n */\n\nexport default function compose() {\n for (var _len = arguments.length, funcs = Array(_len), _key = 0; _key < _len; _key++) {\n funcs[_key] = arguments[_key];\n }\n\n if (funcs.length === 0) {\n return function (arg) {\n return arg;\n };\n }\n\n if (funcs.length === 1) {\n return funcs[0];\n }\n\n return funcs.reduce(function (a, b) {\n return function () {\n return a(b.apply(undefined, arguments));\n };\n });\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/redux/es/compose.js\n// module id = 103\n// module chunks = 0","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_object-create.js\n// module id = 104\n// module chunks = 0","/**\r\n * Our Redux Action Type Constants\r\n *\r\n * @package Gravity PDF\r\n * @copyright Copyright (c) 2018, Blue Liquid Designs\r\n * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License\r\n * @since 4.1\r\n */\r\n\r\n/*\r\n This file is part of Gravity PDF.\r\n\r\n Gravity PDF – Copyright (C) 2018, Blue Liquid Designs\r\n\r\n This program is free software; you can redistribute it and/or modify\r\n it under the terms of the GNU General Public License as published by\r\n the Free Software Foundation; either version 2 of the License, or\r\n (at your option) any later version.\r\n\r\n This program is distributed in the hope that it will be useful,\r\n but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r\n GNU General Public License for more details.\r\n\r\n You should have received a copy of the GNU General Public License\r\n along with this program; if not, write to the Free Software\r\n Found\r\n */\r\n\r\nexport const SEARCH_TEMPLATES = 'SEARCH_TEMPLATES'\r\nexport const SELECT_TEMPLATE = 'SELECT_TEMPLATE'\r\nexport const ADD_TEMPLATE = 'ADD_TEMPLATE'\r\nexport const UPDATE_TEMPLATE = 'UPDATE_TEMPLATE'\r\nexport const UPDATE_TEMPLATE_PARAM = 'UPDATE_TEMPLATE_PARAM'\r\nexport const DELETE_TEMPLATE = 'DELETE_TEMPLATE'\n\n\n// WEBPACK FOOTER //\n// ./src/assets/js/react/actionTypes/templates.js","'use strict';\nrequire('./es6.regexp.flags');\nvar anObject = require('./_an-object');\nvar $flags = require('./_flags');\nvar DESCRIPTORS = require('./_descriptors');\nvar TO_STRING = 'toString';\nvar $toString = /./[TO_STRING];\n\nvar define = function (fn) {\n require('./_redefine')(RegExp.prototype, TO_STRING, fn, true);\n};\n\n// 21.2.5.14 RegExp.prototype.toString()\nif (require('./_fails')(function () { return $toString.call({ source: 'a', flags: 'b' }) != '/a/b'; })) {\n define(function toString() {\n var R = anObject(this);\n return '/'.concat(R.source, '/',\n 'flags' in R ? R.flags : !DESCRIPTORS && R instanceof RegExp ? $flags.call(R) : undefined);\n });\n// FF44- RegExp#toString has a wrong name\n} else if ($toString.name != TO_STRING) {\n define(function toString() {\n return $toString.call(this);\n });\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.regexp.to-string.js\n// module id = 106\n// module chunks = 0","var global = require('./_global');\nvar core = require('./_core');\nvar LIBRARY = require('./_library');\nvar wksExt = require('./_wks-ext');\nvar defineProperty = require('./_object-dp').f;\nmodule.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_wks-define.js\n// module id = 107\n// module chunks = 0","exports.f = require('./_wks');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_wks-ext.js\n// module id = 108\n// module chunks = 0","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_is-array.js\n// module id = 109\n// module chunks = 0","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_object-gopd.js\n// module id = 110\n// module chunks = 0","/**\r\n * Our Redux Action Type Constants\r\n *\r\n * @package Gravity PDF\r\n * @copyright Copyright (c) 2018, Blue Liquid Designs\r\n * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License\r\n * @since 5.0\r\n */\r\n\r\n/*\r\n This file is part of Gravity PDF.\r\n\r\n Gravity PDF – Copyright (C) 2018, Blue Liquid Designs\r\n\r\n This program is free software; you can redistribute it and/or modify\r\n it under the terms of the GNU General Public License as published by\r\n the Free Software Foundation; either version 2 of the License, or\r\n (at your option) any later version.\r\n\r\n This program is distributed in the hope that it will be useful,\r\n but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r\n GNU General Public License for more details.\r\n\r\n You should have received a copy of the GNU General Public License\r\n along with this program; if not, write to the Free Software\r\n Found\r\n */\r\n\r\nexport const ADD_TO_CONSOLE = 'ADD_TO_CONSOLE'\r\nexport const CLEAR_CONSOLE = 'CLEAR_CONSOLE'\r\nexport const ADD_TO_RETRY_LIST = 'ADD_TO_RETRY_LIST'\r\nexport const CLEAR_RETRY_LIST = 'CLEAR_RETRY_LIST'\n\n\n// WEBPACK FOOTER //\n// ./src/assets/js/react/actionTypes/coreFonts.js","import PropTypes from 'prop-types';\n\nexport var subscriptionShape = PropTypes.shape({\n trySubscribe: PropTypes.func.isRequired,\n tryUnsubscribe: PropTypes.func.isRequired,\n notifyNestedSubs: PropTypes.func.isRequired,\n isSubscribed: PropTypes.func.isRequired\n});\n\nexport var storeShape = PropTypes.shape({\n subscribe: PropTypes.func.isRequired,\n dispatch: PropTypes.func.isRequired,\n getState: PropTypes.func.isRequired\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/react-redux/es/utils/PropTypes.js\n// module id = 112\n// module chunks = 0","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nimport hoistStatics from 'hoist-non-react-statics';\nimport invariant from 'invariant';\nimport { Component, createElement } from 'react';\n\nimport Subscription from '../utils/Subscription';\nimport { storeShape, subscriptionShape } from '../utils/PropTypes';\n\nvar hotReloadingVersion = 0;\nvar dummyState = {};\nfunction noop() {}\nfunction makeSelectorStateful(sourceSelector, store) {\n // wrap the selector in an object that tracks its results between runs.\n var selector = {\n run: function runComponentSelector(props) {\n try {\n var nextProps = sourceSelector(store.getState(), props);\n if (nextProps !== selector.props || selector.error) {\n selector.shouldComponentUpdate = true;\n selector.props = nextProps;\n selector.error = null;\n }\n } catch (error) {\n selector.shouldComponentUpdate = true;\n selector.error = error;\n }\n }\n };\n\n return selector;\n}\n\nexport default function connectAdvanced(\n/*\n selectorFactory is a func that is responsible for returning the selector function used to\n compute new props from state, props, and dispatch. For example:\n export default connectAdvanced((dispatch, options) => (state, props) => ({\n thing: state.things[props.thingId],\n saveThing: fields => dispatch(actionCreators.saveThing(props.thingId, fields)),\n }))(YourComponent)\n Access to dispatch is provided to the factory so selectorFactories can bind actionCreators\n outside of their selector as an optimization. Options passed to connectAdvanced are passed to\n the selectorFactory, along with displayName and WrappedComponent, as the second argument.\n Note that selectorFactory is responsible for all caching/memoization of inbound and outbound\n props. Do not use connectAdvanced directly without memoizing results between calls to your\n selector, otherwise the Connect component will re-render on every state or props change.\n*/\nselectorFactory) {\n var _contextTypes, _childContextTypes;\n\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref$getDisplayName = _ref.getDisplayName,\n getDisplayName = _ref$getDisplayName === undefined ? function (name) {\n return 'ConnectAdvanced(' + name + ')';\n } : _ref$getDisplayName,\n _ref$methodName = _ref.methodName,\n methodName = _ref$methodName === undefined ? 'connectAdvanced' : _ref$methodName,\n _ref$renderCountProp = _ref.renderCountProp,\n renderCountProp = _ref$renderCountProp === undefined ? undefined : _ref$renderCountProp,\n _ref$shouldHandleStat = _ref.shouldHandleStateChanges,\n shouldHandleStateChanges = _ref$shouldHandleStat === undefined ? true : _ref$shouldHandleStat,\n _ref$storeKey = _ref.storeKey,\n storeKey = _ref$storeKey === undefined ? 'store' : _ref$storeKey,\n _ref$withRef = _ref.withRef,\n withRef = _ref$withRef === undefined ? false : _ref$withRef,\n connectOptions = _objectWithoutProperties(_ref, ['getDisplayName', 'methodName', 'renderCountProp', 'shouldHandleStateChanges', 'storeKey', 'withRef']);\n\n var subscriptionKey = storeKey + 'Subscription';\n var version = hotReloadingVersion++;\n\n var contextTypes = (_contextTypes = {}, _contextTypes[storeKey] = storeShape, _contextTypes[subscriptionKey] = subscriptionShape, _contextTypes);\n var childContextTypes = (_childContextTypes = {}, _childContextTypes[subscriptionKey] = subscriptionShape, _childContextTypes);\n\n return function wrapWithConnect(WrappedComponent) {\n invariant(typeof WrappedComponent == 'function', 'You must pass a component to the function returned by ' + ('connect. Instead received ' + JSON.stringify(WrappedComponent)));\n\n var wrappedComponentName = WrappedComponent.displayName || WrappedComponent.name || 'Component';\n\n var displayName = getDisplayName(wrappedComponentName);\n\n var selectorFactoryOptions = _extends({}, connectOptions, {\n getDisplayName: getDisplayName,\n methodName: methodName,\n renderCountProp: renderCountProp,\n shouldHandleStateChanges: shouldHandleStateChanges,\n storeKey: storeKey,\n withRef: withRef,\n displayName: displayName,\n wrappedComponentName: wrappedComponentName,\n WrappedComponent: WrappedComponent\n });\n\n var Connect = function (_Component) {\n _inherits(Connect, _Component);\n\n function Connect(props, context) {\n _classCallCheck(this, Connect);\n\n var _this = _possibleConstructorReturn(this, _Component.call(this, props, context));\n\n _this.version = version;\n _this.state = {};\n _this.renderCount = 0;\n _this.store = props[storeKey] || context[storeKey];\n _this.propsMode = Boolean(props[storeKey]);\n _this.setWrappedInstance = _this.setWrappedInstance.bind(_this);\n\n invariant(_this.store, 'Could not find \"' + storeKey + '\" in either the context or props of ' + ('\"' + displayName + '\". Either wrap the root component in a <Provider>, ') + ('or explicitly pass \"' + storeKey + '\" as a prop to \"' + displayName + '\".'));\n\n _this.initSelector();\n _this.initSubscription();\n return _this;\n }\n\n Connect.prototype.getChildContext = function getChildContext() {\n var _ref2;\n\n // If this component received store from props, its subscription should be transparent\n // to any descendants receiving store+subscription from context; it passes along\n // subscription passed to it. Otherwise, it shadows the parent subscription, which allows\n // Connect to control ordering of notifications to flow top-down.\n var subscription = this.propsMode ? null : this.subscription;\n return _ref2 = {}, _ref2[subscriptionKey] = subscription || this.context[subscriptionKey], _ref2;\n };\n\n Connect.prototype.componentDidMount = function componentDidMount() {\n if (!shouldHandleStateChanges) return;\n\n // componentWillMount fires during server side rendering, but componentDidMount and\n // componentWillUnmount do not. Because of this, trySubscribe happens during ...didMount.\n // Otherwise, unsubscription would never take place during SSR, causing a memory leak.\n // To handle the case where a child component may have triggered a state change by\n // dispatching an action in its componentWillMount, we have to re-run the select and maybe\n // re-render.\n this.subscription.trySubscribe();\n this.selector.run(this.props);\n if (this.selector.shouldComponentUpdate) this.forceUpdate();\n };\n\n Connect.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n this.selector.run(nextProps);\n };\n\n Connect.prototype.shouldComponentUpdate = function shouldComponentUpdate() {\n return this.selector.shouldComponentUpdate;\n };\n\n Connect.prototype.componentWillUnmount = function componentWillUnmount() {\n if (this.subscription) this.subscription.tryUnsubscribe();\n this.subscription = null;\n this.notifyNestedSubs = noop;\n this.store = null;\n this.selector.run = noop;\n this.selector.shouldComponentUpdate = false;\n };\n\n Connect.prototype.getWrappedInstance = function getWrappedInstance() {\n invariant(withRef, 'To access the wrapped instance, you need to specify ' + ('{ withRef: true } in the options argument of the ' + methodName + '() call.'));\n return this.wrappedInstance;\n };\n\n Connect.prototype.setWrappedInstance = function setWrappedInstance(ref) {\n this.wrappedInstance = ref;\n };\n\n Connect.prototype.initSelector = function initSelector() {\n var sourceSelector = selectorFactory(this.store.dispatch, selectorFactoryOptions);\n this.selector = makeSelectorStateful(sourceSelector, this.store);\n this.selector.run(this.props);\n };\n\n Connect.prototype.initSubscription = function initSubscription() {\n if (!shouldHandleStateChanges) return;\n\n // parentSub's source should match where store came from: props vs. context. A component\n // connected to the store via props shouldn't use subscription from context, or vice versa.\n var parentSub = (this.propsMode ? this.props : this.context)[subscriptionKey];\n this.subscription = new Subscription(this.store, parentSub, this.onStateChange.bind(this));\n\n // `notifyNestedSubs` is duplicated to handle the case where the component is unmounted in\n // the middle of the notification loop, where `this.subscription` will then be null. An\n // extra null check every change can be avoided by copying the method onto `this` and then\n // replacing it with a no-op on unmount. This can probably be avoided if Subscription's\n // listeners logic is changed to not call listeners that have been unsubscribed in the\n // middle of the notification loop.\n this.notifyNestedSubs = this.subscription.notifyNestedSubs.bind(this.subscription);\n };\n\n Connect.prototype.onStateChange = function onStateChange() {\n this.selector.run(this.props);\n\n if (!this.selector.shouldComponentUpdate) {\n this.notifyNestedSubs();\n } else {\n this.componentDidUpdate = this.notifyNestedSubsOnComponentDidUpdate;\n this.setState(dummyState);\n }\n };\n\n Connect.prototype.notifyNestedSubsOnComponentDidUpdate = function notifyNestedSubsOnComponentDidUpdate() {\n // `componentDidUpdate` is conditionally implemented when `onStateChange` determines it\n // needs to notify nested subs. Once called, it unimplements itself until further state\n // changes occur. Doing it this way vs having a permanent `componentDidUpdate` that does\n // a boolean check every time avoids an extra method call most of the time, resulting\n // in some perf boost.\n this.componentDidUpdate = undefined;\n this.notifyNestedSubs();\n };\n\n Connect.prototype.isSubscribed = function isSubscribed() {\n return Boolean(this.subscription) && this.subscription.isSubscribed();\n };\n\n Connect.prototype.addExtraProps = function addExtraProps(props) {\n if (!withRef && !renderCountProp && !(this.propsMode && this.subscription)) return props;\n // make a shallow copy so that fields added don't leak to the original selector.\n // this is especially important for 'ref' since that's a reference back to the component\n // instance. a singleton memoized selector would then be holding a reference to the\n // instance, preventing the instance from being garbage collected, and that would be bad\n var withExtras = _extends({}, props);\n if (withRef) withExtras.ref = this.setWrappedInstance;\n if (renderCountProp) withExtras[renderCountProp] = this.renderCount++;\n if (this.propsMode && this.subscription) withExtras[subscriptionKey] = this.subscription;\n return withExtras;\n };\n\n Connect.prototype.render = function render() {\n var selector = this.selector;\n selector.shouldComponentUpdate = false;\n\n if (selector.error) {\n throw selector.error;\n } else {\n return createElement(WrappedComponent, this.addExtraProps(selector.props));\n }\n };\n\n return Connect;\n }(Component);\n\n Connect.WrappedComponent = WrappedComponent;\n Connect.displayName = displayName;\n Connect.childContextTypes = childContextTypes;\n Connect.contextTypes = contextTypes;\n Connect.propTypes = contextTypes;\n\n if (process.env.NODE_ENV !== 'production') {\n Connect.prototype.componentWillUpdate = function componentWillUpdate() {\n var _this2 = this;\n\n // We are hot reloading!\n if (this.version !== version) {\n this.version = version;\n this.initSelector();\n\n // If any connected descendants don't hot reload (and resubscribe in the process), their\n // listeners will be lost when we unsubscribe. Unfortunately, by copying over all\n // listeners, this does mean that the old versions of connected descendants will still be\n // notified of state changes; however, their onStateChange function is a no-op so this\n // isn't a huge deal.\n var oldListeners = [];\n\n if (this.subscription) {\n oldListeners = this.subscription.listeners.get();\n this.subscription.tryUnsubscribe();\n }\n this.initSubscription();\n if (shouldHandleStateChanges) {\n this.subscription.trySubscribe();\n oldListeners.forEach(function (listener) {\n return _this2.subscription.listeners.subscribe(listener);\n });\n }\n }\n };\n }\n\n return hoistStatics(Connect, WrappedComponent);\n };\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/react-redux/es/components/connectAdvanced.js\n// module id = 113\n// module chunks = 0","import verifyPlainObject from '../utils/verifyPlainObject';\n\nexport function wrapMapToPropsConstant(getConstant) {\n return function initConstantSelector(dispatch, options) {\n var constant = getConstant(dispatch, options);\n\n function constantSelector() {\n return constant;\n }\n constantSelector.dependsOnOwnProps = false;\n return constantSelector;\n };\n}\n\n// dependsOnOwnProps is used by createMapToPropsProxy to determine whether to pass props as args\n// to the mapToProps function being wrapped. It is also used by makePurePropsSelector to determine\n// whether mapToProps needs to be invoked when props have changed.\n// \n// A length of one signals that mapToProps does not depend on props from the parent component.\n// A length of zero is assumed to mean mapToProps is getting args via arguments or ...args and\n// therefore not reporting its length accurately..\nexport function getDependsOnOwnProps(mapToProps) {\n return mapToProps.dependsOnOwnProps !== null && mapToProps.dependsOnOwnProps !== undefined ? Boolean(mapToProps.dependsOnOwnProps) : mapToProps.length !== 1;\n}\n\n// Used by whenMapStateToPropsIsFunction and whenMapDispatchToPropsIsFunction,\n// this function wraps mapToProps in a proxy function which does several things:\n// \n// * Detects whether the mapToProps function being called depends on props, which\n// is used by selectorFactory to decide if it should reinvoke on props changes.\n// \n// * On first call, handles mapToProps if returns another function, and treats that\n// new function as the true mapToProps for subsequent calls.\n// \n// * On first call, verifies the first result is a plain object, in order to warn\n// the developer that their mapToProps function is not returning a valid result.\n// \nexport function wrapMapToPropsFunc(mapToProps, methodName) {\n return function initProxySelector(dispatch, _ref) {\n var displayName = _ref.displayName;\n\n var proxy = function mapToPropsProxy(stateOrDispatch, ownProps) {\n return proxy.dependsOnOwnProps ? proxy.mapToProps(stateOrDispatch, ownProps) : proxy.mapToProps(stateOrDispatch);\n };\n\n // allow detectFactoryAndVerify to get ownProps\n proxy.dependsOnOwnProps = true;\n\n proxy.mapToProps = function detectFactoryAndVerify(stateOrDispatch, ownProps) {\n proxy.mapToProps = mapToProps;\n proxy.dependsOnOwnProps = getDependsOnOwnProps(mapToProps);\n var props = proxy(stateOrDispatch, ownProps);\n\n if (typeof props === 'function') {\n proxy.mapToProps = props;\n proxy.dependsOnOwnProps = getDependsOnOwnProps(props);\n props = proxy(stateOrDispatch, ownProps);\n }\n\n if (process.env.NODE_ENV !== 'production') verifyPlainObject(props, displayName, methodName);\n\n return props;\n };\n\n return proxy;\n };\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/react-redux/es/connect/wrapMapToProps.js\n// module id = 114\n// module chunks = 0","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\nvar check = function (O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function (test, buggy, set) {\n try {\n set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) { buggy = true; }\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_set-proto.js\n// module id = 116\n// module chunks = 0","import { createSelector } from 'reselect'\r\nimport versionCompare from '../utilities/versionCompare'\r\n\r\n/**\r\n * Uses the Redux Reselect library to sort, filter and search our templates.\r\n * It also checks if the PDF templates are compatible with the current version of Gravity PDF\r\n *\r\n * @package Gravity PDF\r\n * @copyright Copyright (c) 2018, Blue Liquid Designs\r\n * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License\r\n * @since 4.1\r\n */\r\n\r\n/*\r\n This file is part of Gravity PDF.\r\n\r\n Gravity PDF – Copyright (C) 2018, Blue Liquid Designs\r\n\r\n This program is free software; you can redistribute it and/or modify\r\n it under the terms of the GNU General Public License as published by\r\n the Free Software Foundation; either version 2 of the License, or\r\n (at your option) any later version.\r\n\r\n This program is distributed in the hope that it will be useful,\r\n but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r\n GNU General Public License for more details.\r\n\r\n You should have received a copy of the GNU General Public License\r\n along with this program; if not, write to the Free Software\r\n Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\r\n */\r\n\r\n/* Assign specific parts of the Redux store to constants (note, we are returning functions) */\r\nconst getTemplates = (state) => state.template.list\r\nconst getSearch = (state) => state.template.search\r\nconst getActiveTemplate = (state) => state.template.activeTemplate\r\n\r\n/**\r\n * Searches our templates for specific terms and returns the results\r\n * This function is adapted from the Backbone.js filter for themes\r\n *\r\n * @param {string} term\r\n * @param {Object} templates Immutable List of templates\r\n *\r\n * @returns {Object} Filtered Immutable list of templates\r\n *\r\n * @since 4.1\r\n */\r\nexport const searchTemplates = (term, templates) => {\r\n /*\r\n * Escape the term string for RegExp meta characters\r\n * Consider spaces as word delimiters and match the whole string\r\n */\r\n term = term.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&')\r\n term = term.replace(/ /g, ')(?=.*')\r\n\r\n const match = new RegExp('^(?=.*' + term + ').+', 'i')\r\n\r\n /* Filter through the templates. Any templates return \"true\" in out match.test() statement will be included */\r\n const results = templates.filter((template) => {\r\n\r\n /* Do very basic HTML tag removal from the fields we are interested in */\r\n const name = template.get('template').replace(/(<([^>]+)>)/ig, '')\r\n const description = template.get('description').replace(/(<([^>]+)>)/ig, '')\r\n const author = template.get('author').replace(/(<([^>]+)>)/ig, '')\r\n const group = template.get('group').replace(/(<([^>]+)>)/ig, '')\r\n\r\n /* Check if our matching term(s) are found in the string */\r\n return match.test([name, template.get('id'), group, description, author].toString())\r\n })\r\n\r\n return results\r\n}\r\n\r\n/**\r\n * A PDF template sorting function\r\n *\r\n * The sort order is as follows:\r\n *\r\n * 1. Any new templates get auto-shifted to the back of the list (just installed)\r\n * 2. The active template gets auto-shifted to the front of the list\r\n * 3. The templates are then sorted alphabetically by group\r\n * 4. Then alphabetically by name\r\n *\r\n * @param {Object} templates The Immutable list of templates\r\n * @param {string} activeTemplate The current active PDF template\r\n *\r\n * @returns {Object} Sorted Immutable List\r\n *\r\n * @since 4.1\r\n */\r\nexport const sortTemplates = (templates, activeTemplate) => {\r\n /* Sort out template list using our comparator function */\r\n return templates.sort((a, b) => {\r\n\r\n /* Shift new templates to the bottom (only on install) */\r\n if (a.get('new', false) === true && a.get('new', false) === true) {\r\n return 0 //equal\r\n }\r\n\r\n if (a.get('new', false) === true) {\r\n return 1\r\n }\r\n\r\n if (b.get('new', false) === true) {\r\n return -1\r\n }\r\n\r\n /* Hoist the active template above the rest */\r\n if (activeTemplate === a.get('id')) {\r\n return -1\r\n }\r\n\r\n if (activeTemplate === b.get('id')) {\r\n return 1\r\n }\r\n\r\n /* Order alphabetically by the group name */\r\n if (a.get('group') < b.get('group')) {\r\n return -1 //before\r\n }\r\n\r\n if (a.get('group') > b.get('group')) {\r\n return 1 //after\r\n }\r\n\r\n /* Then order alphabetically by the template name */\r\n if (a.get('template') < b.get('template')) {\r\n return -1 //before\r\n }\r\n\r\n if (a.get('template') > b.get('template')) {\r\n return 1 //after\r\n }\r\n\r\n return 0 //equal\r\n })\r\n}\r\n\r\n/**\r\n * Check all PDF templates for compatibility with the current verison of Gravity PDF\r\n * If they don't pass we'll also dynamically apply error messages\r\n *\r\n * @param {Object} templates The Immutable list of templates\r\n *\r\n * @returns {Object} The Immutable list of templates\r\n *\r\n * @since 4.1\r\n */\r\nexport const addCompatibilityCheck = (templates) => {\r\n /* Apply this function to all templates */\r\n return templates.map((template) => {\r\n /* Get the PDF version and check it against the Gravity PDF version */\r\n const requiredVersion = template.get('required_pdf_version')\r\n if (versionCompare(requiredVersion, GFPDF.currentVersion, '>')) {\r\n /* Not compatible, so let's mark it */\r\n return template.merge({\r\n 'compatible': false,\r\n 'error': GFPDF.requiresGravityPdfVersion.replace(/%s/g, requiredVersion),\r\n 'long_error': GFPDF.templateNotCompatibleWithGravityPdfVersion.replace(/%s/g, requiredVersion)\r\n })\r\n }\r\n /* If versionCompare() passed we'll mark as true */\r\n return template.set('compatible', true)\r\n })\r\n}\r\n\r\n/**\r\n * Create our Reselect selector and apply to our store\r\n *\r\n * @since 4.1\r\n */\r\nexport default createSelector(\r\n [getTemplates, getSearch, getActiveTemplate],\r\n (templates, search, activeTemplate) => {\r\n\r\n templates = addCompatibilityCheck(templates)\r\n\r\n if (search) {\r\n templates = searchTemplates(search, templates)\r\n }\r\n\r\n return sortTemplates(templates, activeTemplate)\r\n }\r\n)\n\n\n// WEBPACK FOOTER //\n// ./src/assets/js/react/selectors/getTemplates.js","// @@search logic\nrequire('./_fix-re-wks')('search', 1, function (defined, SEARCH, $search) {\n // 21.1.3.15 String.prototype.search(regexp)\n return [function search(regexp) {\n 'use strict';\n var O = defined(this);\n var fn = regexp == undefined ? undefined : regexp[SEARCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));\n }, $search];\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.regexp.search.js\n// module id = 118\n// module chunks = 0","import PropTypes from 'prop-types'\r\nimport React from 'react'\r\nimport TemplateCloseDialog from './TemplateCloseDialog'\r\n\r\n/**\r\n * Renders our Advanced Template Selector container which is shared amongst the components\r\n *\r\n * @package Gravity PDF\r\n * @copyright Copyright (c) 2018, Blue Liquid Designs\r\n * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License\r\n * @since 4.1\r\n */\r\n\r\n/*\r\n This file is part of Gravity PDF.\r\n\r\n Gravity PDF – Copyright (C) 2018, Blue Liquid Designs\r\n\r\n This program is free software; you can redistribute it and/or modify\r\n it under the terms of the GNU General Public License as published by\r\n the Free Software Foundation; either version 2 of the License, or\r\n (at your option) any later version.\r\n\r\n This program is distributed in the hope that it will be useful,\r\n but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r\n GNU General Public License for more details.\r\n\r\n You should have received a copy of the GNU General Public License\r\n along with this program; if not, write to the Free Software\r\n Found\r\n */\r\n\r\n/**\r\n * React Component\r\n *\r\n * @since 4.1\r\n */\r\nclass Container extends React.Component {\r\n /**\r\n * @since 4.1\r\n */\r\n static propTypes = {\r\n header: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\r\n footer: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\r\n children: PropTypes.node.isRequired,\r\n closeRoute: PropTypes.string,\r\n }\r\n\r\n /**\r\n * On mount, add focus event to document option on mount\r\n * Also, if focus isn't currently applied to the search box we'll apply it\r\n * to our container to help with tabbing between elements\r\n *\r\n * @since 4.1\r\n */\r\n componentDidMount () {\r\n document.addEventListener('focus', this.handleFocus, true)\r\n\r\n /* Add focus if not currently applied to search box */\r\n if (document.activeElement && document.activeElement.className !== 'wp-filter-search') {\r\n this.container.focus()\r\n }\r\n }\r\n\r\n /**\r\n * Cleanup our document event listeners\r\n *\r\n * @since 4.1\r\n */\r\n componentWillUnmount () {\r\n document.removeEventListener('focus', this.handleFocus, true)\r\n }\r\n\r\n /**\r\n * When a focus event is fired and it's not apart of any DOM elements in our\r\n * container we will focus the container instead. In most cases this keeps the focus from\r\n * jumping outside our Template Container and allows for better keyboard navigation.\r\n *\r\n * @param e\r\n *\r\n * @since 4.1\r\n */\r\n handleFocus = (e) => {\r\n if (!this.container.contains(e.target)) {\r\n e.stopPropagation()\r\n this.container.focus()\r\n }\r\n }\r\n\r\n /**\r\n * @since 4.1\r\n */\r\n render () {\r\n const header = this.props.header,\r\n footer = this.props.footer,\r\n children = this.props.children,\r\n closeRoute = this.props.closeRoute\r\n\r\n return (\r\n <div ref={node => this.container = node} tabIndex=\"140\">\r\n <div className=\"backdrop theme-backdrop\"></div>\r\n <div className=\"container theme-wrap\">\r\n <div className=\"theme-header\">\r\n {header}\r\n <TemplateCloseDialog closeRoute={closeRoute}/>\r\n </div>\r\n\r\n <div\r\n id=\"gfpdf-template-container\"\r\n className=\"theme-about wp-clearfix theme-browser rendered\">\r\n {children}\r\n </div>\r\n\r\n {footer}\r\n </div>\r\n </div>\r\n )\r\n }\r\n}\r\n\r\nexport default Container\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/assets/js/react/components/Template/TemplateContainer.js","import PropTypes from 'prop-types'\r\nimport React from 'react'\r\n\r\n/**\r\n * Contains stateless React components for our Single Template\r\n *\r\n * @package Gravity PDF\r\n * @copyright Copyright (c) 2018, Blue Liquid Designs\r\n * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License\r\n * @since 4.1\r\n */\r\n\r\n/*\r\n This file is part of Gravity PDF.\r\n\r\n Gravity PDF – Copyright (C) 2018, Blue Liquid Designs\r\n\r\n This program is free software; you can redistribute it and/or modify\r\n it under the terms of the GNU General Public License as published by\r\n the Free Software Foundation; either version 2 of the License, or\r\n (at your option) any later version.\r\n\r\n This program is distributed in the hope that it will be useful,\r\n but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r\n GNU General Public License for more details.\r\n\r\n You should have received a copy of the GNU General Public License\r\n along with this program; if not, write to the Free Software\r\n Found\r\n */\r\n\r\n/**\r\n * React Stateless Component\r\n *\r\n * Display the current template label\r\n *\r\n * @since 4.1\r\n */\r\nexport const CurrentTemplate = ({isCurrentTemplate, label}) => {\r\n return (isCurrentTemplate) ? (\r\n <span className=\"current-label\">{label}</span>\r\n ) : (\r\n <span/>\r\n )\r\n}\r\n\r\nCurrentTemplate.propTypes = {\r\n isCurrentTemplate: PropTypes.bool,\r\n label: PropTypes.string\r\n}\r\n\r\n/**\r\n * React Stateless Component\r\n *\r\n * Display the template name and version number\r\n *\r\n * @since 4.1\r\n */\r\nexport const Name = ({name, version, versionLabel}) => (\r\n <h2 className=\"theme-name\">\r\n {name}\r\n\r\n <Version version={version} label={versionLabel}/>\r\n </h2>\r\n)\r\n\r\nName.propTypes = {\r\n name: PropTypes.string,\r\n version: PropTypes.string,\r\n versionLabel: PropTypes.string\r\n}\r\n\r\n/**\r\n * React Stateless Component\r\n *\r\n * Display the template version number\r\n *\r\n * @since 4.1\r\n */\r\nexport const Version = ({label, version}) => {\r\n return (version) ? (\r\n <span className=\"theme-version\">{label}: {version}</span>\r\n ) : (\r\n <span/>\r\n )\r\n}\r\n\r\nVersion.propTypes = {\r\n label: PropTypes.string,\r\n version: PropTypes.string\r\n}\r\n\r\n/**\r\n * React Stateless Component\r\n *\r\n * Display the template author (and link to website, if any)\r\n *\r\n * @since 4.1\r\n */\r\nexport const Author = ({author, uri}) => {\r\n\r\n if (uri) {\r\n return (\r\n <p className=\"theme-author\">\r\n <a href={uri}>\r\n {author}\r\n </a>\r\n </p>\r\n )\r\n } else {\r\n return (\r\n <p className=\"theme-author\">\r\n {author}\r\n </p>\r\n )\r\n }\r\n}\r\n\r\nAuthor.propTypes = {\r\n author: PropTypes.string,\r\n uri: PropTypes.string\r\n}\r\n\r\n/**\r\n * React Stateless Component\r\n *\r\n * Display the template group\r\n *\r\n * @since 4.1\r\n */\r\nexport const Group = ({label, group}) => (\r\n <p className=\"theme-author\">\r\n <strong>{label}: {group}</strong>\r\n </p>\r\n)\r\n\r\nGroup.propTypes = {\r\n label: PropTypes.string,\r\n group: PropTypes.string,\r\n}\r\n\r\n/**\r\n * React Stateless Component\r\n *\r\n * Display the template description\r\n *\r\n * @since 4.1\r\n */\r\nexport const Description = ({desc}) => (\r\n <p className=\"theme-description\">\r\n {desc}\r\n </p>\r\n)\r\n\r\nDescription.propTypes = {\r\n desc: PropTypes.string,\r\n}\r\n\r\n/**\r\n * React Stateless Component\r\n *\r\n * Display the template tags\r\n *\r\n * @since 4.1\r\n */\r\nexport const Tags = ({label, tags}) => {\r\n return (tags) ? (\r\n <p className=\"theme-tags\">\r\n <span>{label}:</span> {tags}\r\n </p>\r\n ) : (\r\n <span/>\r\n )\r\n}\r\n\r\nTags.propTypes = {\r\n label: PropTypes.string,\r\n tags: PropTypes.string,\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/assets/js/react/components/Template/TemplateSingleComponents.js","import PropTypes from 'prop-types'\r\nimport React from 'react'\r\nimport { connect } from 'react-redux'\r\nimport { selectTemplate } from '../../actions/templates'\r\nimport { withRouter } from 'react-router-dom'\r\n\r\n/**\r\n * Renders the button used to trigger the current active PDF template\r\n * On click it triggers our Redux action.\r\n *\r\n * @package Gravity PDF\r\n * @copyright Copyright (c) 2018, Blue Liquid Designs\r\n * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License\r\n * @since 4.1\r\n */\r\n\r\n/*\r\n This file is part of Gravity PDF.\r\n\r\n Gravity PDF – Copyright (C) 2018, Blue Liquid Designs\r\n\r\n This program is free software; you can redistribute it and/or modify\r\n it under the terms of the GNU General Public License as published by\r\n the Free Software Foundation; either version 2 of the License, or\r\n (at your option) any later version.\r\n\r\n This program is distributed in the hope that it will be useful,\r\n but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r\n GNU General Public License for more details.\r\n\r\n You should have received a copy of the GNU General Public License\r\n along with this program; if not, write to the Free Software\r\n Found\r\n */\r\n\r\n/**\r\n * React Component\r\n *\r\n * @since 4.1\r\n */\r\nexport class TemplateActivateButton extends React.Component {\r\n /**\r\n * @since 4.1\r\n */\r\n static propTypes = {\r\n template: PropTypes.object,\r\n onTemplateSelect: PropTypes.func,\r\n buttonText: PropTypes.string,\r\n }\r\n\r\n /**\r\n * Update our route and trigger a Redux action to select the current template\r\n *\r\n * @param {Object} e Event\r\n *\r\n * @since 4.1\r\n */\r\n selectTemplate = (e) => {\r\n e.preventDefault()\r\n e.stopPropagation()\r\n\r\n this.props.history.push('')\r\n this.props.onTemplateSelect(this.props.template.get('id'))\r\n }\r\n\r\n /**\r\n * @since 4.1\r\n */\r\n render () {\r\n return (\r\n <a\r\n onClick={this.selectTemplate}\r\n href=\"#\"\r\n tabIndex=\"150\"\r\n className=\"button button-primary activate\">\r\n {this.props.buttonText}\r\n </a>\r\n )\r\n }\r\n}\r\n\r\n/**\r\n * Map actions to props\r\n *\r\n * @param {func} dispatch Redux dispatcher\r\n *\r\n * @returns {{onTemplateSelect: (function(id=string))}}\r\n *\r\n * @since 4.1\r\n */\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n onTemplateSelect: (id) => {\r\n dispatch(selectTemplate(id))\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Maps our Redux store to our React component\r\n *\r\n * @since 4.1\r\n */\r\nexport default withRouter(connect(null, mapDispatchToProps)(TemplateActivateButton))\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/assets/js/react/components/Template/TemplateActivateButton.js","'use strict';\n// 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined)\nvar $export = require('./_export');\nvar $find = require('./_array-methods')(5);\nvar KEY = 'find';\nvar forced = true;\n// Shouldn't skip holes\nif (KEY in []) Array(1)[KEY](function () { forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\nrequire('./_add-to-unscopables')(KEY);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.array.find.js\n// module id = 122\n// module chunks = 0","// 0 -> Array#forEach\n// 1 -> Array#map\n// 2 -> Array#filter\n// 3 -> Array#some\n// 4 -> Array#every\n// 5 -> Array#find\n// 6 -> Array#findIndex\nvar ctx = require('./_ctx');\nvar IObject = require('./_iobject');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar asc = require('./_array-species-create');\nmodule.exports = function (TYPE, $create) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n var create = $create || asc;\n return function ($this, callbackfn, that) {\n var O = toObject($this);\n var self = IObject(O);\n var f = ctx(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var val, res;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n val = self[index];\n res = f(val, index, O);\n if (TYPE) {\n if (IS_MAP) result[index] = res; // map\n else if (res) switch (TYPE) {\n case 3: return true; // some\n case 5: return val; // find\n case 6: return index; // findIndex\n case 2: result.push(val); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_array-methods.js\n// module id = 123\n// module chunks = 0","import $ from 'jquery'\r\nimport templateBootstrap from './bootstrap/templateBootstrap'\r\nimport coreFontBootstrap from './bootstrap/coreFontBootstrap'\r\n\r\n/**\r\n * JS Entry point for WebPack\r\n *\r\n * @package Gravity PDF\r\n * @copyright Copyright (c) 2018, Blue Liquid Designs\r\n * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License\r\n * @since 4.1\r\n */\r\n\r\n/*\r\n This file is part of Gravity PDF.\r\n\r\n Gravity PDF – Copyright (C) 2018, Blue Liquid Designs\r\n\r\n This program is free software; you can redistribute it and/or modify\r\n it under the terms of the GNU General Public License as published by\r\n the Free Software Foundation; either version 2 of the License, or\r\n (at your option) any later version.\r\n\r\n This program is distributed in the hope that it will be useful,\r\n but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r\n GNU General Public License for more details.\r\n\r\n You should have received a copy of the GNU General Public License\r\n along with this program; if not, write to the Free Software\r\n Found\r\n*/\r\n\r\n/**\r\n * Our main entry point for our modern unit-tested JS\r\n * This file gets run through Webpack to built it into valid ES5\r\n *\r\n * As we convert more JS to ES6 we'll likely load it from this file (unless we decide to make each feature modular)\r\n *\r\n * @since 4.1\r\n */\r\n$(function () {\r\n\r\n 'use strict'\r\n\r\n /* Initialise the Fancy Template Picker */\r\n if (GFPDF.templateList !== undefined) {\r\n\r\n // To add to window\r\n if (!window.Promise) {\r\n window.Promise = Promise\r\n }\r\n\r\n /* Check if we should show the Fancy Template Picker */\r\n var templateId = '#gfpdf_settings\\\\[template\\\\], #gfpdf_settings\\\\[default_template\\\\]'\r\n var $templateField = $(templateId)\r\n\r\n /* Run this code if the element exists */\r\n if ($templateField.length > 0) {\r\n templateBootstrap($templateField)\r\n }\r\n }\r\n\r\n /* Initialise the Core Font downloader */\r\n if ($('#gfpdf-install-core-fonts').length) {\r\n coreFontBootstrap()\r\n }\r\n})\n\n\n// WEBPACK FOOTER //\n// ./src/assets/js/react/gfpdf-main.js","module.exports = function (it, Constructor, name, forbiddenField) {\n if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n throw TypeError(name + ': incorrect invocation!');\n } return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_an-instance.js\n// module id = 125\n// module chunks = 0","var ctx = require('./_ctx');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar getIterFn = require('./core.get-iterator-method');\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n var f = ctx(fn, that, entries ? 2 : 1);\n var index = 0;\n var length, step, iterator, result;\n if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n // fast case for arrays with default iterator\n if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if (result === BREAK || result === RETURN) return result;\n } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n result = call(iterator, f, step.value, entries);\n if (result === BREAK || result === RETURN) return result;\n }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_for-of.js\n// module id = 126\n// module chunks = 0","// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = require('./_an-object');\nvar aFunction = require('./_a-function');\nvar SPECIES = require('./_wks')('species');\nmodule.exports = function (O, D) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_species-constructor.js\n// module id = 127\n// module chunks = 0","// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function (fn, args, that) {\n var un = that === undefined;\n switch (args.length) {\n case 0: return un ? fn()\n : fn.call(that);\n case 1: return un ? fn(args[0])\n : fn.call(that, args[0]);\n case 2: return un ? fn(args[0], args[1])\n : fn.call(that, args[0], args[1]);\n case 3: return un ? fn(args[0], args[1], args[2])\n : fn.call(that, args[0], args[1], args[2]);\n case 4: return un ? fn(args[0], args[1], args[2], args[3])\n : fn.call(that, args[0], args[1], args[2], args[3]);\n } return fn.apply(that, args);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_invoke.js\n// module id = 128\n// module chunks = 0","var global = require('./_global');\nvar macrotask = require('./_task').set;\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = require('./_cof')(process) == 'process';\n\nmodule.exports = function () {\n var head, last, notify;\n\n var flush = function () {\n var parent, fn;\n if (isNode && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (e) {\n if (head) notify();\n else last = undefined;\n throw e;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // Node.js\n if (isNode) {\n notify = function () {\n process.nextTick(flush);\n };\n // browsers with MutationObserver\n } else if (Observer) {\n var toggle = true;\n var node = document.createTextNode('');\n new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n var promise = Promise.resolve();\n notify = function () {\n promise.then(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n\n return function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_microtask.js\n// module id = 129\n// module chunks = 0","module.exports = function (exec) {\n try {\n return { e: false, v: exec() };\n } catch (e) {\n return { e: true, v: e };\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_perform.js\n// module id = 130\n// module chunks = 0","var anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar newPromiseCapability = require('./_new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_promise-resolve.js\n// module id = 131\n// module chunks = 0","var redefine = require('./_redefine');\nmodule.exports = function (target, src, safe) {\n for (var key in src) redefine(target, key, src[key], safe);\n return target;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_redefine-all.js\n// module id = 132\n// module chunks = 0","import React from 'react'\r\nimport { render } from 'react-dom'\r\nimport { HashRouter as Router, Route } from 'react-router-dom'\r\nimport request from 'superagent'\r\nimport watch from 'redux-watch'\r\n\r\nimport { getStore } from '../store'\r\nimport { selectTemplate } from '../actions/templates'\r\nimport templateRouter from '../router/templateRouter'\r\nimport TemplateButton from '../components/Template/TemplateButton'\r\n\r\n/**\r\n * Advanced Template Selector Bootstrap\r\n *\r\n * @package Gravity PDF\r\n * @copyright Copyright (c) 2018, Blue Liquid Designs\r\n * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License\r\n * @since 4.1\r\n */\r\n\r\n/*\r\n This file is part of Gravity PDF.\r\n\r\n Gravity PDF – Copyright (C) 2018, Blue Liquid Designs\r\n\r\n This program is free software; you can redistribute it and/or modify\r\n it under the terms of the GNU General Public License as published by\r\n the Free Software Foundation; either version 2 of the License, or\r\n (at your option) any later version.\r\n\r\n This program is distributed in the hope that it will be useful,\r\n but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r\n GNU General Public License for more details.\r\n\r\n You should have received a copy of the GNU General Public License\r\n along with this program; if not, write to the Free Software\r\n Found\r\n */\r\n\r\n/**\r\n * Handles the loading of our Fancy Template Selector\r\n *\r\n * @param {Object} $templateField The jQuery select box we should attach the fancy template selector to\r\n *\r\n * @since 4.1\r\n */\r\nexport default function templateBootstrap ($templateField) {\r\n\r\n const store = getStore()\r\n\r\n /* Create our button container and render our component in it */\r\n createTemplateMarkup($templateField)\r\n\r\n /* Render our React Component in the DOM */\r\n render(\r\n <Router>\r\n <Route render={(props) => <TemplateButton {...props} store={store} buttonText={GFPDF.advanced}/>}/>\r\n </Router>,\r\n document.getElementById('gpdf-advance-template-selector')\r\n )\r\n\r\n /* Mount our router */\r\n templateRouter(store)\r\n\r\n /*\r\n * Listen for Redux store updates and do DOM updates\r\n */\r\n activeTemplateStoreListener(store, $templateField)\r\n templateChangeStoreListener(store, $templateField)\r\n}\r\n\r\n/**\r\n * Dynamically add the required markup to attach our React components to.\r\n *\r\n * @param {Object} $templateField The jQuery select box we should attach the fancy template selector to\r\n *\r\n * @since 4.1\r\n */\r\nexport function createTemplateMarkup ($templateField) {\r\n $templateField\r\n .next()\r\n .after('<span id=\"gpdf-advance-template-selector\">')\r\n .next()\r\n .after('<div id=\"gfpdf-overlay\" class=\"theme-overlay\">')\r\n}\r\n\r\n/**\r\n * Listen for updates to the template.activeTemplate data in our Redux store\r\n * and update the select box value based on this change. Also, listen for changes\r\n * to our select box and update the store when needed.\r\n *\r\n * @param {Object} store The Redux store returned from createStore()\r\n * @param {Object} $templateField The jQuery select box we should attach the fancy template selector to\r\n *\r\n * @since 4.1\r\n */\r\nexport function activeTemplateStoreListener (store, $templateField) {\r\n\r\n /* Watch our store for changes */\r\n let w = watch(store.getState, 'template.activeTemplate')\r\n store.subscribe(w((template) => {\r\n\r\n /* Check store and DOM are different to prevent any update recursions */\r\n if ($templateField.val() !== template) {\r\n $templateField\r\n .val(template)\r\n .trigger('chosen:updated')\r\n .trigger('change')\r\n }\r\n }))\r\n\r\n /* Watch our DOM for changes */\r\n $templateField.change(function () {\r\n /* Check store and DOM are different to prevent any update recursions */\r\n if (this.value !== store.getState().template.activeTemplate) {\r\n store.dispatch(selectTemplate(this.value))\r\n }\r\n })\r\n}\r\n\r\n/**\r\n * PHP builds the Select box DOM for the templates and when we add or delete a template we need to rebuild this.\r\n * Instead of duplicating the code on both server and client side we do an AJAX call to get the new Selex box HTML when\r\n * the template.list length changes and update the DOM accordingly.\r\n *\r\n * @param {Object} store The Redux store returned from createStore()\r\n * @param {Object} $templateField The jQuery select box we should attach the fancy template selector to\r\n *\r\n * @since 4.1\r\n */\r\nexport function templateChangeStoreListener (store, $templateField) {\r\n\r\n /* Track the initial list size */\r\n let listCount = store.getState().template.list.size\r\n\r\n /* Watch our store for changes */\r\n let w = watch(store.getState, 'template.list')\r\n store.subscribe(w((list) => {\r\n\r\n /* Only update if the list size differs from what we expect */\r\n if (listCount !== list.size) {\r\n /* update the list size so we don't run it twice */\r\n listCount = list.size\r\n var currentActive = $templateField.val()\r\n\r\n /* Do our AJAX call to get the new Select Box DOM */\r\n request\r\n .post(GFPDF.ajaxUrl)\r\n .field('action', 'gfpdf_get_template_options')\r\n .field('nonce', GFPDF.ajaxNonce)\r\n .then((response) => {\r\n $templateField\r\n .html(response.text)\r\n .val(currentActive)\r\n .trigger('chosen:updated')\r\n })\r\n }\r\n }))\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/assets/js/react/bootstrap/templateBootstrap.js","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n } return T;\n} : $assign;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_object-assign.js\n// module id = 134\n// module chunks = 0","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_to-absolute-index.js\n// module id = 135\n// module chunks = 0","/*\n React v16.0.0\n react.production.min.js\n\n Copyright (c) 2013-present, Facebook, Inc.\n\n This source code is licensed under the MIT license found in the\n LICENSE file in the root directory of this source tree.\n*/\n'use strict';var f=require(\"object-assign\"),p=require(\"fbjs/lib/emptyObject\");require(\"fbjs/lib/invariant\");var r=require(\"fbjs/lib/emptyFunction\");\nfunction t(a){for(var b=arguments.length-1,d=\"Minified React error #\"+a+\"; visit http://facebook.github.io/react/docs/error-decoder.html?invariant\\x3d\"+a,e=0;e<b;e++)d+=\"\\x26args[]\\x3d\"+encodeURIComponent(arguments[e+1]);b=Error(d+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\");b.name=\"Invariant Violation\";b.framesToPop=1;throw b;}\nvar u={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}};function v(a,b,d){this.props=a;this.context=b;this.refs=p;this.updater=d||u}v.prototype.isReactComponent={};v.prototype.setState=function(a,b){\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a?t(\"85\"):void 0;this.updater.enqueueSetState(this,a,b,\"setState\")};v.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};\nfunction w(a,b,d){this.props=a;this.context=b;this.refs=p;this.updater=d||u}function x(){}x.prototype=v.prototype;var y=w.prototype=new x;y.constructor=w;f(y,v.prototype);y.isPureReactComponent=!0;function z(a,b,d){this.props=a;this.context=b;this.refs=p;this.updater=d||u}var A=z.prototype=new x;A.constructor=z;f(A,v.prototype);A.unstable_isAsyncReactComponent=!0;A.render=function(){return this.props.children};\nvar B={Component:v,PureComponent:w,AsyncComponent:z},C={current:null},D=Object.prototype.hasOwnProperty,E=\"function\"===typeof Symbol&&Symbol[\"for\"]&&Symbol[\"for\"](\"react.element\")||60103,F={key:!0,ref:!0,__self:!0,__source:!0};function G(a,b,d,e,c,g,k){return{$$typeof:E,type:a,key:b,ref:d,props:k,_owner:g}}\nG.createElement=function(a,b,d){var e,c={},g=null,k=null,m=null,q=null;if(null!=b)for(e in void 0!==b.ref&&(k=b.ref),void 0!==b.key&&(g=\"\"+b.key),m=void 0===b.__self?null:b.__self,q=void 0===b.__source?null:b.__source,b)D.call(b,e)&&!F.hasOwnProperty(e)&&(c[e]=b[e]);var l=arguments.length-2;if(1===l)c.children=d;else if(1<l){for(var h=Array(l),n=0;n<l;n++)h[n]=arguments[n+2];c.children=h}if(a&&a.defaultProps)for(e in l=a.defaultProps,l)void 0===c[e]&&(c[e]=l[e]);return G(a,g,k,m,q,C.current,c)};\nG.createFactory=function(a){var b=G.createElement.bind(null,a);b.type=a;return b};G.cloneAndReplaceKey=function(a,b){return G(a.type,b,a.ref,a._self,a._source,a._owner,a.props)};\nG.cloneElement=function(a,b,d){var e=f({},a.props),c=a.key,g=a.ref,k=a._self,m=a._source,q=a._owner;if(null!=b){void 0!==b.ref&&(g=b.ref,q=C.current);void 0!==b.key&&(c=\"\"+b.key);if(a.type&&a.type.defaultProps)var l=a.type.defaultProps;for(h in b)D.call(b,h)&&!F.hasOwnProperty(h)&&(e[h]=void 0===b[h]&&void 0!==l?l[h]:b[h])}var h=arguments.length-2;if(1===h)e.children=d;else if(1<h){l=Array(h);for(var n=0;n<h;n++)l[n]=arguments[n+2];e.children=l}return G(a.type,c,g,k,m,q,e)};\nG.isValidElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===E};var H=\"function\"===typeof Symbol&&Symbol.iterator,I=\"function\"===typeof Symbol&&Symbol[\"for\"]&&Symbol[\"for\"](\"react.element\")||60103;function escape(a){var b={\"\\x3d\":\"\\x3d0\",\":\":\"\\x3d2\"};return\"$\"+(\"\"+a).replace(/[=:]/g,function(a){return b[a]})}var J=/\\/+/g,K=[];\nfunction L(a,b,d,e){if(K.length){var c=K.pop();c.result=a;c.keyPrefix=b;c.func=d;c.context=e;c.count=0;return c}return{result:a,keyPrefix:b,func:d,context:e,count:0}}function M(a){a.result=null;a.keyPrefix=null;a.func=null;a.context=null;a.count=0;10>K.length&&K.push(a)}\nfunction N(a,b,d,e){var c=typeof a;if(\"undefined\"===c||\"boolean\"===c)a=null;if(null===a||\"string\"===c||\"number\"===c||\"object\"===c&&a.$$typeof===I)return d(e,a,\"\"===b?\".\"+O(a,0):b),1;var g=0;b=\"\"===b?\".\":b+\":\";if(Array.isArray(a))for(var k=0;k<a.length;k++){c=a[k];var m=b+O(c,k);g+=N(c,m,d,e)}else if(m=H&&a[H]||a[\"@@iterator\"],\"function\"===typeof m)for(a=m.call(a),k=0;!(c=a.next()).done;)c=c.value,m=b+O(c,k++),g+=N(c,m,d,e);else\"object\"===c&&(d=\"\"+a,t(\"31\",\"[object Object]\"===d?\"object with keys {\"+\nObject.keys(a).join(\", \")+\"}\":d,\"\"));return g}function O(a,b){return\"object\"===typeof a&&null!==a&&null!=a.key?escape(a.key):b.toString(36)}function P(a,b){a.func.call(a.context,b,a.count++)}function Q(a,b,d){var e=a.result,c=a.keyPrefix;a=a.func.call(a.context,b,a.count++);Array.isArray(a)?R(a,e,d,r.thatReturnsArgument):null!=a&&(G.isValidElement(a)&&(a=G.cloneAndReplaceKey(a,c+(!a.key||b&&b.key===a.key?\"\":(\"\"+a.key).replace(J,\"$\\x26/\")+\"/\")+d)),e.push(a))}\nfunction R(a,b,d,e,c){var g=\"\";null!=d&&(g=(\"\"+d).replace(J,\"$\\x26/\")+\"/\");b=L(b,g,e,c);null==a||N(a,\"\",Q,b);M(b)}var S={forEach:function(a,b,d){if(null==a)return a;b=L(null,null,b,d);null==a||N(a,\"\",P,b);M(b)},map:function(a,b,d){if(null==a)return a;var e=[];R(a,e,null,b,d);return e},count:function(a){return null==a?0:N(a,\"\",r.thatReturnsNull,null)},toArray:function(a){var b=[];R(a,b,null,r.thatReturnsArgument);return b}};\nmodule.exports={Children:{map:S.map,forEach:S.forEach,count:S.count,toArray:S.toArray,only:function(a){G.isValidElement(a)?void 0:t(\"143\");return a}},Component:B.Component,PureComponent:B.PureComponent,unstable_AsyncComponent:B.AsyncComponent,createElement:G.createElement,cloneElement:G.cloneElement,isValidElement:G.isValidElement,createFactory:G.createFactory,version:\"16.0.0\",__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:{ReactCurrentOwner:C,assign:f}};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/react/cjs/react.production.min.js\n// module id = 136\n// module chunks = 0","/*\n React v16.0.0\n react-dom.production.min.js\n\n Copyright (c) 2013-present, Facebook, Inc.\n\n This source code is licensed under the MIT license found in the\n LICENSE file in the root directory of this source tree.\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\");require(\"fbjs/lib/invariant\");var l=require(\"fbjs/lib/ExecutionEnvironment\"),n=require(\"object-assign\"),ba=require(\"fbjs/lib/EventListener\"),ca=require(\"fbjs/lib/emptyFunction\"),da=require(\"fbjs/lib/emptyObject\"),ea=require(\"fbjs/lib/shallowEqual\"),fa=require(\"fbjs/lib/containsNode\"),ha=require(\"fbjs/lib/focusNode\"),ia=require(\"fbjs/lib/getActiveElement\");\nfunction w(a){for(var b=arguments.length-1,c=\"Minified React error #\"+a+\"; visit http://facebook.github.io/react/docs/error-decoder.html?invariant\\x3d\"+a,d=0;d<b;d++)c+=\"\\x26args[]\\x3d\"+encodeURIComponent(arguments[d+1]);b=Error(c+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\");b.name=\"Invariant Violation\";b.framesToPop=1;throw b;}aa?void 0:w(\"227\");\nfunction ja(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}\nvar ka={Namespaces:{html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"},getIntrinsicNamespace:ja,getChildNamespace:function(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?ja(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}},la=null,oa={};\nfunction pa(){if(la)for(var a in oa){var b=oa[a],c=la.indexOf(a);-1<c?void 0:w(\"96\",a);if(!qa.plugins[c]){b.extractEvents?void 0:w(\"97\",a);qa.plugins[c]=b;c=b.eventTypes;for(var d in c){var e=void 0;var f=c[d],g=b,h=d;qa.eventNameDispatchConfigs.hasOwnProperty(h)?w(\"99\",h):void 0;qa.eventNameDispatchConfigs[h]=f;var k=f.phasedRegistrationNames;if(k){for(e in k)k.hasOwnProperty(e)&&ra(k[e],g,h);e=!0}else f.registrationName?(ra(f.registrationName,g,h),e=!0):e=!1;e?void 0:w(\"98\",d,a)}}}}\nfunction ra(a,b,c){qa.registrationNameModules[a]?w(\"100\",a):void 0;qa.registrationNameModules[a]=b;qa.registrationNameDependencies[a]=b.eventTypes[c].dependencies}\nvar qa={plugins:[],eventNameDispatchConfigs:{},registrationNameModules:{},registrationNameDependencies:{},possibleRegistrationNames:null,injectEventPluginOrder:function(a){la?w(\"101\"):void 0;la=Array.prototype.slice.call(a);pa()},injectEventPluginsByName:function(a){var b=!1,c;for(c in a)if(a.hasOwnProperty(c)){var d=a[c];oa.hasOwnProperty(c)&&oa[c]===d||(oa[c]?w(\"102\",c):void 0,oa[c]=d,b=!0)}b&&pa()}},sa=qa,ta={children:!0,dangerouslySetInnerHTML:!0,autoFocus:!0,defaultValue:!0,defaultChecked:!0,\ninnerHTML:!0,suppressContentEditableWarning:!0,style:!0};function ua(a,b){return(a&b)===b}\nvar wa={MUST_USE_PROPERTY:1,HAS_BOOLEAN_VALUE:4,HAS_NUMERIC_VALUE:8,HAS_POSITIVE_NUMERIC_VALUE:24,HAS_OVERLOADED_BOOLEAN_VALUE:32,HAS_STRING_BOOLEAN_VALUE:64,injectDOMPropertyConfig:function(a){var b=wa,c=a.Properties||{},d=a.DOMAttributeNamespaces||{},e=a.DOMAttributeNames||{};a=a.DOMMutationMethods||{};for(var f in c){xa.properties.hasOwnProperty(f)?w(\"48\",f):void 0;var g=f.toLowerCase(),h=c[f];g={attributeName:g,attributeNamespace:null,propertyName:f,mutationMethod:null,mustUseProperty:ua(h,b.MUST_USE_PROPERTY),\nhasBooleanValue:ua(h,b.HAS_BOOLEAN_VALUE),hasNumericValue:ua(h,b.HAS_NUMERIC_VALUE),hasPositiveNumericValue:ua(h,b.HAS_POSITIVE_NUMERIC_VALUE),hasOverloadedBooleanValue:ua(h,b.HAS_OVERLOADED_BOOLEAN_VALUE),hasStringBooleanValue:ua(h,b.HAS_STRING_BOOLEAN_VALUE)};1>=g.hasBooleanValue+g.hasNumericValue+g.hasOverloadedBooleanValue?void 0:w(\"50\",f);e.hasOwnProperty(f)&&(g.attributeName=e[f]);d.hasOwnProperty(f)&&(g.attributeNamespace=d[f]);a.hasOwnProperty(f)&&(g.mutationMethod=a[f]);xa.properties[f]=\ng}}},xa={ID_ATTRIBUTE_NAME:\"data-reactid\",ROOT_ATTRIBUTE_NAME:\"data-reactroot\",ATTRIBUTE_NAME_START_CHAR:\":A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\",ATTRIBUTE_NAME_CHAR:\":A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\\\\-.0-9\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040\",\nproperties:{},shouldSetAttribute:function(a,b){if(xa.isReservedProp(a)||!(\"o\"!==a[0]&&\"O\"!==a[0]||\"n\"!==a[1]&&\"N\"!==a[1]))return!1;if(null===b)return!0;switch(typeof b){case \"boolean\":return xa.shouldAttributeAcceptBooleanValue(a);case \"undefined\":case \"number\":case \"string\":case \"object\":return!0;default:return!1}},getPropertyInfo:function(a){return xa.properties.hasOwnProperty(a)?xa.properties[a]:null},shouldAttributeAcceptBooleanValue:function(a){if(xa.isReservedProp(a))return!0;var b=xa.getPropertyInfo(a);\nif(b)return b.hasBooleanValue||b.hasStringBooleanValue||b.hasOverloadedBooleanValue;a=a.toLowerCase().slice(0,5);return\"data-\"===a||\"aria-\"===a},isReservedProp:function(a){return ta.hasOwnProperty(a)},injection:wa},A=xa,E={IndeterminateComponent:0,FunctionalComponent:1,ClassComponent:2,HostRoot:3,HostPortal:4,HostComponent:5,HostText:6,CoroutineComponent:7,CoroutineHandlerPhase:8,YieldComponent:9,Fragment:10},F={ELEMENT_NODE:1,TEXT_NODE:3,COMMENT_NODE:8,DOCUMENT_NODE:9,DOCUMENT_FRAGMENT_NODE:11},\nya=E.HostComponent,za=E.HostText,Aa=F.ELEMENT_NODE,Ba=F.COMMENT_NODE,Ea=A.ID_ATTRIBUTE_NAME,Fa={hasCachedChildNodes:1},Ga=Math.random().toString(36).slice(2),Ha=\"__reactInternalInstance$\"+Ga,Ia=\"__reactEventHandlers$\"+Ga;function La(a){for(var b;b=a._renderedComponent;)a=b;return a}function Ma(a,b){a=La(a);a._hostNode=b;b[Ha]=a}\nfunction Na(a,b){if(!(a._flags&Fa.hasCachedChildNodes)){var c=a._renderedChildren;b=b.firstChild;var d;a:for(d in c)if(c.hasOwnProperty(d)){var e=c[d],f=La(e)._domID;if(0!==f){for(;null!==b;b=b.nextSibling){var g=b,h=f;if(g.nodeType===Aa&&g.getAttribute(Ea)===\"\"+h||g.nodeType===Ba&&g.nodeValue===\" react-text: \"+h+\" \"||g.nodeType===Ba&&g.nodeValue===\" react-empty: \"+h+\" \"){Ma(e,b);continue a}}w(\"32\",f)}}a._flags|=Fa.hasCachedChildNodes}}\nfunction Oa(a){if(a[Ha])return a[Ha];for(var b=[];!a[Ha];)if(b.push(a),a.parentNode)a=a.parentNode;else return null;var c=a[Ha];if(c.tag===ya||c.tag===za)return c;for(;a&&(c=a[Ha]);a=b.pop()){var d=c;b.length&&Na(c,a)}return d}\nvar G={getClosestInstanceFromNode:Oa,getInstanceFromNode:function(a){var b=a[Ha];if(b)return b.tag===ya||b.tag===za?b:b._hostNode===a?b:null;b=Oa(a);return null!=b&&b._hostNode===a?b:null},getNodeFromInstance:function(a){if(a.tag===ya||a.tag===za)return a.stateNode;void 0===a._hostNode?w(\"33\"):void 0;if(a._hostNode)return a._hostNode;for(var b=[];!a._hostNode;)b.push(a),a._hostParent?void 0:w(\"34\"),a=a._hostParent;for(;b.length;a=b.pop())Na(a,a._hostNode);return a._hostNode},precacheChildNodes:Na,\nprecacheNode:Ma,uncacheNode:function(a){var b=a._hostNode;b&&(delete b[Ha],a._hostNode=null)},precacheFiberNode:function(a,b){b[Ha]=a},getFiberCurrentPropsFromNode:function(a){return a[Ia]||null},updateFiberProps:function(a,b){a[Ia]=b}},Pa={remove:function(a){a._reactInternalFiber=void 0},get:function(a){return a._reactInternalFiber},has:function(a){return void 0!==a._reactInternalFiber},set:function(a,b){a._reactInternalFiber=b}},Qa={ReactCurrentOwner:aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner};\nfunction Ra(a){if(\"function\"===typeof a.getName)return a.getName();if(\"number\"===typeof a.tag){a=a.type;if(\"string\"===typeof a)return a;if(\"function\"===typeof a)return a.displayName||a.name}return null}var J={NoEffect:0,PerformedWork:1,Placement:2,Update:4,PlacementAndUpdate:6,Deletion:8,ContentReset:16,Callback:32,Err:64,Ref:128},Sa=E.HostComponent,Ta=E.HostRoot,Ua=E.HostPortal,Va=E.HostText,Wa=J.NoEffect,Xa=J.Placement;\nfunction Za(a){var b=a;if(a.alternate)for(;b[\"return\"];)b=b[\"return\"];else{if((b.effectTag&Xa)!==Wa)return 1;for(;b[\"return\"];)if(b=b[\"return\"],(b.effectTag&Xa)!==Wa)return 1}return b.tag===Ta?2:3}function $a(a){2!==Za(a)?w(\"188\"):void 0}\nfunction ab(a){var b=a.alternate;if(!b)return b=Za(a),3===b?w(\"188\"):void 0,1===b?null:a;for(var c=a,d=b;;){var e=c[\"return\"],f=e?e.alternate:null;if(!e||!f)break;if(e.child===f.child){for(var g=e.child;g;){if(g===c)return $a(e),a;if(g===d)return $a(e),b;g=g.sibling}w(\"188\")}if(c[\"return\"]!==d[\"return\"])c=e,d=f;else{g=!1;for(var h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===c){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}g?\nvoid 0:w(\"189\")}}c.alternate!==d?w(\"190\"):void 0}c.tag!==Ta?w(\"188\"):void 0;return c.stateNode.current===c?a:b}\nvar bb={isFiberMounted:function(a){return 2===Za(a)},isMounted:function(a){return(a=Pa.get(a))?2===Za(a):!1},findCurrentFiberUsingSlowPath:ab,findCurrentHostFiber:function(a){a=ab(a);if(!a)return null;for(var b=a;;){if(b.tag===Sa||b.tag===Va)return b;if(b.child)b.child[\"return\"]=b,b=b.child;else{if(b===a)break;for(;!b.sibling;){if(!b[\"return\"]||b[\"return\"]===a)return null;b=b[\"return\"]}b.sibling[\"return\"]=b[\"return\"];b=b.sibling}}return null},findCurrentHostFiberWithNoPortals:function(a){a=ab(a);\nif(!a)return null;for(var b=a;;){if(b.tag===Sa||b.tag===Va)return b;if(b.child&&b.tag!==Ua)b.child[\"return\"]=b,b=b.child;else{if(b===a)break;for(;!b.sibling;){if(!b[\"return\"]||b[\"return\"]===a)return null;b=b[\"return\"]}b.sibling[\"return\"]=b[\"return\"];b=b.sibling}}return null}},K={_caughtError:null,_hasCaughtError:!1,_rethrowError:null,_hasRethrowError:!1,injection:{injectErrorUtils:function(a){\"function\"!==typeof a.invokeGuardedCallback?w(\"197\"):void 0;cb=a.invokeGuardedCallback}},invokeGuardedCallback:function(a,\nb,c,d,e,f,g,h,k){cb.apply(K,arguments)},invokeGuardedCallbackAndCatchFirstError:function(a,b,c,d,e,f,g,h,k){K.invokeGuardedCallback.apply(this,arguments);if(K.hasCaughtError()){var p=K.clearCaughtError();K._hasRethrowError||(K._hasRethrowError=!0,K._rethrowError=p)}},rethrowCaughtError:function(){return db.apply(K,arguments)},hasCaughtError:function(){return K._hasCaughtError},clearCaughtError:function(){if(K._hasCaughtError){var a=K._caughtError;K._caughtError=null;K._hasCaughtError=!1;return a}w(\"198\")}};\nfunction cb(a,b,c,d,e,f,g,h,k){K._hasCaughtError=!1;K._caughtError=null;var p=Array.prototype.slice.call(arguments,3);try{b.apply(c,p)}catch(x){K._caughtError=x,K._hasCaughtError=!0}}function db(){if(K._hasRethrowError){var a=K._rethrowError;K._rethrowError=null;K._hasRethrowError=!1;throw a;}}var eb=K,fb;function gb(a,b,c,d){b=a.type||\"unknown-event\";a.currentTarget=hb.getNodeFromInstance(d);eb.invokeGuardedCallbackAndCatchFirstError(b,c,void 0,a);a.currentTarget=null}\nvar hb={isEndish:function(a){return\"topMouseUp\"===a||\"topTouchEnd\"===a||\"topTouchCancel\"===a},isMoveish:function(a){return\"topMouseMove\"===a||\"topTouchMove\"===a},isStartish:function(a){return\"topMouseDown\"===a||\"topTouchStart\"===a},executeDirectDispatch:function(a){var b=a._dispatchListeners,c=a._dispatchInstances;Array.isArray(b)?w(\"103\"):void 0;a.currentTarget=b?hb.getNodeFromInstance(c):null;b=b?b(a):null;a.currentTarget=null;a._dispatchListeners=null;a._dispatchInstances=null;return b},executeDispatchesInOrder:function(a,\nb){var c=a._dispatchListeners,d=a._dispatchInstances;if(Array.isArray(c))for(var e=0;e<c.length&&!a.isPropagationStopped();e++)gb(a,b,c[e],d[e]);else c&&gb(a,b,c,d);a._dispatchListeners=null;a._dispatchInstances=null},executeDispatchesInOrderStopAtTrue:function(a){a:{var b=a._dispatchListeners;var c=a._dispatchInstances;if(Array.isArray(b))for(var d=0;d<b.length&&!a.isPropagationStopped();d++){if(b[d](a,c[d])){b=c[d];break a}}else if(b&&b(a,c)){b=c;break a}b=null}a._dispatchInstances=null;a._dispatchListeners=\nnull;return b},hasDispatches:function(a){return!!a._dispatchListeners},getFiberCurrentPropsFromNode:function(a){return fb.getFiberCurrentPropsFromNode(a)},getInstanceFromNode:function(a){return fb.getInstanceFromNode(a)},getNodeFromInstance:function(a){return fb.getNodeFromInstance(a)},injection:{injectComponentTree:function(a){fb=a}}},ib=hb,jb=null,kb=null,lb=null;\nfunction mb(a){if(a=ib.getInstanceFromNode(a))if(\"number\"===typeof a.tag){jb&&\"function\"===typeof jb.restoreControlledState?void 0:w(\"194\");var b=ib.getFiberCurrentPropsFromNode(a.stateNode);jb.restoreControlledState(a.stateNode,a.type,b)}else\"function\"!==typeof a.restoreControlledState?w(\"195\"):void 0,a.restoreControlledState()}\nvar nb={injection:{injectFiberControlledHostComponent:function(a){jb=a}},enqueueStateRestore:function(a){kb?lb?lb.push(a):lb=[a]:kb=a},restoreStateIfNeeded:function(){if(kb){var a=kb,b=lb;lb=kb=null;mb(a);if(b)for(a=0;a<b.length;a++)mb(b[a])}}};function ob(a,b,c,d,e,f){return a(b,c,d,e,f)}function pb(a,b){return a(b)}function qb(a,b){return pb(a,b)}\nvar rb=!1,sb={batchedUpdates:function(a,b){if(rb)return ob(qb,a,b);rb=!0;try{return ob(qb,a,b)}finally{rb=!1,nb.restoreStateIfNeeded()}},injection:{injectStackBatchedUpdates:function(a){ob=a},injectFiberBatchedUpdates:function(a){pb=a}}},tb=F.TEXT_NODE;function ub(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return a.nodeType===tb?a.parentNode:a}var vb=E.HostRoot,wb=[];\nfunction xb(a){var b=a.targetInst;do{if(!b){a.ancestors.push(b);break}var c=b;if(\"number\"===typeof c.tag){for(;c[\"return\"];)c=c[\"return\"];c=c.tag!==vb?null:c.stateNode.containerInfo}else{for(;c._hostParent;)c=c._hostParent;c=G.getNodeFromInstance(c).parentNode}if(!c)break;a.ancestors.push(b);b=G.getClosestInstanceFromNode(c)}while(b);for(c=0;c<a.ancestors.length;c++)b=a.ancestors[c],yb._handleTopLevel(a.topLevelType,b,a.nativeEvent,ub(a.nativeEvent))}\nvar yb={_enabled:!0,_handleTopLevel:null,setHandleTopLevel:function(a){yb._handleTopLevel=a},setEnabled:function(a){yb._enabled=!!a},isEnabled:function(){return yb._enabled},trapBubbledEvent:function(a,b,c){return c?ba.listen(c,b,yb.dispatchEvent.bind(null,a)):null},trapCapturedEvent:function(a,b,c){return c?ba.capture(c,b,yb.dispatchEvent.bind(null,a)):null},dispatchEvent:function(a,b){if(yb._enabled){var c=ub(b);c=G.getClosestInstanceFromNode(c);null===c||\"number\"!==typeof c.tag||bb.isFiberMounted(c)||\n(c=null);if(wb.length){var d=wb.pop();d.topLevelType=a;d.nativeEvent=b;d.targetInst=c;a=d}else a={topLevelType:a,nativeEvent:b,targetInst:c,ancestors:[]};try{sb.batchedUpdates(xb,a)}finally{a.topLevelType=null,a.nativeEvent=null,a.targetInst=null,a.ancestors.length=0,10>wb.length&&wb.push(a)}}}},L=yb;function Cb(a,b){null==b?w(\"30\"):void 0;if(null==a)return b;if(Array.isArray(a)){if(Array.isArray(b))return a.push.apply(a,b),a;a.push(b);return a}return Array.isArray(b)?[a].concat(b):[a,b]}\nfunction Db(a,b,c){Array.isArray(a)?a.forEach(b,c):a&&b.call(c,a)}var Eb=null;function Fb(a,b){a&&(ib.executeDispatchesInOrder(a,b),a.isPersistent()||a.constructor.release(a))}function Gb(a){return Fb(a,!0)}function Hb(a){return Fb(a,!1)}\nfunction Ib(a,b,c){switch(a){case \"onClick\":case \"onClickCapture\":case \"onDoubleClick\":case \"onDoubleClickCapture\":case \"onMouseDown\":case \"onMouseDownCapture\":case \"onMouseMove\":case \"onMouseMoveCapture\":case \"onMouseUp\":case \"onMouseUpCapture\":return!(!c.disabled||\"button\"!==b&&\"input\"!==b&&\"select\"!==b&&\"textarea\"!==b);default:return!1}}\nvar Jb={injection:{injectEventPluginOrder:sa.injectEventPluginOrder,injectEventPluginsByName:sa.injectEventPluginsByName},getListener:function(a,b){if(\"number\"===typeof a.tag){var c=a.stateNode;if(!c)return null;var d=ib.getFiberCurrentPropsFromNode(c);if(!d)return null;c=d[b];if(Ib(b,a.type,d))return
|
|