Version Description
Download this release
Release Info
Developer | bravenewcode |
Plugin | WPtouch |
Version | 4.3 |
Comparing to | |
See all releases |
Code changes from version 4.2.6 to 4.3
- admin/css/wptouch-admin-4.css +9 -2
- admin/customizer/wptouch-customizer.js +4 -4
- admin/customizer/wptouch-customizer.php +29 -6
- admin/fontello/LICENSE.txt +1 -1
- admin/fontello/config.json +14 -0
- admin/fontello/css/fontello-codes.css +2 -1
- admin/fontello/css/fontello-embedded.css +8 -7
- admin/fontello/css/fontello-ie7-codes.css +2 -1
- admin/fontello/css/fontello-ie7.css +2 -1
- admin/fontello/css/fontello.css +9 -8
- admin/fontello/demo.html +8 -5
- admin/fontello/font/fontello.eot +0 -0
- admin/fontello/font/fontello.svg +2 -0
- admin/fontello/font/fontello.ttf +0 -0
- admin/fontello/font/fontello.woff +0 -0
- admin/fontello/font/fontello.woff2 +0 -0
- admin/js/wptouch-admin-4.js +1 -1
- admin/pages/wptouch-admin-general-settings.php +2 -2
- admin/settings/html/checkbox.php +6 -1
- admin/settings/html/list.php +5 -1
- admin/settings/html/multiline-comma.php +5 -1
- admin/settings/html/multiline-newline.php +5 -1
- admin/settings/html/plugin-compat-ajax.php +3 -0
- admin/settings/html/text.php +5 -1
- core/admin-load.php +5 -1
- core/admin-render.php +2 -1
- core/class-bncapi.php +1 -1
- core/class-cache-smash.php +23 -4
- core/class-wptouch-pro.php +3 -1
- core/menu-walkers.php +1 -1
- lang/wptouch.pot +232 -150
- readme.txt +6 -1
- themes/bauhaus/bauhaus-customizer.js +51 -5
- themes/bauhaus/default/bauhaus.js +98 -4
- themes/bauhaus/default/featured-slider.php +0 -18
- themes/bauhaus/default/functions.php +214 -10
- themes/bauhaus/default/header-bottom.php +0 -4
- themes/bauhaus/default/index.php +8 -31
- themes/bauhaus/default/layouts/carousel-post-loop.php +29 -0
- themes/bauhaus/default/layouts/carousel-view.php +38 -0
- themes/bauhaus/default/layouts/post-listing-view.php +32 -0
- themes/bauhaus/default/page-content.php +3 -3
- themes/bauhaus/default/post-loop.php +7 -6
- themes/bauhaus/default/related-posts.php +14 -17
- themes/bauhaus/default/single.php +4 -7
- themes/bauhaus/default/style.css +272 -220
- themes/bauhaus/readme.txt +19 -10
- themes/bauhaus/root-functions.php +264 -50
- themes/bauhaus/screenshot.png +0 -0
- themes/foundation/default/featured-posts.php +9 -0
- themes/foundation/modules/custom-posts/custom-posts.php +4 -1
- themes/foundation/modules/featured/featured.php +19 -19
- themes/foundation/modules/featured/wptouch-owl.js +6 -3
- themes/foundation/modules/flickity/flickity-wptouch.js +0 -0
- themes/foundation/modules/flickity/flickity.css +130 -0
- themes/foundation/modules/flickity/flickity.min.css +4 -0
- themes/foundation/modules/flickity/flickity.php +31 -0
- themes/foundation/modules/flickity/flickity.pkgd.js +4625 -0
- themes/foundation/modules/flickity/flickity.pkgd.min.js +13 -0
- themes/foundation/modules/slideout/slideout-helper.js +1 -8
- wptouch.php +2 -2
admin/css/wptouch-admin-4.css
CHANGED
@@ -1,3 +1,5 @@
|
|
|
|
|
|
1 |
/* @group Clearfix */
|
2 |
|
3 |
.wptouch-clearfix:after {
|
@@ -167,7 +169,6 @@ a#preview-theme {
|
|
167 |
float: right;
|
168 |
}
|
169 |
|
170 |
-
|
171 |
#wptouch-settings-area .wptouch-section .new,
|
172 |
#wptouch-settings-area .wptouch-section .advanced,
|
173 |
#wptouch-settings-area .wptouch-section .pro {
|
@@ -200,7 +201,6 @@ a#preview-theme {
|
|
200 |
font-size: 11px;
|
201 |
text-transform: uppercase;
|
202 |
padding: 1px 4px;
|
203 |
-
display: none;
|
204 |
}
|
205 |
|
206 |
#admin-spinner {
|
@@ -471,6 +471,13 @@ a#preview-theme {
|
|
471 |
width: 20px;
|
472 |
}
|
473 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
474 |
/* @end */
|
475 |
|
476 |
/* @end */
|
1 |
+
/* @override http://wptp3.local.com/wp-content/plugins/wptouch-pro/admin/css/wptouch-admin-4.css?ver=a16b0b39889181577ded41b49cd80b1b */
|
2 |
+
|
3 |
/* @group Clearfix */
|
4 |
|
5 |
.wptouch-clearfix:after {
|
169 |
float: right;
|
170 |
}
|
171 |
|
|
|
172 |
#wptouch-settings-area .wptouch-section .new,
|
173 |
#wptouch-settings-area .wptouch-section .advanced,
|
174 |
#wptouch-settings-area .wptouch-section .pro {
|
201 |
font-size: 11px;
|
202 |
text-transform: uppercase;
|
203 |
padding: 1px 4px;
|
|
|
204 |
}
|
205 |
|
206 |
#admin-spinner {
|
471 |
width: 20px;
|
472 |
}
|
473 |
|
474 |
+
#wptouch-admin-menu ul li a.wptouch-addon-power-pack:before {
|
475 |
+
content: '\e824';
|
476 |
+
display: inline-block;
|
477 |
+
text-align: center;
|
478 |
+
width: 20px;
|
479 |
+
}
|
480 |
+
|
481 |
/* @end */
|
482 |
|
483 |
/* @end */
|
admin/customizer/wptouch-customizer.js
CHANGED
@@ -21,9 +21,9 @@ function wptouchCustomizerDeviceToggles() {
|
|
21 |
function wptouchCustomizerWindowMods(){
|
22 |
|
23 |
// New free ad
|
24 |
-
if ( WPtouchCustomizer.wptouch_is_pro == 'no' ) {
|
25 |
-
html += '<div id="wptouch-pro-notice">Upgrade to WPtouch Pro and save $10 with coupon code <span>TOUCHUP10</span><a class="button button-primary" href="http://www.wptouch.com/go-pro/?utm_source=free_admin&utm_medium=website&utm_term=customizer&utm_campaign=customizer" target="_blank">Go Pro Today</a></div>';
|
26 |
-
}
|
27 |
|
28 |
jQuery( '.wp-full-overlay' ).append( html);
|
29 |
|
@@ -99,7 +99,7 @@ function wptouchCustomizerFoundationSettings(){
|
|
99 |
});
|
100 |
|
101 |
// Featured Slider on/off
|
102 |
-
var featuredCheckbox = jQuery( '[id$=
|
103 |
featuredCheckbox.on( 'change wptouch.customizerReady', 'input', function(){
|
104 |
if ( jQuery( this ).is( ':checked' ) ) {
|
105 |
featuredCheckbox.nextAll( 'li' ).css( 'visibility', '' );
|
21 |
function wptouchCustomizerWindowMods(){
|
22 |
|
23 |
// New free ad
|
24 |
+
// if ( WPtouchCustomizer.wptouch_is_pro == 'no' ) {
|
25 |
+
// html += '<div id="wptouch-pro-notice">Upgrade to WPtouch Pro and save $10 with coupon code <span>TOUCHUP10</span><a class="button button-primary" href="http://www.wptouch.com/go-pro/?utm_source=free_admin&utm_medium=website&utm_term=customizer&utm_campaign=customizer" target="_blank">Go Pro Today</a></div>';
|
26 |
+
// }
|
27 |
|
28 |
jQuery( '.wp-full-overlay' ).append( html);
|
29 |
|
99 |
});
|
100 |
|
101 |
// Featured Slider on/off
|
102 |
+
var featuredCheckbox = jQuery( '[id$=wptouch_featured_enabled]' );
|
103 |
featuredCheckbox.on( 'change wptouch.customizerReady', 'input', function(){
|
104 |
if ( jQuery( this ).is( ':checked' ) ) {
|
105 |
featuredCheckbox.nextAll( 'li' ).css( 'visibility', '' );
|
admin/customizer/wptouch-customizer.php
CHANGED
@@ -2,6 +2,9 @@
|
|
2 |
global $wptouch_pro;
|
3 |
$current_theme = $wptouch_pro->get_current_theme_info();
|
4 |
|
|
|
|
|
|
|
5 |
if ( $current_theme && wptouch_admin_use_customizer() ) {
|
6 |
|
7 |
add_action( 'admin_init', 'wptouch_initialize_customizer' );
|
@@ -27,6 +30,8 @@ if ( $current_theme && wptouch_admin_use_customizer() ) {
|
|
27 |
// If we're in the customizer and we're editing the mobile theme...
|
28 |
if ( wptouch_is_customizing_mobile() ) {
|
29 |
|
|
|
|
|
30 |
add_filter( 'customize_previewable_devices', '__return_empty_array' );
|
31 |
|
32 |
add_filter( 'validate_current_theme', 'wptouch_return_false' );
|
@@ -162,16 +167,17 @@ $merging_setting = false;
|
|
162 |
function wptouch_customizer_merge_setting( $domain, $setting, $value ) {
|
163 |
require_once( WPTOUCH_DIR . '/core/admin-load.php' );
|
164 |
|
165 |
-
global $merging_setting;
|
166 |
global $wptouch_pro;
|
167 |
global $options_domains;
|
168 |
|
|
|
|
|
169 |
if ( !$merging_setting ) {
|
170 |
$merging_setting = true;
|
171 |
$customizable_settings = wptouch_get_customizable_settings();
|
172 |
$current_theme = $wptouch_pro->get_current_theme_info();
|
173 |
|
174 |
-
wptouch_customizer_begin_theme_override();
|
175 |
if ( isset( $customizable_settings[ $domain ] ) || $domain == $current_theme->base ) {
|
176 |
if ( in_array( $domain, $options_domains ) ) {
|
177 |
$option_array = get_option( 'wptouch_customizer_options_' . $domain );
|
@@ -185,10 +191,11 @@ function wptouch_customizer_merge_setting( $domain, $setting, $value ) {
|
|
185 |
set_theme_mod( 'wptouch_' . $setting, $value );
|
186 |
}
|
187 |
}
|
188 |
-
}
|
189 |
-
wptouch_customizer_end_theme_override();
|
190 |
$merging_setting = false;
|
191 |
}
|
|
|
|
|
192 |
}
|
193 |
|
194 |
function wptouch_customizer_load_theme_js() {
|
@@ -450,7 +457,11 @@ function wptouch_customizer_setup( $wp_customize ) {
|
|
450 |
$setting_use_name = 'wptouch_customizer_options_' . $setting->domain . '[' . str_replace( '[', '-----', str_replace( ']', '_____', $setting->name ) ) . ']';
|
451 |
$wp_customize->add_setting( $setting_use_name, array_merge( array( 'type' => 'option' ), $setting_args ) );
|
452 |
} else {
|
|
|
453 |
$setting_use_name = 'wptouch_' . $setting->name;
|
|
|
|
|
|
|
454 |
$wp_customize->add_setting( $setting_use_name, array_merge( array( 'type' => 'theme_mod' ), $setting_args ) );
|
455 |
}
|
456 |
|
@@ -772,11 +783,23 @@ function wptouch_get_current_theme_name( $value=false ) {
|
|
772 |
}
|
773 |
|
774 |
function wptouch_customizer_begin_theme_override() {
|
775 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
776 |
}
|
777 |
|
778 |
function wptouch_customizer_end_theme_override() {
|
779 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
780 |
}
|
781 |
|
782 |
function wptouch_customizer_port_image( $customizer_setting, $source_setting, $settings_domain = 'foundation' ) {
|
2 |
global $wptouch_pro;
|
3 |
$current_theme = $wptouch_pro->get_current_theme_info();
|
4 |
|
5 |
+
global $wptouch_queued_items;
|
6 |
+
$wptouch_queued_items = 0;
|
7 |
+
|
8 |
if ( $current_theme && wptouch_admin_use_customizer() ) {
|
9 |
|
10 |
add_action( 'admin_init', 'wptouch_initialize_customizer' );
|
30 |
// If we're in the customizer and we're editing the mobile theme...
|
31 |
if ( wptouch_is_customizing_mobile() ) {
|
32 |
|
33 |
+
wptouch_customizer_begin_theme_override();
|
34 |
+
|
35 |
add_filter( 'customize_previewable_devices', '__return_empty_array' );
|
36 |
|
37 |
add_filter( 'validate_current_theme', 'wptouch_return_false' );
|
167 |
function wptouch_customizer_merge_setting( $domain, $setting, $value ) {
|
168 |
require_once( WPTOUCH_DIR . '/core/admin-load.php' );
|
169 |
|
170 |
+
global $merging_setting;
|
171 |
global $wptouch_pro;
|
172 |
global $options_domains;
|
173 |
|
174 |
+
wptouch_customizer_begin_theme_override();
|
175 |
+
|
176 |
if ( !$merging_setting ) {
|
177 |
$merging_setting = true;
|
178 |
$customizable_settings = wptouch_get_customizable_settings();
|
179 |
$current_theme = $wptouch_pro->get_current_theme_info();
|
180 |
|
|
|
181 |
if ( isset( $customizable_settings[ $domain ] ) || $domain == $current_theme->base ) {
|
182 |
if ( in_array( $domain, $options_domains ) ) {
|
183 |
$option_array = get_option( 'wptouch_customizer_options_' . $domain );
|
191 |
set_theme_mod( 'wptouch_' . $setting, $value );
|
192 |
}
|
193 |
}
|
194 |
+
}
|
|
|
195 |
$merging_setting = false;
|
196 |
}
|
197 |
+
|
198 |
+
wptouch_customizer_end_theme_override();
|
199 |
}
|
200 |
|
201 |
function wptouch_customizer_load_theme_js() {
|
457 |
$setting_use_name = 'wptouch_customizer_options_' . $setting->domain . '[' . str_replace( '[', '-----', str_replace( ']', '_____', $setting->name ) ) . ']';
|
458 |
$wp_customize->add_setting( $setting_use_name, array_merge( array( 'type' => 'option' ), $setting_args ) );
|
459 |
} else {
|
460 |
+
|
461 |
$setting_use_name = 'wptouch_' . $setting->name;
|
462 |
+
|
463 |
+
|
464 |
+
$value = get_theme_mod( $setting_use_name );
|
465 |
$wp_customize->add_setting( $setting_use_name, array_merge( array( 'type' => 'theme_mod' ), $setting_args ) );
|
466 |
}
|
467 |
|
783 |
}
|
784 |
|
785 |
function wptouch_customizer_begin_theme_override() {
|
786 |
+
global $wptouch_queued_items;
|
787 |
+
|
788 |
+
if ( $wptouch_queued_items == 0 ) {
|
789 |
+
add_filter( 'pre_option_stylesheet', 'wptouch_get_current_theme_name', 50 );
|
790 |
+
}
|
791 |
+
|
792 |
+
$wptouch_queued_items++;
|
793 |
}
|
794 |
|
795 |
function wptouch_customizer_end_theme_override() {
|
796 |
+
global $wptouch_queued_items;
|
797 |
+
|
798 |
+
$wptouch_queued_items--;
|
799 |
+
|
800 |
+
if ( $wptouch_queued_items == 0 ) {
|
801 |
+
remove_filter( 'pre_option_stylesheet', 'wptouch_get_current_theme_name', 50 );
|
802 |
+
}
|
803 |
}
|
804 |
|
805 |
function wptouch_customizer_port_image( $customizer_setting, $source_setting, $settings_domain = 'foundation' ) {
|
admin/fontello/LICENSE.txt
CHANGED
@@ -30,7 +30,7 @@ Font license info
|
|
30 |
|
31 |
## Font Awesome
|
32 |
|
33 |
-
Copyright (C)
|
34 |
|
35 |
Author: Dave Gandy
|
36 |
License: SIL ()
|
30 |
|
31 |
## Font Awesome
|
32 |
|
33 |
+
Copyright (C) 2016 by Dave Gandy
|
34 |
|
35 |
Author: Dave Gandy
|
36 |
License: SIL ()
|
admin/fontello/config.json
CHANGED
@@ -357,6 +357,20 @@
|
|
357 |
"search": [
|
358 |
"make-child"
|
359 |
]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
360 |
}
|
361 |
]
|
362 |
}
|
357 |
"search": [
|
358 |
"make-child"
|
359 |
]
|
360 |
+
},
|
361 |
+
{
|
362 |
+
"uid": "37e06eefe892f80708f85a33e4b4192d",
|
363 |
+
"css": "circular-speedometer",
|
364 |
+
"code": 59428,
|
365 |
+
"src": "custom_icons",
|
366 |
+
"selected": true,
|
367 |
+
"svg": {
|
368 |
+
"path": "M500 0C223.9 0 0 223.9 0 500S223.9 1000 500 1000 1000 776.1 1000 500 776.1 0 500 0ZM921.5 500C921.5 556.9 910.4 612.1 888.4 664.1 867.1 714.3 836.8 759.4 798.1 798.1 759.3 836.8 714.3 867.1 664.1 888.4 612.1 910.4 556.9 921.5 500 921.5S387.9 910.4 335.9 888.4C285.7 867.1 240.6 836.8 201.9 798.1S132.9 714.3 111.6 664.1C89.6 612.1 78.5 556.9 78.5 500S89.6 387.9 111.6 335.9C132.9 285.7 163.2 240.6 201.9 201.9 240.6 163.2 285.7 132.9 335.9 111.6 387.9 89.6 443.1 78.5 500 78.5S612.1 89.6 664.1 111.6C714.3 132.9 759.4 163.2 798.1 201.9 836.8 240.6 867.1 285.7 888.4 335.9 910.4 387.9 921.5 443.1 921.5 500ZM500 125.9C400.1 125.9 306.1 164.8 235.4 235.4 164.8 306.1 125.9 400.1 125.9 500S164.8 693.9 235.4 764.6C306.1 835.2 400.1 874.1 500 874.1S693.9 835.2 764.6 764.6C835.2 693.9 874.1 599.9 874.1 500S835.2 306.1 764.6 235.4C693.9 164.8 599.9 125.9 500 125.9ZM617.5 207L609.9 239.9 601.8 275 549.5 502.2 545.4 520.1C544.6 523.2 543.5 526.5 542 529.6 534.3 545.2 518.7 554.3 502.3 554.3 495.8 554.3 489.2 552.9 483 549.8 464.8 540.9 455.5 521.2 459 502.2 459.7 498.3 460.9 494.5 462.7 490.8L575.5 260.2 590 230.6 603.9 202.2C604.1 201.7 604.3 201.3 604.6 200.9 606.1 198.9 608.1 198.1 610.2 198.1 614.2 198.1 618.2 201.3 617.6 206.1 617.6 206.4 617.6 206.7 617.5 207ZM180.9 491.8C180.9 490.1 180.8 488.2 180.8 486.1 180.8 484 180.9 481.7 180.9 479.3 181 476.8 181 474.1 181.1 471.3 181.3 468.4 181.5 465.4 181.8 462.3 181.9 460.7 182 459 182.1 457.3 182.3 455.7 182.5 454 182.7 452.2 183.1 448.7 183.5 445 184.1 441.2 184.7 437.4 185.4 433.4 186.1 429.3 186.4 427.2 187 425.2 187.4 423.1 187.9 420.9 188.4 418.8 188.9 416.6 193.1 399.2 199.4 379.7 208.8 359.5 209.3 358.2 210 356.9 210.6 355.7 211.2 354.4 211.9 353.1 212.5 351.9 213.8 349.3 215.1 346.7 216.4 344.1 217.9 341.6 219.3 339 220.8 336.5 221.5 335.2 222.2 333.9 223 332.6 223.7 331.3 224.6 330 225.4 328.7 227 326.2 228.6 323.6 230.3 321 231.1 319.7 232 318.4 232.9 317.1 233.8 315.9 234.6 314.6 235.5 313.3 236.4 312 237.4 310.7 238.3 309.4L239.6 307.5 241.1 305.6C243 303.1 245 300.5 247 298L248.5 296C249 295.4 249.5 294.8 250.1 294.2 251.1 292.9 252.2 291.7 253.3 290.4 254.3 289.2 255.4 287.9 256.5 286.7L258.1 284.8C258.6 284.2 259.2 283.6 259.8 283 262.1 280.5 264.4 278.1 266.7 275.6L268.4 273.8 270.3 272C271.5 270.8 272.7 269.6 274 268.4 278.8 263.6 284.1 259.1 289.4 254.5 292 252.2 294.8 250.1 297.6 247.8 299 246.7 300.4 245.6 301.8 244.5 303.2 243.5 304.7 242.4 306.1 241.4 329.2 224.4 355.8 210.1 384.6 199.7 388.2 198.4 391.8 197.2 395.5 195.9 399.1 194.8 402.8 193.8 406.6 192.7L412.1 191.1 417.8 189.8 423.5 188.5C425.4 188 427.3 187.5 429.2 187.2 433 186.5 436.9 185.8 440.7 185.1 441.7 185 442.7 184.8 443.6 184.6L446.5 184.3 452.4 183.5 458.2 182.8C460.1 182.5 462.1 182.4 464.1 182.2L475.8 181.3C477.3 181.3 476.4 181.3 476.8 181.3L477.2 181.3 477.9 181.3 479.2 181.2 481.9 181.2 487.4 181 490.1 180.9 491.4 180.9C491.9 180.8 492.4 180.9 492.9 180.9L499.1 181 505.3 181.2 508.4 181.3C509.4 181.3 510.4 181.4 511.3 181.5 515.3 181.7 519.2 182 523.2 182.3 525.2 182.5 527.1 182.8 529.1 183L535 183.7 540.9 184.5 546.7 185.5C550.6 186.2 554.5 186.8 558.4 187.6 562.2 188.5 566.1 189.4 569.9 190.3 573 191 576.1 191.9 579.2 192.7L565.1 221.4 551.3 249.8C548.5 248.8 545.7 247.9 542.9 246.9 539.8 245.8 536.7 245 533.7 244.1L529 242.7 524.3 241.5 519.6 240.4C518 240 516.4 239.6 514.8 239.3 511.6 238.7 508.4 238.1 505.2 237.4 504.4 237.3 503.6 237.1 502.8 237L500.5 236.7 495.9 236 491.2 235.3C490.8 235.3 490.5 235.2 490 235.2L488.7 235.1 486 234.8 480.6 234.4 477.9 234.2 476.5 234.1 475.8 234 475.5 234C475.7 234 474.6 233.9 475.8 234L465.9 233.6C464.3 233.6 462.6 233.4 461 233.5L456 233.5 451 233.6 448.5 233.6C447.7 233.6 446.9 233.7 446.1 233.8 442.7 234 439.4 234.2 436.1 234.4 434.5 234.5 432.8 234.7 431.2 234.9L426.2 235.5 421.3 236 416.4 236.9C413.1 237.4 409.9 237.9 406.6 238.5 403.4 239.3 400.1 240 396.9 240.7 371.2 246.8 346.6 256.5 324.3 269.3 322.9 270.1 321.5 270.8 320.1 271.6 318.8 272.5 317.4 273.3 316.1 274.2 313.4 275.9 310.7 277.5 308 279.2 302.9 282.9 297.6 286.3 292.8 290.2 291.5 291.1 290.3 292.1 289.1 293L287.2 294.4 285.5 295.9C283.1 297.9 280.8 299.9 278.4 301.9 277.9 302.4 277.3 302.9 276.7 303.4L275 304.9C273.9 305.9 272.8 307 271.7 308 270.6 309 269.5 310.1 268.4 311.1 267.9 311.6 267.3 312.1 266.8 312.6L265.2 314.2C263.1 316.4 261 318.5 259 320.6L257.4 322.2 256 323.8C255 324.9 254.1 326 253.1 327.1 252.1 328.2 251.2 329.3 250.2 330.4 249.2 331.4 248.3 332.5 247.4 333.6 245.6 335.9 243.8 338.1 242 340.3 241.2 341.4 240.2 342.5 239.4 343.6 238.6 344.7 237.8 345.9 237 347 235.3 349.3 233.7 351.5 232.1 353.7 230.5 356 229.1 358.2 227.6 360.5 226.9 361.6 226.1 362.7 225.4 363.8 224.7 365 223.9 366.1 223.3 367.2 212.3 385.2 204.1 403.1 198.2 419.4 197.5 421.4 196.8 423.4 196.1 425.4 195.4 427.4 194.7 429.3 194.2 431.3 193 435.2 191.9 439 190.9 442.6 189.9 446.2 189.1 449.8 188.3 453.2 187.9 454.8 187.5 456.5 187.1 458.1 186.8 459.7 186.5 461.3 186.2 462.9 185.7 466 185.1 468.9 184.6 471.6 184.2 474.4 183.9 477 183.5 479.4 183.2 481.9 182.9 484.1 182.6 486.2 182.4 488.2 182.3 490.1 182.1 491.8 181.6 498.6 181.3 502.2 181.3 502.2 181.3 502.2 181.2 498.6 180.9 491.8ZM772.3 338.4C773.2 339.7 774 341 774.8 342.4 787.6 363.8 797.1 385 803.9 404.3 804.7 406.8 805.5 409.2 806.3 411.5 807.1 413.9 808 416.2 808.6 418.5 809.9 423.1 811.1 427.6 812.3 431.9 813.4 436.2 814.3 440.4 815.3 444.4 815.7 446.4 816.2 448.3 816.6 450.2 816.9 452.1 817.3 454 817.6 455.8 818.2 459.5 818.8 463 819.4 466.2 819.9 469.5 820.2 472.6 820.6 475.4 821 478.3 821.3 480.9 821.6 483.4 821.9 485.8 822 488 822.1 490 822.7 498 823 502.2 823 502.2H717.8C717.8 502.2 717.9 499.2 718.1 493.6 718.2 492.2 718.3 490.6 718.3 488.9 718.3 487.2 718.3 485.3 718.2 483.3 718.2 481.2 718.3 479 718.2 476.7 718 474.4 717.9 471.9 717.7 469.3 717.7 468 717.6 466.6 717.5 465.2 717.4 463.8 717.2 462.4 717.1 461 716.7 458.1 716.5 455.1 716 451.9 715.5 448.8 715 445.5 714.5 442.1 714.3 440.4 713.8 438.7 713.5 437 713.1 435.2 712.7 433.4 712.3 431.6 709.1 417.2 704.1 401.1 696.5 384.3 696.1 383.2 695.5 382.2 695 381.1 694.5 380.1 694 379 693.5 378 692.4 375.9 691.4 373.7 690.3 371.6 689.1 369.5 688 367.3 686.8 365.2 686.2 364.1 685.6 363 685 361.9 684.4 360.8 683.7 359.8 683.1 358.7 681.7 356.6 680.4 354.4 679.1 352.3 678.4 351.1 677.7 350.1 677 349 676.2 348 675.5 346.9 674.8 345.8 674 344.8 673.3 343.7 672.6 342.6L671.4 341 670.2 339.4C668.6 337.3 667 335.2 665.4 333L664.2 331.4C663.8 330.9 663.3 330.4 662.9 329.8 662 328.8 661.2 327.8 660.3 326.7 659.4 325.7 658.5 324.6 657.7 323.6L656.3 322C655.9 321.4 655.4 321 654.9 320.4 653.1 318.4 651.2 316.3 649.3 314.3L647.8 312.7 646.3 311.2C645.3 310.3 644.3 309.3 643.3 308.3 639.3 304.2 634.9 300.4 630.6 296.5 628.8 294.9 626.9 293.4 624.9 291.8L633.8 253.5 642.1 217.5C646.8 219.9 651.5 222.5 656.1 225.2 657.7 226.1 659.4 227.1 661 228 662.6 229 664.2 230.1 665.8 231.1 669 233.1 672.2 235.1 675.3 237.2 681.4 241.5 687.6 245.7 693.3 250.4 694.8 251.5 696.2 252.7 697.7 253.8L699.8 255.5 701.9 257.3C704.7 259.7 707.4 262 710.2 264.4 710.9 265 711.5 265.6 712.2 266.2L714.2 268C715.5 269.3 716.8 270.5 718.1 271.7 719.4 273 720.7 274.2 722 275.4 722.6 276 723.3 276.6 723.9 277.3L725.7 279.2C728.2 281.7 730.6 284.3 733 286.8L734.8 288.7 736.5 290.6C737.7 291.9 738.8 293.2 739.9 294.5 741.1 295.8 742.2 297.1 743.3 298.4 744.4 299.7 745.6 301 746.6 302.3 748.7 305 750.8 307.7 752.9 310.3 753.9 311.6 755 312.9 755.9 314.2 756.9 315.6 757.9 316.9 758.8 318.3 760.7 321 762.6 323.6 764.5 326.3 766.3 329 768 331.7 769.8 334.3 770.6 335.7 771.5 337 772.3 338.4Z",
|
369 |
+
"width": 1000
|
370 |
+
},
|
371 |
+
"search": [
|
372 |
+
"circular-speedometer"
|
373 |
+
]
|
374 |
}
|
375 |
]
|
376 |
}
|
admin/fontello/css/fontello-codes.css
CHANGED
@@ -34,4 +34,5 @@
|
|
34 |
.icon-heart-broken:before { content: '\e820'; } /* '' */
|
35 |
.icon-eye-off:before { content: '\e821'; } /* '' */
|
36 |
.icon-flash:before { content: '\e822'; } /* '' */
|
37 |
-
.icon-make-child:before { content: '\e823'; } /* '' */
|
|
34 |
.icon-heart-broken:before { content: '\e820'; } /* '' */
|
35 |
.icon-eye-off:before { content: '\e821'; } /* '' */
|
36 |
.icon-flash:before { content: '\e822'; } /* '' */
|
37 |
+
.icon-make-child:before { content: '\e823'; } /* '' */
|
38 |
+
.icon-circular-speedometer:before { content: '\e824'; } /* '' */
|
admin/fontello/css/fontello-embedded.css
CHANGED
@@ -1,15 +1,15 @@
|
|
1 |
@font-face {
|
2 |
font-family: 'fontello';
|
3 |
-
src: url('../font/fontello.eot?
|
4 |
-
src: url('../font/fontello.eot?
|
5 |
-
url('../font/fontello.svg?
|
6 |
font-weight: normal;
|
7 |
font-style: normal;
|
8 |
}
|
9 |
@font-face {
|
10 |
font-family: 'fontello';
|
11 |
-
src: url('data:application/octet-stream;base64,d09GRgABAAAAACyUAA8AAAAARkAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABWAAAADMAAABCsP6z7U9TLzIAAAGMAAAAQwAAAFY+J0k3Y21hcAAAAdAAAADwAAADWjLB7y9jdnQgAAACwAAAABMAAAAgBt/+9mZwZ20AAALUAAAFkAAAC3CKkZBZZ2FzcAAACGQAAAAIAAAACAAAABBnbHlmAAAIbAAAH68AAC7uEO01fGhlYWQAACgcAAAAMgAAADYKGjKNaGhlYQAAKFAAAAAgAAAAJAd2A7FobXR4AAAocAAAAF4AAACUgYf/p2xvY2EAACjQAAAATAAAAEzipu9RbWF4cAAAKRwAAAAgAAAAIAGrDJluYW1lAAApPAAAAXcAAALNzJ0cHnBvc3QAACq0AAABZAAAAg86YLwQcHJlcAAALBgAAAB6AAAAhuVBK7x4nGNgZGBg4GKQY9BhYHRx8wlh4GBgYYAAkAxjTmZ6IlAMygPKsYBpDiBmg4gCAIojA08AeJxjYGRuYJzAwMrAwFTFtIeBgaEHQjM+YDBkZAKKMrAyM2AFAWmuKQwOLxheKDMH/c9iiGIOZ5gLFGYEyQEA67UL3AB4nO3T220CMRSE4X/BITdCyP1OEthHCqOgPKWalDNdkDlmysDSZ8nWrrXyzAInwNS21mD4ZaDGj3eHvj/lou83dv2ZVvva7Peeqdnr1ueJn20+ccYpZ5z7vUvmXLHgmiU33HLHPQ888sQzL7zyxjsfrPjki2/WbBh90IzjmNc0/GU11l0f9NsP3ziKSlFReSgqYYWTQeGMUDgtFM4NRSWvcJYo6usUzheFk0bhzFE4fRTuAQo3AoW7gcItQeG+oHBzULhDKNwmFO4VCjcMhbuGwq1D4f6hcBNRuJMo3E4U7ikKNxaFu+u/4oDxHyv/VQJ4nGNgQAMSEMgc/j8ZhAESdAPZAHicrVZpd9NGFB15SZyELCULLWphxMRpsEYmbMGACUGyYyBdnK2VoIsUO+m+8Ynf4F/zZNpz6Dd+Wu8bLySQtOdwmpOjd+fN1czbZRJaktgL65GUmy/F1NYmjew8CemGTctRfCg7eyFlisnfBVEQrZbatx2HREQiULWusEQQ+x5ZmmR86FFGy7akV03KLT3pLlvjQb1V334aOsqxO6GkZjN0aD2yJVUYVaJIpj1S0qZlqPorSSu8v8LMV81QwohOImm8GcbQSN4bZ7TKaDW24yiKbLLcKFIkmuFBFHmU1RLn5IoJDMoHzZDyyqcR5cP8iKzYo5xWsEu20/y+L3mndzk/sV9vUbbkQB/Ijuzg7HQlX4RbW2HctJPtKFQRdtd3QmzZ7FT/Zo/ymkYDtysyvdCMYKl8hRArP6HM/iFZLZxP+ZJHo1qykRNB62VO7Es+gdbjiClxzRhZ0N3RCRHU/ZIzDPaYPh788d4plgsTAngcy3pHJZwIEylhczRJ2jByYCVliyqp9a6YOOV1WsRbwn7t2tGXzmjjUHdiPFsPHVs5UcnxaFKnmUyd2knNoykNopR0JnjMrwMoP6JJXm1jNYmVR9M4ZsaERCICLdxLU0EsO7GkKQTNoxm9uRumuXYtWqTJA/Xco/f05la4udNT2g70s0Z/VqdiOtgL0+lp5C/xadrlIkXp+ukZfkziQdYCMpEtNsOUgwdv/Q7Sy9eWHIXXBtju7fMrqH3WRPCkAfsb0B5P1SkJTIWYVYhWQGKta1mWydWsFqnI1HdDmla+rNMEinIcF8e+jHH9XzMzlpgSvt+J07MjLj1z7UsI0xx8m3U9mtepxXIBcWZ5TqdZlu/rNMfyA53mWZ7X6QhLW6ejLD/UaYHlRzodY3lBC5p038GQizDkAg6QMISlA0NYXoIhLBUMYbkIQ1gWYQjLJRjC8mMYwnIZhrC8rGXV1FNJ49qZWAZsQmBijh65zEXlaiq5VEK7aFRqQ54SbpVUFM+qf2WgXjzyhjmwFkiXyJpfMc6Vj0bl+NYVLW8aO1fAsepvH472OfFS1ouFPwX/1dZUJb1izcOTq/Abhp5sJ6o2qXh0TZfPVT26/l9UVFgL9BtIhVgoyrJscGcihI86nYZqoJVDzGzMPLTrdcuan8P9NzFCFlD9+DcUGgvcg05ZSVnt4KzV19uy3DuDcjgTLEkxN/P6VvgiI7PSfpFZyp6PfB5wBYxKZdhqA60VvNknMQ+Z3iTPBHFbUTZI2tjOBIkNHPOAefOdBCZh6qoN5E7hhg34BWFuwXknXKJ6oyyH7kXs8yik/Fun4kT2qGiMwLPZG2Gv70LKb3EMJDT5pX4MVBWhqRg1FdA0Um6oBl/G2bptQsYO9CMqdsOyrOLDxxb3lZJtGYR8pIjVo6Of1l6iTqrcfmYUl++dvgXBIDUxf3vfdHGQyrtayTJHbQNTtxqVU9eaQ+NVh+rmUfW94+wTOWuabronHnpf06rbwcVcLLD2bQ7SUiYX1PVhhQ2iy8WlUOplNEnvuAcYFhjQ71CKjf+r+th8nitVhdFxJN9O1LfR52AM/A/Yf0f1A9D3Y+hyDS7P95oTn2704WyZrqIX66foNzBrrblZugbc0HQD4iFHrY64yg18pwZxeqS5HOkh4GPdFeIBwCaAxeAT3bWM5lMAo/mMOT7A58xh0GQOgy3mMNhmzhrADnMY7DKHwR5zGHzBnHWAL5nDIGQOg4g5DJ4wJwB4yhwGXzGHwdfMYfANc+4DfMscBjFzGCTMYbCv6dYwzC1e0F2gtkFVoANTT1jcw+JQU2XI/o4Xhv29Qcz+wSCm/qjp9pD6Ey8M9WeDmPqLQUz9VdOdIfU3Xhjq7wYx9Q+DmPpMvxjLZQa/jHyXCgeUXWw+5++J9w/bxUC5AAEAAf//AA94nL16C5QkVZnm/e+Nd0ZERmZGREY+Kt+PynpXZmVmPbqqkqKL6kfRXd1VNNU8igL6RTfVDU3TgiCCMvh+rKJiD77YHmVUGFiZs551luM6DDL4GJ1l1BkHzxnUXcZVjzIuI0hF7X8zqxl0zjjCupuZEZEZcePem/f+//d9/3+DsI2XNt7LzrA+opAIqZCrWlfowGg+50UFUaZzRJZESRbXiChIonBMAaICZYSuEkYkmUmrGggAwhIeBFgm+GPesTUVSKmQSSVidsWpWKYa0SKiQBRQAqLdCw0SJgKhJJqTHMmtVRv1EVZtNMtSPjcNjXxOkqONWjUIEjz+KFiS/7x/p/9TCfTnegZoLlMaeCR17Uh4yDO1nvhQ6vSoNeLqeiHOeqj/y05JDW6F8AeH4slMX2Z8/cGREa9Q+vjq+EA8l7vnCMGWycZH2HtYFv+zSXKttGnoAU0EAnMUd+QEATgEpNNjxntcJRb2OEwiUIayDN/8PEj+i/57/V9SEE7BZbv9f7ptN+vCU+/2XxJAh6Ngrp/g539x265Oe2vsh2yBBLGOSz8XAnl250PVheWWp4CMAymzFUnAUSWwTwQAA7YnWplfvwRA9r6iDIEd+1sWvsJWONR+hVUx0asCyzu1er6ZjeadbD0PCaAP+u98YeqFN9wP75iYhubU+lN/vY0trH/Df8fU1AsvTE3BjdD0/5LI2McH2bPMxD56JElGyXlkhRyGz7TMBhjadggEFyHM2NzOhzTs+FEXNMmQtINRvKAHA/oa0c2gbh4jJgTNq4lKJE2VVj0wSDBgBFdxVAUZhBVsR7FkZRXHMyJakVUiEhYW2WoMwpSElxzAsaL8QMlyyKY4dPOJnQ952OKx39oiHPu9Ntm6drM1Y+3/Q3P797fOX71i68z4WFdXyKLkwNVXHF49vP/ivXsu3LltbmZl68rU5Nh54+d1jXaNVge7S8VCPptMxGOObXkhT5NJkAbjaKZiPleqh0YaE1B1nZAtlauNkVJOst1IPlRj+fpIKZ8N1Zx8bgCw2BTUstUUdMEAiLwQL1zMVt0u6JRE58TCdtSNblYbOVcde/RsOBYLnw3FYlcrWsAMBBbe//6PSKq8fubxH2caGfzQd+IuXF1PY5lcLAZ3QC03eL4i+V8TlZ9QkP4xOzT0Bd3C/of2xsOwNRyPh/0/C8fdQDCAH9jjP0uvL8qa7x3NjmXhcdzhZ8GOvi9eiONneTh/4oSkYIWzC7KmmNU8PJ0fXv9wOBYKxcKEEHHj5xuH0J73ch8iBukic3BHSwsitpnoPhTtWEWrGiIyiNDGN/E4zgVTKFtBWFCJoq4SogE6IawQQdC3EUnSpe2Jjv3XCDqjING13/l+gd9qvsYmg6+9Sec1NfmaWtvPX604IefPnNfyoq7DYRX5Q8A5YKGA6PQW6zWHoQWyeqgWyhdDjSZ/49dSmb8lNLbNt2PL0gDg1XLp3Ltd1inJkiyxwNP4Gi0W/QuEmcnzZvX3v9/cOj3ZelTSlIge9cSKnRsNFxwpYgS0ZKTYE4gJ0e7Mjr6LB9xSNPlXY2PwuTH/1AptvvTgD+AmbaxebbCXnmLDfcMjRyIJNxFJpKXRwlT/WErTszlNziQGM6PT4XJwob9oqdKlyIGagWZGhI1/3jjKfoR2phCbrJHTkG4le3tw6CogIyWCfGB31BVFBlcv0IAibtrdBUTAvyHIawRkJgNbI0yXmX6M6IqsK8eIEpCVwDGsn0qcayWcBUlGLBFxhgIBdVkDVTXUc9a44/+qNm2ZaJqxjXRq/H11DS3BPnXDdSeOHLr8UqcvWUG4ioUMsasXSjkZotAYwftypZEmNKquHQE56tpSbhCGhgdpaaRRTUOz3CiVByCfk02QpTS4NkoCLFFq/3ajKahVm1G5XMpLeMHFArXqNEzBIDT510ZzCovyJngD7OvxHXH/htvgXfEp/zNKJCjDRYodtPx/vshQgo6cms6vyEFbNi6aD2RKqV296ZSk4iTvNYy0UdL3qkH8GS4Od82VjOS9G6Zs6NI2dIykFFDFYxrI5gYsF4e9vlDUsraH64VCvcCS8c0md/Rjm9gKthm011dAuciQ7aCcnipcjp1QsNGRw8V0RkXSMbHJgpkyjD0aw5+Tt1RiceFe31CoekwJyUlZ2C7FZGPD/1Q+HIpOT10VLtaKxRq3ReA79iy9ilxDploTqFhAEmAV8U+isrQqdqhHbFMP+jGnHiBXXH7hzplWY6S/13P1ALkGrlGRSprVZuPcu3rOH2UUaAMCTkB0AEzo+ClOwRSMoHfiNEnn3vlcuVQfafIZqOHdODM4FefcuFOwTSzuD2cmq/X02IBXzpZ3ZVOoYiKZQk+wy3PQVGQBtHJO0+RIpnt0ena8MT1ZG53Z0hwY7mpW4z3Fvr6lVFiQ9dBAbmwwHtOt7jg1KSDbddcn5+t9np30Ks1LCqnx/M7JZL8bT0TLhXwmX3TjUsAwTQklX0R1e8KmW4xmysXX3XpLsZJNNrLbZ7qGvOR0cVR3Ul4mnYtkTZNlekxKk6FcJDZYnqlX947VUmUcbgV10x3sPDbR1k0ZUiDdpI8MkRHyntY7CdhoqSCvoJcoAUlZIQGiISKtICHpQUNfwZvMUNBcISFiqSFrxQEVZacqIqASRgW2GunMWaQ9Z2HgU5bNxmJcJYzUqsNDgwP9fb09le4yUnchW8jnYplYJp3qQnnwSnXgcnWQ7dA4sn5bHRRfpvNQtp7FDY8hwK/OKzYmrn8vls/HaA73/rfsRLKUTPo0t/4PNO36LnzBvxHe8crtjfkYm+F3vPRoLN+bLCUSpSSLrl8/SLtH178I/+hH4dTsw7MPb314lsDGxsa72WOInVVSb1VzMfzHlkmJgGEHKtzr8ItIMaQgGGwwnW0XSH+vE+GMQqpCVWr/p6HhvAnlXBk1yiSUmi+rH8SBNKRAVqHB7U+SoS1tbIl94KWXTM0LiHRMMVBrK7coOthaMTQZ0jT/RfhaqKgVVC3kF2gokkwekzAM0dU+TWOLqq6r61+Dv8OCea1k+VtA1bTQFrzB/2kiMhdJtPngV2gP32EX45TmSZPsJK3W5M7WdF8xH48poFHSjxKEzmGENMt1CDkhIJcwuoQHypZFvMjmt81NjA8P9VRSjiS6vcVyk89UEMroTymK0ViZz1saZETHKYp/T4zKXMBNQxShMcdBs9EsRrmiQyxEnJTapweBfuLAc3Zlwm4eaFTWju/p6ur2D//cmag4jQPN7q6uPcfXKj/3nzrwc6cygaca6V2Lu9J4vhs+/Jw9UcHbeKnu9umf/+LAK+9cO16pnLutcnyNV/3c+e0S/K5UJpPCs5UKb71dBMvzk88RaWMDMesH9AEcrwKpkd3kIDkOn+ywZH8ighHPMPLQFaAF9oKiIQ6hnpDAqIAgSnNITzMg0gvSiGazm2T4mzepv/2mV9nI/v2drp2PkSLjkaIhGiCuoa4kssnkFR0CmhJYIppqUcXQlCvRwTGgM41VCURBEPfiQRSWiSAK85sd3vpvVEU0oiqaeiVWaYFiBDCm+C11/V56hKTdc/jQnoVy8djRQ8cPH79q9fJL9y9ftLhwcM/B3bsunK8jTRRr5Vq8PxYWo73ApEGoR5tFOY+mGRVTUBSjTUeWSmVWQhPkrpeXs1UON/lN+InUOqzSZg8keU4SbSqphbJijucAkLDxHLoxzwKgKBA3KVxiz3yIqbnRq/0/n+hdoBKD44yu/4H/51eP5lGofAj9CM9IdKHv05QGJHHdF2Spd5emm5FwtDtkBhRUNapu5YO6IVpZ/zy4zjJ0zUm5FqiyLItG0EZweyzoOGnHgef8JxXBOhb/6t03nWUUPkulu+7+avyYRakADWzms9je2ZTm7xQlZKo/FST/4Vx3qjfkdqdiKccNx7rspBIyurQKpC8RKcaQiEaiGPJCstPl4Kcdc9/L7mTd7RjlX7gj0rIG+3sr3RiEJUMySkcZR90p15u4AcduWZRyKGzy5SIf0mYjKhYbECoifoshcOR6BDdYeuKJJ+gzbsY/qQgSKnnNP5lxXQ9ug9s8f9T/Iv2B/0UQsNBPty5svR030PTU+u05/eMUXx/Xc/T2lG5pZ85oL/09Hbp9/RvtHYzzkhncod5ArLua/QTx+y6ytXXena+7cf/FOxC7xvr7ELu6EnFTxwD3zTspQtvcNQcpbEW8Q8yDNQYAxxEtdbL91A1HDl16SSEv8DxLCnDmB1BMQRAFQ9NFOxloo1dULpXrU1DnjOXYbtSR5I46xEt4U1TiWFgumYCW1GiiNcntWtr1YT1ROYeaI8XjCaw22oy2b8NLKC/LWB7VZEei8GqbbFnv99IFrZ6O5YSnpOBbooOWIw1POxbT73KT0WR/q78rmozepTPLbg2LtjUYfaslPSXkvHQ9UEzH+gJ/C9qXwkNu0spMJl1b/ItQcHesWwkktowHFCOyEI7sDptqYGxLIqB0x3ZHjL8QHCcxlQkl3OHwl1QGpx1HEOutoiQUvJLnnlX0SKzVI8UiVfu+oPRNvCkzMJDBKr8pBe9zhiMxqacVi+jKWSdW8gqCVGzVRayy7LjXW6IRmhq1LKPfuyGofjfhpcfdRMobCj4N8HRwyEsl3PG0l/huwLjB6zcsa3QKtZd1veOiSCEY2/x3nF+NOCROymSYjJMpMkPmEacXycXkcvKx1r0xnWrG/rgXpWKALIASuPzSPSCoymUXLe4VRPXiXRcySdy3O8lkqStBBVlBdtcNHYw1jB8DGgmsYf0BRQu040pRUVeIiIIejRylqwkCk4VVYhj6MtF1jDGQLJcJpQbdXqv2dM/v3DaL0eb01OSWCZSq47Xxgf7u4Z7h3GCsYIleL5JkE2GES4Ai589qWxUwdKYomg2XqoPAM5ByW0BkEfnL55IhDBVQiG8dTdEFWTTDEAYcPOiINDn/ssdPnT2laKb6RoX5n/rhdsEMyg8HJOmLf1L+of9SauSUHAgqkR43tePbRhic8E16KBQNhT4Ijv+/+BY28Dx+HU0m7768+amTd898PU/vu/uNcOtlX7lcCnxU9f7D7bfLinC15Kn+Z658w+wb159rtPBKNOWmw8Yf/qERvtnCCqMWzDwOX34c7jXCeHr9EasK+xfPpg+/6/ReuDbJ/vLGj3Jt0p7PKFskl5ErkWevITOt6YMHrr5ia3/WUQjAnCIzqopEQt4jOOgAON6iaIjbKbnmyJWr+y9e3LNrfvtcPhc0yWX0Mo37bC90AL2j7k2KQx21z0UC3BPz5XZMh8p/aFiS83Ju2MGP3H7jPHdhyBfN80GfgEiKJ6UazUiNT0AZhzjPcLTRYfOMlNA6DUtSEpG8o0vBAHKXAKpuhpSAKCui3r0lRHdTpiLYcXxB0AE6CNaYZhiaNYZKD5ZR8Y2F8feDrF+f+2HMmzb6gwPwnntMJ5mvVosZh8cclmwEjZBqyJpqeom0az/wmPIAGiGiIrTrxTd7FKj4sGkbfpqrQvgHwzY/APK7QGUNZUD6JCI6H2uef7qYHCBr5OrW6uwoZXTXIBLXRRWKCI4CX0TfQeKdQ0xkSCdrKDUk/BzDczz9vEYkBXjifXMqCLrk9kMH9y8fvebg2qG1K1aWD+w/sG1uejIS4kEbxhoYRWMwbGIM3D70tmVfqYyMPIi4Og3twySMNKYRC8ulxnRbJ7cP3Mb53DU5a6cQgNsHLpkhZ4KdgioGegPAXmbjp25W7VmRSvukiHwwV4xCUHm9EoRoJXFACeNZKs6GAzcruq7cHAh1Coblg8nKywXzxUPyuYIaL+h7Y6ujo6sn+W6sUK1uq1ZBjWZLB88Vi2g3teszg5v1KQdyhc36qFtKH5QjnYJBs93wTVpkFoN03vChQs6lnYaLm03gzv9b3si2ajuOu599n3lERawrkgqZw5m7hryOHGppLZ5wn1sGYevOh1xUbF2Er3kckDAowytL/EhgWZQZw3IoxZJ4Xbju37i8vxUplW684fi1c1tLlRKGbtm8giq/Wecww2EogrM1vRm/NJGhmudiGZzQaailOU8NduLpxr8kzMouYmVTKkXbs9oJetC7StFSmxk76bN2JB+xpd5OHSivHNHQfnL4Ls34452KRjX0knGMUsYVUYSgGMYfouD/TIh8+fCWpf3B83v701EzIimRRLjUZ8X6sz1LPaqh5gTFmslj4JpTbSEpSqqn2LeiBCuqQdWSmJ53UMaMGNppgVF7+q8141d3qsZDhv+rqoj8oEpiRjT7smJIga8rgsC/+FVF/OpDD43I77n08GwtN5jIqsV4a7tX3jO++yO7QpZhohPe0FAjgoXN1bFZUxTegvBliaoeDauBiKlnvDSMqoYpCcUbDJXnhNs++TfokybpItOIgR+C/9HR4JVhUIRq3mVMyTmUSm9dO3bJxQvzsmnNoiwS57DjZFYSUcKgaA/86xvYb7nhVVTOowveHSQ+QzBkYY0IiiEoxwhTJIVJa4RKQYkG10hQlILisUCYipYkWsdCgNAgE2MV7ViiisRXH0zdMldRYWmqrq0SFUBdIqrK1+hUmN/8F4u/0U4gLGL8GWTtJiwW/LWaEZmowv79qv/f9x7DlP50Csi73nnHbdefuOLSi5Z2Xbh929aZem1ooFRITaenu5KxqB1WZWKCGeHQmM3XxZBYR3JBxVwCJKhyDoUh8swk6oBcmavNmstJp4SOiJ4il1Az2udSXyIPYOr4g+fF6nmkLomnFpHT5FAno8J41Ii1lnjIzdNiL1Mir6/WDnbsYNsTeUIT5Sevm33A/6aw/jDdDbV4qbS+2w4XbFM0NcsaXAlFLE2Ld4XClrOlv5SJ6zHXsjTZm3BjtNsK+F8z4kZGzwh9yEmCZOsShRzSyGDASsr5WNDst2mBWXFTAyaqYsw0c7mYiXUqLBRiIMqexJCLAsGcoVB/afdLn9+zrxSnjyaK/ny/HQGpLES8t9HvI/9UTDBcU3H6u8oAgZ4A6I4kqc5gOmI/F7D2eaogmsU/2rPA4wwlIDj0wxAKrD9iWPEsQ3vPC44QVSgzVVmTZKcQywFgSCqi8QtURKcN4X1SEE2gs1b6X9g29AieT+9uFe1IOGQF2yu0gd+2QutaUqZkNRAx5bLclgxNOPvg88/7Z59/HoQz+87cs3zmzPI9Z/Yx2jl32fP+ZWf23XMPXuH7f9U2RjQiMIGid65JQJH/Zb78TQRG+CofgLyXyDK3SBnmgbyin2qnX+or+xWp1fP1vJN3ak7t5X4988QTh5588tAretTDfz/Jc7kb69ihj9EvkghxWuHNdBHBP00igI5j99Z4KnyKszTyQ5TTg5R/Iec+Yil94+HT0G014p5u+vfZheSPvdGC4p2Bv8MTeHr9Gxms/5827oOnWRIlhfQ5nIv+3qgKSBJRcLGmcsmAQ/6ZeDzuwls9z7/JjcdtOAmn4vjFPx33cIu7PN2MY/Y/2bP0b0iS9JARsq+1qAB/SICBCyKNopIU5nqw95VuKmD8J4lIz2v8DzICqwTjdoky9HieiVgiLycient7R3prxVJXwS4oYrwXOId1ngxor1nWcI/uFm1LkmKULwjYXDvipEchmxsAvrzJus3l1sz84L7cdM8tR6em82PZQnq6MjCyvJ69ceZEJrv1hvPh2cXG+rZ3w4X+tf0X9uMHvjt3MpONxaa6po5OOtmxC8atqeQlRy8ff+J6YbYx9gc3bF1s0M+/6H+uf/6SC/txHH+B4/i9zXHEyK2/V3QRBnAoAekWzeQxPoj+TZ4Hb8Wxi/tnbD6G8HYPN7wS99/J0/Z044WNu9kBViV9ZIwofzpW63VoP4+IZWmAyu10O4cMuY0xnNIlnmYpNZpTIiq2CIbNDONdxrzx8FBypnXX3mRScT2hWzAL1ZGUl4lLo+GUklswQ176tgd39EmeN3Q2owjx0V2jluCNLozCL97+M1tPVfFkyh0d0Twlp7thbWR+VNfimqAPFTIr5sh1K5fMjGj2I/4OYevtbzrZUObvuvPoQNsO7qdfZjYJosUmeWQhoa3yR0VWUNXi/DJxVek8K6K88lkRywIS8+ykk7QiFvqQKhFUrpu+88rEUQ1C2VD0XNKaHqyMjVXW/cr4eAV+7Fd+7CQSPfEEsycq65f3TEz00P9YmVgfosvr99+S7E4kupNoqxvrG7ext7EW2UX2kn0w2QoMYicUmRJ2bkG4gNJNRKNd42zHu89t9bgMIn4X6QrX4XBu2a3C/8IJbq8nfrM0peJePIh0H6Ei3bG59Pu7Vh58tZU7v3Plr6LeznJudHFx9+7FfYv7LlravXf33j0LY6PhkILTU+xEGlxnIhBtRh0lLjlRfm6GGzwB3QkyBjHmwKKb0jTFr7mdVTseaiDRioiOzVA+xG60FW+Xl6ECzbj73Ko2oOesaq7xetdWGornHfU0e5+NH14qR6WUu+BV9QG9oOPefatrKVs0L34yrtj7wmH/WwcOHPiRlZNcqS++17O1Pt1yl11q7xpKXmBa3lmvm+pC0pq3qrhtFovbWkmz3AWXYvumuYTlPu2WqE475e4/cuTjIPgvdeLp/wbfpb9CvvDa2bvF1oIKqKJF5LVVvC7JgrQS4EvkSBho/oQxssRJhC3zNfH5YjEWCyC2F7uL3eVSrBDLp7siluoFvA6F6DjOL5s8y/66Q0Q7MTO/nI+gb/zU5maevAtqxcG+tP+FdN/g7bKiyG/guzf5b0x3lROJcheLD+TXr0r39aXpR/MDDdVU8bP+CfiZb7Vx6MWN61ic7SMx0k+slhEGshXPH+rtAe6TLsefIG2HFoMc5NoY1HDlzUQdn0/cKAaLTLJXD820Tl9wxMzM6za1FBuoZ4bfffLof7o2FV46kFKQu6krn2+Znmlb9MCpx8O69iX9k0nBFCzzqlQc3lS94Oh9tv2mP+s7OmX36a5qybY4rCsWNXlfNzZeEIZYAEe/xhGnB0AazovILHSOSCKIEqxxvYBxF1tD+Y+KgXOOILAlnAlONUyYz3c3XDufk8VEL4yUenmOEcNmqQvy7UUWvqzSQPkn46g3UcmVR3hWup2aRmGYAvqkprxBk6+VtTcomviYaOEGB2+9ZP0Th++GXTNw/+mL35vtrk8sRbetwLyiPaZomvKYxouJj0mn998K7zuy7daUd/r+qxbySxO9udDpl9dy6S/pZzBSCbXMIM5Cm/97uilfEoK2ruwsr+K7nYDhnNhepoVb/e8PedGBxcZQPtVl9PQYXan8cGOxP+oNhSEx2KjyH0EjaQwN4S7Yv9gYrjYGER/9jYfb63EBVOAuabRqOJLMAkQJviSHo9V+HIBLomOEr9MR/hzA8c7THyE75ORFMdarIhLIuQGKvYtkceAi2RD2DB6AoYmPXnzj49cJNz168xH4k5nJy/zFGx87BVf635icgVOP/eixU/7i8kcn4CZ44OTjnTFAPfZpnN8yKbZyfP0a5lh70YxQoCc2kUw45BbGijneNKeJalS23ShOD4eXZqTBZ5NDEp6Rbf7MAXLz+47smTHR1nSdjQmC/CVZMi7UNWHv2Pk4adP+H8d2xP1Pt2j48PsGX9QtsPTP6lSFgGpa2n/OvO/wyjZ/LZ2G92/rYMAj7FkE0iwZILNkJ9nSGmviVM1NNYoFDGdQrGBINYfadZb/JcpVT3vBj/D1PsKX+2bPrw7199YF0ekNbc5kFA88aRmUObhOt8OGoh1t8mBimltmpNl+brLcRNXDY5TNdfdp4GGINL77yjve3JXaoRmCUAsFxwYr760MjgWtejA4rBze3gJlcEjdWhsOX/X2hyu4G5xGuMXznRtjo8fVrXDB8OTC0CS9w6I0I8cP7t724raFAzEtrcT2CfX5bcUdE0terLagLd3p3zr3ppUdE2uUjsxvLw5vWRie/Nh/jXm1XW0d62+8jd7AaiRKvJYT1XhOpL28e4KjSqXIzRk66hUdLNLOd2zOFaP7olLEv9l0kin1+r93pTC8JeA5GRBPwOV6I+y/2xyKgXm7PhKBk2bGNjT/f5NNTfp69jz9JnmSfIs8Ax9o9WCsocqIzEMDhioQesuyi1b1wNsog89+6l3vuAbViTT39mvx5wUdGTCog6qpJ4hGNbQ1graGPnHCgAAETnA84dwpsBOKLCKaGMI5RdD/am47tKkKXkNbwdfSlvNa2nqVzXQ0Q/473/7qV779zHee+cZffeVbX/3Wxz/2wQ+cPnndicOHrrxi9/zMeYmoyamk1MkPb4oIp4H+Wh+qNxsTKBPQ6GvDbV/gtMKLYcTNc1po6DzMHub23nlqrJ0KQx/nSwZSW2DI7eeB+AKiE7Wr7Rox9u58qTba5dPQznW25QevOsrhwkaFXW00c432IgF+s+tYeqSGu/oUVyztxUqOJVzJ1JsjzWGXd7FU5PnQHAdkyrOkA9REIHbZdyMDlkFBAxPRSgC5OSOGgcssLoNDYUcQYkMlHOZAUMMCEggRmQYMMxw55EZCssIulATF/KNYcBdG8AlPrgAw16VBo4eCMoVRlgYqHmi/YTHHwXjLZVJAYnEXPQfUdjsImboZYBAVAwGmmTpF+c1EvMhk2whipAqUvhnPUUYhFI0blry+pXtsfM9YMFmA/aGkLkez6XCWLpmaE07EENex6wxb3n2FSOUV7BANArMiTqKkJRM4ngo1oJ18jx0AiQUtzWRC0LBc8QFDUBOfsVXL0IIXAAvNbzMiAE/39n4P4Hu9vU/TiLHzQksolXj2XqgYAf5gz6zEKL1XBxQw0j3z8xLqGKpI8BHGpJary0JAiQQjlhKgXwCeP8e+gCgrYWfw7fgXxrvtQiLopyLpbFQykiE3Q/4PQ6E5nAB4nGNgZGBgAOKcxWG34vltvjJwM78AijBczvleDqP/f/yfzGLAHA7kcjAwgUQBiKgOGwAAeJxjYGRgYA76n8XAwKL//+P/TywGDEARFKAKAJThBi54nGN+wcDAPOP/H+YFQPoFDP//CMTfkfj/gfg3mG4B838j5JCwBwQzzf7/l/Hi/88gMSD9hTnm/0+m40C5VqD4bSDN8/8Xi/7//0w/wGb9Y14J0c9UAGQDaQBTBjt2AAAAAAAAAHoAsgEEAmwDoATmBaAGPgaoB0AIvgkeCg4K9gusDIQNdg9ID4YPzA/8ECAQoBDEESQRdhKeEwgTXhPMFAYUThSgFTAVahd3AAEAAAAlAOMADQAAAAAAAgA0AEQAcwAAANELcAAAAAB4nHWQy07CQBSG/5GLCokaTdw6KwMxlksiCxISEgxsdEMMW1NKaUtKh0wHEl7Dd/BhfAmfxZ92MAZim+l855szZ04HwDW+IZA/Txw5C5wxyvkEp+hZLtA/Wy6SXyyXUMWb5TL9u+UKHhBYruIGH6wgiueMFvi0LHAlLi2f4ELcWS7QP1ouknuWS7gVr5bL9J7lCiYitVzFvfgaqNVWR0FoZG1Ql+1mqyOnW6moosSNpbs2odKp7Mu5Sowfx8rx1HLPYz9Yx67eh/t54us0UolsOc29GvmJr13jz3bV003QNmYu51ot5dBmyJVWC98zTmjMqtto/D0PAyissIVGxKsKYSBRo61zbqOJFjqkKTMkM/OsCAlcxDQu1twRZisp4z7HnFFC6zMjJjvw+F0e+TEp4P6YVfTR6mE8Ie3OiDIv2ZfD7g6zRqQky3QzO/vtPcWGp7VpDXftutRZVxLDgxqS97FbW9B49E52K4a2iwbff/7vB+NphE8AeJxtj8ly2zAQRNlyKJkKyVjOYmd14iU3VKXKB38PCAxJhNgKgCQrXx9YspxL5jCFnsNDv2JWHGZZ/H/uMMMJXqHEHAucosISr1GjQYs3OMMK53iLd3iPD7jAJT7iEz7jC77iG67wHT9wjRvc4g4/i1rZ3jGhgtAkKzc9PxsuN9wKkiztPC0kbZSguKLHRDYqZ1kX3DZSOBvIUuCaRUpJ2SG2maesSjsmuBipNq5TmpgfnaXKrHVSjMvYBNI8Zbp3McVVoOhd5m6IKcMHilXnchXnyZ5HlYgJZzxPKqMyuUkjGXppcEhiHZMz6g+F9nA4Fqq31DHuPTNO0ux3bMWTlz4q116v4zGUubGY2qCGMe1/Z50aToV2a3n/66HR1P87V4YGvteaJ95pSiXXFNL8IHwy0a6Vbmu145LtCeVIPKRKjHkzr6je5yeNieyCdsRc35e95nFcGj5lpVFpWRR/AaE7m/J4nGPw3sFwIihiIyNjX+QGxp0cDBwMyQUbGVidNjEwMmiBGJu5mBg5ICw+BjCLzWkX0wGgNCeQze60i8EBwmZmcNmowtgRGLHBoSNiI3OKy0Y1EG8XRwMDI4tDR3JIBEhJJBBs5mFi5NHawfi/dQNL70YmBhcADHYj9AAA') format('woff'),
|
12 |
-
url('data:application/octet-stream;base64,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RyNhsAlDKyMgPCAuIzixKwEUKy2wQSyxCAQlQrAAFrAEJbAEJSAuRyNHI2EgsAQjQrAJQysgsGBQWCCwQFFYswIgAyAbswImAxpZQkIjIEewBEOwAmIgsABQWLBAYFlmsAFjYCCwASsgiophILACQ2BkI7ADQ2FkUFiwAkNhG7ADQ2BZsAMlsAJiILAAUFiwQGBZZrABY2GwAiVGYTgjIDwjOBshICBGI0ewASsjYTghWbErARQrLbBCLLA1Ky6xKwEUKy2wQyywNishIyAgPLAEI0IjOLErARQrsARDLrArKy2wRCywABUgR7AAI0KyAAEBFRQTLrAxKi2wRSywABUgR7AAI0KyAAEBFRQTLrAxKi2wRiyxAAEUE7AyKi2wRyywNCotsEgssAAWRSMgLiBGiiNhOLErARQrLbBJLLAII0KwSCstsEossgAAQSstsEsssgABQSstsEwssgEAQSstsE0ssgEBQSstsE4ssgAAQistsE8ssgABQistsFAssgEAQistsFEssgEBQistsFIssgAAPistsFMssgABPistsFQssgEAPistsFUssgEBPistsFYssgAAQCstsFcssgABQCstsFgssgEAQCstsFkssgEBQCstsFossgAAQystsFsssgABQystsFwssgEAQystsF0ssgEBQystsF4ssgAAPystsF8ssgABPystsGAssgEAPystsGEssgEBPystsGIssDcrLrErARQrLbBjLLA3K7A7Ky2wZCywNyuwPCstsGUssAAWsDcrsD0rLbBmLLA4Ky6xKwEUKy2wZyywOCuwOystsGgssDgrsDwrLbBpLLA4K7A9Ky2waiywOSsusSsBFCstsGsssDkrsDsrLbBsLLA5K7A8Ky2wbSywOSuwPSstsG4ssDorLrErARQrLbBvLLA6K7A7Ky2wcCywOiuwPCstsHEssDorsD0rLbByLLMJBAIDRVghGyMhWUIrsAhlsAMkUHiwARUwLQBLuADIUlixAQGOWbABuQgACABjcLEABUKyAAEAKrEABUKzCgIBCCqxAAVCsw4AAQgqsQAGQroCwAABAAkqsQAHQroAQAABAAkqsQMARLEkAYhRWLBAiFixA2REsSYBiFFYugiAAAEEQIhjVFixAwBEWVlZWbMMAgEMKrgB/4WwBI2xAgBEAAA=') format('truetype');
|
13 |
}
|
14 |
/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
|
15 |
/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
|
@@ -17,7 +17,7 @@
|
|
17 |
@media screen and (-webkit-min-device-pixel-ratio:0) {
|
18 |
@font-face {
|
19 |
font-family: 'fontello';
|
20 |
-
src: url('../font/fontello.svg?
|
21 |
}
|
22 |
}
|
23 |
*/
|
@@ -87,4 +87,5 @@
|
|
87 |
.icon-heart-broken:before { content: '\e820'; } /* '' */
|
88 |
.icon-eye-off:before { content: '\e821'; } /* '' */
|
89 |
.icon-flash:before { content: '\e822'; } /* '' */
|
90 |
-
.icon-make-child:before { content: '\e823'; } /* '' */
|
|
1 |
@font-face {
|
2 |
font-family: 'fontello';
|
3 |
+
src: url('../font/fontello.eot?41042990');
|
4 |
+
src: url('../font/fontello.eot?41042990#iefix') format('embedded-opentype'),
|
5 |
+
url('../font/fontello.svg?41042990#fontello') format('svg');
|
6 |
font-weight: normal;
|
7 |
font-style: normal;
|
8 |
}
|
9 |
@font-face {
|
10 |
font-family: 'fontello';
|
11 |
+
src: url('data:application/octet-stream;base64,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') format('woff'),
|
12 |
+
url('data:application/octet-stream;base64,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') format('truetype');
|
13 |
}
|
14 |
/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
|
15 |
/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
|
17 |
@media screen and (-webkit-min-device-pixel-ratio:0) {
|
18 |
@font-face {
|
19 |
font-family: 'fontello';
|
20 |
+
src: url('../font/fontello.svg?41042990#fontello') format('svg');
|
21 |
}
|
22 |
}
|
23 |
*/
|
87 |
.icon-heart-broken:before { content: '\e820'; } /* '' */
|
88 |
.icon-eye-off:before { content: '\e821'; } /* '' */
|
89 |
.icon-flash:before { content: '\e822'; } /* '' */
|
90 |
+
.icon-make-child:before { content: '\e823'; } /* '' */
|
91 |
+
.icon-circular-speedometer:before { content: '\e824'; } /* '' */
|
admin/fontello/css/fontello-ie7-codes.css
CHANGED
@@ -34,4 +34,5 @@
|
|
34 |
.icon-heart-broken { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
35 |
.icon-eye-off { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
36 |
.icon-flash { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
37 |
-
.icon-make-child { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
|
34 |
.icon-heart-broken { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
35 |
.icon-eye-off { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
36 |
.icon-flash { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
37 |
+
.icon-make-child { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
38 |
+
.icon-circular-speedometer { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
admin/fontello/css/fontello-ie7.css
CHANGED
@@ -45,4 +45,5 @@
|
|
45 |
.icon-heart-broken { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
46 |
.icon-eye-off { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
47 |
.icon-flash { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
48 |
-
.icon-make-child { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
|
45 |
.icon-heart-broken { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
46 |
.icon-eye-off { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
47 |
.icon-flash { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
48 |
+
.icon-make-child { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
49 |
+
.icon-circular-speedometer { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
admin/fontello/css/fontello.css
CHANGED
@@ -1,11 +1,11 @@
|
|
1 |
@font-face {
|
2 |
font-family: 'fontello';
|
3 |
-
src: url('../font/fontello.eot?
|
4 |
-
src: url('../font/fontello.eot?
|
5 |
-
url('../font/fontello.woff2?
|
6 |
-
url('../font/fontello.woff?
|
7 |
-
url('../font/fontello.ttf?
|
8 |
-
url('../font/fontello.svg?
|
9 |
font-weight: normal;
|
10 |
font-style: normal;
|
11 |
}
|
@@ -15,7 +15,7 @@
|
|
15 |
@media screen and (-webkit-min-device-pixel-ratio:0) {
|
16 |
@font-face {
|
17 |
font-family: 'fontello';
|
18 |
-
src: url('../font/fontello.svg?
|
19 |
}
|
20 |
}
|
21 |
*/
|
@@ -90,4 +90,5 @@
|
|
90 |
.icon-heart-broken:before { content: '\e820'; } /* '' */
|
91 |
.icon-eye-off:before { content: '\e821'; } /* '' */
|
92 |
.icon-flash:before { content: '\e822'; } /* '' */
|
93 |
-
.icon-make-child:before { content: '\e823'; } /* '' */
|
|
1 |
@font-face {
|
2 |
font-family: 'fontello';
|
3 |
+
src: url('../font/fontello.eot?5882372');
|
4 |
+
src: url('../font/fontello.eot?5882372#iefix') format('embedded-opentype'),
|
5 |
+
url('../font/fontello.woff2?5882372') format('woff2'),
|
6 |
+
url('../font/fontello.woff?5882372') format('woff'),
|
7 |
+
url('../font/fontello.ttf?5882372') format('truetype'),
|
8 |
+
url('../font/fontello.svg?5882372#fontello') format('svg');
|
9 |
font-weight: normal;
|
10 |
font-style: normal;
|
11 |
}
|
15 |
@media screen and (-webkit-min-device-pixel-ratio:0) {
|
16 |
@font-face {
|
17 |
font-family: 'fontello';
|
18 |
+
src: url('../font/fontello.svg?5882372#fontello') format('svg');
|
19 |
}
|
20 |
}
|
21 |
*/
|
90 |
.icon-heart-broken:before { content: '\e820'; } /* '' */
|
91 |
.icon-eye-off:before { content: '\e821'; } /* '' */
|
92 |
.icon-flash:before { content: '\e822'; } /* '' */
|
93 |
+
.icon-make-child:before { content: '\e823'; } /* '' */
|
94 |
+
.icon-circular-speedometer:before { content: '\e824'; } /* '' */
|
admin/fontello/demo.html
CHANGED
@@ -229,11 +229,11 @@ body {
|
|
229 |
}
|
230 |
@font-face {
|
231 |
font-family: 'fontello';
|
232 |
-
src: url('./font/fontello.eot?
|
233 |
-
src: url('./font/fontello.eot?
|
234 |
-
url('./font/fontello.woff?
|
235 |
-
url('./font/fontello.ttf?
|
236 |
-
url('./font/fontello.svg?
|
237 |
font-weight: normal;
|
238 |
font-style: normal;
|
239 |
}
|
@@ -354,6 +354,9 @@ body {
|
|
354 |
<div title="Code: 0xe822" class="the-icons span3"><i class="demo-icon icon-flash"></i> <span class="i-name">icon-flash</span><span class="i-code">0xe822</span></div>
|
355 |
<div title="Code: 0xe823" class="the-icons span3"><i class="demo-icon icon-make-child"></i> <span class="i-name">icon-make-child</span><span class="i-code">0xe823</span></div>
|
356 |
</div>
|
|
|
|
|
|
|
357 |
</div>
|
358 |
<div class="container footer">Generated by <a href="http://fontello.com">fontello.com</a></div>
|
359 |
</body>
|
229 |
}
|
230 |
@font-face {
|
231 |
font-family: 'fontello';
|
232 |
+
src: url('./font/fontello.eot?41582587');
|
233 |
+
src: url('./font/fontello.eot?41582587#iefix') format('embedded-opentype'),
|
234 |
+
url('./font/fontello.woff?41582587') format('woff'),
|
235 |
+
url('./font/fontello.ttf?41582587') format('truetype'),
|
236 |
+
url('./font/fontello.svg?41582587#fontello') format('svg');
|
237 |
font-weight: normal;
|
238 |
font-style: normal;
|
239 |
}
|
354 |
<div title="Code: 0xe822" class="the-icons span3"><i class="demo-icon icon-flash"></i> <span class="i-name">icon-flash</span><span class="i-code">0xe822</span></div>
|
355 |
<div title="Code: 0xe823" class="the-icons span3"><i class="demo-icon icon-make-child"></i> <span class="i-name">icon-make-child</span><span class="i-code">0xe823</span></div>
|
356 |
</div>
|
357 |
+
<div class="row">
|
358 |
+
<div title="Code: 0xe824" class="the-icons span3"><i class="demo-icon icon-circular-speedometer"></i> <span class="i-name">icon-circular-speedometer</span><span class="i-code">0xe824</span></div>
|
359 |
+
</div>
|
360 |
</div>
|
361 |
<div class="container footer">Generated by <a href="http://fontello.com">fontello.com</a></div>
|
362 |
</body>
|
admin/fontello/font/fontello.eot
CHANGED
Binary file
|
admin/fontello/font/fontello.svg
CHANGED
@@ -77,6 +77,8 @@
|
|
77 |
<glyph glyph-name="flash" unicode="" d="M598 349q23-12 26-39t-16-45l-391-370q-14-14-35-14-28 0-43 24t-6 49l113 270-220 128q-22 12-25 38t15 45l391 370q11 14 35 14 21 0 37-16t15-36q0-13-5-23l-111-267z" horiz-adv-x="624" />
|
78 |
|
79 |
<glyph glyph-name="make-child" unicode="" d="M987 596c-25 18-60 12-81-17-18-26-12-67 0-84 0 0 0 0-1-1-2-1-14-7-14-7-3-1-4-4-1-6l4-3a2 2 0 0 0 1-2c-9-13-82-117-114-164-7-8-5-1-5 4 7 38 16 83 18 94a2 2 0 0 0 2 1l5 0c3-1 5 1 3 4 0 0-3 13-4 15-1 1 0 1 0 1 20 4 54 28 60 59 6 36-14 64-45 70s-60-14-66-50c-6-31 17-65 35-75 0 0 0-1 0-2-2-2-10-13-10-13-3-2-2-4 1-5l6-1a2 2 0 0 0 1-2c-2-14-16-89-23-125 0-2-6-5-9-10-3-4-33-51-75-58h-102c-31 5-57 29-65 48-3 8-6 18-11 27l-77 173c-5 11-10 26-32 26h-165c-22 0-33-14-40-27l-78-171c-9-19-20-42-1-51s36-1 45 18l40 68s2 4 1 0c-5-28-47-165-47-165-3-17 8-32 26-32h42c3 0 3-2 3-2l8-221c0-28 9-43 31-43s31 15 31 43l8 222a2 2 0 0 0 2 1c2 0 8 0 10 0a2 2 0 0 0 1-1l9-222c0-28 9-43 31-43s31 15 31 43l8 221a3 3 0 0 0 3 2h45c18 0 30 15 26 32 0 0-41 143-45 168-1 6 43-72 43-72 7-15 22-13 29-23 14-22 31-44 48-54 28-17 29-10 31-34l0-17-9-69a9 9 0 0 1 4-9 3 3 0 0 0 3-4l-5-156c0-2 0-12 1-13a22 22 0 0 1 21-15 23 23 0 0 1 21 14c-1 0 21 152 24 152 4 0 25-152 25-152a23 23 0 0 1 20-14 22 22 0 0 1 21 15c0 1 1 11 0 13l-4 157a3 3 0 0 0 3 3 9 9 0 0 1 4 9l-9 64 0 22c2 24 3 17 31 34 28 17 58 74 59 81 1 9-3 13 0 17 20 29 121 173 131 187a2 2 0 0 0 2 0l4-3c3-2 5 0 5 3 0 0 2 13 2 15 0 2 1 2 1 2 20-6 61 2 79 28 21 29 15 64-11 82z m-688 124a98 98 0 1 0-99-98 98 98 0 0 0 99 98z m325-482a55 55 0 1 1-55 54 55 55 0 0 1 55-54z" horiz-adv-x="1000" />
|
|
|
|
|
80 |
</font>
|
81 |
</defs>
|
82 |
</svg>
|
77 |
<glyph glyph-name="flash" unicode="" d="M598 349q23-12 26-39t-16-45l-391-370q-14-14-35-14-28 0-43 24t-6 49l113 270-220 128q-22 12-25 38t15 45l391 370q11 14 35 14 21 0 37-16t15-36q0-13-5-23l-111-267z" horiz-adv-x="624" />
|
78 |
|
79 |
<glyph glyph-name="make-child" unicode="" d="M987 596c-25 18-60 12-81-17-18-26-12-67 0-84 0 0 0 0-1-1-2-1-14-7-14-7-3-1-4-4-1-6l4-3a2 2 0 0 0 1-2c-9-13-82-117-114-164-7-8-5-1-5 4 7 38 16 83 18 94a2 2 0 0 0 2 1l5 0c3-1 5 1 3 4 0 0-3 13-4 15-1 1 0 1 0 1 20 4 54 28 60 59 6 36-14 64-45 70s-60-14-66-50c-6-31 17-65 35-75 0 0 0-1 0-2-2-2-10-13-10-13-3-2-2-4 1-5l6-1a2 2 0 0 0 1-2c-2-14-16-89-23-125 0-2-6-5-9-10-3-4-33-51-75-58h-102c-31 5-57 29-65 48-3 8-6 18-11 27l-77 173c-5 11-10 26-32 26h-165c-22 0-33-14-40-27l-78-171c-9-19-20-42-1-51s36-1 45 18l40 68s2 4 1 0c-5-28-47-165-47-165-3-17 8-32 26-32h42c3 0 3-2 3-2l8-221c0-28 9-43 31-43s31 15 31 43l8 222a2 2 0 0 0 2 1c2 0 8 0 10 0a2 2 0 0 0 1-1l9-222c0-28 9-43 31-43s31 15 31 43l8 221a3 3 0 0 0 3 2h45c18 0 30 15 26 32 0 0-41 143-45 168-1 6 43-72 43-72 7-15 22-13 29-23 14-22 31-44 48-54 28-17 29-10 31-34l0-17-9-69a9 9 0 0 1 4-9 3 3 0 0 0 3-4l-5-156c0-2 0-12 1-13a22 22 0 0 1 21-15 23 23 0 0 1 21 14c-1 0 21 152 24 152 4 0 25-152 25-152a23 23 0 0 1 20-14 22 22 0 0 1 21 15c0 1 1 11 0 13l-4 157a3 3 0 0 0 3 3 9 9 0 0 1 4 9l-9 64 0 22c2 24 3 17 31 34 28 17 58 74 59 81 1 9-3 13 0 17 20 29 121 173 131 187a2 2 0 0 0 2 0l4-3c3-2 5 0 5 3 0 0 2 13 2 15 0 2 1 2 1 2 20-6 61 2 79 28 21 29 15 64-11 82z m-688 124a98 98 0 1 0-99-98 98 98 0 0 0 99 98z m325-482a55 55 0 1 1-55 54 55 55 0 0 1 55-54z" horiz-adv-x="1000" />
|
80 |
+
|
81 |
+
<glyph glyph-name="circular-speedometer" unicode="" d="M500 850c-276 0-500-224-500-500s224-500 500-500 500 224 500 500-224 500-500 500z m422-500c0-57-12-112-34-164-21-50-51-95-90-134-39-39-84-69-134-90-52-22-107-34-164-34s-112 12-164 34c-50 21-95 51-134 90s-69 84-90 134c-22 52-33 107-33 164s11 112 33 164c21 50 51 95 90 134 39 39 84 69 134 90 52 22 107 34 164 34s112-12 164-34c50-21 95-51 134-90 39-39 69-84 90-134 22-52 34-107 34-164z m-422 374c-100 0-194-39-265-109-70-71-109-165-109-265s39-194 109-265c71-70 165-109 265-109s194 39 265 109c70 71 109 165 109 265s-39 194-109 265c-71 70-165 109-265 109z m118-81l-8-33-8-35-52-227-5-18c0-3-1-6-3-10-8-15-23-24-40-24-6 0-13 1-19 4-18 9-27 29-24 48 1 4 2 8 4 11l113 231 14 29 14 29c0 0 0 1 1 1 1 2 3 3 5 3 4 0 8-3 8-8 0 0 0-1 0-1z m-437-285c0 2 0 4 0 6 0 2 0 4 0 7 0 2 0 5 0 8 0 3 1 6 1 9 0 1 0 3 0 5 0 1 1 3 1 5 0 3 1 7 1 11 1 4 1 8 2 12 0 2 1 4 1 6 1 2 1 4 2 6 4 18 10 37 20 58 0 1 1 2 2 3 0 2 1 3 2 4 1 3 2 5 3 8 2 2 3 5 5 8 1 1 1 2 2 3 1 2 2 3 2 4 2 3 4 5 5 8 1 1 2 3 3 4 1 1 2 2 3 4 0 1 1 2 2 4l2 2 1 1c2 3 4 6 6 8l2 2c0 1 1 1 1 2 1 1 2 2 3 4 1 1 2 2 4 3l1 2c1 1 1 1 2 2 2 3 4 5 7 7l1 2 2 2c2 1 3 2 4 4 5 4 10 9 15 14 3 2 6 4 9 6 1 1 2 2 4 4 1 1 3 2 4 3 23 17 50 31 79 41 3 2 7 3 11 4 3 1 7 2 11 3l5 2 6 1 6 2c1 0 3 1 5 1 4 1 8 1 12 2 1 0 2 0 3 0l3 1 5 1 6 0c2 1 4 1 6 1l12 1c1 0 0 0 1 0l0 0 1 0 1 0 3 0 5 0 3 0 1 0c1 0 1 0 2 0l6 0 6 0 3 0c1 0 2 0 3 0 4-1 8-1 12-1 2 0 4-1 6-1l6-1 6 0 6-1c4-1 8-2 11-3 4 0 8-1 12-2 3-1 6-2 9-3l-14-28-14-29c-2 1-5 2-8 3-3 1-6 2-9 3l-5 1-5 2-4 1c-2 0-4 0-5 1-3 0-7 1-10 2-1 0-1 0-2 0l-2 0-5 1-5 1c0 0 0 0-1 0l-1 0-3 0-5 1-3 0-1 0-1 0 0 0c0 0-1 0 0 0l-10 0c-2 0-3 1-5 1l-5 0-5-1-2 0c-1 0-2 0-3 0-3 0-7 0-10 0-1 0-3-1-5-1l-5 0-5-1-5-1c-3 0-6-1-9-1-4-1-7-2-10-3-26-6-50-15-73-28-1-1-2-2-4-3-1 0-3-1-4-2-3-2-5-3-8-5-5-4-10-7-15-11-1-1-3-2-4-3l-2-1-1-2c-3-2-5-4-8-6 0 0-1-1-1-1l-2-2c-1-1-2-2-3-3-1-1-2-2-4-3 0-1-1-1-1-2l-2-1c-2-2-4-4-6-7l-2-1-1-2c-1-1-2-2-3-3-1-1-2-2-3-3-1-1-2-2-3-4-1-2-3-4-5-6-1-1-2-2-3-4 0-1-1-2-2-3-2-2-3-4-5-7-1-2-3-4-4-6-1-2-2-3-3-4 0-1-1-2-2-3-11-18-19-36-25-52 0-2-1-4-2-6-1-2-1-4-2-6-1-4-2-8-3-12-1-3-2-7-3-10 0-2 0-3-1-5 0-2 0-3-1-5 0-3-1-6-1-9-1-2-1-5-1-7-1-3-1-5-1-7-1-2-1-4-1-6 0-7-1-10-1-10 0 0 0 3 0 10z m591 154c1-2 2-3 3-4 13-22 22-43 29-62 1-3 2-5 2-7 1-3 2-5 3-7 1-5 2-10 3-14 1-4 2-8 3-12 1-2 1-4 2-6 0-2 0-4 1-6 0-3 1-7 1-10 1-3 1-7 2-9 0-3 0-6 1-8 0-3 0-5 0-7 1-8 1-12 1-12h-105c0 0 0 3 0 8 0 2 0 3 0 5 0 2 0 4 0 6 0 2 0 4 0 6 0 3 0 5 0 8 0 1 0 2 0 4-1 1-1 3-1 4 0 3 0 6-1 9 0 3-1 7-1 10-1 2-1 3-1 5-1 2-1 4-2 5-3 15-8 31-15 48-1 1-1 2-2 3 0 1-1 2-1 3-2 2-3 4-4 6-1 3-2 5-3 7-1 1-1 2-2 3-1 1-1 2-2 3-1 2-3 5-4 7-1 1-1 2-2 3-1 1-1 2-2 3-1 1-2 2-2 3l-2 2-1 2c-1 2-3 4-5 6l-1 2c0 0-1 1-1 1-1 1-2 2-3 3-1 1-1 2-2 3l-2 2c0 1-1 1-1 2-2 2-4 4-6 6l-1 1-2 2c-1 1-2 2-3 3-4 4-8 8-12 12-2 1-4 3-6 4l9 39 8 36c5-3 10-5 14-8 2-1 3-2 5-3 2-1 3-2 5-3 3-2 6-4 9-6 6-4 13-9 18-13 2-1 3-3 5-4l2-1 2-2c3-3 5-5 8-7 1-1 2-2 2-2l2-2c2-1 3-2 4-4 1-1 3-2 4-3 1-1 1-2 2-2l2-2c2-3 5-5 7-8l2-2 2-2c1-1 2-2 3-3 1-2 2-3 3-4 1-2 3-3 4-4 2-3 4-6 6-8 1-2 2-3 3-4 1-2 2-3 3-4 2-3 4-6 6-8 1-3 3-6 5-8 1-2 2-3 2-4z" horiz-adv-x="1000" />
|
82 |
</font>
|
83 |
</defs>
|
84 |
</svg>
|
admin/fontello/font/fontello.ttf
CHANGED
Binary file
|
admin/fontello/font/fontello.woff
CHANGED
Binary file
|
admin/fontello/font/fontello.woff2
CHANGED
Binary file
|
admin/js/wptouch-admin-4.js
CHANGED
@@ -825,7 +825,7 @@ function wptouchUpdateAll() {
|
|
825 |
|
826 |
function wptouchAddPlaceholders(){
|
827 |
jQuery( '#wptouch-settings-content input[type="text"]' ).not( '#license-settings-area input[type="text"]' ).each( function(){
|
828 |
-
var placeholder = jQuery( this ).parents( 'li' ).find( 'span' ).text();
|
829 |
jQuery( this ).attr( 'placeholder', placeholder );
|
830 |
});
|
831 |
}
|
825 |
|
826 |
function wptouchAddPlaceholders(){
|
827 |
jQuery( '#wptouch-settings-content input[type="text"]' ).not( '#license-settings-area input[type="text"]' ).each( function(){
|
828 |
+
var placeholder = jQuery( this ).parents( 'li' ).find( 'span' ).not( '.pro' ).text();
|
829 |
jQuery( this ).attr( 'placeholder', placeholder );
|
830 |
});
|
831 |
}
|
admin/pages/wptouch-admin-general-settings.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
if ( !defined( 'FOUNDATION_SETTING_DOMAIN' ) ) {
|
3 |
define( 'FOUNDATION_SETTING_DOMAIN', 'foundation' );
|
4 |
}
|
5 |
-
if ( !wptouch_is_controlled_network() || ( wptouch_is_controlled_network() && is_network_admin() ) ) {
|
6 |
add_filter( 'wptouch_admin_page_render_wptouch-admin-general-settings', 'wptouch_render_updates_page' );
|
7 |
}
|
8 |
|
@@ -696,4 +696,4 @@ function wptouch_render_addons( $page_options ) {
|
|
696 |
function wptouch_render_addon_settings( $page_options ) {
|
697 |
$page_options = apply_filters( 'wptouch_addon_options', $page_options );
|
698 |
return $page_options;
|
699 |
-
}
|
2 |
if ( !defined( 'FOUNDATION_SETTING_DOMAIN' ) ) {
|
3 |
define( 'FOUNDATION_SETTING_DOMAIN', 'foundation' );
|
4 |
}
|
5 |
+
if ( ( !wptouch_is_controlled_network() || ( wptouch_is_controlled_network() && is_network_admin() ) ) && !defined( 'WPTOUCH_IS_FREE' ) ) {
|
6 |
add_filter( 'wptouch_admin_page_render_wptouch-admin-general-settings', 'wptouch_render_updates_page' );
|
7 |
}
|
8 |
|
696 |
function wptouch_render_addon_settings( $page_options ) {
|
697 |
$page_options = apply_filters( 'wptouch_addon_options', $page_options );
|
698 |
return $page_options;
|
699 |
+
}
|
admin/settings/html/checkbox.php
CHANGED
@@ -3,11 +3,16 @@
|
|
3 |
<?php if ( wptouch_admin_is_setting_new() ) { ?>
|
4 |
<span class="new"> <?php _e( 'New', 'wptouch-pro' ); ?></span>
|
5 |
<?php } ?>
|
|
|
|
|
|
|
|
|
|
|
6 |
<?php if ( wptouch_admin_setting_has_tooltip() ) { ?>
|
7 |
<i class="wptouch-tooltip" title="<?php wptouch_admin_the_setting_tooltip(); ?>"></i>
|
8 |
<?php } ?>
|
9 |
|
10 |
<input type="hidden" name="hid-<?php wptouch_admin_the_encoded_setting_name(); ?>" value="hide" />
|
11 |
-
<input type="checkbox" class="checkbox" name="<?php wptouch_admin_the_encoded_setting_name(); ?>" id="<?php wptouch_admin_the_setting_name(); ?>"<?php if ( wptouch_admin_is_setting_checked() ) echo " checked"; ?> />
|
12 |
<label for="<?php wptouch_admin_the_setting_name(); ?>"></label>
|
13 |
</div>
|
3 |
<?php if ( wptouch_admin_is_setting_new() ) { ?>
|
4 |
<span class="new"> <?php _e( 'New', 'wptouch-pro' ); ?></span>
|
5 |
<?php } ?>
|
6 |
+
|
7 |
+
<?php if ( wptouch_admin_is_setting_pro() && defined( 'WPTOUCH_IS_FREE' ) ) { ?>
|
8 |
+
<span class="pro"><a href="<?php echo admin_url( 'admin.php?page=wptouch-admin-go-pro' ); ?>"><?php _e( 'Pro', 'wptouch-pro' ); ?></a></span>
|
9 |
+
<?php } ?>
|
10 |
+
|
11 |
<?php if ( wptouch_admin_setting_has_tooltip() ) { ?>
|
12 |
<i class="wptouch-tooltip" title="<?php wptouch_admin_the_setting_tooltip(); ?>"></i>
|
13 |
<?php } ?>
|
14 |
|
15 |
<input type="hidden" name="hid-<?php wptouch_admin_the_encoded_setting_name(); ?>" value="hide" />
|
16 |
+
<input type="checkbox" class="checkbox" name="<?php wptouch_admin_the_encoded_setting_name(); ?>" id="<?php wptouch_admin_the_setting_name(); ?>"<?php if ( wptouch_admin_is_setting_pro() && defined( 'WPTOUCH_IS_FREE' ) ) echo ' disabled '; ?><?php if ( wptouch_admin_is_setting_checked() ) echo " checked"; ?> />
|
17 |
<label for="<?php wptouch_admin_the_setting_name(); ?>"></label>
|
18 |
</div>
|
admin/settings/html/list.php
CHANGED
@@ -8,7 +8,11 @@
|
|
8 |
<span class="new"> <?php _e( 'New', 'wptouch-pro' ); ?></span>
|
9 |
<?php } ?>
|
10 |
|
11 |
-
|
|
|
|
|
|
|
|
|
12 |
<?php while ( wptouch_admin_has_list_options() ) { ?>
|
13 |
<?php wptouch_admin_the_list_option(); ?>
|
14 |
<option value="<?php wptouch_admin_the_list_option_key(); ?>"<?php if ( wptouch_admin_is_list_option_selected() ) echo " selected"; ?>>
|
8 |
<span class="new"> <?php _e( 'New', 'wptouch-pro' ); ?></span>
|
9 |
<?php } ?>
|
10 |
|
11 |
+
<?php if ( wptouch_admin_is_setting_pro() && defined( 'WPTOUCH_IS_FREE' ) ) { ?>
|
12 |
+
<span class="pro"><a href="<?php echo admin_url( 'admin.php?page=wptouch-admin-go-pro' ); ?>"><?php _e( 'Pro', 'wptouch-pro' ); ?></a></span>
|
13 |
+
<?php } ?>
|
14 |
+
|
15 |
+
<select name="<?php wptouch_admin_the_encoded_setting_name(); ?>" id="<?php wptouch_admin_the_setting_name(); ?>" class="list"<?php if ( wptouch_admin_is_setting_pro() && defined( 'WPTOUCH_IS_FREE' ) ) echo ' disabled '; ?>>
|
16 |
<?php while ( wptouch_admin_has_list_options() ) { ?>
|
17 |
<?php wptouch_admin_the_list_option(); ?>
|
18 |
<option value="<?php wptouch_admin_the_list_option_key(); ?>"<?php if ( wptouch_admin_is_list_option_selected() ) echo " selected"; ?>>
|
admin/settings/html/multiline-comma.php
CHANGED
@@ -9,8 +9,12 @@
|
|
9 |
<span class="new"> <?php _e( 'New', 'wptouch-pro' ); ?></span>
|
10 |
<?php } ?>
|
11 |
|
|
|
|
|
|
|
|
|
12 |
<div class="input-wrap">
|
13 |
-
<input type="text" class="add-entry" placeholder="" />
|
14 |
<a href="#" class="add icon-plus-circled"></a>
|
15 |
<textarea style="width:400px; height: 100px" id="<?php wptouch_admin_the_setting_name(); ?>" name="<?php wptouch_admin_the_encoded_setting_name(); ?>"><?php wptouch_admin_the_setting_value(); ?></textarea>
|
16 |
</div>
|
9 |
<span class="new"> <?php _e( 'New', 'wptouch-pro' ); ?></span>
|
10 |
<?php } ?>
|
11 |
|
12 |
+
<?php if ( wptouch_admin_is_setting_pro() && defined( 'WPTOUCH_IS_FREE' ) ) { ?>
|
13 |
+
<span class="pro"><a href="<?php echo admin_url( 'admin.php?page=wptouch-admin-go-pro' ); ?>"><?php _e( 'Pro', 'wptouch-pro' ); ?></a></span>
|
14 |
+
<?php } ?>
|
15 |
+
|
16 |
<div class="input-wrap">
|
17 |
+
<input type="text" class="add-entry" placeholder="" <?php if ( wptouch_admin_is_setting_pro() && defined( 'WPTOUCH_IS_FREE' ) ) echo ' disabled '; ?> />
|
18 |
<a href="#" class="add icon-plus-circled"></a>
|
19 |
<textarea style="width:400px; height: 100px" id="<?php wptouch_admin_the_setting_name(); ?>" name="<?php wptouch_admin_the_encoded_setting_name(); ?>"><?php wptouch_admin_the_setting_value(); ?></textarea>
|
20 |
</div>
|
admin/settings/html/multiline-newline.php
CHANGED
@@ -7,8 +7,12 @@
|
|
7 |
<span class="new"> <?php _e( 'New', 'wptouch-pro' ); ?></span>
|
8 |
<?php } ?>
|
9 |
|
|
|
|
|
|
|
|
|
10 |
<div class="input-wrap">
|
11 |
-
<input type="text" class="add-entry" placeholder="" /><a href="#" class="add icon-plus-circled"></a>
|
12 |
<textarea style="width:400px; height: 100px" id="<?php wptouch_admin_the_setting_name(); ?>" name="<?php wptouch_admin_the_encoded_setting_name(); ?>"><?php wptouch_admin_the_setting_value(); ?></textarea>
|
13 |
</div>
|
14 |
|
7 |
<span class="new"> <?php _e( 'New', 'wptouch-pro' ); ?></span>
|
8 |
<?php } ?>
|
9 |
|
10 |
+
<?php if ( wptouch_admin_is_setting_pro() && defined( 'WPTOUCH_IS_FREE' ) ) { ?>
|
11 |
+
<span class="pro"><a href="<?php echo admin_url( 'admin.php?page=wptouch-admin-go-pro' ); ?>"><?php _e( 'Pro', 'wptouch-pro' ); ?></a></span>
|
12 |
+
<?php } ?>
|
13 |
+
|
14 |
<div class="input-wrap">
|
15 |
+
<input type="text" class="add-entry" placeholder="" <?php if ( wptouch_admin_is_setting_pro() && defined( 'WPTOUCH_IS_FREE' ) ) echo ' disabled '; ?> /><a href="#" class="add icon-plus-circled"></a>
|
16 |
<textarea style="width:400px; height: 100px" id="<?php wptouch_admin_the_setting_name(); ?>" name="<?php wptouch_admin_the_encoded_setting_name(); ?>"><?php wptouch_admin_the_setting_value(); ?></textarea>
|
17 |
</div>
|
18 |
|
admin/settings/html/plugin-compat-ajax.php
CHANGED
@@ -10,6 +10,9 @@
|
|
10 |
<?php echo sprintf( __( '%s', 'wptouch-pro' ), $friendly_name); ?>
|
11 |
<input type="checkbox" class="checkbox" value="<?php echo $key; ?>" name="<?php echo wptouch_admin_get_manual_encoded_setting_name( 'compat', 'enabled_plugins' ); ?>[]" id="<?php echo $key; ?>"<?php if ( isset( $settings->enabled_plugins[ $key ] ) && $settings->enabled_plugins[ $key ] ) echo ' checked'; ?><?php if ( defined( 'WPTOUCH_IS_FREE' ) || ( is_plugin_active_for_network( WPTOUCH_PLUGIN_SLUG ) && !current_user_can( 'manage_network' ) ) ) echo ' disabled'; ?> />
|
12 |
<label for="<?php echo $key; ?>"></label>
|
|
|
|
|
|
|
13 |
</div>
|
14 |
</li>
|
15 |
<?php } ?>
|
10 |
<?php echo sprintf( __( '%s', 'wptouch-pro' ), $friendly_name); ?>
|
11 |
<input type="checkbox" class="checkbox" value="<?php echo $key; ?>" name="<?php echo wptouch_admin_get_manual_encoded_setting_name( 'compat', 'enabled_plugins' ); ?>[]" id="<?php echo $key; ?>"<?php if ( isset( $settings->enabled_plugins[ $key ] ) && $settings->enabled_plugins[ $key ] ) echo ' checked'; ?><?php if ( defined( 'WPTOUCH_IS_FREE' ) || ( is_plugin_active_for_network( WPTOUCH_PLUGIN_SLUG ) && !current_user_can( 'manage_network' ) ) ) echo ' disabled'; ?> />
|
12 |
<label for="<?php echo $key; ?>"></label>
|
13 |
+
<?php if ( defined( 'WPTOUCH_IS_FREE' ) ) { ?>
|
14 |
+
<span class="pro"><?php _e( 'Pro', 'wptouch-pro' ); ?></span>
|
15 |
+
<?php } ?>
|
16 |
</div>
|
17 |
</li>
|
18 |
<?php } ?>
|
admin/settings/html/text.php
CHANGED
@@ -8,4 +8,8 @@
|
|
8 |
<span class="new"> <?php _e( 'New', 'wptouch-pro' ); ?></span>
|
9 |
<?php } ?>
|
10 |
|
11 |
-
|
|
|
|
|
|
|
|
8 |
<span class="new"> <?php _e( 'New', 'wptouch-pro' ); ?></span>
|
9 |
<?php } ?>
|
10 |
|
11 |
+
<?php if ( wptouch_admin_is_setting_pro() && defined( 'WPTOUCH_IS_FREE' ) ) { ?>
|
12 |
+
<span class="pro"><a href="<?php echo admin_url( 'admin.php?page=wptouch-admin-go-pro' ); ?>"><?php _e( 'Pro', 'wptouch-pro' ); ?></a></span>
|
13 |
+
<?php } ?>
|
14 |
+
|
15 |
+
<input type="text" autocomplete="off" class="text" id="<?php wptouch_admin_the_setting_name(); ?>" name="<?php wptouch_admin_the_encoded_setting_name(); ?>" value="<?php wptouch_admin_the_setting_value(); ?>" placeholder="" <?php if ( wptouch_admin_is_setting_pro() && defined( 'WPTOUCH_IS_FREE' ) ) echo ' disabled '; ?> />
|
core/admin-load.php
CHANGED
@@ -283,6 +283,10 @@ function wptouch_admin_render_custom_page( $slug = false ) {
|
|
283 |
$panel_options = do_action( 'wptouch_admin_page_render_custom', $admin_panel_name );
|
284 |
}
|
285 |
|
|
|
|
|
|
|
|
|
286 |
function wptouch_section_has_visible_settings( $section ) {
|
287 |
$viewable_settings = 0;
|
288 |
|
@@ -290,7 +294,7 @@ function wptouch_section_has_visible_settings( $section ) {
|
|
290 |
|
291 |
if ( isset( $section->settings) && is_array( $section->settings ) && count( $section->settings ) ) {
|
292 |
foreach( $section->settings as $setting ) {
|
293 |
-
if (
|
294 |
// This setting is viewable
|
295 |
$viewable_settings++;
|
296 |
}
|
283 |
$panel_options = do_action( 'wptouch_admin_page_render_custom', $admin_panel_name );
|
284 |
}
|
285 |
|
286 |
+
function wptouch_should_show_setting( $setting ) {
|
287 |
+
return true;
|
288 |
+
}
|
289 |
+
|
290 |
function wptouch_section_has_visible_settings( $section ) {
|
291 |
$viewable_settings = 0;
|
292 |
|
294 |
|
295 |
if ( isset( $section->settings) && is_array( $section->settings ) && count( $section->settings ) ) {
|
296 |
foreach( $section->settings as $setting ) {
|
297 |
+
if ( wptouch_should_show_setting( $setting ) ) {
|
298 |
// This setting is viewable
|
299 |
$viewable_settings++;
|
300 |
}
|
core/admin-render.php
CHANGED
@@ -71,6 +71,7 @@
|
|
71 |
|
72 |
<?php if ( defined( 'WPTOUCH_IS_FREE' ) ) { ?>
|
73 |
<li><a href="#" class="setup-general-general<?php if ( isset( $_COOKIE['wptouch-4-admin-menu'] ) && ( $_COOKIE['wptouch-4-admin-menu'] == 'setup-general-general' ) ) { echo ' active'; } ?>" data-page-slug="setup-general-general"><?php _e( 'General', 'wptouch-pro' ); ?></a></li>
|
|
|
74 |
<li><a href="#" class="setup-devices<?php if ( isset( $_COOKIE['wptouch-4-admin-menu'] ) && ( $_COOKIE['wptouch-4-admin-menu'] == 'setup-devices' ) ) { echo ' active'; } ?>" data-page-slug="setup-devices"><?php _e( 'Devices', 'wptouch-pro' ); ?></a></li>
|
75 |
<li><a href="#" class="menu-icons-manage-icon-sets<?php if ( isset( $_COOKIE['wptouch-4-admin-menu'] ) && ( $_COOKIE['wptouch-4-admin-menu'] == 'menu-icons-manage-icon-sets' ) ) { echo ' active'; } ?>" data-page-slug="menu-icons-manage-icon-sets"><?php _e( 'Menu Settings', 'wptouch-pro' ); ?></a></li>
|
76 |
<?php if ( wptouch_admin_use_customizer() ) { ?>
|
@@ -163,7 +164,7 @@
|
|
163 |
<?php } ?>
|
164 |
<ul class="padded">
|
165 |
<?php foreach( $section->settings as $setting ) { ?>
|
166 |
-
<?php if (
|
167 |
<li class="wptouch-setting setting-<?php echo $setting->type; ?>" id="setting-<?php echo wptouch_convert_to_class_name( $setting->name ); ?>">
|
168 |
<?php wptouch_admin_render_setting( $setting ); ?>
|
169 |
</li>
|
71 |
|
72 |
<?php if ( defined( 'WPTOUCH_IS_FREE' ) ) { ?>
|
73 |
<li><a href="#" class="setup-general-general<?php if ( isset( $_COOKIE['wptouch-4-admin-menu'] ) && ( $_COOKIE['wptouch-4-admin-menu'] == 'setup-general-general' ) ) { echo ' active'; } ?>" data-page-slug="setup-general-general"><?php _e( 'General', 'wptouch-pro' ); ?></a></li>
|
74 |
+
<li><a href="#" class="<?php wptouch_multisite_page_classes( 'site-compat' ); ?> setup-compat<?php if ( isset( $_COOKIE['wptouch-4-admin-menu'] ) && ( $_COOKIE['wptouch-4-admin-menu'] == 'setup-compat' ) ) { echo ' active'; } ?>" data-page-slug="setup-compat"><?php _e( 'Site Compatibility', 'wptouch-pro' ); ?></a></li>
|
75 |
<li><a href="#" class="setup-devices<?php if ( isset( $_COOKIE['wptouch-4-admin-menu'] ) && ( $_COOKIE['wptouch-4-admin-menu'] == 'setup-devices' ) ) { echo ' active'; } ?>" data-page-slug="setup-devices"><?php _e( 'Devices', 'wptouch-pro' ); ?></a></li>
|
76 |
<li><a href="#" class="menu-icons-manage-icon-sets<?php if ( isset( $_COOKIE['wptouch-4-admin-menu'] ) && ( $_COOKIE['wptouch-4-admin-menu'] == 'menu-icons-manage-icon-sets' ) ) { echo ' active'; } ?>" data-page-slug="menu-icons-manage-icon-sets"><?php _e( 'Menu Settings', 'wptouch-pro' ); ?></a></li>
|
77 |
<?php if ( wptouch_admin_use_customizer() ) { ?>
|
164 |
<?php } ?>
|
165 |
<ul class="padded">
|
166 |
<?php foreach( $section->settings as $setting ) { ?>
|
167 |
+
<?php if ( wptouch_should_show_setting( $setting ) ) { ?>
|
168 |
<li class="wptouch-setting setting-<?php echo $setting->type; ?>" id="setting-<?php echo wptouch_convert_to_class_name( $setting->name ); ?>">
|
169 |
<?php wptouch_admin_render_setting( $setting ); ?>
|
170 |
</li>
|
core/class-bncapi.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
define( 'BNC_API_VERSION', '5.
|
4 |
define( 'BNC_API_URL', 'http://api.wptouch.com/v/' . BNC_API_VERSION );
|
5 |
define( 'BNC_API_TIMEOUT', 30 );
|
6 |
|
1 |
<?php
|
2 |
|
3 |
+
define( 'BNC_API_VERSION', '5.2' );
|
4 |
define( 'BNC_API_URL', 'http://api.wptouch.com/v/' . BNC_API_VERSION );
|
5 |
define( 'BNC_API_TIMEOUT', 30 );
|
6 |
|
core/class-cache-smash.php
CHANGED
@@ -93,12 +93,31 @@ class WPtouchCacheSmash {
|
|
93 |
|
94 |
// Check W3
|
95 |
if ( $this->is_w3_plugin_detected() ) {
|
96 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
97 |
if ( $w3_config ) {
|
98 |
// Check to see if the Page Cache is enabled
|
99 |
-
if ( $w3_config->get_cache_option( 'pgcache.enabled' ) ) {
|
100 |
// If it's enabled, we need to make sure the user agents have been updated
|
101 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
102 |
if ( !$this->find_in_array_no_case( 'iphone', $rejected_user_agents ) ) {
|
103 |
$cache_configured = false;
|
104 |
}
|
@@ -175,4 +194,4 @@ class WPtouchCacheSmash {
|
|
175 |
public function should_disable_mobile_theme() {
|
176 |
return $this->cache_plugin_detected && !$this->cache_plugin_configured;
|
177 |
}
|
178 |
-
}
|
93 |
|
94 |
// Check W3
|
95 |
if ( $this->is_w3_plugin_detected() ) {
|
96 |
+
if( version_compare( W3TC_VERSION, '0.9.5', ">=" ) ) {
|
97 |
+
$w3tc_095_or_greater = true;
|
98 |
+
}
|
99 |
+
else {
|
100 |
+
$w3tc_095_or_greater = false;
|
101 |
+
}
|
102 |
+
|
103 |
+
if ( $w3tc_095_or_greater ) {
|
104 |
+
$w3_config = new \W3TC\Config( true );
|
105 |
+
}
|
106 |
+
else {
|
107 |
+
$w3_config = new W3_Config( true );
|
108 |
+
}
|
109 |
+
|
110 |
if ( $w3_config ) {
|
111 |
// Check to see if the Page Cache is enabled
|
112 |
+
if ( ( $w3tc_095_or_greater && $w3_config->get( 'pgcache.enabled' ) ) || ( !$w3tc_095_or_greater && $w3_config->get_cache_option( 'pgcache.enabled' ) ) ) {
|
113 |
// If it's enabled, we need to make sure the user agents have been updated
|
114 |
+
if ( $w3tc_095_or_greater ) {
|
115 |
+
$rejected_user_agents = $w3_config->get( 'pgcache.reject.ua' );
|
116 |
+
}
|
117 |
+
else {
|
118 |
+
$rejected_user_agents = $w3_config->get_cache_option( 'pgcache.reject.ua' );
|
119 |
+
}
|
120 |
+
|
121 |
if ( !$this->find_in_array_no_case( 'iphone', $rejected_user_agents ) ) {
|
122 |
$cache_configured = false;
|
123 |
}
|
194 |
public function should_disable_mobile_theme() {
|
195 |
return $this->cache_plugin_detected && !$this->cache_plugin_configured;
|
196 |
}
|
197 |
+
}
|
core/class-wptouch-pro.php
CHANGED
@@ -760,7 +760,7 @@ class WPtouchProFour {
|
|
760 |
}
|
761 |
|
762 |
function set_cache_cookie() {
|
763 |
-
if ( !is_admin() && function_exists( 'wptouch_cache_admin_bar' ) ) {
|
764 |
global $wptouch_pro;
|
765 |
|
766 |
$cookie_value = 'desktop';
|
@@ -775,6 +775,8 @@ class WPtouchProFour {
|
|
775 |
|
776 |
if ( function_exists( 'wptouch_addon_should_cache_desktop' ) ) {
|
777 |
$cache_desktop = wptouch_addon_should_cache_desktop();
|
|
|
|
|
778 |
} else {
|
779 |
$cache_desktop = false;
|
780 |
}
|
760 |
}
|
761 |
|
762 |
function set_cache_cookie() {
|
763 |
+
if ( !is_admin() && ( function_exists( 'wptouch_cache_admin_bar' ) || function_exists( 'wptouch_power_pack_admin_bar') ) ) {
|
764 |
global $wptouch_pro;
|
765 |
|
766 |
$cookie_value = 'desktop';
|
775 |
|
776 |
if ( function_exists( 'wptouch_addon_should_cache_desktop' ) ) {
|
777 |
$cache_desktop = wptouch_addon_should_cache_desktop();
|
778 |
+
} else if ( function_exists( 'wptouch_power_pack_should_cache_desktop' ) ) {
|
779 |
+
$cache_desktop = wptouch_power_pack_should_cache_desktop();
|
780 |
} else {
|
781 |
$cache_desktop = false;
|
782 |
}
|
core/menu-walkers.php
CHANGED
@@ -694,4 +694,4 @@ class WPtouchProCategoryWalker extends Walker {
|
|
694 |
$output .= "</li>\n";
|
695 |
}
|
696 |
|
697 |
-
}
|
694 |
$output .= "</li>\n";
|
695 |
}
|
696 |
|
697 |
+
}
|
lang/wptouch.pot
CHANGED
@@ -2,9 +2,9 @@
|
|
2 |
# This file is distributed under the same license as the WPtouch Mobile Plugin package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
-
"Project-Id-Version: WPtouch Mobile Plugin 4.
|
6 |
"Report-Msgid-Bugs-To: http://wordpress.org/tag/wptouch\n"
|
7 |
-
"POT-Creation-Date: 2016-09-
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=UTF-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
@@ -12,15 +12,15 @@ msgstr ""
|
|
12 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
13 |
"Language-Team: LANGUAGE <LL@li.org>\n"
|
14 |
|
15 |
-
#: admin/customizer/wptouch-customizer.php:
|
16 |
msgid "Device Orientation"
|
17 |
msgstr ""
|
18 |
|
19 |
-
#: admin/customizer/wptouch-customizer.php:
|
20 |
msgid "Switch to Mobile Theme"
|
21 |
msgstr ""
|
22 |
|
23 |
-
#: admin/customizer/wptouch-customizer.php:
|
24 |
msgid "Switch to Desktop Theme"
|
25 |
msgstr ""
|
26 |
|
@@ -377,7 +377,7 @@ msgstr ""
|
|
377 |
#: admin/pages/custom/wptouch-admin-wizard.php:179
|
378 |
#: admin/settings/html/theme-browser-item-detail.php:52
|
379 |
#: admin/settings/html/updates-available.php:35
|
380 |
-
#: admin/settings/html/updates-available.php:71 core/class-wptouch-pro.php:
|
381 |
msgid "Download"
|
382 |
msgstr ""
|
383 |
|
@@ -387,7 +387,7 @@ msgstr ""
|
|
387 |
#: admin/settings/html/installed_icon_sets_ajax.php:13
|
388 |
#: admin/settings/html/installed_icon_sets_ajax.php:26
|
389 |
#: admin/settings/html/theme-browser-item.php:12
|
390 |
-
#: core/class-wptouch-pro.php:
|
391 |
msgid "Installed"
|
392 |
msgstr ""
|
393 |
|
@@ -805,7 +805,7 @@ msgstr ""
|
|
805 |
|
806 |
#: admin/pages/wptouch-admin-general-settings.php:590
|
807 |
#: admin/settings/html/installed_icon_sets_ajax.php:4
|
808 |
-
#: core/class-wptouch-pro.php:
|
809 |
#: core/config.php:54
|
810 |
msgid "Custom Icons"
|
811 |
msgstr ""
|
@@ -814,8 +814,8 @@ msgstr ""
|
|
814 |
msgid "WordPress Pages"
|
815 |
msgstr ""
|
816 |
|
817 |
-
#: admin/pages/wptouch-admin-general-settings.php:639 core/admin-render.php:
|
818 |
-
#: core/admin-render.php:
|
819 |
msgid "Customize Theme"
|
820 |
msgstr ""
|
821 |
|
@@ -835,6 +835,14 @@ msgstr ""
|
|
835 |
msgid "New"
|
836 |
msgstr ""
|
837 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
838 |
#: admin/settings/html/custom-latest-posts.php:1
|
839 |
msgid "Posts page"
|
840 |
msgstr ""
|
@@ -909,7 +917,7 @@ msgstr ""
|
|
909 |
msgid "No extensions available"
|
910 |
msgstr ""
|
911 |
|
912 |
-
#: admin/settings/html/image-upload.php:7 core/class-wptouch-pro.php:
|
913 |
msgid "Upload Complete!"
|
914 |
msgstr ""
|
915 |
|
@@ -928,13 +936,13 @@ msgid ""
|
|
928 |
msgstr ""
|
929 |
|
930 |
#: admin/settings/html/installed_icon_sets_ajax.php:25
|
931 |
-
#: core/class-wptouch-pro.php:
|
932 |
msgid "Installing"
|
933 |
msgstr ""
|
934 |
|
935 |
#: admin/settings/html/installed_icon_sets_ajax.php:25
|
936 |
#: admin/settings/html/theme-browser-item-detail.php:3
|
937 |
-
#: core/admin-extensions.php:363 core/class-wptouch-pro.php:
|
938 |
msgid "Install"
|
939 |
msgstr ""
|
940 |
|
@@ -957,11 +965,11 @@ msgid "You're using %s, which currently does not support tablets."
|
|
957 |
msgstr ""
|
958 |
|
959 |
#: admin/settings/html/plugin-compat-ajax.php:10
|
960 |
-
#: themes/foundation/modules/custom-posts/custom-posts.php:
|
961 |
msgid "%s"
|
962 |
msgstr ""
|
963 |
|
964 |
-
#: admin/settings/html/plugin-compat-ajax.php:
|
965 |
msgid "No plugins activated to disable."
|
966 |
msgstr ""
|
967 |
|
@@ -1146,7 +1154,7 @@ msgstr ""
|
|
1146 |
msgid "Setup Wizard"
|
1147 |
msgstr ""
|
1148 |
|
1149 |
-
#: core/admin-menu.php:49 core/class-wptouch-pro.php:
|
1150 |
msgid "Settings"
|
1151 |
msgstr ""
|
1152 |
|
@@ -1196,45 +1204,46 @@ msgstr ""
|
|
1196 |
msgid "Tools"
|
1197 |
msgstr ""
|
1198 |
|
1199 |
-
#: core/admin-render.php:73 core/admin-render.php:
|
1200 |
msgid "General"
|
1201 |
msgstr ""
|
1202 |
|
1203 |
-
#: core/admin-render.php:74 core/admin-render.php:
|
|
|
|
|
|
|
|
|
|
|
1204 |
#: core/multisite.php:267 core/multisite.php:360
|
1205 |
msgid "Devices"
|
1206 |
msgstr ""
|
1207 |
|
1208 |
-
#: core/admin-render.php:
|
1209 |
#: core/multisite.php:275 core/multisite.php:368
|
1210 |
msgid "Menu Settings"
|
1211 |
msgstr ""
|
1212 |
|
1213 |
-
#: core/admin-render.php:
|
1214 |
-
|
1215 |
-
msgstr ""
|
1216 |
-
|
1217 |
-
#: core/admin-render.php:100 core/admin-render.php:102
|
1218 |
-
#: core/admin-render.php:140 core/config.php:95 core/multisite.php:283
|
1219 |
#: core/multisite.php:376
|
1220 |
msgid "Themes"
|
1221 |
msgstr ""
|
1222 |
|
1223 |
-
#: core/admin-render.php:
|
1224 |
msgid "Theme Settings"
|
1225 |
msgstr ""
|
1226 |
|
1227 |
-
#: core/admin-render.php:
|
1228 |
-
#: core/admin-render.php:
|
1229 |
#: core/multisite.php:384
|
1230 |
msgid "Extensions"
|
1231 |
msgstr ""
|
1232 |
|
1233 |
-
#: core/admin-render.php:
|
1234 |
msgid "Available for WPtouch Pro"
|
1235 |
msgstr ""
|
1236 |
|
1237 |
-
#: core/admin-render.php:
|
1238 |
msgid "Reset Settings"
|
1239 |
msgstr ""
|
1240 |
|
@@ -1310,59 +1319,59 @@ msgid ""
|
|
1310 |
"%s Please visit %sthis article%s for more information on how to fix it."
|
1311 |
msgstr ""
|
1312 |
|
1313 |
-
#: core/class-wptouch-pro.php:
|
1314 |
msgid ""
|
1315 |
"This will reset all WPtouch Pro settings.\n"
|
1316 |
"Are you sure?"
|
1317 |
msgstr ""
|
1318 |
|
1319 |
-
#: core/class-wptouch-pro.php:
|
1320 |
msgid ""
|
1321 |
"This will reset all WPtouch Pro settings and delete the wptouch-data "
|
1322 |
"folder.\n"
|
1323 |
"Are you sure?"
|
1324 |
msgstr ""
|
1325 |
|
1326 |
-
#: core/class-wptouch-pro.php:
|
1327 |
msgid ""
|
1328 |
"This will reset all WPtouch Pro settings, delete the wptouch-data folder, "
|
1329 |
"and deactivate the plugin. Are you sure?"
|
1330 |
msgstr ""
|
1331 |
|
1332 |
-
#: core/class-wptouch-pro.php:
|
1333 |
msgid "The item failed to download for this reason: %reason%"
|
1334 |
msgstr ""
|
1335 |
|
1336 |
-
#: core/class-wptouch-pro.php:
|
1337 |
msgid "You are about to reset your license information. Proceed?"
|
1338 |
msgstr ""
|
1339 |
|
1340 |
-
#: core/class-wptouch-pro.php:
|
1341 |
msgid "Upload Failed: Not a valid image."
|
1342 |
msgstr ""
|
1343 |
|
1344 |
-
#: core/class-wptouch-pro.php:
|
1345 |
msgid ""
|
1346 |
"WPtouch is saving settings. Please do not refresh the page while saving."
|
1347 |
msgstr ""
|
1348 |
|
1349 |
-
#: core/class-wptouch-pro.php:
|
1350 |
msgid "Install Themes"
|
1351 |
msgstr ""
|
1352 |
|
1353 |
-
#: core/class-wptouch-pro.php:
|
1354 |
msgid "Install Extensions"
|
1355 |
msgstr ""
|
1356 |
|
1357 |
-
#: core/class-wptouch-pro.php:
|
1358 |
msgid "%s Changelog"
|
1359 |
msgstr ""
|
1360 |
|
1361 |
-
#: core/class-wptouch-pro.php:
|
1362 |
msgid "Directory Problem"
|
1363 |
msgstr ""
|
1364 |
|
1365 |
-
#: core/class-wptouch-pro.php:
|
1366 |
msgid "One or more required directories could not be created"
|
1367 |
msgstr ""
|
1368 |
|
@@ -1693,11 +1702,30 @@ msgstr ""
|
|
1693 |
msgid "Search"
|
1694 |
msgstr ""
|
1695 |
|
1696 |
-
#: themes/bauhaus/default/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1697 |
msgid "newer posts"
|
1698 |
msgstr ""
|
1699 |
|
1700 |
-
#: themes/bauhaus/default/
|
|
|
1701 |
msgid "older posts"
|
1702 |
msgstr ""
|
1703 |
|
@@ -1721,10 +1749,6 @@ msgstr ""
|
|
1721 |
msgid "Reply"
|
1722 |
msgstr ""
|
1723 |
|
1724 |
-
#: themes/bauhaus/default/post-loop.php:22
|
1725 |
-
msgid "by"
|
1726 |
-
msgstr ""
|
1727 |
-
|
1728 |
#: themes/bauhaus/default/related-posts.php:4
|
1729 |
#: themes/foundation/default/related-posts.php:4
|
1730 |
msgid "Related"
|
@@ -1797,128 +1821,227 @@ msgstr ""
|
|
1797 |
msgid "desktop"
|
1798 |
msgstr ""
|
1799 |
|
1800 |
-
#: themes/bauhaus/root-functions.php:
|
1801 |
msgid "Header Menu"
|
1802 |
msgstr ""
|
1803 |
|
1804 |
-
#: themes/bauhaus/root-functions.php:
|
1805 |
msgid "Choose a menu"
|
1806 |
msgstr ""
|
1807 |
|
1808 |
-
#: themes/bauhaus/root-functions.php:
|
1809 |
msgid "Main menu selection"
|
1810 |
msgstr ""
|
1811 |
|
1812 |
-
#: themes/bauhaus/root-functions.php:
|
1813 |
msgid "Theme background"
|
1814 |
msgstr ""
|
1815 |
|
1816 |
-
#: themes/bauhaus/root-functions.php:
|
1817 |
msgid "Header & Menu"
|
1818 |
msgstr ""
|
1819 |
|
1820 |
-
#: themes/bauhaus/root-functions.php:
|
1821 |
msgid "Links"
|
1822 |
msgstr ""
|
1823 |
|
1824 |
-
#: themes/bauhaus/root-functions.php:
|
1825 |
msgid "Post/Page Headers"
|
1826 |
msgstr ""
|
1827 |
|
1828 |
-
#: themes/bauhaus/root-functions.php:
|
1829 |
msgid "Menu animation style"
|
1830 |
msgstr ""
|
1831 |
|
1832 |
-
#: themes/bauhaus/root-functions.php:
|
1833 |
msgid "Off-canvas"
|
1834 |
msgstr ""
|
1835 |
|
1836 |
-
#: themes/bauhaus/root-functions.php:
|
1837 |
msgid "Drop-down"
|
1838 |
msgstr ""
|
1839 |
|
1840 |
-
#: themes/bauhaus/root-functions.php:
|
1841 |
msgid "Menu position"
|
1842 |
msgstr ""
|
1843 |
|
1844 |
-
#: themes/bauhaus/root-functions.php:
|
1845 |
msgid "Left side"
|
1846 |
msgstr ""
|
1847 |
|
1848 |
-
#: themes/bauhaus/root-functions.php:
|
1849 |
msgid "Right side"
|
1850 |
msgstr ""
|
1851 |
|
1852 |
-
#: themes/bauhaus/root-functions.php:
|
1853 |
msgid "Show search in header"
|
1854 |
msgstr ""
|
1855 |
|
1856 |
-
#: themes/bauhaus/root-functions.php:
|
1857 |
msgid "Post thumbnails"
|
1858 |
msgstr ""
|
1859 |
|
1860 |
-
#: themes/bauhaus/root-functions.php:
|
1861 |
msgid "No thumbnails"
|
1862 |
msgstr ""
|
1863 |
|
1864 |
-
#: themes/bauhaus/root-functions.php:
|
1865 |
msgid "Blog listing only"
|
1866 |
msgstr ""
|
1867 |
|
1868 |
-
#: themes/bauhaus/root-functions.php:
|
1869 |
msgid "Blog listing, single posts"
|
1870 |
msgstr ""
|
1871 |
|
1872 |
-
#: themes/bauhaus/root-functions.php:
|
1873 |
msgid "Blog listing, single posts & pages"
|
1874 |
msgstr ""
|
1875 |
|
1876 |
-
#: themes/bauhaus/root-functions.php:
|
1877 |
msgid "All (blog, single, pages, search & archive)"
|
1878 |
msgstr ""
|
1879 |
|
1880 |
-
#: themes/bauhaus/root-functions.php:
|
1881 |
msgid "Thumbnail Type"
|
1882 |
msgstr ""
|
1883 |
|
1884 |
-
#: themes/bauhaus/root-functions.php:
|
1885 |
msgid "Post featured images"
|
1886 |
msgstr ""
|
1887 |
|
1888 |
-
#: themes/bauhaus/root-functions.php:
|
1889 |
msgid "Post custom field"
|
1890 |
msgstr ""
|
1891 |
|
1892 |
-
#: themes/bauhaus/root-functions.php:
|
1893 |
msgid "Thumbnail custom field name"
|
1894 |
msgstr ""
|
1895 |
|
1896 |
-
#: themes/bauhaus/root-functions.php:
|
1897 |
msgid "Show post categories and tags"
|
1898 |
msgstr ""
|
1899 |
|
1900 |
-
#: themes/bauhaus/root-functions.php:
|
1901 |
msgid "Show post date"
|
1902 |
msgstr ""
|
1903 |
|
1904 |
-
#: themes/bauhaus/root-functions.php:
|
1905 |
msgid "Show post author"
|
1906 |
msgstr ""
|
1907 |
|
1908 |
-
#: themes/bauhaus/root-functions.php:
|
1909 |
msgid "Show comment bubbles on posts"
|
1910 |
msgstr ""
|
1911 |
|
1912 |
-
#: themes/bauhaus/root-functions.php:
|
1913 |
msgid "Use infinite scrolling for blog"
|
1914 |
msgstr ""
|
1915 |
|
1916 |
-
#: themes/bauhaus/root-functions.php:
|
1917 |
-
msgid "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1918 |
msgstr ""
|
1919 |
|
1920 |
-
#: themes/bauhaus/root-functions.php:
|
1921 |
-
msgid "
|
1922 |
msgstr ""
|
1923 |
|
1924 |
#: themes/foundation/default/formerror.php:6
|
@@ -1949,139 +2072,98 @@ msgstr ""
|
|
1949 |
msgid "Loading"
|
1950 |
msgstr ""
|
1951 |
|
1952 |
-
#: themes/foundation/modules/custom-posts/custom-posts.php:
|
1953 |
msgid "Custom Post Support"
|
1954 |
msgstr ""
|
1955 |
|
1956 |
-
#: themes/foundation/modules/custom-posts/custom-posts.php:
|
1957 |
msgid "Enable custom post-type support"
|
1958 |
msgstr ""
|
1959 |
|
1960 |
-
#: themes/foundation/modules/custom-posts/custom-posts.php:
|
1961 |
msgid "Include custom post-type posts in blog index"
|
1962 |
msgstr ""
|
1963 |
|
1964 |
-
#: themes/foundation/modules/custom-posts/custom-posts.php:
|
1965 |
msgid "Custom Post Types"
|
1966 |
msgstr ""
|
1967 |
|
1968 |
-
#: themes/foundation/modules/custom-posts/custom-posts.php:
|
1969 |
msgid ""
|
1970 |
"Select which custom post types WPtouch Pro should load when displaying your "
|
1971 |
"site."
|
1972 |
msgstr ""
|
1973 |
|
1974 |
#: themes/foundation/modules/featured/featured.php:329
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1975 |
msgid "Featured slider style"
|
1976 |
msgstr ""
|
1977 |
|
1978 |
-
#: themes/foundation/modules/featured/featured.php:
|
1979 |
msgid "Enhanced"
|
1980 |
msgstr ""
|
1981 |
|
1982 |
-
#: themes/foundation/modules/featured/featured.php:
|
1983 |
msgid "Streamlined"
|
1984 |
msgstr ""
|
1985 |
|
1986 |
-
#: themes/foundation/modules/featured/featured.php:
|
1987 |
msgid "Slide transition Delay"
|
1988 |
msgstr ""
|
1989 |
|
1990 |
-
#: themes/foundation/modules/featured/featured.php:
|
1991 |
msgid "Long"
|
1992 |
msgstr ""
|
1993 |
|
1994 |
-
#: themes/foundation/modules/featured/featured.php:
|
1995 |
msgid "Normal"
|
1996 |
msgstr ""
|
1997 |
|
1998 |
-
#: themes/foundation/modules/featured/featured.php:
|
1999 |
msgid "Short"
|
2000 |
msgstr ""
|
2001 |
|
2002 |
-
#: themes/foundation/modules/featured/featured.php:
|
2003 |
msgid "Number of posts in slider"
|
2004 |
msgstr ""
|
2005 |
|
2006 |
-
#: themes/foundation/modules/featured/featured.php:373
|
2007 |
-
msgid "Show # of comments"
|
2008 |
-
msgstr ""
|
2009 |
-
|
2010 |
-
#: themes/foundation/modules/featured/featured.php:381
|
2011 |
-
msgid "Slide automatically"
|
2012 |
-
msgstr ""
|
2013 |
-
|
2014 |
#: themes/foundation/modules/featured/featured.php:389
|
2015 |
-
msgid "
|
2016 |
msgstr ""
|
2017 |
|
2018 |
#: themes/foundation/modules/featured/featured.php:397
|
2019 |
-
msgid "
|
2020 |
msgstr ""
|
2021 |
|
2022 |
#: themes/foundation/modules/featured/featured.php:405
|
2023 |
-
msgid "
|
2024 |
msgstr ""
|
2025 |
|
2026 |
#: themes/foundation/modules/featured/featured.php:413
|
2027 |
-
msgid "
|
2028 |
-
msgstr ""
|
2029 |
-
|
2030 |
-
#: themes/foundation/modules/featured/featured.php:418
|
2031 |
-
msgid "Show latest posts"
|
2032 |
-
msgstr ""
|
2033 |
-
|
2034 |
-
#: themes/foundation/modules/featured/featured.php:419
|
2035 |
-
msgid "Show posts from a specific tag"
|
2036 |
-
msgstr ""
|
2037 |
-
|
2038 |
-
#: themes/foundation/modules/featured/featured.php:420
|
2039 |
-
msgid "Show posts from a specific category"
|
2040 |
msgstr ""
|
2041 |
|
2042 |
#: themes/foundation/modules/featured/featured.php:421
|
2043 |
-
msgid "
|
2044 |
-
msgstr ""
|
2045 |
-
|
2046 |
-
#: themes/foundation/modules/featured/featured.php:422
|
2047 |
-
msgid "Show only specific posts or pages"
|
2048 |
-
msgstr ""
|
2049 |
-
|
2050 |
-
#: themes/foundation/modules/featured/featured.php:428
|
2051 |
-
msgid "Only this tag"
|
2052 |
msgstr ""
|
2053 |
|
2054 |
#: themes/foundation/modules/featured/featured.php:429
|
2055 |
-
|
2056 |
-
msgid "Enter the tag/category slug name"
|
2057 |
-
msgstr ""
|
2058 |
-
|
2059 |
-
#: themes/foundation/modules/featured/featured.php:437
|
2060 |
-
msgid "Only this category"
|
2061 |
-
msgstr ""
|
2062 |
-
|
2063 |
-
#: themes/foundation/modules/featured/featured.php:446
|
2064 |
-
msgid "Comma-separated list of post/page IDs"
|
2065 |
-
msgstr ""
|
2066 |
-
|
2067 |
-
#: themes/foundation/modules/featured/featured.php:457
|
2068 |
-
msgid "Only this post type"
|
2069 |
msgstr ""
|
2070 |
|
2071 |
-
#: themes/foundation/modules/featured/featured.php:
|
2072 |
msgid "Featured Slider"
|
2073 |
msgstr ""
|
2074 |
|
2075 |
-
#: themes/foundation/modules/featured/featured.php:474
|
2076 |
-
msgid "Enable featured slider"
|
2077 |
-
msgstr ""
|
2078 |
-
|
2079 |
-
#: themes/foundation/modules/featured/featured.php:482
|
2080 |
-
msgid "Show on blog"
|
2081 |
-
msgstr ""
|
2082 |
-
|
2083 |
#: themes/foundation/modules/featured/featured.php:490
|
2084 |
-
msgid "
|
2085 |
msgstr ""
|
2086 |
|
2087 |
#: themes/foundation/modules/google-fonts/google-fonts.php:21
|
2 |
# This file is distributed under the same license as the WPtouch Mobile Plugin package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
+
"Project-Id-Version: WPtouch Mobile Plugin 4.3\n"
|
6 |
"Report-Msgid-Bugs-To: http://wordpress.org/tag/wptouch\n"
|
7 |
+
"POT-Creation-Date: 2016-09-26 19:22:48+00:00\n"
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=UTF-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
12 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
13 |
"Language-Team: LANGUAGE <LL@li.org>\n"
|
14 |
|
15 |
+
#: admin/customizer/wptouch-customizer.php:590
|
16 |
msgid "Device Orientation"
|
17 |
msgstr ""
|
18 |
|
19 |
+
#: admin/customizer/wptouch-customizer.php:617
|
20 |
msgid "Switch to Mobile Theme"
|
21 |
msgstr ""
|
22 |
|
23 |
+
#: admin/customizer/wptouch-customizer.php:618
|
24 |
msgid "Switch to Desktop Theme"
|
25 |
msgstr ""
|
26 |
|
377 |
#: admin/pages/custom/wptouch-admin-wizard.php:179
|
378 |
#: admin/settings/html/theme-browser-item-detail.php:52
|
379 |
#: admin/settings/html/updates-available.php:35
|
380 |
+
#: admin/settings/html/updates-available.php:71 core/class-wptouch-pro.php:967
|
381 |
msgid "Download"
|
382 |
msgstr ""
|
383 |
|
387 |
#: admin/settings/html/installed_icon_sets_ajax.php:13
|
388 |
#: admin/settings/html/installed_icon_sets_ajax.php:26
|
389 |
#: admin/settings/html/theme-browser-item.php:12
|
390 |
+
#: core/class-wptouch-pro.php:966
|
391 |
msgid "Installed"
|
392 |
msgstr ""
|
393 |
|
805 |
|
806 |
#: admin/pages/wptouch-admin-general-settings.php:590
|
807 |
#: admin/settings/html/installed_icon_sets_ajax.php:4
|
808 |
+
#: core/class-wptouch-pro.php:2162 core/class-wptouch-pro.php:2163
|
809 |
#: core/config.php:54
|
810 |
msgid "Custom Icons"
|
811 |
msgstr ""
|
814 |
msgid "WordPress Pages"
|
815 |
msgstr ""
|
816 |
|
817 |
+
#: admin/pages/wptouch-admin-general-settings.php:639 core/admin-render.php:78
|
818 |
+
#: core/admin-render.php:109 core/config.php:93
|
819 |
msgid "Customize Theme"
|
820 |
msgstr ""
|
821 |
|
835 |
msgid "New"
|
836 |
msgstr ""
|
837 |
|
838 |
+
#: admin/settings/html/checkbox.php:8 admin/settings/html/list.php:12
|
839 |
+
#: admin/settings/html/multiline-comma.php:13
|
840 |
+
#: admin/settings/html/multiline-newline.php:11
|
841 |
+
#: admin/settings/html/plugin-compat-ajax.php:14
|
842 |
+
#: admin/settings/html/text.php:12
|
843 |
+
msgid "Pro"
|
844 |
+
msgstr ""
|
845 |
+
|
846 |
#: admin/settings/html/custom-latest-posts.php:1
|
847 |
msgid "Posts page"
|
848 |
msgstr ""
|
917 |
msgid "No extensions available"
|
918 |
msgstr ""
|
919 |
|
920 |
+
#: admin/settings/html/image-upload.php:7 core/class-wptouch-pro.php:959
|
921 |
msgid "Upload Complete!"
|
922 |
msgstr ""
|
923 |
|
936 |
msgstr ""
|
937 |
|
938 |
#: admin/settings/html/installed_icon_sets_ajax.php:25
|
939 |
+
#: core/class-wptouch-pro.php:965
|
940 |
msgid "Installing"
|
941 |
msgstr ""
|
942 |
|
943 |
#: admin/settings/html/installed_icon_sets_ajax.php:25
|
944 |
#: admin/settings/html/theme-browser-item-detail.php:3
|
945 |
+
#: core/admin-extensions.php:363 core/class-wptouch-pro.php:964
|
946 |
msgid "Install"
|
947 |
msgstr ""
|
948 |
|
965 |
msgstr ""
|
966 |
|
967 |
#: admin/settings/html/plugin-compat-ajax.php:10
|
968 |
+
#: themes/foundation/modules/custom-posts/custom-posts.php:183
|
969 |
msgid "%s"
|
970 |
msgstr ""
|
971 |
|
972 |
+
#: admin/settings/html/plugin-compat-ajax.php:22
|
973 |
msgid "No plugins activated to disable."
|
974 |
msgstr ""
|
975 |
|
1154 |
msgid "Setup Wizard"
|
1155 |
msgstr ""
|
1156 |
|
1157 |
+
#: core/admin-menu.php:49 core/class-wptouch-pro.php:1634
|
1158 |
msgid "Settings"
|
1159 |
msgstr ""
|
1160 |
|
1204 |
msgid "Tools"
|
1205 |
msgstr ""
|
1206 |
|
1207 |
+
#: core/admin-render.php:73 core/admin-render.php:82 core/config.php:89
|
1208 |
msgid "General"
|
1209 |
msgstr ""
|
1210 |
|
1211 |
+
#: core/admin-render.php:74 core/admin-render.php:86 core/multisite.php:259
|
1212 |
+
#: core/multisite.php:352
|
1213 |
+
msgid "Site Compatibility"
|
1214 |
+
msgstr ""
|
1215 |
+
|
1216 |
+
#: core/admin-render.php:75 core/admin-render.php:90 core/config.php:91
|
1217 |
#: core/multisite.php:267 core/multisite.php:360
|
1218 |
msgid "Devices"
|
1219 |
msgstr ""
|
1220 |
|
1221 |
+
#: core/admin-render.php:76 core/admin-render.php:94 core/config.php:92
|
1222 |
#: core/multisite.php:275 core/multisite.php:368
|
1223 |
msgid "Menu Settings"
|
1224 |
msgstr ""
|
1225 |
|
1226 |
+
#: core/admin-render.php:101 core/admin-render.php:103
|
1227 |
+
#: core/admin-render.php:141 core/config.php:95 core/multisite.php:283
|
|
|
|
|
|
|
|
|
1228 |
#: core/multisite.php:376
|
1229 |
msgid "Themes"
|
1230 |
msgstr ""
|
1231 |
|
1232 |
+
#: core/admin-render.php:106 themes/foundation/root-functions.php:9
|
1233 |
msgid "Theme Settings"
|
1234 |
msgstr ""
|
1235 |
|
1236 |
+
#: core/admin-render.php:116 core/admin-render.php:118
|
1237 |
+
#: core/admin-render.php:142 core/config.php:96 core/multisite.php:291
|
1238 |
#: core/multisite.php:384
|
1239 |
msgid "Extensions"
|
1240 |
msgstr ""
|
1241 |
|
1242 |
+
#: core/admin-render.php:139
|
1243 |
msgid "Available for WPtouch Pro"
|
1244 |
msgstr ""
|
1245 |
|
1246 |
+
#: core/admin-render.php:190
|
1247 |
msgid "Reset Settings"
|
1248 |
msgstr ""
|
1249 |
|
1319 |
"%s Please visit %sthis article%s for more information on how to fix it."
|
1320 |
msgstr ""
|
1321 |
|
1322 |
+
#: core/class-wptouch-pro.php:954
|
1323 |
msgid ""
|
1324 |
"This will reset all WPtouch Pro settings.\n"
|
1325 |
"Are you sure?"
|
1326 |
msgstr ""
|
1327 |
|
1328 |
+
#: core/class-wptouch-pro.php:955
|
1329 |
msgid ""
|
1330 |
"This will reset all WPtouch Pro settings and delete the wptouch-data "
|
1331 |
"folder.\n"
|
1332 |
"Are you sure?"
|
1333 |
msgstr ""
|
1334 |
|
1335 |
+
#: core/class-wptouch-pro.php:956
|
1336 |
msgid ""
|
1337 |
"This will reset all WPtouch Pro settings, delete the wptouch-data folder, "
|
1338 |
"and deactivate the plugin. Are you sure?"
|
1339 |
msgstr ""
|
1340 |
|
1341 |
+
#: core/class-wptouch-pro.php:957
|
1342 |
msgid "The item failed to download for this reason: %reason%"
|
1343 |
msgstr ""
|
1344 |
|
1345 |
+
#: core/class-wptouch-pro.php:958
|
1346 |
msgid "You are about to reset your license information. Proceed?"
|
1347 |
msgstr ""
|
1348 |
|
1349 |
+
#: core/class-wptouch-pro.php:960
|
1350 |
msgid "Upload Failed: Not a valid image."
|
1351 |
msgstr ""
|
1352 |
|
1353 |
+
#: core/class-wptouch-pro.php:961
|
1354 |
msgid ""
|
1355 |
"WPtouch is saving settings. Please do not refresh the page while saving."
|
1356 |
msgstr ""
|
1357 |
|
1358 |
+
#: core/class-wptouch-pro.php:962
|
1359 |
msgid "Install Themes"
|
1360 |
msgstr ""
|
1361 |
|
1362 |
+
#: core/class-wptouch-pro.php:963
|
1363 |
msgid "Install Extensions"
|
1364 |
msgstr ""
|
1365 |
|
1366 |
+
#: core/class-wptouch-pro.php:1671
|
1367 |
msgid "%s Changelog"
|
1368 |
msgstr ""
|
1369 |
|
1370 |
+
#: core/class-wptouch-pro.php:3088
|
1371 |
msgid "Directory Problem"
|
1372 |
msgstr ""
|
1373 |
|
1374 |
+
#: core/class-wptouch-pro.php:3089
|
1375 |
msgid "One or more required directories could not be created"
|
1376 |
msgstr ""
|
1377 |
|
1702 |
msgid "Search"
|
1703 |
msgstr ""
|
1704 |
|
1705 |
+
#: themes/bauhaus/default/layouts/carousel-post-loop.php:16
|
1706 |
+
#: themes/bauhaus/default/post-loop.php:17
|
1707 |
+
msgid "by"
|
1708 |
+
msgstr ""
|
1709 |
+
|
1710 |
+
#: themes/bauhaus/default/layouts/carousel-view.php:6
|
1711 |
+
msgid "Latest"
|
1712 |
+
msgstr ""
|
1713 |
+
|
1714 |
+
#: themes/bauhaus/default/layouts/carousel-view.php:20
|
1715 |
+
msgid "Featured"
|
1716 |
+
msgstr ""
|
1717 |
+
|
1718 |
+
#: themes/bauhaus/default/layouts/carousel-view.php:25
|
1719 |
+
msgid "Popular"
|
1720 |
+
msgstr ""
|
1721 |
+
|
1722 |
+
#: themes/bauhaus/default/layouts/post-listing-view.php:29
|
1723 |
+
#: themes/foundation/default/index.php:33
|
1724 |
msgid "newer posts"
|
1725 |
msgstr ""
|
1726 |
|
1727 |
+
#: themes/bauhaus/default/layouts/post-listing-view.php:29
|
1728 |
+
#: themes/foundation/default/index.php:33
|
1729 |
msgid "older posts"
|
1730 |
msgstr ""
|
1731 |
|
1749 |
msgid "Reply"
|
1750 |
msgstr ""
|
1751 |
|
|
|
|
|
|
|
|
|
1752 |
#: themes/bauhaus/default/related-posts.php:4
|
1753 |
#: themes/foundation/default/related-posts.php:4
|
1754 |
msgid "Related"
|
1821 |
msgid "desktop"
|
1822 |
msgstr ""
|
1823 |
|
1824 |
+
#: themes/bauhaus/root-functions.php:149
|
1825 |
msgid "Header Menu"
|
1826 |
msgstr ""
|
1827 |
|
1828 |
+
#: themes/bauhaus/root-functions.php:151
|
1829 |
msgid "Choose a menu"
|
1830 |
msgstr ""
|
1831 |
|
1832 |
+
#: themes/bauhaus/root-functions.php:152
|
1833 |
msgid "Main menu selection"
|
1834 |
msgstr ""
|
1835 |
|
1836 |
+
#: themes/bauhaus/root-functions.php:159
|
1837 |
msgid "Theme background"
|
1838 |
msgstr ""
|
1839 |
|
1840 |
+
#: themes/bauhaus/root-functions.php:160
|
1841 |
msgid "Header & Menu"
|
1842 |
msgstr ""
|
1843 |
|
1844 |
+
#: themes/bauhaus/root-functions.php:161
|
1845 |
msgid "Links"
|
1846 |
msgstr ""
|
1847 |
|
1848 |
+
#: themes/bauhaus/root-functions.php:162
|
1849 |
msgid "Post/Page Headers"
|
1850 |
msgstr ""
|
1851 |
|
1852 |
+
#: themes/bauhaus/root-functions.php:274
|
1853 |
msgid "Menu animation style"
|
1854 |
msgstr ""
|
1855 |
|
1856 |
+
#: themes/bauhaus/root-functions.php:279
|
1857 |
msgid "Off-canvas"
|
1858 |
msgstr ""
|
1859 |
|
1860 |
+
#: themes/bauhaus/root-functions.php:280
|
1861 |
msgid "Drop-down"
|
1862 |
msgstr ""
|
1863 |
|
1864 |
+
#: themes/bauhaus/root-functions.php:288
|
1865 |
msgid "Menu position"
|
1866 |
msgstr ""
|
1867 |
|
1868 |
+
#: themes/bauhaus/root-functions.php:293
|
1869 |
msgid "Left side"
|
1870 |
msgstr ""
|
1871 |
|
1872 |
+
#: themes/bauhaus/root-functions.php:294
|
1873 |
msgid "Right side"
|
1874 |
msgstr ""
|
1875 |
|
1876 |
+
#: themes/bauhaus/root-functions.php:302
|
1877 |
msgid "Show search in header"
|
1878 |
msgstr ""
|
1879 |
|
1880 |
+
#: themes/bauhaus/root-functions.php:319
|
1881 |
msgid "Post thumbnails"
|
1882 |
msgstr ""
|
1883 |
|
1884 |
+
#: themes/bauhaus/root-functions.php:324
|
1885 |
msgid "No thumbnails"
|
1886 |
msgstr ""
|
1887 |
|
1888 |
+
#: themes/bauhaus/root-functions.php:325
|
1889 |
msgid "Blog listing only"
|
1890 |
msgstr ""
|
1891 |
|
1892 |
+
#: themes/bauhaus/root-functions.php:326
|
1893 |
msgid "Blog listing, single posts"
|
1894 |
msgstr ""
|
1895 |
|
1896 |
+
#: themes/bauhaus/root-functions.php:327
|
1897 |
msgid "Blog listing, single posts & pages"
|
1898 |
msgstr ""
|
1899 |
|
1900 |
+
#: themes/bauhaus/root-functions.php:328
|
1901 |
msgid "All (blog, single, pages, search & archive)"
|
1902 |
msgstr ""
|
1903 |
|
1904 |
+
#: themes/bauhaus/root-functions.php:336
|
1905 |
msgid "Thumbnail Type"
|
1906 |
msgstr ""
|
1907 |
|
1908 |
+
#: themes/bauhaus/root-functions.php:341
|
1909 |
msgid "Post featured images"
|
1910 |
msgstr ""
|
1911 |
|
1912 |
+
#: themes/bauhaus/root-functions.php:342
|
1913 |
msgid "Post custom field"
|
1914 |
msgstr ""
|
1915 |
|
1916 |
+
#: themes/bauhaus/root-functions.php:350
|
1917 |
msgid "Thumbnail custom field name"
|
1918 |
msgstr ""
|
1919 |
|
1920 |
+
#: themes/bauhaus/root-functions.php:361
|
1921 |
msgid "Show post categories and tags"
|
1922 |
msgstr ""
|
1923 |
|
1924 |
+
#: themes/bauhaus/root-functions.php:372
|
1925 |
msgid "Show post date"
|
1926 |
msgstr ""
|
1927 |
|
1928 |
+
#: themes/bauhaus/root-functions.php:383
|
1929 |
msgid "Show post author"
|
1930 |
msgstr ""
|
1931 |
|
1932 |
+
#: themes/bauhaus/root-functions.php:394
|
1933 |
msgid "Show comment bubbles on posts"
|
1934 |
msgstr ""
|
1935 |
|
1936 |
+
#: themes/bauhaus/root-functions.php:405
|
1937 |
msgid "Use infinite scrolling for blog"
|
1938 |
msgstr ""
|
1939 |
|
1940 |
+
#: themes/bauhaus/root-functions.php:424
|
1941 |
+
msgid "Blog Appearance"
|
1942 |
+
msgstr ""
|
1943 |
+
|
1944 |
+
#: themes/bauhaus/root-functions.php:429
|
1945 |
+
msgid "List View"
|
1946 |
+
msgstr ""
|
1947 |
+
|
1948 |
+
#: themes/bauhaus/root-functions.php:430
|
1949 |
+
msgid "Carousel View"
|
1950 |
+
msgstr ""
|
1951 |
+
|
1952 |
+
#: themes/bauhaus/root-functions.php:436
|
1953 |
+
msgid "Show featured posts"
|
1954 |
+
msgstr ""
|
1955 |
+
|
1956 |
+
#: themes/bauhaus/root-functions.php:446
|
1957 |
+
msgid "Show slider nav bar"
|
1958 |
+
msgstr ""
|
1959 |
+
|
1960 |
+
#: themes/bauhaus/root-functions.php:456
|
1961 |
+
msgid "Autoplay"
|
1962 |
+
msgstr ""
|
1963 |
+
|
1964 |
+
#: themes/bauhaus/root-functions.php:466
|
1965 |
+
msgid "Show featured posts slider"
|
1966 |
+
msgstr ""
|
1967 |
+
|
1968 |
+
#: themes/bauhaus/root-functions.php:476
|
1969 |
+
msgid "Show popular posts slider"
|
1970 |
+
msgstr ""
|
1971 |
+
|
1972 |
+
#: themes/bauhaus/root-functions.php:486
|
1973 |
+
msgid "Max number of posts in popular slider"
|
1974 |
+
msgstr ""
|
1975 |
+
|
1976 |
+
#: themes/bauhaus/root-functions.php:503
|
1977 |
+
msgid "Max number of featured posts"
|
1978 |
+
msgstr ""
|
1979 |
+
|
1980 |
+
#: themes/bauhaus/root-functions.php:517
|
1981 |
+
msgid "Featured posts also show in latest posts"
|
1982 |
+
msgstr ""
|
1983 |
+
|
1984 |
+
#: themes/bauhaus/root-functions.php:527
|
1985 |
+
msgid "Featured posts to display"
|
1986 |
+
msgstr ""
|
1987 |
+
|
1988 |
+
#: themes/bauhaus/root-functions.php:532
|
1989 |
+
#: themes/foundation/modules/featured/featured.php:434
|
1990 |
+
msgid "Show latest posts"
|
1991 |
+
msgstr ""
|
1992 |
+
|
1993 |
+
#: themes/bauhaus/root-functions.php:533
|
1994 |
+
#: themes/foundation/modules/featured/featured.php:435
|
1995 |
+
msgid "Show posts from a specific tag"
|
1996 |
+
msgstr ""
|
1997 |
+
|
1998 |
+
#: themes/bauhaus/root-functions.php:534
|
1999 |
+
#: themes/foundation/modules/featured/featured.php:436
|
2000 |
+
msgid "Show posts from a specific category"
|
2001 |
+
msgstr ""
|
2002 |
+
|
2003 |
+
#: themes/bauhaus/root-functions.php:535
|
2004 |
+
#: themes/foundation/modules/featured/featured.php:437
|
2005 |
+
msgid "Show posts from a specific post type"
|
2006 |
+
msgstr ""
|
2007 |
+
|
2008 |
+
#: themes/bauhaus/root-functions.php:536
|
2009 |
+
#: themes/foundation/modules/featured/featured.php:438
|
2010 |
+
msgid "Show only specific posts or pages"
|
2011 |
+
msgstr ""
|
2012 |
+
|
2013 |
+
#: themes/bauhaus/root-functions.php:543
|
2014 |
+
#: themes/foundation/modules/featured/featured.php:444
|
2015 |
+
msgid "Only this tag"
|
2016 |
+
msgstr ""
|
2017 |
+
|
2018 |
+
#: themes/bauhaus/root-functions.php:544 themes/bauhaus/root-functions.php:554
|
2019 |
+
#: themes/foundation/modules/featured/featured.php:445
|
2020 |
+
#: themes/foundation/modules/featured/featured.php:454
|
2021 |
+
msgid "Enter the tag/category slug name"
|
2022 |
+
msgstr ""
|
2023 |
+
|
2024 |
+
#: themes/bauhaus/root-functions.php:553
|
2025 |
+
#: themes/foundation/modules/featured/featured.php:453
|
2026 |
+
msgid "Only this category"
|
2027 |
+
msgstr ""
|
2028 |
+
|
2029 |
+
#: themes/bauhaus/root-functions.php:563
|
2030 |
+
#: themes/foundation/modules/featured/featured.php:462
|
2031 |
+
msgid "Comma-separated list of post/page IDs"
|
2032 |
+
msgstr ""
|
2033 |
+
|
2034 |
+
#: themes/bauhaus/root-functions.php:576
|
2035 |
+
#: themes/foundation/modules/featured/featured.php:473
|
2036 |
+
msgid "Only this post type"
|
2037 |
+
msgstr ""
|
2038 |
+
|
2039 |
+
#: themes/bauhaus/root-functions.php:589
|
2040 |
+
msgid "Blog Featured Slider"
|
2041 |
msgstr ""
|
2042 |
|
2043 |
+
#: themes/bauhaus/root-functions.php:599
|
2044 |
+
msgid "Blog Layout"
|
2045 |
msgstr ""
|
2046 |
|
2047 |
#: themes/foundation/default/formerror.php:6
|
2072 |
msgid "Loading"
|
2073 |
msgstr ""
|
2074 |
|
2075 |
+
#: themes/foundation/modules/custom-posts/custom-posts.php:163
|
2076 |
msgid "Custom Post Support"
|
2077 |
msgstr ""
|
2078 |
|
2079 |
+
#: themes/foundation/modules/custom-posts/custom-posts.php:169
|
2080 |
msgid "Enable custom post-type support"
|
2081 |
msgstr ""
|
2082 |
|
2083 |
+
#: themes/foundation/modules/custom-posts/custom-posts.php:196
|
2084 |
msgid "Include custom post-type posts in blog index"
|
2085 |
msgstr ""
|
2086 |
|
2087 |
+
#: themes/foundation/modules/custom-posts/custom-posts.php:204
|
2088 |
msgid "Custom Post Types"
|
2089 |
msgstr ""
|
2090 |
|
2091 |
+
#: themes/foundation/modules/custom-posts/custom-posts.php:210
|
2092 |
msgid ""
|
2093 |
"Select which custom post types WPtouch Pro should load when displaying your "
|
2094 |
"site."
|
2095 |
msgstr ""
|
2096 |
|
2097 |
#: themes/foundation/modules/featured/featured.php:329
|
2098 |
+
msgid "Show on blog"
|
2099 |
+
msgstr ""
|
2100 |
+
|
2101 |
+
#: themes/foundation/modules/featured/featured.php:337
|
2102 |
+
msgid "Show on homepage"
|
2103 |
+
msgstr ""
|
2104 |
+
|
2105 |
+
#: themes/foundation/modules/featured/featured.php:345
|
2106 |
msgid "Featured slider style"
|
2107 |
msgstr ""
|
2108 |
|
2109 |
+
#: themes/foundation/modules/featured/featured.php:350
|
2110 |
msgid "Enhanced"
|
2111 |
msgstr ""
|
2112 |
|
2113 |
+
#: themes/foundation/modules/featured/featured.php:351
|
2114 |
msgid "Streamlined"
|
2115 |
msgstr ""
|
2116 |
|
2117 |
+
#: themes/foundation/modules/featured/featured.php:363
|
2118 |
msgid "Slide transition Delay"
|
2119 |
msgstr ""
|
2120 |
|
2121 |
+
#: themes/foundation/modules/featured/featured.php:368
|
2122 |
msgid "Long"
|
2123 |
msgstr ""
|
2124 |
|
2125 |
+
#: themes/foundation/modules/featured/featured.php:369
|
2126 |
msgid "Normal"
|
2127 |
msgstr ""
|
2128 |
|
2129 |
+
#: themes/foundation/modules/featured/featured.php:370
|
2130 |
msgid "Short"
|
2131 |
msgstr ""
|
2132 |
|
2133 |
+
#: themes/foundation/modules/featured/featured.php:376
|
2134 |
msgid "Number of posts in slider"
|
2135 |
msgstr ""
|
2136 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2137 |
#: themes/foundation/modules/featured/featured.php:389
|
2138 |
+
msgid "Show # of comments"
|
2139 |
msgstr ""
|
2140 |
|
2141 |
#: themes/foundation/modules/featured/featured.php:397
|
2142 |
+
msgid "Slide automatically"
|
2143 |
msgstr ""
|
2144 |
|
2145 |
#: themes/foundation/modules/featured/featured.php:405
|
2146 |
+
msgid "Slides repeat"
|
2147 |
msgstr ""
|
2148 |
|
2149 |
#: themes/foundation/modules/featured/featured.php:413
|
2150 |
+
msgid "Make images grayscale"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2151 |
msgstr ""
|
2152 |
|
2153 |
#: themes/foundation/modules/featured/featured.php:421
|
2154 |
+
msgid "Slider posts also show in listings"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2155 |
msgstr ""
|
2156 |
|
2157 |
#: themes/foundation/modules/featured/featured.php:429
|
2158 |
+
msgid "Posts to display"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2159 |
msgstr ""
|
2160 |
|
2161 |
+
#: themes/foundation/modules/featured/featured.php:483
|
2162 |
msgid "Featured Slider"
|
2163 |
msgstr ""
|
2164 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2165 |
#: themes/foundation/modules/featured/featured.php:490
|
2166 |
+
msgid "Enable featured slider"
|
2167 |
msgstr ""
|
2168 |
|
2169 |
#: themes/foundation/modules/google-fonts/google-fonts.php:21
|
readme.txt
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
Contributors: bravenewcode, duanestorey, dalemugford, adamdipardo
|
3 |
Tags: wptouch, iphone, ipod, bravenewcode, mobile, mobile-friendly, android, blackberry, smartphone, responsive, design, mobile plugin, ios, mobile theme
|
4 |
Requires at least: 4.2
|
5 |
-
Stable tag: 4.
|
6 |
Tested up to: 4.6
|
7 |
License: GPLv2
|
8 |
|
@@ -33,6 +33,11 @@ For more information visit [WPtouch.com](http://www.wptouch.com/?utm_campaign=wp
|
|
33 |
|
34 |
== Changelog ==
|
35 |
|
|
|
|
|
|
|
|
|
|
|
36 |
= Version 4.2.6 (September 16, 2016) =
|
37 |
|
38 |
* Modified: Newsletter sign-up information
|
2 |
Contributors: bravenewcode, duanestorey, dalemugford, adamdipardo
|
3 |
Tags: wptouch, iphone, ipod, bravenewcode, mobile, mobile-friendly, android, blackberry, smartphone, responsive, design, mobile plugin, ios, mobile theme
|
4 |
Requires at least: 4.2
|
5 |
+
Stable tag: 4.3
|
6 |
Tested up to: 4.6
|
7 |
License: GPLv2
|
8 |
|
33 |
|
34 |
== Changelog ==
|
35 |
|
36 |
+
= Version 4.3 (September 26, 2016) =
|
37 |
+
|
38 |
+
* Added: Bauhaus 2. Updated Featured slider, may require you to set up your preferred settings again
|
39 |
+
* Fixed: Minor issues and a settings bug which could cause settings to appear unsaved in the Customizer
|
40 |
+
|
41 |
= Version 4.2.6 (September 16, 2016) =
|
42 |
|
43 |
* Modified: Newsletter sign-up information
|
themes/bauhaus/bauhaus-customizer.js
CHANGED
@@ -1,7 +1,48 @@
|
|
1 |
function doBauhausCustomizerReady() {
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
// Post thumbnails select
|
4 |
-
jQuery( '[id$=_use_thumbnails]' ).on( 'change wptouch.
|
5 |
var thumbSetting = jQuery( '[id$=_thumbnail_type] *' );
|
6 |
|
7 |
switch( jQuery( this ).val() ) {
|
@@ -16,17 +57,22 @@ function doBauhausCustomizerReady() {
|
|
16 |
|
17 |
// Thumbnail Image
|
18 |
var thumbnailSelect = jQuery( '[id$=_thumbnail_type]' );
|
19 |
-
|
20 |
-
thumbnailSelect.on( 'change wptouch.customizerReady', 'select', function(){
|
21 |
if ( jQuery( this ).val() == 'featured' ) {
|
22 |
thumbnailSelect.next().find( '*' ).hide();
|
23 |
} else {
|
24 |
thumbnailSelect.next().find( '*' ).show();
|
25 |
}
|
26 |
});
|
|
|
|
|
|
|
|
|
|
|
27 |
|
28 |
-
|
29 |
-
|
|
|
30 |
}
|
31 |
|
32 |
jQuery( window ).load( function() {
|
1 |
function doBauhausCustomizerReady() {
|
2 |
|
3 |
+
// Post Listings Select
|
4 |
+
var postListingSelect = jQuery( 'select', '[id$=_post_listing_view]' );
|
5 |
+
// Popular Posts Checkbox
|
6 |
+
popularSetting = jQuery( 'input', '[id$=bauhaus_popular_enabled]' );
|
7 |
+
|
8 |
+
checkPostListingShowHide();
|
9 |
+
|
10 |
+
// check whether to show or hide all the various settings
|
11 |
+
function checkPostListingShowHide(){
|
12 |
+
postListingSelect.on( 'change wptouch.customizerReady', function(){
|
13 |
+
if ( jQuery( this ).val() != 'default' ) {
|
14 |
+
// Carousel view
|
15 |
+
jQuery( '[id$=bauhaus_featured_enabled]' ).hide();
|
16 |
+
jQuery( '[id$=post_listing_dots]' ).hide();
|
17 |
+
jQuery( '[id$=post_listing_autoplay]' ).hide();
|
18 |
+
jQuery( '[id$=bauhaus_featured_carousel_enabled]' ).show();
|
19 |
+
jQuery( '[id$=bauhaus_popular_enabled]' ).show();
|
20 |
+
} else {
|
21 |
+
jQuery( '[id$=bauhaus_featured_enabled]' ).show();
|
22 |
+
jQuery( '[id$=post_listing_dots]' ).show();
|
23 |
+
jQuery( '[id$=post_listing_autoplay]' ).show();
|
24 |
+
jQuery( '[id$=bauhaus_featured_carousel_enabled]' ).hide();
|
25 |
+
jQuery( '[id$=bauhaus_popular_enabled]' ).hide();
|
26 |
+
}
|
27 |
+
checkPopularShowHide();
|
28 |
+
});
|
29 |
+
|
30 |
+
popularSetting.on( 'change wptouch.customizerReady', function(){
|
31 |
+
checkPopularShowHide();
|
32 |
+
});
|
33 |
+
}
|
34 |
+
|
35 |
+
function checkPopularShowHide(){
|
36 |
+
if ( popularSetting.is( ':checked' ) && postListingSelect.val() == 'carousel' ) {
|
37 |
+
popularSetting.closest( 'li' ).next( 'li' ).show();
|
38 |
+
} else {
|
39 |
+
popularSetting.closest( 'li' ).next( 'li' ).hide();
|
40 |
+
}
|
41 |
+
}
|
42 |
+
|
43 |
+
|
44 |
// Post thumbnails select
|
45 |
+
jQuery( '[id$=_use_thumbnails]' ).on( 'change wptouch.BauhausCustomizerReady', 'select', function() {
|
46 |
var thumbSetting = jQuery( '[id$=_thumbnail_type] *' );
|
47 |
|
48 |
switch( jQuery( this ).val() ) {
|
57 |
|
58 |
// Thumbnail Image
|
59 |
var thumbnailSelect = jQuery( '[id$=_thumbnail_type]' );
|
60 |
+
thumbnailSelect.on( 'change wptouch.BauhausCustomizerReady', 'select', function(){
|
|
|
61 |
if ( jQuery( this ).val() == 'featured' ) {
|
62 |
thumbnailSelect.next().find( '*' ).hide();
|
63 |
} else {
|
64 |
thumbnailSelect.next().find( '*' ).show();
|
65 |
}
|
66 |
});
|
67 |
+
|
68 |
+
|
69 |
+
if ( WPtouchCustomizer.wptouch_is_pro == 'no' ) {
|
70 |
+
postListingSelect.find( 'option[value=carousel]').attr( 'disabled','disabled' ).text( 'Carousel View (Pro Only)' );
|
71 |
+
}
|
72 |
|
73 |
+
// Fire a change to deal with Customizer controlof .change()
|
74 |
+
jQuery( '#customize-theme-controls' ).find( 'select' ).trigger( 'wptouch.customizerReady' );
|
75 |
+
jQuery( '#customize-theme-controls' ).find( 'input[type="checkbox"]' ).trigger( 'wptouch.BauhausCustomizerReady' );
|
76 |
}
|
77 |
|
78 |
jQuery( window ).load( function() {
|
themes/bauhaus/default/bauhaus.js
CHANGED
@@ -10,14 +10,14 @@ function doBauhausReady() {
|
|
10 |
bauhausVideoUnwrap();
|
11 |
bauhausHandleSearch();
|
12 |
bauhausHandlePostImgs();
|
|
|
13 |
}
|
14 |
|
15 |
// Spice up the appearance of Foundation's Featured Slider
|
16 |
function bauhausSliderMods(){
|
17 |
jQuery( '#slider a' ).each( function(){
|
18 |
-
imgCloned = jQuery( this ).find( 'img' ).
|
19 |
-
jQuery( this ).append( imgCloned );
|
20 |
-
imgCloned.addClass( 'clone' );
|
21 |
jQuery( this ).find( 'p' ).not( 'p.featured-date' ).addClass( 'heading-font' );
|
22 |
});
|
23 |
}
|
@@ -89,4 +89,98 @@ function bauhausHandleSearch() {
|
|
89 |
}
|
90 |
}
|
91 |
|
92 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
bauhausVideoUnwrap();
|
11 |
bauhausHandleSearch();
|
12 |
bauhausHandlePostImgs();
|
13 |
+
bauhausFlickity();
|
14 |
}
|
15 |
|
16 |
// Spice up the appearance of Foundation's Featured Slider
|
17 |
function bauhausSliderMods(){
|
18 |
jQuery( '#slider a' ).each( function(){
|
19 |
+
imgCloned = jQuery( this ).find( 'img' ).attr( 'src' );
|
20 |
+
jQuery( this ).append( '<img class="clone" src="'+imgCloned+'" alt="" />');
|
|
|
21 |
jQuery( this ).find( 'p' ).not( 'p.featured-date' ).addClass( 'heading-font' );
|
22 |
});
|
23 |
}
|
89 |
}
|
90 |
}
|
91 |
|
92 |
+
function bauhausFlickity(){
|
93 |
+
|
94 |
+
jQuery( '.slider-latest-only .carousel' ).css({ 'height': jQuery( window ).height() });
|
95 |
+
|
96 |
+
var bauhausFriction = 0.32;
|
97 |
+
var bauhausAttraction = 0.06;
|
98 |
+
var bauhausThreshold = 15;
|
99 |
+
|
100 |
+
|
101 |
+
var recentCarousel = jQuery( '.recent-carousel' ).flickity({
|
102 |
+
friction: bauhausFriction,
|
103 |
+
selectedAttraction: bauhausAttraction,
|
104 |
+
dragThreshold: bauhausThreshold,
|
105 |
+
setGallerySize: false,
|
106 |
+
cellAlign: 'left',
|
107 |
+
wrapAround: false,
|
108 |
+
prevNextButtons: false,
|
109 |
+
pageDots: false,
|
110 |
+
imagesLoaded: true,
|
111 |
+
lazyLoad: 4
|
112 |
+
});
|
113 |
+
|
114 |
+
var carouselData = recentCarousel.data( 'flickity' );
|
115 |
+
recentCarousel.on( 'settle.flickity', function(){
|
116 |
+
// as we go along, load more
|
117 |
+
if ( carouselData.selectedIndex > carouselData.cells.length - 4 ) {
|
118 |
+
var loadMoreRecent = recentCarousel.attr( 'rel' );
|
119 |
+
jQuery.get( loadMoreRecent ).done( function( result ) {
|
120 |
+
if ( true ) {
|
121 |
+
items = jQuery( result ).find( '.recent-carousel .carousel-cell' );
|
122 |
+
recentCarousel.flickity( 'append', items );
|
123 |
+
newPageUrl = jQuery( result ).find( '.recent-carousel' ).attr( 'rel' );
|
124 |
+
recentCarousel.attr( 'rel', newPageUrl );
|
125 |
+
}
|
126 |
+
});
|
127 |
+
}
|
128 |
+
});
|
129 |
+
|
130 |
+
jQuery( '.featured-carousel' ).flickity({
|
131 |
+
friction: bauhausFriction,
|
132 |
+
selectedAttraction: bauhausAttraction,
|
133 |
+
dragThreshold: bauhausThreshold,
|
134 |
+
setGallerySize: false,
|
135 |
+
cellAlign: 'left',
|
136 |
+
freeScroll: false,
|
137 |
+
imagesLoaded: true,
|
138 |
+
wrapAround: false,
|
139 |
+
prevNextButtons: false,
|
140 |
+
pageDots: false,
|
141 |
+
lazyLoad: 1
|
142 |
+
});
|
143 |
+
|
144 |
+
jQuery( '.popular-carousel' ).flickity({
|
145 |
+
friction: bauhausFriction,
|
146 |
+
selectedAttraction: bauhausAttraction,
|
147 |
+
dragThreshold: bauhausThreshold,
|
148 |
+
setGallerySize: false,
|
149 |
+
cellAlign: 'left',
|
150 |
+
freeScroll: false,
|
151 |
+
imagesLoaded: true,
|
152 |
+
wrapAround: false,
|
153 |
+
prevNextButtons: false,
|
154 |
+
pageDots: false,
|
155 |
+
lazyLoad: 1
|
156 |
+
});
|
157 |
+
|
158 |
+
listCarousel = jQuery( '.list-view .list-carousel' );
|
159 |
+
showDots = false;
|
160 |
+
autoPlay = false;
|
161 |
+
if ( listCarousel.hasClass( 'dots' ) ) {
|
162 |
+
showDots = true;
|
163 |
+
}
|
164 |
+
if ( listCarousel.hasClass( 'autoplay' ) ) {
|
165 |
+
autoPlay = true;
|
166 |
+
}
|
167 |
+
|
168 |
+
jQuery( '.list-carousel' ).flickity({
|
169 |
+
friction: bauhausFriction,
|
170 |
+
selectedAttraction: bauhausAttraction,
|
171 |
+
dragThreshold: bauhausThreshold,
|
172 |
+
setGallerySize: false,
|
173 |
+
cellAlign: 'left',
|
174 |
+
freeScroll: false,
|
175 |
+
imagesLoaded: true,
|
176 |
+
wrapAround: false,
|
177 |
+
prevNextButtons: false,
|
178 |
+
autoPlay: autoPlay,
|
179 |
+
pageDots: showDots,
|
180 |
+
lazyLoad: 1
|
181 |
+
});
|
182 |
+
|
183 |
+
}
|
184 |
+
|
185 |
+
|
186 |
+
jQuery( document ).ready( function() { doBauhausReady(); } );
|
themes/bauhaus/default/featured-slider.php
DELETED
@@ -1,18 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
$settings = foundation_get_settings();
|
3 |
-
?>
|
4 |
-
<?php
|
5 |
-
$settings = foundation_get_settings();
|
6 |
-
?>
|
7 |
-
<a href='<?php echo the_permalink(); ?>' class='needsclick'>
|
8 |
-
<?php if ( $settings->featured_style == 'enhanced' && wptouch_get_comment_count() != 0 ) { ?>
|
9 |
-
<div class='comments-number'><span><?php echo wptouch_get_comment_count(); ?></span></div>
|
10 |
-
<?php } ?>
|
11 |
-
<img src='<?php echo foundation_featured_get_image(); ?>' alt='<?php the_title(); ?>' / >
|
12 |
-
<p class='featured-date'>
|
13 |
-
<?php wptouch_the_time(); ?>
|
14 |
-
<?php if ( $settings->featured_style == 'normal' && $settings->featured_comments ) { ?>
|
15 |
-
• <?php echo wptouch_get_comment_count() . ' comments'; ?></p>
|
16 |
-
<?php } ?>
|
17 |
-
<p class='featured-title'><?php the_title(); ?></p>
|
18 |
-
</a>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
themes/bauhaus/default/functions.php
CHANGED
@@ -2,7 +2,9 @@
|
|
2 |
|
3 |
add_action( 'foundation_enqueue_scripts', 'bauhaus_enqueue_scripts' );
|
4 |
add_filter( 'amp_should_show_featured_image_in_header', 'bauhaus_should_show_thumbnail' );
|
5 |
-
|
|
|
|
|
6 |
|
7 |
function bauhaus_enqueue_scripts() {
|
8 |
wp_enqueue_script(
|
@@ -74,7 +76,7 @@ function bauhaus_should_show_search(){
|
|
74 |
}
|
75 |
}
|
76 |
|
77 |
-
function
|
78 |
$settings = bauhaus_get_settings();
|
79 |
|
80 |
if ( $settings->bauhaus_show_comment_bubbles ) {
|
@@ -94,17 +96,219 @@ function bauhaus_is_menu_position_default(){
|
|
94 |
}
|
95 |
}
|
96 |
|
97 |
-
function
|
98 |
-
|
99 |
-
$settings = bauhaus_get_settings();
|
100 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
101 |
global $post;
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
106 |
}
|
|
|
|
|
107 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
108 |
|
109 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
110 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
3 |
add_action( 'foundation_enqueue_scripts', 'bauhaus_enqueue_scripts' );
|
4 |
add_filter( 'amp_should_show_featured_image_in_header', 'bauhaus_should_show_thumbnail' );
|
5 |
+
add_action( 'wp_loaded', 'bauhaus_featured_setup' );
|
6 |
+
global $bauhaus_featured_args;
|
7 |
+
global $bauhaus_featured_posts;
|
8 |
|
9 |
function bauhaus_enqueue_scripts() {
|
10 |
wp_enqueue_script(
|
76 |
}
|
77 |
}
|
78 |
|
79 |
+
function bauhaus_should_show_comments(){
|
80 |
$settings = bauhaus_get_settings();
|
81 |
|
82 |
if ( $settings->bauhaus_show_comment_bubbles ) {
|
96 |
}
|
97 |
}
|
98 |
|
99 |
+
function bauhaus_is_latest_only(){
|
100 |
+
$settings = bauhaus_get_settings();
|
|
|
101 |
|
102 |
+
if ( $settings->bauhaus_featured_carousel_enabled == false && $settings->bauhaus_popular_enabled == false ) {
|
103 |
+
return true;
|
104 |
+
} else {
|
105 |
+
return false;
|
106 |
+
}
|
107 |
+
}
|
108 |
+
|
109 |
+
function bauhaus_get_featured_image( $post = false ) {
|
110 |
+
if ( !$post ) {
|
111 |
global $post;
|
112 |
+
}
|
113 |
+
|
114 |
+
$image = get_the_post_thumbnail( $post->ID, 'foundation-featured-image' );
|
115 |
+
|
116 |
+
if ( preg_match( '#src=\"(.*)\"#iU', $image, $matches ) ) {
|
117 |
+
$image = $matches[1];
|
118 |
+
|
119 |
+
$our_size = sprintf( "%d", WPTOUCH_FEATURED_SIZE );
|
120 |
+
if ( strpos( $image, $our_size ) === false ) {
|
121 |
+
// It's not our image, so just use the WP medium size
|
122 |
+
$image = get_the_post_thumbnail( $post->ID, 'large' );
|
123 |
+
if ( preg_match( '#src=\"(.*)\"#iU', $image, $matches ) ) {
|
124 |
+
$image = $matches[1];
|
125 |
+
}
|
126 |
+
}
|
127 |
+
}
|
128 |
+
|
129 |
+
return apply_filters( 'wptouch_get_post_thumbnail', $image );
|
130 |
+
}
|
131 |
+
|
132 |
+
function bauhaus_featured_setup() {
|
133 |
+
$settings = bauhaus_get_settings();
|
134 |
+
if ( wptouch_is_showing_mobile_theme_on_mobile_device() && !is_admin() ) {
|
135 |
+
if ( function_exists( 'add_theme_support' ) ) {
|
136 |
+
add_theme_support( 'post-thumbnails' );
|
137 |
+
}
|
138 |
+
|
139 |
+
global $bauhaus_featured_posts;
|
140 |
+
$settings = bauhaus_get_settings();
|
141 |
+
$args = bauhaus_featured_get_args();
|
142 |
+
|
143 |
+
$slides = bauhaus_featured_get_posts();
|
144 |
+
|
145 |
+
$slide_count = 0;
|
146 |
+
if ( $slides->post_count > 0 ) {
|
147 |
+
while ( $slides->have_posts() ) {//} && $slide_count < $args[ 'num' ] ) {
|
148 |
+
$slides->the_post();
|
149 |
+
$image = bauhaus_featured_has_image();
|
150 |
+
$slide_count++;
|
151 |
+
$bauhaus_featured_posts[] = get_the_ID();
|
152 |
+
}
|
153 |
}
|
154 |
+
|
155 |
+
add_filter( 'parse_query', 'bauhaus_featured_modify_query' );
|
156 |
}
|
157 |
+
}
|
158 |
+
|
159 |
+
function bauhaus_featured_modify_query( $query ) {
|
160 |
+
if ( $query->is_main_query() ) {
|
161 |
+
$settings = bauhaus_get_settings();
|
162 |
+
|
163 |
+
if ( bauhaus_is_latest_only() || $settings->bauhaus_featured_filter_posts ) {
|
164 |
+
return;
|
165 |
+
}
|
166 |
+
|
167 |
+
$should_modify_query = apply_filters(
|
168 |
+
'bauhaus_featured_should_modify_query',
|
169 |
+
( $query->is_single || $query->is_page || $query->is_feed || $query->is_search || $query->is_archive || $query->is_category ) == false,
|
170 |
+
$query
|
171 |
+
);
|
172 |
+
|
173 |
+
if ( $should_modify_query === false ) {
|
174 |
+
return;
|
175 |
+
}
|
176 |
+
|
177 |
+
global $bauhaus_featured_posts;
|
178 |
+
|
179 |
+
$post_array = array();
|
180 |
|
181 |
+
if ( is_array( $bauhaus_featured_posts ) && count( $bauhaus_featured_posts ) > 0 ) {
|
182 |
+
foreach( $bauhaus_featured_posts as $post_id ) {
|
183 |
+
$post_array[] = '-' . $post_id;
|
184 |
+
}
|
185 |
+
}
|
186 |
+
|
187 |
+
$query->query_vars[ 'post__not_in'] = $post_array;
|
188 |
+
|
189 |
+
return $query;
|
190 |
+
}
|
191 |
+
}
|
192 |
+
|
193 |
+
function bauhaus_featured_get_args() {
|
194 |
+
$settings = bauhaus_get_settings();
|
195 |
+
$max_posts = $settings->bauhaus_featured_max_number_of_posts;
|
196 |
+
|
197 |
+
global $bauhaus_featured_args;
|
198 |
+
|
199 |
+
$defaults = array(
|
200 |
+
'type' => 'post',
|
201 |
+
'num' => $max_posts,
|
202 |
+
'before' => '',
|
203 |
+
'after' => '',
|
204 |
+
'max_search' => $max_posts * 1.5,
|
205 |
+
'ignore_sticky_posts' => 1
|
206 |
+
);
|
207 |
+
// Parse defaults into arguments
|
208 |
+
return wp_parse_args( $bauhaus_featured_args, $defaults );
|
209 |
}
|
210 |
+
|
211 |
+
function bauhaus_featured_get_posts() {
|
212 |
+
global $post;
|
213 |
+
|
214 |
+
$settings = bauhaus_get_settings();
|
215 |
+
|
216 |
+
$bauhaus_featured_posts = array();
|
217 |
+
|
218 |
+
$args = bauhaus_featured_get_args();
|
219 |
+
|
220 |
+
$new_posts = false;
|
221 |
+
switch( $settings->bauhaus_featured_type ) {
|
222 |
+
case 'tag':
|
223 |
+
$new_posts = new WP_Query( array( 'ignore_sticky_posts' => 1, 'posts_per_page' => $args[ 'max_search' ], 'tag' => $settings->bauhaus_featured_tag, 'meta_query' => array( array('key' => '_thumbnail_id') ) ) );
|
224 |
+
break;
|
225 |
+
case 'category':
|
226 |
+
$new_posts = new WP_Query( array( 'ignore_sticky_posts' => 1, 'posts_per_page' => $args[ 'max_search' ], 'category_name' => $settings->bauhaus_featured_category, 'meta_query' => array( array('key' => '_thumbnail_id') ) ) );
|
227 |
+
break;
|
228 |
+
case 'posts':
|
229 |
+
if ( function_exists( 'wptouch_custom_posts_add_to_search' ) ) {
|
230 |
+
$post_types = wptouch_custom_posts_add_to_search( array( 'post', 'page' ) );
|
231 |
+
} else {
|
232 |
+
$post_types = array( 'post', 'page' );
|
233 |
+
}
|
234 |
+
$post_ids = explode( ',', str_replace( ' ', '', $settings->bauhaus_featured_post_ids ) );
|
235 |
+
if ( is_array( $post_ids ) && count( $post_ids ) ) {
|
236 |
+
$new_posts = new WP_Query( array( 'ignore_sticky_posts' => 1, 'post__in' => $post_ids, 'posts_per_page' => $args[ 'max_search' ], 'post_type' => $post_types, 'orderby' => 'post__in' , 'meta_query' => array( array('key' => '_thumbnail_id') ) ) );
|
237 |
+
}
|
238 |
+
break;
|
239 |
+
case 'post_type':
|
240 |
+
$new_posts = new WP_Query( array( 'ignore_sticky_posts' => 1, 'post_type' => $settings->bauhaus_featured_post_type, 'posts_per_page' => $args[ 'max_search' ], 'meta_query' => array( array('key' => '_thumbnail_id') ) ) );
|
241 |
+
break;
|
242 |
+
case 'latest':
|
243 |
+
default:
|
244 |
+
$new_posts = new WP_Query( array( 'ignore_sticky_posts' => 1, 'posts_per_page' => $args[ 'max_search' ], 'meta_query' => array( array( 'key' => '_thumbnail_id' ) ) ) );
|
245 |
+
break;
|
246 |
+
}
|
247 |
+
|
248 |
+
return $new_posts;
|
249 |
+
}
|
250 |
+
|
251 |
+
function bauhaus_featured_has_image( $post = false ) {
|
252 |
+
if ( !$post ) {
|
253 |
+
global $post;
|
254 |
+
}
|
255 |
+
|
256 |
+
$image = get_the_post_thumbnail( $post->ID, 'large' );
|
257 |
+
|
258 |
+
if ( $image ) {
|
259 |
+
return true;
|
260 |
+
} else {
|
261 |
+
return false;
|
262 |
+
}
|
263 |
+
}
|
264 |
+
|
265 |
+
function bauhaus_should_show_featured() {
|
266 |
+
$settings = bauhaus_get_settings();
|
267 |
+
$should_show = ( ( is_home() || is_front_page() ) && $settings->bauhaus_featured_enabled );
|
268 |
+
|
269 |
+
return apply_filters( 'bauhaus_featured_show', $should_show, $settings->bauhaus_featured_enabled );
|
270 |
+
}
|
271 |
+
|
272 |
+
function bauhaus_should_show_carousel_featured() {
|
273 |
+
$settings = bauhaus_get_settings();
|
274 |
+
$should_show = ( ( is_home() || is_front_page() ) && $settings->bauhaus_featured_carousel_enabled );
|
275 |
+
|
276 |
+
return apply_filters( 'bauhaus_featured_carousel_show', $should_show, $settings->bauhaus_featured_carousel_enabled );
|
277 |
+
}
|
278 |
+
|
279 |
+
function bauhaus_featured_slider() {
|
280 |
+
global $bauhaus_featured_posts;
|
281 |
+
$settings = bauhaus_get_settings();
|
282 |
+
$args = bauhaus_featured_get_args();
|
283 |
+
$classes = [];
|
284 |
+
if ( $settings->bauhaus_post_listing_autoplay ) {
|
285 |
+
$classes[] = 'autoplay';
|
286 |
+
}
|
287 |
+
|
288 |
+
if ( $settings->bauhaus_post_listing_dots ) {
|
289 |
+
$classes[] = 'dots';
|
290 |
+
}
|
291 |
+
|
292 |
+
if ( function_exists( 'wptouch_custom_posts_add_to_search' ) ) {
|
293 |
+
$post_types = wptouch_custom_posts_add_to_search( array( 'post', 'page' ) );
|
294 |
+
} else {
|
295 |
+
$post_types = array( 'post', 'page' );
|
296 |
+
}
|
297 |
+
|
298 |
+
$slides = new WP_Query( array( 'ignore_sticky_posts' => 1, 'post__in' => $bauhaus_featured_posts, 'post_type' => $post_types, 'posts_per_page' => $settings->bauhaus_featured_max_number_of_posts ) );
|
299 |
+
|
300 |
+
if ( $slides->post_count > 0 ) {
|
301 |
+
|
302 |
+
echo '<div class="carousel list-carousel ' . implode( ' ', $classes ) .'">';
|
303 |
+
|
304 |
+
while ( $slides->have_posts() ) {
|
305 |
+
$slides->the_post();
|
306 |
+
echo '<div class="carousel-cell">';
|
307 |
+
get_template_part( 'layouts/carousel-post-loop' );
|
308 |
+
echo '</div>';
|
309 |
+
}
|
310 |
+
|
311 |
+
echo '</div>';
|
312 |
+
|
313 |
+
}
|
314 |
+
}
|
themes/bauhaus/default/header-bottom.php
CHANGED
@@ -55,10 +55,6 @@
|
|
55 |
|
56 |
<?php do_action( 'wptouch_advertising_top' ); ?>
|
57 |
|
58 |
-
<?php if ( function_exists( 'foundation_featured_slider' ) ) { ?>
|
59 |
-
<?php foundation_featured_slider(); ?>
|
60 |
-
<?php } ?>
|
61 |
-
|
62 |
<?php if ( is_archive() ) { ?>
|
63 |
<div class="post-page-head-area bauhaus">
|
64 |
<?php wptouch_fdn_archive_title_text(); ?>
|
55 |
|
56 |
<?php do_action( 'wptouch_advertising_top' ); ?>
|
57 |
|
|
|
|
|
|
|
|
|
58 |
<?php if ( is_archive() ) { ?>
|
59 |
<div class="post-page-head-area bauhaus">
|
60 |
<?php wptouch_fdn_archive_title_text(); ?>
|
themes/bauhaus/default/index.php
CHANGED
@@ -1,39 +1,16 @@
|
|
1 |
<?php get_header(); ?>
|
2 |
|
3 |
-
|
4 |
-
|
5 |
-
<?php if ( wptouch_have_posts() ) while ( wptouch_have_posts() ) { ?>
|
6 |
-
<?php wptouch_the_post(); ?>
|
7 |
-
<div class="<?php wptouch_post_classes(); ?>">
|
8 |
-
<?php get_template_part( 'post-loop' ); ?>
|
9 |
-
</div> <!-- post classes -->
|
10 |
-
<?php } else { ?>
|
11 |
-
<!-- no posts -->
|
12 |
<?php } ?>
|
13 |
|
14 |
-
|
15 |
-
|
16 |
-
<?php if ( get_next_posts_link() ) { ?>
|
17 |
-
<!-- hidden in css, needed to add js -->
|
18 |
-
<a class="infinite-link" href="#" rel="<?php echo get_next_posts_page_link(); ?>"></a>
|
19 |
-
<?php } ?>
|
20 |
-
|
21 |
-
<?php } elseif ( foundation_is_theme_using_module( 'load-more' ) ) { ?>
|
22 |
-
|
23 |
-
<!-- show the load more if we have more posts/pages -->
|
24 |
-
<?php if ( get_next_posts_link() ) { ?>
|
25 |
-
<a class="load-more-link tappable no-ajax" href="javascript:return false;" rel="<?php echo get_next_posts_page_link(); ?>">
|
26 |
-
<?php wptouch_fdn_archive_load_more_text(); ?>…
|
27 |
-
</a>
|
28 |
-
<?php } ?>
|
29 |
-
|
30 |
-
<?php } else { ?>
|
31 |
-
|
32 |
-
<div class="posts-nav">
|
33 |
-
<?php posts_nav_link( ' | ', '‹ ' . __( 'newer posts', 'wptouch-pro' ), __( 'older posts', 'wptouch-pro' ) . ' ›' ); ?>
|
34 |
-
</div>
|
35 |
|
36 |
-
<?php
|
|
|
|
|
|
|
|
|
37 |
|
38 |
</div><!-- #content -->
|
39 |
|
1 |
<?php get_header(); ?>
|
2 |
|
3 |
+
<?php if ( !bauhaus_if_carousel_view_enabled() && bauhaus_should_show_featured() ) { ?>
|
4 |
+
<?php bauhaus_featured_slider(); ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
<?php } ?>
|
6 |
|
7 |
+
<div id="content">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
|
9 |
+
<?php if ( bauhaus_if_carousel_view_enabled() ) {
|
10 |
+
get_template_part( '/layouts/carousel-view' );
|
11 |
+
} else {
|
12 |
+
get_template_part( '/layouts/post-listing-view' );
|
13 |
+
} ?>
|
14 |
|
15 |
</div><!-- #content -->
|
16 |
|
themes/bauhaus/default/layouts/carousel-post-loop.php
ADDED
@@ -0,0 +1,29 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<!-- post loop -->
|
2 |
+
<div rel="<?php wptouch_the_permalink(); ?>">
|
3 |
+
|
4 |
+
<a href="<?php wptouch_the_permalink(); ?>" class="needsclick">
|
5 |
+
<img data-flickity-lazyload="<?php echo bauhaus_get_featured_image(); ?>" alt="<?php the_title(); ?>" />
|
6 |
+
</a>
|
7 |
+
|
8 |
+
<?php if ( bauhaus_should_show_date() || bauhaus_should_show_author() || bauhaus_should_show_comments() ) { ?>
|
9 |
+
<span class="post-meta body-font">
|
10 |
+
|
11 |
+
<?php if ( bauhaus_should_show_date() ) { ?>
|
12 |
+
<?php wptouch_the_time(); ?>
|
13 |
+
<?php } ?>
|
14 |
+
|
15 |
+
<?php if ( bauhaus_should_show_author() ) { ?>
|
16 |
+
<?php if ( bauhaus_should_show_date() ) echo '•'; ?> <?php _e( 'by', 'wptouch-pro' ); ?> <?php the_author(); ?>
|
17 |
+
<?php } ?>
|
18 |
+
|
19 |
+
<?php if ( wptouch_get_comment_count() > 0 && ( comments_open() || bauhaus_should_show_comments() ) ) { ?>
|
20 |
+
<?php if ( bauhaus_should_show_date() || bauhaus_should_show_author() ) echo '<br />'; ?> <?php comments_number( 'no comments', '1 comment', '% comments' ); ?>
|
21 |
+
<?php } ?>
|
22 |
+
</span>
|
23 |
+
<?php } ?>
|
24 |
+
|
25 |
+
<a href="<?php wptouch_the_permalink(); ?>" class="needsclick">
|
26 |
+
<h2 class="post-title heading-font"><?php the_title(); ?></h2>
|
27 |
+
</a>
|
28 |
+
|
29 |
+
</div>
|
themes/bauhaus/default/layouts/carousel-view.php
ADDED
@@ -0,0 +1,38 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php $settings = bauhaus_get_settings(); ?>
|
2 |
+
|
3 |
+
<div class="flickity-view">
|
4 |
+
|
5 |
+
<?php if ( !bauhaus_is_latest_only() ) { ?>
|
6 |
+
<h2><?php _e( 'Latest', 'wptouch-pro' ); ?></h2>
|
7 |
+
<?php } ?>
|
8 |
+
|
9 |
+
<div rel="<?php echo get_next_posts_page_link(); ?>" class="carousel recent-carousel">
|
10 |
+
<?php if ( wptouch_have_posts() ) while ( wptouch_have_posts() ) { wptouch_the_post(); ?>
|
11 |
+
<?php if ( wptouch_has_post_thumbnail() ) { ?>
|
12 |
+
<div class="carousel-cell">
|
13 |
+
<?php get_template_part( 'layouts/carousel-post-loop' ); ?>
|
14 |
+
</div>
|
15 |
+
<?php } ?>
|
16 |
+
<?php } ?>
|
17 |
+
</div>
|
18 |
+
|
19 |
+
<?php if ( bauhaus_should_show_carousel_featured() ) { ?>
|
20 |
+
<h2><?php _e( 'Featured', 'wptouch-pro' ); ?></h2>
|
21 |
+
<?php bauhaus_featured_slider(); ?>
|
22 |
+
<?php } ?>
|
23 |
+
|
24 |
+
<?php if ( bauhaus_if_popular_enabled() ) { $max_pop_posts = $settings->bauhaus_popular_max_number_of_posts; ?>
|
25 |
+
<h2><?php _e( 'Popular', 'wptouch-pro' ); ?></h2>
|
26 |
+
|
27 |
+
<div class="carousel popular-carousel">
|
28 |
+
<?php $popular = new WP_Query( array( 'ignore_sticky_posts' => 1, 'orderby' => 'comment_count', 'posts_per_page' => $max_pop_posts, 'meta_query' => array( array('key' => '_thumbnail_id') ) ) ); ?>
|
29 |
+
<?php if ( $popular->have_posts() ) while ( $popular->have_posts() ) : $popular->the_post(); ?>
|
30 |
+
<div class="carousel-cell">
|
31 |
+
<?php get_template_part( 'layouts/carousel-post-loop' ); ?>
|
32 |
+
</div>
|
33 |
+
<?php endwhile; ?>
|
34 |
+
<?php wp_reset_postdata(); ?>
|
35 |
+
</div>
|
36 |
+
<?php } ?>
|
37 |
+
|
38 |
+
</div>
|
themes/bauhaus/default/layouts/post-listing-view.php
ADDED
@@ -0,0 +1,32 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php if ( wptouch_have_posts() ) while ( wptouch_have_posts() ) { ?>
|
2 |
+
<?php wptouch_the_post(); ?>
|
3 |
+
<div class="<?php wptouch_post_classes(); ?>">
|
4 |
+
<?php get_template_part( 'post-loop' ); ?>
|
5 |
+
</div> <!-- post classes -->
|
6 |
+
<?php } else { ?>
|
7 |
+
<!-- no posts -->
|
8 |
+
<?php } ?>
|
9 |
+
|
10 |
+
<?php if ( foundation_is_theme_using_module( 'infinite-scroll' ) ) { ?>
|
11 |
+
|
12 |
+
<?php if ( get_next_posts_link() ) { ?>
|
13 |
+
<!-- hidden in css, needed to add js -->
|
14 |
+
<a class="infinite-link" href="#" rel="<?php echo get_next_posts_page_link(); ?>"></a>
|
15 |
+
<?php } ?>
|
16 |
+
|
17 |
+
<?php } elseif ( foundation_is_theme_using_module( 'load-more' ) ) { ?>
|
18 |
+
|
19 |
+
<!-- show the load more if we have more posts/pages -->
|
20 |
+
<?php if ( get_next_posts_link() ) { ?>
|
21 |
+
<a class="load-more-link tappable no-ajax" href="javascript:return false;" rel="<?php echo get_next_posts_page_link(); ?>">
|
22 |
+
<?php wptouch_fdn_archive_load_more_text(); ?>…
|
23 |
+
</a>
|
24 |
+
<?php } ?>
|
25 |
+
|
26 |
+
<?php } else { ?>
|
27 |
+
|
28 |
+
<div class="posts-nav">
|
29 |
+
<?php posts_nav_link( ' | ', '‹ ' . __( 'newer posts', 'wptouch-pro' ), __( 'older posts', 'wptouch-pro' ) . ' ›' ); ?>
|
30 |
+
</div>
|
31 |
+
|
32 |
+
<?php } ?>
|
themes/bauhaus/default/page-content.php
CHANGED
@@ -1,13 +1,13 @@
|
|
1 |
<div class="<?php wptouch_post_classes(); ?>">
|
2 |
<div class="post-page-head-area bauhaus">
|
3 |
<h2 class="post-title heading-font"><?php the_title(); ?></h2>
|
4 |
-
</div>
|
5 |
-
<div class="post-page-content">
|
6 |
<?php if ( bauhaus_should_show_thumbnail() && wptouch_has_post_thumbnail() ) { ?>
|
7 |
<div class="post-page-thumbnail">
|
8 |
<?php the_post_thumbnail('large', array( 'class' => 'post-thumbnail wp-post-image' ) ); ?>
|
9 |
</div>
|
10 |
<?php } ?>
|
11 |
-
|
|
|
|
|
12 |
</div>
|
13 |
</div>
|
1 |
<div class="<?php wptouch_post_classes(); ?>">
|
2 |
<div class="post-page-head-area bauhaus">
|
3 |
<h2 class="post-title heading-font"><?php the_title(); ?></h2>
|
|
|
|
|
4 |
<?php if ( bauhaus_should_show_thumbnail() && wptouch_has_post_thumbnail() ) { ?>
|
5 |
<div class="post-page-thumbnail">
|
6 |
<?php the_post_thumbnail('large', array( 'class' => 'post-thumbnail wp-post-image' ) ); ?>
|
7 |
</div>
|
8 |
<?php } ?>
|
9 |
+
</div>
|
10 |
+
<div class="post-page-content">
|
11 |
+
<?php wptouch_the_content(); ?>
|
12 |
</div>
|
13 |
</div>
|
themes/bauhaus/default/post-loop.php
CHANGED
@@ -1,11 +1,6 @@
|
|
1 |
<!-- post loop -->
|
2 |
<a href="<?php wptouch_the_permalink(); ?>" class="loop-link tappable clearfix <?php if ( !bauhaus_should_show_thumbnail() ) { echo 'no-thumbs'; } ?>">
|
3 |
|
4 |
-
<?php if ( wptouch_get_comment_count() > 0 && ( comments_open() || wptouch_have_comments() ) ) { ?>
|
5 |
-
<div class="comments">
|
6 |
-
<span><?php wptouch_the_comment_count(); ?></span>
|
7 |
-
</div>
|
8 |
-
<?php } ?>
|
9 |
<?php if ( bauhaus_should_show_thumbnail() && wptouch_has_post_thumbnail() ) { ?>
|
10 |
<img src="<?php wptouch_the_post_thumbnail( 'thumbnail' ); ?>" alt="thumbnail" class="post-thumbnail wp-post-image" />
|
11 |
<?php } else if ( bauhaus_should_show_thumbnail() && !wptouch_has_post_thumbnail() ) { ?>
|
@@ -16,7 +11,7 @@
|
|
16 |
<?php } ?>
|
17 |
|
18 |
<?php if ( bauhaus_should_show_date() || bauhaus_should_show_author() ) { ?>
|
19 |
-
<span class="post-
|
20 |
<?php if ( bauhaus_should_show_date() ) { wptouch_the_time(); } ?>
|
21 |
<?php if ( bauhaus_should_show_author() ) { ?>
|
22 |
<?php if ( bauhaus_should_show_date() ) echo '•'; ?> <?php _e( 'by', 'wptouch-pro' ); ?> <?php the_author(); ?>
|
@@ -25,6 +20,12 @@
|
|
25 |
<?php } ?>
|
26 |
|
27 |
<h2 class="post-title heading-font"><?php the_title(); ?></h2>
|
|
|
|
|
|
|
|
|
|
|
|
|
28 |
|
29 |
<?php if ( wptouch_should_load_rtl() ) { ?>
|
30 |
<i class="arrow wptouch-icon-angle-left"></i>
|
1 |
<!-- post loop -->
|
2 |
<a href="<?php wptouch_the_permalink(); ?>" class="loop-link tappable clearfix <?php if ( !bauhaus_should_show_thumbnail() ) { echo 'no-thumbs'; } ?>">
|
3 |
|
|
|
|
|
|
|
|
|
|
|
4 |
<?php if ( bauhaus_should_show_thumbnail() && wptouch_has_post_thumbnail() ) { ?>
|
5 |
<img src="<?php wptouch_the_post_thumbnail( 'thumbnail' ); ?>" alt="thumbnail" class="post-thumbnail wp-post-image" />
|
6 |
<?php } else if ( bauhaus_should_show_thumbnail() && !wptouch_has_post_thumbnail() ) { ?>
|
11 |
<?php } ?>
|
12 |
|
13 |
<?php if ( bauhaus_should_show_date() || bauhaus_should_show_author() ) { ?>
|
14 |
+
<span class="post-meta body-font">
|
15 |
<?php if ( bauhaus_should_show_date() ) { wptouch_the_time(); } ?>
|
16 |
<?php if ( bauhaus_should_show_author() ) { ?>
|
17 |
<?php if ( bauhaus_should_show_date() ) echo '•'; ?> <?php _e( 'by', 'wptouch-pro' ); ?> <?php the_author(); ?>
|
20 |
<?php } ?>
|
21 |
|
22 |
<h2 class="post-title heading-font"><?php the_title(); ?></h2>
|
23 |
+
|
24 |
+
<?php if ( comments_open() || wptouch_have_comments() ) { ?>
|
25 |
+
<div class="post-meta comments">
|
26 |
+
<?php comments_number( 'no comments', 'one comment', '% comments' ); ?>
|
27 |
+
</div>
|
28 |
+
<?php } ?>
|
29 |
|
30 |
<?php if ( wptouch_should_load_rtl() ) { ?>
|
31 |
<i class="arrow wptouch-icon-angle-left"></i>
|
themes/bauhaus/default/related-posts.php
CHANGED
@@ -5,23 +5,20 @@
|
|
5 |
<ul class="related">
|
6 |
<?php $related_posts = wptouch_related_posts(); ?>
|
7 |
<?php foreach( $related_posts as $related_post ) { ?>
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
<
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
<p><?php echo $related_post->excerpt; ?></p>
|
23 |
-
</li>
|
24 |
-
<?php } ?>
|
25 |
</ul>
|
26 |
</div>
|
27 |
<?php } ?>
|
5 |
<ul class="related">
|
6 |
<?php $related_posts = wptouch_related_posts(); ?>
|
7 |
<?php foreach( $related_posts as $related_post ) { ?>
|
8 |
+
<li class="<?php if ( $related_post->thumbnail != '' ) echo 'has-thumb'; ?><?php if ( $related_post->excerpt == '' ) { echo ' no-excerpt'; } ?>">
|
9 |
+
<?php if ( $related_post->thumbnail != '' ) { ?>
|
10 |
+
<?php echo $related_post->thumbnail; ?>
|
11 |
+
<?php } ?>
|
12 |
+
<div class="date-circle">
|
13 |
+
<span class="month"><?php echo $related_post->month; ?></span>
|
14 |
+
<span class="day"><?php echo $related_post->day; ?></span>
|
15 |
+
</div>
|
16 |
+
<strong>
|
17 |
+
<a href="<?php echo $related_post->link; ?>"><?php echo $related_post->title; ?></a>
|
18 |
+
</strong>
|
19 |
+
<p><?php echo $related_post->excerpt; ?></p>
|
20 |
+
</li>
|
21 |
+
<?php } // each related post ?>
|
|
|
|
|
|
|
22 |
</ul>
|
23 |
</div>
|
24 |
<?php } ?>
|
themes/bauhaus/default/single.php
CHANGED
@@ -11,7 +11,7 @@
|
|
11 |
<?php if ( bauhaus_should_show_date() ) { ?>
|
12 |
<?php wptouch_the_time(); ?>
|
13 |
<?php } ?>
|
14 |
-
<?php if (
|
15 |
<?php if ( bauhaus_should_show_date() && ( comments_open() || wptouch_have_comments() ) ) echo '•'; ?>
|
16 |
<?php if ( comments_open() || wptouch_have_comments() ) comments_number( __( 'no comments', 'wptouch-pro' ), __( '1 comment', 'wptouch-pro' ), __( '% comments', 'wptouch-pro' ) ); ?>
|
17 |
<?php } ?>
|
@@ -20,14 +20,14 @@
|
|
20 |
<?php if ( bauhaus_should_show_author() ) { ?>
|
21 |
<span class="post-author"><?php the_author(); ?></span>
|
22 |
<?php } ?>
|
23 |
-
</div>
|
24 |
-
|
25 |
-
<div class="post-page-content">
|
26 |
<?php if ( bauhaus_should_show_thumbnail() && wptouch_has_post_thumbnail() ) { ?>
|
27 |
<div class="post-page-thumbnail">
|
28 |
<?php the_post_thumbnail('large', array( 'class' => 'post-thumbnail wp-post-image' ) ); ?>
|
29 |
</div>
|
30 |
<?php } ?>
|
|
|
|
|
|
|
31 |
<?php wptouch_the_content(); ?>
|
32 |
<?php if ( bauhaus_should_show_taxonomy() ) { ?>
|
33 |
<?php if ( wptouch_has_categories() || wptouch_has_tags() ) { ?>
|
@@ -40,9 +40,6 @@
|
|
40 |
<?php } ?>
|
41 |
</div>
|
42 |
<?php } ?>
|
43 |
-
|
44 |
-
<?php if ( wptouch_has_tags() ) { ?>
|
45 |
-
<?php } ?>
|
46 |
<?php } ?>
|
47 |
</div>
|
48 |
</div>
|
11 |
<?php if ( bauhaus_should_show_date() ) { ?>
|
12 |
<?php wptouch_the_time(); ?>
|
13 |
<?php } ?>
|
14 |
+
<?php if ( bauhaus_should_show_comments() ) { ?>
|
15 |
<?php if ( bauhaus_should_show_date() && ( comments_open() || wptouch_have_comments() ) ) echo '•'; ?>
|
16 |
<?php if ( comments_open() || wptouch_have_comments() ) comments_number( __( 'no comments', 'wptouch-pro' ), __( '1 comment', 'wptouch-pro' ), __( '% comments', 'wptouch-pro' ) ); ?>
|
17 |
<?php } ?>
|
20 |
<?php if ( bauhaus_should_show_author() ) { ?>
|
21 |
<span class="post-author"><?php the_author(); ?></span>
|
22 |
<?php } ?>
|
|
|
|
|
|
|
23 |
<?php if ( bauhaus_should_show_thumbnail() && wptouch_has_post_thumbnail() ) { ?>
|
24 |
<div class="post-page-thumbnail">
|
25 |
<?php the_post_thumbnail('large', array( 'class' => 'post-thumbnail wp-post-image' ) ); ?>
|
26 |
</div>
|
27 |
<?php } ?>
|
28 |
+
</div>
|
29 |
+
|
30 |
+
<div class="post-page-content">
|
31 |
<?php wptouch_the_content(); ?>
|
32 |
<?php if ( bauhaus_should_show_taxonomy() ) { ?>
|
33 |
<?php if ( wptouch_has_categories() || wptouch_has_tags() ) { ?>
|
40 |
<?php } ?>
|
41 |
</div>
|
42 |
<?php } ?>
|
|
|
|
|
|
|
43 |
<?php } ?>
|
44 |
</div>
|
45 |
</div>
|
themes/bauhaus/default/style.css
CHANGED
@@ -1,3 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
1 |
/* Bauhaus CSS */
|
2 |
|
3 |
/*
|
@@ -11,7 +16,15 @@ body {
|
|
11 |
}
|
12 |
|
13 |
h1, h2, h3, h4, h5, h6 {
|
14 |
-
letter-spacing:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
}
|
16 |
|
17 |
.page-wrapper {
|
@@ -23,7 +36,6 @@ h1, h2, h3, h4, h5, h6 {
|
|
23 |
|
24 |
header a, header div {
|
25 |
color: rgba(0,0,0,.9);
|
26 |
-
text-shadow: rgba(255,255,255,.2) 0px 1px 0px;
|
27 |
}
|
28 |
|
29 |
header {
|
@@ -129,16 +141,17 @@ header img {
|
|
129 |
#wptouch-search-inner {
|
130 |
background-color: rgba(0,0,0,.1);
|
131 |
text-align: center;
|
132 |
-
padding:
|
133 |
}
|
134 |
|
135 |
#wptouch-search-inner input[type="text"] {
|
136 |
-
width:
|
137 |
-webkit-appearance: none;
|
138 |
-
border: 1px solid rgba(0,0,0,.3);
|
139 |
padding: 4px;
|
140 |
background-color: rgba(255,255,255,.9);
|
141 |
font-size: 90%;
|
|
|
|
|
142 |
}
|
143 |
|
144 |
#wptouch-search-inner input[type="text"]:focus {
|
@@ -146,8 +159,9 @@ header img {
|
|
146 |
}
|
147 |
|
148 |
#wptouch-search-inner input[type="submit"] {
|
|
|
149 |
border: 1px solid rgba(0,0,0,.2);
|
150 |
-
padding:
|
151 |
-webkit-appearance: none;
|
152 |
background-color: rgba(255,255,255,.1);
|
153 |
color: rgba(0,0,0,.8);
|
@@ -158,11 +172,11 @@ header img {
|
|
158 |
#search-dropper {
|
159 |
overflow: hidden;
|
160 |
max-height: 0;
|
161 |
-
-webkit-transition: max-height
|
162 |
}
|
163 |
|
164 |
#search-dropper.toggled {
|
165 |
-
max-height:
|
166 |
}
|
167 |
|
168 |
.touched {
|
@@ -170,176 +184,102 @@ header img {
|
|
170 |
}
|
171 |
|
172 |
.page-wrapper .wptouch-custom-showcase {
|
173 |
-
margin:
|
174 |
}
|
175 |
|
176 |
/* @end */
|
177 |
|
178 |
-
/* @group
|
179 |
|
180 |
-
/* @group
|
181 |
|
182 |
-
|
183 |
-
|
184 |
-
display: block;
|
185 |
-
text-align: center;
|
186 |
-
text-shadow: none;
|
187 |
-
text-transform: uppercase;
|
188 |
-
top: 50%;
|
189 |
-
color: rgba(255,255,255,.6);
|
190 |
-
height: 130px;
|
191 |
-
margin-top: -65px;
|
192 |
}
|
193 |
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
display: -webkit-box;
|
203 |
-
max-width: 90%;
|
204 |
-
overflow: hidden;
|
205 |
-
text-overflow: ellipsis;
|
206 |
-
-ms-text-overflow: ellipsis;
|
207 |
-
-webkit-line-clamp: 3;
|
208 |
-
-webkit-box-orient: vertical;
|
209 |
-
vertical-align: middle;
|
210 |
}
|
211 |
|
212 |
-
|
213 |
-
opacity:
|
214 |
-
-webkit-filter: blur(1px);
|
215 |
}
|
216 |
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
#slider.enhanced a p.featured-date {
|
224 |
-
color: #999;
|
225 |
-
font-size: 80%;
|
226 |
-
top: 15px;
|
227 |
-
display: block;
|
228 |
-
text-align: left;
|
229 |
-
left: 110px;
|
230 |
-
text-shadow: none;
|
231 |
-
text-transform: uppercase;
|
232 |
}
|
233 |
|
234 |
-
|
235 |
-
|
236 |
-
|
237 |
-
|
238 |
-
text-align: left;
|
239 |
-
text-shadow: rgba(0,0,0,.2) 0px 1px 0px;
|
240 |
-
letter-spacing: -1px;
|
241 |
-
font-weight: normal;
|
242 |
overflow: hidden;
|
243 |
-
|
244 |
-
-ms-text-overflow: ellipsis;
|
245 |
-
text-overflow: ellipsis;
|
246 |
-
-webkit-box-orient: vertical;
|
247 |
-
-moz-box-orient: vertical;
|
248 |
-
-ms-box-orient: vertical;
|
249 |
-
box-orient: vertical;
|
250 |
-
display: -webkit-box;
|
251 |
-
-webkit-line-clamp: 4;
|
252 |
-
padding-right: 5%;
|
253 |
-
margin: 3px 0 0;
|
254 |
-
font-size: 160%;
|
255 |
-
line-height: 115%;
|
256 |
-
height: 4.2em;
|
257 |
-
word-wrap: break-word;
|
258 |
-
}
|
259 |
|
260 |
-
.
|
261 |
-
left: 160px;
|
262 |
-
}
|
263 |
-
|
264 |
-
#slider.enhanced.comments .comments-number {
|
265 |
-
display: block;
|
266 |
position: absolute;
|
267 |
-
|
268 |
-
|
269 |
-
|
270 |
-
|
271 |
-
width:
|
272 |
-
|
273 |
-
|
274 |
-
|
275 |
-
|
276 |
-
z-index:
|
277 |
-
|
278 |
-
font-size: 95%;
|
279 |
-
font-weight: bold;
|
280 |
-
margin-left: -25%;
|
281 |
-
top: 10px;
|
282 |
}
|
283 |
|
284 |
-
|
285 |
-
|
286 |
-
display: block;
|
287 |
-
font: 36px 'wptouch-icons', sans-serif;
|
288 |
position: absolute;
|
289 |
-
|
290 |
-
|
291 |
-
|
292 |
-
|
293 |
-
#
|
294 |
-
-
|
295 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
296 |
}
|
297 |
|
298 |
-
|
299 |
-
|
300 |
-
height: 210px;
|
301 |
position: absolute;
|
302 |
-
|
303 |
-
|
304 |
-
|
305 |
-
|
306 |
-
|
307 |
-
|
308 |
-
|
309 |
-
|
310 |
-
|
311 |
-
background: rgba(0,0,0,.85);
|
312 |
-
text-shadow: rgba(0,0,0,.1) 0px 1px 1px;
|
313 |
-
}
|
314 |
-
|
315 |
-
#slider .owl-item {
|
316 |
-
height: 220px;
|
317 |
-
overflow: hidden;
|
318 |
-
}
|
319 |
-
|
320 |
-
#slider p {
|
321 |
-
background: none;
|
322 |
-
}
|
323 |
-
|
324 |
-
.owl-dots {
|
325 |
right: 0;
|
326 |
left: 0;
|
327 |
-
|
328 |
-
|
329 |
}
|
330 |
|
331 |
-
.landscape .owl-dots {
|
332 |
-
top: 240px;
|
333 |
-
}
|
334 |
|
335 |
-
#slider.grayscale img {
|
336 |
-
-webkit-filter: saturate(100%) grayscale(1) contrast(1.1);
|
337 |
-
}
|
338 |
|
339 |
/* @end */
|
340 |
|
341 |
-
/* @group Post Loop */
|
342 |
-
|
343 |
.loop-link {
|
344 |
display: block;
|
345 |
position: relative;
|
@@ -356,34 +296,38 @@ header img {
|
|
356 |
margin-top: -18px;
|
357 |
}
|
358 |
|
359 |
-
.loop-link .post-
|
360 |
color: rgba(0,0,0,.5);
|
361 |
display: block;
|
362 |
font-size: 70%;
|
363 |
-
margin-left:
|
364 |
padding-top: 10px;
|
365 |
text-transform: uppercase;
|
366 |
}
|
367 |
|
|
|
|
|
|
|
|
|
368 |
#content .loop-link h2 {
|
369 |
display: inline-block;
|
370 |
-
width:
|
371 |
font-size: 130%;
|
372 |
line-height: 130%;
|
373 |
-
margin: 0;
|
374 |
padding-bottom: 10px;
|
375 |
overflow: hidden;
|
376 |
font-weight: normal;
|
377 |
font-style: normal;
|
|
|
378 |
}
|
379 |
|
380 |
.loop-link img.post-thumbnail {
|
381 |
width: 64px;
|
382 |
height: 64px;
|
383 |
margin: 12px 10px 0;
|
384 |
-
float: left;
|
385 |
z-index: 1;
|
386 |
-
|
387 |
}
|
388 |
|
389 |
.loop-link .date-circle,
|
@@ -448,58 +392,164 @@ header img {
|
|
448 |
left: 40px;
|
449 |
}
|
450 |
|
451 |
-
.no-thumbs.loop-link .post-
|
452 |
margin-left: 40px;
|
453 |
}
|
454 |
|
455 |
-
/* @
|
|
|
|
|
456 |
|
457 |
-
.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
458 |
position: absolute;
|
459 |
-
|
460 |
-
|
461 |
-
left:
|
462 |
-
|
463 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
464 |
}
|
465 |
|
466 |
-
.
|
467 |
-
|
468 |
-
|
|
|
469 |
}
|
470 |
|
471 |
-
.
|
472 |
-
color:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
473 |
z-index: 3;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
474 |
position: relative;
|
475 |
-
|
476 |
-
font-weight: bold;
|
477 |
-
vertical-align: -5px;
|
478 |
}
|
479 |
|
480 |
-
.
|
481 |
-
content: "\e812";
|
482 |
-
display: block;
|
483 |
-
font: 30px 'wptouch-icons', sans-serif;
|
484 |
position: absolute;
|
|
|
485 |
left: 50%;
|
486 |
-
|
487 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
488 |
}
|
489 |
|
490 |
-
.
|
491 |
-
-
|
492 |
-
|
493 |
-
|
494 |
-
-
|
495 |
-
|
496 |
-
|
497 |
-
filter: FlipH;
|
498 |
-
-ms-filter: "FlipH";
|
499 |
}
|
500 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
501 |
/* @end */
|
502 |
|
|
|
|
|
503 |
/* @end */
|
504 |
|
505 |
/* @group Single */
|
@@ -676,7 +726,8 @@ header img {
|
|
676 |
|
677 |
.post-page-head-area .post-date-comments, .post-page-head-area .post-author {
|
678 |
font-size: 75%;
|
679 |
-
color: rgba(0,0,0,.
|
|
|
680 |
margin-right: 10px;
|
681 |
margin-left: 10px;
|
682 |
}
|
@@ -690,17 +741,35 @@ header img {
|
|
690 |
}
|
691 |
|
692 |
.post-page-head-area.bauhaus {
|
693 |
-
background-image: -webkit-gradient(radial, 50% 0%,0,50% 0%,500, from(rgba(0, 0, 0,0)), to(rgba(255, 255, 255, 0.50)));
|
694 |
text-align: center;
|
695 |
-
padding-top:
|
696 |
-
padding-bottom:
|
697 |
-
text-shadow: rgba(255,255,255,.3) 0px 1px 0px;
|
698 |
overflow: hidden;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
699 |
}
|
700 |
|
701 |
.post-page-head-area.bauhaus h2.post-title {
|
702 |
-
color: rgba(0,0,0,.
|
703 |
-
letter-spacing:
|
704 |
font-size: 180%;
|
705 |
font-weight: normal;
|
706 |
margin: 0 !important;
|
@@ -716,7 +785,11 @@ header img {
|
|
716 |
}
|
717 |
|
718 |
.post-page-content .wptouch-showcase {
|
719 |
-
padding: 0;
|
|
|
|
|
|
|
|
|
720 |
}
|
721 |
|
722 |
.top-content-showcase .wptouch-showcase,
|
@@ -921,21 +994,6 @@ form#commentform button#submit {
|
|
921 |
|
922 |
/* @end */
|
923 |
|
924 |
-
/* @group Login Fly-In */
|
925 |
-
|
926 |
-
.dark-post-head .wptouch-login-wrap, .dark-post-head .wptouch-login-wrap a {
|
927 |
-
color: rgba(255,255,255,.8);
|
928 |
-
text-shadow: rgba(0,0,0,.2) 0 -1px 0;
|
929 |
-
}
|
930 |
-
|
931 |
-
.dark-post-head .wptouch-login-wrap #wp-submit {
|
932 |
-
color: rgba(255,255,255,.8);
|
933 |
-
border: 1px solid rgba(0,0,0,.2);
|
934 |
-
background-color: rgba(0,0,0,.1);
|
935 |
-
}
|
936 |
-
|
937 |
-
/* @end */
|
938 |
-
|
939 |
/* @group Footer */
|
940 |
|
941 |
.load-more-link, .load-more-comments-wrap a {
|
@@ -1033,7 +1091,7 @@ form#commentform button#submit {
|
|
1033 |
|
1034 |
/* @group Dark */
|
1035 |
|
1036 |
-
.dark-body .loop-link .post-
|
1037 |
color: rgba(255,255,255,.4);
|
1038 |
}
|
1039 |
|
@@ -1052,7 +1110,6 @@ form#commentform button#submit {
|
|
1052 |
|
1053 |
.dark-header header a, .dark-header header div {
|
1054 |
color: rgba(255,255,255,.9);
|
1055 |
-
text-shadow: rgba(0,0,0,.2) 0px -1px 0px;
|
1056 |
}
|
1057 |
|
1058 |
.dark-body .post-page-content, .dark-body .footer, .dark-body .back-to-top {
|
@@ -1070,17 +1127,12 @@ form#commentform button#submit {
|
|
1070 |
}
|
1071 |
|
1072 |
.dark-post-head .post-page-head-area h2.post-title, .dark-post-head .post-page-head-area select, .dark-post-head .post-page-head-area .archive-text {
|
1073 |
-
color: rgba(255,255,255,.
|
1074 |
-
text-shadow: rgba(0,0,0,.2) 0px -1px 0px;
|
1075 |
}
|
1076 |
|
1077 |
.dark-post-head .post-page-head-area .post-date-comments, .dark-post-head .post-page-head-area .post-author {
|
1078 |
-
color: rgba(255,255,255,.
|
1079 |
-
text-shadow: rgba(0,0,0,.
|
1080 |
-
}
|
1081 |
-
|
1082 |
-
.dark-post-head .post-page-head-area {
|
1083 |
-
background-image: -webkit-gradient(radial, 50% 0%,0,50% 0%,500, from(rgba(255, 255, 255, 0.20)), to(rgba(0, 0, 0,0)));
|
1084 |
}
|
1085 |
|
1086 |
.dark-body #comments {
|
@@ -1153,12 +1205,11 @@ form#commentform button#submit {
|
|
1153 |
font-size: 70%;
|
1154 |
}
|
1155 |
|
1156 |
-
|
1157 |
-
|
1158 |
/* @end */
|
1159 |
|
1160 |
|
1161 |
/* @group Polylang language menu compat */
|
|
|
1162 |
.wptouch-menu li.lang-item span {
|
1163 |
border: none;
|
1164 |
box-shadow: none;
|
@@ -1177,4 +1228,5 @@ form#commentform button#submit {
|
|
1177 |
content: '';
|
1178 |
border: none;
|
1179 |
}
|
1180 |
-
|
|
1 |
+
/* @override
|
2 |
+
http://wptp3.local.com/wp-content/wptouch-data/themes/bauhaus/default/style.css?ver=a16b0b39889181577ded41b49cd80b1b
|
3 |
+
http://wptp3.local.com/wp-content/plugins/wptouch/themes/bauhaus/default/style.css?ver=a16b0b39889181577ded41b49cd80b1b
|
4 |
+
*/
|
5 |
+
|
6 |
/* Bauhaus CSS */
|
7 |
|
8 |
/*
|
16 |
}
|
17 |
|
18 |
h1, h2, h3, h4, h5, h6 {
|
19 |
+
letter-spacing: -.02em;
|
20 |
+
}
|
21 |
+
|
22 |
+
h1, h2, h3 {
|
23 |
+
font-weight: 300;
|
24 |
+
}
|
25 |
+
|
26 |
+
h4, h5, h6 {
|
27 |
+
font-weight: 400;
|
28 |
}
|
29 |
|
30 |
.page-wrapper {
|
36 |
|
37 |
header a, header div {
|
38 |
color: rgba(0,0,0,.9);
|
|
|
39 |
}
|
40 |
|
41 |
header {
|
141 |
#wptouch-search-inner {
|
142 |
background-color: rgba(0,0,0,.1);
|
143 |
text-align: center;
|
144 |
+
padding: 5px;
|
145 |
}
|
146 |
|
147 |
#wptouch-search-inner input[type="text"] {
|
148 |
+
width: 70%;
|
149 |
-webkit-appearance: none;
|
|
|
150 |
padding: 4px;
|
151 |
background-color: rgba(255,255,255,.9);
|
152 |
font-size: 90%;
|
153 |
+
border-style: none;
|
154 |
+
border-radius: 2px;
|
155 |
}
|
156 |
|
157 |
#wptouch-search-inner input[type="text"]:focus {
|
159 |
}
|
160 |
|
161 |
#wptouch-search-inner input[type="submit"] {
|
162 |
+
border-radius: 2px;
|
163 |
border: 1px solid rgba(0,0,0,.2);
|
164 |
+
padding: 1px 10px 4px;
|
165 |
-webkit-appearance: none;
|
166 |
background-color: rgba(255,255,255,.1);
|
167 |
color: rgba(0,0,0,.8);
|
172 |
#search-dropper {
|
173 |
overflow: hidden;
|
174 |
max-height: 0;
|
175 |
+
-webkit-transition: max-height 330ms ease-in-out;
|
176 |
}
|
177 |
|
178 |
#search-dropper.toggled {
|
179 |
+
max-height: 60px;
|
180 |
}
|
181 |
|
182 |
.touched {
|
184 |
}
|
185 |
|
186 |
.page-wrapper .wptouch-custom-showcase {
|
187 |
+
margin: -1px auto -10px;
|
188 |
}
|
189 |
|
190 |
/* @end */
|
191 |
|
192 |
+
/* @group Post Listing View */
|
193 |
|
194 |
+
/* @group Slider */
|
195 |
|
196 |
+
.list-view .flickity-page-dots {
|
197 |
+
margin-bottom: 35px;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
198 |
}
|
199 |
|
200 |
+
.list-view .flickity-page-dots .dot {
|
201 |
+
width: 15px;
|
202 |
+
height: 2px;
|
203 |
+
margin-right: 0;
|
204 |
+
margin-left: 0;
|
205 |
+
border-radius: 0px;
|
206 |
+
background-color: #fff;
|
207 |
+
opacity: 0.4;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
208 |
}
|
209 |
|
210 |
+
.list-view .flickity-page-dots .dot.is-selected {
|
211 |
+
opacity: 1;
|
|
|
212 |
}
|
213 |
|
214 |
+
.list-view .carousel.list-carousel {
|
215 |
+
box-shadow: inset rgba(0,0,0,.1) 0px 0px 24px;
|
216 |
+
height: 220px;
|
217 |
+
margin-top: 0px;
|
218 |
+
margin-bottom: 0px;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
219 |
}
|
220 |
|
221 |
+
.list-view .list-carousel .carousel-cell {
|
222 |
+
height: 100%;
|
223 |
+
width: 100%;
|
224 |
+
max-width: none !important;
|
|
|
|
|
|
|
|
|
225 |
overflow: hidden;
|
226 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
227 |
|
228 |
+
.list-view .list-carousel .carousel-cell img {
|
|
|
|
|
|
|
|
|
|
|
229 |
position: absolute;
|
230 |
+
top: 50%;
|
231 |
+
left: 50%;
|
232 |
+
-webkit-transform: translateX(-50%) translateY(-50%);
|
233 |
+
transform: translateX(-50%) translateY(-50%);
|
234 |
+
min-width: 120%;
|
235 |
+
max-width: 120%;
|
236 |
+
min-height: 100%;
|
237 |
+
width: auto;
|
238 |
+
height: auto;
|
239 |
+
z-index: -1;
|
240 |
+
overflow: hidden;
|
|
|
|
|
|
|
|
|
241 |
}
|
242 |
|
243 |
+
.list-view .carousel.list-carousel h2 {
|
244 |
+
text-shadow: rgba(0,0,0,.6) 0px 0px 10px;
|
|
|
|
|
245 |
position: absolute;
|
246 |
+
bottom: 35%;
|
247 |
+
font-size: 180%;
|
248 |
+
font-weight: 600;
|
249 |
+
width: 90%;
|
250 |
+
color: #fff;
|
251 |
+
text-align: center;
|
252 |
+
margin-left: auto;
|
253 |
+
margin-right: auto;
|
254 |
+
overflow : hidden;
|
255 |
+
text-overflow: ellipsis;
|
256 |
+
left: 0;
|
257 |
+
right: 0;
|
258 |
+
line-height: 150%;
|
259 |
}
|
260 |
|
261 |
+
.list-view .list-carousel .post-meta {
|
262 |
+
text-shadow: rgba(0,0,0,.6) 0px 0px 10px;
|
|
|
263 |
position: absolute;
|
264 |
+
font-size: 75%;
|
265 |
+
font-weight: 600;
|
266 |
+
display: inline-block;
|
267 |
+
bottom: 25%;
|
268 |
+
z-index: 1;
|
269 |
+
color: #fff;
|
270 |
+
margin-left: auto;
|
271 |
+
margin-right: auto;
|
272 |
+
width: 90%;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
273 |
right: 0;
|
274 |
left: 0;
|
275 |
+
text-transform: uppercase;
|
276 |
+
text-align: center;
|
277 |
}
|
278 |
|
|
|
|
|
|
|
279 |
|
|
|
|
|
|
|
280 |
|
281 |
/* @end */
|
282 |
|
|
|
|
|
283 |
.loop-link {
|
284 |
display: block;
|
285 |
position: relative;
|
296 |
margin-top: -18px;
|
297 |
}
|
298 |
|
299 |
+
.loop-link .post-meta {
|
300 |
color: rgba(0,0,0,.5);
|
301 |
display: block;
|
302 |
font-size: 70%;
|
303 |
+
margin-left: 88px;
|
304 |
padding-top: 10px;
|
305 |
text-transform: uppercase;
|
306 |
}
|
307 |
|
308 |
+
.loop-link .post-meta.comments {
|
309 |
+
margin-left: 88px;
|
310 |
+
}
|
311 |
+
|
312 |
#content .loop-link h2 {
|
313 |
display: inline-block;
|
314 |
+
width: 65%;
|
315 |
font-size: 130%;
|
316 |
line-height: 130%;
|
317 |
+
margin: 0 0 0 4px;
|
318 |
padding-bottom: 10px;
|
319 |
overflow: hidden;
|
320 |
font-weight: normal;
|
321 |
font-style: normal;
|
322 |
+
padding-top: 10px;
|
323 |
}
|
324 |
|
325 |
.loop-link img.post-thumbnail {
|
326 |
width: 64px;
|
327 |
height: 64px;
|
328 |
margin: 12px 10px 0;
|
|
|
329 |
z-index: 1;
|
330 |
+
float: left;
|
331 |
}
|
332 |
|
333 |
.loop-link .date-circle,
|
392 |
left: 40px;
|
393 |
}
|
394 |
|
395 |
+
.no-thumbs.loop-link .post-meta, #content .no-thumbs.loop-link h2 {
|
396 |
margin-left: 40px;
|
397 |
}
|
398 |
|
399 |
+
/* @end */
|
400 |
+
|
401 |
+
/* @group Carousel View */
|
402 |
|
403 |
+
.flickity-view > h2 {
|
404 |
+
font-weight: normal;
|
405 |
+
padding-left: 15px;
|
406 |
+
}
|
407 |
+
|
408 |
+
.carousel {
|
409 |
+
height: 350px;
|
410 |
+
margin-top: 20px;
|
411 |
+
margin-bottom: 40px;
|
412 |
+
}
|
413 |
+
|
414 |
+
.carousel-cell {
|
415 |
+
height: 100%;
|
416 |
+
width: 90%;
|
417 |
+
max-width: 400px;
|
418 |
+
}
|
419 |
+
|
420 |
+
/* My Comment */
|
421 |
+
|
422 |
+
.carousel-cell img {
|
423 |
+
height: auto;
|
424 |
+
min-height: 100%;
|
425 |
+
width: 92%;
|
426 |
+
min-width: 92%;
|
427 |
+
padding: 0;
|
428 |
+
margin: 0 0 0 20px;
|
429 |
+
}
|
430 |
+
|
431 |
+
.carousel-cell a {
|
432 |
+
max-height: 230px;
|
433 |
+
overflow: hidden;
|
434 |
+
display: block;
|
435 |
+
}
|
436 |
+
|
437 |
+
.carousel h2 {
|
438 |
+
letter-spacing: -.02em;
|
439 |
+
display: -webkit-box;
|
440 |
+
width: 85%;
|
441 |
+
margin-left: 20px;
|
442 |
+
overflow : hidden;
|
443 |
+
text-overflow: ellipsis;
|
444 |
+
-webkit-line-clamp: 2;
|
445 |
+
-webkit-box-orient: vertical;
|
446 |
+
}
|
447 |
+
|
448 |
+
.carousel .post-meta {
|
449 |
+
text-transform: capitalize;
|
450 |
+
font-size: 80%;
|
451 |
+
display: inline-block;
|
452 |
+
margin-left: 20px;
|
453 |
+
margin-top: 5px;
|
454 |
+
}
|
455 |
+
|
456 |
+
/* @group Latest Only */
|
457 |
+
|
458 |
+
.slider-latest-only.blog .wptouch-showcase {
|
459 |
+
-webkit-backdrop-filter: blur(5px);
|
460 |
position: absolute;
|
461 |
+
top: 55px;
|
462 |
+
z-index: 1;
|
463 |
+
left: 0;
|
464 |
+
right: 0;
|
465 |
+
background-color: rgba(0,0,0,.3);
|
466 |
+
min-height: auto !important;
|
467 |
+
height: 50px;
|
468 |
+
margin-bottom: 0;
|
469 |
+
}
|
470 |
+
|
471 |
+
.slider-latest-only.blog.wptouch-multiads .wptouch-showcase {
|
472 |
+
height: auto;
|
473 |
+
margin-top: -1px;
|
474 |
+
padding-top: 20px;
|
475 |
+
}
|
476 |
+
|
477 |
+
.slider-latest-only.blog .wptouch-showcase iframe {
|
478 |
}
|
479 |
|
480 |
+
.slider-latest-only.blog header {
|
481 |
+
background-color: rgba(0,0,0,.2) !important;
|
482 |
+
-webkit-backdrop-filter: blur(20px) saturate(150%) !important;
|
483 |
+
margin-bottom: -54px;
|
484 |
}
|
485 |
|
486 |
+
.slider-latest-only.blog header h1, .slider-latest-only.blog header > .tappable {
|
487 |
+
color: #fff !important;
|
488 |
+
|
489 |
+
}
|
490 |
+
|
491 |
+
.slider-latest-only.blog #search-dropper {
|
492 |
+
background-color: rgba(0,0,0,.2) !important;
|
493 |
+
-webkit-backdrop-filter: blur(20px) saturate(150%) !important;
|
494 |
+
position: fixed;
|
495 |
+
position: -webkit-sticky;
|
496 |
+
top: 54px;
|
497 |
z-index: 3;
|
498 |
+
right: 0;
|
499 |
+
left: 0;
|
500 |
+
}
|
501 |
+
|
502 |
+
.slider-latest-only.blog .carousel {
|
503 |
+
margin: 0px auto;
|
504 |
+
}
|
505 |
+
|
506 |
+
|
507 |
+
.slider-latest-only.blog .carousel-cell {
|
508 |
+
height: 100%;
|
509 |
+
width: 100%;
|
510 |
+
max-width: none !important;
|
511 |
position: relative;
|
512 |
+
overflow:hidden;
|
|
|
|
|
513 |
}
|
514 |
|
515 |
+
.slider-latest-only.blog .carousel-cell img {
|
|
|
|
|
|
|
516 |
position: absolute;
|
517 |
+
top: 50%;
|
518 |
left: 50%;
|
519 |
+
-webkit-transform: translateX(-50%) translateY(-50%);
|
520 |
+
transform: translateX(-50%) translateY(-50%);
|
521 |
+
min-width: 200%;
|
522 |
+
min-height: 100%;
|
523 |
+
width: auto;
|
524 |
+
height: auto;
|
525 |
+
z-index: -1;
|
526 |
+
overflow: hidden;
|
527 |
}
|
528 |
|
529 |
+
.slider-latest-only.blog .carousel h2 {
|
530 |
+
text-shadow: rgba(0,0,0,.6) 0px 0px 10px;
|
531 |
+
position: absolute;
|
532 |
+
bottom: 130px;
|
533 |
+
font-size: 220%;
|
534 |
+
width: 90%;
|
535 |
+
color: #fff;
|
|
|
|
|
536 |
}
|
537 |
|
538 |
+
.slider-latest-only.blog .carousel .post-meta {
|
539 |
+
text-shadow: rgba(0,0,0,.6) 0px 0px 6px;
|
540 |
+
color: #fff;
|
541 |
+
position: absolute;
|
542 |
+
bottom: 80px;
|
543 |
+
font-size: 90%;
|
544 |
+
text-transform: uppercase;
|
545 |
+
}
|
546 |
+
|
547 |
+
|
548 |
+
|
549 |
/* @end */
|
550 |
|
551 |
+
|
552 |
+
|
553 |
/* @end */
|
554 |
|
555 |
/* @group Single */
|
726 |
|
727 |
.post-page-head-area .post-date-comments, .post-page-head-area .post-author {
|
728 |
font-size: 75%;
|
729 |
+
color: rgba(0,0,0,.8);
|
730 |
+
font-weight: 600;
|
731 |
margin-right: 10px;
|
732 |
margin-left: 10px;
|
733 |
}
|
741 |
}
|
742 |
|
743 |
.post-page-head-area.bauhaus {
|
|
|
744 |
text-align: center;
|
745 |
+
padding-top: 40px;
|
746 |
+
padding-bottom: 40px;
|
|
|
747 |
overflow: hidden;
|
748 |
+
text-shadow: none;
|
749 |
+
text-transform: capitalize;
|
750 |
+
position: relative;
|
751 |
+
overflow: hidden;
|
752 |
+
z-index: 0;
|
753 |
+
}
|
754 |
+
|
755 |
+
.post-page-head-area.bauhaus .post-page-thumbnail {
|
756 |
+
position: absolute;
|
757 |
+
top: 50%;
|
758 |
+
left: 50%;
|
759 |
+
-webkit-transform: translateX(-50%) translateY(-50%);
|
760 |
+
transform: translateX(-50%) translateY(-50%);
|
761 |
+
min-width: 200%;
|
762 |
+
min-height: 100%;
|
763 |
+
width: auto;
|
764 |
+
height: auto;
|
765 |
+
z-index: -1;
|
766 |
+
overflow: hidden;
|
767 |
+
opacity: .4;
|
768 |
}
|
769 |
|
770 |
.post-page-head-area.bauhaus h2.post-title {
|
771 |
+
color: rgba(0,0,0,.8);
|
772 |
+
letter-spacing: -.02em;
|
773 |
font-size: 180%;
|
774 |
font-weight: normal;
|
775 |
margin: 0 !important;
|
785 |
}
|
786 |
|
787 |
.post-page-content .wptouch-showcase {
|
788 |
+
padding: 15px 0;
|
789 |
+
margin-right: auto !important;
|
790 |
+
display: block;
|
791 |
+
clear: both;
|
792 |
+
margin-left: 0px !important;
|
793 |
}
|
794 |
|
795 |
.top-content-showcase .wptouch-showcase,
|
994 |
|
995 |
/* @end */
|
996 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
997 |
/* @group Footer */
|
998 |
|
999 |
.load-more-link, .load-more-comments-wrap a {
|
1091 |
|
1092 |
/* @group Dark */
|
1093 |
|
1094 |
+
.dark-body .loop-link .post-meta {
|
1095 |
color: rgba(255,255,255,.4);
|
1096 |
}
|
1097 |
|
1110 |
|
1111 |
.dark-header header a, .dark-header header div {
|
1112 |
color: rgba(255,255,255,.9);
|
|
|
1113 |
}
|
1114 |
|
1115 |
.dark-body .post-page-content, .dark-body .footer, .dark-body .back-to-top {
|
1127 |
}
|
1128 |
|
1129 |
.dark-post-head .post-page-head-area h2.post-title, .dark-post-head .post-page-head-area select, .dark-post-head .post-page-head-area .archive-text {
|
1130 |
+
color: rgba(255,255,255,.9);
|
|
|
1131 |
}
|
1132 |
|
1133 |
.dark-post-head .post-page-head-area .post-date-comments, .dark-post-head .post-page-head-area .post-author {
|
1134 |
+
color: rgba(255,255,255,.75);
|
1135 |
+
text-shadow: rgba(0,0,0,.6) 0px 0px 10px;
|
|
|
|
|
|
|
|
|
1136 |
}
|
1137 |
|
1138 |
.dark-body #comments {
|
1205 |
font-size: 70%;
|
1206 |
}
|
1207 |
|
|
|
|
|
1208 |
/* @end */
|
1209 |
|
1210 |
|
1211 |
/* @group Polylang language menu compat */
|
1212 |
+
|
1213 |
.wptouch-menu li.lang-item span {
|
1214 |
border: none;
|
1215 |
box-shadow: none;
|
1228 |
content: '';
|
1229 |
border: none;
|
1230 |
}
|
1231 |
+
|
1232 |
+
/* @end */
|
themes/bauhaus/readme.txt
CHANGED
@@ -2,27 +2,36 @@ Theme Name: Bauhaus
|
|
2 |
Theme URI: http://www.wptouch.com/themes/bauhaus
|
3 |
Author: BraveNewCode Inc.
|
4 |
Description: Clean, modern, functional design. Great for all types of WordPress sites.
|
5 |
-
Version:
|
6 |
-
Depends on: 4.
|
7 |
Framework: 2.0
|
8 |
Tags: smartphone
|
9 |
|
10 |
== Long Description ==
|
11 |
|
12 |
-
Bauhaus is one of our more flexible themes, and is designed to easily take on the look and feel of your branding. Setting the logo, color and type to match your desktop theme is easy. Lightweight and retina-ready, Bauhaus features flat design and a clean interface, along with intuitive navigation for visitors.
|
13 |
|
14 |
== Screenshots ==
|
15 |
|
16 |
-
1. http://wptouch-pro-4.s3.amazonaws.com/screenshots/bauhaus/1.jpg
|
17 |
-
2. http://wptouch-pro-4.s3.amazonaws.com/screenshots/bauhaus/2.jpg
|
18 |
-
3. http://wptouch-pro-4.s3.amazonaws.com/screenshots/bauhaus/3.jpg
|
19 |
-
4. http://wptouch-pro-4.s3.amazonaws.com/screenshots/bauhaus/4.jpg
|
20 |
-
5. http://wptouch-pro-4.s3.amazonaws.com/screenshots/bauhaus/5.jpg
|
21 |
-
6. http://wptouch-pro-4.s3.amazonaws.com/screenshots/bauhaus/6.jpg
|
22 |
-
7. http://wptouch-pro-4.s3.amazonaws.com/screenshots/bauhaus/7.jpg
|
|
|
|
|
23 |
|
24 |
== Changelog ==
|
25 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
26 |
= Version 1.7 =
|
27 |
|
28 |
* Added: Frosted header support in iOS for Web App Mode
|
2 |
Theme URI: http://www.wptouch.com/themes/bauhaus
|
3 |
Author: BraveNewCode Inc.
|
4 |
Description: Clean, modern, functional design. Great for all types of WordPress sites.
|
5 |
+
Version: 2.0
|
6 |
+
Depends on: 4.3
|
7 |
Framework: 2.0
|
8 |
Tags: smartphone
|
9 |
|
10 |
== Long Description ==
|
11 |
|
12 |
+
Bauhaus is one of our more flexible themes, and is designed to easily take on the look and feel of your branding. Setting the logo, color and type to match your desktop theme is easy. Lightweight and retina-ready, Bauhaus features flat design and a clean interface, along with intuitive navigation for visitors. New in version 2.0 is the ability to choose different layouts for the blog appearance, including list and carousel views.
|
13 |
|
14 |
== Screenshots ==
|
15 |
|
16 |
+
1. http://wptouch-pro-4.s3.amazonaws.com/screenshots/bauhaus/2.0/1.jpg
|
17 |
+
2. http://wptouch-pro-4.s3.amazonaws.com/screenshots/bauhaus/2.0/2.jpg
|
18 |
+
3. http://wptouch-pro-4.s3.amazonaws.com/screenshots/bauhaus/2.0/3.jpg
|
19 |
+
4. http://wptouch-pro-4.s3.amazonaws.com/screenshots/bauhaus/2.0/4.jpg
|
20 |
+
5. http://wptouch-pro-4.s3.amazonaws.com/screenshots/bauhaus/2.0/5.jpg
|
21 |
+
6. http://wptouch-pro-4.s3.amazonaws.com/screenshots/bauhaus/2.0/6.jpg
|
22 |
+
7. http://wptouch-pro-4.s3.amazonaws.com/screenshots/bauhaus/2.0/7.jpg
|
23 |
+
8. http://wptouch-pro-4.s3.amazonaws.com/screenshots/bauhaus/2.0/8.jpg
|
24 |
+
9. http://wptouch-pro-4.s3.amazonaws.com/screenshots/bauhaus/2.0/9.jpg
|
25 |
|
26 |
== Changelog ==
|
27 |
|
28 |
+
= Version 2.0 =
|
29 |
+
|
30 |
+
* New: Refreshed look and feel for Bauhaus
|
31 |
+
* New: Layouts! — switch between post listings and a multi-carousel view, or showcase your posts in a full-height carousel view
|
32 |
+
* Fixed: Minor theme issues reported by customers
|
33 |
+
* Changed: Featured slider settings may need to be reset— major changes under the hood required changes to the way featured entires are loaded
|
34 |
+
|
35 |
= Version 1.7 =
|
36 |
|
37 |
* Added: Frosted header support in iOS for Web App Mode
|
themes/bauhaus/root-functions.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
define( 'BAUHAUS_THEME_VERSION', '
|
4 |
define( 'BAUHAUS_SETTING_DOMAIN', 'bauhaus' );
|
5 |
define( 'BAUHAUS_DIR', wptouch_get_bloginfo( 'theme_root_directory' ) );
|
6 |
define( 'BAUHAUS_URL', wptouch_get_bloginfo( 'theme_parent_url' ) );
|
@@ -15,8 +15,8 @@ add_action( 'wp_head', 'bauhaus_add_frosted_header_wam', 100 );
|
|
15 |
// Bauhaus filters
|
16 |
add_filter( 'wptouch_registered_setting_domains', 'bauhaus_setting_domain' );
|
17 |
add_filter( 'wptouch_setting_defaults_bauhaus', 'bauhaus_setting_defaults' );
|
|
|
18 |
add_filter( 'wptouch_setting_defaults_foundation', 'bauhaus_foundation_setting_defaults' );
|
19 |
-
add_filter( 'wptouch_featured_slider_settings', 'bauhaus_featured_slider_settings' );
|
20 |
|
21 |
add_filter( 'wptouch_body_classes', 'bauhaus_body_classes' );
|
22 |
add_filter( 'wptouch_post_classes', 'bauhaus_post_classes' );
|
@@ -25,7 +25,7 @@ add_filter( 'wptouch_theme_color', 'bauhaus_theme_color' );
|
|
25 |
|
26 |
// Bauhaus GUI Settings
|
27 |
add_filter( 'foundation_settings_header', 'bauhaus_header_settings' );
|
28 |
-
add_filter( '
|
29 |
add_filter( 'wptouch_post_footer', 'bauhaus_footer_version' );
|
30 |
|
31 |
add_filter( 'wptouch_has_post_thumbnail', 'bauhaus_handle_has_thumbnail' );
|
@@ -34,8 +34,6 @@ add_filter( 'wptouch_get_post_thumbnail', 'bauhaus_handle_get_thumbnail' );
|
|
34 |
add_filter( 'post_thumbnail_html', 'bauhaus_handle_thumbnail_html', 10, 5 );
|
35 |
add_filter( 'wptouch_setting_version_compare', 'bauhaus_setting_version_compare', 10, 2 );
|
36 |
|
37 |
-
add_filter( 'foundation_featured_use_swipe', '__return_false' );
|
38 |
-
|
39 |
function bauhaus_setting_domain( $domain ) {
|
40 |
$domain[] = BAUHAUS_SETTING_DOMAIN;
|
41 |
return $domain;
|
@@ -63,12 +61,11 @@ function bauhaus_setting_defaults( $settings ) {
|
|
63 |
$settings->bauhaus_menu_style = 'off-canvas';
|
64 |
$settings->bauhaus_menu_position = 'left-side';
|
65 |
|
66 |
-
|
67 |
// Theme colors
|
68 |
-
$settings->bauhaus_background_color = '#
|
69 |
-
$settings->bauhaus_header_color = '#
|
70 |
-
$settings->bauhaus_link_color = '#
|
71 |
-
$settings->bauhaus_post_page_header_color = '#
|
72 |
|
73 |
// Blog
|
74 |
$settings->bauhaus_show_taxonomy = false;
|
@@ -82,7 +79,29 @@ function bauhaus_setting_defaults( $settings ) {
|
|
82 |
$settings->bauhaus_thumbnail_type = 'featured';
|
83 |
$settings->bauhaus_thumbnail_custom_field = '';
|
84 |
|
85 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
86 |
|
87 |
return $settings;
|
88 |
}
|
@@ -105,11 +124,11 @@ function bauhaus_theme_init() {
|
|
105 |
'media',
|
106 |
'sharing',
|
107 |
'social-links',
|
108 |
-
'featured',
|
109 |
'login',
|
|
|
110 |
// Modules w/o settings
|
111 |
'menu',
|
112 |
-
'
|
113 |
'spinjs',
|
114 |
'tappable',
|
115 |
'fastclick',
|
@@ -138,7 +157,7 @@ function bauhaus_theme_init() {
|
|
138 |
// Example of how to register theme colors
|
139 |
// (Name, element to add color to, element to add background-color to, settings domain, luma threshold, luma class root – light-*, dark-* )
|
140 |
foundation_register_theme_color( 'bauhaus_background_color', __( 'Theme background', 'wptouch-pro' ), '', '.page-wrapper', BAUHAUS_SETTING_DOMAIN, WPTOUCH_PRO_LIVE_PREVIEW_SETTING, 150, 'body' );
|
141 |
-
foundation_register_theme_color( 'bauhaus_header_color', __( 'Header & Menu', 'wptouch-pro' ),'', 'body, header, .wptouch-menu, .pushit, #search-dropper, .date-circle', BAUHAUS_SETTING_DOMAIN, WPTOUCH_PRO_LIVE_PREVIEW_SETTING, 150, 'header' );
|
142 |
foundation_register_theme_color( 'bauhaus_link_color', __( 'Links', 'wptouch-pro' ), '.content-wrap a, #slider a p:after', '.dots li.active, #switch .active', BAUHAUS_SETTING_DOMAIN, WPTOUCH_PRO_LIVE_PREVIEW_SETTING );
|
143 |
foundation_register_theme_color( 'bauhaus_post_page_header_color', __( 'Post/Page Headers', 'wptouch-pro' ), '', '.bauhaus, form#commentform button#submit', BAUHAUS_SETTING_DOMAIN, WPTOUCH_PRO_LIVE_PREVIEW_SETTING, 150, 'post-head' );
|
144 |
|
@@ -192,10 +211,9 @@ function bauhaus_register_fonts() {
|
|
192 |
}
|
193 |
|
194 |
function bauhaus_add_frosted_header_wam(){
|
195 |
-
|
196 |
$settings = bauhaus_get_settings();
|
197 |
$color = 'rgba(' . wptouch_hex_to_rgb( $settings->bauhaus_header_color, true ) . ',.88)';
|
198 |
-
echo "<style>.ios7.web-app-mode.has-fixed header{ background-color: " . $color . "
|
199 |
}
|
200 |
|
201 |
function bauhaus_body_classes( $classes ) {
|
@@ -213,12 +231,20 @@ function bauhaus_body_classes( $classes ) {
|
|
213 |
$classes[] = 'off-canvas';
|
214 |
}
|
215 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
216 |
return $classes;
|
217 |
}
|
218 |
|
219 |
function bauhaus_post_classes( $classes ) {
|
220 |
$settings = bauhaus_get_settings();
|
221 |
-
|
222 |
if ( $settings->bauhaus_use_thumbnails != 'none' ) {
|
223 |
$classes[] = 'show-thumbs';
|
224 |
} else {
|
@@ -240,7 +266,6 @@ function bauhaus_enqueue_customizer_script() {
|
|
240 |
}
|
241 |
|
242 |
// Admin Settings
|
243 |
-
|
244 |
function bauhaus_header_settings( $header_settings ) {
|
245 |
|
246 |
$header_settings[] = wptouch_add_pro_setting(
|
@@ -388,6 +413,201 @@ function bauhaus_blog_settings( $blog_settings ) {
|
|
388 |
return $blog_settings;
|
389 |
}
|
390 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
391 |
function bauhaus_handle_has_thumbnail( $does_have_it ) {
|
392 |
$settings = bauhaus_get_settings();
|
393 |
|
@@ -466,68 +686,62 @@ function bauhaus_if_off_canvas_enabled(){
|
|
466 |
}
|
467 |
}
|
468 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
469 |
add_filter( 'wptouch_amp_header_color', 'bauhaus_amp_header_color' );
|
|
|
470 |
function bauhaus_amp_header_color( $color ) {
|
471 |
$settings = bauhaus_get_settings();
|
472 |
return $settings->bauhaus_header_color;
|
473 |
}
|
474 |
|
475 |
add_filter( 'wptouch_amp_link_color', 'bauhaus_amp_link_color' );
|
|
|
476 |
function bauhaus_amp_link_color( $color ) {
|
477 |
$settings = bauhaus_get_settings();
|
478 |
return $settings->bauhaus_link_color;
|
479 |
}
|
480 |
|
481 |
add_filter( 'wptouch_amp_show_author', 'bauhaus_amp_show_author' );
|
|
|
482 |
function bauhaus_amp_show_author() {
|
483 |
$settings = bauhaus_get_settings();
|
484 |
return $settings->bauhaus_show_author;
|
485 |
}
|
486 |
|
487 |
add_filter( 'wptouch_amp_show_date', 'bauhaus_amp_show_date' );
|
|
|
488 |
function bauhaus_amp_show_date() {
|
489 |
$settings = bauhaus_get_settings();
|
490 |
return $settings->bauhaus_show_date;
|
491 |
}
|
492 |
|
493 |
add_filter( 'wptouch_amp_show_taxonomy', 'bauhaus_amp_show_taxonomy' );
|
|
|
494 |
function bauhaus_amp_show_taxonomy() {
|
495 |
$settings = bauhaus_get_settings();
|
496 |
return $settings->bauhaus_show_taxonomy;
|
497 |
}
|
498 |
|
499 |
-
function bauhaus_get_page_list() {
|
500 |
-
$contents = get_pages();
|
501 |
-
$pages = array( 'Select…' );
|
502 |
-
foreach ( $contents as $page ) {
|
503 |
-
$pages[ $page->ID ] = $page->post_title;
|
504 |
-
}
|
505 |
-
return $pages;
|
506 |
-
}
|
507 |
-
|
508 |
-
function bauhaus_allow_featured_slider_override() {
|
509 |
-
$settings = wptouch_get_settings();
|
510 |
-
$foundation_settings = foundation_get_settings();
|
511 |
-
return $settings->homepage_landing != 'none' && $settings->homepage_landing != $foundation_settings->latest_posts_page;
|
512 |
-
}
|
513 |
-
|
514 |
-
function bauhaus_featured_slider_settings( $featured_slider_settings ) {
|
515 |
-
if ( bauhaus_allow_featured_slider_override() ) {
|
516 |
-
$featured_slider_settings[] = wptouch_add_pro_setting(
|
517 |
-
'list',
|
518 |
-
'featured_slider_page',
|
519 |
-
__( 'Featured Slider Page', 'wptouch-pro' ),
|
520 |
-
__( 'Choose which page should display the featured slider', 'wptouch-pro' ),
|
521 |
-
WPTOUCH_SETTING_BASIC,
|
522 |
-
'4.1.15',
|
523 |
-
bauhaus_get_page_list()
|
524 |
-
);
|
525 |
-
}
|
526 |
-
|
527 |
-
return $featured_slider_settings;
|
528 |
-
}
|
529 |
-
|
530 |
function bauhaus_theme_color() {
|
531 |
$settings = bauhaus_get_settings();
|
532 |
return $settings->bauhaus_header_color;
|
533 |
-
}
|
1 |
<?php
|
2 |
|
3 |
+
define( 'BAUHAUS_THEME_VERSION', '2.0' );
|
4 |
define( 'BAUHAUS_SETTING_DOMAIN', 'bauhaus' );
|
5 |
define( 'BAUHAUS_DIR', wptouch_get_bloginfo( 'theme_root_directory' ) );
|
6 |
define( 'BAUHAUS_URL', wptouch_get_bloginfo( 'theme_parent_url' ) );
|
15 |
// Bauhaus filters
|
16 |
add_filter( 'wptouch_registered_setting_domains', 'bauhaus_setting_domain' );
|
17 |
add_filter( 'wptouch_setting_defaults_bauhaus', 'bauhaus_setting_defaults' );
|
18 |
+
add_filter( 'foundation_settings_blog', 'bauhaus_blog_settings' );
|
19 |
add_filter( 'wptouch_setting_defaults_foundation', 'bauhaus_foundation_setting_defaults' );
|
|
|
20 |
|
21 |
add_filter( 'wptouch_body_classes', 'bauhaus_body_classes' );
|
22 |
add_filter( 'wptouch_post_classes', 'bauhaus_post_classes' );
|
25 |
|
26 |
// Bauhaus GUI Settings
|
27 |
add_filter( 'foundation_settings_header', 'bauhaus_header_settings' );
|
28 |
+
add_filter( 'wptouch_admin_page_render_wptouch-admin-theme-settings', 'bauhaus_render_theme_settings' );
|
29 |
add_filter( 'wptouch_post_footer', 'bauhaus_footer_version' );
|
30 |
|
31 |
add_filter( 'wptouch_has_post_thumbnail', 'bauhaus_handle_has_thumbnail' );
|
34 |
add_filter( 'post_thumbnail_html', 'bauhaus_handle_thumbnail_html', 10, 5 );
|
35 |
add_filter( 'wptouch_setting_version_compare', 'bauhaus_setting_version_compare', 10, 2 );
|
36 |
|
|
|
|
|
37 |
function bauhaus_setting_domain( $domain ) {
|
38 |
$domain[] = BAUHAUS_SETTING_DOMAIN;
|
39 |
return $domain;
|
61 |
$settings->bauhaus_menu_style = 'off-canvas';
|
62 |
$settings->bauhaus_menu_position = 'left-side';
|
63 |
|
|
|
64 |
// Theme colors
|
65 |
+
$settings->bauhaus_background_color = '#edede7';
|
66 |
+
$settings->bauhaus_header_color = '#037add';
|
67 |
+
$settings->bauhaus_link_color = '#037add';
|
68 |
+
$settings->bauhaus_post_page_header_color = '#e8a21c';
|
69 |
|
70 |
// Blog
|
71 |
$settings->bauhaus_show_taxonomy = false;
|
79 |
$settings->bauhaus_thumbnail_type = 'featured';
|
80 |
$settings->bauhaus_thumbnail_custom_field = '';
|
81 |
|
82 |
+
// Global Featured Posts Settings
|
83 |
+
$settings->bauhaus_featured_comments = false;
|
84 |
+
$settings->bauhaus_featured_type = 'latest';
|
85 |
+
$settings->bauhaus_featured_tag = '';
|
86 |
+
$settings->bauhaus_featured_category = '';
|
87 |
+
$settings->bauhaus_featured_post_type = '';
|
88 |
+
$settings->bauhaus_featured_post_ids = '';
|
89 |
+
$settings->bauhaus_featured_max_number_of_posts = '5';
|
90 |
+
$settings->bauhaus_featured_filter_posts = true;
|
91 |
+
|
92 |
+
$settings->bauhaus_post_listing_view = 'default';
|
93 |
+
|
94 |
+
// Post Listings -----
|
95 |
+
$settings->bauhaus_featured_enabled = true;
|
96 |
+
$settings->bauhaus_post_listing_autoplay = false;
|
97 |
+
$settings->bauhaus_post_listing_dots = true;
|
98 |
+
|
99 |
+
// Carousel View -----
|
100 |
+
// Featured Posts
|
101 |
+
$settings->bauhaus_featured_carousel_enabled = true;
|
102 |
+
// Popular Posts
|
103 |
+
$settings->bauhaus_popular_enabled = true;
|
104 |
+
$settings->bauhaus_popular_max_number_of_posts = '5';
|
105 |
|
106 |
return $settings;
|
107 |
}
|
124 |
'media',
|
125 |
'sharing',
|
126 |
'social-links',
|
|
|
127 |
'login',
|
128 |
+
// 'featured-posts',
|
129 |
// Modules w/o settings
|
130 |
'menu',
|
131 |
+
'flickity',
|
132 |
'spinjs',
|
133 |
'tappable',
|
134 |
'fastclick',
|
157 |
// Example of how to register theme colors
|
158 |
// (Name, element to add color to, element to add background-color to, settings domain, luma threshold, luma class root – light-*, dark-* )
|
159 |
foundation_register_theme_color( 'bauhaus_background_color', __( 'Theme background', 'wptouch-pro' ), '', '.page-wrapper', BAUHAUS_SETTING_DOMAIN, WPTOUCH_PRO_LIVE_PREVIEW_SETTING, 150, 'body' );
|
160 |
+
foundation_register_theme_color( 'bauhaus_header_color', __( 'Header & Menu', 'wptouch-pro' ),'', 'body, header, .wptouch-menu, .pushit, #search-dropper, .date-circle, .list-view .list-carousel', BAUHAUS_SETTING_DOMAIN, WPTOUCH_PRO_LIVE_PREVIEW_SETTING, 150, 'header' );
|
161 |
foundation_register_theme_color( 'bauhaus_link_color', __( 'Links', 'wptouch-pro' ), '.content-wrap a, #slider a p:after', '.dots li.active, #switch .active', BAUHAUS_SETTING_DOMAIN, WPTOUCH_PRO_LIVE_PREVIEW_SETTING );
|
162 |
foundation_register_theme_color( 'bauhaus_post_page_header_color', __( 'Post/Page Headers', 'wptouch-pro' ), '', '.bauhaus, form#commentform button#submit', BAUHAUS_SETTING_DOMAIN, WPTOUCH_PRO_LIVE_PREVIEW_SETTING, 150, 'post-head' );
|
163 |
|
211 |
}
|
212 |
|
213 |
function bauhaus_add_frosted_header_wam(){
|
|
|
214 |
$settings = bauhaus_get_settings();
|
215 |
$color = 'rgba(' . wptouch_hex_to_rgb( $settings->bauhaus_header_color, true ) . ',.88)';
|
216 |
+
echo "<style>.ios7.web-app-mode.has-fixed header{ background-color: " . $color . ";}</style>";
|
217 |
}
|
218 |
|
219 |
function bauhaus_body_classes( $classes ) {
|
231 |
$classes[] = 'off-canvas';
|
232 |
}
|
233 |
|
234 |
+
if ( $settings->bauhaus_post_listing_view == 'default' ) {
|
235 |
+
$classes[] = 'list-view';
|
236 |
+
}
|
237 |
+
|
238 |
+
if ( $settings->bauhaus_post_listing_view == 'carousel' && $settings->bauhaus_featured_carousel_enabled == false && $settings->bauhaus_popular_enabled == false ) {
|
239 |
+
$classes[] = 'slider-latest-only';
|
240 |
+
}
|
241 |
+
|
242 |
return $classes;
|
243 |
}
|
244 |
|
245 |
function bauhaus_post_classes( $classes ) {
|
246 |
$settings = bauhaus_get_settings();
|
247 |
+
|
248 |
if ( $settings->bauhaus_use_thumbnails != 'none' ) {
|
249 |
$classes[] = 'show-thumbs';
|
250 |
} else {
|
266 |
}
|
267 |
|
268 |
// Admin Settings
|
|
|
269 |
function bauhaus_header_settings( $header_settings ) {
|
270 |
|
271 |
$header_settings[] = wptouch_add_pro_setting(
|
413 |
return $blog_settings;
|
414 |
}
|
415 |
|
416 |
+
function bauhaus_render_theme_settings( $page_options ) {
|
417 |
+
|
418 |
+
global $wptouch_pro;
|
419 |
+
|
420 |
+
$bauhaus_settings = array(
|
421 |
+
wptouch_add_setting(
|
422 |
+
'list',
|
423 |
+
'bauhaus_post_listing_view',
|
424 |
+
__( 'Blog Appearance', 'wptouch-pro' ),
|
425 |
+
false,
|
426 |
+
WPTOUCH_SETTING_BASIC,
|
427 |
+
'2.0',
|
428 |
+
array(
|
429 |
+
'default' => __( 'List View', 'wptouch-pro' ),
|
430 |
+
'carousel' => __( 'Carousel View', 'wptouch-pro' )
|
431 |
+
)
|
432 |
+
),
|
433 |
+
wptouch_add_setting(
|
434 |
+
'checkbox',
|
435 |
+
'bauhaus_featured_enabled',
|
436 |
+
__( 'Show featured posts', 'wptouch-pro' ),
|
437 |
+
false,
|
438 |
+
WPTOUCH_SETTING_BASIC,
|
439 |
+
'2.0',
|
440 |
+
false,
|
441 |
+
BAUHAUS_SETTING_DOMAIN
|
442 |
+
),
|
443 |
+
wptouch_add_setting(
|
444 |
+
'checkbox',
|
445 |
+
'bauhaus_post_listing_dots',
|
446 |
+
__( 'Show slider nav bar', 'wptouch-pro' ),
|
447 |
+
false,
|
448 |
+
WPTOUCH_SETTING_BASIC,
|
449 |
+
'2.0',
|
450 |
+
false,
|
451 |
+
BAUHAUS_SETTING_DOMAIN
|
452 |
+
),
|
453 |
+
wptouch_add_setting(
|
454 |
+
'checkbox',
|
455 |
+
'bauhaus_post_listing_autoplay',
|
456 |
+
__( 'Autoplay', 'wptouch-pro' ),
|
457 |
+
false,
|
458 |
+
WPTOUCH_SETTING_BASIC,
|
459 |
+
'2.0',
|
460 |
+
false,
|
461 |
+
BAUHAUS_SETTING_DOMAIN
|
462 |
+
),
|
463 |
+
wptouch_add_setting(
|
464 |
+
'checkbox',
|
465 |
+
'bauhaus_featured_carousel_enabled',
|
466 |
+
__( 'Show featured posts slider', 'wptouch-pro' ),
|
467 |
+
false,
|
468 |
+
WPTOUCH_SETTING_BASIC,
|
469 |
+
'2.0',
|
470 |
+
false,
|
471 |
+
BAUHAUS_SETTING_DOMAIN
|
472 |
+
),
|
473 |
+
wptouch_add_setting(
|
474 |
+
'checkbox',
|
475 |
+
'bauhaus_popular_enabled',
|
476 |
+
__( 'Show popular posts slider', 'wptouch-pro' ),
|
477 |
+
false,
|
478 |
+
WPTOUCH_SETTING_BASIC,
|
479 |
+
'2.0',
|
480 |
+
false,
|
481 |
+
BAUHAUS_SETTING_DOMAIN
|
482 |
+
),
|
483 |
+
wptouch_add_setting(
|
484 |
+
'range',
|
485 |
+
'bauhaus_popular_max_number_of_posts',
|
486 |
+
__( 'Max number of posts in popular slider', 'wptouch-pro' ),
|
487 |
+
false,
|
488 |
+
WPTOUCH_SETTING_BASIC,
|
489 |
+
'2.0',
|
490 |
+
array(
|
491 |
+
'min' => 5,
|
492 |
+
'max' => 12,
|
493 |
+
'step' => 1
|
494 |
+
),
|
495 |
+
BAUHAUS_SETTING_DOMAIN
|
496 |
+
)
|
497 |
+
);
|
498 |
+
|
499 |
+
$bauhaus_featured_settings = array(
|
500 |
+
wptouch_add_setting(
|
501 |
+
'range',
|
502 |
+
'bauhaus_featured_max_number_of_posts',
|
503 |
+
__( 'Max number of featured posts', 'wptouch-pro' ),
|
504 |
+
false,
|
505 |
+
WPTOUCH_SETTING_BASIC,
|
506 |
+
'2.0',
|
507 |
+
array(
|
508 |
+
'min' => 5,
|
509 |
+
'max' => 12,
|
510 |
+
'step' => 1
|
511 |
+
),
|
512 |
+
BAUHAUS_SETTING_DOMAIN
|
513 |
+
),
|
514 |
+
wptouch_add_setting(
|
515 |
+
'checkbox',
|
516 |
+
'bauhaus_featured_filter_posts',
|
517 |
+
__( 'Featured posts also show in latest posts', 'wptouch-pro' ),
|
518 |
+
false,
|
519 |
+
WPTOUCH_SETTING_BASIC,
|
520 |
+
'2.0',
|
521 |
+
false,
|
522 |
+
BAUHAUS_SETTING_DOMAIN
|
523 |
+
),
|
524 |
+
wptouch_add_setting(
|
525 |
+
'list',
|
526 |
+
'bauhaus_featured_type',
|
527 |
+
__( 'Featured posts to display', 'wptouch-pro' ),
|
528 |
+
false,
|
529 |
+
WPTOUCH_SETTING_BASIC,
|
530 |
+
'2.0',
|
531 |
+
array(
|
532 |
+
'latest' => __( 'Show latest posts', 'wptouch-pro' ),
|
533 |
+
'tag' => __( 'Show posts from a specific tag', 'wptouch-pro' ),
|
534 |
+
'category' => __( 'Show posts from a specific category', 'wptouch-pro' ),
|
535 |
+
'post_type' => __( 'Show posts from a specific post type', 'wptouch-pro' ),
|
536 |
+
'posts' => __( 'Show only specific posts or pages', 'wptouch-pro' )
|
537 |
+
),
|
538 |
+
BAUHAUS_SETTING_DOMAIN
|
539 |
+
),
|
540 |
+
wptouch_add_setting(
|
541 |
+
'text',
|
542 |
+
'bauhaus_featured_tag',
|
543 |
+
__( 'Only this tag', 'wptouch-pro' ),
|
544 |
+
__( 'Enter the tag/category slug name', 'wptouch-pro' ),
|
545 |
+
WPTOUCH_SETTING_BASIC,
|
546 |
+
'2.0',
|
547 |
+
false,
|
548 |
+
BAUHAUS_SETTING_DOMAIN
|
549 |
+
),
|
550 |
+
wptouch_add_setting(
|
551 |
+
'text',
|
552 |
+
'bauhaus_featured_category',
|
553 |
+
__( 'Only this category', 'wptouch-pro' ),
|
554 |
+
__( 'Enter the tag/category slug name', 'wptouch-pro' ),
|
555 |
+
WPTOUCH_SETTING_BASIC,
|
556 |
+
'2.0',
|
557 |
+
false,
|
558 |
+
BAUHAUS_SETTING_DOMAIN
|
559 |
+
),
|
560 |
+
wptouch_add_setting(
|
561 |
+
'text',
|
562 |
+
'bauhaus_featured_post_ids',
|
563 |
+
__( 'Comma-separated list of post/page IDs', 'wptouch-pro' ),
|
564 |
+
false,
|
565 |
+
WPTOUCH_SETTING_BASIC,
|
566 |
+
'2.0',
|
567 |
+
false,
|
568 |
+
BAUHAUS_SETTING_DOMAIN
|
569 |
+
)
|
570 |
+
);
|
571 |
+
|
572 |
+
if ( function_exists( 'wptouch_custom_posts_get_list' ) ) {
|
573 |
+
$bauhaus_featured_post_type = wptouch_add_pro_setting(
|
574 |
+
'list',
|
575 |
+
'bauhaus_featured_post_type',
|
576 |
+
__( 'Only this post type', 'wptouch-pro' ),
|
577 |
+
false,
|
578 |
+
WPTOUCH_SETTING_BASIC,
|
579 |
+
'2.0',
|
580 |
+
array_merge( array( 'Select Post Type' ), wptouch_custom_posts_get_list() ),
|
581 |
+
BAUHAUS_SETTING_DOMAIN
|
582 |
+
);
|
583 |
+
|
584 |
+
array_push( $bauhaus_featured_settings, $bauhaus_featured_post_type );
|
585 |
+
}
|
586 |
+
|
587 |
+
wptouch_add_page_section(
|
588 |
+
FOUNDATION_PAGE_GENERAL,
|
589 |
+
__( 'Blog Featured Slider', 'wptouch-pro' ),
|
590 |
+
'featured-slider',
|
591 |
+
$bauhaus_featured_settings,
|
592 |
+
$page_options,
|
593 |
+
BAUHAUS_SETTING_DOMAIN,
|
594 |
+
true
|
595 |
+
);
|
596 |
+
|
597 |
+
wptouch_add_page_section(
|
598 |
+
FOUNDATION_PAGE_GENERAL,
|
599 |
+
__( 'Blog Layout', 'wptouch-pro' ),
|
600 |
+
'post-view',
|
601 |
+
$bauhaus_settings,
|
602 |
+
$page_options,
|
603 |
+
BAUHAUS_SETTING_DOMAIN,
|
604 |
+
true
|
605 |
+
);
|
606 |
+
|
607 |
+
|
608 |
+
return $page_options;
|
609 |
+
}
|
610 |
+
|
611 |
function bauhaus_handle_has_thumbnail( $does_have_it ) {
|
612 |
$settings = bauhaus_get_settings();
|
613 |
|
686 |
}
|
687 |
}
|
688 |
|
689 |
+
function bauhaus_if_carousel_view_enabled(){
|
690 |
+
$settings = bauhaus_get_settings();
|
691 |
+
|
692 |
+
if ( $settings->bauhaus_post_listing_view == 'carousel' ) {
|
693 |
+
return true;
|
694 |
+
}
|
695 |
+
|
696 |
+
return false;
|
697 |
+
}
|
698 |
+
|
699 |
+
function bauhaus_if_popular_enabled(){
|
700 |
+
$settings = bauhaus_get_settings();
|
701 |
+
|
702 |
+
if ( $settings->bauhaus_post_listing_view == 'carousel' && $settings->bauhaus_popular_enabled ) {
|
703 |
+
return true;
|
704 |
+
}
|
705 |
+
|
706 |
+
return false;
|
707 |
+
}
|
708 |
+
|
709 |
add_filter( 'wptouch_amp_header_color', 'bauhaus_amp_header_color' );
|
710 |
+
|
711 |
function bauhaus_amp_header_color( $color ) {
|
712 |
$settings = bauhaus_get_settings();
|
713 |
return $settings->bauhaus_header_color;
|
714 |
}
|
715 |
|
716 |
add_filter( 'wptouch_amp_link_color', 'bauhaus_amp_link_color' );
|
717 |
+
|
718 |
function bauhaus_amp_link_color( $color ) {
|
719 |
$settings = bauhaus_get_settings();
|
720 |
return $settings->bauhaus_link_color;
|
721 |
}
|
722 |
|
723 |
add_filter( 'wptouch_amp_show_author', 'bauhaus_amp_show_author' );
|
724 |
+
|
725 |
function bauhaus_amp_show_author() {
|
726 |
$settings = bauhaus_get_settings();
|
727 |
return $settings->bauhaus_show_author;
|
728 |
}
|
729 |
|
730 |
add_filter( 'wptouch_amp_show_date', 'bauhaus_amp_show_date' );
|
731 |
+
|
732 |
function bauhaus_amp_show_date() {
|
733 |
$settings = bauhaus_get_settings();
|
734 |
return $settings->bauhaus_show_date;
|
735 |
}
|
736 |
|
737 |
add_filter( 'wptouch_amp_show_taxonomy', 'bauhaus_amp_show_taxonomy' );
|
738 |
+
|
739 |
function bauhaus_amp_show_taxonomy() {
|
740 |
$settings = bauhaus_get_settings();
|
741 |
return $settings->bauhaus_show_taxonomy;
|
742 |
}
|
743 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
744 |
function bauhaus_theme_color() {
|
745 |
$settings = bauhaus_get_settings();
|
746 |
return $settings->bauhaus_header_color;
|
747 |
+
}
|
themes/bauhaus/screenshot.png
CHANGED
Binary file
|
themes/foundation/default/featured-posts.php
ADDED
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
$settings = foundation_get_settings();
|
3 |
+
?>
|
4 |
+
<a href='<?php echo the_permalink(); ?>' class='needsclick'>
|
5 |
+
<div class='comments-number'><span><?php echo wptouch_get_comment_count(); ?></span></div>
|
6 |
+
<img src='<?php echo foundation_featured_get_image(); ?>' alt='<?php the_title(); ?>' / >
|
7 |
+
<p class='featured-date'><?php wptouch_the_time(); ?></p>
|
8 |
+
<p class='featured-title'><span><?php the_title(); ?></span></p>
|
9 |
+
</a>
|
themes/foundation/modules/custom-posts/custom-posts.php
CHANGED
@@ -5,12 +5,15 @@ add_action( 'init', 'wptouch_register_theme_custom_post_types', 999 );
|
|
5 |
add_filter( 'wptouch_modify_setting__foundation__enabled_custom_post_types', 'wptouch_serialize_custom_post_types', 1 );
|
6 |
|
7 |
add_filter( 'wptouch_setting_defaults_foundation', 'wptouch_custom_posts_default_settings' );
|
8 |
-
add_filter( 'wptouch_admin_page_render_wptouch-admin-theme-settings', 'wptouch_custom_posts_render_theme_settings' );
|
9 |
add_filter( 'foundation_search_post_types', 'wptouch_custom_posts_add_to_search' );
|
10 |
add_filter( 'wptouch_mobile_content_post_types', 'wptouch_custom_posts_add_to_search' );
|
11 |
add_filter( 'pre_get_posts', 'wptouch_custom_posts_pre_get_posts' );
|
12 |
add_filter( 'wptouch_foundation_search_post_type_text', 'wptouch_custom_posts_get_post_type_name' );
|
13 |
|
|
|
|
|
|
|
|
|
14 |
function wptouch_serialize_custom_post_types( $setting ) {
|
15 |
// Function is fed the custom post type object as loaded by WordPress at render time; serialize it for pass-through as a field value.
|
16 |
return addslashes( serialize( $setting ) );
|
5 |
add_filter( 'wptouch_modify_setting__foundation__enabled_custom_post_types', 'wptouch_serialize_custom_post_types', 1 );
|
6 |
|
7 |
add_filter( 'wptouch_setting_defaults_foundation', 'wptouch_custom_posts_default_settings' );
|
|
|
8 |
add_filter( 'foundation_search_post_types', 'wptouch_custom_posts_add_to_search' );
|
9 |
add_filter( 'wptouch_mobile_content_post_types', 'wptouch_custom_posts_add_to_search' );
|
10 |
add_filter( 'pre_get_posts', 'wptouch_custom_posts_pre_get_posts' );
|
11 |
add_filter( 'wptouch_foundation_search_post_type_text', 'wptouch_custom_posts_get_post_type_name' );
|
12 |
|
13 |
+
if ( !defined('WPTOUCH_IS_FREE') ) {
|
14 |
+
add_filter( 'wptouch_admin_page_render_wptouch-admin-theme-settings', 'wptouch_custom_posts_render_theme_settings' );
|
15 |
+
}
|
16 |
+
|
17 |
function wptouch_serialize_custom_post_types( $setting ) {
|
18 |
// Function is fed the custom post type object as loaded by WordPress at render time; serialize it for pass-through as a field value.
|
19 |
return addslashes( serialize( $setting ) );
|
themes/foundation/modules/featured/featured.php
CHANGED
@@ -323,6 +323,22 @@ function foundation_featured_settings( $page_options ) {
|
|
323 |
|
324 |
if ( $wptouch_pro->get_current_theme() == 'bauhaus' || ( $wptouch_pro->is_child_theme() && $wptouch_pro->get_parent_theme_info()->base == 'bauhaus' ) ) {
|
325 |
$featured_enhanced_setting = array(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
326 |
wptouch_add_setting(
|
327 |
'list',
|
328 |
'featured_style',
|
@@ -334,7 +350,7 @@ function foundation_featured_settings( $page_options ) {
|
|
334 |
'enhanced' => __( 'Enhanced', 'wptouch-pro' ),
|
335 |
'streamlined' => __( 'Streamlined', 'wptouch-pro' )
|
336 |
)
|
337 |
-
)
|
338 |
);
|
339 |
} else {
|
340 |
$featured_enhanced_setting = array();
|
@@ -363,7 +379,7 @@ function foundation_featured_settings( $page_options ) {
|
|
363 |
'2.0',
|
364 |
array(
|
365 |
'min' => 1,
|
366 |
-
'max' =>
|
367 |
'step' => 1
|
368 |
)
|
369 |
),
|
@@ -475,22 +491,6 @@ function foundation_featured_settings( $page_options ) {
|
|
475 |
false,
|
476 |
WPTOUCH_SETTING_BASIC,
|
477 |
'2.0'
|
478 |
-
),
|
479 |
-
wptouch_add_setting(
|
480 |
-
'checkbox',
|
481 |
-
'featured_blog',
|
482 |
-
__( 'Show on blog', 'wptouch-pro' ),
|
483 |
-
false,
|
484 |
-
WPTOUCH_SETTING_BASIC,
|
485 |
-
'2.0'
|
486 |
-
),
|
487 |
-
wptouch_add_setting(
|
488 |
-
'checkbox',
|
489 |
-
'featured_homepage',
|
490 |
-
__( 'Show on homepage', 'wptouch-pro' ),
|
491 |
-
false,
|
492 |
-
WPTOUCH_SETTING_BASIC,
|
493 |
-
'2.0'
|
494 |
)
|
495 |
),
|
496 |
$featured_enhanced_setting,
|
@@ -504,4 +504,4 @@ function foundation_featured_settings( $page_options ) {
|
|
504 |
);
|
505 |
|
506 |
return $page_options;
|
507 |
-
}
|
323 |
|
324 |
if ( $wptouch_pro->get_current_theme() == 'bauhaus' || ( $wptouch_pro->is_child_theme() && $wptouch_pro->get_parent_theme_info()->base == 'bauhaus' ) ) {
|
325 |
$featured_enhanced_setting = array(
|
326 |
+
wptouch_add_setting(
|
327 |
+
'checkbox',
|
328 |
+
'featured_blog',
|
329 |
+
__( 'Show on blog', 'wptouch-pro' ),
|
330 |
+
false,
|
331 |
+
WPTOUCH_SETTING_BASIC,
|
332 |
+
'2.0'
|
333 |
+
),
|
334 |
+
wptouch_add_setting(
|
335 |
+
'checkbox',
|
336 |
+
'featured_homepage',
|
337 |
+
__( 'Show on homepage', 'wptouch-pro' ),
|
338 |
+
false,
|
339 |
+
WPTOUCH_SETTING_BASIC,
|
340 |
+
'2.0'
|
341 |
+
),
|
342 |
wptouch_add_setting(
|
343 |
'list',
|
344 |
'featured_style',
|
350 |
'enhanced' => __( 'Enhanced', 'wptouch-pro' ),
|
351 |
'streamlined' => __( 'Streamlined', 'wptouch-pro' )
|
352 |
)
|
353 |
+
),
|
354 |
);
|
355 |
} else {
|
356 |
$featured_enhanced_setting = array();
|
379 |
'2.0',
|
380 |
array(
|
381 |
'min' => 1,
|
382 |
+
'max' => 15,
|
383 |
'step' => 1
|
384 |
)
|
385 |
),
|
491 |
false,
|
492 |
WPTOUCH_SETTING_BASIC,
|
493 |
'2.0'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
494 |
)
|
495 |
),
|
496 |
$featured_enhanced_setting,
|
504 |
);
|
505 |
|
506 |
return $page_options;
|
507 |
+
}
|
themes/foundation/modules/featured/wptouch-owl.js
CHANGED
@@ -17,14 +17,17 @@ function doOwlFeatured() {
|
|
17 |
autoplayTimeout = false;
|
18 |
}
|
19 |
|
20 |
-
|
21 |
rtl: use_rtl,
|
22 |
nav: false,
|
23 |
items: 1,
|
24 |
loop: loop,
|
|
|
25 |
autoplay: autoplay,
|
26 |
autoplayTimeout: autoplayTimeout
|
27 |
-
}
|
|
|
|
|
28 |
}
|
29 |
}
|
30 |
|
@@ -32,4 +35,4 @@ jQuery( document ).ready( function() {
|
|
32 |
if ( jQuery( '#slider' ).length ) {
|
33 |
doOwlFeatured();
|
34 |
}
|
35 |
-
});
|
17 |
autoplayTimeout = false;
|
18 |
}
|
19 |
|
20 |
+
var carouselOptions = {
|
21 |
rtl: use_rtl,
|
22 |
nav: false,
|
23 |
items: 1,
|
24 |
loop: loop,
|
25 |
+
// lazyLoad : true,
|
26 |
autoplay: autoplay,
|
27 |
autoplayTimeout: autoplayTimeout
|
28 |
+
}
|
29 |
+
|
30 |
+
jQuery( '.owl-carousel' ).owlCarousel( carouselOptions );
|
31 |
}
|
32 |
}
|
33 |
|
35 |
if ( jQuery( '#slider' ).length ) {
|
36 |
doOwlFeatured();
|
37 |
}
|
38 |
+
});
|
themes/foundation/modules/flickity/flickity-wptouch.js
ADDED
File without changes
|
themes/foundation/modules/flickity/flickity.css
ADDED
@@ -0,0 +1,130 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*! Flickity v2.0.2
|
2 |
+
http://flickity.metafizzy.co
|
3 |
+
---------------------------------------------- */
|
4 |
+
|
5 |
+
.flickity-enabled {
|
6 |
+
position: relative;
|
7 |
+
}
|
8 |
+
|
9 |
+
.flickity-enabled:focus { outline: none; }
|
10 |
+
|
11 |
+
.flickity-viewport {
|
12 |
+
overflow: hidden;
|
13 |
+
position: relative;
|
14 |
+
height: 100%;
|
15 |
+
}
|
16 |
+
|
17 |
+
.flickity-slider {
|
18 |
+
position: absolute;
|
19 |
+
width: 100%;
|
20 |
+
height: 100%;
|
21 |
+
}
|
22 |
+
|
23 |
+
/* draggable */
|
24 |
+
|
25 |
+
.flickity-enabled.is-draggable {
|
26 |
+
-webkit-tap-highlight-color: transparent;
|
27 |
+
tap-highlight-color: transparent;
|
28 |
+
-webkit-user-select: none;
|
29 |
+
-moz-user-select: none;
|
30 |
+
-ms-user-select: none;
|
31 |
+
user-select: none;
|
32 |
+
}
|
33 |
+
|
34 |
+
.flickity-enabled.is-draggable .flickity-viewport {
|
35 |
+
cursor: move;
|
36 |
+
cursor: -webkit-grab;
|
37 |
+
cursor: grab;
|
38 |
+
}
|
39 |
+
|
40 |
+
.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {
|
41 |
+
cursor: -webkit-grabbing;
|
42 |
+
cursor: grabbing;
|
43 |
+
}
|
44 |
+
|
45 |
+
/* ---- previous/next buttons ---- */
|
46 |
+
|
47 |
+
.flickity-prev-next-button {
|
48 |
+
position: absolute;
|
49 |
+
top: 50%;
|
50 |
+
width: 44px;
|
51 |
+
height: 44px;
|
52 |
+
border: none;
|
53 |
+
border-radius: 50%;
|
54 |
+
background: white;
|
55 |
+
background: hsla(0, 0%, 100%, 0.75);
|
56 |
+
cursor: pointer;
|
57 |
+
/* vertically center */
|
58 |
+
-webkit-transform: translateY(-50%);
|
59 |
+
transform: translateY(-50%);
|
60 |
+
}
|
61 |
+
|
62 |
+
.flickity-prev-next-button:hover { background: white; }
|
63 |
+
|
64 |
+
.flickity-prev-next-button:focus {
|
65 |
+
outline: none;
|
66 |
+
box-shadow: 0 0 0 5px #09F;
|
67 |
+
}
|
68 |
+
|
69 |
+
.flickity-prev-next-button:active {
|
70 |
+
opacity: 0.6;
|
71 |
+
}
|
72 |
+
|
73 |
+
.flickity-prev-next-button.previous { left: 10px; }
|
74 |
+
.flickity-prev-next-button.next { right: 10px; }
|
75 |
+
/* right to left */
|
76 |
+
.flickity-rtl .flickity-prev-next-button.previous {
|
77 |
+
left: auto;
|
78 |
+
right: 10px;
|
79 |
+
}
|
80 |
+
.flickity-rtl .flickity-prev-next-button.next {
|
81 |
+
right: auto;
|
82 |
+
left: 10px;
|
83 |
+
}
|
84 |
+
|
85 |
+
.flickity-prev-next-button:disabled {
|
86 |
+
opacity: 0.3;
|
87 |
+
cursor: auto;
|
88 |
+
}
|
89 |
+
|
90 |
+
.flickity-prev-next-button svg {
|
91 |
+
position: absolute;
|
92 |
+
left: 20%;
|
93 |
+
top: 20%;
|
94 |
+
width: 60%;
|
95 |
+
height: 60%;
|
96 |
+
}
|
97 |
+
|
98 |
+
.flickity-prev-next-button .arrow {
|
99 |
+
fill: #333;
|
100 |
+
}
|
101 |
+
|
102 |
+
/* ---- page dots ---- */
|
103 |
+
|
104 |
+
.flickity-page-dots {
|
105 |
+
position: absolute;
|
106 |
+
width: 100%;
|
107 |
+
bottom: -25px;
|
108 |
+
padding: 0;
|
109 |
+
margin: 0;
|
110 |
+
list-style: none;
|
111 |
+
text-align: center;
|
112 |
+
line-height: 1;
|
113 |
+
}
|
114 |
+
|
115 |
+
.flickity-rtl .flickity-page-dots { direction: rtl; }
|
116 |
+
|
117 |
+
.flickity-page-dots .dot {
|
118 |
+
display: inline-block;
|
119 |
+
width: 10px;
|
120 |
+
height: 10px;
|
121 |
+
margin: 0 8px;
|
122 |
+
background: #333;
|
123 |
+
border-radius: 50%;
|
124 |
+
opacity: 0.25;
|
125 |
+
cursor: pointer;
|
126 |
+
}
|
127 |
+
|
128 |
+
.flickity-page-dots .dot.is-selected {
|
129 |
+
opacity: 1;
|
130 |
+
}
|
themes/foundation/modules/flickity/flickity.min.css
ADDED
@@ -0,0 +1,4 @@
|
|
|
|
|
|
|
|
|
1 |
+
/*! Flickity v2.0.2
|
2 |
+
http://flickity.metafizzy.co
|
3 |
+
---------------------------------------------- */
|
4 |
+
.flickity-enabled{position:relative}.flickity-enabled:focus{outline:0}.flickity-viewport{overflow:hidden;position:relative;height:100%}.flickity-slider{position:absolute;width:100%;height:100%}.flickity-enabled.is-draggable{-webkit-tap-highlight-color:transparent;tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.flickity-enabled.is-draggable .flickity-viewport{cursor:move;cursor:-webkit-grab;cursor:grab}.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down{cursor:-webkit-grabbing;cursor:grabbing}.flickity-prev-next-button{position:absolute;top:50%;width:44px;height:44px;border:none;border-radius:50%;background:#fff;background:hsla(0,0%,100%,.75);cursor:pointer;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.flickity-prev-next-button:hover{background:#fff}.flickity-prev-next-button:focus{outline:0;box-shadow:0 0 0 5px #09F}.flickity-prev-next-button:active{opacity:.6}.flickity-prev-next-button.previous{left:10px}.flickity-prev-next-button.next{right:10px}.flickity-rtl .flickity-prev-next-button.previous{left:auto;right:10px}.flickity-rtl .flickity-prev-next-button.next{right:auto;left:10px}.flickity-prev-next-button:disabled{opacity:.3;cursor:auto}.flickity-prev-next-button svg{position:absolute;left:20%;top:20%;width:60%;height:60%}.flickity-prev-next-button .arrow{fill:#333}.flickity-page-dots{position:absolute;width:100%;bottom:-25px;padding:0;margin:0;list-style:none;text-align:center;line-height:1}.flickity-rtl .flickity-page-dots{direction:rtl}.flickity-page-dots .dot{display:inline-block;width:10px;height:10px;margin:0 8px;background:#333;border-radius:50%;opacity:.25;cursor:pointer}.flickity-page-dots .dot.is-selected{opacity:1}
|
themes/foundation/modules/flickity/flickity.php
ADDED
@@ -0,0 +1,31 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
add_action( 'foundation_module_init_mobile', 'foundation_flickity_init' );
|
4 |
+
|
5 |
+
function foundation_flickity_init() {
|
6 |
+
|
7 |
+
wp_enqueue_style(
|
8 |
+
'foundation_flickity_css',
|
9 |
+
foundation_get_base_module_url() . '/flickity/flickity.min.css',
|
10 |
+
'',
|
11 |
+
md5( FOUNDATION_VERSION ),
|
12 |
+
'screen'
|
13 |
+
);
|
14 |
+
|
15 |
+
wp_enqueue_script(
|
16 |
+
'foundation_flickity',
|
17 |
+
foundation_get_base_module_url() . '/flickity/flickity.pkgd.min.js',
|
18 |
+
array( 'jquery' ),
|
19 |
+
md5( FOUNDATION_VERSION ),
|
20 |
+
true
|
21 |
+
);
|
22 |
+
|
23 |
+
wp_enqueue_script(
|
24 |
+
'foundation_flickity_wptouch',
|
25 |
+
foundation_get_base_module_url() . '/flickity/flickity-wptouch.js',
|
26 |
+
array( 'foundation_flickity' ),
|
27 |
+
md5( FOUNDATION_VERSION ),
|
28 |
+
true
|
29 |
+
);
|
30 |
+
|
31 |
+
}
|
themes/foundation/modules/flickity/flickity.pkgd.js
ADDED
@@ -0,0 +1,4625 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*!
|
2 |
+
* Flickity PACKAGED v2.0.2
|
3 |
+
* Touch, responsive, flickable carousels
|
4 |
+
*
|
5 |
+
* Licensed GPLv3 for open source use
|
6 |
+
* or Flickity Commercial License for commercial use
|
7 |
+
*
|
8 |
+
* http://flickity.metafizzy.co
|
9 |
+
* Copyright 2016 Metafizzy
|
10 |
+
*/
|
11 |
+
|
12 |
+
/**
|
13 |
+
* Bridget makes jQuery widgets
|
14 |
+
* v2.0.0
|
15 |
+
* MIT license
|
16 |
+
*/
|
17 |
+
|
18 |
+
/* jshint browser: true, strict: true, undef: true, unused: true */
|
19 |
+
|
20 |
+
( function( window, factory ) {
|
21 |
+
'use strict';
|
22 |
+
/* globals define: false, module: false, require: false */
|
23 |
+
|
24 |
+
if ( typeof define == 'function' && define.amd ) {
|
25 |
+
// AMD
|
26 |
+
define( 'jquery-bridget/jquery-bridget',[ 'jquery' ], function( jQuery ) {
|
27 |
+
factory( window, jQuery );
|
28 |
+
});
|
29 |
+
} else if ( typeof module == 'object' && module.exports ) {
|
30 |
+
// CommonJS
|
31 |
+
module.exports = factory(
|
32 |
+
window,
|
33 |
+
require('jquery')
|
34 |
+
);
|
35 |
+
} else {
|
36 |
+
// browser global
|
37 |
+
window.jQueryBridget = factory(
|
38 |
+
window,
|
39 |
+
window.jQuery
|
40 |
+
);
|
41 |
+
}
|
42 |
+
|
43 |
+
}( window, function factory( window, jQuery ) {
|
44 |
+
'use strict';
|
45 |
+
|
46 |
+
// ----- utils ----- //
|
47 |
+
|
48 |
+
var arraySlice = Array.prototype.slice;
|
49 |
+
|
50 |
+
// helper function for logging errors
|
51 |
+
// $.error breaks jQuery chaining
|
52 |
+
var console = window.console;
|
53 |
+
var logError = typeof console == 'undefined' ? function() {} :
|
54 |
+
function( message ) {
|
55 |
+
console.error( message );
|
56 |
+
};
|
57 |
+
|
58 |
+
// ----- jQueryBridget ----- //
|
59 |
+
|
60 |
+
function jQueryBridget( namespace, PluginClass, $ ) {
|
61 |
+
$ = $ || jQuery || window.jQuery;
|
62 |
+
if ( !$ ) {
|
63 |
+
return;
|
64 |
+
}
|
65 |
+
|
66 |
+
// add option method -> $().plugin('option', {...})
|
67 |
+
if ( !PluginClass.prototype.option ) {
|
68 |
+
// option setter
|
69 |
+
PluginClass.prototype.option = function( opts ) {
|
70 |
+
// bail out if not an object
|
71 |
+
if ( !$.isPlainObject( opts ) ){
|
72 |
+
return;
|
73 |
+
}
|
74 |
+
this.options = $.extend( true, this.options, opts );
|
75 |
+
};
|
76 |
+
}
|
77 |
+
|
78 |
+
// make jQuery plugin
|
79 |
+
$.fn[ namespace ] = function( arg0 /*, arg1 */ ) {
|
80 |
+
if ( typeof arg0 == 'string' ) {
|
81 |
+
// method call $().plugin( 'methodName', { options } )
|
82 |
+
// shift arguments by 1
|
83 |
+
var args = arraySlice.call( arguments, 1 );
|
84 |
+
return methodCall( this, arg0, args );
|
85 |
+
}
|
86 |
+
// just $().plugin({ options })
|
87 |
+
plainCall( this, arg0 );
|
88 |
+
return this;
|
89 |
+
};
|
90 |
+
|
91 |
+
// $().plugin('methodName')
|
92 |
+
function methodCall( $elems, methodName, args ) {
|
93 |
+
var returnValue;
|
94 |
+
var pluginMethodStr = '$().' + namespace + '("' + methodName + '")';
|
95 |
+
|
96 |
+
$elems.each( function( i, elem ) {
|
97 |
+
// get instance
|
98 |
+
var instance = $.data( elem, namespace );
|
99 |
+
if ( !instance ) {
|
100 |
+
logError( namespace + ' not initialized. Cannot call methods, i.e. ' +
|
101 |
+
pluginMethodStr );
|
102 |
+
return;
|
103 |
+
}
|
104 |
+
|
105 |
+
var method = instance[ methodName ];
|
106 |
+
if ( !method || methodName.charAt(0) == '_' ) {
|
107 |
+
logError( pluginMethodStr + ' is not a valid method' );
|
108 |
+
return;
|
109 |
+
}
|
110 |
+
|
111 |
+
// apply method, get return value
|
112 |
+
var value = method.apply( instance, args );
|
113 |
+
// set return value if value is returned, use only first value
|
114 |
+
returnValue = returnValue === undefined ? value : returnValue;
|
115 |
+
});
|
116 |
+
|
117 |
+
return returnValue !== undefined ? returnValue : $elems;
|
118 |
+
}
|
119 |
+
|
120 |
+
function plainCall( $elems, options ) {
|
121 |
+
$elems.each( function( i, elem ) {
|
122 |
+
var instance = $.data( elem, namespace );
|
123 |
+
if ( instance ) {
|
124 |
+
// set options & init
|
125 |
+
instance.option( options );
|
126 |
+
instance._init();
|
127 |
+
} else {
|
128 |
+
// initialize new instance
|
129 |
+
instance = new PluginClass( elem, options );
|
130 |
+
$.data( elem, namespace, instance );
|
131 |
+
}
|
132 |
+
});
|
133 |
+
}
|
134 |
+
|
135 |
+
updateJQuery( $ );
|
136 |
+
|
137 |
+
}
|
138 |
+
|
139 |
+
// ----- updateJQuery ----- //
|
140 |
+
|
141 |
+
// set $.bridget for v1 backwards compatibility
|
142 |
+
function updateJQuery( $ ) {
|
143 |
+
if ( !$ || ( $ && $.bridget ) ) {
|
144 |
+
return;
|
145 |
+
}
|
146 |
+
$.bridget = jQueryBridget;
|
147 |
+
}
|
148 |
+
|
149 |
+
updateJQuery( jQuery || window.jQuery );
|
150 |
+
|
151 |
+
// ----- ----- //
|
152 |
+
|
153 |
+
return jQueryBridget;
|
154 |
+
|
155 |
+
}));
|
156 |
+
|
157 |
+
/**
|
158 |
+
* EvEmitter v1.0.3
|
159 |
+
* Lil' event emitter
|
160 |
+
* MIT License
|
161 |
+
*/
|
162 |
+
|
163 |
+
/* jshint unused: true, undef: true, strict: true */
|
164 |
+
|
165 |
+
( function( global, factory ) {
|
166 |
+
// universal module definition
|
167 |
+
/* jshint strict: false */ /* globals define, module, window */
|
168 |
+
if ( typeof define == 'function' && define.amd ) {
|
169 |
+
// AMD - RequireJS
|
170 |
+
define( 'ev-emitter/ev-emitter',factory );
|
171 |
+
} else if ( typeof module == 'object' && module.exports ) {
|
172 |
+
// CommonJS - Browserify, Webpack
|
173 |
+
module.exports = factory();
|
174 |
+
} else {
|
175 |
+
// Browser globals
|
176 |
+
global.EvEmitter = factory();
|
177 |
+
}
|
178 |
+
|
179 |
+
}( typeof window != 'undefined' ? window : this, function() {
|
180 |
+
|
181 |
+
|
182 |
+
|
183 |
+
function EvEmitter() {}
|
184 |
+
|
185 |
+
var proto = EvEmitter.prototype;
|
186 |
+
|
187 |
+
proto.on = function( eventName, listener ) {
|
188 |
+
if ( !eventName || !listener ) {
|
189 |
+
return;
|
190 |
+
}
|
191 |
+
// set events hash
|
192 |
+
var events = this._events = this._events || {};
|
193 |
+
// set listeners array
|
194 |
+
var listeners = events[ eventName ] = events[ eventName ] || [];
|
195 |
+
// only add once
|
196 |
+
if ( listeners.indexOf( listener ) == -1 ) {
|
197 |
+
listeners.push( listener );
|
198 |
+
}
|
199 |
+
|
200 |
+
return this;
|
201 |
+
};
|
202 |
+
|
203 |
+
proto.once = function( eventName, listener ) {
|
204 |
+
if ( !eventName || !listener ) {
|
205 |
+
return;
|
206 |
+
}
|
207 |
+
// add event
|
208 |
+
this.on( eventName, listener );
|
209 |
+
// set once flag
|
210 |
+
// set onceEvents hash
|
211 |
+
var onceEvents = this._onceEvents = this._onceEvents || {};
|
212 |
+
// set onceListeners object
|
213 |
+
var onceListeners = onceEvents[ eventName ] = onceEvents[ eventName ] || {};
|
214 |
+
// set flag
|
215 |
+
onceListeners[ listener ] = true;
|
216 |
+
|
217 |
+
return this;
|
218 |
+
};
|
219 |
+
|
220 |
+
proto.off = function( eventName, listener ) {
|
221 |
+
var listeners = this._events && this._events[ eventName ];
|
222 |
+
if ( !listeners || !listeners.length ) {
|
223 |
+
return;
|
224 |
+
}
|
225 |
+
var index = listeners.indexOf( listener );
|
226 |
+
if ( index != -1 ) {
|
227 |
+
listeners.splice( index, 1 );
|
228 |
+
}
|
229 |
+
|
230 |
+
return this;
|
231 |
+
};
|
232 |
+
|
233 |
+
proto.emitEvent = function( eventName, args ) {
|
234 |
+
var listeners = this._events && this._events[ eventName ];
|
235 |
+
if ( !listeners || !listeners.length ) {
|
236 |
+
return;
|
237 |
+
}
|
238 |
+
var i = 0;
|
239 |
+
var listener = listeners[i];
|
240 |
+
args = args || [];
|
241 |
+
// once stuff
|
242 |
+
var onceListeners = this._onceEvents && this._onceEvents[ eventName ];
|
243 |
+
|
244 |
+
while ( listener ) {
|
245 |
+
var isOnce = onceListeners && onceListeners[ listener ];
|
246 |
+
if ( isOnce ) {
|
247 |
+
// remove listener
|
248 |
+
// remove before trigger to prevent recursion
|
249 |
+
this.off( eventName, listener );
|
250 |
+
// unset once flag
|
251 |
+
delete onceListeners[ listener ];
|
252 |
+
}
|
253 |
+
// trigger listener
|
254 |
+
listener.apply( this, args );
|
255 |
+
// get next listener
|
256 |
+
i += isOnce ? 0 : 1;
|
257 |
+
listener = listeners[i];
|
258 |
+
}
|
259 |
+
|
260 |
+
return this;
|
261 |
+
};
|
262 |
+
|
263 |
+
return EvEmitter;
|
264 |
+
|
265 |
+
}));
|
266 |
+
|
267 |
+
/*!
|
268 |
+
* getSize v2.0.2
|
269 |
+
* measure size of elements
|
270 |
+
* MIT license
|
271 |
+
*/
|
272 |
+
|
273 |
+
/*jshint browser: true, strict: true, undef: true, unused: true */
|
274 |
+
/*global define: false, module: false, console: false */
|
275 |
+
|
276 |
+
( function( window, factory ) {
|
277 |
+
'use strict';
|
278 |
+
|
279 |
+
if ( typeof define == 'function' && define.amd ) {
|
280 |
+
// AMD
|
281 |
+
define( 'get-size/get-size',[],function() {
|
282 |
+
return factory();
|
283 |
+
});
|
284 |
+
} else if ( typeof module == 'object' && module.exports ) {
|
285 |
+
// CommonJS
|
286 |
+
module.exports = factory();
|
287 |
+
} else {
|
288 |
+
// browser global
|
289 |
+
window.getSize = factory();
|
290 |
+
}
|
291 |
+
|
292 |
+
})( window, function factory() {
|
293 |
+
'use strict';
|
294 |
+
|
295 |
+
// -------------------------- helpers -------------------------- //
|
296 |
+
|
297 |
+
// get a number from a string, not a percentage
|
298 |
+
function getStyleSize( value ) {
|
299 |
+
var num = parseFloat( value );
|
300 |
+
// not a percent like '100%', and a number
|
301 |
+
var isValid = value.indexOf('%') == -1 && !isNaN( num );
|
302 |
+
return isValid && num;
|
303 |
+
}
|
304 |
+
|
305 |
+
function noop() {}
|
306 |
+
|
307 |
+
var logError = typeof console == 'undefined' ? noop :
|
308 |
+
function( message ) {
|
309 |
+
console.error( message );
|
310 |
+
};
|
311 |
+
|
312 |
+
// -------------------------- measurements -------------------------- //
|
313 |
+
|
314 |
+
var measurements = [
|
315 |
+
'paddingLeft',
|
316 |
+
'paddingRight',
|
317 |
+
'paddingTop',
|
318 |
+
'paddingBottom',
|
319 |
+
'marginLeft',
|
320 |
+
'marginRight',
|
321 |
+
'marginTop',
|
322 |
+
'marginBottom',
|
323 |
+
'borderLeftWidth',
|
324 |
+
'borderRightWidth',
|
325 |
+
'borderTopWidth',
|
326 |
+
'borderBottomWidth'
|
327 |
+
];
|
328 |
+
|
329 |
+
var measurementsLength = measurements.length;
|
330 |
+
|
331 |
+
function getZeroSize() {
|
332 |
+
var size = {
|
333 |
+
width: 0,
|
334 |
+
height: 0,
|
335 |
+
innerWidth: 0,
|
336 |
+
innerHeight: 0,
|
337 |
+
outerWidth: 0,
|
338 |
+
outerHeight: 0
|
339 |
+
};
|
340 |
+
for ( var i=0; i < measurementsLength; i++ ) {
|
341 |
+
var measurement = measurements[i];
|
342 |
+
size[ measurement ] = 0;
|
343 |
+
}
|
344 |
+
return size;
|
345 |
+
}
|
346 |
+
|
347 |
+
// -------------------------- getStyle -------------------------- //
|
348 |
+
|
349 |
+
/**
|
350 |
+
* getStyle, get style of element, check for Firefox bug
|
351 |
+
* https://bugzilla.mozilla.org/show_bug.cgi?id=548397
|
352 |
+
*/
|
353 |
+
function getStyle( elem ) {
|
354 |
+
var style = getComputedStyle( elem );
|
355 |
+
if ( !style ) {
|
356 |
+
logError( 'Style returned ' + style +
|
357 |
+
'. Are you running this code in a hidden iframe on Firefox? ' +
|
358 |
+
'See http://bit.ly/getsizebug1' );
|
359 |
+
}
|
360 |
+
return style;
|
361 |
+
}
|
362 |
+
|
363 |
+
// -------------------------- setup -------------------------- //
|
364 |
+
|
365 |
+
var isSetup = false;
|
366 |
+
|
367 |
+
var isBoxSizeOuter;
|
368 |
+
|
369 |
+
/**
|
370 |
+
* setup
|
371 |
+
* check isBoxSizerOuter
|
372 |
+
* do on first getSize() rather than on page load for Firefox bug
|
373 |
+
*/
|
374 |
+
function setup() {
|
375 |
+
// setup once
|
376 |
+
if ( isSetup ) {
|
377 |
+
return;
|
378 |
+
}
|
379 |
+
isSetup = true;
|
380 |
+
|
381 |
+
// -------------------------- box sizing -------------------------- //
|
382 |
+
|
383 |
+
/**
|
384 |
+
* WebKit measures the outer-width on style.width on border-box elems
|
385 |
+
* IE & Firefox<29 measures the inner-width
|
386 |
+
*/
|
387 |
+
var div = document.createElement('div');
|
388 |
+
div.style.width = '200px';
|
389 |
+
div.style.padding = '1px 2px 3px 4px';
|
390 |
+
div.style.borderStyle = 'solid';
|
391 |
+
div.style.borderWidth = '1px 2px 3px 4px';
|
392 |
+
div.style.boxSizing = 'border-box';
|
393 |
+
|
394 |
+
var body = document.body || document.documentElement;
|
395 |
+
body.appendChild( div );
|
396 |
+
var style = getStyle( div );
|
397 |
+
|
398 |
+
getSize.isBoxSizeOuter = isBoxSizeOuter = getStyleSize( style.width ) == 200;
|
399 |
+
body.removeChild( div );
|
400 |
+
|
401 |
+
}
|
402 |
+
|
403 |
+
// -------------------------- getSize -------------------------- //
|
404 |
+
|
405 |
+
function getSize( elem ) {
|
406 |
+
setup();
|
407 |
+
|
408 |
+
// use querySeletor if elem is string
|
409 |
+
if ( typeof elem == 'string' ) {
|
410 |
+
elem = document.querySelector( elem );
|
411 |
+
}
|
412 |
+
|
413 |
+
// do not proceed on non-objects
|
414 |
+
if ( !elem || typeof elem != 'object' || !elem.nodeType ) {
|
415 |
+
return;
|
416 |
+
}
|
417 |
+
|
418 |
+
var style = getStyle( elem );
|
419 |
+
|
420 |
+
// if hidden, everything is 0
|
421 |
+
if ( style.display == 'none' ) {
|
422 |
+
return getZeroSize();
|
423 |
+
}
|
424 |
+
|
425 |
+
var size = {};
|
426 |
+
size.width = elem.offsetWidth;
|
427 |
+
size.height = elem.offsetHeight;
|
428 |
+
|
429 |
+
var isBorderBox = size.isBorderBox = style.boxSizing == 'border-box';
|
430 |
+
|
431 |
+
// get all measurements
|
432 |
+
for ( var i=0; i < measurementsLength; i++ ) {
|
433 |
+
var measurement = measurements[i];
|
434 |
+
var value = style[ measurement ];
|
435 |
+
var num = parseFloat( value );
|
436 |
+
// any 'auto', 'medium' value will be 0
|
437 |
+
size[ measurement ] = !isNaN( num ) ? num : 0;
|
438 |
+
}
|
439 |
+
|
440 |
+
var paddingWidth = size.paddingLeft + size.paddingRight;
|
441 |
+
var paddingHeight = size.paddingTop + size.paddingBottom;
|
442 |
+
var marginWidth = size.marginLeft + size.marginRight;
|
443 |
+
var marginHeight = size.marginTop + size.marginBottom;
|
444 |
+
var borderWidth = size.borderLeftWidth + size.borderRightWidth;
|
445 |
+
var borderHeight = size.borderTopWidth + size.borderBottomWidth;
|
446 |
+
|
447 |
+
var isBorderBoxSizeOuter = isBorderBox && isBoxSizeOuter;
|
448 |
+
|
449 |
+
// overwrite width and height if we can get it from style
|
450 |
+
var styleWidth = getStyleSize( style.width );
|
451 |
+
if ( styleWidth !== false ) {
|
452 |
+
size.width = styleWidth +
|
453 |
+
// add padding and border unless it's already including it
|
454 |
+
( isBorderBoxSizeOuter ? 0 : paddingWidth + borderWidth );
|
455 |
+
}
|
456 |
+
|
457 |
+
var styleHeight = getStyleSize( style.height );
|
458 |
+
if ( styleHeight !== false ) {
|
459 |
+
size.height = styleHeight +
|
460 |
+
// add padding and border unless it's already including it
|
461 |
+
( isBorderBoxSizeOuter ? 0 : paddingHeight + borderHeight );
|
462 |
+
}
|
463 |
+
|
464 |
+
size.innerWidth = size.width - ( paddingWidth + borderWidth );
|
465 |
+
size.innerHeight = size.height - ( paddingHeight + borderHeight );
|
466 |
+
|
467 |
+
size.outerWidth = size.width + marginWidth;
|
468 |
+
size.outerHeight = size.height + marginHeight;
|
469 |
+
|
470 |
+
return size;
|
471 |
+
}
|
472 |
+
|
473 |
+
return getSize;
|
474 |
+
|
475 |
+
});
|
476 |
+
|
477 |
+
/**
|
478 |
+
* matchesSelector v2.0.1
|
479 |
+
* matchesSelector( element, '.selector' )
|
480 |
+
* MIT license
|
481 |
+
*/
|
482 |
+
|
483 |
+
/*jshint browser: true, strict: true, undef: true, unused: true */
|
484 |
+
|
485 |
+
( function( window, factory ) {
|
486 |
+
/*global define: false, module: false */
|
487 |
+
'use strict';
|
488 |
+
// universal module definition
|
489 |
+
if ( typeof define == 'function' && define.amd ) {
|
490 |
+
// AMD
|
491 |
+
define( 'desandro-matches-selector/matches-selector',factory );
|
492 |
+
} else if ( typeof module == 'object' && module.exports ) {
|
493 |
+
// CommonJS
|
494 |
+
module.exports = factory();
|
495 |
+
} else {
|
496 |
+
// browser global
|
497 |
+
window.matchesSelector = factory();
|
498 |
+
}
|
499 |
+
|
500 |
+
}( window, function factory() {
|
501 |
+
'use strict';
|
502 |
+
|
503 |
+
var matchesMethod = ( function() {
|
504 |
+
var ElemProto = Element.prototype;
|
505 |
+
// check for the standard method name first
|
506 |
+
if ( ElemProto.matches ) {
|
507 |
+
return 'matches';
|
508 |
+
}
|
509 |
+
// check un-prefixed
|
510 |
+
if ( ElemProto.matchesSelector ) {
|
511 |
+
return 'matchesSelector';
|
512 |
+
}
|
513 |
+
// check vendor prefixes
|
514 |
+
var prefixes = [ 'webkit', 'moz', 'ms', 'o' ];
|
515 |
+
|
516 |
+
for ( var i=0; i < prefixes.length; i++ ) {
|
517 |
+
var prefix = prefixes[i];
|
518 |
+
var method = prefix + 'MatchesSelector';
|
519 |
+
if ( ElemProto[ method ] ) {
|
520 |
+
return method;
|
521 |
+
}
|
522 |
+
}
|
523 |
+
})();
|
524 |
+
|
525 |
+
return function matchesSelector( elem, selector ) {
|
526 |
+
return elem[ matchesMethod ]( selector );
|
527 |
+
};
|
528 |
+
|
529 |
+
}));
|
530 |
+
|
531 |
+
/**
|
532 |
+
* Fizzy UI utils v2.0.2
|
533 |
+
* MIT license
|
534 |
+
*/
|
535 |
+
|
536 |
+
/*jshint browser: true, undef: true, unused: true, strict: true */
|
537 |
+
|
538 |
+
( function( window, factory ) {
|
539 |
+
// universal module definition
|
540 |
+
/*jshint strict: false */ /*globals define, module, require */
|
541 |
+
|
542 |
+
if ( typeof define == 'function' && define.amd ) {
|
543 |
+
// AMD
|
544 |
+
define( 'fizzy-ui-utils/utils',[
|
545 |
+
'desandro-matches-selector/matches-selector'
|
546 |
+
], function( matchesSelector ) {
|
547 |
+
return factory( window, matchesSelector );
|
548 |
+
});
|
549 |
+
} else if ( typeof module == 'object' && module.exports ) {
|
550 |
+
// CommonJS
|
551 |
+
module.exports = factory(
|
552 |
+
window,
|
553 |
+
require('desandro-matches-selector')
|
554 |
+
);
|
555 |
+
} else {
|
556 |
+
// browser global
|
557 |
+
window.fizzyUIUtils = factory(
|
558 |
+
window,
|
559 |
+
window.matchesSelector
|
560 |
+
);
|
561 |
+
}
|
562 |
+
|
563 |
+
}( window, function factory( window, matchesSelector ) {
|
564 |
+
|
565 |
+
|
566 |
+
|
567 |
+
var utils = {};
|
568 |
+
|
569 |
+
// ----- extend ----- //
|
570 |
+
|
571 |
+
// extends objects
|
572 |
+
utils.extend = function( a, b ) {
|
573 |
+
for ( var prop in b ) {
|
574 |
+
a[ prop ] = b[ prop ];
|
575 |
+
}
|
576 |
+
return a;
|
577 |
+
};
|
578 |
+
|
579 |
+
// ----- modulo ----- //
|
580 |
+
|
581 |
+
utils.modulo = function( num, div ) {
|
582 |
+
return ( ( num % div ) + div ) % div;
|
583 |
+
};
|
584 |
+
|
585 |
+
// ----- makeArray ----- //
|
586 |
+
|
587 |
+
// turn element or nodeList into an array
|
588 |
+
utils.makeArray = function( obj ) {
|
589 |
+
var ary = [];
|
590 |
+
if ( Array.isArray( obj ) ) {
|
591 |
+
// use object if already an array
|
592 |
+
ary = obj;
|
593 |
+
} else if ( obj && typeof obj.length == 'number' ) {
|
594 |
+
// convert nodeList to array
|
595 |
+
for ( var i=0; i < obj.length; i++ ) {
|
596 |
+
ary.push( obj[i] );
|
597 |
+
}
|
598 |
+
} else {
|
599 |
+
// array of single index
|
600 |
+
ary.push( obj );
|
601 |
+
}
|
602 |
+
return ary;
|
603 |
+
};
|
604 |
+
|
605 |
+
// ----- removeFrom ----- //
|
606 |
+
|
607 |
+
utils.removeFrom = function( ary, obj ) {
|
608 |
+
var index = ary.indexOf( obj );
|
609 |
+
if ( index != -1 ) {
|
610 |
+
ary.splice( index, 1 );
|
611 |
+
}
|
612 |
+
};
|
613 |
+
|
614 |
+
// ----- getParent ----- //
|
615 |
+
|
616 |
+
utils.getParent = function( elem, selector ) {
|
617 |
+
while ( elem != document.body ) {
|
618 |
+
elem = elem.parentNode;
|
619 |
+
if ( matchesSelector( elem, selector ) ) {
|
620 |
+
return elem;
|
621 |
+
}
|
622 |
+
}
|
623 |
+
};
|
624 |
+
|
625 |
+
// ----- getQueryElement ----- //
|
626 |
+
|
627 |
+
// use element as selector string
|
628 |
+
utils.getQueryElement = function( elem ) {
|
629 |
+
if ( typeof elem == 'string' ) {
|
630 |
+
return document.querySelector( elem );
|
631 |
+
}
|
632 |
+
return elem;
|
633 |
+
};
|
634 |
+
|
635 |
+
// ----- handleEvent ----- //
|
636 |
+
|
637 |
+
// enable .ontype to trigger from .addEventListener( elem, 'type' )
|
638 |
+
utils.handleEvent = function( event ) {
|
639 |
+
var method = 'on' + event.type;
|
640 |
+
if ( this[ method ] ) {
|
641 |
+
this[ method ]( event );
|
642 |
+
}
|
643 |
+
};
|
644 |
+
|
645 |
+
// ----- filterFindElements ----- //
|
646 |
+
|
647 |
+
utils.filterFindElements = function( elems, selector ) {
|
648 |
+
// make array of elems
|
649 |
+
elems = utils.makeArray( elems );
|
650 |
+
var ffElems = [];
|
651 |
+
|
652 |
+
elems.forEach( function( elem ) {
|
653 |
+
// check that elem is an actual element
|
654 |
+
if ( !( elem instanceof HTMLElement ) ) {
|
655 |
+
return;
|
656 |
+
}
|
657 |
+
// add elem if no selector
|
658 |
+
if ( !selector ) {
|
659 |
+
ffElems.push( elem );
|
660 |
+
return;
|
661 |
+
}
|
662 |
+
// filter & find items if we have a selector
|
663 |
+
// filter
|
664 |
+
if ( matchesSelector( elem, selector ) ) {
|
665 |
+
ffElems.push( elem );
|
666 |
+
}
|
667 |
+
// find children
|
668 |
+
var childElems = elem.querySelectorAll( selector );
|
669 |
+
// concat childElems to filterFound array
|
670 |
+
for ( var i=0; i < childElems.length; i++ ) {
|
671 |
+
ffElems.push( childElems[i] );
|
672 |
+
}
|
673 |
+
});
|
674 |
+
|
675 |
+
return ffElems;
|
676 |
+
};
|
677 |
+
|
678 |
+
// ----- debounceMethod ----- //
|
679 |
+
|
680 |
+
utils.debounceMethod = function( _class, methodName, threshold ) {
|
681 |
+
// original method
|
682 |
+
var method = _class.prototype[ methodName ];
|
683 |
+
var timeoutName = methodName + 'Timeout';
|
684 |
+
|
685 |
+
_class.prototype[ methodName ] = function() {
|
686 |
+
var timeout = this[ timeoutName ];
|
687 |
+
if ( timeout ) {
|
688 |
+
clearTimeout( timeout );
|
689 |
+
}
|
690 |
+
var args = arguments;
|
691 |
+
|
692 |
+
var _this = this;
|
693 |
+
this[ timeoutName ] = setTimeout( function() {
|
694 |
+
method.apply( _this, args );
|
695 |
+
delete _this[ timeoutName ];
|
696 |
+
}, threshold || 100 );
|
697 |
+
};
|
698 |
+
};
|
699 |
+
|
700 |
+
// ----- docReady ----- //
|
701 |
+
|
702 |
+
utils.docReady = function( callback ) {
|
703 |
+
var readyState = document.readyState;
|
704 |
+
if ( readyState == 'complete' || readyState == 'interactive' ) {
|
705 |
+
callback();
|
706 |
+
} else {
|
707 |
+
document.addEventListener( 'DOMContentLoaded', callback );
|
708 |
+
}
|
709 |
+
};
|
710 |
+
|
711 |
+
// ----- htmlInit ----- //
|
712 |
+
|
713 |
+
// http://jamesroberts.name/blog/2010/02/22/string-functions-for-javascript-trim-to-camel-case-to-dashed-and-to-underscore/
|
714 |
+
utils.toDashed = function( str ) {
|
715 |
+
return str.replace( /(.)([A-Z])/g, function( match, $1, $2 ) {
|
716 |
+
return $1 + '-' + $2;
|
717 |
+
}).toLowerCase();
|
718 |
+
};
|
719 |
+
|
720 |
+
var console = window.console;
|
721 |
+
/**
|
722 |
+
* allow user to initialize classes via [data-namespace] or .js-namespace class
|
723 |
+
* htmlInit( Widget, 'widgetName' )
|
724 |
+
* options are parsed from data-namespace-options
|
725 |
+
*/
|
726 |
+
utils.htmlInit = function( WidgetClass, namespace ) {
|
727 |
+
utils.docReady( function() {
|
728 |
+
var dashedNamespace = utils.toDashed( namespace );
|
729 |
+
var dataAttr = 'data-' + dashedNamespace;
|
730 |
+
var dataAttrElems = document.querySelectorAll( '[' + dataAttr + ']' );
|
731 |
+
var jsDashElems = document.querySelectorAll( '.js-' + dashedNamespace );
|
732 |
+
var elems = utils.makeArray( dataAttrElems )
|
733 |
+
.concat( utils.makeArray( jsDashElems ) );
|
734 |
+
var dataOptionsAttr = dataAttr + '-options';
|
735 |
+
var jQuery = window.jQuery;
|
736 |
+
|
737 |
+
elems.forEach( function( elem ) {
|
738 |
+
var attr = elem.getAttribute( dataAttr ) ||
|
739 |
+
elem.getAttribute( dataOptionsAttr );
|
740 |
+
var options;
|
741 |
+
try {
|
742 |
+
options = attr && JSON.parse( attr );
|
743 |
+
} catch ( error ) {
|
744 |
+
// log error, do not initialize
|
745 |
+
if ( console ) {
|
746 |
+
console.error( 'Error parsing ' + dataAttr + ' on ' + elem.className +
|
747 |
+
': ' + error );
|
748 |
+
}
|
749 |
+
return;
|
750 |
+
}
|
751 |
+
// initialize
|
752 |
+
var instance = new WidgetClass( elem, options );
|
753 |
+
// make available via $().data('layoutname')
|
754 |
+
if ( jQuery ) {
|
755 |
+
jQuery.data( elem, namespace, instance );
|
756 |
+
}
|
757 |
+
});
|
758 |
+
|
759 |
+
});
|
760 |
+
};
|
761 |
+
|
762 |
+
// ----- ----- //
|
763 |
+
|
764 |
+
return utils;
|
765 |
+
|
766 |
+
}));
|
767 |
+
|
768 |
+
// Flickity.Cell
|
769 |
+
( function( window, factory ) {
|
770 |
+
// universal module definition
|
771 |
+
/* jshint strict: false */
|
772 |
+
if ( typeof define == 'function' && define.amd ) {
|
773 |
+
// AMD
|
774 |
+
define( 'flickity/js/cell',[
|
775 |
+
'get-size/get-size'
|
776 |
+
], function( getSize ) {
|
777 |
+
return factory( window, getSize );
|
778 |
+
});
|
779 |
+
} else if ( typeof module == 'object' && module.exports ) {
|
780 |
+
// CommonJS
|
781 |
+
module.exports = factory(
|
782 |
+
window,
|
783 |
+
require('get-size')
|
784 |
+
);
|
785 |
+
} else {
|
786 |
+
// browser global
|
787 |
+
window.Flickity = window.Flickity || {};
|
788 |
+
window.Flickity.Cell = factory(
|
789 |
+
window,
|
790 |
+
window.getSize
|
791 |
+
);
|
792 |
+
}
|
793 |
+
|
794 |
+
}( window, function factory( window, getSize ) {
|
795 |
+
|
796 |
+
|
797 |
+
|
798 |
+
function Cell( elem, parent ) {
|
799 |
+
this.element = elem;
|
800 |
+
this.parent = parent;
|
801 |
+
|
802 |
+
this.create();
|
803 |
+
}
|
804 |
+
|
805 |
+
var proto = Cell.prototype;
|
806 |
+
|
807 |
+
proto.create = function() {
|
808 |
+
this.element.style.position = 'absolute';
|
809 |
+
this.x = 0;
|
810 |
+
this.shift = 0;
|
811 |
+
};
|
812 |
+
|
813 |
+
proto.destroy = function() {
|
814 |
+
// reset style
|
815 |
+
this.element.style.position = '';
|
816 |
+
var side = this.parent.originSide;
|
817 |
+
this.element.style[ side ] = '';
|
818 |
+
};
|
819 |
+
|
820 |
+
proto.getSize = function() {
|
821 |
+
this.size = getSize( this.element );
|
822 |
+
};
|
823 |
+
|
824 |
+
proto.setPosition = function( x ) {
|
825 |
+
this.x = x;
|
826 |
+
this.updateTarget();
|
827 |
+
this.renderPosition( x );
|
828 |
+
};
|
829 |
+
|
830 |
+
// setDefaultTarget v1 method, backwards compatibility, remove in v3
|
831 |
+
proto.updateTarget = proto.setDefaultTarget = function() {
|
832 |
+
var marginProperty = this.parent.originSide == 'left' ? 'marginLeft' : 'marginRight';
|
833 |
+
this.target = this.x + this.size[ marginProperty ] +
|
834 |
+
this.size.width * this.parent.cellAlign;
|
835 |
+
};
|
836 |
+
|
837 |
+
proto.renderPosition = function( x ) {
|
838 |
+
// render position of cell with in slider
|
839 |
+
var side = this.parent.originSide;
|
840 |
+
this.element.style[ side ] = this.parent.getPositionValue( x );
|
841 |
+
};
|
842 |
+
|
843 |
+
/**
|
844 |
+
* @param {Integer} factor - 0, 1, or -1
|
845 |
+
**/
|
846 |
+
proto.wrapShift = function( shift ) {
|
847 |
+
this.shift = shift;
|
848 |
+
this.renderPosition( this.x + this.parent.slideableWidth * shift );
|
849 |
+
};
|
850 |
+
|
851 |
+
proto.remove = function() {
|
852 |
+
this.element.parentNode.removeChild( this.element );
|
853 |
+
};
|
854 |
+
|
855 |
+
return Cell;
|
856 |
+
|
857 |
+
}));
|
858 |
+
|
859 |
+
// slide
|
860 |
+
( function( window, factory ) {
|
861 |
+
// universal module definition
|
862 |
+
/* jshint strict: false */
|
863 |
+
if ( typeof define == 'function' && define.amd ) {
|
864 |
+
// AMD
|
865 |
+
define( 'flickity/js/slide',factory );
|
866 |
+
} else if ( typeof module == 'object' && module.exports ) {
|
867 |
+
// CommonJS
|
868 |
+
module.exports = factory();
|
869 |
+
} else {
|
870 |
+
// browser global
|
871 |
+
window.Flickity = window.Flickity || {};
|
872 |
+
window.Flickity.Slide = factory();
|
873 |
+
}
|
874 |
+
|
875 |
+
}( window, function factory() {
|
876 |
+
'use strict';
|
877 |
+
|
878 |
+
function Slide( parent ) {
|
879 |
+
this.parent = parent;
|
880 |
+
this.isOriginLeft = parent.originSide == 'left';
|
881 |
+
this.cells = [];
|
882 |
+
this.outerWidth = 0;
|
883 |
+
this.height = 0;
|
884 |
+
}
|
885 |
+
|
886 |
+
var proto = Slide.prototype;
|
887 |
+
|
888 |
+
proto.addCell = function( cell ) {
|
889 |
+
this.cells.push( cell );
|
890 |
+
this.outerWidth += cell.size.outerWidth;
|
891 |
+
this.height = Math.max( cell.size.outerHeight, this.height );
|
892 |
+
// first cell stuff
|
893 |
+
if ( this.cells.length == 1 ) {
|
894 |
+
this.x = cell.x; // x comes from first cell
|
895 |
+
var beginMargin = this.isOriginLeft ? 'marginLeft' : 'marginRight';
|
896 |
+
this.firstMargin = cell.size[ beginMargin ];
|
897 |
+
}
|
898 |
+
};
|
899 |
+
|
900 |
+
proto.updateTarget = function() {
|
901 |
+
var endMargin = this.isOriginLeft ? 'marginRight' : 'marginLeft';
|
902 |
+
var lastCell = this.getLastCell();
|
903 |
+
var lastMargin = lastCell ? lastCell.size[ endMargin ] : 0;
|
904 |
+
var slideWidth = this.outerWidth - ( this.firstMargin + lastMargin );
|
905 |
+
this.target = this.x + this.firstMargin + slideWidth * this.parent.cellAlign;
|
906 |
+
};
|
907 |
+
|
908 |
+
proto.getLastCell = function() {
|
909 |
+
return this.cells[ this.cells.length - 1 ];
|
910 |
+
};
|
911 |
+
|
912 |
+
proto.select = function() {
|
913 |
+
this.changeSelectedClass('add');
|
914 |
+
};
|
915 |
+
|
916 |
+
proto.unselect = function() {
|
917 |
+
this.changeSelectedClass('remove');
|
918 |
+
};
|
919 |
+
|
920 |
+
proto.changeSelectedClass = function( method ) {
|
921 |
+
this.cells.forEach( function( cell ) {
|
922 |
+
cell.element.classList[ method ]('is-selected');
|
923 |
+
});
|
924 |
+
};
|
925 |
+
|
926 |
+
proto.getCellElements = function() {
|
927 |
+
return this.cells.map( function( cell ) {
|
928 |
+
return cell.element;
|
929 |
+
});
|
930 |
+
};
|
931 |
+
|
932 |
+
return Slide;
|
933 |
+
|
934 |
+
}));
|
935 |
+
|
936 |
+
// animate
|
937 |
+
( function( window, factory ) {
|
938 |
+
// universal module definition
|
939 |
+
/* jshint strict: false */
|
940 |
+
if ( typeof define == 'function' && define.amd ) {
|
941 |
+
// AMD
|
942 |
+
define( 'flickity/js/animate',[
|
943 |
+
'fizzy-ui-utils/utils'
|
944 |
+
], function( utils ) {
|
945 |
+
return factory( window, utils );
|
946 |
+
});
|
947 |
+
} else if ( typeof module == 'object' && module.exports ) {
|
948 |
+
// CommonJS
|
949 |
+
module.exports = factory(
|
950 |
+
window,
|
951 |
+
require('fizzy-ui-utils')
|
952 |
+
);
|
953 |
+
} else {
|
954 |
+
// browser global
|
955 |
+
window.Flickity = window.Flickity || {};
|
956 |
+
window.Flickity.animatePrototype = factory(
|
957 |
+
window,
|
958 |
+
window.fizzyUIUtils
|
959 |
+
);
|
960 |
+
}
|
961 |
+
|
962 |
+
}( window, function factory( window, utils ) {
|
963 |
+
|
964 |
+
|
965 |
+
|
966 |
+
// -------------------------- requestAnimationFrame -------------------------- //
|
967 |
+
|
968 |
+
// get rAF, prefixed, if present
|
969 |
+
var requestAnimationFrame = window.requestAnimationFrame ||
|
970 |
+
window.webkitRequestAnimationFrame;
|
971 |
+
|
972 |
+
// fallback to setTimeout
|
973 |
+
var lastTime = 0;
|
974 |
+
if ( !requestAnimationFrame ) {
|
975 |
+
requestAnimationFrame = function( callback ) {
|
976 |
+
var currTime = new Date().getTime();
|
977 |
+
var timeToCall = Math.max( 0, 16 - ( currTime - lastTime ) );
|
978 |
+
var id = setTimeout( callback, timeToCall );
|
979 |
+
lastTime = currTime + timeToCall;
|
980 |
+
return id;
|
981 |
+
};
|
982 |
+
}
|
983 |
+
|
984 |
+
// -------------------------- animate -------------------------- //
|
985 |
+
|
986 |
+
var proto = {};
|
987 |
+
|
988 |
+
proto.startAnimation = function() {
|
989 |
+
if ( this.isAnimating ) {
|
990 |
+
return;
|
991 |
+
}
|
992 |
+
|
993 |
+
this.isAnimating = true;
|
994 |
+
this.restingFrames = 0;
|
995 |
+
this.animate();
|
996 |
+
};
|
997 |
+
|
998 |
+
proto.animate = function() {
|
999 |
+
this.applyDragForce();
|
1000 |
+
this.applySelectedAttraction();
|
1001 |
+
|
1002 |
+
var previousX = this.x;
|
1003 |
+
|
1004 |
+
this.integratePhysics();
|
1005 |
+
this.positionSlider();
|
1006 |
+
this.settle( previousX );
|
1007 |
+
// animate next frame
|
1008 |
+
if ( this.isAnimating ) {
|
1009 |
+
var _this = this;
|
1010 |
+
requestAnimationFrame( function animateFrame() {
|
1011 |
+
_this.animate();
|
1012 |
+
});
|
1013 |
+
}
|
1014 |
+
};
|
1015 |
+
|
1016 |
+
|
1017 |
+
var transformProperty = ( function () {
|
1018 |
+
var style = document.documentElement.style;
|
1019 |
+
if ( typeof style.transform == 'string' ) {
|
1020 |
+
return 'transform';
|
1021 |
+
}
|
1022 |
+
return 'WebkitTransform';
|
1023 |
+
})();
|
1024 |
+
|
1025 |
+
proto.positionSlider = function() {
|
1026 |
+
var x = this.x;
|
1027 |
+
// wrap position around
|
1028 |
+
if ( this.options.wrapAround && this.cells.length > 1 ) {
|
1029 |
+
x = utils.modulo( x, this.slideableWidth );
|
1030 |
+
x = x - this.slideableWidth;
|
1031 |
+
this.shiftWrapCells( x );
|
1032 |
+
}
|
1033 |
+
|
1034 |
+
x = x + this.cursorPosition;
|
1035 |
+
// reverse if right-to-left and using transform
|
1036 |
+
x = this.options.rightToLeft && transformProperty ? -x : x;
|
1037 |
+
var value = this.getPositionValue( x );
|
1038 |
+
// use 3D tranforms for hardware acceleration on iOS
|
1039 |
+
// but use 2D when settled, for better font-rendering
|
1040 |
+
this.slider.style[ transformProperty ] = this.isAnimating ?
|
1041 |
+
'translate3d(' + value + ',0,0)' : 'translateX(' + value + ')';
|
1042 |
+
|
1043 |
+
// scroll event
|
1044 |
+
var firstSlide = this.slides[0];
|
1045 |
+
if ( firstSlide ) {
|
1046 |
+
var positionX = -this.x - firstSlide.target;
|
1047 |
+
var progress = positionX / this.slidesWidth;
|
1048 |
+
this.dispatchEvent( 'scroll', null, [ progress, positionX ] );
|
1049 |
+
}
|
1050 |
+
};
|
1051 |
+
|
1052 |
+
proto.positionSliderAtSelected = function() {
|
1053 |
+
if ( !this.cells.length ) {
|
1054 |
+
return;
|
1055 |
+
}
|
1056 |
+
this.x = -this.selectedSlide.target;
|
1057 |
+
this.positionSlider();
|
1058 |
+
};
|
1059 |
+
|
1060 |
+
proto.getPositionValue = function( position ) {
|
1061 |
+
if ( this.options.percentPosition ) {
|
1062 |
+
// percent position, round to 2 digits, like 12.34%
|
1063 |
+
return ( Math.round( ( position / this.size.innerWidth ) * 10000 ) * 0.01 )+ '%';
|
1064 |
+
} else {
|
1065 |
+
// pixel positioning
|
1066 |
+
return Math.round( position ) + 'px';
|
1067 |
+
}
|
1068 |
+
};
|
1069 |
+
|
1070 |
+
proto.settle = function( previousX ) {
|
1071 |
+
// keep track of frames where x hasn't moved
|
1072 |
+
if ( !this.isPointerDown && Math.round( this.x * 100 ) == Math.round( previousX * 100 ) ) {
|
1073 |
+
this.restingFrames++;
|
1074 |
+
}
|
1075 |
+
// stop animating if resting for 3 or more frames
|
1076 |
+
if ( this.restingFrames > 2 ) {
|
1077 |
+
this.isAnimating = false;
|
1078 |
+
delete this.isFreeScrolling;
|
1079 |
+
// render position with translateX when settled
|
1080 |
+
this.positionSlider();
|
1081 |
+
this.dispatchEvent('settle');
|
1082 |
+
}
|
1083 |
+
};
|
1084 |
+
|
1085 |
+
proto.shiftWrapCells = function( x ) {
|
1086 |
+
// shift before cells
|
1087 |
+
var beforeGap = this.cursorPosition + x;
|
1088 |
+
this._shiftCells( this.beforeShiftCells, beforeGap, -1 );
|
1089 |
+
// shift after cells
|
1090 |
+
var afterGap = this.size.innerWidth - ( x + this.slideableWidth + this.cursorPosition );
|
1091 |
+
this._shiftCells( this.afterShiftCells, afterGap, 1 );
|
1092 |
+
};
|
1093 |
+
|
1094 |
+
proto._shiftCells = function( cells, gap, shift ) {
|
1095 |
+
for ( var i=0; i < cells.length; i++ ) {
|
1096 |
+
var cell = cells[i];
|
1097 |
+
var cellShift = gap > 0 ? shift : 0;
|
1098 |
+
cell.wrapShift( cellShift );
|
1099 |
+
gap -= cell.size.outerWidth;
|
1100 |
+
}
|
1101 |
+
};
|
1102 |
+
|
1103 |
+
proto._unshiftCells = function( cells ) {
|
1104 |
+
if ( !cells || !cells.length ) {
|
1105 |
+
return;
|
1106 |
+
}
|
1107 |
+
for ( var i=0; i < cells.length; i++ ) {
|
1108 |
+
cells[i].wrapShift( 0 );
|
1109 |
+
}
|
1110 |
+
};
|
1111 |
+
|
1112 |
+
// -------------------------- physics -------------------------- //
|
1113 |
+
|
1114 |
+
proto.integratePhysics = function() {
|
1115 |
+
this.x += this.velocity;
|
1116 |
+
this.velocity *= this.getFrictionFactor();
|
1117 |
+
};
|
1118 |
+
|
1119 |
+
proto.applyForce = function( force ) {
|
1120 |
+
this.velocity += force;
|
1121 |
+
};
|
1122 |
+
|
1123 |
+
proto.getFrictionFactor = function() {
|
1124 |
+
return 1 - this.options[ this.isFreeScrolling ? 'freeScrollFriction' : 'friction' ];
|
1125 |
+
};
|
1126 |
+
|
1127 |
+
proto.getRestingPosition = function() {
|
1128 |
+
// my thanks to Steven Wittens, who simplified this math greatly
|
1129 |
+
return this.x + this.velocity / ( 1 - this.getFrictionFactor() );
|
1130 |
+
};
|
1131 |
+
|
1132 |
+
proto.applyDragForce = function() {
|
1133 |
+
if ( !this.isPointerDown ) {
|
1134 |
+
return;
|
1135 |
+
}
|
1136 |
+
// change the position to drag position by applying force
|
1137 |
+
var dragVelocity = this.dragX - this.x;
|
1138 |
+
var dragForce = dragVelocity - this.velocity;
|
1139 |
+
this.applyForce( dragForce );
|
1140 |
+
};
|
1141 |
+
|
1142 |
+
proto.applySelectedAttraction = function() {
|
1143 |
+
// do not attract if pointer down or no cells
|
1144 |
+
if ( this.isPointerDown || this.isFreeScrolling || !this.cells.length ) {
|
1145 |
+
return;
|
1146 |
+
}
|
1147 |
+
var distance = this.selectedSlide.target * -1 - this.x;
|
1148 |
+
var force = distance * this.options.selectedAttraction;
|
1149 |
+
this.applyForce( force );
|
1150 |
+
};
|
1151 |
+
|
1152 |
+
return proto;
|
1153 |
+
|
1154 |
+
}));
|
1155 |
+
|
1156 |
+
// Flickity main
|
1157 |
+
( function( window, factory ) {
|
1158 |
+
// universal module definition
|
1159 |
+
/* jshint strict: false */
|
1160 |
+
if ( typeof define == 'function' && define.amd ) {
|
1161 |
+
// AMD
|
1162 |
+
define( 'flickity/js/flickity',[
|
1163 |
+
'ev-emitter/ev-emitter',
|
1164 |
+
'get-size/get-size',
|
1165 |
+
'fizzy-ui-utils/utils',
|
1166 |
+
'./cell',
|
1167 |
+
'./slide',
|
1168 |
+
'./animate'
|
1169 |
+
], function( EvEmitter, getSize, utils, Cell, Slide, animatePrototype ) {
|
1170 |
+
return factory( window, EvEmitter, getSize, utils, Cell, Slide, animatePrototype );
|
1171 |
+
});
|
1172 |
+
} else if ( typeof module == 'object' && module.exports ) {
|
1173 |
+
// CommonJS
|
1174 |
+
module.exports = factory(
|
1175 |
+
window,
|
1176 |
+
require('ev-emitter'),
|
1177 |
+
require('get-size'),
|
1178 |
+
require('fizzy-ui-utils'),
|
1179 |
+
require('./cell'),
|
1180 |
+
require('./slide'),
|
1181 |
+
require('./animate')
|
1182 |
+
);
|
1183 |
+
} else {
|
1184 |
+
// browser global
|
1185 |
+
var _Flickity = window.Flickity;
|
1186 |
+
|
1187 |
+
window.Flickity = factory(
|
1188 |
+
window,
|
1189 |
+
window.EvEmitter,
|
1190 |
+
window.getSize,
|
1191 |
+
window.fizzyUIUtils,
|
1192 |
+
_Flickity.Cell,
|
1193 |
+
_Flickity.Slide,
|
1194 |
+
_Flickity.animatePrototype
|
1195 |
+
);
|
1196 |
+
}
|
1197 |
+
|
1198 |
+
}( window, function factory( window, EvEmitter, getSize,
|
1199 |
+
utils, Cell, Slide, animatePrototype ) {
|
1200 |
+
|
1201 |
+
|
1202 |
+
|
1203 |
+
// vars
|
1204 |
+
var jQuery = window.jQuery;
|
1205 |
+
var getComputedStyle = window.getComputedStyle;
|
1206 |
+
var console = window.console;
|
1207 |
+
|
1208 |
+
function moveElements( elems, toElem ) {
|
1209 |
+
elems = utils.makeArray( elems );
|
1210 |
+
while ( elems.length ) {
|
1211 |
+
toElem.appendChild( elems.shift() );
|
1212 |
+
}
|
1213 |
+
}
|
1214 |
+
|
1215 |
+
// -------------------------- Flickity -------------------------- //
|
1216 |
+
|
1217 |
+
// globally unique identifiers
|
1218 |
+
var GUID = 0;
|
1219 |
+
// internal store of all Flickity intances
|
1220 |
+
var instances = {};
|
1221 |
+
|
1222 |
+
function Flickity( element, options ) {
|
1223 |
+
var queryElement = utils.getQueryElement( element );
|
1224 |
+
if ( !queryElement ) {
|
1225 |
+
if ( console ) {
|
1226 |
+
console.error( 'Bad element for Flickity: ' + ( queryElement || element ) );
|
1227 |
+
}
|
1228 |
+
return;
|
1229 |
+
}
|
1230 |
+
this.element = queryElement;
|
1231 |
+
// add jQuery
|
1232 |
+
if ( jQuery ) {
|
1233 |
+
this.$element = jQuery( this.element );
|
1234 |
+
}
|
1235 |
+
// options
|
1236 |
+
this.options = utils.extend( {}, this.constructor.defaults );
|
1237 |
+
this.option( options );
|
1238 |
+
|
1239 |
+
// kick things off
|
1240 |
+
this._create();
|
1241 |
+
}
|
1242 |
+
|
1243 |
+
Flickity.defaults = {
|
1244 |
+
accessibility: true,
|
1245 |
+
// adaptiveHeight: false,
|
1246 |
+
cellAlign: 'center',
|
1247 |
+
// cellSelector: undefined,
|
1248 |
+
// contain: false,
|
1249 |
+
freeScrollFriction: 0.075, // friction when free-scrolling
|
1250 |
+
friction: 0.28, // friction when selecting
|
1251 |
+
namespaceJQueryEvents: true,
|
1252 |
+
// initialIndex: 0,
|
1253 |
+
percentPosition: true,
|
1254 |
+
resize: true,
|
1255 |
+
selectedAttraction: 0.025,
|
1256 |
+
setGallerySize: true
|
1257 |
+
// watchCSS: false,
|
1258 |
+
// wrapAround: false
|
1259 |
+
};
|
1260 |
+
|
1261 |
+
// hash of methods triggered on _create()
|
1262 |
+
Flickity.createMethods = [];
|
1263 |
+
|
1264 |
+
var proto = Flickity.prototype;
|
1265 |
+
// inherit EventEmitter
|
1266 |
+
utils.extend( proto, EvEmitter.prototype );
|
1267 |
+
|
1268 |
+
proto._create = function() {
|
1269 |
+
// add id for Flickity.data
|
1270 |
+
var id = this.guid = ++GUID;
|
1271 |
+
this.element.flickityGUID = id; // expando
|
1272 |
+
instances[ id ] = this; // associate via id
|
1273 |
+
// initial properties
|
1274 |
+
this.selectedIndex = 0;
|
1275 |
+
// how many frames slider has been in same position
|
1276 |
+
this.restingFrames = 0;
|
1277 |
+
// initial physics properties
|
1278 |
+
this.x = 0;
|
1279 |
+
this.velocity = 0;
|
1280 |
+
this.originSide = this.options.rightToLeft ? 'right' : 'left';
|
1281 |
+
// create viewport & slider
|
1282 |
+
this.viewport = document.createElement('div');
|
1283 |
+
this.viewport.className = 'flickity-viewport';
|
1284 |
+
this._createSlider();
|
1285 |
+
|
1286 |
+
if ( this.options.resize || this.options.watchCSS ) {
|
1287 |
+
window.addEventListener( 'resize', this );
|
1288 |
+
}
|
1289 |
+
|
1290 |
+
Flickity.createMethods.forEach( function( method ) {
|
1291 |
+
this[ method ]();
|
1292 |
+
}, this );
|
1293 |
+
|
1294 |
+
if ( this.options.watchCSS ) {
|
1295 |
+
this.watchCSS();
|
1296 |
+
} else {
|
1297 |
+
this.activate();
|
1298 |
+
}
|
1299 |
+
|
1300 |
+
};
|
1301 |
+
|
1302 |
+
/**
|
1303 |
+
* set options
|
1304 |
+
* @param {Object} opts
|
1305 |
+
*/
|
1306 |
+
proto.option = function( opts ) {
|
1307 |
+
utils.extend( this.options, opts );
|
1308 |
+
};
|
1309 |
+
|
1310 |
+
proto.activate = function() {
|
1311 |
+
if ( this.isActive ) {
|
1312 |
+
return;
|
1313 |
+
}
|
1314 |
+
this.isActive = true;
|
1315 |
+
this.element.classList.add('flickity-enabled');
|
1316 |
+
if ( this.options.rightToLeft ) {
|
1317 |
+
this.element.classList.add('flickity-rtl');
|
1318 |
+
}
|
1319 |
+
|
1320 |
+
this.getSize();
|
1321 |
+
// move initial cell elements so they can be loaded as cells
|
1322 |
+
var cellElems = this._filterFindCellElements( this.element.children );
|
1323 |
+
moveElements( cellElems, this.slider );
|
1324 |
+
this.viewport.appendChild( this.slider );
|
1325 |
+
this.element.appendChild( this.viewport );
|
1326 |
+
// get cells from children
|
1327 |
+
this.reloadCells();
|
1328 |
+
|
1329 |
+
if ( this.options.accessibility ) {
|
1330 |
+
// allow element to focusable
|
1331 |
+
this.element.tabIndex = 0;
|
1332 |
+
// listen for key presses
|
1333 |
+
this.element.addEventListener( 'keydown', this );
|
1334 |
+
}
|
1335 |
+
|
1336 |
+
this.emitEvent('activate');
|
1337 |
+
|
1338 |
+
var index;
|
1339 |
+
var initialIndex = this.options.initialIndex;
|
1340 |
+
if ( this.isInitActivated ) {
|
1341 |
+
index = this.selectedIndex;
|
1342 |
+
} else if ( initialIndex !== undefined ) {
|
1343 |
+
index = this.cells[ initialIndex ] ? initialIndex : 0;
|
1344 |
+
} else {
|
1345 |
+
index = 0;
|
1346 |
+
}
|
1347 |
+
// select instantly
|
1348 |
+
this.select( index, false, true );
|
1349 |
+
// flag for initial activation, for using initialIndex
|
1350 |
+
this.isInitActivated = true;
|
1351 |
+
};
|
1352 |
+
|
1353 |
+
// slider positions the cells
|
1354 |
+
proto._createSlider = function() {
|
1355 |
+
// slider element does all the positioning
|
1356 |
+
var slider = document.createElement('div');
|
1357 |
+
slider.className = 'flickity-slider';
|
1358 |
+
slider.style[ this.originSide ] = 0;
|
1359 |
+
this.slider = slider;
|
1360 |
+
};
|
1361 |
+
|
1362 |
+
proto._filterFindCellElements = function( elems ) {
|
1363 |
+
return utils.filterFindElements( elems, this.options.cellSelector );
|
1364 |
+
};
|
1365 |
+
|
1366 |
+
// goes through all children
|
1367 |
+
proto.reloadCells = function() {
|
1368 |
+
// collection of item elements
|
1369 |
+
this.cells = this._makeCells( this.slider.children );
|
1370 |
+
this.positionCells();
|
1371 |
+
this._getWrapShiftCells();
|
1372 |
+
this.setGallerySize();
|
1373 |
+
};
|
1374 |
+
|
1375 |
+
/**
|
1376 |
+
* turn elements into Flickity.Cells
|
1377 |
+
* @param {Array or NodeList or HTMLElement} elems
|
1378 |
+
* @returns {Array} items - collection of new Flickity Cells
|
1379 |
+
*/
|
1380 |
+
proto._makeCells = function( elems ) {
|
1381 |
+
var cellElems = this._filterFindCellElements( elems );
|
1382 |
+
|
1383 |
+
// create new Flickity for collection
|
1384 |
+
var cells = cellElems.map( function( cellElem ) {
|
1385 |
+
return new Cell( cellElem, this );
|
1386 |
+
}, this );
|
1387 |
+
|
1388 |
+
return cells;
|
1389 |
+
};
|
1390 |
+
|
1391 |
+
proto.getLastCell = function() {
|
1392 |
+
return this.cells[ this.cells.length - 1 ];
|
1393 |
+
};
|
1394 |
+
|
1395 |
+
proto.getLastSlide = function() {
|
1396 |
+
return this.slides[ this.slides.length - 1 ];
|
1397 |
+
};
|
1398 |
+
|
1399 |
+
// positions all cells
|
1400 |
+
proto.positionCells = function() {
|
1401 |
+
// size all cells
|
1402 |
+
this._sizeCells( this.cells );
|
1403 |
+
// position all cells
|
1404 |
+
this._positionCells( 0 );
|
1405 |
+
};
|
1406 |
+
|
1407 |
+
/**
|
1408 |
+
* position certain cells
|
1409 |
+
* @param {Integer} index - which cell to start with
|
1410 |
+
*/
|
1411 |
+
proto._positionCells = function( index ) {
|
1412 |
+
index = index || 0;
|
1413 |
+
// also measure maxCellHeight
|
1414 |
+
// start 0 if positioning all cells
|
1415 |
+
this.maxCellHeight = index ? this.maxCellHeight || 0 : 0;
|
1416 |
+
var cellX = 0;
|
1417 |
+
// get cellX
|
1418 |
+
if ( index > 0 ) {
|
1419 |
+
var startCell = this.cells[ index - 1 ];
|
1420 |
+
cellX = startCell.x + startCell.size.outerWidth;
|
1421 |
+
}
|
1422 |
+
var len = this.cells.length;
|
1423 |
+
for ( var i=index; i < len; i++ ) {
|
1424 |
+
var cell = this.cells[i];
|
1425 |
+
cell.setPosition( cellX );
|
1426 |
+
cellX += cell.size.outerWidth;
|
1427 |
+
this.maxCellHeight = Math.max( cell.size.outerHeight, this.maxCellHeight );
|
1428 |
+
}
|
1429 |
+
// keep track of cellX for wrap-around
|
1430 |
+
this.slideableWidth = cellX;
|
1431 |
+
// slides
|
1432 |
+
this.updateSlides();
|
1433 |
+
// contain slides target
|
1434 |
+
this._containSlides();
|
1435 |
+
// update slidesWidth
|
1436 |
+
this.slidesWidth = len ? this.getLastSlide().target - this.slides[0].target : 0;
|
1437 |
+
};
|
1438 |
+
|
1439 |
+
/**
|
1440 |
+
* cell.getSize() on multiple cells
|
1441 |
+
* @param {Array} cells
|
1442 |
+
*/
|
1443 |
+
proto._sizeCells = function( cells ) {
|
1444 |
+
cells.forEach( function( cell ) {
|
1445 |
+
cell.getSize();
|
1446 |
+
});
|
1447 |
+
};
|
1448 |
+
|
1449 |
+
// -------------------------- -------------------------- //
|
1450 |
+
|
1451 |
+
proto.updateSlides = function() {
|
1452 |
+
this.slides = [];
|
1453 |
+
if ( !this.cells.length ) {
|
1454 |
+
return;
|
1455 |
+
}
|
1456 |
+
|
1457 |
+
var slide = new Slide( this );
|
1458 |
+
this.slides.push( slide );
|
1459 |
+
var isOriginLeft = this.originSide == 'left';
|
1460 |
+
var nextMargin = isOriginLeft ? 'marginRight' : 'marginLeft';
|
1461 |
+
|
1462 |
+
var canCellFit = this._getCanCellFit();
|
1463 |
+
|
1464 |
+
this.cells.forEach( function( cell, i ) {
|
1465 |
+
// just add cell if first cell in slide
|
1466 |
+
if ( !slide.cells.length ) {
|
1467 |
+
slide.addCell( cell );
|
1468 |
+
return;
|
1469 |
+
}
|
1470 |
+
|
1471 |
+
var slideWidth = ( slide.outerWidth - slide.firstMargin ) +
|
1472 |
+
( cell.size.outerWidth - cell.size[ nextMargin ] );
|
1473 |
+
|
1474 |
+
if ( canCellFit.call( this, i, slideWidth ) ) {
|
1475 |
+
slide.addCell( cell );
|
1476 |
+
} else {
|
1477 |
+
// doesn't fit, new slide
|
1478 |
+
slide.updateTarget();
|
1479 |
+
|
1480 |
+
slide = new Slide( this );
|
1481 |
+
this.slides.push( slide );
|
1482 |
+
slide.addCell( cell );
|
1483 |
+
}
|
1484 |
+
}, this );
|
1485 |
+
// last slide
|
1486 |
+
slide.updateTarget();
|
1487 |
+
// update .selectedSlide
|
1488 |
+
this.updateSelectedSlide();
|
1489 |
+
};
|
1490 |
+
|
1491 |
+
proto._getCanCellFit = function() {
|
1492 |
+
var groupCells = this.options.groupCells;
|
1493 |
+
if ( !groupCells ) {
|
1494 |
+
return function() {
|
1495 |
+
return false;
|
1496 |
+
};
|
1497 |
+
} else if ( typeof groupCells == 'number' ) {
|
1498 |
+
// group by number. 3 -> [0,1,2], [3,4,5], ...
|
1499 |
+
var number = parseInt( groupCells, 10 );
|
1500 |
+
return function( i ) {
|
1501 |
+
return ( i % number ) !== 0;
|
1502 |
+
};
|
1503 |
+
}
|
1504 |
+
// default, group by width of slide
|
1505 |
+
// parse '75%
|
1506 |
+
var percentMatch = typeof groupCells == 'string' &&
|
1507 |
+
groupCells.match(/^(\d+)%$/);
|
1508 |
+
var percent = percentMatch ? parseInt( percentMatch[1], 10 ) / 100 : 1;
|
1509 |
+
return function( i, slideWidth ) {
|
1510 |
+
return slideWidth <= ( this.size.innerWidth + 1 ) * percent;
|
1511 |
+
};
|
1512 |
+
};
|
1513 |
+
|
1514 |
+
// alias _init for jQuery plugin .flickity()
|
1515 |
+
proto._init =
|
1516 |
+
proto.reposition = function() {
|
1517 |
+
this.positionCells();
|
1518 |
+
this.positionSliderAtSelected();
|
1519 |
+
};
|
1520 |
+
|
1521 |
+
proto.getSize = function() {
|
1522 |
+
this.size = getSize( this.element );
|
1523 |
+
this.setCellAlign();
|
1524 |
+
this.cursorPosition = this.size.innerWidth * this.cellAlign;
|
1525 |
+
};
|
1526 |
+
|
1527 |
+
var cellAlignShorthands = {
|
1528 |
+
// cell align, then based on origin side
|
1529 |
+
center: {
|
1530 |
+
left: 0.5,
|
1531 |
+
right: 0.5
|
1532 |
+
},
|
1533 |
+
left: {
|
1534 |
+
left: 0,
|
1535 |
+
right: 1
|
1536 |
+
},
|
1537 |
+
right: {
|
1538 |
+
right: 0,
|
1539 |
+
left: 1
|
1540 |
+
}
|
1541 |
+
};
|
1542 |
+
|
1543 |
+
proto.setCellAlign = function() {
|
1544 |
+
var shorthand = cellAlignShorthands[ this.options.cellAlign ];
|
1545 |
+
this.cellAlign = shorthand ? shorthand[ this.originSide ] : this.options.cellAlign;
|
1546 |
+
};
|
1547 |
+
|
1548 |
+
proto.setGallerySize = function() {
|
1549 |
+
if ( this.options.setGallerySize ) {
|
1550 |
+
var height = this.options.adaptiveHeight && this.selectedSlide ?
|
1551 |
+
this.selectedSlide.height : this.maxCellHeight;
|
1552 |
+
this.viewport.style.height = height + 'px';
|
1553 |
+
}
|
1554 |
+
};
|
1555 |
+
|
1556 |
+
proto._getWrapShiftCells = function() {
|
1557 |
+
// only for wrap-around
|
1558 |
+
if ( !this.options.wrapAround ) {
|
1559 |
+
return;
|
1560 |
+
}
|
1561 |
+
// unshift previous cells
|
1562 |
+
this._unshiftCells( this.beforeShiftCells );
|
1563 |
+
this._unshiftCells( this.afterShiftCells );
|
1564 |
+
// get before cells
|
1565 |
+
// initial gap
|
1566 |
+
var gapX = this.cursorPosition;
|
1567 |
+
var cellIndex = this.cells.length - 1;
|
1568 |
+
this.beforeShiftCells = this._getGapCells( gapX, cellIndex, -1 );
|
1569 |
+
// get after cells
|
1570 |
+
// ending gap between last cell and end of gallery viewport
|
1571 |
+
gapX = this.size.innerWidth - this.cursorPosition;
|
1572 |
+
// start cloning at first cell, working forwards
|
1573 |
+
this.afterShiftCells = this._getGapCells( gapX, 0, 1 );
|
1574 |
+
};
|
1575 |
+
|
1576 |
+
proto._getGapCells = function( gapX, cellIndex, increment ) {
|
1577 |
+
// keep adding cells until the cover the initial gap
|
1578 |
+
var cells = [];
|
1579 |
+
while ( gapX > 0 ) {
|
1580 |
+
var cell = this.cells[ cellIndex ];
|
1581 |
+
if ( !cell ) {
|
1582 |
+
break;
|
1583 |
+
}
|
1584 |
+
cells.push( cell );
|
1585 |
+
cellIndex += increment;
|
1586 |
+
gapX -= cell.size.outerWidth;
|
1587 |
+
}
|
1588 |
+
return cells;
|
1589 |
+
};
|
1590 |
+
|
1591 |
+
// ----- contain ----- //
|
1592 |
+
|
1593 |
+
// contain cell targets so no excess sliding
|
1594 |
+
proto._containSlides = function() {
|
1595 |
+
if ( !this.options.contain || this.options.wrapAround || !this.cells.length ) {
|
1596 |
+
return;
|
1597 |
+
}
|
1598 |
+
var isRightToLeft = this.options.rightToLeft;
|
1599 |
+
var beginMargin = isRightToLeft ? 'marginRight' : 'marginLeft';
|
1600 |
+
var endMargin = isRightToLeft ? 'marginLeft' : 'marginRight';
|
1601 |
+
var contentWidth = this.slideableWidth - this.getLastCell().size[ endMargin ];
|
1602 |
+
// content is less than gallery size
|
1603 |
+
var isContentSmaller = contentWidth < this.size.innerWidth;
|
1604 |
+
// bounds
|
1605 |
+
var beginBound = this.cursorPosition + this.cells[0].size[ beginMargin ];
|
1606 |
+
var endBound = contentWidth - this.size.innerWidth * ( 1 - this.cellAlign );
|
1607 |
+
// contain each cell target
|
1608 |
+
this.slides.forEach( function( slide ) {
|
1609 |
+
if ( isContentSmaller ) {
|
1610 |
+
// all cells fit inside gallery
|
1611 |
+
slide.target = contentWidth * this.cellAlign;
|
1612 |
+
} else {
|
1613 |
+
// contain to bounds
|
1614 |
+
slide.target = Math.max( slide.target, beginBound );
|
1615 |
+
slide.target = Math.min( slide.target, endBound );
|
1616 |
+
}
|
1617 |
+
}, this );
|
1618 |
+
};
|
1619 |
+
|
1620 |
+
// ----- ----- //
|
1621 |
+
|
1622 |
+
/**
|
1623 |
+
* emits events via eventEmitter and jQuery events
|
1624 |
+
* @param {String} type - name of event
|
1625 |
+
* @param {Event} event - original event
|
1626 |
+
* @param {Array} args - extra arguments
|
1627 |
+
*/
|
1628 |
+
proto.dispatchEvent = function( type, event, args ) {
|
1629 |
+
var emitArgs = event ? [ event ].concat( args ) : args;
|
1630 |
+
this.emitEvent( type, emitArgs );
|
1631 |
+
|
1632 |
+
if ( jQuery && this.$element ) {
|
1633 |
+
// default trigger with type if no event
|
1634 |
+
type += this.options.namespaceJQueryEvents ? '.flickity' : '';
|
1635 |
+
var $event = type;
|
1636 |
+
if ( event ) {
|
1637 |
+
// create jQuery event
|
1638 |
+
var jQEvent = jQuery.Event( event );
|
1639 |
+
jQEvent.type = type;
|
1640 |
+
$event = jQEvent;
|
1641 |
+
}
|
1642 |
+
this.$element.trigger( $event, args );
|
1643 |
+
}
|
1644 |
+
};
|
1645 |
+
|
1646 |
+
// -------------------------- select -------------------------- //
|
1647 |
+
|
1648 |
+
/**
|
1649 |
+
* @param {Integer} index - index of the slide
|
1650 |
+
* @param {Boolean} isWrap - will wrap-around to last/first if at the end
|
1651 |
+
* @param {Boolean} isInstant - will immediately set position at selected cell
|
1652 |
+
*/
|
1653 |
+
proto.select = function( index, isWrap, isInstant ) {
|
1654 |
+
if ( !this.isActive ) {
|
1655 |
+
return;
|
1656 |
+
}
|
1657 |
+
index = parseInt( index, 10 );
|
1658 |
+
this._wrapSelect( index );
|
1659 |
+
|
1660 |
+
if ( this.options.wrapAround || isWrap ) {
|
1661 |
+
index = utils.modulo( index, this.slides.length );
|
1662 |
+
}
|
1663 |
+
// bail if invalid index
|
1664 |
+
if ( !this.slides[ index ] ) {
|
1665 |
+
return;
|
1666 |
+
}
|
1667 |
+
this.selectedIndex = index;
|
1668 |
+
this.updateSelectedSlide();
|
1669 |
+
if ( isInstant ) {
|
1670 |
+
this.positionSliderAtSelected();
|
1671 |
+
} else {
|
1672 |
+
this.startAnimation();
|
1673 |
+
}
|
1674 |
+
if ( this.options.adaptiveHeight ) {
|
1675 |
+
this.setGallerySize();
|
1676 |
+
}
|
1677 |
+
|
1678 |
+
this.dispatchEvent('select');
|
1679 |
+
// old v1 event name, remove in v3
|
1680 |
+
this.dispatchEvent('cellSelect');
|
1681 |
+
};
|
1682 |
+
|
1683 |
+
// wraps position for wrapAround, to move to closest slide. #113
|
1684 |
+
proto._wrapSelect = function( index ) {
|
1685 |
+
var len = this.slides.length;
|
1686 |
+
var isWrapping = this.options.wrapAround && len > 1;
|
1687 |
+
if ( !isWrapping ) {
|
1688 |
+
return index;
|
1689 |
+
}
|
1690 |
+
var wrapIndex = utils.modulo( index, len );
|
1691 |
+
// go to shortest
|
1692 |
+
var delta = Math.abs( wrapIndex - this.selectedIndex );
|
1693 |
+
var backWrapDelta = Math.abs( ( wrapIndex + len ) - this.selectedIndex );
|
1694 |
+
var forewardWrapDelta = Math.abs( ( wrapIndex - len ) - this.selectedIndex );
|
1695 |
+
if ( !this.isDragSelect && backWrapDelta < delta ) {
|
1696 |
+
index += len;
|
1697 |
+
} else if ( !this.isDragSelect && forewardWrapDelta < delta ) {
|
1698 |
+
index -= len;
|
1699 |
+
}
|
1700 |
+
// wrap position so slider is within normal area
|
1701 |
+
if ( index < 0 ) {
|
1702 |
+
this.x -= this.slideableWidth;
|
1703 |
+
} else if ( index >= len ) {
|
1704 |
+
this.x += this.slideableWidth;
|
1705 |
+
}
|
1706 |
+
};
|
1707 |
+
|
1708 |
+
proto.previous = function( isWrap, isInstant ) {
|
1709 |
+
this.select( this.selectedIndex - 1, isWrap, isInstant );
|
1710 |
+
};
|
1711 |
+
|
1712 |
+
proto.next = function( isWrap, isInstant ) {
|
1713 |
+
this.select( this.selectedIndex + 1, isWrap, isInstant );
|
1714 |
+
};
|
1715 |
+
|
1716 |
+
proto.updateSelectedSlide = function() {
|
1717 |
+
var slide = this.slides[ this.selectedIndex ];
|
1718 |
+
// selectedIndex could be outside of slides, if triggered before resize()
|
1719 |
+
if ( !slide ) {
|
1720 |
+
return;
|
1721 |
+
}
|
1722 |
+
// unselect previous selected slide
|
1723 |
+
this.unselectSelectedSlide();
|
1724 |
+
// update new selected slide
|
1725 |
+
this.selectedSlide = slide;
|
1726 |
+
slide.select();
|
1727 |
+
this.selectedCells = slide.cells;
|
1728 |
+
this.selectedElements = slide.getCellElements();
|
1729 |
+
// HACK: selectedCell & selectedElement is first cell in slide, backwards compatibility
|
1730 |
+
// Remove in v3?
|
1731 |
+
this.selectedCell = slide.cells[0];
|
1732 |
+
this.selectedElement = this.selectedElements[0];
|
1733 |
+
};
|
1734 |
+
|
1735 |
+
proto.unselectSelectedSlide = function() {
|
1736 |
+
if ( this.selectedSlide ) {
|
1737 |
+
this.selectedSlide.unselect();
|
1738 |
+
}
|
1739 |
+
};
|
1740 |
+
|
1741 |
+
/**
|
1742 |
+
* select slide from number or cell element
|
1743 |
+
* @param {Element or Number} elem
|
1744 |
+
*/
|
1745 |
+
proto.selectCell = function( value, isWrap, isInstant ) {
|
1746 |
+
// get cell
|
1747 |
+
var cell;
|
1748 |
+
if ( typeof value == 'number' ) {
|
1749 |
+
cell = this.cells[ value ];
|
1750 |
+
} else {
|
1751 |
+
// use string as selector
|
1752 |
+
if ( typeof value == 'string' ) {
|
1753 |
+
value = this.element.querySelector( value );
|
1754 |
+
}
|
1755 |
+
// get cell from element
|
1756 |
+
cell = this.getCell( value );
|
1757 |
+
}
|
1758 |
+
// select slide that has cell
|
1759 |
+
for ( var i=0; cell && i < this.slides.length; i++ ) {
|
1760 |
+
var slide = this.slides[i];
|
1761 |
+
var index = slide.cells.indexOf( cell );
|
1762 |
+
if ( index != -1 ) {
|
1763 |
+
this.select( i, isWrap, isInstant );
|
1764 |
+
return;
|
1765 |
+
}
|
1766 |
+
}
|
1767 |
+
};
|
1768 |
+
|
1769 |
+
// -------------------------- get cells -------------------------- //
|
1770 |
+
|
1771 |
+
/**
|
1772 |
+
* get Flickity.Cell, given an Element
|
1773 |
+
* @param {Element} elem
|
1774 |
+
* @returns {Flickity.Cell} item
|
1775 |
+
*/
|
1776 |
+
proto.getCell = function( elem ) {
|
1777 |
+
// loop through cells to get the one that matches
|
1778 |
+
for ( var i=0; i < this.cells.length; i++ ) {
|
1779 |
+
var cell = this.cells[i];
|
1780 |
+
if ( cell.element == elem ) {
|
1781 |
+
return cell;
|
1782 |
+
}
|
1783 |
+
}
|
1784 |
+
};
|
1785 |
+
|
1786 |
+
/**
|
1787 |
+
* get collection of Flickity.Cells, given Elements
|
1788 |
+
* @param {Element, Array, NodeList} elems
|
1789 |
+
* @returns {Array} cells - Flickity.Cells
|
1790 |
+
*/
|
1791 |
+
proto.getCells = function( elems ) {
|
1792 |
+
elems = utils.makeArray( elems );
|
1793 |
+
var cells = [];
|
1794 |
+
elems.forEach( function( elem ) {
|
1795 |
+
var cell = this.getCell( elem );
|
1796 |
+
if ( cell ) {
|
1797 |
+
cells.push( cell );
|
1798 |
+
}
|
1799 |
+
}, this );
|
1800 |
+
return cells;
|
1801 |
+
};
|
1802 |
+
|
1803 |
+
/**
|
1804 |
+
* get cell elements
|
1805 |
+
* @returns {Array} cellElems
|
1806 |
+
*/
|
1807 |
+
proto.getCellElements = function() {
|
1808 |
+
return this.cells.map( function( cell ) {
|
1809 |
+
return cell.element;
|
1810 |
+
});
|
1811 |
+
};
|
1812 |
+
|
1813 |
+
/**
|
1814 |
+
* get parent cell from an element
|
1815 |
+
* @param {Element} elem
|
1816 |
+
* @returns {Flickit.Cell} cell
|
1817 |
+
*/
|
1818 |
+
proto.getParentCell = function( elem ) {
|
1819 |
+
// first check if elem is cell
|
1820 |
+
var cell = this.getCell( elem );
|
1821 |
+
if ( cell ) {
|
1822 |
+
return cell;
|
1823 |
+
}
|
1824 |
+
// try to get parent cell elem
|
1825 |
+
elem = utils.getParent( elem, '.flickity-slider > *' );
|
1826 |
+
return this.getCell( elem );
|
1827 |
+
};
|
1828 |
+
|
1829 |
+
/**
|
1830 |
+
* get cells adjacent to a slide
|
1831 |
+
* @param {Integer} adjCount - number of adjacent slides
|
1832 |
+
* @param {Integer} index - index of slide to start
|
1833 |
+
* @returns {Array} cells - array of Flickity.Cells
|
1834 |
+
*/
|
1835 |
+
proto.getAdjacentCellElements = function( adjCount, index ) {
|
1836 |
+
if ( !adjCount ) {
|
1837 |
+
return this.selectedSlide.getCellElements();
|
1838 |
+
}
|
1839 |
+
index = index === undefined ? this.selectedIndex : index;
|
1840 |
+
|
1841 |
+
var len = this.slides.length;
|
1842 |
+
if ( 1 + ( adjCount * 2 ) >= len ) {
|
1843 |
+
return this.getCellElements();
|
1844 |
+
}
|
1845 |
+
|
1846 |
+
var cellElems = [];
|
1847 |
+
for ( var i = index - adjCount; i <= index + adjCount ; i++ ) {
|
1848 |
+
var slideIndex = this.options.wrapAround ? utils.modulo( i, len ) : i;
|
1849 |
+
var slide = this.slides[ slideIndex ];
|
1850 |
+
if ( slide ) {
|
1851 |
+
cellElems = cellElems.concat( slide.getCellElements() );
|
1852 |
+
}
|
1853 |
+
}
|
1854 |
+
return cellElems;
|
1855 |
+
};
|
1856 |
+
|
1857 |
+
// -------------------------- events -------------------------- //
|
1858 |
+
|
1859 |
+
proto.uiChange = function() {
|
1860 |
+
this.emitEvent('uiChange');
|
1861 |
+
};
|
1862 |
+
|
1863 |
+
proto.childUIPointerDown = function( event ) {
|
1864 |
+
this.emitEvent( 'childUIPointerDown', [ event ] );
|
1865 |
+
};
|
1866 |
+
|
1867 |
+
// ----- resize ----- //
|
1868 |
+
|
1869 |
+
proto.onresize = function() {
|
1870 |
+
this.watchCSS();
|
1871 |
+
this.resize();
|
1872 |
+
};
|
1873 |
+
|
1874 |
+
utils.debounceMethod( Flickity, 'onresize', 150 );
|
1875 |
+
|
1876 |
+
proto.resize = function() {
|
1877 |
+
if ( !this.isActive ) {
|
1878 |
+
return;
|
1879 |
+
}
|
1880 |
+
this.getSize();
|
1881 |
+
// wrap values
|
1882 |
+
if ( this.options.wrapAround ) {
|
1883 |
+
this.x = utils.modulo( this.x, this.slideableWidth );
|
1884 |
+
}
|
1885 |
+
this.positionCells();
|
1886 |
+
this._getWrapShiftCells();
|
1887 |
+
this.setGallerySize();
|
1888 |
+
this.emitEvent('resize');
|
1889 |
+
// update selected index for group slides, instant
|
1890 |
+
// TODO: position can be lost between groups of various numbers
|
1891 |
+
var selectedElement = this.selectedElements && this.selectedElements[0];
|
1892 |
+
this.selectCell( selectedElement, false, true );
|
1893 |
+
};
|
1894 |
+
|
1895 |
+
// watches the :after property, activates/deactivates
|
1896 |
+
proto.watchCSS = function() {
|
1897 |
+
var watchOption = this.options.watchCSS;
|
1898 |
+
if ( !watchOption ) {
|
1899 |
+
return;
|
1900 |
+
}
|
1901 |
+
|
1902 |
+
var afterContent = getComputedStyle( this.element, ':after' ).content;
|
1903 |
+
// activate if :after { content: 'flickity' }
|
1904 |
+
if ( afterContent.indexOf('flickity') != -1 ) {
|
1905 |
+
this.activate();
|
1906 |
+
} else {
|
1907 |
+
this.deactivate();
|
1908 |
+
}
|
1909 |
+
};
|
1910 |
+
|
1911 |
+
// ----- keydown ----- //
|
1912 |
+
|
1913 |
+
// go previous/next if left/right keys pressed
|
1914 |
+
proto.onkeydown = function( event ) {
|
1915 |
+
// only work if element is in focus
|
1916 |
+
if ( !this.options.accessibility ||
|
1917 |
+
( document.activeElement && document.activeElement != this.element ) ) {
|
1918 |
+
return;
|
1919 |
+
}
|
1920 |
+
|
1921 |
+
if ( event.keyCode == 37 ) {
|
1922 |
+
// go left
|
1923 |
+
var leftMethod = this.options.rightToLeft ? 'next' : 'previous';
|
1924 |
+
this.uiChange();
|
1925 |
+
this[ leftMethod ]();
|
1926 |
+
} else if ( event.keyCode == 39 ) {
|
1927 |
+
// go right
|
1928 |
+
var rightMethod = this.options.rightToLeft ? 'previous' : 'next';
|
1929 |
+
this.uiChange();
|
1930 |
+
this[ rightMethod ]();
|
1931 |
+
}
|
1932 |
+
};
|
1933 |
+
|
1934 |
+
// -------------------------- destroy -------------------------- //
|
1935 |
+
|
1936 |
+
// deactivate all Flickity functionality, but keep stuff available
|
1937 |
+
proto.deactivate = function() {
|
1938 |
+
if ( !this.isActive ) {
|
1939 |
+
return;
|
1940 |
+
}
|
1941 |
+
this.element.classList.remove('flickity-enabled');
|
1942 |
+
this.element.classList.remove('flickity-rtl');
|
1943 |
+
// destroy cells
|
1944 |
+
this.cells.forEach( function( cell ) {
|
1945 |
+
cell.destroy();
|
1946 |
+
});
|
1947 |
+
this.unselectSelectedSlide();
|
1948 |
+
this.element.removeChild( this.viewport );
|
1949 |
+
// move child elements back into element
|
1950 |
+
moveElements( this.slider.children, this.element );
|
1951 |
+
if ( this.options.accessibility ) {
|
1952 |
+
this.element.removeAttribute('tabIndex');
|
1953 |
+
this.element.removeEventListener( 'keydown', this );
|
1954 |
+
}
|
1955 |
+
// set flags
|
1956 |
+
this.isActive = false;
|
1957 |
+
this.emitEvent('deactivate');
|
1958 |
+
};
|
1959 |
+
|
1960 |
+
proto.destroy = function() {
|
1961 |
+
this.deactivate();
|
1962 |
+
window.removeEventListener( 'resize', this );
|
1963 |
+
this.emitEvent('destroy');
|
1964 |
+
if ( jQuery && this.$element ) {
|
1965 |
+
jQuery.removeData( this.element, 'flickity' );
|
1966 |
+
}
|
1967 |
+
delete this.element.flickityGUID;
|
1968 |
+
delete instances[ this.guid ];
|
1969 |
+
};
|
1970 |
+
|
1971 |
+
// -------------------------- prototype -------------------------- //
|
1972 |
+
|
1973 |
+
utils.extend( proto, animatePrototype );
|
1974 |
+
|
1975 |
+
// -------------------------- extras -------------------------- //
|
1976 |
+
|
1977 |
+
/**
|
1978 |
+
* get Flickity instance from element
|
1979 |
+
* @param {Element} elem
|
1980 |
+
* @returns {Flickity}
|
1981 |
+
*/
|
1982 |
+
Flickity.data = function( elem ) {
|
1983 |
+
elem = utils.getQueryElement( elem );
|
1984 |
+
var id = elem && elem.flickityGUID;
|
1985 |
+
return id && instances[ id ];
|
1986 |
+
};
|
1987 |
+
|
1988 |
+
utils.htmlInit( Flickity, 'flickity' );
|
1989 |
+
|
1990 |
+
if ( jQuery && jQuery.bridget ) {
|
1991 |
+
jQuery.bridget( 'flickity', Flickity );
|
1992 |
+
}
|
1993 |
+
|
1994 |
+
Flickity.Cell = Cell;
|
1995 |
+
|
1996 |
+
return Flickity;
|
1997 |
+
|
1998 |
+
}));
|
1999 |
+
|
2000 |
+
/*!
|
2001 |
+
* Unipointer v2.1.0
|
2002 |
+
* base class for doing one thing with pointer event
|
2003 |
+
* MIT license
|
2004 |
+
*/
|
2005 |
+
|
2006 |
+
/*jshint browser: true, undef: true, unused: true, strict: true */
|
2007 |
+
|
2008 |
+
( function( window, factory ) {
|
2009 |
+
// universal module definition
|
2010 |
+
/* jshint strict: false */ /*global define, module, require */
|
2011 |
+
if ( typeof define == 'function' && define.amd ) {
|
2012 |
+
// AMD
|
2013 |
+
define( 'unipointer/unipointer',[
|
2014 |
+
'ev-emitter/ev-emitter'
|
2015 |
+
], function( EvEmitter ) {
|
2016 |
+
return factory( window, EvEmitter );
|
2017 |
+
});
|
2018 |
+
} else if ( typeof module == 'object' && module.exports ) {
|
2019 |
+
// CommonJS
|
2020 |
+
module.exports = factory(
|
2021 |
+
window,
|
2022 |
+
require('ev-emitter')
|
2023 |
+
);
|
2024 |
+
} else {
|
2025 |
+
// browser global
|
2026 |
+
window.Unipointer = factory(
|
2027 |
+
window,
|
2028 |
+
window.EvEmitter
|
2029 |
+
);
|
2030 |
+
}
|
2031 |
+
|
2032 |
+
}( window, function factory( window, EvEmitter ) {
|
2033 |
+
|
2034 |
+
|
2035 |
+
|
2036 |
+
function noop() {}
|
2037 |
+
|
2038 |
+
function Unipointer() {}
|
2039 |
+
|
2040 |
+
// inherit EvEmitter
|
2041 |
+
var proto = Unipointer.prototype = Object.create( EvEmitter.prototype );
|
2042 |
+
|
2043 |
+
proto.bindStartEvent = function( elem ) {
|
2044 |
+
this._bindStartEvent( elem, true );
|
2045 |
+
};
|
2046 |
+
|
2047 |
+
proto.unbindStartEvent = function( elem ) {
|
2048 |
+
this._bindStartEvent( elem, false );
|
2049 |
+
};
|
2050 |
+
|
2051 |
+
/**
|
2052 |
+
* works as unbinder, as you can ._bindStart( false ) to unbind
|
2053 |
+
* @param {Boolean} isBind - will unbind if falsey
|
2054 |
+
*/
|
2055 |
+
proto._bindStartEvent = function( elem, isBind ) {
|
2056 |
+
// munge isBind, default to true
|
2057 |
+
isBind = isBind === undefined ? true : !!isBind;
|
2058 |
+
var bindMethod = isBind ? 'addEventListener' : 'removeEventListener';
|
2059 |
+
|
2060 |
+
if ( window.navigator.pointerEnabled ) {
|
2061 |
+
// W3C Pointer Events, IE11. See https://coderwall.com/p/mfreca
|
2062 |
+
elem[ bindMethod ]( 'pointerdown', this );
|
2063 |
+
} else if ( window.navigator.msPointerEnabled ) {
|
2064 |
+
// IE10 Pointer Events
|
2065 |
+
elem[ bindMethod ]( 'MSPointerDown', this );
|
2066 |
+
} else {
|
2067 |
+
// listen for both, for devices like Chrome Pixel
|
2068 |
+
elem[ bindMethod ]( 'mousedown', this );
|
2069 |
+
elem[ bindMethod ]( 'touchstart', this );
|
2070 |
+
}
|
2071 |
+
};
|
2072 |
+
|
2073 |
+
// trigger handler methods for events
|
2074 |
+
proto.handleEvent = function( event ) {
|
2075 |
+
var method = 'on' + event.type;
|
2076 |
+
if ( this[ method ] ) {
|
2077 |
+
this[ method ]( event );
|
2078 |
+
}
|
2079 |
+
};
|
2080 |
+
|
2081 |
+
// returns the touch that we're keeping track of
|
2082 |
+
proto.getTouch = function( touches ) {
|
2083 |
+
for ( var i=0; i < touches.length; i++ ) {
|
2084 |
+
var touch = touches[i];
|
2085 |
+
if ( touch.identifier == this.pointerIdentifier ) {
|
2086 |
+
return touch;
|
2087 |
+
}
|
2088 |
+
}
|
2089 |
+
};
|
2090 |
+
|
2091 |
+
// ----- start event ----- //
|
2092 |
+
|
2093 |
+
proto.onmousedown = function( event ) {
|
2094 |
+
// dismiss clicks from right or middle buttons
|
2095 |
+
var button = event.button;
|
2096 |
+
if ( button && ( button !== 0 && button !== 1 ) ) {
|
2097 |
+
return;
|
2098 |
+
}
|
2099 |
+
this._pointerDown( event, event );
|
2100 |
+
};
|
2101 |
+
|
2102 |
+
proto.ontouchstart = function( event ) {
|
2103 |
+
this._pointerDown( event, event.changedTouches[0] );
|
2104 |
+
};
|
2105 |
+
|
2106 |
+
proto.onMSPointerDown =
|
2107 |
+
proto.onpointerdown = function( event ) {
|
2108 |
+
this._pointerDown( event, event );
|
2109 |
+
};
|
2110 |
+
|
2111 |
+
/**
|
2112 |
+
* pointer start
|
2113 |
+
* @param {Event} event
|
2114 |
+
* @param {Event or Touch} pointer
|
2115 |
+
*/
|
2116 |
+
proto._pointerDown = function( event, pointer ) {
|
2117 |
+
// dismiss other pointers
|
2118 |
+
if ( this.isPointerDown ) {
|
2119 |
+
return;
|
2120 |
+
}
|
2121 |
+
|
2122 |
+
this.isPointerDown = true;
|
2123 |
+
// save pointer identifier to match up touch events
|
2124 |
+
this.pointerIdentifier = pointer.pointerId !== undefined ?
|
2125 |
+
// pointerId for pointer events, touch.indentifier for touch events
|
2126 |
+
pointer.pointerId : pointer.identifier;
|
2127 |
+
|
2128 |
+
this.pointerDown( event, pointer );
|
2129 |
+
};
|
2130 |
+
|
2131 |
+
proto.pointerDown = function( event, pointer ) {
|
2132 |
+
this._bindPostStartEvents( event );
|
2133 |
+
this.emitEvent( 'pointerDown', [ event, pointer ] );
|
2134 |
+
};
|
2135 |
+
|
2136 |
+
// hash of events to be bound after start event
|
2137 |
+
var postStartEvents = {
|
2138 |
+
mousedown: [ 'mousemove', 'mouseup' ],
|
2139 |
+
touchstart: [ 'touchmove', 'touchend', 'touchcancel' ],
|
2140 |
+
pointerdown: [ 'pointermove', 'pointerup', 'pointercancel' ],
|
2141 |
+
MSPointerDown: [ 'MSPointerMove', 'MSPointerUp', 'MSPointerCancel' ]
|
2142 |
+
};
|
2143 |
+
|
2144 |
+
proto._bindPostStartEvents = function( event ) {
|
2145 |
+
if ( !event ) {
|
2146 |
+
return;
|
2147 |
+
}
|
2148 |
+
// get proper events to match start event
|
2149 |
+
var events = postStartEvents[ event.type ];
|
2150 |
+
// bind events to node
|
2151 |
+
events.forEach( function( eventName ) {
|
2152 |
+
window.addEventListener( eventName, this );
|
2153 |
+
}, this );
|
2154 |
+
// save these arguments
|
2155 |
+
this._boundPointerEvents = events;
|
2156 |
+
};
|
2157 |
+
|
2158 |
+
proto._unbindPostStartEvents = function() {
|
2159 |
+
// check for _boundEvents, in case dragEnd triggered twice (old IE8 bug)
|
2160 |
+
if ( !this._boundPointerEvents ) {
|
2161 |
+
return;
|
2162 |
+
}
|
2163 |
+
this._boundPointerEvents.forEach( function( eventName ) {
|
2164 |
+
window.removeEventListener( eventName, this );
|
2165 |
+
}, this );
|
2166 |
+
|
2167 |
+
delete this._boundPointerEvents;
|
2168 |
+
};
|
2169 |
+
|
2170 |
+
// ----- move event ----- //
|
2171 |
+
|
2172 |
+
proto.onmousemove = function( event ) {
|
2173 |
+
this._pointerMove( event, event );
|
2174 |
+
};
|
2175 |
+
|
2176 |
+
proto.onMSPointerMove =
|
2177 |
+
proto.onpointermove = function( event ) {
|
2178 |
+
if ( event.pointerId == this.pointerIdentifier ) {
|
2179 |
+
this._pointerMove( event, event );
|
2180 |
+
}
|
2181 |
+
};
|
2182 |
+
|
2183 |
+
proto.ontouchmove = function( event ) {
|
2184 |
+
var touch = this.getTouch( event.changedTouches );
|
2185 |
+
if ( touch ) {
|
2186 |
+
this._pointerMove( event, touch );
|
2187 |
+
}
|
2188 |
+
};
|
2189 |
+
|
2190 |
+
/**
|
2191 |
+
* pointer move
|
2192 |
+
* @param {Event} event
|
2193 |
+
* @param {Event or Touch} pointer
|
2194 |
+
* @private
|
2195 |
+
*/
|
2196 |
+
proto._pointerMove = function( event, pointer ) {
|
2197 |
+
this.pointerMove( event, pointer );
|
2198 |
+
};
|
2199 |
+
|
2200 |
+
// public
|
2201 |
+
proto.pointerMove = function( event, pointer ) {
|
2202 |
+
this.emitEvent( 'pointerMove', [ event, pointer ] );
|
2203 |
+
};
|
2204 |
+
|
2205 |
+
// ----- end event ----- //
|
2206 |
+
|
2207 |
+
|
2208 |
+
proto.onmouseup = function( event ) {
|
2209 |
+
this._pointerUp( event, event );
|
2210 |
+
};
|
2211 |
+
|
2212 |
+
proto.onMSPointerUp =
|
2213 |
+
proto.onpointerup = function( event ) {
|
2214 |
+
if ( event.pointerId == this.pointerIdentifier ) {
|
2215 |
+
this._pointerUp( event, event );
|
2216 |
+
}
|
2217 |
+
};
|
2218 |
+
|
2219 |
+
proto.ontouchend = function( event ) {
|
2220 |
+
var touch = this.getTouch( event.changedTouches );
|
2221 |
+
if ( touch ) {
|
2222 |
+
this._pointerUp( event, touch );
|
2223 |
+
}
|
2224 |
+
};
|
2225 |
+
|
2226 |
+
/**
|
2227 |
+
* pointer up
|
2228 |
+
* @param {Event} event
|
2229 |
+
* @param {Event or Touch} pointer
|
2230 |
+
* @private
|
2231 |
+
*/
|
2232 |
+
proto._pointerUp = function( event, pointer ) {
|
2233 |
+
this._pointerDone();
|
2234 |
+
this.pointerUp( event, pointer );
|
2235 |
+
};
|
2236 |
+
|
2237 |
+
// public
|
2238 |
+
proto.pointerUp = function( event, pointer ) {
|
2239 |
+
this.emitEvent( 'pointerUp', [ event, pointer ] );
|
2240 |
+
};
|
2241 |
+
|
2242 |
+
// ----- pointer done ----- //
|
2243 |
+
|
2244 |
+
// triggered on pointer up & pointer cancel
|
2245 |
+
proto._pointerDone = function() {
|
2246 |
+
// reset properties
|
2247 |
+
this.isPointerDown = false;
|
2248 |
+
delete this.pointerIdentifier;
|
2249 |
+
// remove events
|
2250 |
+
this._unbindPostStartEvents();
|
2251 |
+
this.pointerDone();
|
2252 |
+
};
|
2253 |
+
|
2254 |
+
proto.pointerDone = noop;
|
2255 |
+
|
2256 |
+
// ----- pointer cancel ----- //
|
2257 |
+
|
2258 |
+
proto.onMSPointerCancel =
|
2259 |
+
proto.onpointercancel = function( event ) {
|
2260 |
+
if ( event.pointerId == this.pointerIdentifier ) {
|
2261 |
+
this._pointerCancel( event, event );
|
2262 |
+
}
|
2263 |
+
};
|
2264 |
+
|
2265 |
+
proto.ontouchcancel = function( event ) {
|
2266 |
+
var touch = this.getTouch( event.changedTouches );
|
2267 |
+
if ( touch ) {
|
2268 |
+
this._pointerCancel( event, touch );
|
2269 |
+
}
|
2270 |
+
};
|
2271 |
+
|
2272 |
+
/**
|
2273 |
+
* pointer cancel
|
2274 |
+
* @param {Event} event
|
2275 |
+
* @param {Event or Touch} pointer
|
2276 |
+
* @private
|
2277 |
+
*/
|
2278 |
+
proto._pointerCancel = function( event, pointer ) {
|
2279 |
+
this._pointerDone();
|
2280 |
+
this.pointerCancel( event, pointer );
|
2281 |
+
};
|
2282 |
+
|
2283 |
+
// public
|
2284 |
+
proto.pointerCancel = function( event, pointer ) {
|
2285 |
+
this.emitEvent( 'pointerCancel', [ event, pointer ] );
|
2286 |
+
};
|
2287 |
+
|
2288 |
+
// ----- ----- //
|
2289 |
+
|
2290 |
+
// utility function for getting x/y coords from event
|
2291 |
+
Unipointer.getPointerPoint = function( pointer ) {
|
2292 |
+
return {
|
2293 |
+
x: pointer.pageX,
|
2294 |
+
y: pointer.pageY
|
2295 |
+
};
|
2296 |
+
};
|
2297 |
+
|
2298 |
+
// ----- ----- //
|
2299 |
+
|
2300 |
+
return Unipointer;
|
2301 |
+
|
2302 |
+
}));
|
2303 |
+
|
2304 |
+
/*!
|
2305 |
+
* Unidragger v2.1.0
|
2306 |
+
* Draggable base class
|
2307 |
+
* MIT license
|
2308 |
+
*/
|
2309 |
+
|
2310 |
+
/*jshint browser: true, unused: true, undef: true, strict: true */
|
2311 |
+
|
2312 |
+
( function( window, factory ) {
|
2313 |
+
// universal module definition
|
2314 |
+
/*jshint strict: false */ /*globals define, module, require */
|
2315 |
+
|
2316 |
+
if ( typeof define == 'function' && define.amd ) {
|
2317 |
+
// AMD
|
2318 |
+
define( 'unidragger/unidragger',[
|
2319 |
+
'unipointer/unipointer'
|
2320 |
+
], function( Unipointer ) {
|
2321 |
+
return factory( window, Unipointer );
|
2322 |
+
});
|
2323 |
+
} else if ( typeof module == 'object' && module.exports ) {
|
2324 |
+
// CommonJS
|
2325 |
+
module.exports = factory(
|
2326 |
+
window,
|
2327 |
+
require('unipointer')
|
2328 |
+
);
|
2329 |
+
} else {
|
2330 |
+
// browser global
|
2331 |
+
window.Unidragger = factory(
|
2332 |
+
window,
|
2333 |
+
window.Unipointer
|
2334 |
+
);
|
2335 |
+
}
|
2336 |
+
|
2337 |
+
}( window, function factory( window, Unipointer ) {
|
2338 |
+
|
2339 |
+
|
2340 |
+
|
2341 |
+
// ----- ----- //
|
2342 |
+
|
2343 |
+
function noop() {}
|
2344 |
+
|
2345 |
+
// -------------------------- Unidragger -------------------------- //
|
2346 |
+
|
2347 |
+
function Unidragger() {}
|
2348 |
+
|
2349 |
+
// inherit Unipointer & EvEmitter
|
2350 |
+
var proto = Unidragger.prototype = Object.create( Unipointer.prototype );
|
2351 |
+
|
2352 |
+
// ----- bind start ----- //
|
2353 |
+
|
2354 |
+
proto.bindHandles = function() {
|
2355 |
+
this._bindHandles( true );
|
2356 |
+
};
|
2357 |
+
|
2358 |
+
proto.unbindHandles = function() {
|
2359 |
+
this._bindHandles( false );
|
2360 |
+
};
|
2361 |
+
|
2362 |
+
var navigator = window.navigator;
|
2363 |
+
/**
|
2364 |
+
* works as unbinder, as you can .bindHandles( false ) to unbind
|
2365 |
+
* @param {Boolean} isBind - will unbind if falsey
|
2366 |
+
*/
|
2367 |
+
proto._bindHandles = function( isBind ) {
|
2368 |
+
// munge isBind, default to true
|
2369 |
+
isBind = isBind === undefined ? true : !!isBind;
|
2370 |
+
// extra bind logic
|
2371 |
+
var binderExtra;
|
2372 |
+
if ( navigator.pointerEnabled ) {
|
2373 |
+
binderExtra = function( handle ) {
|
2374 |
+
// disable scrolling on the element
|
2375 |
+
handle.style.touchAction = isBind ? 'none' : '';
|
2376 |
+
};
|
2377 |
+
} else if ( navigator.msPointerEnabled ) {
|
2378 |
+
binderExtra = function( handle ) {
|
2379 |
+
// disable scrolling on the element
|
2380 |
+
handle.style.msTouchAction = isBind ? 'none' : '';
|
2381 |
+
};
|
2382 |
+
} else {
|
2383 |
+
binderExtra = noop;
|
2384 |
+
}
|
2385 |
+
// bind each handle
|
2386 |
+
var bindMethod = isBind ? 'addEventListener' : 'removeEventListener';
|
2387 |
+
for ( var i=0; i < this.handles.length; i++ ) {
|
2388 |
+
var handle = this.handles[i];
|
2389 |
+
this._bindStartEvent( handle, isBind );
|
2390 |
+
binderExtra( handle );
|
2391 |
+
handle[ bindMethod ]( 'click', this );
|
2392 |
+
}
|
2393 |
+
};
|
2394 |
+
|
2395 |
+
// ----- start event ----- //
|
2396 |
+
|
2397 |
+
/**
|
2398 |
+
* pointer start
|
2399 |
+
* @param {Event} event
|
2400 |
+
* @param {Event or Touch} pointer
|
2401 |
+
*/
|
2402 |
+
proto.pointerDown = function( event, pointer ) {
|
2403 |
+
// dismiss range sliders
|
2404 |
+
if ( event.target.nodeName == 'INPUT' && event.target.type == 'range' ) {
|
2405 |
+
// reset pointerDown logic
|
2406 |
+
this.isPointerDown = false;
|
2407 |
+
delete this.pointerIdentifier;
|
2408 |
+
return;
|
2409 |
+
}
|
2410 |
+
|
2411 |
+
this._dragPointerDown( event, pointer );
|
2412 |
+
// kludge to blur focused inputs in dragger
|
2413 |
+
var focused = document.activeElement;
|
2414 |
+
if ( focused && focused.blur ) {
|
2415 |
+
focused.blur();
|
2416 |
+
}
|
2417 |
+
// bind move and end events
|
2418 |
+
this._bindPostStartEvents( event );
|
2419 |
+
this.emitEvent( 'pointerDown', [ event, pointer ] );
|
2420 |
+
};
|
2421 |
+
|
2422 |
+
// base pointer down logic
|
2423 |
+
proto._dragPointerDown = function( event, pointer ) {
|
2424 |
+
// track to see when dragging starts
|
2425 |
+
this.pointerDownPoint = Unipointer.getPointerPoint( pointer );
|
2426 |
+
|
2427 |
+
var canPreventDefault = this.canPreventDefaultOnPointerDown( event, pointer );
|
2428 |
+
if ( canPreventDefault ) {
|
2429 |
+
event.preventDefault();
|
2430 |
+
}
|
2431 |
+
};
|
2432 |
+
|
2433 |
+
// overwriteable method so Flickity can prevent for scrolling
|
2434 |
+
proto.canPreventDefaultOnPointerDown = function( event ) {
|
2435 |
+
// prevent default, unless touchstart or <select>
|
2436 |
+
return event.target.nodeName != 'SELECT';
|
2437 |
+
};
|
2438 |
+
|
2439 |
+
// ----- move event ----- //
|
2440 |
+
|
2441 |
+
/**
|
2442 |
+
* drag move
|
2443 |
+
* @param {Event} event
|
2444 |
+
* @param {Event or Touch} pointer
|
2445 |
+
*/
|
2446 |
+
proto.pointerMove = function( event, pointer ) {
|
2447 |
+
var moveVector = this._dragPointerMove( event, pointer );
|
2448 |
+
this.emitEvent( 'pointerMove', [ event, pointer, moveVector ] );
|
2449 |
+
this._dragMove( event, pointer, moveVector );
|
2450 |
+
};
|
2451 |
+
|
2452 |
+
// base pointer move logic
|
2453 |
+
proto._dragPointerMove = function( event, pointer ) {
|
2454 |
+
var movePoint = Unipointer.getPointerPoint( pointer );
|
2455 |
+
var moveVector = {
|
2456 |
+
x: movePoint.x - this.pointerDownPoint.x,
|
2457 |
+
y: movePoint.y - this.pointerDownPoint.y
|
2458 |
+
};
|
2459 |
+
// start drag if pointer has moved far enough to start drag
|
2460 |
+
if ( !this.isDragging && this.hasDragStarted( moveVector ) ) {
|
2461 |
+
this._dragStart( event, pointer );
|
2462 |
+
}
|
2463 |
+
return moveVector;
|
2464 |
+
};
|
2465 |
+
|
2466 |
+
// condition if pointer has moved far enough to start drag
|
2467 |
+
proto.hasDragStarted = function( moveVector ) {
|
2468 |
+
return Math.abs( moveVector.x ) > 3 || Math.abs( moveVector.y ) > 3;
|
2469 |
+
};
|
2470 |
+
|
2471 |
+
|
2472 |
+
// ----- end event ----- //
|
2473 |
+
|
2474 |
+
/**
|
2475 |
+
* pointer up
|
2476 |
+
* @param {Event} event
|
2477 |
+
* @param {Event or Touch} pointer
|
2478 |
+
*/
|
2479 |
+
proto.pointerUp = function( event, pointer ) {
|
2480 |
+
this.emitEvent( 'pointerUp', [ event, pointer ] );
|
2481 |
+
this._dragPointerUp( event, pointer );
|
2482 |
+
};
|
2483 |
+
|
2484 |
+
proto._dragPointerUp = function( event, pointer ) {
|
2485 |
+
if ( this.isDragging ) {
|
2486 |
+
this._dragEnd( event, pointer );
|
2487 |
+
} else {
|
2488 |
+
// pointer didn't move enough for drag to start
|
2489 |
+
this._staticClick( event, pointer );
|
2490 |
+
}
|
2491 |
+
};
|
2492 |
+
|
2493 |
+
// -------------------------- drag -------------------------- //
|
2494 |
+
|
2495 |
+
// dragStart
|
2496 |
+
proto._dragStart = function( event, pointer ) {
|
2497 |
+
this.isDragging = true;
|
2498 |
+
this.dragStartPoint = Unipointer.getPointerPoint( pointer );
|
2499 |
+
// prevent clicks
|
2500 |
+
this.isPreventingClicks = true;
|
2501 |
+
|
2502 |
+
this.dragStart( event, pointer );
|
2503 |
+
};
|
2504 |
+
|
2505 |
+
proto.dragStart = function( event, pointer ) {
|
2506 |
+
this.emitEvent( 'dragStart', [ event, pointer ] );
|
2507 |
+
};
|
2508 |
+
|
2509 |
+
// dragMove
|
2510 |
+
proto._dragMove = function( event, pointer, moveVector ) {
|
2511 |
+
// do not drag if not dragging yet
|
2512 |
+
if ( !this.isDragging ) {
|
2513 |
+
return;
|
2514 |
+
}
|
2515 |
+
|
2516 |
+
this.dragMove( event, pointer, moveVector );
|
2517 |
+
};
|
2518 |
+
|
2519 |
+
proto.dragMove = function( event, pointer, moveVector ) {
|
2520 |
+
event.preventDefault();
|
2521 |
+
this.emitEvent( 'dragMove', [ event, pointer, moveVector ] );
|
2522 |
+
};
|
2523 |
+
|
2524 |
+
// dragEnd
|
2525 |
+
proto._dragEnd = function( event, pointer ) {
|
2526 |
+
// set flags
|
2527 |
+
this.isDragging = false;
|
2528 |
+
// re-enable clicking async
|
2529 |
+
setTimeout( function() {
|
2530 |
+
delete this.isPreventingClicks;
|
2531 |
+
}.bind( this ) );
|
2532 |
+
|
2533 |
+
this.dragEnd( event, pointer );
|
2534 |
+
};
|
2535 |
+
|
2536 |
+
proto.dragEnd = function( event, pointer ) {
|
2537 |
+
this.emitEvent( 'dragEnd', [ event, pointer ] );
|
2538 |
+
};
|
2539 |
+
|
2540 |
+
// ----- onclick ----- //
|
2541 |
+
|
2542 |
+
// handle all clicks and prevent clicks when dragging
|
2543 |
+
proto.onclick = function( event ) {
|
2544 |
+
if ( this.isPreventingClicks ) {
|
2545 |
+
event.preventDefault();
|
2546 |
+
}
|
2547 |
+
};
|
2548 |
+
|
2549 |
+
// ----- staticClick ----- //
|
2550 |
+
|
2551 |
+
// triggered after pointer down & up with no/tiny movement
|
2552 |
+
proto._staticClick = function( event, pointer ) {
|
2553 |
+
// ignore emulated mouse up clicks
|
2554 |
+
if ( this.isIgnoringMouseUp && event.type == 'mouseup' ) {
|
2555 |
+
return;
|
2556 |
+
}
|
2557 |
+
|
2558 |
+
// allow click in <input>s and <textarea>s
|
2559 |
+
var nodeName = event.target.nodeName;
|
2560 |
+
if ( nodeName == 'INPUT' || nodeName == 'TEXTAREA' ) {
|
2561 |
+
event.target.focus();
|
2562 |
+
}
|
2563 |
+
this.staticClick( event, pointer );
|
2564 |
+
|
2565 |
+
// set flag for emulated clicks 300ms after touchend
|
2566 |
+
if ( event.type != 'mouseup' ) {
|
2567 |
+
this.isIgnoringMouseUp = true;
|
2568 |
+
// reset flag after 300ms
|
2569 |
+
setTimeout( function() {
|
2570 |
+
delete this.isIgnoringMouseUp;
|
2571 |
+
}.bind( this ), 400 );
|
2572 |
+
}
|
2573 |
+
};
|
2574 |
+
|
2575 |
+
proto.staticClick = function( event, pointer ) {
|
2576 |
+
this.emitEvent( 'staticClick', [ event, pointer ] );
|
2577 |
+
};
|
2578 |
+
|
2579 |
+
// ----- utils ----- //
|
2580 |
+
|
2581 |
+
Unidragger.getPointerPoint = Unipointer.getPointerPoint;
|
2582 |
+
|
2583 |
+
// ----- ----- //
|
2584 |
+
|
2585 |
+
return Unidragger;
|
2586 |
+
|
2587 |
+
}));
|
2588 |
+
|
2589 |
+
// drag
|
2590 |
+
( function( window, factory ) {
|
2591 |
+
// universal module definition
|
2592 |
+
/* jshint strict: false */
|
2593 |
+
if ( typeof define == 'function' && define.amd ) {
|
2594 |
+
// AMD
|
2595 |
+
define( 'flickity/js/drag',[
|
2596 |
+
'./flickity',
|
2597 |
+
'unidragger/unidragger',
|
2598 |
+
'fizzy-ui-utils/utils'
|
2599 |
+
], function( Flickity, Unidragger, utils ) {
|
2600 |
+
return factory( window, Flickity, Unidragger, utils );
|
2601 |
+
});
|
2602 |
+
} else if ( typeof module == 'object' && module.exports ) {
|
2603 |
+
// CommonJS
|
2604 |
+
module.exports = factory(
|
2605 |
+
window,
|
2606 |
+
require('./flickity'),
|
2607 |
+
require('unidragger'),
|
2608 |
+
require('fizzy-ui-utils')
|
2609 |
+
);
|
2610 |
+
} else {
|
2611 |
+
// browser global
|
2612 |
+
window.Flickity = factory(
|
2613 |
+
window,
|
2614 |
+
window.Flickity,
|
2615 |
+
window.Unidragger,
|
2616 |
+
window.fizzyUIUtils
|
2617 |
+
);
|
2618 |
+
}
|
2619 |
+
|
2620 |
+
}( window, function factory( window, Flickity, Unidragger, utils ) {
|
2621 |
+
|
2622 |
+
|
2623 |
+
|
2624 |
+
// ----- defaults ----- //
|
2625 |
+
|
2626 |
+
utils.extend( Flickity.defaults, {
|
2627 |
+
draggable: true,
|
2628 |
+
dragThreshold: 3,
|
2629 |
+
});
|
2630 |
+
|
2631 |
+
// ----- create ----- //
|
2632 |
+
|
2633 |
+
Flickity.createMethods.push('_createDrag');
|
2634 |
+
|
2635 |
+
// -------------------------- drag prototype -------------------------- //
|
2636 |
+
|
2637 |
+
var proto = Flickity.prototype;
|
2638 |
+
utils.extend( proto, Unidragger.prototype );
|
2639 |
+
|
2640 |
+
// -------------------------- -------------------------- //
|
2641 |
+
|
2642 |
+
proto._createDrag = function() {
|
2643 |
+
this.on( 'activate', this.bindDrag );
|
2644 |
+
this.on( 'uiChange', this._uiChangeDrag );
|
2645 |
+
this.on( 'childUIPointerDown', this._childUIPointerDownDrag );
|
2646 |
+
this.on( 'deactivate', this.unbindDrag );
|
2647 |
+
};
|
2648 |
+
|
2649 |
+
proto.bindDrag = function() {
|
2650 |
+
if ( !this.options.draggable || this.isDragBound ) {
|
2651 |
+
return;
|
2652 |
+
}
|
2653 |
+
this.element.classList.add('is-draggable');
|
2654 |
+
this.handles = [ this.viewport ];
|
2655 |
+
this.bindHandles();
|
2656 |
+
this.isDragBound = true;
|
2657 |
+
};
|
2658 |
+
|
2659 |
+
proto.unbindDrag = function() {
|
2660 |
+
if ( !this.isDragBound ) {
|
2661 |
+
return;
|
2662 |
+
}
|
2663 |
+
this.element.classList.remove('is-draggable');
|
2664 |
+
this.unbindHandles();
|
2665 |
+
delete this.isDragBound;
|
2666 |
+
};
|
2667 |
+
|
2668 |
+
proto._uiChangeDrag = function() {
|
2669 |
+
delete this.isFreeScrolling;
|
2670 |
+
};
|
2671 |
+
|
2672 |
+
proto._childUIPointerDownDrag = function( event ) {
|
2673 |
+
event.preventDefault();
|
2674 |
+
this.pointerDownFocus( event );
|
2675 |
+
};
|
2676 |
+
|
2677 |
+
// -------------------------- pointer events -------------------------- //
|
2678 |
+
|
2679 |
+
// nodes that have text fields
|
2680 |
+
var cursorNodes = {
|
2681 |
+
TEXTAREA: true,
|
2682 |
+
INPUT: true,
|
2683 |
+
};
|
2684 |
+
|
2685 |
+
// input types that do not have text fields
|
2686 |
+
var clickTypes = {
|
2687 |
+
radio: true,
|
2688 |
+
checkbox: true,
|
2689 |
+
button: true,
|
2690 |
+
submit: true,
|
2691 |
+
image: true,
|
2692 |
+
file: true,
|
2693 |
+
};
|
2694 |
+
|
2695 |
+
proto.pointerDown = function( event, pointer ) {
|
2696 |
+
// dismiss inputs with text fields. #404
|
2697 |
+
var isCursorInput = cursorNodes[ event.target.nodeName ] &&
|
2698 |
+
!clickTypes[ event.target.type ];
|
2699 |
+
if ( isCursorInput ) {
|
2700 |
+
// reset pointerDown logic
|
2701 |
+
this.isPointerDown = false;
|
2702 |
+
delete this.pointerIdentifier;
|
2703 |
+
return;
|
2704 |
+
}
|
2705 |
+
|
2706 |
+
this._dragPointerDown( event, pointer );
|
2707 |
+
|
2708 |
+
// kludge to blur focused inputs in dragger
|
2709 |
+
var focused = document.activeElement;
|
2710 |
+
if ( focused && focused.blur && focused != this.element &&
|
2711 |
+
// do not blur body for IE9 & 10, #117
|
2712 |
+
focused != document.body ) {
|
2713 |
+
focused.blur();
|
2714 |
+
}
|
2715 |
+
this.pointerDownFocus( event );
|
2716 |
+
// stop if it was moving
|
2717 |
+
this.dragX = this.x;
|
2718 |
+
this.viewport.classList.add('is-pointer-down');
|
2719 |
+
// bind move and end events
|
2720 |
+
this._bindPostStartEvents( event );
|
2721 |
+
// track scrolling
|
2722 |
+
this.pointerDownScroll = getScrollPosition();
|
2723 |
+
window.addEventListener( 'scroll', this );
|
2724 |
+
|
2725 |
+
this.dispatchEvent( 'pointerDown', event, [ pointer ] );
|
2726 |
+
};
|
2727 |
+
|
2728 |
+
var touchStartEvents = {
|
2729 |
+
touchstart: true,
|
2730 |
+
MSPointerDown: true
|
2731 |
+
};
|
2732 |
+
|
2733 |
+
var focusNodes = {
|
2734 |
+
INPUT: true,
|
2735 |
+
SELECT: true
|
2736 |
+
};
|
2737 |
+
|
2738 |
+
proto.pointerDownFocus = function( event ) {
|
2739 |
+
// focus element, if not touch, and its not an input or select
|
2740 |
+
if ( !this.options.accessibility || touchStartEvents[ event.type ] ||
|
2741 |
+
focusNodes[ event.target.nodeName ] ) {
|
2742 |
+
return;
|
2743 |
+
}
|
2744 |
+
var prevScrollY = window.pageYOffset;
|
2745 |
+
this.element.focus();
|
2746 |
+
// hack to fix scroll jump after focus, #76
|
2747 |
+
if ( window.pageYOffset != prevScrollY ) {
|
2748 |
+
window.scrollTo( window.pageXOffset, prevScrollY );
|
2749 |
+
}
|
2750 |
+
};
|
2751 |
+
|
2752 |
+
proto.canPreventDefaultOnPointerDown = function( event ) {
|
2753 |
+
// prevent default, unless touchstart or <select>
|
2754 |
+
var isTouchstart = event.type == 'touchstart';
|
2755 |
+
var targetNodeName = event.target.nodeName;
|
2756 |
+
return !isTouchstart && targetNodeName != 'SELECT';
|
2757 |
+
};
|
2758 |
+
|
2759 |
+
// ----- move ----- //
|
2760 |
+
|
2761 |
+
proto.hasDragStarted = function( moveVector ) {
|
2762 |
+
return Math.abs( moveVector.x ) > this.options.dragThreshold;
|
2763 |
+
};
|
2764 |
+
|
2765 |
+
// ----- up ----- //
|
2766 |
+
|
2767 |
+
proto.pointerUp = function( event, pointer ) {
|
2768 |
+
delete this.isTouchScrolling;
|
2769 |
+
this.viewport.classList.remove('is-pointer-down');
|
2770 |
+
this.dispatchEvent( 'pointerUp', event, [ pointer ] );
|
2771 |
+
this._dragPointerUp( event, pointer );
|
2772 |
+
};
|
2773 |
+
|
2774 |
+
proto.pointerDone = function() {
|
2775 |
+
window.removeEventListener( 'scroll', this );
|
2776 |
+
delete this.pointerDownScroll;
|
2777 |
+
};
|
2778 |
+
|
2779 |
+
// -------------------------- dragging -------------------------- //
|
2780 |
+
|
2781 |
+
proto.dragStart = function( event, pointer ) {
|
2782 |
+
this.dragStartPosition = this.x;
|
2783 |
+
this.startAnimation();
|
2784 |
+
this.dispatchEvent( 'dragStart', event, [ pointer ] );
|
2785 |
+
};
|
2786 |
+
|
2787 |
+
proto.pointerMove = function( event, pointer ) {
|
2788 |
+
var moveVector = this._dragPointerMove( event, pointer );
|
2789 |
+
this.dispatchEvent( 'pointerMove', event, [ pointer, moveVector ] );
|
2790 |
+
this._dragMove( event, pointer, moveVector );
|
2791 |
+
};
|
2792 |
+
|
2793 |
+
proto.dragMove = function( event, pointer, moveVector ) {
|
2794 |
+
event.preventDefault();
|
2795 |
+
|
2796 |
+
this.previousDragX = this.dragX;
|
2797 |
+
// reverse if right-to-left
|
2798 |
+
var direction = this.options.rightToLeft ? -1 : 1;
|
2799 |
+
var dragX = this.dragStartPosition + moveVector.x * direction;
|
2800 |
+
|
2801 |
+
if ( !this.options.wrapAround && this.slides.length ) {
|
2802 |
+
// slow drag
|
2803 |
+
var originBound = Math.max( -this.slides[0].target, this.dragStartPosition );
|
2804 |
+
dragX = dragX > originBound ? ( dragX + originBound ) * 0.5 : dragX;
|
2805 |
+
var endBound = Math.min( -this.getLastSlide().target, this.dragStartPosition );
|
2806 |
+
dragX = dragX < endBound ? ( dragX + endBound ) * 0.5 : dragX;
|
2807 |
+
}
|
2808 |
+
|
2809 |
+
this.dragX = dragX;
|
2810 |
+
|
2811 |
+
this.dragMoveTime = new Date();
|
2812 |
+
this.dispatchEvent( 'dragMove', event, [ pointer, moveVector ] );
|
2813 |
+
};
|
2814 |
+
|
2815 |
+
proto.dragEnd = function( event, pointer ) {
|
2816 |
+
if ( this.options.freeScroll ) {
|
2817 |
+
this.isFreeScrolling = true;
|
2818 |
+
}
|
2819 |
+
// set selectedIndex based on where flick will end up
|
2820 |
+
var index = this.dragEndRestingSelect();
|
2821 |
+
|
2822 |
+
if ( this.options.freeScroll && !this.options.wrapAround ) {
|
2823 |
+
// if free-scroll & not wrap around
|
2824 |
+
// do not free-scroll if going outside of bounding slides
|
2825 |
+
// so bounding slides can attract slider, and keep it in bounds
|
2826 |
+
var restingX = this.getRestingPosition();
|
2827 |
+
this.isFreeScrolling = -restingX > this.slides[0].target &&
|
2828 |
+
-restingX < this.getLastSlide().target;
|
2829 |
+
} else if ( !this.options.freeScroll && index == this.selectedIndex ) {
|
2830 |
+
// boost selection if selected index has not changed
|
2831 |
+
index += this.dragEndBoostSelect();
|
2832 |
+
}
|
2833 |
+
delete this.previousDragX;
|
2834 |
+
// apply selection
|
2835 |
+
// TODO refactor this, selecting here feels weird
|
2836 |
+
// HACK, set flag so dragging stays in correct direction
|
2837 |
+
this.isDragSelect = this.options.wrapAround;
|
2838 |
+
this.select( index );
|
2839 |
+
delete this.isDragSelect;
|
2840 |
+
this.dispatchEvent( 'dragEnd', event, [ pointer ] );
|
2841 |
+
};
|
2842 |
+
|
2843 |
+
proto.dragEndRestingSelect = function() {
|
2844 |
+
var restingX = this.getRestingPosition();
|
2845 |
+
// how far away from selected slide
|
2846 |
+
var distance = Math.abs( this.getSlideDistance( -restingX, this.selectedIndex ) );
|
2847 |
+
// get closet resting going up and going down
|
2848 |
+
var positiveResting = this._getClosestResting( restingX, distance, 1 );
|
2849 |
+
var negativeResting = this._getClosestResting( restingX, distance, -1 );
|
2850 |
+
// use closer resting for wrap-around
|
2851 |
+
var index = positiveResting.distance < negativeResting.distance ?
|
2852 |
+
positiveResting.index : negativeResting.index;
|
2853 |
+
return index;
|
2854 |
+
};
|
2855 |
+
|
2856 |
+
/**
|
2857 |
+
* given resting X and distance to selected cell
|
2858 |
+
* get the distance and index of the closest cell
|
2859 |
+
* @param {Number} restingX - estimated post-flick resting position
|
2860 |
+
* @param {Number} distance - distance to selected cell
|
2861 |
+
* @param {Integer} increment - +1 or -1, going up or down
|
2862 |
+
* @returns {Object} - { distance: {Number}, index: {Integer} }
|
2863 |
+
*/
|
2864 |
+
proto._getClosestResting = function( restingX, distance, increment ) {
|
2865 |
+
var index = this.selectedIndex;
|
2866 |
+
var minDistance = Infinity;
|
2867 |
+
var condition = this.options.contain && !this.options.wrapAround ?
|
2868 |
+
// if contain, keep going if distance is equal to minDistance
|
2869 |
+
function( d, md ) { return d <= md; } : function( d, md ) { return d < md; };
|
2870 |
+
while ( condition( distance, minDistance ) ) {
|
2871 |
+
// measure distance to next cell
|
2872 |
+
index += increment;
|
2873 |
+
minDistance = distance;
|
2874 |
+
distance = this.getSlideDistance( -restingX, index );
|
2875 |
+
if ( distance === null ) {
|
2876 |
+
break;
|
2877 |
+
}
|
2878 |
+
distance = Math.abs( distance );
|
2879 |
+
}
|
2880 |
+
return {
|
2881 |
+
distance: minDistance,
|
2882 |
+
// selected was previous index
|
2883 |
+
index: index - increment
|
2884 |
+
};
|
2885 |
+
};
|
2886 |
+
|
2887 |
+
/**
|
2888 |
+
* measure distance between x and a slide target
|
2889 |
+
* @param {Number} x
|
2890 |
+
* @param {Integer} index - slide index
|
2891 |
+
*/
|
2892 |
+
proto.getSlideDistance = function( x, index ) {
|
2893 |
+
var len = this.slides.length;
|
2894 |
+
// wrap around if at least 2 slides
|
2895 |
+
var isWrapAround = this.options.wrapAround && len > 1;
|
2896 |
+
var slideIndex = isWrapAround ? utils.modulo( index, len ) : index;
|
2897 |
+
var slide = this.slides[ slideIndex ];
|
2898 |
+
if ( !slide ) {
|
2899 |
+
return null;
|
2900 |
+
}
|
2901 |
+
// add distance for wrap-around slides
|
2902 |
+
var wrap = isWrapAround ? this.slideableWidth * Math.floor( index / len ) : 0;
|
2903 |
+
return x - ( slide.target + wrap );
|
2904 |
+
};
|
2905 |
+
|
2906 |
+
proto.dragEndBoostSelect = function() {
|
2907 |
+
// do not boost if no previousDragX or dragMoveTime
|
2908 |
+
if ( this.previousDragX === undefined || !this.dragMoveTime ||
|
2909 |
+
// or if drag was held for 100 ms
|
2910 |
+
new Date() - this.dragMoveTime > 100 ) {
|
2911 |
+
return 0;
|
2912 |
+
}
|
2913 |
+
|
2914 |
+
var distance = this.getSlideDistance( -this.dragX, this.selectedIndex );
|
2915 |
+
var delta = this.previousDragX - this.dragX;
|
2916 |
+
if ( distance > 0 && delta > 0 ) {
|
2917 |
+
// boost to next if moving towards the right, and positive velocity
|
2918 |
+
return 1;
|
2919 |
+
} else if ( distance < 0 && delta < 0 ) {
|
2920 |
+
// boost to previous if moving towards the left, and negative velocity
|
2921 |
+
return -1;
|
2922 |
+
}
|
2923 |
+
return 0;
|
2924 |
+
};
|
2925 |
+
|
2926 |
+
// ----- staticClick ----- //
|
2927 |
+
|
2928 |
+
proto.staticClick = function( event, pointer ) {
|
2929 |
+
// get clickedCell, if cell was clicked
|
2930 |
+
var clickedCell = this.getParentCell( event.target );
|
2931 |
+
var cellElem = clickedCell && clickedCell.element;
|
2932 |
+
var cellIndex = clickedCell && this.cells.indexOf( clickedCell );
|
2933 |
+
this.dispatchEvent( 'staticClick', event, [ pointer, cellElem, cellIndex ] );
|
2934 |
+
};
|
2935 |
+
|
2936 |
+
// ----- scroll ----- //
|
2937 |
+
|
2938 |
+
proto.onscroll = function() {
|
2939 |
+
var scroll = getScrollPosition();
|
2940 |
+
var scrollMoveX = this.pointerDownScroll.x - scroll.x;
|
2941 |
+
var scrollMoveY = this.pointerDownScroll.y - scroll.y;
|
2942 |
+
// cancel click/tap if scroll is too much
|
2943 |
+
if ( Math.abs( scrollMoveX ) > 3 || Math.abs( scrollMoveY ) > 3 ) {
|
2944 |
+
this._pointerDone();
|
2945 |
+
}
|
2946 |
+
};
|
2947 |
+
|
2948 |
+
// ----- utils ----- //
|
2949 |
+
|
2950 |
+
function getScrollPosition() {
|
2951 |
+
return {
|
2952 |
+
x: window.pageXOffset,
|
2953 |
+
y: window.pageYOffset
|
2954 |
+
};
|
2955 |
+
}
|
2956 |
+
|
2957 |
+
// ----- ----- //
|
2958 |
+
|
2959 |
+
return Flickity;
|
2960 |
+
|
2961 |
+
}));
|
2962 |
+
|
2963 |
+
/*!
|
2964 |
+
* Tap listener v2.0.0
|
2965 |
+
* listens to taps
|
2966 |
+
* MIT license
|
2967 |
+
*/
|
2968 |
+
|
2969 |
+
/*jshint browser: true, unused: true, undef: true, strict: true */
|
2970 |
+
|
2971 |
+
( function( window, factory ) {
|
2972 |
+
// universal module definition
|
2973 |
+
/*jshint strict: false*/ /*globals define, module, require */
|
2974 |
+
|
2975 |
+
if ( typeof define == 'function' && define.amd ) {
|
2976 |
+
// AMD
|
2977 |
+
define( 'tap-listener/tap-listener',[
|
2978 |
+
'unipointer/unipointer'
|
2979 |
+
], function( Unipointer ) {
|
2980 |
+
return factory( window, Unipointer );
|
2981 |
+
});
|
2982 |
+
} else if ( typeof module == 'object' && module.exports ) {
|
2983 |
+
// CommonJS
|
2984 |
+
module.exports = factory(
|
2985 |
+
window,
|
2986 |
+
require('unipointer')
|
2987 |
+
);
|
2988 |
+
} else {
|
2989 |
+
// browser global
|
2990 |
+
window.TapListener = factory(
|
2991 |
+
window,
|
2992 |
+
window.Unipointer
|
2993 |
+
);
|
2994 |
+
}
|
2995 |
+
|
2996 |
+
}( window, function factory( window, Unipointer ) {
|
2997 |
+
|
2998 |
+
|
2999 |
+
|
3000 |
+
// -------------------------- TapListener -------------------------- //
|
3001 |
+
|
3002 |
+
function TapListener( elem ) {
|
3003 |
+
this.bindTap( elem );
|
3004 |
+
}
|
3005 |
+
|
3006 |
+
// inherit Unipointer & EventEmitter
|
3007 |
+
var proto = TapListener.prototype = Object.create( Unipointer.prototype );
|
3008 |
+
|
3009 |
+
/**
|
3010 |
+
* bind tap event to element
|
3011 |
+
* @param {Element} elem
|
3012 |
+
*/
|
3013 |
+
proto.bindTap = function( elem ) {
|
3014 |
+
if ( !elem ) {
|
3015 |
+
return;
|
3016 |
+
}
|
3017 |
+
this.unbindTap();
|
3018 |
+
this.tapElement = elem;
|
3019 |
+
this._bindStartEvent( elem, true );
|
3020 |
+
};
|
3021 |
+
|
3022 |
+
proto.unbindTap = function() {
|
3023 |
+
if ( !this.tapElement ) {
|
3024 |
+
return;
|
3025 |
+
}
|
3026 |
+
this._bindStartEvent( this.tapElement, true );
|
3027 |
+
delete this.tapElement;
|
3028 |
+
};
|
3029 |
+
|
3030 |
+
/**
|
3031 |
+
* pointer up
|
3032 |
+
* @param {Event} event
|
3033 |
+
* @param {Event or Touch} pointer
|
3034 |
+
*/
|
3035 |
+
proto.pointerUp = function( event, pointer ) {
|
3036 |
+
// ignore emulated mouse up clicks
|
3037 |
+
if ( this.isIgnoringMouseUp && event.type == 'mouseup' ) {
|
3038 |
+
return;
|
3039 |
+
}
|
3040 |
+
|
3041 |
+
var pointerPoint = Unipointer.getPointerPoint( pointer );
|
3042 |
+
var boundingRect = this.tapElement.getBoundingClientRect();
|
3043 |
+
var scrollX = window.pageXOffset;
|
3044 |
+
var scrollY = window.pageYOffset;
|
3045 |
+
// calculate if pointer is inside tapElement
|
3046 |
+
var isInside = pointerPoint.x >= boundingRect.left + scrollX &&
|
3047 |
+
pointerPoint.x <= boundingRect.right + scrollX &&
|
3048 |
+
pointerPoint.y >= boundingRect.top + scrollY &&
|
3049 |
+
pointerPoint.y <= boundingRect.bottom + scrollY;
|
3050 |
+
// trigger callback if pointer is inside element
|
3051 |
+
if ( isInside ) {
|
3052 |
+
this.emitEvent( 'tap', [ event, pointer ] );
|
3053 |
+
}
|
3054 |
+
|
3055 |
+
// set flag for emulated clicks 300ms after touchend
|
3056 |
+
if ( event.type != 'mouseup' ) {
|
3057 |
+
this.isIgnoringMouseUp = true;
|
3058 |
+
// reset flag after 300ms
|
3059 |
+
var _this = this;
|
3060 |
+
setTimeout( function() {
|
3061 |
+
delete _this.isIgnoringMouseUp;
|
3062 |
+
}, 400 );
|
3063 |
+
}
|
3064 |
+
};
|
3065 |
+
|
3066 |
+
proto.destroy = function() {
|
3067 |
+
this.pointerDone();
|
3068 |
+
this.unbindTap();
|
3069 |
+
};
|
3070 |
+
|
3071 |
+
// ----- ----- //
|
3072 |
+
|
3073 |
+
return TapListener;
|
3074 |
+
|
3075 |
+
}));
|
3076 |
+
|
3077 |
+
// prev/next buttons
|
3078 |
+
( function( window, factory ) {
|
3079 |
+
// universal module definition
|
3080 |
+
/* jshint strict: false */
|
3081 |
+
if ( typeof define == 'function' && define.amd ) {
|
3082 |
+
// AMD
|
3083 |
+
define( 'flickity/js/prev-next-button',[
|
3084 |
+
'./flickity',
|
3085 |
+
'tap-listener/tap-listener',
|
3086 |
+
'fizzy-ui-utils/utils'
|
3087 |
+
], function( Flickity, TapListener, utils ) {
|
3088 |
+
return factory( window, Flickity, TapListener, utils );
|
3089 |
+
});
|
3090 |
+
} else if ( typeof module == 'object' && module.exports ) {
|
3091 |
+
// CommonJS
|
3092 |
+
module.exports = factory(
|
3093 |
+
window,
|
3094 |
+
require('./flickity'),
|
3095 |
+
require('tap-listener'),
|
3096 |
+
require('fizzy-ui-utils')
|
3097 |
+
);
|
3098 |
+
} else {
|
3099 |
+
// browser global
|
3100 |
+
factory(
|
3101 |
+
window,
|
3102 |
+
window.Flickity,
|
3103 |
+
window.TapListener,
|
3104 |
+
window.fizzyUIUtils
|
3105 |
+
);
|
3106 |
+
}
|
3107 |
+
|
3108 |
+
}( window, function factory( window, Flickity, TapListener, utils ) {
|
3109 |
+
'use strict';
|
3110 |
+
|
3111 |
+
var svgURI = 'http://www.w3.org/2000/svg';
|
3112 |
+
|
3113 |
+
// -------------------------- PrevNextButton -------------------------- //
|
3114 |
+
|
3115 |
+
function PrevNextButton( direction, parent ) {
|
3116 |
+
this.direction = direction;
|
3117 |
+
this.parent = parent;
|
3118 |
+
this._create();
|
3119 |
+
}
|
3120 |
+
|
3121 |
+
PrevNextButton.prototype = new TapListener();
|
3122 |
+
|
3123 |
+
PrevNextButton.prototype._create = function() {
|
3124 |
+
// properties
|
3125 |
+
this.isEnabled = true;
|
3126 |
+
this.isPrevious = this.direction == -1;
|
3127 |
+
var leftDirection = this.parent.options.rightToLeft ? 1 : -1;
|
3128 |
+
this.isLeft = this.direction == leftDirection;
|
3129 |
+
|
3130 |
+
var element = this.element = document.createElement('button');
|
3131 |
+
element.className = 'flickity-prev-next-button';
|
3132 |
+
element.className += this.isPrevious ? ' previous' : ' next';
|
3133 |
+
// prevent button from submitting form http://stackoverflow.com/a/10836076/182183
|
3134 |
+
element.setAttribute( 'type', 'button' );
|
3135 |
+
// init as disabled
|
3136 |
+
this.disable();
|
3137 |
+
|
3138 |
+
element.setAttribute( 'aria-label', this.isPrevious ? 'previous' : 'next' );
|
3139 |
+
|
3140 |
+
// create arrow
|
3141 |
+
var svg = this.createSVG();
|
3142 |
+
element.appendChild( svg );
|
3143 |
+
// update on select
|
3144 |
+
this.parent.on( 'select', function() {
|
3145 |
+
this.update();
|
3146 |
+
}.bind( this ));
|
3147 |
+
// tap
|
3148 |
+
this.on( 'tap', this.onTap );
|
3149 |
+
// pointerDown
|
3150 |
+
this.on( 'pointerDown', function onPointerDown( button, event ) {
|
3151 |
+
this.parent.childUIPointerDown( event );
|
3152 |
+
}.bind( this ));
|
3153 |
+
};
|
3154 |
+
|
3155 |
+
PrevNextButton.prototype.activate = function() {
|
3156 |
+
this.bindTap( this.element );
|
3157 |
+
// click events from keyboard
|
3158 |
+
this.element.addEventListener( 'click', this );
|
3159 |
+
// add to DOM
|
3160 |
+
this.parent.element.appendChild( this.element );
|
3161 |
+
};
|
3162 |
+
|
3163 |
+
PrevNextButton.prototype.deactivate = function() {
|
3164 |
+
// remove from DOM
|
3165 |
+
this.parent.element.removeChild( this.element );
|
3166 |
+
// do regular TapListener destroy
|
3167 |
+
TapListener.prototype.destroy.call( this );
|
3168 |
+
// click events from keyboard
|
3169 |
+
this.element.removeEventListener( 'click', this );
|
3170 |
+
};
|
3171 |
+
|
3172 |
+
PrevNextButton.prototype.createSVG = function() {
|
3173 |
+
var svg = document.createElementNS( svgURI, 'svg');
|
3174 |
+
svg.setAttribute( 'viewBox', '0 0 100 100' );
|
3175 |
+
var path = document.createElementNS( svgURI, 'path');
|
3176 |
+
var pathMovements = getArrowMovements( this.parent.options.arrowShape );
|
3177 |
+
path.setAttribute( 'd', pathMovements );
|
3178 |
+
path.setAttribute( 'class', 'arrow' );
|
3179 |
+
// rotate arrow
|
3180 |
+
if ( !this.isLeft ) {
|
3181 |
+
path.setAttribute( 'transform', 'translate(100, 100) rotate(180) ' );
|
3182 |
+
}
|
3183 |
+
svg.appendChild( path );
|
3184 |
+
return svg;
|
3185 |
+
};
|
3186 |
+
|
3187 |
+
// get SVG path movmement
|
3188 |
+
function getArrowMovements( shape ) {
|
3189 |
+
// use shape as movement if string
|
3190 |
+
if ( typeof shape == 'string' ) {
|
3191 |
+
return shape;
|
3192 |
+
}
|
3193 |
+
// create movement string
|
3194 |
+
return 'M ' + shape.x0 + ',50' +
|
3195 |
+
' L ' + shape.x1 + ',' + ( shape.y1 + 50 ) +
|
3196 |
+
' L ' + shape.x2 + ',' + ( shape.y2 + 50 ) +
|
3197 |
+
' L ' + shape.x3 + ',50 ' +
|
3198 |
+
' L ' + shape.x2 + ',' + ( 50 - shape.y2 ) +
|
3199 |
+
' L ' + shape.x1 + ',' + ( 50 - shape.y1 ) +
|
3200 |
+
' Z';
|
3201 |
+
}
|
3202 |
+
|
3203 |
+
PrevNextButton.prototype.onTap = function() {
|
3204 |
+
if ( !this.isEnabled ) {
|
3205 |
+
return;
|
3206 |
+
}
|
3207 |
+
this.parent.uiChange();
|
3208 |
+
var method = this.isPrevious ? 'previous' : 'next';
|
3209 |
+
this.parent[ method ]();
|
3210 |
+
};
|
3211 |
+
|
3212 |
+
PrevNextButton.prototype.handleEvent = utils.handleEvent;
|
3213 |
+
|
3214 |
+
PrevNextButton.prototype.onclick = function() {
|
3215 |
+
// only allow clicks from keyboard
|
3216 |
+
var focused = document.activeElement;
|
3217 |
+
if ( focused && focused == this.element ) {
|
3218 |
+
this.onTap();
|
3219 |
+
}
|
3220 |
+
};
|
3221 |
+
|
3222 |
+
// ----- ----- //
|
3223 |
+
|
3224 |
+
PrevNextButton.prototype.enable = function() {
|
3225 |
+
if ( this.isEnabled ) {
|
3226 |
+
return;
|
3227 |
+
}
|
3228 |
+
this.element.disabled = false;
|
3229 |
+
this.isEnabled = true;
|
3230 |
+
};
|
3231 |
+
|
3232 |
+
PrevNextButton.prototype.disable = function() {
|
3233 |
+
if ( !this.isEnabled ) {
|
3234 |
+
return;
|
3235 |
+
}
|
3236 |
+
this.element.disabled = true;
|
3237 |
+
this.isEnabled = false;
|
3238 |
+
};
|
3239 |
+
|
3240 |
+
PrevNextButton.prototype.update = function() {
|
3241 |
+
// index of first or last slide, if previous or next
|
3242 |
+
var slides = this.parent.slides;
|
3243 |
+
// enable is wrapAround and at least 2 slides
|
3244 |
+
if ( this.parent.options.wrapAround && slides.length > 1 ) {
|
3245 |
+
this.enable();
|
3246 |
+
return;
|
3247 |
+
}
|
3248 |
+
var lastIndex = slides.length ? slides.length - 1 : 0;
|
3249 |
+
var boundIndex = this.isPrevious ? 0 : lastIndex;
|
3250 |
+
var method = this.parent.selectedIndex == boundIndex ? 'disable' : 'enable';
|
3251 |
+
this[ method ]();
|
3252 |
+
};
|
3253 |
+
|
3254 |
+
PrevNextButton.prototype.destroy = function() {
|
3255 |
+
this.deactivate();
|
3256 |
+
};
|
3257 |
+
|
3258 |
+
// -------------------------- Flickity prototype -------------------------- //
|
3259 |
+
|
3260 |
+
utils.extend( Flickity.defaults, {
|
3261 |
+
prevNextButtons: true,
|
3262 |
+
arrowShape: {
|
3263 |
+
x0: 10,
|
3264 |
+
x1: 60, y1: 50,
|
3265 |
+
x2: 70, y2: 40,
|
3266 |
+
x3: 30
|
3267 |
+
}
|
3268 |
+
});
|
3269 |
+
|
3270 |
+
Flickity.createMethods.push('_createPrevNextButtons');
|
3271 |
+
var proto = Flickity.prototype;
|
3272 |
+
|
3273 |
+
proto._createPrevNextButtons = function() {
|
3274 |
+
if ( !this.options.prevNextButtons ) {
|
3275 |
+
return;
|
3276 |
+
}
|
3277 |
+
|
3278 |
+
this.prevButton = new PrevNextButton( -1, this );
|
3279 |
+
this.nextButton = new PrevNextButton( 1, this );
|
3280 |
+
|
3281 |
+
this.on( 'activate', this.activatePrevNextButtons );
|
3282 |
+
};
|
3283 |
+
|
3284 |
+
proto.activatePrevNextButtons = function() {
|
3285 |
+
this.prevButton.activate();
|
3286 |
+
this.nextButton.activate();
|
3287 |
+
this.on( 'deactivate', this.deactivatePrevNextButtons );
|
3288 |
+
};
|
3289 |
+
|
3290 |
+
proto.deactivatePrevNextButtons = function() {
|
3291 |
+
this.prevButton.deactivate();
|
3292 |
+
this.nextButton.deactivate();
|
3293 |
+
this.off( 'deactivate', this.deactivatePrevNextButtons );
|
3294 |
+
};
|
3295 |
+
|
3296 |
+
// -------------------------- -------------------------- //
|
3297 |
+
|
3298 |
+
Flickity.PrevNextButton = PrevNextButton;
|
3299 |
+
|
3300 |
+
return Flickity;
|
3301 |
+
|
3302 |
+
}));
|
3303 |
+
|
3304 |
+
// page dots
|
3305 |
+
( function( window, factory ) {
|
3306 |
+
// universal module definition
|
3307 |
+
/* jshint strict: false */
|
3308 |
+
if ( typeof define == 'function' && define.amd ) {
|
3309 |
+
// AMD
|
3310 |
+
define( 'flickity/js/page-dots',[
|
3311 |
+
'./flickity',
|
3312 |
+
'tap-listener/tap-listener',
|
3313 |
+
'fizzy-ui-utils/utils'
|
3314 |
+
], function( Flickity, TapListener, utils ) {
|
3315 |
+
return factory( window, Flickity, TapListener, utils );
|
3316 |
+
});
|
3317 |
+
} else if ( typeof module == 'object' && module.exports ) {
|
3318 |
+
// CommonJS
|
3319 |
+
module.exports = factory(
|
3320 |
+
window,
|
3321 |
+
require('./flickity'),
|
3322 |
+
require('tap-listener'),
|
3323 |
+
require('fizzy-ui-utils')
|
3324 |
+
);
|
3325 |
+
} else {
|
3326 |
+
// browser global
|
3327 |
+
factory(
|
3328 |
+
window,
|
3329 |
+
window.Flickity,
|
3330 |
+
window.TapListener,
|
3331 |
+
window.fizzyUIUtils
|
3332 |
+
);
|
3333 |
+
}
|
3334 |
+
|
3335 |
+
}( window, function factory( window, Flickity, TapListener, utils ) {
|
3336 |
+
|
3337 |
+
// -------------------------- PageDots -------------------------- //
|
3338 |
+
|
3339 |
+
|
3340 |
+
|
3341 |
+
function PageDots( parent ) {
|
3342 |
+
this.parent = parent;
|
3343 |
+
this._create();
|
3344 |
+
}
|
3345 |
+
|
3346 |
+
PageDots.prototype = new TapListener();
|
3347 |
+
|
3348 |
+
PageDots.prototype._create = function() {
|
3349 |
+
// create holder element
|
3350 |
+
this.holder = document.createElement('ol');
|
3351 |
+
this.holder.className = 'flickity-page-dots';
|
3352 |
+
// create dots, array of elements
|
3353 |
+
this.dots = [];
|
3354 |
+
// tap
|
3355 |
+
this.on( 'tap', this.onTap );
|
3356 |
+
|
3357 |
+
};
|
3358 |
+
|
3359 |
+
PageDots.prototype.activate = function() {
|
3360 |
+
this.setDots();
|
3361 |
+
this.bindTap( this.holder );
|
3362 |
+
// add to DOM
|
3363 |
+
this.parent.element.appendChild( this.holder );
|
3364 |
+
};
|
3365 |
+
|
3366 |
+
PageDots.prototype.deactivate = function() {
|
3367 |
+
// remove from DOM
|
3368 |
+
this.parent.element.removeChild( this.holder );
|
3369 |
+
TapListener.prototype.destroy.call( this );
|
3370 |
+
};
|
3371 |
+
|
3372 |
+
PageDots.prototype.setDots = function() {
|
3373 |
+
// get difference between number of slides and number of dots
|
3374 |
+
var delta = this.parent.slides.length - this.dots.length;
|
3375 |
+
if ( delta > 0 ) {
|
3376 |
+
this.addDots( delta );
|
3377 |
+
} else if ( delta < 0 ) {
|
3378 |
+
this.removeDots( -delta );
|
3379 |
+
}
|
3380 |
+
};
|
3381 |
+
|
3382 |
+
PageDots.prototype.addDots = function( count ) {
|
3383 |
+
var fragment = document.createDocumentFragment();
|
3384 |
+
var newDots = [];
|
3385 |
+
while ( count ) {
|
3386 |
+
var dot = document.createElement('li');
|
3387 |
+
dot.className = 'dot';
|
3388 |
+
fragment.appendChild( dot );
|
3389 |
+
newDots.push( dot );
|
3390 |
+
count--;
|
3391 |
+
}
|
3392 |
+
this.holder.appendChild( fragment );
|
3393 |
+
this.dots = this.dots.concat( newDots );
|
3394 |
+
};
|
3395 |
+
|
3396 |
+
PageDots.prototype.removeDots = function( count ) {
|
3397 |
+
// remove from this.dots collection
|
3398 |
+
var removeDots = this.dots.splice( this.dots.length - count, count );
|
3399 |
+
// remove from DOM
|
3400 |
+
removeDots.forEach( function( dot ) {
|
3401 |
+
this.holder.removeChild( dot );
|
3402 |
+
}, this );
|
3403 |
+
};
|
3404 |
+
|
3405 |
+
PageDots.prototype.updateSelected = function() {
|
3406 |
+
// remove selected class on previous
|
3407 |
+
if ( this.selectedDot ) {
|
3408 |
+
this.selectedDot.className = 'dot';
|
3409 |
+
}
|
3410 |
+
// don't proceed if no dots
|
3411 |
+
if ( !this.dots.length ) {
|
3412 |
+
return;
|
3413 |
+
}
|
3414 |
+
this.selectedDot = this.dots[ this.parent.selectedIndex ];
|
3415 |
+
this.selectedDot.className = 'dot is-selected';
|
3416 |
+
};
|
3417 |
+
|
3418 |
+
PageDots.prototype.onTap = function( event ) {
|
3419 |
+
var target = event.target;
|
3420 |
+
// only care about dot clicks
|
3421 |
+
if ( target.nodeName != 'LI' ) {
|
3422 |
+
return;
|
3423 |
+
}
|
3424 |
+
|
3425 |
+
this.parent.uiChange();
|
3426 |
+
var index = this.dots.indexOf( target );
|
3427 |
+
this.parent.select( index );
|
3428 |
+
};
|
3429 |
+
|
3430 |
+
PageDots.prototype.destroy = function() {
|
3431 |
+
this.deactivate();
|
3432 |
+
};
|
3433 |
+
|
3434 |
+
Flickity.PageDots = PageDots;
|
3435 |
+
|
3436 |
+
// -------------------------- Flickity -------------------------- //
|
3437 |
+
|
3438 |
+
utils.extend( Flickity.defaults, {
|
3439 |
+
pageDots: true
|
3440 |
+
});
|
3441 |
+
|
3442 |
+
Flickity.createMethods.push('_createPageDots');
|
3443 |
+
|
3444 |
+
var proto = Flickity.prototype;
|
3445 |
+
|
3446 |
+
proto._createPageDots = function() {
|
3447 |
+
if ( !this.options.pageDots ) {
|
3448 |
+
return;
|
3449 |
+
}
|
3450 |
+
this.pageDots = new PageDots( this );
|
3451 |
+
// events
|
3452 |
+
this.on( 'activate', this.activatePageDots );
|
3453 |
+
this.on( 'select', this.updateSelectedPageDots );
|
3454 |
+
this.on( 'cellChange', this.updatePageDots );
|
3455 |
+
this.on( 'resize', this.updatePageDots );
|
3456 |
+
this.on( 'deactivate', this.deactivatePageDots );
|
3457 |
+
|
3458 |
+
this.pageDots.on( 'pointerDown', function( button, event ) {
|
3459 |
+
this.childUIPointerDown( event );
|
3460 |
+
}.bind( this ));
|
3461 |
+
};
|
3462 |
+
|
3463 |
+
proto.activatePageDots = function() {
|
3464 |
+
this.pageDots.activate();
|
3465 |
+
};
|
3466 |
+
|
3467 |
+
proto.updateSelectedPageDots = function() {
|
3468 |
+
this.pageDots.updateSelected();
|
3469 |
+
};
|
3470 |
+
|
3471 |
+
proto.updatePageDots = function() {
|
3472 |
+
this.pageDots.setDots();
|
3473 |
+
};
|
3474 |
+
|
3475 |
+
proto.deactivatePageDots = function() {
|
3476 |
+
this.pageDots.deactivate();
|
3477 |
+
};
|
3478 |
+
|
3479 |
+
// ----- ----- //
|
3480 |
+
|
3481 |
+
Flickity.PageDots = PageDots;
|
3482 |
+
|
3483 |
+
return Flickity;
|
3484 |
+
|
3485 |
+
}));
|
3486 |
+
|
3487 |
+
// player & autoPlay
|
3488 |
+
( function( window, factory ) {
|
3489 |
+
// universal module definition
|
3490 |
+
/* jshint strict: false */
|
3491 |
+
if ( typeof define == 'function' && define.amd ) {
|
3492 |
+
// AMD
|
3493 |
+
define( 'flickity/js/player',[
|
3494 |
+
'ev-emitter/ev-emitter',
|
3495 |
+
'fizzy-ui-utils/utils',
|
3496 |
+
'./flickity'
|
3497 |
+
], function( EvEmitter, utils, Flickity ) {
|
3498 |
+
return factory( EvEmitter, utils, Flickity );
|
3499 |
+
});
|
3500 |
+
} else if ( typeof module == 'object' && module.exports ) {
|
3501 |
+
// CommonJS
|
3502 |
+
module.exports = factory(
|
3503 |
+
require('ev-emitter'),
|
3504 |
+
require('fizzy-ui-utils'),
|
3505 |
+
require('./flickity')
|
3506 |
+
);
|
3507 |
+
} else {
|
3508 |
+
// browser global
|
3509 |
+
factory(
|
3510 |
+
window.EvEmitter,
|
3511 |
+
window.fizzyUIUtils,
|
3512 |
+
window.Flickity
|
3513 |
+
);
|
3514 |
+
}
|
3515 |
+
|
3516 |
+
}( window, function factory( EvEmitter, utils, Flickity ) {
|
3517 |
+
|
3518 |
+
|
3519 |
+
|
3520 |
+
// -------------------------- Page Visibility -------------------------- //
|
3521 |
+
// https://developer.mozilla.org/en-US/docs/Web/Guide/User_experience/Using_the_Page_Visibility_API
|
3522 |
+
|
3523 |
+
var hiddenProperty, visibilityEvent;
|
3524 |
+
if ( 'hidden' in document ) {
|
3525 |
+
hiddenProperty = 'hidden';
|
3526 |
+
visibilityEvent = 'visibilitychange';
|
3527 |
+
} else if ( 'webkitHidden' in document ) {
|
3528 |
+
hiddenProperty = 'webkitHidden';
|
3529 |
+
visibilityEvent = 'webkitvisibilitychange';
|
3530 |
+
}
|
3531 |
+
|
3532 |
+
// -------------------------- Player -------------------------- //
|
3533 |
+
|
3534 |
+
function Player( parent ) {
|
3535 |
+
this.parent = parent;
|
3536 |
+
this.state = 'stopped';
|
3537 |
+
// visibility change event handler
|
3538 |
+
if ( visibilityEvent ) {
|
3539 |
+
this.onVisibilityChange = function() {
|
3540 |
+
this.visibilityChange();
|
3541 |
+
}.bind( this );
|
3542 |
+
this.onVisibilityPlay = function() {
|
3543 |
+
this.visibilityPlay();
|
3544 |
+
}.bind( this );
|
3545 |
+
}
|
3546 |
+
}
|
3547 |
+
|
3548 |
+
Player.prototype = Object.create( EvEmitter.prototype );
|
3549 |
+
|
3550 |
+
// start play
|
3551 |
+
Player.prototype.play = function() {
|
3552 |
+
if ( this.state == 'playing' ) {
|
3553 |
+
return;
|
3554 |
+
}
|
3555 |
+
// do not play if page is hidden, start playing when page is visible
|
3556 |
+
var isPageHidden = document[ hiddenProperty ];
|
3557 |
+
if ( visibilityEvent && isPageHidden ) {
|
3558 |
+
document.addEventListener( visibilityEvent, this.onVisibilityPlay );
|
3559 |
+
return;
|
3560 |
+
}
|
3561 |
+
|
3562 |
+
this.state = 'playing';
|
3563 |
+
// listen to visibility change
|
3564 |
+
if ( visibilityEvent ) {
|
3565 |
+
document.addEventListener( visibilityEvent, this.onVisibilityChange );
|
3566 |
+
}
|
3567 |
+
// start ticking
|
3568 |
+
this.tick();
|
3569 |
+
};
|
3570 |
+
|
3571 |
+
Player.prototype.tick = function() {
|
3572 |
+
// do not tick if not playing
|
3573 |
+
if ( this.state != 'playing' ) {
|
3574 |
+
return;
|
3575 |
+
}
|
3576 |
+
|
3577 |
+
var time = this.parent.options.autoPlay;
|
3578 |
+
// default to 3 seconds
|
3579 |
+
time = typeof time == 'number' ? time : 3000;
|
3580 |
+
var _this = this;
|
3581 |
+
// HACK: reset ticks if stopped and started within interval
|
3582 |
+
this.clear();
|
3583 |
+
this.timeout = setTimeout( function() {
|
3584 |
+
_this.parent.next( true );
|
3585 |
+
_this.tick();
|
3586 |
+
}, time );
|
3587 |
+
};
|
3588 |
+
|
3589 |
+
Player.prototype.stop = function() {
|
3590 |
+
this.state = 'stopped';
|
3591 |
+
this.clear();
|
3592 |
+
// remove visibility change event
|
3593 |
+
if ( visibilityEvent ) {
|
3594 |
+
document.removeEventListener( visibilityEvent, this.onVisibilityChange );
|
3595 |
+
}
|
3596 |
+
};
|
3597 |
+
|
3598 |
+
Player.prototype.clear = function() {
|
3599 |
+
clearTimeout( this.timeout );
|
3600 |
+
};
|
3601 |
+
|
3602 |
+
Player.prototype.pause = function() {
|
3603 |
+
if ( this.state == 'playing' ) {
|
3604 |
+
this.state = 'paused';
|
3605 |
+
this.clear();
|
3606 |
+
}
|
3607 |
+
};
|
3608 |
+
|
3609 |
+
Player.prototype.unpause = function() {
|
3610 |
+
// re-start play if paused
|
3611 |
+
if ( this.state == 'paused' ) {
|
3612 |
+
this.play();
|
3613 |
+
}
|
3614 |
+
};
|
3615 |
+
|
3616 |
+
// pause if page visibility is hidden, unpause if visible
|
3617 |
+
Player.prototype.visibilityChange = function() {
|
3618 |
+
var isPageHidden = document[ hiddenProperty ];
|
3619 |
+
this[ isPageHidden ? 'pause' : 'unpause' ]();
|
3620 |
+
};
|
3621 |
+
|
3622 |
+
Player.prototype.visibilityPlay = function() {
|
3623 |
+
this.play();
|
3624 |
+
document.removeEventListener( visibilityEvent, this.onVisibilityPlay );
|
3625 |
+
};
|
3626 |
+
|
3627 |
+
// -------------------------- Flickity -------------------------- //
|
3628 |
+
|
3629 |
+
utils.extend( Flickity.defaults, {
|
3630 |
+
pauseAutoPlayOnHover: true
|
3631 |
+
});
|
3632 |
+
|
3633 |
+
Flickity.createMethods.push('_createPlayer');
|
3634 |
+
var proto = Flickity.prototype;
|
3635 |
+
|
3636 |
+
proto._createPlayer = function() {
|
3637 |
+
this.player = new Player( this );
|
3638 |
+
|
3639 |
+
this.on( 'activate', this.activatePlayer );
|
3640 |
+
this.on( 'uiChange', this.stopPlayer );
|
3641 |
+
this.on( 'pointerDown', this.stopPlayer );
|
3642 |
+
this.on( 'deactivate', this.deactivatePlayer );
|
3643 |
+
};
|
3644 |
+
|
3645 |
+
proto.activatePlayer = function() {
|
3646 |
+
if ( !this.options.autoPlay ) {
|
3647 |
+
return;
|
3648 |
+
}
|
3649 |
+
this.player.play();
|
3650 |
+
this.element.addEventListener( 'mouseenter', this );
|
3651 |
+
};
|
3652 |
+
|
3653 |
+
// Player API, don't hate the ... thanks I know where the door is
|
3654 |
+
|
3655 |
+
proto.playPlayer = function() {
|
3656 |
+
this.player.play();
|
3657 |
+
};
|
3658 |
+
|
3659 |
+
proto.stopPlayer = function() {
|
3660 |
+
this.player.stop();
|
3661 |
+
};
|
3662 |
+
|
3663 |
+
proto.pausePlayer = function() {
|
3664 |
+
this.player.pause();
|
3665 |
+
};
|
3666 |
+
|
3667 |
+
proto.unpausePlayer = function() {
|
3668 |
+
this.player.unpause();
|
3669 |
+
};
|
3670 |
+
|
3671 |
+
proto.deactivatePlayer = function() {
|
3672 |
+
this.player.stop();
|
3673 |
+
this.element.removeEventListener( 'mouseenter', this );
|
3674 |
+
};
|
3675 |
+
|
3676 |
+
// ----- mouseenter/leave ----- //
|
3677 |
+
|
3678 |
+
// pause auto-play on hover
|
3679 |
+
proto.onmouseenter = function() {
|
3680 |
+
if ( !this.options.pauseAutoPlayOnHover ) {
|
3681 |
+
return;
|
3682 |
+
}
|
3683 |
+
this.player.pause();
|
3684 |
+
this.element.addEventListener( 'mouseleave', this );
|
3685 |
+
};
|
3686 |
+
|
3687 |
+
// resume auto-play on hover off
|
3688 |
+
proto.onmouseleave = function() {
|
3689 |
+
this.player.unpause();
|
3690 |
+
this.element.removeEventListener( 'mouseleave', this );
|
3691 |
+
};
|
3692 |
+
|
3693 |
+
// ----- ----- //
|
3694 |
+
|
3695 |
+
Flickity.Player = Player;
|
3696 |
+
|
3697 |
+
return Flickity;
|
3698 |
+
|
3699 |
+
}));
|
3700 |
+
|
3701 |
+
// add, remove cell
|
3702 |
+
( function( window, factory ) {
|
3703 |
+
// universal module definition
|
3704 |
+
/* jshint strict: false */
|
3705 |
+
if ( typeof define == 'function' && define.amd ) {
|
3706 |
+
// AMD
|
3707 |
+
define( 'flickity/js/add-remove-cell',[
|
3708 |
+
'./flickity',
|
3709 |
+
'fizzy-ui-utils/utils'
|
3710 |
+
], function( Flickity, utils ) {
|
3711 |
+
return factory( window, Flickity, utils );
|
3712 |
+
});
|
3713 |
+
} else if ( typeof module == 'object' && module.exports ) {
|
3714 |
+
// CommonJS
|
3715 |
+
module.exports = factory(
|
3716 |
+
window,
|
3717 |
+
require('./flickity'),
|
3718 |
+
require('fizzy-ui-utils')
|
3719 |
+
);
|
3720 |
+
} else {
|
3721 |
+
// browser global
|
3722 |
+
factory(
|
3723 |
+
window,
|
3724 |
+
window.Flickity,
|
3725 |
+
window.fizzyUIUtils
|
3726 |
+
);
|
3727 |
+
}
|
3728 |
+
|
3729 |
+
}( window, function factory( window, Flickity, utils ) {
|
3730 |
+
|
3731 |
+
|
3732 |
+
|
3733 |
+
// append cells to a document fragment
|
3734 |
+
function getCellsFragment( cells ) {
|
3735 |
+
var fragment = document.createDocumentFragment();
|
3736 |
+
cells.forEach( function( cell ) {
|
3737 |
+
fragment.appendChild( cell.element );
|
3738 |
+
});
|
3739 |
+
return fragment;
|
3740 |
+
}
|
3741 |
+
|
3742 |
+
// -------------------------- add/remove cell prototype -------------------------- //
|
3743 |
+
|
3744 |
+
var proto = Flickity.prototype;
|
3745 |
+
|
3746 |
+
/**
|
3747 |
+
* Insert, prepend, or append cells
|
3748 |
+
* @param {Element, Array, NodeList} elems
|
3749 |
+
* @param {Integer} index
|
3750 |
+
*/
|
3751 |
+
proto.insert = function( elems, index ) {
|
3752 |
+
var cells = this._makeCells( elems );
|
3753 |
+
if ( !cells || !cells.length ) {
|
3754 |
+
return;
|
3755 |
+
}
|
3756 |
+
var len = this.cells.length;
|
3757 |
+
// default to append
|
3758 |
+
index = index === undefined ? len : index;
|
3759 |
+
// add cells with document fragment
|
3760 |
+
var fragment = getCellsFragment( cells );
|
3761 |
+
// append to slider
|
3762 |
+
var isAppend = index == len;
|
3763 |
+
if ( isAppend ) {
|
3764 |
+
this.slider.appendChild( fragment );
|
3765 |
+
} else {
|
3766 |
+
var insertCellElement = this.cells[ index ].element;
|
3767 |
+
this.slider.insertBefore( fragment, insertCellElement );
|
3768 |
+
}
|
3769 |
+
// add to this.cells
|
3770 |
+
if ( index === 0 ) {
|
3771 |
+
// prepend, add to start
|
3772 |
+
this.cells = cells.concat( this.cells );
|
3773 |
+
} else if ( isAppend ) {
|
3774 |
+
// append, add to end
|
3775 |
+
this.cells = this.cells.concat( cells );
|
3776 |
+
} else {
|
3777 |
+
// insert in this.cells
|
3778 |
+
var endCells = this.cells.splice( index, len - index );
|
3779 |
+
this.cells = this.cells.concat( cells ).concat( endCells );
|
3780 |
+
}
|
3781 |
+
|
3782 |
+
this._sizeCells( cells );
|
3783 |
+
|
3784 |
+
var selectedIndexDelta = index > this.selectedIndex ? 0 : cells.length;
|
3785 |
+
this._cellAddedRemoved( index, selectedIndexDelta );
|
3786 |
+
};
|
3787 |
+
|
3788 |
+
proto.append = function( elems ) {
|
3789 |
+
this.insert( elems, this.cells.length );
|
3790 |
+
};
|
3791 |
+
|
3792 |
+
proto.prepend = function( elems ) {
|
3793 |
+
this.insert( elems, 0 );
|
3794 |
+
};
|
3795 |
+
|
3796 |
+
/**
|
3797 |
+
* Remove cells
|
3798 |
+
* @param {Element, Array, NodeList} elems
|
3799 |
+
*/
|
3800 |
+
proto.remove = function( elems ) {
|
3801 |
+
var cells = this.getCells( elems );
|
3802 |
+
var selectedIndexDelta = 0;
|
3803 |
+
var len = cells.length;
|
3804 |
+
var i, cell;
|
3805 |
+
// calculate selectedIndexDelta, easier if done in seperate loop
|
3806 |
+
for ( i=0; i < len; i++ ) {
|
3807 |
+
cell = cells[i];
|
3808 |
+
var wasBefore = this.cells.indexOf( cell ) < this.selectedIndex;
|
3809 |
+
selectedIndexDelta -= wasBefore ? 1 : 0;
|
3810 |
+
}
|
3811 |
+
|
3812 |
+
for ( i=0; i < len; i++ ) {
|
3813 |
+
cell = cells[i];
|
3814 |
+
cell.remove();
|
3815 |
+
// remove item from collection
|
3816 |
+
utils.removeFrom( this.cells, cell );
|
3817 |
+
}
|
3818 |
+
|
3819 |
+
if ( cells.length ) {
|
3820 |
+
// update stuff
|
3821 |
+
this._cellAddedRemoved( 0, selectedIndexDelta );
|
3822 |
+
}
|
3823 |
+
};
|
3824 |
+
|
3825 |
+
// updates when cells are added or removed
|
3826 |
+
proto._cellAddedRemoved = function( changedCellIndex, selectedIndexDelta ) {
|
3827 |
+
// TODO this math isn't perfect with grouped slides
|
3828 |
+
selectedIndexDelta = selectedIndexDelta || 0;
|
3829 |
+
this.selectedIndex += selectedIndexDelta;
|
3830 |
+
this.selectedIndex = Math.max( 0, Math.min( this.slides.length - 1, this.selectedIndex ) );
|
3831 |
+
|
3832 |
+
this.cellChange( changedCellIndex, true );
|
3833 |
+
// backwards compatibility
|
3834 |
+
this.emitEvent( 'cellAddedRemoved', [ changedCellIndex, selectedIndexDelta ] );
|
3835 |
+
};
|
3836 |
+
|
3837 |
+
/**
|
3838 |
+
* logic to be run after a cell's size changes
|
3839 |
+
* @param {Element} elem - cell's element
|
3840 |
+
*/
|
3841 |
+
proto.cellSizeChange = function( elem ) {
|
3842 |
+
var cell = this.getCell( elem );
|
3843 |
+
if ( !cell ) {
|
3844 |
+
return;
|
3845 |
+
}
|
3846 |
+
cell.getSize();
|
3847 |
+
|
3848 |
+
var index = this.cells.indexOf( cell );
|
3849 |
+
this.cellChange( index );
|
3850 |
+
};
|
3851 |
+
|
3852 |
+
/**
|
3853 |
+
* logic any time a cell is changed: added, removed, or size changed
|
3854 |
+
* @param {Integer} changedCellIndex - index of the changed cell, optional
|
3855 |
+
*/
|
3856 |
+
proto.cellChange = function( changedCellIndex, isPositioningSlider ) {
|
3857 |
+
var prevSlideableWidth = this.slideableWidth;
|
3858 |
+
this._positionCells( changedCellIndex );
|
3859 |
+
this._getWrapShiftCells();
|
3860 |
+
this.setGallerySize();
|
3861 |
+
this.emitEvent( 'cellChange', [ changedCellIndex ] );
|
3862 |
+
// position slider
|
3863 |
+
if ( this.options.freeScroll ) {
|
3864 |
+
// shift x by change in slideableWidth
|
3865 |
+
// TODO fix position shifts when prepending w/ freeScroll
|
3866 |
+
var deltaX = prevSlideableWidth - this.slideableWidth;
|
3867 |
+
this.x += deltaX * this.cellAlign;
|
3868 |
+
this.positionSlider();
|
3869 |
+
} else {
|
3870 |
+
// do not position slider after lazy load
|
3871 |
+
if ( isPositioningSlider ) {
|
3872 |
+
this.positionSliderAtSelected();
|
3873 |
+
}
|
3874 |
+
this.select( this.selectedIndex );
|
3875 |
+
}
|
3876 |
+
};
|
3877 |
+
|
3878 |
+
// ----- ----- //
|
3879 |
+
|
3880 |
+
return Flickity;
|
3881 |
+
|
3882 |
+
}));
|
3883 |
+
|
3884 |
+
// lazyload
|
3885 |
+
( function( window, factory ) {
|
3886 |
+
// universal module definition
|
3887 |
+
/* jshint strict: false */
|
3888 |
+
if ( typeof define == 'function' && define.amd ) {
|
3889 |
+
// AMD
|
3890 |
+
define( 'flickity/js/lazyload',[
|
3891 |
+
'./flickity',
|
3892 |
+
'fizzy-ui-utils/utils'
|
3893 |
+
], function( Flickity, utils ) {
|
3894 |
+
return factory( window, Flickity, utils );
|
3895 |
+
});
|
3896 |
+
} else if ( typeof module == 'object' && module.exports ) {
|
3897 |
+
// CommonJS
|
3898 |
+
module.exports = factory(
|
3899 |
+
window,
|
3900 |
+
require('./flickity'),
|
3901 |
+
require('fizzy-ui-utils')
|
3902 |
+
);
|
3903 |
+
} else {
|
3904 |
+
// browser global
|
3905 |
+
factory(
|
3906 |
+
window,
|
3907 |
+
window.Flickity,
|
3908 |
+
window.fizzyUIUtils
|
3909 |
+
);
|
3910 |
+
}
|
3911 |
+
|
3912 |
+
}( window, function factory( window, Flickity, utils ) {
|
3913 |
+
'use strict';
|
3914 |
+
|
3915 |
+
Flickity.createMethods.push('_createLazyload');
|
3916 |
+
var proto = Flickity.prototype;
|
3917 |
+
|
3918 |
+
proto._createLazyload = function() {
|
3919 |
+
this.on( 'select', this.lazyLoad );
|
3920 |
+
};
|
3921 |
+
|
3922 |
+
proto.lazyLoad = function() {
|
3923 |
+
var lazyLoad = this.options.lazyLoad;
|
3924 |
+
if ( !lazyLoad ) {
|
3925 |
+
return;
|
3926 |
+
}
|
3927 |
+
// get adjacent cells, use lazyLoad option for adjacent count
|
3928 |
+
var adjCount = typeof lazyLoad == 'number' ? lazyLoad : 0;
|
3929 |
+
var cellElems = this.getAdjacentCellElements( adjCount );
|
3930 |
+
// get lazy images in those cells
|
3931 |
+
var lazyImages = [];
|
3932 |
+
cellElems.forEach( function( cellElem ) {
|
3933 |
+
var lazyCellImages = getCellLazyImages( cellElem );
|
3934 |
+
lazyImages = lazyImages.concat( lazyCellImages );
|
3935 |
+
});
|
3936 |
+
// load lazy images
|
3937 |
+
lazyImages.forEach( function( img ) {
|
3938 |
+
new LazyLoader( img, this );
|
3939 |
+
}, this );
|
3940 |
+
};
|
3941 |
+
|
3942 |
+
function getCellLazyImages( cellElem ) {
|
3943 |
+
// check if cell element is lazy image
|
3944 |
+
if ( cellElem.nodeName == 'IMG' &&
|
3945 |
+
cellElem.getAttribute('data-flickity-lazyload') ) {
|
3946 |
+
return [ cellElem ];
|
3947 |
+
}
|
3948 |
+
// select lazy images in cell
|
3949 |
+
var imgs = cellElem.querySelectorAll('img[data-flickity-lazyload]');
|
3950 |
+
return utils.makeArray( imgs );
|
3951 |
+
}
|
3952 |
+
|
3953 |
+
// -------------------------- LazyLoader -------------------------- //
|
3954 |
+
|
3955 |
+
/**
|
3956 |
+
* class to handle loading images
|
3957 |
+
*/
|
3958 |
+
function LazyLoader( img, flickity ) {
|
3959 |
+
this.img = img;
|
3960 |
+
this.flickity = flickity;
|
3961 |
+
this.load();
|
3962 |
+
}
|
3963 |
+
|
3964 |
+
LazyLoader.prototype.handleEvent = utils.handleEvent;
|
3965 |
+
|
3966 |
+
LazyLoader.prototype.load = function() {
|
3967 |
+
this.img.addEventListener( 'load', this );
|
3968 |
+
this.img.addEventListener( 'error', this );
|
3969 |
+
// load image
|
3970 |
+
this.img.src = this.img.getAttribute('data-flickity-lazyload');
|
3971 |
+
// remove attr
|
3972 |
+
this.img.removeAttribute('data-flickity-lazyload');
|
3973 |
+
};
|
3974 |
+
|
3975 |
+
LazyLoader.prototype.onload = function( event ) {
|
3976 |
+
this.complete( event, 'flickity-lazyloaded' );
|
3977 |
+
};
|
3978 |
+
|
3979 |
+
LazyLoader.prototype.onerror = function( event ) {
|
3980 |
+
this.complete( event, 'flickity-lazyerror' );
|
3981 |
+
};
|
3982 |
+
|
3983 |
+
LazyLoader.prototype.complete = function( event, className ) {
|
3984 |
+
// unbind events
|
3985 |
+
this.img.removeEventListener( 'load', this );
|
3986 |
+
this.img.removeEventListener( 'error', this );
|
3987 |
+
|
3988 |
+
var cell = this.flickity.getParentCell( this.img );
|
3989 |
+
var cellElem = cell && cell.element;
|
3990 |
+
this.flickity.cellSizeChange( cellElem );
|
3991 |
+
|
3992 |
+
this.img.classList.add( className );
|
3993 |
+
this.flickity.dispatchEvent( 'lazyLoad', event, cellElem );
|
3994 |
+
};
|
3995 |
+
|
3996 |
+
// ----- ----- //
|
3997 |
+
|
3998 |
+
Flickity.LazyLoader = LazyLoader;
|
3999 |
+
|
4000 |
+
return Flickity;
|
4001 |
+
|
4002 |
+
}));
|
4003 |
+
|
4004 |
+
/*!
|
4005 |
+
* Flickity v2.0.2
|
4006 |
+
* Touch, responsive, flickable carousels
|
4007 |
+
*
|
4008 |
+
* Licensed GPLv3 for open source use
|
4009 |
+
* or Flickity Commercial License for commercial use
|
4010 |
+
*
|
4011 |
+
* http://flickity.metafizzy.co
|
4012 |
+
* Copyright 2016 Metafizzy
|
4013 |
+
*/
|
4014 |
+
|
4015 |
+
( function( window, factory ) {
|
4016 |
+
// universal module definition
|
4017 |
+
/* jshint strict: false */
|
4018 |
+
if ( typeof define == 'function' && define.amd ) {
|
4019 |
+
// AMD
|
4020 |
+
define( 'flickity/js/index',[
|
4021 |
+
'./flickity',
|
4022 |
+
'./drag',
|
4023 |
+
'./prev-next-button',
|
4024 |
+
'./page-dots',
|
4025 |
+
'./player',
|
4026 |
+
'./add-remove-cell',
|
4027 |
+
'./lazyload'
|
4028 |
+
], factory );
|
4029 |
+
} else if ( typeof module == 'object' && module.exports ) {
|
4030 |
+
// CommonJS
|
4031 |
+
module.exports = factory(
|
4032 |
+
require('./flickity'),
|
4033 |
+
require('./drag'),
|
4034 |
+
require('./prev-next-button'),
|
4035 |
+
require('./page-dots'),
|
4036 |
+
require('./player'),
|
4037 |
+
require('./add-remove-cell'),
|
4038 |
+
require('./lazyload')
|
4039 |
+
);
|
4040 |
+
}
|
4041 |
+
|
4042 |
+
})( window, function factory( Flickity ) {
|
4043 |
+
/*jshint strict: false*/
|
4044 |
+
return Flickity;
|
4045 |
+
});
|
4046 |
+
|
4047 |
+
/*!
|
4048 |
+
* Flickity asNavFor v2.0.0
|
4049 |
+
* enable asNavFor for Flickity
|
4050 |
+
*/
|
4051 |
+
|
4052 |
+
/*jshint browser: true, undef: true, unused: true, strict: true*/
|
4053 |
+
|
4054 |
+
( function( window, factory ) {
|
4055 |
+
// universal module definition
|
4056 |
+
/*jshint strict: false */ /*globals define, module, require */
|
4057 |
+
if ( typeof define == 'function' && define.amd ) {
|
4058 |
+
// AMD
|
4059 |
+
define( 'flickity-as-nav-for/as-nav-for',[
|
4060 |
+
'flickity/js/index',
|
4061 |
+
'fizzy-ui-utils/utils'
|
4062 |
+
], function( classie, Flickity, utils ) {
|
4063 |
+
return factory( window, classie, Flickity, utils );
|
4064 |
+
});
|
4065 |
+
} else if ( typeof module == 'object' && module.exports ) {
|
4066 |
+
// CommonJS
|
4067 |
+
module.exports = factory(
|
4068 |
+
window,
|
4069 |
+
require('flickity'),
|
4070 |
+
require('fizzy-ui-utils')
|
4071 |
+
);
|
4072 |
+
} else {
|
4073 |
+
// browser global
|
4074 |
+
window.Flickity = factory(
|
4075 |
+
window,
|
4076 |
+
window.Flickity,
|
4077 |
+
window.fizzyUIUtils
|
4078 |
+
);
|
4079 |
+
}
|
4080 |
+
|
4081 |
+
}( window, function factory( window, Flickity, utils ) {
|
4082 |
+
|
4083 |
+
|
4084 |
+
|
4085 |
+
// -------------------------- asNavFor prototype -------------------------- //
|
4086 |
+
|
4087 |
+
// Flickity.defaults.asNavFor = null;
|
4088 |
+
|
4089 |
+
Flickity.createMethods.push('_createAsNavFor');
|
4090 |
+
|
4091 |
+
var proto = Flickity.prototype;
|
4092 |
+
|
4093 |
+
proto._createAsNavFor = function() {
|
4094 |
+
this.on( 'activate', this.activateAsNavFor );
|
4095 |
+
this.on( 'deactivate', this.deactivateAsNavFor );
|
4096 |
+
this.on( 'destroy', this.destroyAsNavFor );
|
4097 |
+
|
4098 |
+
var asNavForOption = this.options.asNavFor;
|
4099 |
+
if ( !asNavForOption ) {
|
4100 |
+
return;
|
4101 |
+
}
|
4102 |
+
// HACK do async, give time for other flickity to be initalized
|
4103 |
+
var _this = this;
|
4104 |
+
setTimeout( function initNavCompanion() {
|
4105 |
+
_this.setNavCompanion( asNavForOption );
|
4106 |
+
});
|
4107 |
+
};
|
4108 |
+
|
4109 |
+
proto.setNavCompanion = function( elem ) {
|
4110 |
+
elem = utils.getQueryElement( elem );
|
4111 |
+
var companion = Flickity.data( elem );
|
4112 |
+
// stop if no companion or companion is self
|
4113 |
+
if ( !companion || companion == this ) {
|
4114 |
+
return;
|
4115 |
+
}
|
4116 |
+
|
4117 |
+
this.navCompanion = companion;
|
4118 |
+
// companion select
|
4119 |
+
var _this = this;
|
4120 |
+
this.onNavCompanionSelect = function() {
|
4121 |
+
_this.navCompanionSelect();
|
4122 |
+
};
|
4123 |
+
companion.on( 'select', this.onNavCompanionSelect );
|
4124 |
+
// click
|
4125 |
+
this.on( 'staticClick', this.onNavStaticClick );
|
4126 |
+
|
4127 |
+
this.navCompanionSelect();
|
4128 |
+
};
|
4129 |
+
|
4130 |
+
proto.navCompanionSelect = function() {
|
4131 |
+
if ( !this.navCompanion ) {
|
4132 |
+
return;
|
4133 |
+
}
|
4134 |
+
// select slide that matches first cell of slide
|
4135 |
+
var selectedCell = this.navCompanion.selectedCells[0];
|
4136 |
+
var cellIndex = this.navCompanion.cells.indexOf( selectedCell );
|
4137 |
+
this.selectCell( cellIndex );
|
4138 |
+
// set nav selected class
|
4139 |
+
this.removeNavSelectedElements();
|
4140 |
+
// stop if companion has more cells than this one
|
4141 |
+
if ( cellIndex >= this.cells.length ) {
|
4142 |
+
return;
|
4143 |
+
}
|
4144 |
+
this.navSelectedElements = this.slides[ this.selectedIndex ].getCellElements();
|
4145 |
+
this.changeNavSelectedClass('add');
|
4146 |
+
};
|
4147 |
+
|
4148 |
+
proto.changeNavSelectedClass = function( method ) {
|
4149 |
+
this.navSelectedElements.forEach( function( navElem ) {
|
4150 |
+
navElem.classList[ method ]('is-nav-selected');
|
4151 |
+
});
|
4152 |
+
};
|
4153 |
+
|
4154 |
+
proto.activateAsNavFor = function() {
|
4155 |
+
this.navCompanionSelect();
|
4156 |
+
};
|
4157 |
+
|
4158 |
+
proto.removeNavSelectedElements = function() {
|
4159 |
+
if ( !this.navSelectedElements ) {
|
4160 |
+
return;
|
4161 |
+
}
|
4162 |
+
this.changeNavSelectedClass('remove');
|
4163 |
+
delete this.navSelectedElements;
|
4164 |
+
};
|
4165 |
+
|
4166 |
+
proto.onNavStaticClick = function( event, pointer, cellElement, cellIndex ) {
|
4167 |
+
if ( typeof cellIndex == 'number' ) {
|
4168 |
+
this.navCompanion.selectCell( cellIndex );
|
4169 |
+
}
|
4170 |
+
};
|
4171 |
+
|
4172 |
+
proto.deactivateAsNavFor = function() {
|
4173 |
+
this.removeNavSelectedElements();
|
4174 |
+
};
|
4175 |
+
|
4176 |
+
proto.destroyAsNavFor = function() {
|
4177 |
+
if ( !this.navCompanion ) {
|
4178 |
+
return;
|
4179 |
+
}
|
4180 |
+
this.navCompanion.off( 'select', this.onNavCompanionSelect );
|
4181 |
+
this.off( 'staticClick', this.onNavStaticClick );
|
4182 |
+
delete this.navCompanion;
|
4183 |
+
};
|
4184 |
+
|
4185 |
+
// ----- ----- //
|
4186 |
+
|
4187 |
+
return Flickity;
|
4188 |
+
|
4189 |
+
}));
|
4190 |
+
|
4191 |
+
/*!
|
4192 |
+
* imagesLoaded v4.1.0
|
4193 |
+
* JavaScript is all like "You images are done yet or what?"
|
4194 |
+
* MIT License
|
4195 |
+
*/
|
4196 |
+
|
4197 |
+
( function( window, factory ) { 'use strict';
|
4198 |
+
// universal module definition
|
4199 |
+
|
4200 |
+
/*global define: false, module: false, require: false */
|
4201 |
+
|
4202 |
+
if ( typeof define == 'function' && define.amd ) {
|
4203 |
+
// AMD
|
4204 |
+
define( 'imagesloaded/imagesloaded',[
|
4205 |
+
'ev-emitter/ev-emitter'
|
4206 |
+
], function( EvEmitter ) {
|
4207 |
+
return factory( window, EvEmitter );
|
4208 |
+
});
|
4209 |
+
} else if ( typeof module == 'object' && module.exports ) {
|
4210 |
+
// CommonJS
|
4211 |
+
module.exports = factory(
|
4212 |
+
window,
|
4213 |
+
require('ev-emitter')
|
4214 |
+
);
|
4215 |
+
} else {
|
4216 |
+
// browser global
|
4217 |
+
window.imagesLoaded = factory(
|
4218 |
+
window,
|
4219 |
+
window.EvEmitter
|
4220 |
+
);
|
4221 |
+
}
|
4222 |
+
|
4223 |
+
})( window,
|
4224 |
+
|
4225 |
+
// -------------------------- factory -------------------------- //
|
4226 |
+
|
4227 |
+
function factory( window, EvEmitter ) {
|
4228 |
+
|
4229 |
+
|
4230 |
+
|
4231 |
+
var $ = window.jQuery;
|
4232 |
+
var console = window.console;
|
4233 |
+
|
4234 |
+
// -------------------------- helpers -------------------------- //
|
4235 |
+
|
4236 |
+
// extend objects
|
4237 |
+
function extend( a, b ) {
|
4238 |
+
for ( var prop in b ) {
|
4239 |
+
a[ prop ] = b[ prop ];
|
4240 |
+
}
|
4241 |
+
return a;
|
4242 |
+
}
|
4243 |
+
|
4244 |
+
// turn element or nodeList into an array
|
4245 |
+
function makeArray( obj ) {
|
4246 |
+
var ary = [];
|
4247 |
+
if ( Array.isArray( obj ) ) {
|
4248 |
+
// use object if already an array
|
4249 |
+
ary = obj;
|
4250 |
+
} else if ( typeof obj.length == 'number' ) {
|
4251 |
+
// convert nodeList to array
|
4252 |
+
for ( var i=0; i < obj.length; i++ ) {
|
4253 |
+
ary.push( obj[i] );
|
4254 |
+
}
|
4255 |
+
} else {
|
4256 |
+
// array of single index
|
4257 |
+
ary.push( obj );
|
4258 |
+
}
|
4259 |
+
return ary;
|
4260 |
+
}
|
4261 |
+
|
4262 |
+
// -------------------------- imagesLoaded -------------------------- //
|
4263 |
+
|
4264 |
+
/**
|
4265 |
+
* @param {Array, Element, NodeList, String} elem
|
4266 |
+
* @param {Object or Function} options - if function, use as callback
|
4267 |
+
* @param {Function} onAlways - callback function
|
4268 |
+
*/
|
4269 |
+
function ImagesLoaded( elem, options, onAlways ) {
|
4270 |
+
// coerce ImagesLoaded() without new, to be new ImagesLoaded()
|
4271 |
+
if ( !( this instanceof ImagesLoaded ) ) {
|
4272 |
+
return new ImagesLoaded( elem, options, onAlways );
|
4273 |
+
}
|
4274 |
+
// use elem as selector string
|
4275 |
+
if ( typeof elem == 'string' ) {
|
4276 |
+
elem = document.querySelectorAll( elem );
|
4277 |
+
}
|
4278 |
+
|
4279 |
+
this.elements = makeArray( elem );
|
4280 |
+
this.options = extend( {}, this.options );
|
4281 |
+
|
4282 |
+
if ( typeof options == 'function' ) {
|
4283 |
+
onAlways = options;
|
4284 |
+
} else {
|
4285 |
+
extend( this.options, options );
|
4286 |
+
}
|
4287 |
+
|
4288 |
+
if ( onAlways ) {
|
4289 |
+
this.on( 'always', onAlways );
|
4290 |
+
}
|
4291 |
+
|
4292 |
+
this.getImages();
|
4293 |
+
|
4294 |
+
if ( $ ) {
|
4295 |
+
// add jQuery Deferred object
|
4296 |
+
this.jqDeferred = new $.Deferred();
|
4297 |
+
}
|
4298 |
+
|
4299 |
+
// HACK check async to allow time to bind listeners
|
4300 |
+
setTimeout( function() {
|
4301 |
+
this.check();
|
4302 |
+
}.bind( this ));
|
4303 |
+
}
|
4304 |
+
|
4305 |
+
ImagesLoaded.prototype = Object.create( EvEmitter.prototype );
|
4306 |
+
|
4307 |
+
ImagesLoaded.prototype.options = {};
|
4308 |
+
|
4309 |
+
ImagesLoaded.prototype.getImages = function() {
|
4310 |
+
this.images = [];
|
4311 |
+
|
4312 |
+
// filter & find items if we have an item selector
|
4313 |
+
this.elements.forEach( this.addElementImages, this );
|
4314 |
+
};
|
4315 |
+
|
4316 |
+
/**
|
4317 |
+
* @param {Node} element
|
4318 |
+
*/
|
4319 |
+
ImagesLoaded.prototype.addElementImages = function( elem ) {
|
4320 |
+
// filter siblings
|
4321 |
+
if ( elem.nodeName == 'IMG' ) {
|
4322 |
+
this.addImage( elem );
|
4323 |
+
}
|
4324 |
+
// get background image on element
|
4325 |
+
if ( this.options.background === true ) {
|
4326 |
+
this.addElementBackgroundImages( elem );
|
4327 |
+
}
|
4328 |
+
|
4329 |
+
// find children
|
4330 |
+
// no non-element nodes, #143
|
4331 |
+
var nodeType = elem.nodeType;
|
4332 |
+
if ( !nodeType || !elementNodeTypes[ nodeType ] ) {
|
4333 |
+
return;
|
4334 |
+
}
|
4335 |
+
var childImgs = elem.querySelectorAll('img');
|
4336 |
+
// concat childElems to filterFound array
|
4337 |
+
for ( var i=0; i < childImgs.length; i++ ) {
|
4338 |
+
var img = childImgs[i];
|
4339 |
+
this.addImage( img );
|
4340 |
+
}
|
4341 |
+
|
4342 |
+
// get child background images
|
4343 |
+
if ( typeof this.options.background == 'string' ) {
|
4344 |
+
var children = elem.querySelectorAll( this.options.background );
|
4345 |
+
for ( i=0; i < children.length; i++ ) {
|
4346 |
+
var child = children[i];
|
4347 |
+
this.addElementBackgroundImages( child );
|
4348 |
+
}
|
4349 |
+
}
|
4350 |
+
};
|
4351 |
+
|
4352 |
+
var elementNodeTypes = {
|
4353 |
+
1: true,
|
4354 |
+
9: true,
|
4355 |
+
11: true
|
4356 |
+
};
|
4357 |
+
|
4358 |
+
ImagesLoaded.prototype.addElementBackgroundImages = function( elem ) {
|
4359 |
+
var style = getComputedStyle( elem );
|
4360 |
+
if ( !style ) {
|
4361 |
+
// Firefox returns null if in a hidden iframe https://bugzil.la/548397
|
4362 |
+
return;
|
4363 |
+
}
|
4364 |
+
// get url inside url("...")
|
4365 |
+
var reURL = /url\((['"])?(.*?)\1\)/gi;
|
4366 |
+
var matches = reURL.exec( style.backgroundImage );
|
4367 |
+
while ( matches !== null ) {
|
4368 |
+
var url = matches && matches[2];
|
4369 |
+
if ( url ) {
|
4370 |
+
this.addBackground( url, elem );
|
4371 |
+
}
|
4372 |
+
matches = reURL.exec( style.backgroundImage );
|
4373 |
+
}
|
4374 |
+
};
|
4375 |
+
|
4376 |
+
/**
|
4377 |
+
* @param {Image} img
|
4378 |
+
*/
|
4379 |
+
ImagesLoaded.prototype.addImage = function( img ) {
|
4380 |
+
var loadingImage = new LoadingImage( img );
|
4381 |
+
this.images.push( loadingImage );
|
4382 |
+
};
|
4383 |
+
|
4384 |
+
ImagesLoaded.prototype.addBackground = function( url, elem ) {
|
4385 |
+
var background = new Background( url, elem );
|
4386 |
+
this.images.push( background );
|
4387 |
+
};
|
4388 |
+
|
4389 |
+
ImagesLoaded.prototype.check = function() {
|
4390 |
+
var _this = this;
|
4391 |
+
this.progressedCount = 0;
|
4392 |
+
this.hasAnyBroken = false;
|
4393 |
+
// complete if no images
|
4394 |
+
if ( !this.images.length ) {
|
4395 |
+
this.complete();
|
4396 |
+
return;
|
4397 |
+
}
|
4398 |
+
|
4399 |
+
function onProgress( image, elem, message ) {
|
4400 |
+
// HACK - Chrome triggers event before object properties have changed. #83
|
4401 |
+
setTimeout( function() {
|
4402 |
+
_this.progress( image, elem, message );
|
4403 |
+
});
|
4404 |
+
}
|
4405 |
+
|
4406 |
+
this.images.forEach( function( loadingImage ) {
|
4407 |
+
loadingImage.once( 'progress', onProgress );
|
4408 |
+
loadingImage.check();
|
4409 |
+
});
|
4410 |
+
};
|
4411 |
+
|
4412 |
+
ImagesLoaded.prototype.progress = function( image, elem, message ) {
|
4413 |
+
this.progressedCount++;
|
4414 |
+
this.hasAnyBroken = this.hasAnyBroken || !image.isLoaded;
|
4415 |
+
// progress event
|
4416 |
+
this.emitEvent( 'progress', [ this, image, elem ] );
|
4417 |
+
if ( this.jqDeferred && this.jqDeferred.notify ) {
|
4418 |
+
this.jqDeferred.notify( this, image );
|
4419 |
+
}
|
4420 |
+
// check if completed
|
4421 |
+
if ( this.progressedCount == this.images.length ) {
|
4422 |
+
this.complete();
|
4423 |
+
}
|
4424 |
+
|
4425 |
+
if ( this.options.debug && console ) {
|
4426 |
+
console.log( 'progress: ' + message, image, elem );
|
4427 |
+
}
|
4428 |
+
};
|
4429 |
+
|
4430 |
+
ImagesLoaded.prototype.complete = function() {
|
4431 |
+
var eventName = this.hasAnyBroken ? 'fail' : 'done';
|
4432 |
+
this.isComplete = true;
|
4433 |
+
this.emitEvent( eventName, [ this ] );
|
4434 |
+
this.emitEvent( 'always', [ this ] );
|
4435 |
+
if ( this.jqDeferred ) {
|
4436 |
+
var jqMethod = this.hasAnyBroken ? 'reject' : 'resolve';
|
4437 |
+
this.jqDeferred[ jqMethod ]( this );
|
4438 |
+
}
|
4439 |
+
};
|
4440 |
+
|
4441 |
+
// -------------------------- -------------------------- //
|
4442 |
+
|
4443 |
+
function LoadingImage( img ) {
|
4444 |
+
this.img = img;
|
4445 |
+
}
|
4446 |
+
|
4447 |
+
LoadingImage.prototype = Object.create( EvEmitter.prototype );
|
4448 |
+
|
4449 |
+
LoadingImage.prototype.check = function() {
|
4450 |
+
// If complete is true and browser supports natural sizes,
|
4451 |
+
// try to check for image status manually.
|
4452 |
+
var isComplete = this.getIsImageComplete();
|
4453 |
+
if ( isComplete ) {
|
4454 |
+
// report based on naturalWidth
|
4455 |
+
this.confirm( this.img.naturalWidth !== 0, 'naturalWidth' );
|
4456 |
+
return;
|
4457 |
+
}
|
4458 |
+
|
4459 |
+
// If none of the checks above matched, simulate loading on detached element.
|
4460 |
+
this.proxyImage = new Image();
|
4461 |
+
this.proxyImage.addEventListener( 'load', this );
|
4462 |
+
this.proxyImage.addEventListener( 'error', this );
|
4463 |
+
// bind to image as well for Firefox. #191
|
4464 |
+
this.img.addEventListener( 'load', this );
|
4465 |
+
this.img.addEventListener( 'error', this );
|
4466 |
+
this.proxyImage.src = this.img.src;
|
4467 |
+
};
|
4468 |
+
|
4469 |
+
LoadingImage.prototype.getIsImageComplete = function() {
|
4470 |
+
return this.img.complete && this.img.naturalWidth !== undefined;
|
4471 |
+
};
|
4472 |
+
|
4473 |
+
LoadingImage.prototype.confirm = function( isLoaded, message ) {
|
4474 |
+
this.isLoaded = isLoaded;
|
4475 |
+
this.emitEvent( 'progress', [ this, this.img, message ] );
|
4476 |
+
};
|
4477 |
+
|
4478 |
+
// ----- events ----- //
|
4479 |
+
|
4480 |
+
// trigger specified handler for event type
|
4481 |
+
LoadingImage.prototype.handleEvent = function( event ) {
|
4482 |
+
var method = 'on' + event.type;
|
4483 |
+
if ( this[ method ] ) {
|
4484 |
+
this[ method ]( event );
|
4485 |
+
}
|
4486 |
+
};
|
4487 |
+
|
4488 |
+
LoadingImage.prototype.onload = function() {
|
4489 |
+
this.confirm( true, 'onload' );
|
4490 |
+
this.unbindEvents();
|
4491 |
+
};
|
4492 |
+
|
4493 |
+
LoadingImage.prototype.onerror = function() {
|
4494 |
+
this.confirm( false, 'onerror' );
|
4495 |
+
this.unbindEvents();
|
4496 |
+
};
|
4497 |
+
|
4498 |
+
LoadingImage.prototype.unbindEvents = function() {
|
4499 |
+
this.proxyImage.removeEventListener( 'load', this );
|
4500 |
+
this.proxyImage.removeEventListener( 'error', this );
|
4501 |
+
this.img.removeEventListener( 'load', this );
|
4502 |
+
this.img.removeEventListener( 'error', this );
|
4503 |
+
};
|
4504 |
+
|
4505 |
+
// -------------------------- Background -------------------------- //
|
4506 |
+
|
4507 |
+
function Background( url, element ) {
|
4508 |
+
this.url = url;
|
4509 |
+
this.element = element;
|
4510 |
+
this.img = new Image();
|
4511 |
+
}
|
4512 |
+
|
4513 |
+
// inherit LoadingImage prototype
|
4514 |
+
Background.prototype = Object.create( LoadingImage.prototype );
|
4515 |
+
|
4516 |
+
Background.prototype.check = function() {
|
4517 |
+
this.img.addEventListener( 'load', this );
|
4518 |
+
this.img.addEventListener( 'error', this );
|
4519 |
+
this.img.src = this.url;
|
4520 |
+
// check if image is already complete
|
4521 |
+
var isComplete = this.getIsImageComplete();
|
4522 |
+
if ( isComplete ) {
|
4523 |
+
this.confirm( this.img.naturalWidth !== 0, 'naturalWidth' );
|
4524 |
+
this.unbindEvents();
|
4525 |
+
}
|
4526 |
+
};
|
4527 |
+
|
4528 |
+
Background.prototype.unbindEvents = function() {
|
4529 |
+
this.img.removeEventListener( 'load', this );
|
4530 |
+
this.img.removeEventListener( 'error', this );
|
4531 |
+
};
|
4532 |
+
|
4533 |
+
Background.prototype.confirm = function( isLoaded, message ) {
|
4534 |
+
this.isLoaded = isLoaded;
|
4535 |
+
this.emitEvent( 'progress', [ this, this.element, message ] );
|
4536 |
+
};
|
4537 |
+
|
4538 |
+
// -------------------------- jQuery -------------------------- //
|
4539 |
+
|
4540 |
+
ImagesLoaded.makeJQueryPlugin = function( jQuery ) {
|
4541 |
+
jQuery = jQuery || window.jQuery;
|
4542 |
+
if ( !jQuery ) {
|
4543 |
+
return;
|
4544 |
+
}
|
4545 |
+
// set local variable
|
4546 |
+
$ = jQuery;
|
4547 |
+
// $().imagesLoaded()
|
4548 |
+
$.fn.imagesLoaded = function( options, callback ) {
|
4549 |
+
var instance = new ImagesLoaded( this, options, callback );
|
4550 |
+
return instance.jqDeferred.promise( $(this) );
|
4551 |
+
};
|
4552 |
+
};
|
4553 |
+
// try making plugin
|
4554 |
+
ImagesLoaded.makeJQueryPlugin();
|
4555 |
+
|
4556 |
+
// -------------------------- -------------------------- //
|
4557 |
+
|
4558 |
+
return ImagesLoaded;
|
4559 |
+
|
4560 |
+
});
|
4561 |
+
|
4562 |
+
/*!
|
4563 |
+
* Flickity imagesLoaded v2.0.0
|
4564 |
+
* enables imagesLoaded option for Flickity
|
4565 |
+
*/
|
4566 |
+
|
4567 |
+
/*jshint browser: true, strict: true, undef: true, unused: true */
|
4568 |
+
|
4569 |
+
( function( window, factory ) {
|
4570 |
+
// universal module definition
|
4571 |
+
/*jshint strict: false */ /*globals define, module, require */
|
4572 |
+
if ( typeof define == 'function' && define.amd ) {
|
4573 |
+
// AMD
|
4574 |
+
define( [
|
4575 |
+
'flickity/js/index',
|
4576 |
+
'imagesloaded/imagesloaded'
|
4577 |
+
], function( Flickity, imagesLoaded ) {
|
4578 |
+
return factory( window, Flickity, imagesLoaded );
|
4579 |
+
});
|
4580 |
+
} else if ( typeof module == 'object' && module.exports ) {
|
4581 |
+
// CommonJS
|
4582 |
+
module.exports = factory(
|
4583 |
+
window,
|
4584 |
+
require('flickity'),
|
4585 |
+
require('imagesloaded')
|
4586 |
+
);
|
4587 |
+
} else {
|
4588 |
+
// browser global
|
4589 |
+
window.Flickity = factory(
|
4590 |
+
window,
|
4591 |
+
window.Flickity,
|
4592 |
+
window.imagesLoaded
|
4593 |
+
);
|
4594 |
+
}
|
4595 |
+
|
4596 |
+
}( window, function factory( window, Flickity, imagesLoaded ) {
|
4597 |
+
'use strict';
|
4598 |
+
|
4599 |
+
Flickity.createMethods.push('_createImagesLoaded');
|
4600 |
+
|
4601 |
+
var proto = Flickity.prototype;
|
4602 |
+
|
4603 |
+
proto._createImagesLoaded = function() {
|
4604 |
+
this.on( 'activate', this.imagesLoaded );
|
4605 |
+
};
|
4606 |
+
|
4607 |
+
proto.imagesLoaded = function() {
|
4608 |
+
if ( !this.options.imagesLoaded ) {
|
4609 |
+
return;
|
4610 |
+
}
|
4611 |
+
var _this = this;
|
4612 |
+
function onImagesLoadedProgress( instance, image ) {
|
4613 |
+
var cell = _this.getParentCell( image.img );
|
4614 |
+
_this.cellSizeChange( cell && cell.element );
|
4615 |
+
if ( !_this.options.freeScroll ) {
|
4616 |
+
_this.positionSliderAtSelected();
|
4617 |
+
}
|
4618 |
+
}
|
4619 |
+
imagesLoaded( this.slider ).on( 'progress', onImagesLoadedProgress );
|
4620 |
+
};
|
4621 |
+
|
4622 |
+
return Flickity;
|
4623 |
+
|
4624 |
+
}));
|
4625 |
+
|
themes/foundation/modules/flickity/flickity.pkgd.min.js
ADDED
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*!
|
2 |
+
* Flickity PACKAGED v2.0.2
|
3 |
+
* Touch, responsive, flickable carousels
|
4 |
+
*
|
5 |
+
* Licensed GPLv3 for open source use
|
6 |
+
* or Flickity Commercial License for commercial use
|
7 |
+
*
|
8 |
+
* http://flickity.metafizzy.co
|
9 |
+
* Copyright 2016 Metafizzy
|
10 |
+
*/
|
11 |
+
|
12 |
+
!function(t,e){"use strict";"function"==typeof define&&define.amd?define("jquery-bridget/jquery-bridget",["jquery"],function(i){e(t,i)}):"object"==typeof module&&module.exports?module.exports=e(t,require("jquery")):t.jQueryBridget=e(t,t.jQuery)}(window,function(t,e){"use strict";function i(i,o,a){function h(t,e,n){var s,o="$()."+i+'("'+e+'")';return t.each(function(t,h){var l=a.data(h,i);if(!l)return void r(i+" not initialized. Cannot call methods, i.e. "+o);var c=l[e];if(!c||"_"==e.charAt(0))return void r(o+" is not a valid method");var d=c.apply(l,n);s=void 0===s?d:s}),void 0!==s?s:t}function l(t,e){t.each(function(t,n){var s=a.data(n,i);s?(s.option(e),s._init()):(s=new o(n,e),a.data(n,i,s))})}a=a||e||t.jQuery,a&&(o.prototype.option||(o.prototype.option=function(t){a.isPlainObject(t)&&(this.options=a.extend(!0,this.options,t))}),a.fn[i]=function(t){if("string"==typeof t){var e=s.call(arguments,1);return h(this,t,e)}return l(this,t),this},n(a))}function n(t){!t||t&&t.bridget||(t.bridget=i)}var s=Array.prototype.slice,o=t.console,r="undefined"==typeof o?function(){}:function(t){o.error(t)};return n(e||t.jQuery),i}),function(t,e){"function"==typeof define&&define.amd?define("ev-emitter/ev-emitter",e):"object"==typeof module&&module.exports?module.exports=e():t.EvEmitter=e()}("undefined"!=typeof window?window:this,function(){function t(){}var e=t.prototype;return e.on=function(t,e){if(t&&e){var i=this._events=this._events||{},n=i[t]=i[t]||[];return n.indexOf(e)==-1&&n.push(e),this}},e.once=function(t,e){if(t&&e){this.on(t,e);var i=this._onceEvents=this._onceEvents||{},n=i[t]=i[t]||{};return n[e]=!0,this}},e.off=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){var n=i.indexOf(e);return n!=-1&&i.splice(n,1),this}},e.emitEvent=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){var n=0,s=i[n];e=e||[];for(var o=this._onceEvents&&this._onceEvents[t];s;){var r=o&&o[s];r&&(this.off(t,s),delete o[s]),s.apply(this,e),n+=r?0:1,s=i[n]}return this}},t}),function(t,e){"use strict";"function"==typeof define&&define.amd?define("get-size/get-size",[],function(){return e()}):"object"==typeof module&&module.exports?module.exports=e():t.getSize=e()}(window,function(){"use strict";function t(t){var e=parseFloat(t),i=t.indexOf("%")==-1&&!isNaN(e);return i&&e}function e(){}function i(){for(var t={width:0,height:0,innerWidth:0,innerHeight:0,outerWidth:0,outerHeight:0},e=0;e<l;e++){var i=h[e];t[i]=0}return t}function n(t){var e=getComputedStyle(t);return e||a("Style returned "+e+". Are you running this code in a hidden iframe on Firefox? See http://bit.ly/getsizebug1"),e}function s(){if(!c){c=!0;var e=document.createElement("div");e.style.width="200px",e.style.padding="1px 2px 3px 4px",e.style.borderStyle="solid",e.style.borderWidth="1px 2px 3px 4px",e.style.boxSizing="border-box";var i=document.body||document.documentElement;i.appendChild(e);var s=n(e);o.isBoxSizeOuter=r=200==t(s.width),i.removeChild(e)}}function o(e){if(s(),"string"==typeof e&&(e=document.querySelector(e)),e&&"object"==typeof e&&e.nodeType){var o=n(e);if("none"==o.display)return i();var a={};a.width=e.offsetWidth,a.height=e.offsetHeight;for(var c=a.isBorderBox="border-box"==o.boxSizing,d=0;d<l;d++){var u=h[d],f=o[u],p=parseFloat(f);a[u]=isNaN(p)?0:p}var v=a.paddingLeft+a.paddingRight,g=a.paddingTop+a.paddingBottom,m=a.marginLeft+a.marginRight,y=a.marginTop+a.marginBottom,S=a.borderLeftWidth+a.borderRightWidth,E=a.borderTopWidth+a.borderBottomWidth,b=c&&r,x=t(o.width);x!==!1&&(a.width=x+(b?0:v+S));var C=t(o.height);return C!==!1&&(a.height=C+(b?0:g+E)),a.innerWidth=a.width-(v+S),a.innerHeight=a.height-(g+E),a.outerWidth=a.width+m,a.outerHeight=a.height+y,a}}var r,a="undefined"==typeof console?e:function(t){console.error(t)},h=["paddingLeft","paddingRight","paddingTop","paddingBottom","marginLeft","marginRight","marginTop","marginBottom","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth"],l=h.length,c=!1;return o}),function(t,e){"use strict";"function"==typeof define&&define.amd?define("desandro-matches-selector/matches-selector",e):"object"==typeof module&&module.exports?module.exports=e():t.matchesSelector=e()}(window,function(){"use strict";var t=function(){var t=Element.prototype;if(t.matches)return"matches";if(t.matchesSelector)return"matchesSelector";for(var e=["webkit","moz","ms","o"],i=0;i<e.length;i++){var n=e[i],s=n+"MatchesSelector";if(t[s])return s}}();return function(e,i){return e[t](i)}}),function(t,e){"function"==typeof define&&define.amd?define("fizzy-ui-utils/utils",["desandro-matches-selector/matches-selector"],function(i){return e(t,i)}):"object"==typeof module&&module.exports?module.exports=e(t,require("desandro-matches-selector")):t.fizzyUIUtils=e(t,t.matchesSelector)}(window,function(t,e){var i={};i.extend=function(t,e){for(var i in e)t[i]=e[i];return t},i.modulo=function(t,e){return(t%e+e)%e},i.makeArray=function(t){var e=[];if(Array.isArray(t))e=t;else if(t&&"number"==typeof t.length)for(var i=0;i<t.length;i++)e.push(t[i]);else e.push(t);return e},i.removeFrom=function(t,e){var i=t.indexOf(e);i!=-1&&t.splice(i,1)},i.getParent=function(t,i){for(;t!=document.body;)if(t=t.parentNode,e(t,i))return t},i.getQueryElement=function(t){return"string"==typeof t?document.querySelector(t):t},i.handleEvent=function(t){var e="on"+t.type;this[e]&&this[e](t)},i.filterFindElements=function(t,n){t=i.makeArray(t);var s=[];return t.forEach(function(t){if(t instanceof HTMLElement){if(!n)return void s.push(t);e(t,n)&&s.push(t);for(var i=t.querySelectorAll(n),o=0;o<i.length;o++)s.push(i[o])}}),s},i.debounceMethod=function(t,e,i){var n=t.prototype[e],s=e+"Timeout";t.prototype[e]=function(){var t=this[s];t&&clearTimeout(t);var e=arguments,o=this;this[s]=setTimeout(function(){n.apply(o,e),delete o[s]},i||100)}},i.docReady=function(t){var e=document.readyState;"complete"==e||"interactive"==e?t():document.addEventListener("DOMContentLoaded",t)},i.toDashed=function(t){return t.replace(/(.)([A-Z])/g,function(t,e,i){return e+"-"+i}).toLowerCase()};var n=t.console;return i.htmlInit=function(e,s){i.docReady(function(){var o=i.toDashed(s),r="data-"+o,a=document.querySelectorAll("["+r+"]"),h=document.querySelectorAll(".js-"+o),l=i.makeArray(a).concat(i.makeArray(h)),c=r+"-options",d=t.jQuery;l.forEach(function(t){var i,o=t.getAttribute(r)||t.getAttribute(c);try{i=o&&JSON.parse(o)}catch(a){return void(n&&n.error("Error parsing "+r+" on "+t.className+": "+a))}var h=new e(t,i);d&&d.data(t,s,h)})})},i}),function(t,e){"function"==typeof define&&define.amd?define("flickity/js/cell",["get-size/get-size"],function(i){return e(t,i)}):"object"==typeof module&&module.exports?module.exports=e(t,require("get-size")):(t.Flickity=t.Flickity||{},t.Flickity.Cell=e(t,t.getSize))}(window,function(t,e){function i(t,e){this.element=t,this.parent=e,this.create()}var n=i.prototype;return n.create=function(){this.element.style.position="absolute",this.x=0,this.shift=0},n.destroy=function(){this.element.style.position="";var t=this.parent.originSide;this.element.style[t]=""},n.getSize=function(){this.size=e(this.element)},n.setPosition=function(t){this.x=t,this.updateTarget(),this.renderPosition(t)},n.updateTarget=n.setDefaultTarget=function(){var t="left"==this.parent.originSide?"marginLeft":"marginRight";this.target=this.x+this.size[t]+this.size.width*this.parent.cellAlign},n.renderPosition=function(t){var e=this.parent.originSide;this.element.style[e]=this.parent.getPositionValue(t)},n.wrapShift=function(t){this.shift=t,this.renderPosition(this.x+this.parent.slideableWidth*t)},n.remove=function(){this.element.parentNode.removeChild(this.element)},i}),function(t,e){"function"==typeof define&&define.amd?define("flickity/js/slide",e):"object"==typeof module&&module.exports?module.exports=e():(t.Flickity=t.Flickity||{},t.Flickity.Slide=e())}(window,function(){"use strict";function t(t){this.parent=t,this.isOriginLeft="left"==t.originSide,this.cells=[],this.outerWidth=0,this.height=0}var e=t.prototype;return e.addCell=function(t){if(this.cells.push(t),this.outerWidth+=t.size.outerWidth,this.height=Math.max(t.size.outerHeight,this.height),1==this.cells.length){this.x=t.x;var e=this.isOriginLeft?"marginLeft":"marginRight";this.firstMargin=t.size[e]}},e.updateTarget=function(){var t=this.isOriginLeft?"marginRight":"marginLeft",e=this.getLastCell(),i=e?e.size[t]:0,n=this.outerWidth-(this.firstMargin+i);this.target=this.x+this.firstMargin+n*this.parent.cellAlign},e.getLastCell=function(){return this.cells[this.cells.length-1]},e.select=function(){this.changeSelectedClass("add")},e.unselect=function(){this.changeSelectedClass("remove")},e.changeSelectedClass=function(t){this.cells.forEach(function(e){e.element.classList[t]("is-selected")})},e.getCellElements=function(){return this.cells.map(function(t){return t.element})},t}),function(t,e){"function"==typeof define&&define.amd?define("flickity/js/animate",["fizzy-ui-utils/utils"],function(i){return e(t,i)}):"object"==typeof module&&module.exports?module.exports=e(t,require("fizzy-ui-utils")):(t.Flickity=t.Flickity||{},t.Flickity.animatePrototype=e(t,t.fizzyUIUtils))}(window,function(t,e){var i=t.requestAnimationFrame||t.webkitRequestAnimationFrame,n=0;i||(i=function(t){var e=(new Date).getTime(),i=Math.max(0,16-(e-n)),s=setTimeout(t,i);return n=e+i,s});var s={};s.startAnimation=function(){this.isAnimating||(this.isAnimating=!0,this.restingFrames=0,this.animate())},s.animate=function(){this.applyDragForce(),this.applySelectedAttraction();var t=this.x;if(this.integratePhysics(),this.positionSlider(),this.settle(t),this.isAnimating){var e=this;i(function(){e.animate()})}};var o=function(){var t=document.documentElement.style;return"string"==typeof t.transform?"transform":"WebkitTransform"}();return s.positionSlider=function(){var t=this.x;this.options.wrapAround&&this.cells.length>1&&(t=e.modulo(t,this.slideableWidth),t-=this.slideableWidth,this.shiftWrapCells(t)),t+=this.cursorPosition,t=this.options.rightToLeft&&o?-t:t;var i=this.getPositionValue(t);this.slider.style[o]=this.isAnimating?"translate3d("+i+",0,0)":"translateX("+i+")";var n=this.slides[0];if(n){var s=-this.x-n.target,r=s/this.slidesWidth;this.dispatchEvent("scroll",null,[r,s])}},s.positionSliderAtSelected=function(){this.cells.length&&(this.x=-this.selectedSlide.target,this.positionSlider())},s.getPositionValue=function(t){return this.options.percentPosition?.01*Math.round(t/this.size.innerWidth*1e4)+"%":Math.round(t)+"px"},s.settle=function(t){this.isPointerDown||Math.round(100*this.x)!=Math.round(100*t)||this.restingFrames++,this.restingFrames>2&&(this.isAnimating=!1,delete this.isFreeScrolling,this.positionSlider(),this.dispatchEvent("settle"))},s.shiftWrapCells=function(t){var e=this.cursorPosition+t;this._shiftCells(this.beforeShiftCells,e,-1);var i=this.size.innerWidth-(t+this.slideableWidth+this.cursorPosition);this._shiftCells(this.afterShiftCells,i,1)},s._shiftCells=function(t,e,i){for(var n=0;n<t.length;n++){var s=t[n],o=e>0?i:0;s.wrapShift(o),e-=s.size.outerWidth}},s._unshiftCells=function(t){if(t&&t.length)for(var e=0;e<t.length;e++)t[e].wrapShift(0)},s.integratePhysics=function(){this.x+=this.velocity,this.velocity*=this.getFrictionFactor()},s.applyForce=function(t){this.velocity+=t},s.getFrictionFactor=function(){return 1-this.options[this.isFreeScrolling?"freeScrollFriction":"friction"]},s.getRestingPosition=function(){return this.x+this.velocity/(1-this.getFrictionFactor())},s.applyDragForce=function(){if(this.isPointerDown){var t=this.dragX-this.x,e=t-this.velocity;this.applyForce(e)}},s.applySelectedAttraction=function(){if(!this.isPointerDown&&!this.isFreeScrolling&&this.cells.length){var t=this.selectedSlide.target*-1-this.x,e=t*this.options.selectedAttraction;this.applyForce(e)}},s}),function(t,e){if("function"==typeof define&&define.amd)define("flickity/js/flickity",["ev-emitter/ev-emitter","get-size/get-size","fizzy-ui-utils/utils","./cell","./slide","./animate"],function(i,n,s,o,r,a){return e(t,i,n,s,o,r,a)});else if("object"==typeof module&&module.exports)module.exports=e(t,require("ev-emitter"),require("get-size"),require("fizzy-ui-utils"),require("./cell"),require("./slide"),require("./animate"));else{var i=t.Flickity;t.Flickity=e(t,t.EvEmitter,t.getSize,t.fizzyUIUtils,i.Cell,i.Slide,i.animatePrototype)}}(window,function(t,e,i,n,s,o,r){function a(t,e){for(t=n.makeArray(t);t.length;)e.appendChild(t.shift())}function h(t,e){var i=n.getQueryElement(t);return i?(this.element=i,l&&(this.$element=l(this.element)),this.options=n.extend({},this.constructor.defaults),this.option(e),void this._create()):void(d&&d.error("Bad element for Flickity: "+(i||t)))}var l=t.jQuery,c=t.getComputedStyle,d=t.console,u=0,f={};h.defaults={accessibility:!0,cellAlign:"center",freeScrollFriction:.075,friction:.28,namespaceJQueryEvents:!0,percentPosition:!0,resize:!0,selectedAttraction:.025,setGallerySize:!0},h.createMethods=[];var p=h.prototype;n.extend(p,e.prototype),p._create=function(){var e=this.guid=++u;this.element.flickityGUID=e,f[e]=this,this.selectedIndex=0,this.restingFrames=0,this.x=0,this.velocity=0,this.originSide=this.options.rightToLeft?"right":"left",this.viewport=document.createElement("div"),this.viewport.className="flickity-viewport",this._createSlider(),(this.options.resize||this.options.watchCSS)&&t.addEventListener("resize",this),h.createMethods.forEach(function(t){this[t]()},this),this.options.watchCSS?this.watchCSS():this.activate()},p.option=function(t){n.extend(this.options,t)},p.activate=function(){if(!this.isActive){this.isActive=!0,this.element.classList.add("flickity-enabled"),this.options.rightToLeft&&this.element.classList.add("flickity-rtl"),this.getSize();var t=this._filterFindCellElements(this.element.children);a(t,this.slider),this.viewport.appendChild(this.slider),this.element.appendChild(this.viewport),this.reloadCells(),this.options.accessibility&&(this.element.tabIndex=0,this.element.addEventListener("keydown",this)),this.emitEvent("activate");var e,i=this.options.initialIndex;e=this.isInitActivated?this.selectedIndex:void 0!==i&&this.cells[i]?i:0,this.select(e,!1,!0),this.isInitActivated=!0}},p._createSlider=function(){var t=document.createElement("div");t.className="flickity-slider",t.style[this.originSide]=0,this.slider=t},p._filterFindCellElements=function(t){return n.filterFindElements(t,this.options.cellSelector)},p.reloadCells=function(){this.cells=this._makeCells(this.slider.children),this.positionCells(),this._getWrapShiftCells(),this.setGallerySize()},p._makeCells=function(t){var e=this._filterFindCellElements(t),i=e.map(function(t){return new s(t,this)},this);return i},p.getLastCell=function(){return this.cells[this.cells.length-1]},p.getLastSlide=function(){return this.slides[this.slides.length-1]},p.positionCells=function(){this._sizeCells(this.cells),this._positionCells(0)},p._positionCells=function(t){t=t||0,this.maxCellHeight=t?this.maxCellHeight||0:0;var e=0;if(t>0){var i=this.cells[t-1];e=i.x+i.size.outerWidth}for(var n=this.cells.length,s=t;s<n;s++){var o=this.cells[s];o.setPosition(e),e+=o.size.outerWidth,this.maxCellHeight=Math.max(o.size.outerHeight,this.maxCellHeight)}this.slideableWidth=e,this.updateSlides(),this._containSlides(),this.slidesWidth=n?this.getLastSlide().target-this.slides[0].target:0},p._sizeCells=function(t){t.forEach(function(t){t.getSize()})},p.updateSlides=function(){if(this.slides=[],this.cells.length){var t=new o(this);this.slides.push(t);var e="left"==this.originSide,i=e?"marginRight":"marginLeft",n=this._getCanCellFit();this.cells.forEach(function(e,s){if(!t.cells.length)return void t.addCell(e);var r=t.outerWidth-t.firstMargin+(e.size.outerWidth-e.size[i]);n.call(this,s,r)?t.addCell(e):(t.updateTarget(),t=new o(this),this.slides.push(t),t.addCell(e))},this),t.updateTarget(),this.updateSelectedSlide()}},p._getCanCellFit=function(){var t=this.options.groupCells;if(!t)return function(){return!1};if("number"==typeof t){var e=parseInt(t,10);return function(t){return t%e!==0}}var i="string"==typeof t&&t.match(/^(\d+)%$/),n=i?parseInt(i[1],10)/100:1;return function(t,e){return e<=(this.size.innerWidth+1)*n}},p._init=p.reposition=function(){this.positionCells(),this.positionSliderAtSelected()},p.getSize=function(){this.size=i(this.element),this.setCellAlign(),this.cursorPosition=this.size.innerWidth*this.cellAlign};var v={center:{left:.5,right:.5},left:{left:0,right:1},right:{right:0,left:1}};return p.setCellAlign=function(){var t=v[this.options.cellAlign];this.cellAlign=t?t[this.originSide]:this.options.cellAlign},p.setGallerySize=function(){if(this.options.setGallerySize){var t=this.options.adaptiveHeight&&this.selectedSlide?this.selectedSlide.height:this.maxCellHeight;this.viewport.style.height=t+"px"}},p._getWrapShiftCells=function(){if(this.options.wrapAround){this._unshiftCells(this.beforeShiftCells),this._unshiftCells(this.afterShiftCells);var t=this.cursorPosition,e=this.cells.length-1;this.beforeShiftCells=this._getGapCells(t,e,-1),t=this.size.innerWidth-this.cursorPosition,this.afterShiftCells=this._getGapCells(t,0,1)}},p._getGapCells=function(t,e,i){for(var n=[];t>0;){var s=this.cells[e];if(!s)break;n.push(s),e+=i,t-=s.size.outerWidth}return n},p._containSlides=function(){if(this.options.contain&&!this.options.wrapAround&&this.cells.length){var t=this.options.rightToLeft,e=t?"marginRight":"marginLeft",i=t?"marginLeft":"marginRight",n=this.slideableWidth-this.getLastCell().size[i],s=n<this.size.innerWidth,o=this.cursorPosition+this.cells[0].size[e],r=n-this.size.innerWidth*(1-this.cellAlign);this.slides.forEach(function(t){s?t.target=n*this.cellAlign:(t.target=Math.max(t.target,o),t.target=Math.min(t.target,r))},this)}},p.dispatchEvent=function(t,e,i){var n=e?[e].concat(i):i;if(this.emitEvent(t,n),l&&this.$element){t+=this.options.namespaceJQueryEvents?".flickity":"";var s=t;if(e){var o=l.Event(e);o.type=t,s=o}this.$element.trigger(s,i)}},p.select=function(t,e,i){this.isActive&&(t=parseInt(t,10),this._wrapSelect(t),(this.options.wrapAround||e)&&(t=n.modulo(t,this.slides.length)),this.slides[t]&&(this.selectedIndex=t,this.updateSelectedSlide(),i?this.positionSliderAtSelected():this.startAnimation(),this.options.adaptiveHeight&&this.setGallerySize(),this.dispatchEvent("select"),this.dispatchEvent("cellSelect")))},p._wrapSelect=function(t){var e=this.slides.length,i=this.options.wrapAround&&e>1;if(!i)return t;var s=n.modulo(t,e),o=Math.abs(s-this.selectedIndex),r=Math.abs(s+e-this.selectedIndex),a=Math.abs(s-e-this.selectedIndex);!this.isDragSelect&&r<o?t+=e:!this.isDragSelect&&a<o&&(t-=e),t<0?this.x-=this.slideableWidth:t>=e&&(this.x+=this.slideableWidth)},p.previous=function(t,u){this.select(this.selectedIndex-1,t,u)},p.next=function(t,u){this.select(this.selectedIndex+1,t,u)},p.updateSelectedSlide=function(){var t=this.slides[this.selectedIndex];t&&(this.unselectSelectedSlide(),this.selectedSlide=t,t.select(),this.selectedCells=t.cells,this.selectedElements=t.getCellElements(),this.selectedCell=t.cells[0],this.selectedElement=this.selectedElements[0])},p.unselectSelectedSlide=function(){this.selectedSlide&&this.selectedSlide.unselect()},p.selectCell=function(t,e,i){var n;"number"==typeof t?n=this.cells[t]:("string"==typeof t&&(t=this.element.querySelector(t)),n=this.getCell(t));for(var s=0;n&&s<this.slides.length;s++){var o=this.slides[s],r=o.cells.indexOf(n);if(r!=-1)return void this.select(s,e,i)}},p.getCell=function(t){for(var e=0;e<this.cells.length;e++){var i=this.cells[e];if(i.element==t)return i}},p.getCells=function(t){t=n.makeArray(t);var e=[];return t.forEach(function(t){var i=this.getCell(t);i&&e.push(i)},this),e},p.getCellElements=function(){return this.cells.map(function(t){return t.element})},p.getParentCell=function(t){var e=this.getCell(t);return e?e:(t=n.getParent(t,".flickity-slider > *"),this.getCell(t))},p.getAdjacentCellElements=function(t,e){if(!t)return this.selectedSlide.getCellElements();e=void 0===e?this.selectedIndex:e;var i=this.slides.length;if(1+2*t>=i)return this.getCellElements();for(var s=[],o=e-t;o<=e+t;o++){var r=this.options.wrapAround?n.modulo(o,i):o,a=this.slides[r];a&&(s=s.concat(a.getCellElements()))}return s},p.uiChange=function(){this.emitEvent("uiChange")},p.childUIPointerDown=function(t){this.emitEvent("childUIPointerDown",[t])},p.onresize=function(){this.watchCSS(),this.resize()},n.debounceMethod(h,"onresize",150),p.resize=function(){if(this.isActive){this.getSize(),this.options.wrapAround&&(this.x=n.modulo(this.x,this.slideableWidth)),this.positionCells(),this._getWrapShiftCells(),this.setGallerySize(),this.emitEvent("resize");var t=this.selectedElements&&this.selectedElements[0];this.selectCell(t,!1,!0)}},p.watchCSS=function(){var t=this.options.watchCSS;if(t){var e=c(this.element,":after").content;e.indexOf("flickity")!=-1?this.activate():this.deactivate()}},p.onkeydown=function(t){if(this.options.accessibility&&(!document.activeElement||document.activeElement==this.element))if(37==t.keyCode){var e=this.options.rightToLeft?"next":"previous";this.uiChange(),this[e]()}else if(39==t.keyCode){var i=this.options.rightToLeft?"previous":"next";this.uiChange(),this[i]()}},p.deactivate=function(){this.isActive&&(this.element.classList.remove("flickity-enabled"),this.element.classList.remove("flickity-rtl"),this.cells.forEach(function(t){t.destroy()}),this.unselectSelectedSlide(),this.element.removeChild(this.viewport),a(this.slider.children,this.element),this.options.accessibility&&(this.element.removeAttribute("tabIndex"),this.element.removeEventListener("keydown",this)),this.isActive=!1,this.emitEvent("deactivate"))},p.destroy=function(){this.deactivate(),t.removeEventListener("resize",this),this.emitEvent("destroy"),l&&this.$element&&l.removeData(this.element,"flickity"),delete this.element.flickityGUID,delete f[this.guid]},n.extend(p,r),h.data=function(t){t=n.getQueryElement(t);var e=t&&t.flickityGUID;return e&&f[e]},n.htmlInit(h,"flickity"),l&&l.bridget&&l.bridget("flickity",h),h.Cell=s,h}),function(t,e){"function"==typeof define&&define.amd?define("unipointer/unipointer",["ev-emitter/ev-emitter"],function(i){return e(t,i)}):"object"==typeof module&&module.exports?module.exports=e(t,require("ev-emitter")):t.Unipointer=e(t,t.EvEmitter)}(window,function(t,e){function i(){}function n(){}var s=n.prototype=Object.create(e.prototype);s.bindStartEvent=function(t){this._bindStartEvent(t,!0)},s.unbindStartEvent=function(t){this._bindStartEvent(t,!1)},s._bindStartEvent=function(e,i){i=void 0===i||!!i;var n=i?"addEventListener":"removeEventListener";t.navigator.pointerEnabled?e[n]("pointerdown",this):t.navigator.msPointerEnabled?e[n]("MSPointerDown",this):(e[n]("mousedown",this),e[n]("touchstart",this))},s.handleEvent=function(t){var e="on"+t.type;this[e]&&this[e](t)},s.getTouch=function(t){for(var e=0;e<t.length;e++){var i=t[e];if(i.identifier==this.pointerIdentifier)return i}},s.onmousedown=function(t){var e=t.button;e&&0!==e&&1!==e||this._pointerDown(t,t)},s.ontouchstart=function(t){this._pointerDown(t,t.changedTouches[0])},s.onMSPointerDown=s.onpointerdown=function(t){this._pointerDown(t,t)},s._pointerDown=function(t,e){this.isPointerDown||(this.isPointerDown=!0,this.pointerIdentifier=void 0!==e.pointerId?e.pointerId:e.identifier,this.pointerDown(t,e))},s.pointerDown=function(t,e){this._bindPostStartEvents(t),this.emitEvent("pointerDown",[t,e])};var o={mousedown:["mousemove","mouseup"],touchstart:["touchmove","touchend","touchcancel"],pointerdown:["pointermove","pointerup","pointercancel"],MSPointerDown:["MSPointerMove","MSPointerUp","MSPointerCancel"]};return s._bindPostStartEvents=function(e){if(e){var i=o[e.type];i.forEach(function(e){t.addEventListener(e,this)},this),this._boundPointerEvents=i}},s._unbindPostStartEvents=function(){this._boundPointerEvents&&(this._boundPointerEvents.forEach(function(e){t.removeEventListener(e,this)},this),delete this._boundPointerEvents)},s.onmousemove=function(t){this._pointerMove(t,t)},s.onMSPointerMove=s.onpointermove=function(t){t.pointerId==this.pointerIdentifier&&this._pointerMove(t,t)},s.ontouchmove=function(t){var e=this.getTouch(t.changedTouches);e&&this._pointerMove(t,e)},s._pointerMove=function(t,e){this.pointerMove(t,e)},s.pointerMove=function(t,e){this.emitEvent("pointerMove",[t,e])},s.onmouseup=function(t){this._pointerUp(t,t)},s.onMSPointerUp=s.onpointerup=function(t){t.pointerId==this.pointerIdentifier&&this._pointerUp(t,t)},s.ontouchend=function(t){var e=this.getTouch(t.changedTouches);e&&this._pointerUp(t,e)},s._pointerUp=function(t,e){this._pointerDone(),this.pointerUp(t,e)},s.pointerUp=function(t,e){this.emitEvent("pointerUp",[t,e])},s._pointerDone=function(){this.isPointerDown=!1,delete this.pointerIdentifier,this._unbindPostStartEvents(),this.pointerDone()},s.pointerDone=i,s.onMSPointerCancel=s.onpointercancel=function(t){t.pointerId==this.pointerIdentifier&&this._pointerCancel(t,t)},s.ontouchcancel=function(t){var e=this.getTouch(t.changedTouches);e&&this._pointerCancel(t,e)},s._pointerCancel=function(t,e){this._pointerDone(),this.pointerCancel(t,e)},s.pointerCancel=function(t,e){this.emitEvent("pointerCancel",[t,e])},n.getPointerPoint=function(t){return{x:t.pageX,y:t.pageY}},n}),function(t,e){"function"==typeof define&&define.amd?define("unidragger/unidragger",["unipointer/unipointer"],function(i){return e(t,i)}):"object"==typeof module&&module.exports?module.exports=e(t,require("unipointer")):t.Unidragger=e(t,t.Unipointer)}(window,function(t,e){function i(){}function n(){}var s=n.prototype=Object.create(e.prototype);s.bindHandles=function(){this._bindHandles(!0)},s.unbindHandles=function(){this._bindHandles(!1)};var o=t.navigator;return s._bindHandles=function(t){t=void 0===t||!!t;var e;e=o.pointerEnabled?function(e){e.style.touchAction=t?"none":""}:o.msPointerEnabled?function(e){e.style.msTouchAction=t?"none":""}:i;for(var n=t?"addEventListener":"removeEventListener",s=0;s<this.handles.length;s++){var r=this.handles[s];this._bindStartEvent(r,t),e(r),r[n]("click",this)}},s.pointerDown=function(t,e){if("INPUT"==t.target.nodeName&&"range"==t.target.type)return this.isPointerDown=!1,void delete this.pointerIdentifier;this._dragPointerDown(t,e);var i=document.activeElement;i&&i.blur&&i.blur(),this._bindPostStartEvents(t),this.emitEvent("pointerDown",[t,e])},s._dragPointerDown=function(t,i){this.pointerDownPoint=e.getPointerPoint(i);var n=this.canPreventDefaultOnPointerDown(t,i);n&&t.preventDefault()},s.canPreventDefaultOnPointerDown=function(t){return"SELECT"!=t.target.nodeName},s.pointerMove=function(t,e){var i=this._dragPointerMove(t,e);this.emitEvent("pointerMove",[t,e,i]),this._dragMove(t,e,i)},s._dragPointerMove=function(t,i){var n=e.getPointerPoint(i),s={x:n.x-this.pointerDownPoint.x,y:n.y-this.pointerDownPoint.y};return!this.isDragging&&this.hasDragStarted(s)&&this._dragStart(t,i),s},s.hasDragStarted=function(t){return Math.abs(t.x)>3||Math.abs(t.y)>3},s.pointerUp=function(t,e){this.emitEvent("pointerUp",[t,e]),this._dragPointerUp(t,e)},s._dragPointerUp=function(t,e){this.isDragging?this._dragEnd(t,e):this._staticClick(t,e)},s._dragStart=function(t,i){this.isDragging=!0,this.dragStartPoint=e.getPointerPoint(i),this.isPreventingClicks=!0,this.dragStart(t,i)},s.dragStart=function(t,e){this.emitEvent("dragStart",[t,e])},s._dragMove=function(t,e,i){this.isDragging&&this.dragMove(t,e,i)},s.dragMove=function(t,e,i){t.preventDefault(),this.emitEvent("dragMove",[t,e,i])},s._dragEnd=function(t,e){this.isDragging=!1,setTimeout(function(){delete this.isPreventingClicks}.bind(this)),this.dragEnd(t,e)},s.dragEnd=function(t,e){this.emitEvent("dragEnd",[t,e])},s.onclick=function(t){this.isPreventingClicks&&t.preventDefault()},s._staticClick=function(t,e){if(!this.isIgnoringMouseUp||"mouseup"!=t.type){var i=t.target.nodeName;"INPUT"!=i&&"TEXTAREA"!=i||t.target.focus(),this.staticClick(t,e),"mouseup"!=t.type&&(this.isIgnoringMouseUp=!0,setTimeout(function(){delete this.isIgnoringMouseUp}.bind(this),400))}},s.staticClick=function(t,e){this.emitEvent("staticClick",[t,e])},n.getPointerPoint=e.getPointerPoint,n}),function(t,e){"function"==typeof define&&define.amd?define("flickity/js/drag",["./flickity","unidragger/unidragger","fizzy-ui-utils/utils"],function(i,n,s){return e(t,i,n,s)}):"object"==typeof module&&module.exports?module.exports=e(t,require("./flickity"),require("unidragger"),require("fizzy-ui-utils")):t.Flickity=e(t,t.Flickity,t.Unidragger,t.fizzyUIUtils)}(window,function(t,e,i,n){function s(){return{x:t.pageXOffset,y:t.pageYOffset}}n.extend(e.defaults,{draggable:!0,dragThreshold:3}),e.createMethods.push("_createDrag");var o=e.prototype;n.extend(o,i.prototype),o._createDrag=function(){this.on("activate",this.bindDrag),this.on("uiChange",this._uiChangeDrag),this.on("childUIPointerDown",this._childUIPointerDownDrag),this.on("deactivate",this.unbindDrag)},o.bindDrag=function(){this.options.draggable&&!this.isDragBound&&(this.element.classList.add("is-draggable"),this.handles=[this.viewport],this.bindHandles(),this.isDragBound=!0)},o.unbindDrag=function(){this.isDragBound&&(this.element.classList.remove("is-draggable"),this.unbindHandles(),delete this.isDragBound)},o._uiChangeDrag=function(){delete this.isFreeScrolling},o._childUIPointerDownDrag=function(t){t.preventDefault(),this.pointerDownFocus(t)};var r={TEXTAREA:!0,INPUT:!0},a={radio:!0,checkbox:!0,button:!0,submit:!0,image:!0,file:!0};o.pointerDown=function(e,i){var n=r[e.target.nodeName]&&!a[e.target.type];if(n)return this.isPointerDown=!1,void delete this.pointerIdentifier;this._dragPointerDown(e,i);var o=document.activeElement;o&&o.blur&&o!=this.element&&o!=document.body&&o.blur(),this.pointerDownFocus(e),this.dragX=this.x,this.viewport.classList.add("is-pointer-down"),this._bindPostStartEvents(e),this.pointerDownScroll=s(),t.addEventListener("scroll",this),this.dispatchEvent("pointerDown",e,[i])};var h={touchstart:!0,MSPointerDown:!0},l={INPUT:!0,SELECT:!0};return o.pointerDownFocus=function(e){if(this.options.accessibility&&!h[e.type]&&!l[e.target.nodeName]){var i=t.pageYOffset;this.element.focus(),t.pageYOffset!=i&&t.scrollTo(t.pageXOffset,i)}},o.canPreventDefaultOnPointerDown=function(t){var e="touchstart"==t.type,i=t.target.nodeName;return!e&&"SELECT"!=i},o.hasDragStarted=function(t){return Math.abs(t.x)>this.options.dragThreshold},o.pointerUp=function(t,e){delete this.isTouchScrolling,this.viewport.classList.remove("is-pointer-down"),this.dispatchEvent("pointerUp",t,[e]),this._dragPointerUp(t,e)},o.pointerDone=function(){t.removeEventListener("scroll",this),delete this.pointerDownScroll},o.dragStart=function(t,e){this.dragStartPosition=this.x,this.startAnimation(),this.dispatchEvent("dragStart",t,[e])},o.pointerMove=function(t,e){var i=this._dragPointerMove(t,e);this.dispatchEvent("pointerMove",t,[e,i]),this._dragMove(t,e,i)},o.dragMove=function(t,e,i){t.preventDefault(),this.previousDragX=this.dragX;var n=this.options.rightToLeft?-1:1,s=this.dragStartPosition+i.x*n;if(!this.options.wrapAround&&this.slides.length){var o=Math.max(-this.slides[0].target,this.dragStartPosition);s=s>o?.5*(s+o):s;var r=Math.min(-this.getLastSlide().target,this.dragStartPosition);s=s<r?.5*(s+r):s}this.dragX=s,this.dragMoveTime=new Date,this.dispatchEvent("dragMove",t,[e,i])},o.dragEnd=function(t,e){this.options.freeScroll&&(this.isFreeScrolling=!0);var i=this.dragEndRestingSelect();if(this.options.freeScroll&&!this.options.wrapAround){var n=this.getRestingPosition();this.isFreeScrolling=-n>this.slides[0].target&&-n<this.getLastSlide().target}else this.options.freeScroll||i!=this.selectedIndex||(i+=this.dragEndBoostSelect());delete this.previousDragX,this.isDragSelect=this.options.wrapAround,this.select(i),delete this.isDragSelect,this.dispatchEvent("dragEnd",t,[e])},o.dragEndRestingSelect=function(){var t=this.getRestingPosition(),e=Math.abs(this.getSlideDistance(-t,this.selectedIndex)),i=this._getClosestResting(t,e,1),n=this._getClosestResting(t,e,-1),s=i.distance<n.distance?i.index:n.index;return s},o._getClosestResting=function(t,e,i){
|
13 |
+
for(var n=this.selectedIndex,s=1/0,o=this.options.contain&&!this.options.wrapAround?function(t,e){return t<=e}:function(t,e){return t<e};o(e,s)&&(n+=i,s=e,e=this.getSlideDistance(-t,n),null!==e);)e=Math.abs(e);return{distance:s,index:n-i}},o.getSlideDistance=function(t,e){var i=this.slides.length,s=this.options.wrapAround&&i>1,o=s?n.modulo(e,i):e,r=this.slides[o];if(!r)return null;var a=s?this.slideableWidth*Math.floor(e/i):0;return t-(r.target+a)},o.dragEndBoostSelect=function(){if(void 0===this.previousDragX||!this.dragMoveTime||new Date-this.dragMoveTime>100)return 0;var t=this.getSlideDistance(-this.dragX,this.selectedIndex),e=this.previousDragX-this.dragX;return t>0&&e>0?1:t<0&&e<0?-1:0},o.staticClick=function(t,e){var i=this.getParentCell(t.target),n=i&&i.element,s=i&&this.cells.indexOf(i);this.dispatchEvent("staticClick",t,[e,n,s])},o.onscroll=function(){var t=s(),e=this.pointerDownScroll.x-t.x,i=this.pointerDownScroll.y-t.y;(Math.abs(e)>3||Math.abs(i)>3)&&this._pointerDone()},e}),function(t,e){"function"==typeof define&&define.amd?define("tap-listener/tap-listener",["unipointer/unipointer"],function(i){return e(t,i)}):"object"==typeof module&&module.exports?module.exports=e(t,require("unipointer")):t.TapListener=e(t,t.Unipointer)}(window,function(t,e){function i(t){this.bindTap(t)}var n=i.prototype=Object.create(e.prototype);return n.bindTap=function(t){t&&(this.unbindTap(),this.tapElement=t,this._bindStartEvent(t,!0))},n.unbindTap=function(){this.tapElement&&(this._bindStartEvent(this.tapElement,!0),delete this.tapElement)},n.pointerUp=function(i,n){if(!this.isIgnoringMouseUp||"mouseup"!=i.type){var s=e.getPointerPoint(n),o=this.tapElement.getBoundingClientRect(),r=t.pageXOffset,a=t.pageYOffset,h=s.x>=o.left+r&&s.x<=o.right+r&&s.y>=o.top+a&&s.y<=o.bottom+a;if(h&&this.emitEvent("tap",[i,n]),"mouseup"!=i.type){this.isIgnoringMouseUp=!0;var l=this;setTimeout(function(){delete l.isIgnoringMouseUp},400)}}},n.destroy=function(){this.pointerDone(),this.unbindTap()},i}),function(t,e){"function"==typeof define&&define.amd?define("flickity/js/prev-next-button",["./flickity","tap-listener/tap-listener","fizzy-ui-utils/utils"],function(i,n,s){return e(t,i,n,s)}):"object"==typeof module&&module.exports?module.exports=e(t,require("./flickity"),require("tap-listener"),require("fizzy-ui-utils")):e(t,t.Flickity,t.TapListener,t.fizzyUIUtils)}(window,function(t,e,i,n){"use strict";function s(t,e){this.direction=t,this.parent=e,this._create()}function o(t){return"string"==typeof t?t:"M "+t.x0+",50 L "+t.x1+","+(t.y1+50)+" L "+t.x2+","+(t.y2+50)+" L "+t.x3+",50 L "+t.x2+","+(50-t.y2)+" L "+t.x1+","+(50-t.y1)+" Z"}var r="http://www.w3.org/2000/svg";s.prototype=new i,s.prototype._create=function(){this.isEnabled=!0,this.isPrevious=this.direction==-1;var t=this.parent.options.rightToLeft?1:-1;this.isLeft=this.direction==t;var e=this.element=document.createElement("button");e.className="flickity-prev-next-button",e.className+=this.isPrevious?" previous":" next",e.setAttribute("type","button"),this.disable(),e.setAttribute("aria-label",this.isPrevious?"previous":"next");var i=this.createSVG();e.appendChild(i),this.parent.on("select",function(){this.update()}.bind(this)),this.on("tap",this.onTap),this.on("pointerDown",function(t,e){this.parent.childUIPointerDown(e)}.bind(this))},s.prototype.activate=function(){this.bindTap(this.element),this.element.addEventListener("click",this),this.parent.element.appendChild(this.element)},s.prototype.deactivate=function(){this.parent.element.removeChild(this.element),i.prototype.destroy.call(this),this.element.removeEventListener("click",this)},s.prototype.createSVG=function(){var t=document.createElementNS(r,"svg");t.setAttribute("viewBox","0 0 100 100");var e=document.createElementNS(r,"path"),i=o(this.parent.options.arrowShape);return e.setAttribute("d",i),e.setAttribute("class","arrow"),this.isLeft||e.setAttribute("transform","translate(100, 100) rotate(180) "),t.appendChild(e),t},s.prototype.onTap=function(){if(this.isEnabled){this.parent.uiChange();var t=this.isPrevious?"previous":"next";this.parent[t]()}},s.prototype.handleEvent=n.handleEvent,s.prototype.onclick=function(){var t=document.activeElement;t&&t==this.element&&this.onTap()},s.prototype.enable=function(){this.isEnabled||(this.element.disabled=!1,this.isEnabled=!0)},s.prototype.disable=function(){this.isEnabled&&(this.element.disabled=!0,this.isEnabled=!1)},s.prototype.update=function(){var t=this.parent.slides;if(this.parent.options.wrapAround&&t.length>1)return void this.enable();var e=t.length?t.length-1:0,i=this.isPrevious?0:e,n=this.parent.selectedIndex==i?"disable":"enable";this[n]()},s.prototype.destroy=function(){this.deactivate()},n.extend(e.defaults,{prevNextButtons:!0,arrowShape:{x0:10,x1:60,y1:50,x2:70,y2:40,x3:30}}),e.createMethods.push("_createPrevNextButtons");var a=e.prototype;return a._createPrevNextButtons=function(){this.options.prevNextButtons&&(this.prevButton=new s((-1),this),this.nextButton=new s(1,this),this.on("activate",this.activatePrevNextButtons))},a.activatePrevNextButtons=function(){this.prevButton.activate(),this.nextButton.activate(),this.on("deactivate",this.deactivatePrevNextButtons)},a.deactivatePrevNextButtons=function(){this.prevButton.deactivate(),this.nextButton.deactivate(),this.off("deactivate",this.deactivatePrevNextButtons)},e.PrevNextButton=s,e}),function(t,e){"function"==typeof define&&define.amd?define("flickity/js/page-dots",["./flickity","tap-listener/tap-listener","fizzy-ui-utils/utils"],function(i,n,s){return e(t,i,n,s)}):"object"==typeof module&&module.exports?module.exports=e(t,require("./flickity"),require("tap-listener"),require("fizzy-ui-utils")):e(t,t.Flickity,t.TapListener,t.fizzyUIUtils)}(window,function(t,e,i,n){function s(t){this.parent=t,this._create()}s.prototype=new i,s.prototype._create=function(){this.holder=document.createElement("ol"),this.holder.className="flickity-page-dots",this.dots=[],this.on("tap",this.onTap)},s.prototype.activate=function(){this.setDots(),this.bindTap(this.holder),this.parent.element.appendChild(this.holder)},s.prototype.deactivate=function(){this.parent.element.removeChild(this.holder),i.prototype.destroy.call(this)},s.prototype.setDots=function(){var t=this.parent.slides.length-this.dots.length;t>0?this.addDots(t):t<0&&this.removeDots(-t)},s.prototype.addDots=function(t){for(var e=document.createDocumentFragment(),i=[];t;){var n=document.createElement("li");n.className="dot",e.appendChild(n),i.push(n),t--}this.holder.appendChild(e),this.dots=this.dots.concat(i)},s.prototype.removeDots=function(t){var e=this.dots.splice(this.dots.length-t,t);e.forEach(function(t){this.holder.removeChild(t)},this)},s.prototype.updateSelected=function(){this.selectedDot&&(this.selectedDot.className="dot"),this.dots.length&&(this.selectedDot=this.dots[this.parent.selectedIndex],this.selectedDot.className="dot is-selected")},s.prototype.onTap=function(t){var e=t.target;if("LI"==e.nodeName){this.parent.uiChange();var i=this.dots.indexOf(e);this.parent.select(i)}},s.prototype.destroy=function(){this.deactivate()},e.PageDots=s,n.extend(e.defaults,{pageDots:!0}),e.createMethods.push("_createPageDots");var o=e.prototype;return o._createPageDots=function(){this.options.pageDots&&(this.pageDots=new s(this),this.on("activate",this.activatePageDots),this.on("select",this.updateSelectedPageDots),this.on("cellChange",this.updatePageDots),this.on("resize",this.updatePageDots),this.on("deactivate",this.deactivatePageDots),this.pageDots.on("pointerDown",function(t,e){this.childUIPointerDown(e)}.bind(this)))},o.activatePageDots=function(){this.pageDots.activate()},o.updateSelectedPageDots=function(){this.pageDots.updateSelected()},o.updatePageDots=function(){this.pageDots.setDots()},o.deactivatePageDots=function(){this.pageDots.deactivate()},e.PageDots=s,e}),function(t,e){"function"==typeof define&&define.amd?define("flickity/js/player",["ev-emitter/ev-emitter","fizzy-ui-utils/utils","./flickity"],function(t,i,n){return e(t,i,n)}):"object"==typeof module&&module.exports?module.exports=e(require("ev-emitter"),require("fizzy-ui-utils"),require("./flickity")):e(t.EvEmitter,t.fizzyUIUtils,t.Flickity)}(window,function(t,e,i){function n(t){this.parent=t,this.state="stopped",o&&(this.onVisibilityChange=function(){this.visibilityChange()}.bind(this),this.onVisibilityPlay=function(){this.visibilityPlay()}.bind(this))}var s,o;"hidden"in document?(s="hidden",o="visibilitychange"):"webkitHidden"in document&&(s="webkitHidden",o="webkitvisibilitychange"),n.prototype=Object.create(t.prototype),n.prototype.play=function(){if("playing"!=this.state){var t=document[s];if(o&&t)return void document.addEventListener(o,this.onVisibilityPlay);this.state="playing",o&&document.addEventListener(o,this.onVisibilityChange),this.tick()}},n.prototype.tick=function(){if("playing"==this.state){var t=this.parent.options.autoPlay;t="number"==typeof t?t:3e3;var e=this;this.clear(),this.timeout=setTimeout(function(){e.parent.next(!0),e.tick()},t)}},n.prototype.stop=function(){this.state="stopped",this.clear(),o&&document.removeEventListener(o,this.onVisibilityChange)},n.prototype.clear=function(){clearTimeout(this.timeout)},n.prototype.pause=function(){"playing"==this.state&&(this.state="paused",this.clear())},n.prototype.unpause=function(){"paused"==this.state&&this.play()},n.prototype.visibilityChange=function(){var t=document[s];this[t?"pause":"unpause"]()},n.prototype.visibilityPlay=function(){this.play(),document.removeEventListener(o,this.onVisibilityPlay)},e.extend(i.defaults,{pauseAutoPlayOnHover:!0}),i.createMethods.push("_createPlayer");var r=i.prototype;return r._createPlayer=function(){this.player=new n(this),this.on("activate",this.activatePlayer),this.on("uiChange",this.stopPlayer),this.on("pointerDown",this.stopPlayer),this.on("deactivate",this.deactivatePlayer)},r.activatePlayer=function(){this.options.autoPlay&&(this.player.play(),this.element.addEventListener("mouseenter",this))},r.playPlayer=function(){this.player.play()},r.stopPlayer=function(){this.player.stop()},r.pausePlayer=function(){this.player.pause()},r.unpausePlayer=function(){this.player.unpause()},r.deactivatePlayer=function(){this.player.stop(),this.element.removeEventListener("mouseenter",this)},r.onmouseenter=function(){this.options.pauseAutoPlayOnHover&&(this.player.pause(),this.element.addEventListener("mouseleave",this))},r.onmouseleave=function(){this.player.unpause(),this.element.removeEventListener("mouseleave",this)},i.Player=n,i}),function(t,e){"function"==typeof define&&define.amd?define("flickity/js/add-remove-cell",["./flickity","fizzy-ui-utils/utils"],function(i,n){return e(t,i,n)}):"object"==typeof module&&module.exports?module.exports=e(t,require("./flickity"),require("fizzy-ui-utils")):e(t,t.Flickity,t.fizzyUIUtils)}(window,function(t,e,i){function n(t){var e=document.createDocumentFragment();return t.forEach(function(t){e.appendChild(t.element)}),e}var s=e.prototype;return s.insert=function(t,e){var i=this._makeCells(t);if(i&&i.length){var s=this.cells.length;e=void 0===e?s:e;var o=n(i),r=e==s;if(r)this.slider.appendChild(o);else{var a=this.cells[e].element;this.slider.insertBefore(o,a)}if(0===e)this.cells=i.concat(this.cells);else if(r)this.cells=this.cells.concat(i);else{var h=this.cells.splice(e,s-e);this.cells=this.cells.concat(i).concat(h)}this._sizeCells(i);var l=e>this.selectedIndex?0:i.length;this._cellAddedRemoved(e,l)}},s.append=function(t){this.insert(t,this.cells.length)},s.prepend=function(t){this.insert(t,0)},s.remove=function(t){var e,n,s=this.getCells(t),o=0,r=s.length;for(e=0;e<r;e++){n=s[e];var a=this.cells.indexOf(n)<this.selectedIndex;o-=a?1:0}for(e=0;e<r;e++)n=s[e],n.remove(),i.removeFrom(this.cells,n);s.length&&this._cellAddedRemoved(0,o)},s._cellAddedRemoved=function(t,e){e=e||0,this.selectedIndex+=e,this.selectedIndex=Math.max(0,Math.min(this.slides.length-1,this.selectedIndex)),this.cellChange(t,!0),this.emitEvent("cellAddedRemoved",[t,e])},s.cellSizeChange=function(t){var e=this.getCell(t);if(e){e.getSize();var i=this.cells.indexOf(e);this.cellChange(i)}},s.cellChange=function(t,e){var i=this.slideableWidth;if(this._positionCells(t),this._getWrapShiftCells(),this.setGallerySize(),this.emitEvent("cellChange",[t]),this.options.freeScroll){var n=i-this.slideableWidth;this.x+=n*this.cellAlign,this.positionSlider()}else e&&this.positionSliderAtSelected(),this.select(this.selectedIndex)},e}),function(t,e){"function"==typeof define&&define.amd?define("flickity/js/lazyload",["./flickity","fizzy-ui-utils/utils"],function(i,n){return e(t,i,n)}):"object"==typeof module&&module.exports?module.exports=e(t,require("./flickity"),require("fizzy-ui-utils")):e(t,t.Flickity,t.fizzyUIUtils)}(window,function(t,e,i){"use strict";function n(t){if("IMG"==t.nodeName&&t.getAttribute("data-flickity-lazyload"))return[t];var e=t.querySelectorAll("img[data-flickity-lazyload]");return i.makeArray(e)}function s(t,e){this.img=t,this.flickity=e,this.load()}e.createMethods.push("_createLazyload");var o=e.prototype;return o._createLazyload=function(){this.on("select",this.lazyLoad)},o.lazyLoad=function(){var t=this.options.lazyLoad;if(t){var e="number"==typeof t?t:0,i=this.getAdjacentCellElements(e),o=[];i.forEach(function(t){var e=n(t);o=o.concat(e)}),o.forEach(function(t){new s(t,this)},this)}},s.prototype.handleEvent=i.handleEvent,s.prototype.load=function(){this.img.addEventListener("load",this),this.img.addEventListener("error",this),this.img.src=this.img.getAttribute("data-flickity-lazyload"),this.img.removeAttribute("data-flickity-lazyload")},s.prototype.onload=function(t){this.complete(t,"flickity-lazyloaded")},s.prototype.onerror=function(t){this.complete(t,"flickity-lazyerror")},s.prototype.complete=function(t,e){this.img.removeEventListener("load",this),this.img.removeEventListener("error",this);var i=this.flickity.getParentCell(this.img),n=i&&i.element;this.flickity.cellSizeChange(n),this.img.classList.add(e),this.flickity.dispatchEvent("lazyLoad",t,n)},e.LazyLoader=s,e}),function(t,e){"function"==typeof define&&define.amd?define("flickity/js/index",["./flickity","./drag","./prev-next-button","./page-dots","./player","./add-remove-cell","./lazyload"],e):"object"==typeof module&&module.exports&&(module.exports=e(require("./flickity"),require("./drag"),require("./prev-next-button"),require("./page-dots"),require("./player"),require("./add-remove-cell"),require("./lazyload")))}(window,function(t){return t}),function(t,e){"function"==typeof define&&define.amd?define("flickity-as-nav-for/as-nav-for",["flickity/js/index","fizzy-ui-utils/utils"],function(i,n,s){return e(t,i,n,s)}):"object"==typeof module&&module.exports?module.exports=e(t,require("flickity"),require("fizzy-ui-utils")):t.Flickity=e(t,t.Flickity,t.fizzyUIUtils)}(window,function(t,e,i){e.createMethods.push("_createAsNavFor");var n=e.prototype;return n._createAsNavFor=function(){this.on("activate",this.activateAsNavFor),this.on("deactivate",this.deactivateAsNavFor),this.on("destroy",this.destroyAsNavFor);var t=this.options.asNavFor;if(t){var e=this;setTimeout(function(){e.setNavCompanion(t)})}},n.setNavCompanion=function(t){t=i.getQueryElement(t);var n=e.data(t);if(n&&n!=this){this.navCompanion=n;var s=this;this.onNavCompanionSelect=function(){s.navCompanionSelect()},n.on("select",this.onNavCompanionSelect),this.on("staticClick",this.onNavStaticClick),this.navCompanionSelect()}},n.navCompanionSelect=function(){if(this.navCompanion){var t=this.navCompanion.selectedCells[0],e=this.navCompanion.cells.indexOf(t);this.selectCell(e),this.removeNavSelectedElements(),e>=this.cells.length||(this.navSelectedElements=this.slides[this.selectedIndex].getCellElements(),this.changeNavSelectedClass("add"))}},n.changeNavSelectedClass=function(t){this.navSelectedElements.forEach(function(e){e.classList[t]("is-nav-selected")})},n.activateAsNavFor=function(){this.navCompanionSelect()},n.removeNavSelectedElements=function(){this.navSelectedElements&&(this.changeNavSelectedClass("remove"),delete this.navSelectedElements)},n.onNavStaticClick=function(t,e,i,n){"number"==typeof n&&this.navCompanion.selectCell(n)},n.deactivateAsNavFor=function(){this.removeNavSelectedElements()},n.destroyAsNavFor=function(){this.navCompanion&&(this.navCompanion.off("select",this.onNavCompanionSelect),this.off("staticClick",this.onNavStaticClick),delete this.navCompanion)},e}),function(t,e){"use strict";"function"==typeof define&&define.amd?define("imagesloaded/imagesloaded",["ev-emitter/ev-emitter"],function(i){return e(t,i)}):"object"==typeof module&&module.exports?module.exports=e(t,require("ev-emitter")):t.imagesLoaded=e(t,t.EvEmitter)}(window,function(t,e){function i(t,e){for(var i in e)t[i]=e[i];return t}function n(t){var e=[];if(Array.isArray(t))e=t;else if("number"==typeof t.length)for(var i=0;i<t.length;i++)e.push(t[i]);else e.push(t);return e}function s(t,e,o){return this instanceof s?("string"==typeof t&&(t=document.querySelectorAll(t)),this.elements=n(t),this.options=i({},this.options),"function"==typeof e?o=e:i(this.options,e),o&&this.on("always",o),this.getImages(),a&&(this.jqDeferred=new a.Deferred),void setTimeout(function(){this.check()}.bind(this))):new s(t,e,o)}function o(t){this.img=t}function r(t,e){this.url=t,this.element=e,this.img=new Image}var a=t.jQuery,h=t.console;s.prototype=Object.create(e.prototype),s.prototype.options={},s.prototype.getImages=function(){this.images=[],this.elements.forEach(this.addElementImages,this)},s.prototype.addElementImages=function(t){"IMG"==t.nodeName&&this.addImage(t),this.options.background===!0&&this.addElementBackgroundImages(t);var e=t.nodeType;if(e&&l[e]){for(var i=t.querySelectorAll("img"),n=0;n<i.length;n++){var s=i[n];this.addImage(s)}if("string"==typeof this.options.background){var o=t.querySelectorAll(this.options.background);for(n=0;n<o.length;n++){var r=o[n];this.addElementBackgroundImages(r)}}}};var l={1:!0,9:!0,11:!0};return s.prototype.addElementBackgroundImages=function(t){var e=getComputedStyle(t);if(e)for(var i=/url\((['"])?(.*?)\1\)/gi,n=i.exec(e.backgroundImage);null!==n;){var s=n&&n[2];s&&this.addBackground(s,t),n=i.exec(e.backgroundImage)}},s.prototype.addImage=function(t){var e=new o(t);this.images.push(e)},s.prototype.addBackground=function(t,e){var i=new r(t,e);this.images.push(i)},s.prototype.check=function(){function t(t,i,n){setTimeout(function(){e.progress(t,i,n)})}var e=this;return this.progressedCount=0,this.hasAnyBroken=!1,this.images.length?void this.images.forEach(function(e){e.once("progress",t),e.check()}):void this.complete()},s.prototype.progress=function(t,e,i){this.progressedCount++,this.hasAnyBroken=this.hasAnyBroken||!t.isLoaded,this.emitEvent("progress",[this,t,e]),this.jqDeferred&&this.jqDeferred.notify&&this.jqDeferred.notify(this,t),this.progressedCount==this.images.length&&this.complete(),this.options.debug&&h&&h.log("progress: "+i,t,e)},s.prototype.complete=function(){var t=this.hasAnyBroken?"fail":"done";if(this.isComplete=!0,this.emitEvent(t,[this]),this.emitEvent("always",[this]),this.jqDeferred){var e=this.hasAnyBroken?"reject":"resolve";this.jqDeferred[e](this)}},o.prototype=Object.create(e.prototype),o.prototype.check=function(){var t=this.getIsImageComplete();return t?void this.confirm(0!==this.img.naturalWidth,"naturalWidth"):(this.proxyImage=new Image,this.proxyImage.addEventListener("load",this),this.proxyImage.addEventListener("error",this),this.img.addEventListener("load",this),this.img.addEventListener("error",this),void(this.proxyImage.src=this.img.src))},o.prototype.getIsImageComplete=function(){return this.img.complete&&void 0!==this.img.naturalWidth},o.prototype.confirm=function(t,e){this.isLoaded=t,this.emitEvent("progress",[this,this.img,e])},o.prototype.handleEvent=function(t){var e="on"+t.type;this[e]&&this[e](t)},o.prototype.onload=function(){this.confirm(!0,"onload"),this.unbindEvents()},o.prototype.onerror=function(){this.confirm(!1,"onerror"),this.unbindEvents()},o.prototype.unbindEvents=function(){this.proxyImage.removeEventListener("load",this),this.proxyImage.removeEventListener("error",this),this.img.removeEventListener("load",this),this.img.removeEventListener("error",this)},r.prototype=Object.create(o.prototype),r.prototype.check=function(){this.img.addEventListener("load",this),this.img.addEventListener("error",this),this.img.src=this.url;var t=this.getIsImageComplete();t&&(this.confirm(0!==this.img.naturalWidth,"naturalWidth"),this.unbindEvents())},r.prototype.unbindEvents=function(){this.img.removeEventListener("load",this),this.img.removeEventListener("error",this)},r.prototype.confirm=function(t,e){this.isLoaded=t,this.emitEvent("progress",[this,this.element,e])},s.makeJQueryPlugin=function(e){e=e||t.jQuery,e&&(a=e,a.fn.imagesLoaded=function(t,e){var i=new s(this,t,e);return i.jqDeferred.promise(a(this))})},s.makeJQueryPlugin(),s}),function(t,e){"function"==typeof define&&define.amd?define(["flickity/js/index","imagesloaded/imagesloaded"],function(i,n){return e(t,i,n)}):"object"==typeof module&&module.exports?module.exports=e(t,require("flickity"),require("imagesloaded")):t.Flickity=e(t,t.Flickity,t.imagesLoaded)}(window,function(t,e,i){"use strict";e.createMethods.push("_createImagesLoaded");var n=e.prototype;return n._createImagesLoaded=function(){this.on("activate",this.imagesLoaded)},n.imagesLoaded=function(){function t(t,i){var n=e.getParentCell(i.img);e.cellSizeChange(n&&n.element),e.options.freeScroll||e.positionSliderAtSelected()}if(this.options.imagesLoaded){var e=this;i(this.slider).on("progress",t)}},e});
|
themes/foundation/modules/slideout/slideout-helper.js
CHANGED
@@ -31,14 +31,7 @@ jQuery(function(){
|
|
31 |
slideout.close();
|
32 |
}
|
33 |
}
|
34 |
-
|
35 |
-
|
36 |
-
if ( deviceHasTouchSupport() ) {
|
37 |
-
jQuery( '.page-wrapper' ).one('touchend', function( e ) {
|
38 |
-
e.preventDefault();
|
39 |
-
e.stopImmediatePropagation();
|
40 |
-
});
|
41 |
-
}
|
42 |
});
|
43 |
|
44 |
// special handling of left and right menus
|
31 |
slideout.close();
|
32 |
}
|
33 |
}
|
34 |
+
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
35 |
});
|
36 |
|
37 |
// special handling of left and right menus
|
wptouch.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/*
|
3 |
Plugin Name: WPtouch Mobile Plugin
|
4 |
Plugin URI: http://www.wptouch.com/
|
5 |
-
Version: 4.
|
6 |
Description: Make a beautiful mobile-friendly version of your website with just a few clicks
|
7 |
Author: BraveNewCode Inc.
|
8 |
Author URI: http://www.bravenewcode.com/
|
@@ -14,7 +14,7 @@
|
|
14 |
|
15 |
function wptouch_create_four_object() {
|
16 |
if ( !defined( 'WPTOUCH_IS_PRO' ) ) {
|
17 |
-
define( 'WPTOUCH_VERSION', '4.
|
18 |
|
19 |
define( 'WPTOUCH_BASE_NAME', basename( __FILE__, '.php' ) . '.php' );
|
20 |
define( 'WPTOUCH_DIR', WP_PLUGIN_DIR . DIRECTORY_SEPARATOR . basename( __FILE__, '.php' ) );
|
2 |
/*
|
3 |
Plugin Name: WPtouch Mobile Plugin
|
4 |
Plugin URI: http://www.wptouch.com/
|
5 |
+
Version: 4.3
|
6 |
Description: Make a beautiful mobile-friendly version of your website with just a few clicks
|
7 |
Author: BraveNewCode Inc.
|
8 |
Author URI: http://www.bravenewcode.com/
|
14 |
|
15 |
function wptouch_create_four_object() {
|
16 |
if ( !defined( 'WPTOUCH_IS_PRO' ) ) {
|
17 |
+
define( 'WPTOUCH_VERSION', '4.3' );
|
18 |
|
19 |
define( 'WPTOUCH_BASE_NAME', basename( __FILE__, '.php' ) . '.php' );
|
20 |
define( 'WPTOUCH_DIR', WP_PLUGIN_DIR . DIRECTORY_SEPARATOR . basename( __FILE__, '.php' ) );
|